Repository: cxasm/notepad-- Branch: main Commit: 144c14a9f918 Files: 1704 Total size: 20.9 MB Directory structure: gitextract_p2dfp083/ ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── README_EN.md ├── THIRDPARTY.md ├── changelog.txt ├── cmake/ │ ├── deb_package_config.cmake │ └── nsis_package_config.cmake ├── src/ │ ├── .qmake.stash │ ├── CmpareMode.cpp │ ├── CmpareMode.h │ ├── Encode.cpp │ ├── Encode.h │ ├── LICENSE │ ├── MediatorDisplay.cpp │ ├── MediatorDisplay.h │ ├── MediatorFileTree.cpp │ ├── MediatorFileTree.h │ ├── QTreeWidgetSortItem.cpp │ ├── QTreeWidgetSortItem.h │ ├── RcTreeWidget.cpp │ ├── RcTreeWidget.h │ ├── RealCompare.pri │ ├── RealCompare.pro │ ├── RealCompare.qrc │ ├── RealCompare.rc │ ├── RealCompareToMinGw.rc │ ├── Resources/ │ │ └── macicon.icns │ ├── Sorters.h │ ├── StrategyCompare.h │ ├── aboutndd.cpp │ ├── aboutndd.h │ ├── aboutndd.ui │ ├── batchfindreplace.cpp │ ├── batchfindreplace.h │ ├── batchfindreplace.ui │ ├── bigfilemessage.cpp │ ├── bigfilemessage.h │ ├── bigfilemessage.ui │ ├── cceditor/ │ │ ├── ccnotepad.cpp │ │ ├── ccnotepad.h │ │ ├── ccnotepad.ui │ │ ├── filemanager.cpp │ │ └── filemanager.h │ ├── closeDlg.cpp │ ├── closeDlg.h │ ├── closeDlg.ui │ ├── columnedit.cpp │ ├── columnedit.h │ ├── columnedit.ui │ ├── command.cpp │ ├── command.h │ ├── common.cpp │ ├── common.h │ ├── ctipwin.cpp │ ├── ctipwin.h │ ├── ctipwin.ui │ ├── dectfilechanges.cpp │ ├── dectfilechanges.h │ ├── diff.h │ ├── dirfindfile.cpp │ ├── dirfindfile.h │ ├── dirfindfile.ui │ ├── doctypelistview.cpp │ ├── doctypelistview.h │ ├── doctypelistview.ui │ ├── donate.cpp │ ├── donate.h │ ├── donate.ui │ ├── draglineedit.cpp │ ├── draglineedit.h │ ├── encodeconvert.cpp │ ├── encodeconvert.h │ ├── encodeconvert.ui │ ├── extLexermanager.cpp │ ├── extlexermanager.h │ ├── filecmprulewin.cpp │ ├── filecmprulewin.h │ ├── filecmprulewin.ui │ ├── filelistview.cpp │ ├── filelistview.h │ ├── filelistview.ui │ ├── findcmpwin.cpp │ ├── findcmpwin.h │ ├── findcmpwin.ui │ ├── findresultview.cpp │ ├── findresultview.h │ ├── findresultwin.cpp │ ├── findresultwin.h │ ├── findresultwin.ui │ ├── findwin.cpp │ ├── findwin.h │ ├── findwin.ui │ ├── gotolinewin.cpp │ ├── gotolinewin.h │ ├── gotolinewin.ui │ ├── hexcmprangewin.cpp │ ├── hexcmprangewin.h │ ├── hexcmprangewin.ui │ ├── hexfilegoto.cpp │ ├── hexfilegoto.h │ ├── hexfilegoto.ui │ ├── hexrulewin.cpp │ ├── hexrulewin.h │ ├── hexrulewin.ui │ ├── include/ │ │ └── pluginGl.h │ ├── installer/ │ │ ├── NsisMultiUser/ │ │ │ └── Include/ │ │ │ ├── NsisMultiUser.nsh │ │ │ ├── NsisMultiUserLang.nsh │ │ │ ├── StdUtils.nsh │ │ │ └── UAC.nsh │ │ ├── installer.nsi │ │ ├── newinstall.iss │ │ ├── newinstall_dync.iss │ │ └── utils.nsh │ ├── langextset.cpp │ ├── langextset.h │ ├── langextset.ui │ ├── langstyledefine.cpp │ ├── langstyledefine.h │ ├── langstyledefine.ui │ ├── linux/ │ │ └── usr/ │ │ └── share/ │ │ ├── applications/ │ │ │ └── NotePad--.desktop │ │ ├── licenses/ │ │ │ └── notepad--/ │ │ │ └── LICENSE │ │ └── metainfo/ │ │ └── io.gitee.cxasm.notepad--.metainfo.xml │ ├── mac.icns │ ├── macicon/ │ │ └── mac.icns │ ├── macpro/ │ │ └── RealCompare.pro │ ├── main.cpp │ ├── markdownview.cpp │ ├── markdownview.h │ ├── markdownview.ui │ ├── md5hash.cpp │ ├── md5hash.h │ ├── md5hash.ui │ ├── mystyle.qss │ ├── mytreeview.cpp │ ├── mytreeview.h │ ├── nddpluginapi.cpp │ ├── nddpluginapi.h │ ├── nddsetting.cpp │ ├── nddsetting.h │ ├── ndstyleditemdelegate.cpp │ ├── ndstyleditemdelegate.h │ ├── optionsview.cpp │ ├── optionsview.h │ ├── optionsview.ui │ ├── plugin/ │ │ ├── helloworld/ │ │ │ ├── CMakeLists.txt │ │ │ ├── helloworld.pro │ │ │ ├── helloworldexport.cpp │ │ │ ├── qttestclass.cpp │ │ │ ├── qttestclass.h │ │ │ └── qttestclass.ui │ │ └── test/ │ │ ├── test.cpp │ │ └── test.pro │ ├── plugin.cpp │ ├── plugin.h │ ├── pluginGl.h │ ├── pluginmgr.cpp │ ├── pluginmgr.h │ ├── pluginmgr.ui │ ├── progresswin.cpp │ ├── progresswin.h │ ├── progresswin.ui │ ├── qscidisplaywindow.cpp │ ├── qscidisplaywindow.h │ ├── qscint/ │ │ ├── CMakeLists.txt │ │ ├── ChangeLog │ │ ├── LICENSE │ │ ├── NEWS │ │ ├── Python/ │ │ │ ├── README │ │ │ ├── config-tests/ │ │ │ │ └── cfgtest_Qsci.cpp │ │ │ ├── project.py │ │ │ ├── pyproject-qt5.toml │ │ │ ├── pyproject-qt6.toml │ │ │ └── sip/ │ │ │ ├── qsciabstractapis.sip │ │ │ ├── qsciapis.sip │ │ │ ├── qscicommand.sip │ │ │ ├── qscicommandset.sip │ │ │ ├── qscidocument.sip │ │ │ ├── qscilexer.sip │ │ │ ├── qscilexeravs.sip │ │ │ ├── qscilexerbash.sip │ │ │ ├── qscilexerbatch.sip │ │ │ ├── qscilexercmake.sip │ │ │ ├── qscilexercoffeescript.sip │ │ │ ├── qscilexercpp.sip │ │ │ ├── qscilexercsharp.sip │ │ │ ├── qscilexercss.sip │ │ │ ├── qscilexercustom.sip │ │ │ ├── qscilexerd.sip │ │ │ ├── qscilexerdiff.sip │ │ │ ├── qscilexeredifact.sip │ │ │ ├── qscilexerfortran.sip │ │ │ ├── qscilexerfortran77.sip │ │ │ ├── qscilexerhtml.sip │ │ │ ├── qscilexeridl.sip │ │ │ ├── qscilexerjava.sip │ │ │ ├── qscilexerjavascript.sip │ │ │ ├── qscilexerjson.sip │ │ │ ├── qscilexerlua.sip │ │ │ ├── qscilexermakefile.sip │ │ │ ├── qscilexermarkdown.sip │ │ │ ├── qscilexermatlab.sip │ │ │ ├── qscilexeroctave.sip │ │ │ ├── qscilexerpascal.sip │ │ │ ├── qscilexerperl.sip │ │ │ ├── qscilexerpo.sip │ │ │ ├── qscilexerpostscript.sip │ │ │ ├── qscilexerpov.sip │ │ │ ├── qscilexerproperties.sip │ │ │ ├── qscilexerpython.sip │ │ │ ├── qscilexerruby.sip │ │ │ ├── qscilexerspice.sip │ │ │ ├── qscilexersql.sip │ │ │ ├── qscilexertcl.sip │ │ │ ├── qscilexertex.sip │ │ │ ├── qscilexerverilog.sip │ │ │ ├── qscilexervhdl.sip │ │ │ ├── qscilexerxml.sip │ │ │ ├── qscilexeryaml.sip │ │ │ ├── qscimacro.sip │ │ │ ├── qscimod5.sip │ │ │ ├── qscimod6.sip │ │ │ ├── qscimodcommon.sip │ │ │ ├── qsciprinter.sip │ │ │ ├── qsciscintilla.sip │ │ │ ├── qsciscintillabase.sip │ │ │ ├── qscistyle.sip │ │ │ └── qscistyledtext.sip │ │ ├── doc/ │ │ │ ├── README.doc │ │ │ ├── Scintilla/ │ │ │ │ ├── Design.html │ │ │ │ ├── Icons.html │ │ │ │ ├── LPegLexer.html │ │ │ │ ├── Lexer.txt │ │ │ │ ├── Privacy.html │ │ │ │ ├── SciCoding.html │ │ │ │ ├── ScintillaDoc.html │ │ │ │ ├── ScintillaDownload.html │ │ │ │ ├── ScintillaHistory.html │ │ │ │ ├── ScintillaRelated.html │ │ │ │ ├── ScintillaToDo.html │ │ │ │ ├── ScintillaUsage.html │ │ │ │ ├── Steps.html │ │ │ │ ├── StyleMetadata.html │ │ │ │ └── index.html │ │ │ ├── html/ │ │ │ │ ├── annotated.html │ │ │ │ ├── classQsciAPIs-members.html │ │ │ │ ├── classQsciAPIs.html │ │ │ │ ├── classQsciAbstractAPIs-members.html │ │ │ │ ├── classQsciAbstractAPIs.html │ │ │ │ ├── classQsciCommand-members.html │ │ │ │ ├── classQsciCommand.html │ │ │ │ ├── classQsciCommandSet-members.html │ │ │ │ ├── classQsciCommandSet.html │ │ │ │ ├── classQsciDocument-members.html │ │ │ │ ├── classQsciDocument.html │ │ │ │ ├── classQsciLexer-members.html │ │ │ │ ├── classQsciLexer.html │ │ │ │ ├── classQsciLexerAVS-members.html │ │ │ │ ├── classQsciLexerAVS.html │ │ │ │ ├── classQsciLexerBash-members.html │ │ │ │ ├── classQsciLexerBash.html │ │ │ │ ├── classQsciLexerBatch-members.html │ │ │ │ ├── classQsciLexerBatch.html │ │ │ │ ├── classQsciLexerCMake-members.html │ │ │ │ ├── classQsciLexerCMake.html │ │ │ │ ├── classQsciLexerCPP-members.html │ │ │ │ ├── classQsciLexerCPP.html │ │ │ │ ├── classQsciLexerCSS-members.html │ │ │ │ ├── classQsciLexerCSS.html │ │ │ │ ├── classQsciLexerCSharp-members.html │ │ │ │ ├── classQsciLexerCSharp.html │ │ │ │ ├── classQsciLexerCoffeeScript-members.html │ │ │ │ ├── classQsciLexerCoffeeScript.html │ │ │ │ ├── classQsciLexerCustom-members.html │ │ │ │ ├── classQsciLexerCustom.html │ │ │ │ ├── classQsciLexerD-members.html │ │ │ │ ├── classQsciLexerD.html │ │ │ │ ├── classQsciLexerDiff-members.html │ │ │ │ ├── classQsciLexerDiff.html │ │ │ │ ├── classQsciLexerEDIFACT-members.html │ │ │ │ ├── classQsciLexerEDIFACT.html │ │ │ │ ├── classQsciLexerFortran-members.html │ │ │ │ ├── classQsciLexerFortran.html │ │ │ │ ├── classQsciLexerFortran77-members.html │ │ │ │ ├── classQsciLexerFortran77.html │ │ │ │ ├── classQsciLexerHTML-members.html │ │ │ │ ├── classQsciLexerHTML.html │ │ │ │ ├── classQsciLexerIDL-members.html │ │ │ │ ├── classQsciLexerIDL.html │ │ │ │ ├── classQsciLexerJSON-members.html │ │ │ │ ├── classQsciLexerJSON.html │ │ │ │ ├── classQsciLexerJava-members.html │ │ │ │ ├── classQsciLexerJava.html │ │ │ │ ├── classQsciLexerJavaScript-members.html │ │ │ │ ├── classQsciLexerJavaScript.html │ │ │ │ ├── classQsciLexerLua-members.html │ │ │ │ ├── classQsciLexerLua.html │ │ │ │ ├── classQsciLexerMakefile-members.html │ │ │ │ ├── classQsciLexerMakefile.html │ │ │ │ ├── classQsciLexerMarkdown-members.html │ │ │ │ ├── classQsciLexerMarkdown.html │ │ │ │ ├── classQsciLexerMatlab-members.html │ │ │ │ ├── classQsciLexerMatlab.html │ │ │ │ ├── classQsciLexerOctave-members.html │ │ │ │ ├── classQsciLexerOctave.html │ │ │ │ ├── classQsciLexerPO-members.html │ │ │ │ ├── classQsciLexerPO.html │ │ │ │ ├── classQsciLexerPOV-members.html │ │ │ │ ├── classQsciLexerPOV.html │ │ │ │ ├── classQsciLexerPascal-members.html │ │ │ │ ├── classQsciLexerPascal.html │ │ │ │ ├── classQsciLexerPerl-members.html │ │ │ │ ├── classQsciLexerPerl.html │ │ │ │ ├── classQsciLexerPostScript-members.html │ │ │ │ ├── classQsciLexerPostScript.html │ │ │ │ ├── classQsciLexerProperties-members.html │ │ │ │ ├── classQsciLexerProperties.html │ │ │ │ ├── classQsciLexerPython-members.html │ │ │ │ ├── classQsciLexerPython.html │ │ │ │ ├── classQsciLexerRuby-members.html │ │ │ │ ├── classQsciLexerRuby.html │ │ │ │ ├── classQsciLexerSQL-members.html │ │ │ │ ├── classQsciLexerSQL.html │ │ │ │ ├── classQsciLexerSpice-members.html │ │ │ │ ├── classQsciLexerSpice.html │ │ │ │ ├── classQsciLexerTCL-members.html │ │ │ │ ├── classQsciLexerTCL.html │ │ │ │ ├── classQsciLexerTeX-members.html │ │ │ │ ├── classQsciLexerTeX.html │ │ │ │ ├── classQsciLexerVHDL-members.html │ │ │ │ ├── classQsciLexerVHDL.html │ │ │ │ ├── classQsciLexerVerilog-members.html │ │ │ │ ├── classQsciLexerVerilog.html │ │ │ │ ├── classQsciLexerXML-members.html │ │ │ │ ├── classQsciLexerXML.html │ │ │ │ ├── classQsciLexerYAML-members.html │ │ │ │ ├── classQsciLexerYAML.html │ │ │ │ ├── classQsciMacro-members.html │ │ │ │ ├── classQsciMacro.html │ │ │ │ ├── classQsciPrinter-members.html │ │ │ │ ├── classQsciPrinter.html │ │ │ │ ├── classQsciScintilla-members.html │ │ │ │ ├── classQsciScintilla.html │ │ │ │ ├── classQsciScintillaBase-members.html │ │ │ │ ├── classQsciScintillaBase.html │ │ │ │ ├── classQsciStyle-members.html │ │ │ │ ├── classQsciStyle.html │ │ │ │ ├── classQsciStyledText-members.html │ │ │ │ ├── classQsciStyledText.html │ │ │ │ ├── classes.html │ │ │ │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html │ │ │ │ ├── dir_e7e7b0b6fe362def31d601fa026bbeed.html │ │ │ │ ├── doxygen.css │ │ │ │ ├── dynsections.js │ │ │ │ ├── functions.html │ │ │ │ ├── functions_b.html │ │ │ │ ├── functions_c.html │ │ │ │ ├── functions_d.html │ │ │ │ ├── functions_e.html │ │ │ │ ├── functions_enum.html │ │ │ │ ├── functions_eval.html │ │ │ │ ├── functions_eval_b.html │ │ │ │ ├── functions_eval_c.html │ │ │ │ ├── functions_eval_d.html │ │ │ │ ├── functions_eval_e.html │ │ │ │ ├── functions_eval_f.html │ │ │ │ ├── functions_eval_g.html │ │ │ │ ├── functions_eval_h.html │ │ │ │ ├── functions_eval_i.html │ │ │ │ ├── functions_eval_j.html │ │ │ │ ├── functions_eval_k.html │ │ │ │ ├── functions_eval_l.html │ │ │ │ ├── functions_eval_m.html │ │ │ │ ├── functions_eval_n.html │ │ │ │ ├── functions_eval_o.html │ │ │ │ ├── functions_eval_p.html │ │ │ │ ├── functions_eval_q.html │ │ │ │ ├── functions_eval_r.html │ │ │ │ ├── functions_eval_s.html │ │ │ │ ├── functions_eval_t.html │ │ │ │ ├── functions_eval_u.html │ │ │ │ ├── functions_eval_v.html │ │ │ │ ├── functions_eval_w.html │ │ │ │ ├── functions_eval_x.html │ │ │ │ ├── functions_eval_z.html │ │ │ │ ├── functions_f.html │ │ │ │ ├── functions_func.html │ │ │ │ ├── functions_func_b.html │ │ │ │ ├── functions_func_c.html │ │ │ │ ├── functions_func_d.html │ │ │ │ ├── functions_func_e.html │ │ │ │ ├── functions_func_f.html │ │ │ │ ├── functions_func_g.html │ │ │ │ ├── functions_func_h.html │ │ │ │ ├── functions_func_i.html │ │ │ │ ├── functions_func_k.html │ │ │ │ ├── functions_func_l.html │ │ │ │ ├── functions_func_m.html │ │ │ │ ├── functions_func_o.html │ │ │ │ ├── functions_func_p.html │ │ │ │ ├── functions_func_q.html │ │ │ │ ├── functions_func_r.html │ │ │ │ ├── functions_func_s.html │ │ │ │ ├── functions_func_t.html │ │ │ │ ├── functions_func_u.html │ │ │ │ ├── functions_func_v.html │ │ │ │ ├── functions_func_w.html │ │ │ │ ├── functions_func_z.html │ │ │ │ ├── functions_func_~.html │ │ │ │ ├── functions_g.html │ │ │ │ ├── functions_h.html │ │ │ │ ├── functions_i.html │ │ │ │ ├── functions_j.html │ │ │ │ ├── functions_k.html │ │ │ │ ├── functions_l.html │ │ │ │ ├── functions_m.html │ │ │ │ ├── functions_n.html │ │ │ │ ├── functions_o.html │ │ │ │ ├── functions_p.html │ │ │ │ ├── functions_q.html │ │ │ │ ├── functions_r.html │ │ │ │ ├── functions_s.html │ │ │ │ ├── functions_t.html │ │ │ │ ├── functions_u.html │ │ │ │ ├── functions_v.html │ │ │ │ ├── functions_w.html │ │ │ │ ├── functions_x.html │ │ │ │ ├── functions_z.html │ │ │ │ ├── functions_~.html │ │ │ │ ├── hierarchy.html │ │ │ │ ├── index.html │ │ │ │ ├── jquery.js │ │ │ │ ├── menu.js │ │ │ │ ├── menudata.js │ │ │ │ └── tabs.css │ │ │ └── qscintilla.dxy │ │ ├── qsci/ │ │ │ └── api/ │ │ │ └── python/ │ │ │ ├── Python-2.4.api │ │ │ ├── Python-2.5.api │ │ │ ├── Python-2.6.api │ │ │ ├── Python-2.7.api │ │ │ ├── Python-3.1.api │ │ │ ├── Python-3.2.api │ │ │ ├── Python-3.3.api │ │ │ ├── Python-3.4.api │ │ │ ├── Python-3.5.api │ │ │ ├── Python-3.6.api │ │ │ ├── Python-3.7.api │ │ │ ├── Python-3.8.api │ │ │ └── Python-3.9.api │ │ ├── scintilla/ │ │ │ ├── boostregex/ │ │ │ │ ├── AnsiDocumentIterator.h │ │ │ │ ├── BoostRegExSearch.cpp │ │ │ │ ├── UTF8DocumentIterator.cpp │ │ │ │ ├── UTF8DocumentIterator.h │ │ │ │ └── boost/ │ │ │ │ ├── assert/ │ │ │ │ │ └── source_location.hpp │ │ │ │ ├── config/ │ │ │ │ │ ├── abi/ │ │ │ │ │ │ ├── borland_prefix.hpp │ │ │ │ │ │ ├── borland_suffix.hpp │ │ │ │ │ │ ├── msvc_prefix.hpp │ │ │ │ │ │ └── msvc_suffix.hpp │ │ │ │ │ ├── abi_prefix.hpp │ │ │ │ │ ├── abi_suffix.hpp │ │ │ │ │ ├── assert_cxx03.hpp │ │ │ │ │ ├── assert_cxx11.hpp │ │ │ │ │ ├── assert_cxx14.hpp │ │ │ │ │ ├── assert_cxx17.hpp │ │ │ │ │ ├── assert_cxx20.hpp │ │ │ │ │ ├── assert_cxx98.hpp │ │ │ │ │ ├── auto_link.hpp │ │ │ │ │ ├── compiler/ │ │ │ │ │ │ ├── borland.hpp │ │ │ │ │ │ ├── clang.hpp │ │ │ │ │ │ ├── clang_version.hpp │ │ │ │ │ │ ├── codegear.hpp │ │ │ │ │ │ ├── comeau.hpp │ │ │ │ │ │ ├── common_edg.hpp │ │ │ │ │ │ ├── compaq_cxx.hpp │ │ │ │ │ │ ├── cray.hpp │ │ │ │ │ │ ├── diab.hpp │ │ │ │ │ │ ├── digitalmars.hpp │ │ │ │ │ │ ├── gcc.hpp │ │ │ │ │ │ ├── gcc_xml.hpp │ │ │ │ │ │ ├── greenhills.hpp │ │ │ │ │ │ ├── hp_acc.hpp │ │ │ │ │ │ ├── intel.hpp │ │ │ │ │ │ ├── kai.hpp │ │ │ │ │ │ ├── metrowerks.hpp │ │ │ │ │ │ ├── mpw.hpp │ │ │ │ │ │ ├── nvcc.hpp │ │ │ │ │ │ ├── pathscale.hpp │ │ │ │ │ │ ├── pgi.hpp │ │ │ │ │ │ ├── sgi_mipspro.hpp │ │ │ │ │ │ ├── sunpro_cc.hpp │ │ │ │ │ │ ├── vacpp.hpp │ │ │ │ │ │ ├── visualc.hpp │ │ │ │ │ │ ├── xlcpp.hpp │ │ │ │ │ │ └── xlcpp_zos.hpp │ │ │ │ │ ├── detail/ │ │ │ │ │ │ ├── cxx_composite.hpp │ │ │ │ │ │ ├── posix_features.hpp │ │ │ │ │ │ ├── select_compiler_config.hpp │ │ │ │ │ │ ├── select_platform_config.hpp │ │ │ │ │ │ ├── select_stdlib_config.hpp │ │ │ │ │ │ └── suffix.hpp │ │ │ │ │ ├── header_deprecated.hpp │ │ │ │ │ ├── helper_macros.hpp │ │ │ │ │ ├── no_tr1/ │ │ │ │ │ │ ├── cmath.hpp │ │ │ │ │ │ ├── complex.hpp │ │ │ │ │ │ ├── functional.hpp │ │ │ │ │ │ ├── memory.hpp │ │ │ │ │ │ └── utility.hpp │ │ │ │ │ ├── platform/ │ │ │ │ │ │ ├── aix.hpp │ │ │ │ │ │ ├── amigaos.hpp │ │ │ │ │ │ ├── beos.hpp │ │ │ │ │ │ ├── bsd.hpp │ │ │ │ │ │ ├── cloudabi.hpp │ │ │ │ │ │ ├── cray.hpp │ │ │ │ │ │ ├── cygwin.hpp │ │ │ │ │ │ ├── haiku.hpp │ │ │ │ │ │ ├── hpux.hpp │ │ │ │ │ │ ├── irix.hpp │ │ │ │ │ │ ├── linux.hpp │ │ │ │ │ │ ├── macos.hpp │ │ │ │ │ │ ├── qnxnto.hpp │ │ │ │ │ │ ├── solaris.hpp │ │ │ │ │ │ ├── symbian.hpp │ │ │ │ │ │ ├── vms.hpp │ │ │ │ │ │ ├── vxworks.hpp │ │ │ │ │ │ ├── wasm.hpp │ │ │ │ │ │ ├── win32.hpp │ │ │ │ │ │ └── zos.hpp │ │ │ │ │ ├── pragma_message.hpp │ │ │ │ │ ├── requires_threads.hpp │ │ │ │ │ ├── stdlib/ │ │ │ │ │ │ ├── dinkumware.hpp │ │ │ │ │ │ ├── libcomo.hpp │ │ │ │ │ │ ├── libcpp.hpp │ │ │ │ │ │ ├── libstdcpp3.hpp │ │ │ │ │ │ ├── modena.hpp │ │ │ │ │ │ ├── msl.hpp │ │ │ │ │ │ ├── roguewave.hpp │ │ │ │ │ │ ├── sgi.hpp │ │ │ │ │ │ ├── stlport.hpp │ │ │ │ │ │ ├── vacpp.hpp │ │ │ │ │ │ └── xlcpp_zos.hpp │ │ │ │ │ ├── user.hpp │ │ │ │ │ ├── warning_disable.hpp │ │ │ │ │ └── workaround.hpp │ │ │ │ ├── config.hpp │ │ │ │ ├── cstdint.hpp │ │ │ │ ├── current_function.hpp │ │ │ │ ├── exception/ │ │ │ │ │ ├── all.hpp │ │ │ │ │ ├── current_exception_cast.hpp │ │ │ │ │ ├── detail/ │ │ │ │ │ │ ├── clone_current_exception.hpp │ │ │ │ │ │ ├── error_info_impl.hpp │ │ │ │ │ │ ├── exception_ptr.hpp │ │ │ │ │ │ ├── is_output_streamable.hpp │ │ │ │ │ │ ├── object_hex_dump.hpp │ │ │ │ │ │ ├── shared_ptr.hpp │ │ │ │ │ │ └── type_info.hpp │ │ │ │ │ ├── diagnostic_information.hpp │ │ │ │ │ ├── enable_current_exception.hpp │ │ │ │ │ ├── enable_error_info.hpp │ │ │ │ │ ├── errinfo_api_function.hpp │ │ │ │ │ ├── errinfo_at_line.hpp │ │ │ │ │ ├── errinfo_errno.hpp │ │ │ │ │ ├── errinfo_file_handle.hpp │ │ │ │ │ ├── errinfo_file_name.hpp │ │ │ │ │ ├── errinfo_file_open_mode.hpp │ │ │ │ │ ├── errinfo_nested_exception.hpp │ │ │ │ │ ├── errinfo_type_info_name.hpp │ │ │ │ │ ├── error_info.hpp │ │ │ │ │ ├── exception.hpp │ │ │ │ │ ├── get_error_info.hpp │ │ │ │ │ ├── info.hpp │ │ │ │ │ ├── info_tuple.hpp │ │ │ │ │ ├── to_string.hpp │ │ │ │ │ └── to_string_stub.hpp │ │ │ │ ├── regex/ │ │ │ │ │ ├── concepts.hpp │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── borland.hpp │ │ │ │ │ │ └── cwchar.hpp │ │ │ │ │ ├── config.hpp │ │ │ │ │ ├── icu.hpp │ │ │ │ │ ├── mfc.hpp │ │ │ │ │ ├── pattern_except.hpp │ │ │ │ │ ├── pending/ │ │ │ │ │ │ ├── object_cache.hpp │ │ │ │ │ │ ├── static_mutex.hpp │ │ │ │ │ │ └── unicode_iterator.hpp │ │ │ │ │ ├── regex_traits.hpp │ │ │ │ │ ├── user.hpp │ │ │ │ │ └── v5/ │ │ │ │ │ ├── basic_regex.hpp │ │ │ │ │ ├── basic_regex_creator.hpp │ │ │ │ │ ├── basic_regex_parser.hpp │ │ │ │ │ ├── c_regex_traits.hpp │ │ │ │ │ ├── char_regex_traits.hpp │ │ │ │ │ ├── cpp_regex_traits.hpp │ │ │ │ │ ├── cregex.hpp │ │ │ │ │ ├── error_type.hpp │ │ │ │ │ ├── icu.hpp │ │ │ │ │ ├── iterator_category.hpp │ │ │ │ │ ├── iterator_traits.hpp │ │ │ │ │ ├── match_flags.hpp │ │ │ │ │ ├── match_results.hpp │ │ │ │ │ ├── mem_block_cache.hpp │ │ │ │ │ ├── object_cache.hpp │ │ │ │ │ ├── pattern_except.hpp │ │ │ │ │ ├── perl_matcher.hpp │ │ │ │ │ ├── perl_matcher_common.hpp │ │ │ │ │ ├── perl_matcher_non_recursive.hpp │ │ │ │ │ ├── primary_transform.hpp │ │ │ │ │ ├── regbase.hpp │ │ │ │ │ ├── regex.hpp │ │ │ │ │ ├── regex_format.hpp │ │ │ │ │ ├── regex_fwd.hpp │ │ │ │ │ ├── regex_grep.hpp │ │ │ │ │ ├── regex_iterator.hpp │ │ │ │ │ ├── regex_match.hpp │ │ │ │ │ ├── regex_merge.hpp │ │ │ │ │ ├── regex_raw_buffer.hpp │ │ │ │ │ ├── regex_replace.hpp │ │ │ │ │ ├── regex_search.hpp │ │ │ │ │ ├── regex_split.hpp │ │ │ │ │ ├── regex_token_iterator.hpp │ │ │ │ │ ├── regex_traits.hpp │ │ │ │ │ ├── regex_traits_defaults.hpp │ │ │ │ │ ├── regex_workaround.hpp │ │ │ │ │ ├── states.hpp │ │ │ │ │ ├── sub_match.hpp │ │ │ │ │ ├── syntax_type.hpp │ │ │ │ │ ├── u32regex_iterator.hpp │ │ │ │ │ ├── u32regex_token_iterator.hpp │ │ │ │ │ ├── unicode_iterator.hpp │ │ │ │ │ └── w32_regex_traits.hpp │ │ │ │ ├── regex.hpp │ │ │ │ ├── regex_fwd.hpp │ │ │ │ └── throw_exception.hpp │ │ │ ├── include/ │ │ │ │ ├── BoostRegexSearch.h │ │ │ │ ├── ILexer.h │ │ │ │ ├── ILoader.h │ │ │ │ ├── License.txt │ │ │ │ ├── Platform.h │ │ │ │ ├── SciLexer.h │ │ │ │ ├── Sci_Position.h │ │ │ │ ├── Scintilla.h │ │ │ │ ├── Scintilla.iface │ │ │ │ └── ScintillaWidget.h │ │ │ ├── lexers/ │ │ │ │ ├── LexA68k.cpp │ │ │ │ ├── LexAPDL.cpp │ │ │ │ ├── LexASY.cpp │ │ │ │ ├── LexAU3.cpp │ │ │ │ ├── LexAVE.cpp │ │ │ │ ├── LexAVS.cpp │ │ │ │ ├── LexAbaqus.cpp │ │ │ │ ├── LexAda.cpp │ │ │ │ ├── LexAsm.cpp │ │ │ │ ├── LexAsn1.cpp │ │ │ │ ├── LexBaan.cpp │ │ │ │ ├── LexBash.cpp │ │ │ │ ├── LexBasic.cpp │ │ │ │ ├── LexBatch.cpp │ │ │ │ ├── LexBibTeX.cpp │ │ │ │ ├── LexBullant.cpp │ │ │ │ ├── LexCLW.cpp │ │ │ │ ├── LexCOBOL.cpp │ │ │ │ ├── LexCPP.cpp │ │ │ │ ├── LexCSS.cpp │ │ │ │ ├── LexCaml.cpp │ │ │ │ ├── LexCmake.cpp │ │ │ │ ├── LexCoffeeScript.cpp │ │ │ │ ├── LexConf.cpp │ │ │ │ ├── LexCrontab.cpp │ │ │ │ ├── LexCsound.cpp │ │ │ │ ├── LexD.cpp │ │ │ │ ├── LexDMAP.cpp │ │ │ │ ├── LexDMIS.cpp │ │ │ │ ├── LexDiff.cpp │ │ │ │ ├── LexECL.cpp │ │ │ │ ├── LexEDIFACT.cpp │ │ │ │ ├── LexEScript.cpp │ │ │ │ ├── LexEiffel.cpp │ │ │ │ ├── LexErlang.cpp │ │ │ │ ├── LexErrorList.cpp │ │ │ │ ├── LexFlagship.cpp │ │ │ │ ├── LexForth.cpp │ │ │ │ ├── LexFortran.cpp │ │ │ │ ├── LexGAP.cpp │ │ │ │ ├── LexGui4Cli.cpp │ │ │ │ ├── LexHTML.cpp │ │ │ │ ├── LexHaskell.cpp │ │ │ │ ├── LexHex.cpp │ │ │ │ ├── LexIndent.cpp │ │ │ │ ├── LexInno.cpp │ │ │ │ ├── LexJSON.cpp │ │ │ │ ├── LexKVIrc.cpp │ │ │ │ ├── LexKix.cpp │ │ │ │ ├── LexLPeg.cpp │ │ │ │ ├── LexLaTeX.cpp │ │ │ │ ├── LexLisp.cpp │ │ │ │ ├── LexLout.cpp │ │ │ │ ├── LexLua.cpp │ │ │ │ ├── LexMMIXAL.cpp │ │ │ │ ├── LexMPT.cpp │ │ │ │ ├── LexMSSQL.cpp │ │ │ │ ├── LexMagik.cpp │ │ │ │ ├── LexMake.cpp │ │ │ │ ├── LexMarkdown.cpp │ │ │ │ ├── LexMatlab.cpp │ │ │ │ ├── LexMaxima.cpp │ │ │ │ ├── LexMetapost.cpp │ │ │ │ ├── LexModula.cpp │ │ │ │ ├── LexMySQL.cpp │ │ │ │ ├── LexNimrod.cpp │ │ │ │ ├── LexNsis.cpp │ │ │ │ ├── LexNull.cpp │ │ │ │ ├── LexOScript.cpp │ │ │ │ ├── LexOpal.cpp │ │ │ │ ├── LexPB.cpp │ │ │ │ ├── LexPLM.cpp │ │ │ │ ├── LexPO.cpp │ │ │ │ ├── LexPOV.cpp │ │ │ │ ├── LexPS.cpp │ │ │ │ ├── LexPascal.cpp │ │ │ │ ├── LexPerl.cpp │ │ │ │ ├── LexPowerPro.cpp │ │ │ │ ├── LexPowerShell.cpp │ │ │ │ ├── LexProgress.cpp │ │ │ │ ├── LexProps.cpp │ │ │ │ ├── LexPython.cpp │ │ │ │ ├── LexR.cpp │ │ │ │ ├── LexRebol.cpp │ │ │ │ ├── LexRegistry.cpp │ │ │ │ ├── LexRuby.cpp │ │ │ │ ├── LexRust.cpp │ │ │ │ ├── LexSAS.cpp │ │ │ │ ├── LexSML.cpp │ │ │ │ ├── LexSQL.cpp │ │ │ │ ├── LexSTTXT.cpp │ │ │ │ ├── LexScriptol.cpp │ │ │ │ ├── LexSmalltalk.cpp │ │ │ │ ├── LexSorcus.cpp │ │ │ │ ├── LexSpecman.cpp │ │ │ │ ├── LexSpice.cpp │ │ │ │ ├── LexStata.cpp │ │ │ │ ├── LexTACL.cpp │ │ │ │ ├── LexTADS3.cpp │ │ │ │ ├── LexTAL.cpp │ │ │ │ ├── LexTCL.cpp │ │ │ │ ├── LexTCMD.cpp │ │ │ │ ├── LexTXT.cpp │ │ │ │ ├── LexTeX.cpp │ │ │ │ ├── LexTxt2tags.cpp │ │ │ │ ├── LexVB.cpp │ │ │ │ ├── LexVHDL.cpp │ │ │ │ ├── LexVerilog.cpp │ │ │ │ ├── LexVisualProlog.cpp │ │ │ │ ├── LexYAML.cpp │ │ │ │ └── License.txt │ │ │ ├── lexlib/ │ │ │ │ ├── Accessor.cpp │ │ │ │ ├── Accessor.h │ │ │ │ ├── CharacterCategory.cpp │ │ │ │ ├── CharacterCategory.h │ │ │ │ ├── CharacterSet.cpp │ │ │ │ ├── CharacterSet.h │ │ │ │ ├── DefaultLexer.cpp │ │ │ │ ├── DefaultLexer.h │ │ │ │ ├── LexAccessor.h │ │ │ │ ├── LexerBase.cpp │ │ │ │ ├── LexerBase.h │ │ │ │ ├── LexerModule.cpp │ │ │ │ ├── LexerModule.h │ │ │ │ ├── LexerNoExceptions.cpp │ │ │ │ ├── LexerNoExceptions.h │ │ │ │ ├── LexerSimple.cpp │ │ │ │ ├── LexerSimple.h │ │ │ │ ├── License.txt │ │ │ │ ├── OptionSet.h │ │ │ │ ├── PropSetSimple.cpp │ │ │ │ ├── PropSetSimple.h │ │ │ │ ├── SparseState.h │ │ │ │ ├── StringCopy.h │ │ │ │ ├── StyleContext.cpp │ │ │ │ ├── StyleContext.h │ │ │ │ ├── SubStyles.h │ │ │ │ ├── WordList.cpp │ │ │ │ └── WordList.h │ │ │ └── src/ │ │ │ ├── AutoComplete.cpp │ │ │ ├── AutoComplete.h │ │ │ ├── CallTip.cpp │ │ │ ├── CallTip.h │ │ │ ├── CaseConvert.cpp │ │ │ ├── CaseConvert.h │ │ │ ├── CaseFolder.cpp │ │ │ ├── CaseFolder.h │ │ │ ├── Catalogue.cpp │ │ │ ├── Catalogue.h │ │ │ ├── CellBuffer.cpp │ │ │ ├── CellBuffer.h │ │ │ ├── CharClassify.cpp │ │ │ ├── CharClassify.h │ │ │ ├── ContractionState.cpp │ │ │ ├── ContractionState.h │ │ │ ├── DBCS.cpp │ │ │ ├── DBCS.h │ │ │ ├── Decoration.cpp │ │ │ ├── Decoration.h │ │ │ ├── Document.cpp │ │ │ ├── Document.h │ │ │ ├── EditModel.cpp │ │ │ ├── EditModel.h │ │ │ ├── EditView.cpp │ │ │ ├── EditView.h │ │ │ ├── Editor.cpp │ │ │ ├── Editor.h │ │ │ ├── ElapsedPeriod.h │ │ │ ├── ExternalLexer.cpp │ │ │ ├── ExternalLexer.h │ │ │ ├── FontQuality.h │ │ │ ├── Indicator.cpp │ │ │ ├── Indicator.h │ │ │ ├── IntegerRectangle.h │ │ │ ├── KeyMap.cpp │ │ │ ├── KeyMap.h │ │ │ ├── License.txt │ │ │ ├── LineMarker.cpp │ │ │ ├── LineMarker.h │ │ │ ├── MarginView.cpp │ │ │ ├── MarginView.h │ │ │ ├── Partitioning.h │ │ │ ├── PerLine.cpp │ │ │ ├── PerLine.h │ │ │ ├── Position.h │ │ │ ├── PositionCache.cpp │ │ │ ├── PositionCache.h │ │ │ ├── RESearch.cpp │ │ │ ├── RESearch.h │ │ │ ├── RunStyles.cpp │ │ │ ├── RunStyles.h │ │ │ ├── SciTE.properties │ │ │ ├── ScintillaBase.cpp │ │ │ ├── ScintillaBase.h │ │ │ ├── Selection.cpp │ │ │ ├── Selection.h │ │ │ ├── SparseVector.h │ │ │ ├── SplitVector.h │ │ │ ├── Style.cpp │ │ │ ├── Style.h │ │ │ ├── UniConversion.cpp │ │ │ ├── UniConversion.h │ │ │ ├── UniqueString.h │ │ │ ├── ViewStyle.cpp │ │ │ ├── ViewStyle.h │ │ │ ├── XPM.cpp │ │ │ └── XPM.h │ │ └── src/ │ │ ├── .qmake.stash │ │ ├── InputMethod.cpp │ │ ├── ListBoxQt.cpp │ │ ├── ListBoxQt.h │ │ ├── MacPasteboardMime.cpp │ │ ├── PlatQt.cpp │ │ ├── Qsci/ │ │ │ ├── qsciabstractapis.h │ │ │ ├── qsciapis.h │ │ │ ├── qscicommand.h │ │ │ ├── qscicommandset.h │ │ │ ├── qscidocument.h │ │ │ ├── qsciglobal.h │ │ │ ├── qscilexer.h │ │ │ ├── qscilexerasm.h │ │ │ ├── qscilexeravs.h │ │ │ ├── qscilexerbash.h │ │ │ ├── qscilexerbatch.h │ │ │ ├── qscilexercmake.h │ │ │ ├── qscilexercoffeescript.h │ │ │ ├── qscilexercpp.h │ │ │ ├── qscilexercsharp.h │ │ │ ├── qscilexercss.h │ │ │ ├── qscilexercustom.h │ │ │ ├── qscilexerd.h │ │ │ ├── qscilexerdiff.h │ │ │ ├── qscilexeredifact.h │ │ │ ├── qscilexerfortran.h │ │ │ ├── qscilexerfortran77.h │ │ │ ├── qscilexerglobal.h │ │ │ ├── qscilexergo.h │ │ │ ├── qscilexerhtml.h │ │ │ ├── qscilexeridl.h │ │ │ ├── qscilexerjava.h │ │ │ ├── qscilexerjavascript.h │ │ │ ├── qscilexerjson.h │ │ │ ├── qscilexerlua.h │ │ │ ├── qscilexermakefile.h │ │ │ ├── qscilexermarkdown.h │ │ │ ├── qscilexermatlab.h │ │ │ ├── qscilexernsis.h │ │ │ ├── qscilexeroctave.h │ │ │ ├── qscilexerpascal.h │ │ │ ├── qscilexerperl.h │ │ │ ├── qscilexerpo.h │ │ │ ├── qscilexerpostscript.h │ │ │ ├── qscilexerpov.h │ │ │ ├── qscilexerproperties.h │ │ │ ├── qscilexerpython.h │ │ │ ├── qscilexerr.h │ │ │ ├── qscilexerruby.h │ │ │ ├── qscilexerrust.h │ │ │ ├── qscilexerspice.h │ │ │ ├── qscilexersql.h │ │ │ ├── qscilexertcl.h │ │ │ ├── qscilexertex.h │ │ │ ├── qscilexertext.h │ │ │ ├── qscilexervb.h │ │ │ ├── qscilexerverilog.h │ │ │ ├── qscilexervhdl.h │ │ │ ├── qscilexerxml.h │ │ │ ├── qscilexeryaml.h │ │ │ ├── qscimacro.h │ │ │ ├── qsciprinter.h │ │ │ ├── qsciscintilla.h │ │ │ ├── qsciscintillabase.h │ │ │ ├── qscistyle.h │ │ │ └── qscistyledtext.h │ │ ├── SciAccessibility.cpp │ │ ├── SciAccessibility.h │ │ ├── SciClasses.cpp │ │ ├── SciClasses.h │ │ ├── ScintillaQt.cpp │ │ ├── ScintillaQt.h │ │ ├── features/ │ │ │ └── qscintilla2.prf │ │ ├── features_staticlib/ │ │ │ └── qscintilla2.prf │ │ ├── qsciabstractapis.cpp │ │ ├── qsciapis.cpp │ │ ├── qscicommand.cpp │ │ ├── qscicommandset.cpp │ │ ├── qscidocument.cpp │ │ ├── qscilexer.cpp │ │ ├── qscilexerasm.cpp │ │ ├── qscilexeravs.cpp │ │ ├── qscilexerbash.cpp │ │ ├── qscilexerbatch.cpp │ │ ├── qscilexercmake.cpp │ │ ├── qscilexercoffeescript.cpp │ │ ├── qscilexercpp.cpp │ │ ├── qscilexercsharp.cpp │ │ ├── qscilexercss.cpp │ │ ├── qscilexercustom.cpp │ │ ├── qscilexerd.cpp │ │ ├── qscilexerdiff.cpp │ │ ├── qscilexeredifact.cpp │ │ ├── qscilexerfortran.cpp │ │ ├── qscilexerfortran77.cpp │ │ ├── qscilexerglobal.cpp │ │ ├── qscilexergo.cpp │ │ ├── qscilexerhtml.cpp │ │ ├── qscilexeridl.cpp │ │ ├── qscilexerjava.cpp │ │ ├── qscilexerjavascript.cpp │ │ ├── qscilexerjson.cpp │ │ ├── qscilexerlua.cpp │ │ ├── qscilexermakefile.cpp │ │ ├── qscilexermarkdown.cpp │ │ ├── qscilexermatlab.cpp │ │ ├── qscilexernsis.cpp │ │ ├── qscilexeroctave.cpp │ │ ├── qscilexerpascal.cpp │ │ ├── qscilexerperl.cpp │ │ ├── qscilexerpo.cpp │ │ ├── qscilexerpostscript.cpp │ │ ├── qscilexerpov.cpp │ │ ├── qscilexerproperties.cpp │ │ ├── qscilexerpython.cpp │ │ ├── qscilexerr.cpp │ │ ├── qscilexerruby.cpp │ │ ├── qscilexerrust.cpp │ │ ├── qscilexerspice.cpp │ │ ├── qscilexersql.cpp │ │ ├── qscilexertcl.cpp │ │ ├── qscilexertex.cpp │ │ ├── qscilexertext.cpp │ │ ├── qscilexervb.cpp │ │ ├── qscilexerverilog.cpp │ │ ├── qscilexervhdl.cpp │ │ ├── qscilexerxml.cpp │ │ ├── qscilexeryaml.cpp │ │ ├── qscimacro.cpp │ │ ├── qscintilla.pro │ │ ├── qscintilla.vcxproj │ │ ├── qscintilla_ch.qm │ │ ├── qscintilla_ch.ts │ │ ├── qscintilla_cs.qm │ │ ├── qscintilla_cs.ts │ │ ├── qscintilla_de.qm │ │ ├── qscintilla_de.ts │ │ ├── qscintilla_es.qm │ │ ├── qscintilla_es.ts │ │ ├── qscintilla_fr.qm │ │ ├── qscintilla_fr.ts │ │ ├── qscintilla_pt_br.qm │ │ ├── qscintilla_pt_br.ts │ │ ├── qsciprinter.cpp │ │ ├── qsciscintilla.cpp │ │ ├── qsciscintillabase.cpp │ │ ├── qscistyle.cpp │ │ ├── qscistyledtext.cpp │ │ ├── xmlMatchedTagsHighlighter.cpp │ │ └── xmlMatchedTagsHighlighter.h │ ├── qss/ │ │ ├── black.qss │ │ ├── common.qss │ │ ├── flatgray.qss │ │ ├── lightblue.qss │ │ ├── lightbluestyle.qss │ │ ├── myblack.qss │ │ ├── mystyle.qss │ │ ├── mystyle_new.qss │ │ └── templetestyle.qss │ ├── qtlangset.cpp │ ├── qtlangset.h │ ├── qtlangset.ui │ ├── rcglobal.cpp │ ├── rcglobal.h │ ├── realcompare_zh.qm │ ├── realcompare_zh.ts │ ├── renamewin.cpp │ ├── renamewin.h │ ├── renamewin.ui │ ├── replacecommand.h │ ├── resource.h │ ├── rgba_icons.h │ ├── scintillaeditview.cpp │ ├── scintillaeditview.h │ ├── scintillahexeditview.cpp │ ├── scintillahexeditview.h │ ├── shortcutkeyeditwin.cpp │ ├── shortcutkeyeditwin.h │ ├── shortcutkeyeditwin.ui │ ├── shortcutkeymgr.cpp │ ├── shortcutkeymgr.h │ ├── shortcutkeymgr.ui │ ├── statuswidget.cpp │ ├── statuswidget.h │ ├── statuswidget.ui │ ├── styleset.cpp │ ├── styleset.h │ ├── texteditsetwin.cpp │ ├── texteditsetwin.h │ ├── texteditsetwin.ui │ ├── textfind.cpp │ ├── textfind.h │ ├── textfind.ui │ ├── themes/ │ │ ├── Bespin/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── Black board/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── Blue light/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── avs.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── coffeescript.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── flash.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── go.ini │ │ │ ├── html.ini │ │ │ ├── idl.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── jsp.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── rust.ini │ │ │ ├── spice.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── typescript.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ ├── xml.ini │ │ │ └── yaml.ini │ │ ├── Choco/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── DansLeRuSH-Dark/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── coffeescript.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ ├── xml.ini │ │ │ └── yaml.ini │ │ ├── Deep Black/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ ├── xml.ini │ │ │ └── yaml.ini │ │ ├── HotFudgeSundae/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── coffeescript.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ ├── xml.ini │ │ │ └── yaml.ini │ │ ├── Mono Industrial/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── Monokai/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── Obsidian/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ ├── xml.ini │ │ │ └── yaml.ini │ │ ├── Plastic Code Wrap/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── Ruby Blue/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── Twilight/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── Vibrant Ink/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── html.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ └── xml.ini │ │ ├── lavender/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── avs.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── coffeescript.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── flash.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── go.ini │ │ │ ├── html.ini │ │ │ ├── idl.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── jsp.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── rust.ini │ │ │ ├── spice.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── typescript.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ ├── xml.ini │ │ │ └── yaml.ini │ │ ├── misty rose/ │ │ │ ├── AllGlobal.ini │ │ │ ├── asp.ini │ │ │ ├── avs.ini │ │ │ ├── bash.ini │ │ │ ├── batch.ini │ │ │ ├── c.ini │ │ │ ├── cmake.ini │ │ │ ├── coffeescript.ini │ │ │ ├── cpp.ini │ │ │ ├── csharp.ini │ │ │ ├── css.ini │ │ │ ├── diff.ini │ │ │ ├── flash.ini │ │ │ ├── fortran.ini │ │ │ ├── fortran77.ini │ │ │ ├── go.ini │ │ │ ├── html.ini │ │ │ ├── idl.ini │ │ │ ├── ini.ini │ │ │ ├── java.ini │ │ │ ├── javascript.ini │ │ │ ├── json.ini │ │ │ ├── jsp.ini │ │ │ ├── lua.ini │ │ │ ├── makefile.ini │ │ │ ├── matlab.ini │ │ │ ├── nsis.ini │ │ │ ├── objc.ini │ │ │ ├── pascal.ini │ │ │ ├── perl.ini │ │ │ ├── php.ini │ │ │ ├── props.ini │ │ │ ├── python.ini │ │ │ ├── rc.ini │ │ │ ├── ruby.ini │ │ │ ├── rust.ini │ │ │ ├── spice.ini │ │ │ ├── sql.ini │ │ │ ├── tcl.ini │ │ │ ├── txt.ini │ │ │ ├── typescript.ini │ │ │ ├── vb.ini │ │ │ ├── verilog.ini │ │ │ ├── vhdl.ini │ │ │ ├── xml.ini │ │ │ └── yaml.ini │ │ └── yellow rice/ │ │ ├── AllGlobal.ini │ │ ├── asp.ini │ │ ├── avs.ini │ │ ├── bash.ini │ │ ├── batch.ini │ │ ├── c.ini │ │ ├── cmake.ini │ │ ├── coffeescript.ini │ │ ├── cpp.ini │ │ ├── csharp.ini │ │ ├── css.ini │ │ ├── diff.ini │ │ ├── flash.ini │ │ ├── fortran.ini │ │ ├── fortran77.ini │ │ ├── go.ini │ │ ├── html.ini │ │ ├── idl.ini │ │ ├── ini.ini │ │ ├── java.ini │ │ ├── javascript.ini │ │ ├── json.ini │ │ ├── jsp.ini │ │ ├── lua.ini │ │ ├── makefile.ini │ │ ├── matlab.ini │ │ ├── nsis.ini │ │ ├── objc.ini │ │ ├── pascal.ini │ │ ├── perl.ini │ │ ├── php.ini │ │ ├── props.ini │ │ ├── python.ini │ │ ├── rc.ini │ │ ├── ruby.ini │ │ ├── rust.ini │ │ ├── spice.ini │ │ ├── sql.ini │ │ ├── tcl.ini │ │ ├── txt.ini │ │ ├── typescript.ini │ │ ├── vb.ini │ │ ├── verilog.ini │ │ ├── vhdl.ini │ │ ├── xml.ini │ │ └── yaml.ini │ ├── userlexdef.cpp │ └── userlexdef.h ├── win.bat ├── win.mk ├── 插件编程开发说明.docx └── 编译说明.docx ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore # User-specific files *.rsuser *.suo *.user *.userosscache *.sln.docstates build # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs # Mono auto generated files mono_crash.* # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ x86/ [Ww][Ii][Nn]32/ [Aa][Rr][Mm]/ [Aa][Rr][Mm]64/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ [Ll]ogs/ # Visual Studio 2015/2017 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ # Visual Studio 2017 auto generated files Generated\ Files/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* # NUnit *.VisualState.xml TestResult.xml nunit-*.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c # Benchmark Results BenchmarkDotNet.Artifacts/ # .NET Core project.lock.json project.fragment.lock.json artifacts/ # ASP.NET Scaffolding ScaffoldingReadMe.txt # StyleCop StyleCopReport.xml # Files built by Visual Studio *_i.c *_p.c *_h.h *.ilk *.meta *.obj *.iobj *.pch *.pdb *.ipdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *_wpftmp.csproj *.log *.tlog *.vspscc *.vssscc .builds *.pidb *.svclog *.scc # Chutzpah Test files _Chutzpah* # Visual C++ cache files ipch/ *.aps *.ncb *.opendb *.opensdf *.sdf *.cachefile *.VC.db *.VC.VC.opendb # Visual Studio profiler *.psess *.vsp *.vspx *.sap # Visual Studio Trace Files *.e2e # TFS 2012 Local Workspace $tf/ # Guidance Automation Toolkit *.gpState # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # AxoCover is a Code Coverage Tool .axoCover/* !.axoCover/settings.json # Coverlet is a free, cross platform Code Coverage Tool coverage*.json coverage*.xml coverage*.info # Visual Studio code coverage results *.coverage *.coveragexml # NCrunch _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose *.mm.* AutoTest.Net/ # Web workbench (sass) .sass-cache/ # Installshield output folder [Ee]xpress/ # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC DocProject/Help/*.hhc DocProject/Help/*.hhk DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html # Click-Once directory publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml # Note: Comment the next line if you want to checkin your web deploy settings, # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj # Microsoft Azure Web App publish settings. Comment the next line if you want to # checkin your Azure Web App publish settings, but sensitive information contained # in these scripts will be unencrypted PublishScripts/ # NuGet Packages *.nupkg # NuGet Symbol Packages *.snupkg # The packages folder can be ignored because of Package Restore **/[Pp]ackages/* # except build/, which is used as an MSBuild target. !**/[Pp]ackages/build/ # Uncomment if necessary however generally it will be regenerated when needed #!**/[Pp]ackages/repositories.config # NuGet v3's project.json files produces more ignorable files *.nuget.props *.nuget.targets # Microsoft Azure Build Output csx/ *.build.csdef # Microsoft Azure Emulator ecf/ rcf/ # Windows Store app package directories and files AppPackages/ BundleArtifacts/ Package.StoreAssociation.xml _pkginfo.txt *.appx *.appxbundle *.appxupload # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache !?*.[Cc]ache/ # Others ClientBin/ ~$* *~ *.dbmdl *.dbproj.schemaview *.jfm *.pfx *.publishsettings orleans.codegen.cs # Including strong name files can present a security risk # (https://github.com/github/gitignore/pull/2483#issue-259490424) #*.snk # Since there are multiple workflows, uncomment next line to ignore bower_components # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) #bower_components/ # RIA/Silverlight projects Generated_Code/ # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm ServiceFabricBackup/ *.rptproj.bak # SQL Server files *.mdf *.ldf *.ndf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings *.rptproj.rsuser *- [Bb]ackup.rdl *- [Bb]ackup ([0-9]).rdl *- [Bb]ackup ([0-9][0-9]).rdl # Microsoft Fakes FakesAssemblies/ # GhostDoc plugin setting file *.GhostDoc.xml # Node.js Tools for Visual Studio .ntvs_analysis.dat node_modules/ # Visual Studio 6 build log *.plg # Visual Studio 6 workspace options file *.opt # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw # Visual Studio 6 auto-generated project file (contains which files were open etc.) *.vbp # Visual Studio 6 workspace and project file (working project files containing files to include in project) *.dsw *.dsp # Visual Studio 6 technical files *.ncb *.aps # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/ModelManifest.xml **/*.Server/GeneratedArtifacts **/*.Server/ModelManifest.xml _Pvt_Extensions # Paket dependency manager .paket/paket.exe paket-files/ # FAKE - F# Make .fake/ # CodeRush personal settings .cr/personal # Python Tools for Visual Studio (PTVS) __pycache__/ *.pyc # Cake - Uncomment if you are using it # tools/** # !tools/packages.config # Tabs Studio *.tss # Telerik's JustMock configuration file *.jmconfig # BizTalk build output *.btp.cs *.btm.cs *.odx.cs *.xsd.cs # OpenCover UI analysis results OpenCover/ # Azure Stream Analytics local run output ASALocalRun/ # MSBuild Binary and Structured Log *.binlog # NVidia Nsight GPU debugger configuration file *.nvuser # MFractors (Xamarin productivity tool) working folder .mfractor/ # Local History for Visual Studio .localhistory/ # Visual Studio History (VSHistory) files .vshistory/ # BeatPulse healthcheck temp database healthchecksdb # Backup folder for Package Reference Convert tool in Visual Studio 2017 MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ # Fody - auto-generated XML schema FodyWeavers.xsd # VS Code files for those working on multiple tools .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json *.code-workspace # Local History for Visual Studio Code .history/ # Windows Installer files from build outputs *.cab *.msi *.msix *.msm *.msp # JetBrains Rider *.sln.iml # Created by https://www.toptal.com/developers/gitignore/api/cmake # Edit at https://www.toptal.com/developers/gitignore?templates=cmake ### CMake ### CMakeLists.txt.user CMakeCache.txt CMakeFiles CMakeScripts Testing Makefile cmake_install.cmake install_manifest.txt compile_commands.json CTestTestfile.cmake _deps ### CMake Patch ### # External projects *-prefix/ # End of https://www.toptal.com/developers/gitignore/api/cmake !/Makefile # C++ objects and libs *.slo *.lo *.o *.a *.la *.lai *.so *.so.* *.dll *.dylib # Qt-es object_script.*.Release object_script.*.Debug *_plugin_import.cpp /.qmake.cache /.qmake.stash *.pro.user *.pro.user.* *.qbs.user *.qbs.user.* *.moc moc_*.cpp moc_*.h qrc_*.cpp ui_*.h *.qmlc *.jsc Makefile* *build-* *.prl # Qt unit tests target_wrapper.* # QtCreator *.autosave # QtCreator Qml *.qmlproject.user *.qmlproject.user.* # QtCreator CMake CMakeLists.txt.user* # QtCreator 4.8< compilation database compile_commands.json # QtCreator local machine specific files for imported projects *creator.user* [Bb]uild/ .vscode/ .vs/ ================================================ FILE: CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.16) project(NotePad-- VERSION 1.22.0) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Concurrent Network PrintSupport XmlPatterns) # qscint 关键依赖库 add_subdirectory(${PROJECT_SOURCE_DIR}/src/qscint) # 插件库包含 # helloworld 动态插件库 add_subdirectory(${PROJECT_SOURCE_DIR}/src/plugin/helloworld) # win下需要开启UNICODE进行支持TCHAR if(CMAKE_HOST_WIN32) add_definitions(-D_UNICODE -DUNICODE) endif() if(${PLUGIN_EN}) if(${PLUGIN_EN} STREQUAL on) add_definitions(-DNO_PLUGIN=1) endif(${PLUGIN_EN}) endif() file(GLOB UI_SRC ${PROJECT_SOURCE_DIR}/src/*.ui) set(UI_SRC ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/cceditor/ccnotepad.ui) aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC) aux_source_directory(${PROJECT_SOURCE_DIR}/src/cceditor SRC) if(CMAKE_HOST_WIN32) # 添加 WIN32 保证主程序启动没有命令行 list(APPEND WIN_RCS ${PROJECT_SOURCE_DIR}/src/RealCompareToMinGw.rc) add_executable(${PROJECT_NAME} WIN32 ${WIN_RCS} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc) else() add_executable(${PROJECT_NAME} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc) endif() target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src/cceditor ${PROJECT_SOURCE_DIR}/src/qscint/src ${PROJECT_SOURCE_DIR}/src/qscint/src/Qsci ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/src ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/include ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/lexlib ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/boostregex ) target_link_libraries(${PROJECT_NAME} qscint Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network Qt5::PrintSupport Qt5::XmlPatterns) # set(PROJECT_BINARY_DIR "${PROJECT_BINARY_DIR}/bin") # set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) if(CMAKE_HOST_UNIX) install( TARGETS ${PROJECT_NAME} DESTINATION "bin" ) install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/linux/usr DESTINATION "/") include(${PROJECT_SOURCE_DIR}/cmake/deb_package_config.cmake) include(CPack) elseif(CMAKE_HOST_WIN32) install(TARGETS ${PROJECT_NAME} DESTINATION "/") install(DIRECTORY ${PROJECT_SOURCE_DIR}/build/bin/ DESTINATION "/") # 设置软件版本 set(CPACK_PACKAGE_NAME "NotePad--") set(CPACK_PACKAGE_DESCRIPTION "NotePad--") set(CPACK_PACKAGE_COPYRIGHT "Copyright (c) 2023") set(CPACK_PACKAGE_VERSION "1.22.0") set(CPACK_PACKAGE_VERSION_MAJOR "1") set(CPACK_PACKAGE_VERSION_MINOR "22") set(CPACK_PACKAGE_VERSION_PATCH "0") include(${PROJECT_SOURCE_DIR}/cmake/nsis_package_config.cmake) include(CPack) endif() ================================================ FILE: LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ================================================ FILE: README.md ================================================ # notepad-- [中文 ](README.md) | [English](README_EN.md) ## 项目简介 Notepad--是一个轻量级文本编辑器软件,可以支持Win/Linux/Mac平台。 其开发目标是进行文本编辑类软件的国产可替代,重点在国产信创Uos系统、Mac 系统、各类linux系统上发展。 对比其它竞品Notepad类软件而言,ndd 的优势是可以跨平台,支持linux mac操作系统。 **鉴于某些Notepad竞品作者的不当言论,Notepad--的意义在于:减少一点错误言论,减少一点自以为是。** **Notepad--的目标,致力于国产软件的可替代,专心做软件。** 您可以在这个项目提交bug或反馈问题。 本仓库与https://gitee.com/cxasm/notepad-- 是同一个软件。 中国内使用https://gitee.com/cxasm/notepad-- 。国外使用本github库,该库会定期同步国内gitee库。 由于作者在中国经常网络无法访问github,所以该库可能不会及时更新,还请见谅。 最新版本下载地址:https://gitee.com/cxasm/notepad--/releases/tag/v3.5 **鉴于Notepad--遭到竞品软件的匿名发帖诋毁,ndd项目申明:** **Notepad--不涉及任何政治,更不会随意发布政治言论。** 对此Notepad--澄清如下: [Ndd 对诋毁者们恶意歪曲事实的说明](https://gitee.com/cxasm/notepad--/wikis/Ndd-%E5%AF%B9%E8%AF%8B%E6%AF%81%E8%80%85%E4%BB%AC%E6%81%B6%E6%84%8F%E6%AD%AA%E6%9B%B2%E4%BA%8B%E5%AE%9E%E7%9A%84%E8%AF%B4%E6%98%8E) **建议全体海内外同胞,务必禁用发表错误言论的软件,您可以选择用其它同类软件进行替代,比如vscode,notepad3,sublime都行。大家用实际行动拒绝错误言论软件, 不去评论它,不去关注它,不给它带来任何流量,则发布错误言论的人,终将自讨没趣而闭嘴。** ndd在深度国产uos运行效果: ![ntscreenshot_20230805_134025](https://github.com/cxasm/notepad--/assets/42246867/ec0b5243-3c9d-46d0-bba6-348617236829) ndd在windows运行效果: ![ndd在windows](https://user-images.githubusercontent.com/42246867/235033753-058ef39a-f815-4404-b5d1-de4a834dec1d.png) ![ndd 在windows](https://user-images.githubusercontent.com/42246867/218263319-3e78b0a9-9fb1-45d1-8f1c-2e850e073425.png) ndd 在macOs运行效果: ![ndd 在 mac Os](https://user-images.githubusercontent.com/42246867/221394341-743f71a9-11bd-4dc8-aa0d-c24316493dcf.png) subtwo在redhat运行效果: ![subtwo 在redhat 运行效果](https://user-images.githubusercontent.com/42246867/235033326-b2fffca5-625c-4c96-a661-1072f8a8b3ee.png) ================================================ FILE: README_EN.md ================================================ # Notepad-- [中文 ](README.md) | [English](README_EN.md) ## Project Introduction Introducing Notepad-- a text editor written in C++ that works seamlessly across Windows, Linux, and Mac platforms. Our aim is to eventually surpass Notepad++, with a particular focus on the Chinese UOS operating system. Unlike Notepad++, our advantage lies in our cross-platform compatibility and support for various OSes. **The purpose of Notepad-- is to counteract some of the misguided remarks made by the author of Notepad++ and to promote a more humble and grounded perspective.** If you come across any bugs or have any feedback, feel free to share it with us. You can download the latest version at https://gitee.com/cxasm/notepad--/releases/tag/v2.0 We have recently added the plugin writing feature to Notepad-- and we hope that many CPP/QT developers will join us in this endeavor. If you develop a plugin, you can include your name and a donation channel. Creating a free text editor requires support from users like you. If you'd like to contribute, please consider donating through WeChat. ![Input description picture](6688.png) ## Compilation **CMake Toolchain Compilation Instructions:** - Ubuntu/Debian 1. Install compilation environment `sudo apt-get install g++ make cmake` 1. Install qt tools and libraries `sudo apt-get install qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5printsupport5 libqt5xmlpatterns5-dev ` 1. Configure `cmake -B build -DCMAKE_BUILD_TYPE=Release` 1. Compile `cd build && make -j` 1. Package `cpack` - ArchLinux 1. Install compilation environment `sudo pacman -S gcc cmake make ninja` 1. Install qt tools and libraries `sudo pacman -S qt5-tools qt5-base qt5-xmlpatterns ` 1. Configure `cmake -S . -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -W no-dev` 1. Compile `ninja -C build && ninja -C build install` 1. Package: use [AUR/notepad---git](https://aur.archlinux.org/packages/notepad---git) `yay -S notepad---git` 1. Installation: - Pre-compiled package add [ArchLinuxCN/notepad---git](https://github.com/archlinuxcn/repo) mirror `yay -S archlinuxcn/notepad---git` - Pre-compiled package [Debuginfod/notepad---git-debug](https://wiki.archlinux.org/title/Debuginfod) package `yay -S archlinuxcn/notepad---git-debug` **Qt Project Compilation Instructions:** 1) Start by opening qscint/src/qscintilla.pro in either Qt Creator or Visual Studio and compile the qscintilla dependency library. 2) Next, open RealCompare.pro and compile it after loading. 3) Due to the multi-platform compilation, involving Windows/Linux/MacOS, if there are any compilations or problems, please join qq group 959439826. We welcome contributions and code submissions from everyone. Recently, the code was made available online. However, the commercial comparison function and registration function have been removed for commercial reasons. All other functions have been retained. 4) For Arch Linux and its derivatives, you can install Notepad-- through the AUR using the following command: [notepad---git](https://aur.archlinux.org/packages/notepad---git) ``` yay -S notepad---git ``` ## Preview ![Input description picture](png/20221107_160824.png) ![Input description picture](png/6.png) ![Input description picture](png/3.png) ![Input description picture](png/7.png) ================================================ FILE: THIRDPARTY.md ================================================ ## 第三方依赖 ## 源码依赖 - [[GPL v3](src/qscint/LICENSE)] [QScintilla](https://riverbankcomputing.com/software/qscintilla/intro) - [GPL v3] - [boostregex](src/qscint/scintilla/boostregex) - [rgba_icons.h](src/rgba_icons.h) - [xmlMatchedTagsHighlighter.cpp](src/qscint/src/xmlMatchedTagsHighlighter.cpp) - [xmlMatchedTagsHighlighter.h](src/qscint/src/xmlMatchedTagsHighlighter.h) ## 开发、打包时依赖 - [[zlib/libpng](https://nsis.sourceforge.io/License)] [NSIS](https://nsis.sourceforge.io) 打包工具 ================================================ FILE: changelog.txt ================================================ Ndd V1.23 发布 20230226 功能: 1 希望可以支持xml按照层次折叠和展开操作 2 能否增加自动刷新和滚动文本功能,以及手动重新打开文件。提供tailf方式。 3 建议 查找与替换 添加ESC键响应,ESC键退出查找替换窗体 4 查找替换没有默认选中 5 新窗口打开的文件,不能再拖放回去 6 无法计算选中内容的行数 7 json 格式化,提供json格式化插件,命令行插件等 8 高清屏幕适配一些列问题 9 能否支持在软件内设置文件关联。安装包支持 10 希望记录一下关闭软件时的标签页 11 增加md5/sha计算 改进: 1 新建文件缩进参考线会消失 2 XML 文件 注释部分文字偏小看不清 3 关闭编辑器之后,编辑器的设置窗口还在,如果多次就会有下图的样子 4 Ctrl+F时,建议文本框内的内容默认选中 5 建议程序打开时tab页为最后关闭时tab页 6 选中多个文件右键打开时会启动多个窗口,而非多个标签, 7 双击英文句点全部文本都会高亮 8 command只能-缩小,+没用 不能放大 9 CTRL+F搜索框丢失焦点后,再用快捷键CTRL+F不能自动聚焦 10 已设置的快捷键可以取消 11 希望显示总字数 12 Ctrl+S时,并不能删除.swp临时文件,建议隐藏.swp文件 13 建议 增加 打开当前文件目录下 命令提示符的功能 14 显示空格的问题 15 鼠标选择文本后高亮 Ndd V1.22 预发布 20230202 1 提供大文本、超大文本打开两种方式;并尽量显示行号。 2 增加ASM语言的语法高亮;增加shell语法高亮。 3 大文本打开时,显示行号。 4 BUG: 超大文本打开乱码。 5 批量查找窗口大小记住恢复。 6 块注释崩溃。 7 替换ctrl+h 自动填充选中内容,查找替换切换自动带过去关键字。 8 查找结果框,可以放大缩小,避免看不清楚;完善配色。 9 第一次安装后,新建NEW文件,下次打开无法自动恢复的问题。 10 win10下面管理员授权打开文件后,旧文件修改跟随到新打开窗口 11 解决一些列小bug等。 12 提供ARCH LINUX的构建版本等。 Ndd V1.21 预发布 20230107 1 支持主题的修改,完善八种新主题 2 初步支持插件开发 3 小需求完善:批量替换支持进度条、支持web地址高亮双击打开 4 解决反馈的bug v1.21.1 小版本 20230125 解决如下问题 1 新增语法与文件后缀关联的设置。16A5Y1 2 新增快捷键的管理与修改设置 3 查找框完善:选中文本查找,字段自动填充到替换的查找框中。 4 查找框完善:默认不选中文本查找时,查找框和替换框中默认填空, 避免残留上次结果,让用户还需要手动去删除。gitee:16ALEJ 5 用户反馈,默认字体14过大,修改为12 6 查找结果太长时,增加查找结果框的水平滚动条功能。gitee:16A77D 7 区块选择崩溃bug修复 8 调整对比框中的配色问题 9 解决右键菜单中清除标记颜色无效的bug 10 解决ndd关闭后再打开,恢复出来的文件顺序可能不一样的问题 11 解决gitee:169U01:关闭软件后重启,新建文件名称从原来的序号开始,导致重名。 12 git169twc 打开文件时窗口没有还原 Ndd V1.20 预发布 20221216 1 增加文件列表,方便多文件时选中。 2 增加快捷注释功能 3 完善黑色配色 4 完善大文本文件打开时选择的方式 5 解决New0冒出问题 6 打开文件时,如果在后台,窗口自动弹到前面 7 菜单最近对比合入对比 8 解决输入法有时会无法出现的bug 9 提速,使用vs2019 qt515.7重新构建版本 10 新增代码自动缩进的功能 11 工具栏增加 缩放率 大小显示。ctrl+鼠标滑动,增加缩放率显示 12 长行查找结构,进行截断处理,避免太长导致结果框慢 1.19 预发布 20221205 version26 1 提供深色功能 2 对比目录增加递归处理菜单项 3 增加对比文件时的差异图 4 完善查找功能、查找结果位置修正 5 增加vb语法高亮等 6 解决一系列发现的bug或其它小问题 1.18 预发布版本发布 20221120 version25 1 字体风格提供全局一键修改全部功能 2 对比可以直接拷贝粘贴内容进行对比 3 记住窗口大小未知;查找结果位置记住;放大缩小率记住;下次打开恢复上述信息 4 安装位置修改到x64安装目录 5 支持书签下8种功能,快捷键F2切换书签等。 6 解决一些列bug,如txt下字体大小显示不等宽;对比窗口行号不统一等; 7 提高安全性,崩溃后下次打开无条件保存新旧文件等。 8 提高打开速度。内部使用ini配置替换json格式等。 1.17.0 发布 20221108 1.17 win10版本发布了,完成如下功能 1 完成自定义编程语言风格 -- 给出一个基础版本,可自定义语言,添加关键词。 2 语言风格全局设置,快捷一键全部弄成一样的字体样式 3 查询关键字计数 4 增加大小写转换功能 5 使用了boot的正则表达式 6 增加移除空行功能 7 列编辑功能 8 行编辑中16 种功能移植 9 中文安装包 10 对比卡死bug解决 11 其它小功能。比如根据win linxu自动设置换行符号、长行显示不全等bug。 //5 1.3 //6 1.4 20211027日 //7 1.5 20211110日发布,是第一个真正意义上的稳定版本。 //8 1.6 20211201发布,增加了网络消息中的6和7命令。第一次发布了notebook版本。 //9 1.7 20211224日发布,增加了bin二进制的对比方式。暂时先在www.itdp.cn发布。 //10 没有使用,单独给mac的一个版本做尝试 //11 20210118日发布,单独发布ccompare和ccnotepad。notepad暂时在www.itdp.cn发布。这个版本中的linux 和 windows的 VERIFY_CODE 做了不同的区别。将二者分离出来 //12 1.9 发布。 //13 1.9.1 20220225发布,bin对比背景高亮。调整了界面美观度 //版本号没有修改,换皮。20220525重新发布,不再继续维护修改了。 因为编辑器的市场已经是红海,没必要死磕,考虑其它途径。就这样吧。 //15 1.9.0 20220530左右发布。在uos上面第一次发布。 //16 1.10.0 20220616左右发布。在uos上面发布了。增加查找高亮、Uos上右键关联打开等。 //17 1.11.0 20220629左右编译发布,在Uos也发布了。增加单词高亮、自动保存、前后位置跳转等。 //18 1.11.0 20220630 linux uos下面重新编译了下,版本直接修改为18,在网站发布。因为已经提交到uos商店中去了,后续再提交时,不修改版本,直接保持为18即可。 //18 1.12.0 20220707 只发布了windows版本,修改为多线程、取消数据库db,修改为json存储格式。加速第一次运行时的速度处理。 //19 1.13.0 20220802 只发布了windows版本,增加文件夹查找功能,美化界面。马上要发布uos版本。 //19 1.13.0 20220803 大幅度改善查找文件框的设置,优化其显示。20220804发布了uos 1.13版本 //21 1.14.0 20220901 大幅完善细节,中间有个20的版本做了皮肤风格的。本次对查找扩展、大量细节做了完善。已经发布了win10版本。 //22 1.14.0 202209010 先发布了windows下面的版本、自动检测二进制文件或文本,支持大文本分块显示、合入文件对比的功能、提交了第一个版本的注册界面。 理论上这个版本应该是一个里程碑式样的版本。先只发布了windows版本。mac和uos的在后面等稳定后再发布。 //23 1.16.0 20221008 完善了大量细节,应该是更加完善的一个里程碑版本。目前windows mac 都已经发布,uos的还没有提交到商场,预计月底提交。 //23 1.16.1 20221011 1.16里面存在问题,对比时会卡死,紧急解决了这个故障。使用nsis进行了打包,只发布了win10,后续还需要uos mac发布。 ================================================ FILE: cmake/deb_package_config.cmake ================================================ set(CPACK_GENERATOR "DEB") set(CPACK_PACKAGE_NAME "notepad--") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "a text editor like notepad++") set(CPACK_PACKAGE_CONTACT "coconil") set(CPACK_PACKAGE_VERSION "1.22.0") set(CPACK_PACKAGE_VERSION_MAJOR "1") set(CPACK_PACKAGE_VERSION_MINOR "22") set(CPACK_PACKAGE_VERSION_PATCH "0") set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5concurrent5,libqt5core5a,libqt5gui5,libqt5network5,libqt5printsupport5,libqt5xmlpatterns5") ================================================ FILE: cmake/nsis_package_config.cmake ================================================ set(CPACK_GENERATOR NSIS) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME}") # 维护人员 set(CPACK_PACKAGE_CONTACT "XiaoPb") set(P4_VERSION_INFO_CL_HIGH "0") set(P4_VERSION_INFO_CL_LOW "0") # set(CPACK_PACKAGE_VERSION_PATCH "0") set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}") set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_NAME}V${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_NAME}V${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON") set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/src/Resources/ico/txt (9).ico") set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}/src/Resources/ico/txt (9).ico") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License") set (CPACK_PACKAGE_EXECUTABLES "${PROJECT_NAME}" "${PROJECT_NAME}" ) # 设置 安装包属性信息 set (CPACK_NSIS_DEFINES " ${CPACK_NSIS_DEFINES} VIProductVersion ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${P4_VERSION_INFO_CL_HIGH}.${P4_VERSION_INFO_CL_LOW} VIFileVersion ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${P4_VERSION_INFO_CL_HIGH}.${P4_VERSION_INFO_CL_LOW} VIAddVersionKey /LANG=0 \\\"ProductName\\\" \\\"${CPACK_PACKAGE_NAME}\\\" VIAddVersionKey /LANG=0 \\\"ProductVersion\\\" \\\"v${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${CPACK_PACKAGE_BUILD_TYPE_REVISION}\\\" VIAddVersionKey /LANG=0 \\\"Comments\\\" \\\"${CPACK_PACKAGE_DESCRIPTION}\\\" VIAddVersionKey /LANG=0 \\\"CompanyName\\\" \\\"${CPACK_PACKAGE_VENDOR}\\\" VIAddVersionKey /LANG=0 \\\"LegalCopyright\\\" \\\"${CPACK_PACKAGE_COPYRIGHT}\\\" VIAddVersionKey /LANG=0 \\\"FileDescription\\\" \\\"${CPACK_PACKAGE_NAME} Installer\\\" VIAddVersionKey /LANG=0 \\\"FileVersion\\\" \\\"v${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${CPACK_PACKAGE_BUILD_TYPE_REVISION}\\\" " ) # 设置 安装时需要的环境变量 set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS " WriteRegStr SHCTX \\\"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\App Paths\\\\${PROJECT_NAME}\\\" \\\"\\\" \\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe\\\" WriteRegStr SHCTX \\\"Software\\\\Classes\\\\${PROJECT_NAME}\\\\shell\\\" \\\"\\\" \\\"open\\\" WriteRegStr SHCTX \\\"Software\\\\Classes\\\\${PROJECT_NAME}\\\\shell\\\\open\\\\command\\\" \\\"\\\" \\\"$\\\\\\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe$\\\\\\\" $\\\\\\\"%1$\\\\\\\"\\\" WriteRegStr SHCTX \\\"Software\\\\Classes\\\\.txt\\\\OpenWithProgids\\\" \\\"${PROJECT_NAME}\\\" \\\"\\\" WriteRegStr SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\" \\\"\\\" \\\"Edit with ${PROJECT_NAME}\\\" WriteRegStr SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\" \\\"Icon\\\" \\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe\\\" WriteRegStr SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\\command\\\" \\\"\\\" \\\"$\\\\\\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe$\\\\\\\" $\\\\\\\"%1$\\\\\\\"\\\" ") # 设置 卸载时需要的环境变量 set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS " Delete \\\"$DESKTOP\\\\${PROJECT_NAME}.lnk\\\" Delete \\\"$SMPROGRAMS\\\\${PROJECT_NAME}.lnk\\\" DeleteRegKey SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\" DeleteRegKey SHCTX \\\"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\App Paths\\\\bin\\\\${PROJECT_NAME}.exe\\\" \\\"\\\" \\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe\\\" DeleteRegKey SHCTX \\\"Software\\\\${PROJECT_NAME}\\\" DeleteRegValue SHCTX \\\"Software\\\\Classes\\\\.txt\\\\OpenWithProgids\\\" \\\"${PROJECT_NAME}\\\" DeleteRegKey SHCTX \\\"Software\\\\Classes\\\\${PROJECT_NAME}\\\" ") ================================================ FILE: src/.qmake.stash ================================================ QMAKE_CXX.QT_COMPILER_STDCXX = 199711L QMAKE_CXX.QMAKE_MSC_VER = 1929 QMAKE_CXX.QMAKE_MSC_FULL_VER = 192930142 QMAKE_CXX.COMPILER_MACROS = \ QT_COMPILER_STDCXX \ QMAKE_MSC_VER \ QMAKE_MSC_FULL_VER QMAKE_CXX.INCDIRS = \ "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\ATLMFC\\include" \ "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\include" \ "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt" \ "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared" \ "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um" \ "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt" \ "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt" QMAKE_CXX.LIBDIRS = \ "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\ATLMFC\\lib\\x64" \ "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\lib\\x64" \ "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64" \ "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\um\\x64" ================================================ FILE: src/CmpareMode.cpp ================================================ #include "CmpareMode.h" #include "Encode.h" #include "rcglobal.h" #include #include #include #include #include #include #include CmpareMode::CmpareMode() { } CmpareMode::~CmpareMode() { } //识别文字编码,并将文字按照原始编码格式,转换为QString。如果失败,默认按照utf8的格式进行转换; bool CmpareMode::recognizeTextCode(QByteArray & text, LineFileInfo &lineInfo, QString &outUnicodeText) { int lineNums = lineInfo.lineNums; int length = text.count(); int result = false; //第一行时,检测一下文件编码,返回值也是文件的编码 if (0 == lineNums) { int skip = 0; lineInfo.code = Encode::DetectEncode((uchar*) text.data(), length, skip); //根据编码跳过第一行前面的几个字符编码标识字段 if (skip > 0) { text = text.mid(skip); } return Encode::tranStrToUNICODE((CODE_ID)lineInfo.code, text.data(), text.count(), outUnicodeText); } else { /*对于头部没有标识的行,需要每行进行详细检查,比较耗时 *对于第一行已经是GBK的编码,标识出所有的确是GBK的行号 *严格来说,如果以后要做国际版,不应该只考虑GBK,而是要考虑本地ASNI编码。 *对中国而言,本地ASNI编码是GBK,对其它国家,比如日本/韩国而言,这些ASNI是它们本国 *对应的本地编码。 */ //#if 0 // //全部都在ascii范围以内,就作为ascii码。注意ASCII处理时其它地方时按照UTF8进行编码的 // if (Encode::CheckTextIsAllAscii((uchar*)text.data(), length)) // { // lineInfo.code = CODE_ID::ASCII; // return Encode::tranStrToUNICODE((CODE_ID)lineInfo.code, text.data(), length, outUnicodeText); // } // else // { //#endif CODE_ID actualCode = Encode::CheckUnicodeWithoutBOM((uchar*)text.data(), length, outUnicodeText); if (CODE_ID::UTF8_NOBOM == actualCode) { lineInfo.code = CODE_ID::UTF8_NOBOM; result = true; } else if (CODE_ID::GBK == actualCode) { //如果发现存在GBK,则要以GBK作为字符编码。这里识别gbk是因为显示的时候,需要转化gbk进行显示 lineInfo.code = CODE_ID::GBK; result = true; } else if (CODE_ID::ANSI == actualCode) { lineInfo.code = CODE_ID::UNKOWN; //这里就是乱码了。即不是utf8也不是GBK,也不能说乱码,目前其它国家未处理的码 result = false; } //#if 0 // } //#endif } return result; } //LE编码要特殊对待。 bool CmpareMode::isUnicodeLeBomFile(uchar* fileFpr, int fileLength) { if (fileLength >= 2 && fileFpr[0] == 0xFF && fileFpr[1] == 0xFE) { return true; } return false; } //isCheckHead:是否检测头。只有文件开头,才有。如果是分块加载,中间打开的文件,则不需要检测。默认检测 CODE_ID CmpareMode::getTextFileEncodeType(uchar* fileFpr, int fileLength, QString filePath, bool isCheckHead) { if (isCheckHead) { if (fileLength >= 2 && fileFpr[0] == 0xFF && fileFpr[1] == 0xFE) { return CODE_ID::UNICODE_LE; //skip 2 } else if (fileLength >= 2 && fileFpr[0] == 0xFE && fileFpr[1] == 0xFF) { return CODE_ID::UNICODE_BE; //skip 2 } else if (fileLength >= 3 && fileFpr[0] == 0xEF && fileFpr[1] == 0xBB && fileFpr[2] == 0xBF) { return CODE_ID::UTF8_BOM; //skip 3 with BOM } } //走到这里说明没有文件头BOM,进行全盘文件扫描 if (!filePath.isEmpty()) { return scanFileRealCode(filePath); } return CODE_ID::UNKOWN; } //20230201新增:把Unicode_LE的字节流,转换为QString 发现如果是CODE_ID::UNICODE_LE,\r\n变成了\r\0\n\0,读取readLine遇到\n就结束了,而且toUnicode也会变成乱码失败 //所以UNICODE_LE需要单独处理。该函数只处理Unicode_LE编码文件,事先一定要检查文件编码 //返回字符数,不是编码类型,注意是字符数,不是bytes //这里有个问题,当初读取文件分块是,是无条件读取到\n就结束,则可能最后不是\n\0,而是\n。这种情况要特殊处理。标记为A。 //是否跳过前面的LE头。默认不跳过。只有文件块开头第一块,才需要跳过。 bool CmpareMode::tranUnicodeLeToUtf8Bytes(uchar* fileFpr, const int fileLength, QString &outUtf8Bytes, bool isSkipHead) { CODE_ID code = CODE_ID::UNICODE_LE; int lineStartPos = (isSkipHead ? 2:0); //uicode_le前面有2个特殊标识,故跳过2 //获取一行在文件中 auto getOneLineFromFile = [fileFpr](int& startPos, const int fileLength, QByteArray& ret)->bool { if (startPos < fileLength) { ret.clear(); int lineLens = 0; bool isFindLine = false; for (int i = startPos; i < fileLength; ++i, ++lineLens) { //遇到换行符号 if (fileFpr[i] == 0x0A) { //lineLens需要加2,因为当前这个没有加,而且后面还有一个\0,这是le格式规定的。 //特殊对待A。如果后续还要一个\0,及长度足够,则+2,否则只能加1 if (startPos + lineLens + 2 < fileLength) { ret.append((char*)(fileFpr + startPos), lineLens + 2); startPos += lineLens + 2; } else { //这里就是特殊情况,尾部后面没有\0,只能前进1个。 ret.append((char*)(fileFpr + startPos), lineLens + 1); //必须手动补上一个\0。避免格式残缺 ret.append('\0'); startPos += lineLens + 1; } isFindLine = true; break; } } //没有找到一行 if (!isFindLine) { //最后一行,可能没有带\r\0直接返回 ret.append((char*)(fileFpr + startPos), fileLength - startPos); startPos = fileLength; } return true; } return false; }; QByteArray line; QByteArray tempUtf8Bytes; tempUtf8Bytes.reserve(fileLength+1); while (getOneLineFromFile(lineStartPos, fileLength, line)) { tempUtf8Bytes.append(line); } return Encode::tranStrToUNICODE(code, tempUtf8Bytes.data(), tempUtf8Bytes.count(), outUtf8Bytes); } //20210802:发现如果是CODE_ID::UNICODE_LE,\r\n变成了\r\0\n\0,读取readLine遇到\n就结束了,而且toUnicode也会变成乱码失败 //所以UNICODE_LE需要单独处理。该函数只处理Unicode_LE编码文件,事先一定要检查文件编码 //返回字符数,不是编码类型,注意是字符数,不是bytes quint32 CmpareMode::readLineFromFileWithUnicodeLe(uchar* m_fileFpr, const int fileLength, QList& lineInfoVec, QList& blankLineInfoVec,int mode, int &maxLineSize) { QCryptographicHash md4(QCryptographicHash::Md4); int lineNums = 0; CODE_ID code = CODE_ID::UNICODE_LE; int lineStartPos = 2; //uicode_le前面有2个特殊标识,故跳过2 //获取一行在文件中 auto getOneLineFromFile = [m_fileFpr](int& startPos, const int fileLength, QByteArray& ret)->bool{ if (startPos < fileLength) { ret.clear(); int lineLens = 0; bool isFindLine = false; for (int i = startPos; i < fileLength; ++i,++lineLens) { //遇到换行符号 if (m_fileFpr[i] == 0x0A) { if (startPos + lineLens + 2 < fileLength) { //lineLens需要加2,因为当前这个没有加,而且后面还有一个\0,这是le格式规定的 ret.append((char*)(m_fileFpr + startPos), lineLens + 2); startPos += lineLens + 2; } else { //这里就是特殊情况,尾部后面没有\0,只能前进1个。 //其实是容错,可能最后一个没有\0 ret.append((char*)(m_fileFpr + startPos), lineLens + 1); //必须手动补上一个\0。避免格式残缺 ret.append('\0'); startPos += lineLens + 1; } isFindLine = true; break; } } //没有找到一行 if (!isFindLine) { //最后一行,可能没有带\r\0直接返回 ret.append((char*)(m_fileFpr + startPos), fileLength - startPos); startPos = fileLength; } return true; } return false; }; QByteArray line; quint32 charNums = 0; auto work = [mode, &md4](LineFileInfo& lineInfo, const int n) { if (mode == 0) { md4.addData(lineInfo.unicodeStr.trimmed().toUtf8()); } else if (mode == 1) { md4.addData(lineInfo.unicodeStr.left(lineInfo.unicodeStr.length() - n).toUtf8()); } else if (mode == 2) { QString temp = lineInfo.unicodeStr; md4.addData(temp.replace(QRegExp("\\s"), QString("")).toUtf8()); } }; while (getOneLineFromFile(lineStartPos, fileLength,line)) { LineFileInfo lineInfo; lineInfo.lineNums = lineNums; /* 这种方式读取文件会包含后面的行尾 */ int length = line.length(); if (maxLineSize < length) { maxLineSize = length; } //如果是头部有标识的格式,则后续不用详细检查每行编码,直接按照头部标识走 Encode::tranStrToUNICODE(code, line.data(), line.count(), lineInfo.unicodeStr); lineInfo.code = code; charNums += lineInfo.unicodeStr.size(); if (lineInfo.unicodeStr.endsWith("\r\r\n")) { //这里是一种错误,但确实可能出现 if (length > 3) { work(lineInfo, 3); } else { //空白行 lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE; } else if (lineInfo.unicodeStr.endsWith("\r\n")) { if (length > 2) { work(lineInfo, 2); } else { //空白行 lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE; } else if (lineInfo.unicodeStr.endsWith("\n")) { if (length > 1) { work(lineInfo, 1); } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::UNIX_LINE; } else if (lineInfo.unicodeStr.endsWith("\r")) { if (length > 1) { work(lineInfo, 1); } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::MAC_LINE; } else { if (length > 0) { work(lineInfo, 0); } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::UNKNOWN_LINE; } if (lineInfo.isEmptyLine) { blankLineInfoVec.append(lineInfo); } else { lineInfo.md4 = md4.result(); //qDebug() << lineInfo.md4; md4.reset(); lineInfoVec.append(lineInfo); } ++lineNums; } return charNums; } //读取每一行,将空白行和非空白行分开。非空白行取他们的行md4值(不包含尾部的换行符) //返回值:文件扫描出来的字符编码 //在对比行的md5值时,忽略了后面的行尾类型。即只对比字符内容,忽略了行尾。 //20210802:发现如果是CODE_ID::UNICODE_LE,\r\n变成了\r\0\n\0,读取readLine遇到\n就结束了,而且toUnicode也会变成乱码失败 //所以UNICODE_LE需要单独处理。注意UNICODE_BE没有这个问题,因为BE是\0\r\0\n,0在前面就没有这个问题 //20210901 发现使用readLine的方式来读取一行不可靠。因为有些文件中一行中间有个\r,这种情况没有识别为多行。readLine是根据\n来识别的。 //进而导致中间的\r没有识别为多行,但是在编辑器中却多一行,导致对比错误。还是要自己来识别行。不依赖于readLine //CODE_ID fileCode 事先预判定的编码 CODE_ID CmpareMode::readLineFromFile(uchar* m_fileFpr, const int fileLength, const CODE_ID fileCode, QList&lineInfoVec, QList&blankLineInfoVec, int mode, int &maxLineSize) { QCryptographicHash md4(QCryptographicHash::Md4); int lineNums = 0; CODE_ID code = fileCode; bool isExistGbk = false; bool isExistUnKownCode = false; bool isExistUtf8 = false; int lineStartPos = 0; //跳过前面的BOM头部。LE不在这里处理,在外面 if (fileCode == CODE_ID::UNICODE_BE || fileCode == CODE_ID::UNICODE_LE) { lineStartPos = 2; } else if (fileCode == CODE_ID::UTF8_BOM) { lineStartPos = 3; } //获取一行在文件中 auto getOneLineFromFile = [m_fileFpr](int& startPos, const int fileLength, const CODE_ID fileCode, QByteArray& ret)->bool { if (startPos < fileLength) { ret.clear(); int lineLens = 0; bool isFindLine = false; for (int i = startPos; i < fileLength; ++i, ++lineLens) { //遇到符号CR if (m_fileFpr[i] == 0x0D) { //后一个是LF,即以CRLF结尾 if ((i + 1 < fileLength) && (m_fileFpr[i+1] == 0x0A)) { //lineLens需要加2,因为当前这个没有加,而且后面还有一个\n ret.append((char*)(m_fileFpr + startPos), lineLens + 2); startPos += lineLens + 2; isFindLine = true; break; } else if ((fileCode == UNICODE_BE)&&((i>0) && m_fileFpr[i-1] == '\0')) { //事先发现就是BE格式,以\0\r\0\n为结尾的 if ((i + 2 < fileLength) && (m_fileFpr[i + 1] == 0x0) && (m_fileFpr[i + 2] == 0x0A)) { //lineLens需要加3,因为当前这个没有加,而且后面还有一个\0\n ret.append((char*)(m_fileFpr + startPos), lineLens + 3); startPos += lineLens + 3; isFindLine = true; break; } else { //虽然说是BE格式,但是后面没有以\0\n结尾,而是以\r结尾。这种多半就是错误。直接按\0\r结尾 //lineLens需要加1,因为当前这个没有加 ret.append((char*)(m_fileFpr + startPos), lineLens + 1); startPos += lineLens + 1; isFindLine = true; break; } } else { //直接以\r结尾了,后面没有\n或者\0\n。符合MAC格式,windows可能编码只有\r,没有\n的错误情况。 //lineLens需要加1,因为当前这个没有加 ret.append((char*)(m_fileFpr + startPos), lineLens + 1); startPos += lineLens + 1; isFindLine = true; break; } } else if(m_fileFpr[i] == 0x0A) { //没有先遇到\r,直接遇到\n.20210903发现忘记处理该情况le //lineLens需要加1,因为当前这个没有加 ret.append((char*)(m_fileFpr + startPos), lineLens + 1); startPos += lineLens + 1; isFindLine = true; break; } } //没有找到一行 if (!isFindLine) { //最后一行,可能没有带\r\0直接返回 ret.append((char*)(m_fileFpr + startPos), fileLength - startPos); startPos = fileLength; } return true; } return false; }; QByteArray line; auto work = [mode,&md4](LineFileInfo& lineInfo, const int n) { if (mode == 0) { md4.addData(lineInfo.unicodeStr.trimmed().toUtf8()); } else if (mode == 1) { md4.addData(lineInfo.unicodeStr.left(lineInfo.unicodeStr.length() - n).toUtf8()); } else if (mode == 2) { QString temp = lineInfo.unicodeStr; md4.addData(temp.replace(QRegExp("\\s"), QString("")).toUtf8()); } }; while (getOneLineFromFile(lineStartPos, fileLength, code, line)) { LineFileInfo lineInfo; lineInfo.lineNums = lineNums; /* 这种方式读取文件会包含后面的行尾 */ int length = line.length(); if (maxLineSize < length) { maxLineSize = length; } //外面必须把code先检测好了 //if (fileCode == CODE_ID::UNICODE_BE /*|| fileCode == CODE_ID::UNICODE_LE */ || fileCode == CODE_ID::UTF8_BOM) if(fileCode != CODE_ID::UNKOWN) { //如果是头部有标识的格式,则后续不用详细检查每行编码,直接按照头部标识走 Encode::tranStrToUNICODE(code, line.data(), line.count(), lineInfo.unicodeStr); lineInfo.code = fileCode; } else if(fileCode == CODE_ID::UNKOWN) { /*对于头部没有标识的行,需要每行进行详细检查,比较耗时 *对于第一行已经是GBK的编码,标识出所有的确是GBK的行号 *严格来说,如果以后要做国际版,不应该只考虑GBK,而是要考虑本地ASNI编码。 *对中国而言,本地ASNI编码是GBK,对其它国家,比如日本/韩国而言,这些ASNI是它们本国 *对应的本地编码。 */ recognizeTextCode(line, lineInfo, lineInfo.unicodeStr); if (CODE_ID::UTF8_NOBOM == lineInfo.code) { isExistUtf8 = true; } else if (CODE_ID::GBK == lineInfo.code) { //如果发现存在GBK,则要以GBK作为字符编码。这里识别gbk是因为显示的时候,需要转化gbk进行显示 isExistGbk = true; } else if (CODE_ID::UNKOWN == lineInfo.code) { isExistUnKownCode = true; } } if (lineInfo.unicodeStr.endsWith("\r\r\n")) { //这里是一种错误,但确实可能出现 if (length > 3) { work(lineInfo,3); } else { //空白行 lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE; } else if (lineInfo.unicodeStr.endsWith("\r\n")) { if (length > 2) { work(lineInfo, 2); } else { //空白行 lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE; } else if (lineInfo.unicodeStr.endsWith("\n")) { if (length > 1) { work(lineInfo, 1); } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::UNIX_LINE; } else if (lineInfo.unicodeStr.endsWith("\r")) { if (length > 1) { work(lineInfo, 1); } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::MAC_LINE; } else { if (length > 0) { work(lineInfo, 0); } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::UNKNOWN_LINE; } if (lineInfo.isEmptyLine) { blankLineInfoVec.append(lineInfo); } else { lineInfo.md4 = md4.result(); md4.reset(); lineInfoVec.append(lineInfo); } ++lineNums; } //如果外部指定了格式,则直接返回外部格式 if (fileCode != CODE_ID::UNKOWN) { return fileCode; } return judgeFinalTextCode(code, isExistUnKownCode, isExistGbk, isExistUtf8); } CODE_ID CmpareMode::judgeFinalTextCode(CODE_ID code, bool isExistUnKownCode, bool isExistGbk, bool isExistUtf8) { //如果是三种有明确标识的字符编码,则严格按照标识的逻辑去读取。哪怕里面存在错误编码,也只能按照头部标识为准 if (CODE_ID::UNICODE_LE == code || CODE_ID::UNICODE_BE == code || CODE_ID::UTF8_BOM == code || code == CODE_ID::GBK) { return code; } //剩下的是在文件头没有严格标识编码的文件 //存在不能识别的编码,则应该是ASNI,需要用户指定编码 if (isExistUnKownCode) { return CODE_ID::UNKOWN; } if (isExistGbk) { //如果没有错误码,而且发现gbk,则是gbk编码 return CODE_ID::GBK; } //如果不存在错误和gbk,就是纯粹的ut8_nobom if (isExistUtf8) { return CODE_ID::UTF8_NOBOM; } return code; } //读取用于纯输出,不做比较。bool &isMaybeHexFile 是否是hex文件,不一定准确,做一个推测 // int& charsNums 输出字符个数 CODE_ID CmpareMode::readLineFromFile(uchar* m_fileFpr, const int fileLength, const CODE_ID fileCode, QList&lineInfoVec, int& maxLineSize, int& charsNums, bool &isMaybeHexFile) { int lineNums = 0; CODE_ID code = fileCode; bool isExistGbk = false; bool isExistUnKownCode = false; bool isExistUtf8 = false; int lineStartPos = 0; int errorCodeLines = 0; charsNums = 0; if (fileCode == CODE_ID::UNICODE_BE || fileCode == CODE_ID::UNICODE_LE) { lineStartPos = 2; } else if (fileCode == CODE_ID::UTF8_BOM) { lineStartPos = 3; } //获取一行在文件中 auto getOneLineFromFile = [m_fileFpr](int& startPos, const int fileLength, const CODE_ID fileCode, QByteArray& ret)->bool { if (startPos < fileLength) { ret.clear(); int lineLens = 0; bool isFindLine = false; for (int i = startPos; i < fileLength; ++i, ++lineLens) { //遇到符号CR if (m_fileFpr[i] == 0x0D) { //后一个是LF,即以CRLF结尾 if ((i + 1 < fileLength) && (m_fileFpr[i + 1] == 0x0A)) { //lineLens需要加2,因为当前这个没有加,而且后面还有一个\n ret.append((char*)(m_fileFpr + startPos), lineLens + 2); startPos += lineLens + 2; isFindLine = true; break; } else if ((fileCode == UNICODE_BE) && ((i > 0) && m_fileFpr[i - 1] == '\0')) { //事先发现就是BE格式,以\0\r\0\n为结尾的 if ((i + 2 < fileLength) && (m_fileFpr[i + 1] == 0x0) && (m_fileFpr[i + 2] == 0x0A)) { //lineLens需要加3,因为当前这个没有加,而且后面还有一个\0\n ret.append((char*)(m_fileFpr + startPos), lineLens + 3); startPos += lineLens + 3; isFindLine = true; break; } else { //虽然说是BE格式,但是后面没有以\0\n结尾,而是以\r结尾。这种多半就是错误。直接按\0\r结尾 //lineLens需要加1,因为当前这个没有加 ret.append((char*)(m_fileFpr + startPos), lineLens + 1); startPos += lineLens + 1; isFindLine = true; break; } } else { //直接以\r结尾了,后面没有\n或者\0\n。符合MAC格式,windows可能编码只有\r,没有\n的错误情况。 //lineLens需要加1,因为当前这个没有加 ret.append((char*)(m_fileFpr + startPos), lineLens + 1); startPos += lineLens + 1; isFindLine = true; break; } } else if (m_fileFpr[i] == 0x0A) { //没有先遇到\r,直接遇到\n.20210903发现忘记处理该情况le //lineLens需要加1,因为当前这个没有加 ret.append((char*)(m_fileFpr + startPos), lineLens + 1); startPos += lineLens + 1; isFindLine = true; break; } } //没有找到一行 if (!isFindLine) { //最后一行,可能没有带\r\0直接返回 ret.append((char*)(m_fileFpr + startPos), fileLength - startPos); startPos = fileLength; } return true; } return false; }; QByteArray line; while (getOneLineFromFile(lineStartPos, fileLength, code, line)) { LineFileInfo lineInfo; lineInfo.lineNums = lineNums; /* 这种方式读取文件会包含后面的行尾 */ int length = line.length(); if (maxLineSize < length) { maxLineSize = length; } //外面必须把code先检测好了 //if (fileCode == CODE_ID::UNICODE_BE /*|| fileCode == CODE_ID::UNICODE_LE */ || fileCode == CODE_ID::UTF8_BOM) if(fileCode != CODE_ID::UNKOWN) { //如果是头部有标识的格式,则后续不用详细检查每行编码,直接按照头部标识走 Encode::tranStrToUNICODE(code, line.data(), line.count(), lineInfo.unicodeStr); lineInfo.code = fileCode; } else if (fileCode == CODE_ID::UNKOWN) { /*对于头部没有标识的行,需要每行进行详细检查,比较耗时 *对于第一行已经是GBK的编码,标识出所有的确是GBK的行号 *严格来说,如果以后要做国际版,不应该只考虑GBK,而是要考虑本地ASNI编码。 *对中国而言,本地ASNI编码是GBK,对其它国家,比如日本/韩国而言,这些ASNI是它们本国 *对应的本地编码。 */ recognizeTextCode(line, lineInfo, lineInfo.unicodeStr); if (CODE_ID::UTF8_NOBOM == lineInfo.code) { isExistUtf8 = true; } else if (CODE_ID::GBK == lineInfo.code) { //如果发现存在GBK,则要以GBK作为字符编码。这里识别gbk是因为显示的时候,需要转化gbk进行显示 isExistGbk = true; } else if (CODE_ID::UNKOWN == lineInfo.code) { isExistUnKownCode = true; //增加错误行的计数 errorCodeLines++; } } if (lineInfo.unicodeStr.endsWith("\r\r\n")) { //这里是一种错误,但确实可能出现 if (length > 3) { } else { //空白行 lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE; } else if (lineInfo.unicodeStr.endsWith("\r\n")) { if (length > 2) { } else { //空白行 lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::DOS_LINE; } else if (lineInfo.unicodeStr.endsWith("\n")) { if (length > 1) { } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::UNIX_LINE; } else if (lineInfo.unicodeStr.endsWith("\r")) { if (length > 1) { } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::MAC_LINE; } else { if (length > 0) { } else { lineInfo.isLcsExist = false; lineInfo.isEmptyLine = true; } lineInfo.lineEndFormat = RC_LINE_FORM::UNKNOWN_LINE; } lineInfoVec.append(lineInfo); charsNums += lineInfo.unicodeStr.size(); ++lineNums; } //如果超过一半的行都是错误的,则考虑为hex文件。 if (lineNums >= 10 && (errorCodeLines * 100 / lineNums > 50)) { isMaybeHexFile = true; } else { isMaybeHexFile = false; //如果前面三行中含有\0字符,也可能是二进制文件 if (lineNums > 3) { for (int i = 0; i < 3; ++i) { if (lineInfoVec.at(i).unicodeStr.contains(QChar('\0'))) { isMaybeHexFile = true; break; } } } } //如果用户外部强制编码,则直接按改编码返回 if (fileCode != CODE_ID::UNKOWN) { return fileCode; } return judgeFinalTextCode(code, isExistUnKownCode, isExistGbk, isExistUtf8); } //扫描文件的字符编码,不输出文件 //扫描多少行scanLineNum 默认100 //如果是-1 之前全部扫描 CODE_ID CmpareMode::scanFileRealCode(QString filePath, int scanLineNum) { QFile file(filePath); file.open(QIODevice::ReadOnly); CODE_ID code = CODE_ID::UNKOWN; int lineNums = 0; bool isExistGbk = false; bool isExistUnKownCode = false; bool isExistUtf8 = false; while (!file.atEnd()) { LineFileInfo lineInfo; QByteArray line = file.readLine(); lineInfo.lineNums = lineNums; /* 这种方式读取文件会包含后面的行尾 */ //int length = line.length(); //第一行时,检测一下文件编码,返回值也是文件的编码 if (0 == lineNums) { recognizeTextCode(line, lineInfo, lineInfo.unicodeStr); code = (CODE_ID)lineInfo.code; //已经找到文本的标签,相信标签,之前返回 if (code == CODE_ID::UNICODE_BE || code == CODE_ID::UNICODE_LE || code == CODE_ID::UTF8_BOM || code == CODE_ID::GBK) { break; } } else { /*对于头部没有标识的行,需要每行进行详细检查,比较耗时 *对于第一行已经是GBK的编码,标识出所有的确是GBK的行号 *严格来说,如果以后要做国际版,不应该只考虑GBK,而是要考虑本地ASNI编码。 *对中国而言,本地ASNI编码是GBK,对其它国家,比如日本/韩国而言,这些ASNI是它们本国 *对应的本地编码。 */ recognizeTextCode(line, lineInfo, lineInfo.unicodeStr); if (CODE_ID::UTF8_NOBOM == lineInfo.code) { isExistUtf8 = true; } else if (CODE_ID::GBK == lineInfo.code) { //如果发现存在GBK,则要以GBK作为字符编码。这里识别gbk是因为显示的时候,需要转化gbk进行显示 isExistGbk = true; } else if (CODE_ID::UNKOWN == lineInfo.code) { isExistUnKownCode = true; //20220127一旦发现错误编码,或者说不能识别的编码,则直接跳出。 //因为肯定是不能识别的编码ASNI break; } } ++lineNums; //默认最多扫描200行,加块速度。速度与精确性的权衡 //对于打开文件,默认扫描前面的200行,加快速度。 //对于编码转换,为了精确,默认全部都要处理 if ((scanLineNum != -1) && (lineNums >= scanLineNum)) { break; } } file.close(); return judgeFinalTextCode(code, isExistUnKownCode, isExistGbk, isExistUtf8); } //读取文件,并输出 //bytescharsNums:文件字符个数,不是文件大小 //20220908 自动判断是否是二进制文件。isHexFile 是输出 CODE_ID CmpareMode::scanFileOutPut(CODE_ID code, QString filePath, QList& outputLineInfoVec, int &maxLineSize, int& charsNums, bool &isHexFile) { QFile* file = new QFile(filePath); file->open(QIODevice::ReadOnly); uchar* m_fileFpr = file->map(0, file->size()); if (code == UNKOWN) { code = getTextFileEncodeType(m_fileFpr, file->size(), filePath); } //UNICODE_LE格式需要单独处理 if (code == UNICODE_LE) { charsNums = readLineFromFileWithUnicodeLe(m_fileFpr, file->size(), outputLineInfoVec, outputLineInfoVec, 0, maxLineSize); } else { code = readLineFromFile(m_fileFpr, file->size(), code, outputLineInfoVec, maxLineSize, charsNums, isHexFile); } file->unmap(m_fileFpr); file->close(); delete file; return code; } //读取文件,并输出 //bytes charsNums:文件字符个数,不是文件大小 //20220908 自动判断是否是二进制文件。isHexFile 是输出 //20230304 新增,一次性读取文件,不检测每行文本,加快速度。existGrbledCode 是否存在乱码 CODE_ID CmpareMode::scanFileOutPut(QFile& pFile, CODE_ID code, QString filePath, QString& outText, bool & existGrbledCode) { QByteArray outTextBytes = pFile.readAll(); if (outTextBytes.size() == 0) { outText = ""; existGrbledCode = false; return CODE_ID::UTF8_NOBOM; } if (code == UNKOWN) { code = getTextFileEncodeType((uchar * )outTextBytes.data(), pFile.size(), filePath); //编码还是检测失败,这里概率是比较小的。 if (code == CODE_ID::UNKOWN) { //无条件按照ANSI/GBK编码打开 code = CODE_ID::GBK; } } int lineStartPos = 0; //uicode_le前面有2个特殊标识,故跳过2 if (code == CODE_ID::UNICODE_BE || code == CODE_ID::UNICODE_LE) { lineStartPos = 2; } else if (code == CODE_ID::UTF8_BOM) { lineStartPos = 3; } bool codeSucess = Encode::tranStrToUNICODE(code, outTextBytes.data()+ lineStartPos, outTextBytes.size()- lineStartPos, outText); //如果存在乱码,而且不是以gbk编码打开,再无条件尝试ASNI/GBK编码打开。如果是国际版,后续还得完善策略,得无条件以ASNI本地编码打开。 if (!codeSucess && (code != CODE_ID::GBK)) { code = CODE_ID::GBK; outText.clear(); codeSucess = Encode::tranStrToUNICODE(code, outTextBytes.data() + lineStartPos, outTextBytes.size() - lineStartPos, outText); } existGrbledCode = !codeSucess; return code; } ================================================ FILE: src/CmpareMode.h ================================================ #pragma once #include #include #include #include #include #include "rcglobal.h" #include "Encode.h" class BlockUserData; class QFile; const int LEFT = 0; const int RIGHT = 1; //对比bin二进制文件。 const int MAX_BIN_SIZE = 1024 * 1024 * 10; //最大10M typedef void(* CALL_FUNC)(void *, uchar *, int); typedef struct lineFileInfo_ { qint32 lineNums; //行号码 bool isLcsExist;//是否属于lcsline的一部分 bool isEmptyLine; //是否是空白行,只包含换行符的行 int code; //该行的字符编码 int lineEndFormat; //行尾:见RC_LINE_FORM QByteArray md4; QString unicodeStr; //这个是包含行尾的换行符的 lineFileInfo_() { isLcsExist = false; isEmptyLine = false; code = UNKOWN; lineEndFormat = UNKNOWN_LINE; } }LineFileInfo; const int EMPTY_FILE = 0; const int SCAN_SUCCESS = 1; class CmpareMode; typedef struct ThreadFileCmpParameter_ { QString leftPath; QString rightPath; CmpareMode *resultCmpObj; ThreadFileCmpParameter_(QString leftPath_, QString rightPath_) { leftPath = leftPath_; rightPath = rightPath_; resultCmpObj = nullptr; } }ThreadFileCmpParameter; class CmpareMode :public QObject { Q_OBJECT public: CmpareMode(); virtual ~CmpareMode(); static CODE_ID readLineFromFile(uchar * m_fileFpr, const int fileLength, const CODE_ID fileCode, QList& lineInfoVec, QList& blankLineInfoVec, int mode, int& maxLineSize); static CODE_ID judgeFinalTextCode(CODE_ID code, bool isExistUnKownCode, bool isExistGbk, bool isExistUtf8); static CODE_ID readLineFromFile(uchar * m_fileFpr, const int fileLength, const CODE_ID fileCode, QList& lineInfoVec,int& maxLineSize, int& charsNums, bool &isMaybeHexFile); static CODE_ID scanFileRealCode(QString filePath,int scanLineNum=200); static CODE_ID scanFileOutPut(CODE_ID code, QString filePath, QList& outputLineInfoVec, int & maxLineSize, int & charsNums, bool &isHexFile); static CODE_ID scanFileOutPut(QFile& pFile, CODE_ID code, QString filePath, QString& outText, bool& existGrbledCode); static CODE_ID getTextFileEncodeType(uchar* fileFpr, int fileLength, QString filePath="", bool isCheckHead = true); static bool tranUnicodeLeToUtf8Bytes(uchar* fileFpr, const int fileLength, QString& outUtf8Bytes, bool isSkipHead=false); static bool isUnicodeLeBomFile(uchar* fileFpr, int fileLength); private: static bool recognizeTextCode(QByteArray & text, LineFileInfo & lineInfo, QString & outUnicodeText); quint32 static readLineFromFileWithUnicodeLe(uchar* m_fileFpr, const int fileLength, QList& lineInfoVec, QList& blankLineInfoVec,int mode, int &maxLineSize); }; ================================================ FILE: src/Encode.cpp ================================================ #include "Encode.h" #include #include /* 检查字符串编码的类。看了大量文献,结论如下: *如果是UTF BOM格式,或者UNICODE格式,其文件头部前几个字节(2-3)有一定的标识。由此标识直接按对应编码处理。 *如果没有标识,默认就是UTF8(NO BOM) 与 ANSI(现在只考虑GBK)进行对比。 *此时需要做统计分析。对所有行进行UTF8解析,如果按照UTF8解析错位再按照GBK解析。如果解析出GBK那么大概率认为文件是GBK编码的。 */ Encode::Encode() { } Encode::~Encode() { } CODE_ID Encode::getCodeByName(QString name) { CODE_ID id; if (name == "unknown") { id = CODE_ID::UNKOWN; } else if (name == "UTF16-LE") { id = CODE_ID::UNICODE_LE; } else if (name == "UTF16-BE") { id = CODE_ID::UNICODE_BE; } else if (name == "UTF8") { id = CODE_ID::UTF8_NOBOM; } else if (name == "UTF8-BOM") { id = CODE_ID::UTF8_BOM; } else if (name == "GBK") { id = CODE_ID::GBK; } else if (name == "EUC-JP") { id = CODE_ID::EUC_JP; } else if (name == "Shift-JIS") { id = CODE_ID::Shift_JIS; } else if (name == "EUC-KR") { id = CODE_ID::EUC_KR; } else if (name == "KOI8-R") { id = CODE_ID::KOI8_R; } else if (name == "TSCII") { id = CODE_ID::TSCII; } else if (name == "TIS-620") { id = CODE_ID::TIS_620; } else { id = CODE_ID::UNKOWN; } return id; } QString Encode::getLineEndById(RC_LINE_FORM id) { QString ret; switch (id) { case PAD_LINE: case UNKNOWN_LINE: #ifdef WIN32 ret = "Windows(CR LF)"; #else ret = "Unix(LF)"; #endif ret = "NULL"; break; case UNIX_LINE: ret = "Unix(LF)"; break; case DOS_LINE: ret = "Windows(CR LF)"; break; case MAC_LINE: ret = "Mac(CR)"; break; default: break; } return ret; } QString Encode::getCodeNameById(CODE_ID id) { QString ret; switch (id) { case UNKOWN: ret = "unknown"; break; case ANSI: ret = "unknown"; break; case UNICODE_LE: ret = "UTF16-LE"; break; case UNICODE_BE: ret = "UTF16-BE"; break; case UTF8_NOBOM: ret = "UTF8"; break; case UTF8_BOM: ret = "UTF8-BOM"; break; case GBK: ret = "GBK"; break; case EUC_JP: ret = "EUC-JP"; break; case Shift_JIS: ret = "Shift-JIS"; break; case EUC_KR: ret = "EUC-KR"; break; case KOI8_R: ret = "KOI8-R"; break; case TSCII: ret = "TSCII"; break; case TIS_620: ret = "TIS-620"; break; case BIG5: ret = "BIG5-HKSCS"; break; default: ret = "unknown"; break; } return ret; } QByteArray Encode::getEncodeStartFlagByte(CODE_ID code) { QByteArray ret; switch (code) { case UNICODE_LE: { ret.append((char)0xFF); ret.append((char)0xFE); } break; case UNICODE_BE: { ret.append((char)0xFE); ret.append((char)0xFF); } break; case UTF8_BOM: { ret.append((char)0xEF); ret.append((char)0xBB); ret.append((char)0xBF); } break; default: break; } return ret; } CODE_ID Encode::DetectEncode(const uchar* pBuffer, int length, int &skip) { if (pBuffer[0] == 0xFF && pBuffer[1] == 0xFE) { skip = 2; return CODE_ID::UNICODE_LE; //skip 2 } if (pBuffer[0] == 0xFE && pBuffer[1] == 0xFF) { skip = 2; return CODE_ID::UNICODE_BE; //skip 2 } if (pBuffer[0] == 0xEF && pBuffer[1] == 0xBB && pBuffer[2] == 0xBF) { skip = 3; return CODE_ID::UTF8_BOM; //skip 3 with BOM } // 不能知道是不是UTF8 CODE_ID code = CheckUnicodeWithoutBOM(pBuffer, length); skip = 0; return code; //skip 0 } bool Encode::tranGbkToUNICODE(const char* pText, int length, QString &out) { QTextCodec::ConverterState state; QTextCodec *codec = QTextCodec::codecForName("GBK"); out = codec->toUnicode((const char *)pText, length, &state); if (state.invalidChars > 0) { return false; } return true; } bool Encode::tranUtf8ToUNICODE(const char* pText, int length, QString &out) { QTextCodec::ConverterState state; QTextCodec *codec = QTextCodec::codecForName("UTF-8"); out = codec->toUnicode((const char *)pText, length, &state); if (state.invalidChars > 0) { return false; } return true; } //与getCodeNameById类似,但是返回的是QT系统支持的编码的字符串名称 QString Encode::getQtCodecNameById(CODE_ID id) { QString ret; switch (id) { case UNKOWN: case ANSI: ret = "unknown"; break; case UNICODE_LE: ret = "UTF16-LE"; break; case UNICODE_BE: ret = "UTF16-BE"; break; case UTF8_NOBOM://qt没有这种 case UTF8_BOM: ret = "UTF8"; break; case GBK: ret = "GBK"; break; case EUC_JP: ret = "EUC-JP"; break; case Shift_JIS: ret = "Shift-JIS"; break; case EUC_KR: ret = "EUC-KR"; break; case KOI8_R: ret = "KOI8-R"; break; case TSCII: ret = "TSCII"; break; case TIS_620: ret = "TIS-620"; break; case BIG5: ret = "Big5-HKSCS"; break; default: ret = "unknown"; break; } return ret; } //将指定编码的字符串转换到unicode bool Encode::tranStrToUNICODE(CODE_ID code, const char* pText, int length, QString &out) { if (length < 0) { return false; } QTextCodec::ConverterState state; QTextCodec *codec = nullptr; QString textCodeName = getQtCodecNameById(code); if (textCodeName.isEmpty() || textCodeName == "unknown") { //对于其它非识别编码,统一转换为utf8。减去让用户选择的麻烦 //这里其实是有问题的。先这样简单处理 codec = QTextCodec::codecForName("UTF-8"); } else { codec = QTextCodec::codecForName(textCodeName.toStdString().c_str()); } if (codec == nullptr) { return false; } out = codec->toUnicode((const char *)pText, length, &state); if (state.invalidChars > 0) { return false; } return true; } /* 这里其实是穷举字符串的字符编码;ASNI utf8。目前只检测GBK和utf8;其它语种没有穷举 *GB2312 GBK GB18030 三种差别见https://cloud.tencent.com/developer/article/1343240 *关于编码的详细说明,见https://blog.csdn.net/libaineu2004/article/details/19245205 */ //这里是有限检查utf8的,如果出现gbk,说明一定不是utf8,因为utf8检查到错误码。 CODE_ID Encode::CheckUnicodeWithoutBOM(const uchar* pText, int length) { QTextCodec::ConverterState state; QTextCodec *codec = QTextCodec::codecForName("UTF-8"); const QString text = codec->toUnicode((const char *)pText, length, &state); if (state.invalidChars > 0) { /*不是UTF-8格式的文件,这里优先判断是不是UTF8,再判断是不是GBK;我们先做中文版;如果后续要做 *国际版,其实不应该只检查GBK,而是应该检查本地ASCI码,包括ascii码*/ QTextCodec::ConverterState state1; QTextCodec *codec1 = QTextCodec::codecForName("GBK"); codec1->toUnicode((const char *)pText, length, &state1); if (state1.invalidChars > 0) { return CODE_ID::ANSI; } else { return CODE_ID::GBK; } } return CODE_ID::UTF8_NOBOM; } CODE_ID Encode::CheckUnicodeWithoutBOM(const uchar* pText, int length, QString &outUnicodeText) { QTextCodec::ConverterState state; QTextCodec *codec = QTextCodec::codecForName("UTF-8"); outUnicodeText = codec->toUnicode((const char *)pText, length, &state); if (state.invalidChars > 0) { /*不是UTF-8格式的文件,这里优先判断是不是UTF8,再判断是不是GBK;我们先做中文版;如果后续要做 *国际版,其实不应该只检查GBK,而是因为检查本地ASCI码,包括ascii码*/ QTextCodec::ConverterState state1; QTextCodec *codec1 = QTextCodec::codecForName("GBK"); QString gbkStr = codec1->toUnicode((const char *)pText, length, &state1); if (state1.invalidChars > 0) { //如果也不是gbk,姑且按照utf8直接返回 return CODE_ID::ANSI; } else { outUnicodeText = gbkStr; return CODE_ID::GBK; } } return CODE_ID::UTF8_NOBOM; } //检查是否全是ascii字符码 bool Encode::CheckTextIsAllAscii(const uchar* pText, int length) { for (int i = 0; i < length; ++i) { if (*(pText + i) < 0 || *(pText + i) > 0x7F) { return false; } } return true; } ================================================ FILE: src/Encode.h ================================================ #pragma once #include //#define GBK_ #include "rcglobal.h" class Encode { public: Encode(); ~Encode(); static CODE_ID getCodeByName(QString name); static QString getLineEndById(RC_LINE_FORM id); static QString getCodeNameById(CODE_ID id); static QByteArray getEncodeStartFlagByte(CODE_ID code); static CODE_ID DetectEncode(const uchar* pBuffer, int length,int &skip); static bool tranGbkToUNICODE(const char* pText, int length, QString &out); static bool tranUtf8ToUNICODE(const char * pText, int length, QString & out); static QString getQtCodecNameById(CODE_ID id); static bool tranStrToUNICODE(CODE_ID code, const char * pText, int length, QString & out); static CODE_ID CheckUnicodeWithoutBOM(const uchar * pText, int length); static CODE_ID CheckUnicodeWithoutBOM(const uchar * pText, int length, QString & outUnicodeText); static bool CheckTextIsAllAscii(const uchar * pText, int length); }; ================================================ FILE: src/LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ================================================ FILE: src/MediatorDisplay.cpp ================================================ #include "MediatorDisplay.h" //这里如果直接让左右互相同步,互相影响,可能导致混乱。需要一个中间调停者模式,作为中间人去控制同步消息 //中介者模式意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 //主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理。 //之前不使用该模式时,左右显示同步互相交互,时而发生消息混乱 MediatorDisplay::MediatorDisplay():QObject(nullptr) { m_leftLineNum = 0; m_rightLineNum = 0; m_leftScrollValue = 0; m_rightScrollValue = 0; } MediatorDisplay::~MediatorDisplay() { } void MediatorDisplay::setLeftNum(int value) { m_leftLineNum = value; if (m_leftLineNum != m_rightLineNum) { emit syncCurLineNum(0); } } void MediatorDisplay::setRightNum(int value) { m_rightLineNum = value; if (m_leftLineNum != m_rightLineNum) { emit syncCurLineNum(1); } } int MediatorDisplay::getLeftNum() { return m_leftLineNum; } int MediatorDisplay::getRightNum() { return m_rightLineNum; } void MediatorDisplay::setLeftScrollValue(int value) { if (m_leftScrollValue != value) { m_leftScrollValue = value; } //如果左右不相等,则推动对方去同步 if (m_leftScrollValue != m_rightScrollValue) { emit syncCurScrollValue(0); } } void MediatorDisplay::setRightScrollValue(int value) { if (m_rightScrollValue != value) { m_rightScrollValue = value; } if (m_leftScrollValue != m_rightScrollValue) { emit syncCurScrollValue(1); } } int MediatorDisplay::getLeftScrollValue() { return m_leftScrollValue; } int MediatorDisplay::getRightScrollValue() { return m_rightScrollValue; } void MediatorDisplay::setLeftScrollXValue(int value) { if (m_leftScrollXValue != value) { m_leftScrollXValue = value; } //如果左右不相等,则推动对方去同步 if (m_leftScrollXValue != m_rightScrollXValue) { emit syncCurScrollXValue(0); } } void MediatorDisplay::setRightScrollXValue(int value) { if (m_rightScrollXValue != value) { m_rightScrollXValue = value; } if (m_leftScrollXValue != m_rightScrollXValue) { emit syncCurScrollXValue(1); } } int MediatorDisplay::getLeftScrollXValue() { return m_leftScrollXValue; } int MediatorDisplay::getRightScrollXValue() { return m_rightScrollXValue; } ================================================ FILE: src/MediatorDisplay.h ================================================ #pragma once #include class MediatorDisplay:public QObject { Q_OBJECT public: MediatorDisplay(); virtual ~MediatorDisplay(); void setLeftNum(int value); void setRightNum(int value); int getLeftNum(); int getRightNum(); void setLeftScrollValue(int value); void setRightScrollValue(int value); int getLeftScrollValue(); int getRightScrollValue(); void setLeftScrollXValue(int value); void setRightScrollXValue(int value); int getLeftScrollXValue(); int getRightScrollXValue(); signals: //当前行同步 void syncCurLineNum(int direction); //滚动条同步 void syncCurScrollValue(int direction); void syncCurScrollXValue(int direction); private: //左右当前行的值 int m_leftLineNum; int m_rightLineNum; //左右滚动条的值 int m_leftScrollValue; int m_rightScrollValue; //左右滚动条的值x int m_leftScrollXValue; int m_rightScrollXValue; }; ================================================ FILE: src/MediatorFileTree.cpp ================================================ #include "MediatorFileTree.h" /* 文件夹对比界面的中介者,使用中介者是为了让消息经过中介对象统一调度,避免左右互相依赖导致交互混乱 */ MediatorFileTree::MediatorFileTree() :QObject(nullptr) { } MediatorFileTree::~MediatorFileTree() { } void MediatorFileTree::setLeftScrollValue(int value) { m_leftScrollValue = value; //如果左右不相等,则推动对方去同步 if (m_leftScrollValue != m_rightScrollValue) { emit syncCurScrollValue(0); } } void MediatorFileTree::setRightScrollValue(int value) { m_rightScrollValue = value; if (m_leftScrollValue != m_rightScrollValue) { emit syncCurScrollValue(1); } } int MediatorFileTree::getLeftScrollValue() { return m_leftScrollValue; } int MediatorFileTree::getRightScrollValue() { return m_rightScrollValue; } //设置item。中介本身不保存ITEM,因为太多,发送消息给外面空间 void MediatorFileTree::setLeftItemStatus(QString name, int status) { emit syncExpandStatus(name, RC_LEFT, status); } void MediatorFileTree::setRightItemStatus(QString name, int status) { emit syncExpandStatus(name, RC_RIGHT, status); } ================================================ FILE: src/MediatorFileTree.h ================================================ #pragma once #include #include "rcglobal.h" class MediatorFileTree :public QObject { Q_OBJECT public: MediatorFileTree(); virtual ~MediatorFileTree(); void setLeftScrollValue(int value); void setRightScrollValue(int value); int getLeftScrollValue(); int getRightScrollValue(); void setLeftItemStatus(QString name, int status); void setRightItemStatus(QString name, int status); signals: //滚动条同步 void syncCurScrollValue(int direction); //同步展开和收起状态 void syncExpandStatus(QString name, int direction, int status); private: int m_leftScrollValue; int m_rightScrollValue; }; ================================================ FILE: src/QTreeWidgetSortItem.cpp ================================================ #include "QTreeWidgetSortItem.h" #include "rcglobal.h" /* 自己重新实现一个QTreeWidgetSortItem,主要是为了重载函数的排序功能,不适应默认的名字排序,而是使用 * 每个项自带的tip字符串排序。这样做是因为对齐的时候,有些空白对齐项目,并没有名称,就会导致无法排序 */ int QTreeWidgetSortItem::s_sortType = 0; bool QTreeWidgetSortItem::s_syncOrder = false; QTreeWidgetSortItem::QTreeWidgetSortItem(int type):QTreeWidgetItem(type) { } QTreeWidgetSortItem::QTreeWidgetSortItem(const QStringList &strings, int type):QTreeWidgetItem(strings, type) { } QTreeWidgetSortItem::~QTreeWidgetSortItem() { } bool QTreeWidgetSortItem::operator<(const QTreeWidgetItem & other) const { if (s_sortType == 0) { if (!s_syncOrder) //按名称排序 { //目录最大,放在文件前面。都是目录则按照名称排序 if ((type() == RC_DIR) && (other.type() == RC_DIR)) { goto cmp_name; } else if ((type() == RC_DIR) && (other.type() != RC_DIR)) { return false; } else if ((type() != RC_DIR) && (other.type() == RC_DIR)) { return true; } cmp_name: QString a = this->data(0, Item_RelativePath).toString(); QString b = other.data(0, Item_RelativePath).toString(); return (a.compare(b, Qt::CaseInsensitive) > 0); } else { //同步序号,按序号进行排序 #if 0 if ((type() == RC_DIR) && (other.type() == RC_DIR)) { QString a = this->data(0, Item_RelativePath).toString(); QString b = other.data(0, Item_RelativePath).toString(); return !(a.compare(b, Qt::CaseInsensitive) > 0); } else if ((type() == RC_DIR) && (other.type() != RC_DIR)) { return true; } else if ((type() != RC_DIR) && (other.type() == RC_DIR)) { return false; } cmp_index: #endif //同步对方的操作。 int a = this->data(0, Item_Index).toInt(); int b = other.data(0, Item_Index).toInt(); return(a > b); } } else if (s_sortType == 1) //按大小排序 { //目录最大,放在文件前面。都是目录则按照名称排序 if ((type() == RC_DIR) && (other.type() == RC_DIR)) { qint64 a = this->data(0, DIR_ITEM_MAXSIZE_FILE).toULongLong(); qint64 b = other.data(0, DIR_ITEM_MAXSIZE_FILE).toULongLong(); return(a > b); #if 0 QString a = this->data(0, Item_RelativePath).toString(); QString b = other.data(0, Item_RelativePath).toString(); return (a.compare(b, Qt::CaseInsensitive) > 0); #endif } else if ((type() == RC_DIR) && (other.type() != RC_DIR)) { return false; } else if ((type() != RC_DIR) && (other.type() == RC_DIR)) { return true; } int leftSize = this->text(1).toInt(); int rightSize = other.text(1).toInt(); return(leftSize > rightSize); } else if (s_sortType == 2) //by 修改日期 { //目录最大,放在文件前面。都是目录则按照名称排序 if ((type() == RC_DIR) && (other.type() == RC_DIR)) { QString a = this->data(0, Item_RelativePath).toString(); QString b = other.data(0, Item_RelativePath).toString(); return (a.compare(b, Qt::CaseInsensitive) > 0); } else if ((type() == RC_DIR) && (other.type() != RC_DIR)) { return false; } else if ((type() != RC_DIR) && (other.type() == RC_DIR)) { return true; } QString a = this->text(2); QString b = other.text(2); return(a.compare(b, Qt::CaseInsensitive) > 0); } return false; } ================================================ FILE: src/QTreeWidgetSortItem.h ================================================ #pragma once #include class QTreeWidgetSortItem : public QTreeWidgetItem { public: QTreeWidgetSortItem(int type); QTreeWidgetSortItem(const QStringList &strings, int type); virtual ~QTreeWidgetSortItem(); virtual bool operator<(const QTreeWidgetItem &other) const override; static void setSortColumn(int index) { s_sortType = index; } static void setSyncOrder(bool v) { s_syncOrder = v; } private : static int s_sortType; static bool s_syncOrder; }; ================================================ FILE: src/RcTreeWidget.cpp ================================================ #include "RcTreeWidget.h" #include "MediatorFileTree.h" #include #include #include RcTreeWidget::RcTreeWidget(QWidget *parent):QTreeWidget(parent), m_userAddMenu(nullptr) { connect(this->verticalScrollBar(), &QScrollBar::valueChanged, this, &RcTreeWidget::slot_scrollValueChange); //收起和伸开子项 connect(this, &QTreeWidget::itemCollapsed, this, &RcTreeWidget::slot_itemCollapsed); connect(this, &QTreeWidget::itemExpanded, this, &RcTreeWidget::slot_itemExpanded); setContextMenuPolicy(Qt::CustomContextMenu); //设置枚举值 connect(this, &QTreeWidget::customContextMenuRequested, this, &RcTreeWidget::slot_ShowPopMenu); } RcTreeWidget::~RcTreeWidget() { } //给用户进行菜单增加的回调函数 void RcTreeWidget::setContextUserDefineItemMenuCallBack(std::function* userAddMenu) { m_userAddMenu = userAddMenu; } //右键菜单 void RcTreeWidget::slot_ShowPopMenu(const QPoint& pos) { QTreeWidgetItem* curItem = this->itemAt(pos); if (curItem != nullptr) { QMenu* menu = new QMenu(this); if (m_userAddMenu != nullptr) { (*m_userAddMenu)(m_direction, menu, curItem); } QAction* action = menu->addAction(tr("Show File in Explorer"), this, [&]() { QString path = QString("%1/%2").arg(m_rootDir).arg(curItem->data(0, Qt::ToolTipRole).toString()); showFileInExplorer(path); }); //没有名称表示是对齐的item,不存在对应的文件,只是占位 if (curItem->text(0).isEmpty()) { action->setEnabled(false); } if (menu) { menu->setAttribute(Qt::WA_DeleteOnClose); menu->exec(QCursor::pos()); } } } //点击收起的槽函数 void RcTreeWidget::slot_itemCollapsed(QTreeWidgetItem *item) { QString name = item->data(0, Qt::ToolTipRole).toString(); //左边变化,通知右边去改变 if (m_direction == RC_LEFT) { //通知右边去收起 m_mediator->setRightItemStatus(name,RC_COLLAPSED); } else { //通知左边去收起 m_mediator->setLeftItemStatus(name, RC_COLLAPSED); } } //点击展开的槽函数 void RcTreeWidget::slot_itemExpanded(QTreeWidgetItem *item) { QString name = item->data(0, Qt::ToolTipRole).toString(); //左边变化,通知右边去改变 if (m_direction == RC_LEFT) { //右边展开 m_mediator->setRightItemStatus(name, RC_EXPANDED); } else { //左边收起 m_mediator->setLeftItemStatus(name, RC_EXPANDED); } } void RcTreeWidget::setDirection(RC_DIRECTION direction) { m_direction = direction; } void RcTreeWidget::setMediator(MediatorFileTree *mediator) { m_mediator = mediator; } //滚动条值变化后的槽函数。一旦滚动则会出发这里,发送消息给中介,让中介去同步另外一方 void RcTreeWidget::slot_scrollValueChange(int value) { if (m_direction == RC_LEFT) { if (m_mediator->getLeftScrollValue() != value) { m_mediator->setLeftScrollValue(value); } } else { if (m_mediator->getRightScrollValue() != value) { m_mediator->setRightScrollValue(value); } } } //注意,这里一旦开始调整后,又会引发滚动条值的变化 void RcTreeWidget::setVerticalValue(int value) { //不相等才需要设置 if (verticalScrollBar()->value() != value) { //超过最大值,只能设置为最大值 if (value > verticalScrollBar()->maximum()) { verticalScrollBar()->setValue(verticalScrollBar()->maximum()); } else { verticalScrollBar()->setValue(value); } } } ================================================ FILE: src/RcTreeWidget.h ================================================ #pragma once #include #include #include #include #include "rcglobal.h" class MediatorFileTree; class RcTreeWidget :public QTreeWidget { public: RcTreeWidget(QWidget *parent=nullptr); ~RcTreeWidget(); void setContextUserDefineItemMenuCallBack(std::function* userAddMenu); void setDirection(RC_DIRECTION direction); void setMediator(MediatorFileTree * mediator); void setVerticalValue(int value); void setRootDir(QString dir) { m_rootDir = dir; } QString getRootDir() { return m_rootDir; } public slots: void slot_scrollValueChange(int value); void slot_itemCollapsed(QTreeWidgetItem * item); void slot_itemExpanded(QTreeWidgetItem * item); void slot_ShowPopMenu(const QPoint& pos); private: MediatorFileTree * m_mediator; RC_DIRECTION m_direction; QString m_rootDir; std::function* m_userAddMenu; }; ================================================ FILE: src/RealCompare.pri ================================================ # ---------------------------------------------------- # This file is generated by the Qt Visual Studio Tools. # ------------------------------------------------------ # This is a reminder that you are using a generated .pro file. # Remove it when you are finished editing this file. message("You are running qmake on a generated .pro file. This may not work!") HEADERS += ./RealCompare.h \ $$PWD/diff.h \ ./CompareWin.h SOURCES += ./CompareWin.cpp \ ./main.cpp \ ./RealCompare.cpp FORMS += ./CompareWin.ui \ ./RealCompare.ui RESOURCES += RealCompare.qrc ================================================ FILE: src/RealCompare.pro ================================================ TEMPLATE = app LANGUAGE = C++ TARGET = Notepad-- CONFIG += qt warn_on QT += core gui widgets concurrent network xmlpatterns HEADERS += *.h \ cceditor/ccnotepad.h \ cceditor/filemanager.h SOURCES += *.cpp \ cceditor/ccnotepad.cpp \ cceditor/filemanager.cpp FORMS += *.ui \ cceditor/ccnotepad.ui RESOURCES += RealCompare.qrc INCLUDEPATH += qscint/src INCLUDEPATH += qscint/src/Qsci INCLUDEPATH += qscint/scintilla/include INCLUDEPATH += cceditor #DEFINES += QSCINTILLA_DLL TRANSLATIONS += realcompare_zh.ts if(contains(QMAKE_HOST.arch, x86_64|loongarch64)){ CONFIG(Debug, Debug|Release){ DESTDIR = x64/Debug LIBS += -Lx64/Debug LIBS += -lqmyedit_qt5d }else{ DESTDIR = x64/Release LIBS += -Lx64/Release LIBS += -lqmyedit_qt5 #QMAKE_CXXFLAGS += /openmp } } unix{ if(CONFIG(debug, Debug|Release)){ LIBS += -L/home/yzw/build/CCNotePad/x64/Debug -lqmyedit_qt5 QMAKE_CXXFLAGS += -fopenmp LIBS += -lgomp -lpthread }else{ LIBS += -L/home/yzw/build/CCNotePad/x64/Release -lqmyedit_qt5 DESTDIR = x64/Release QMAKE_CXXFLAGS += -fopenmp -O2 LIBS += -lgomp -lpthread } } RC_FILE += RealCompare.rc unix { INCLUDEPATH += $$PWD/. DEPENDPATH += $$PWD/. unix:!macx: LIBS += -L$$PWD/x64/Release/ -lqmyedit_qt5 INCLUDEPATH += $$PWD/x64/Release DEPENDPATH += $$PWD/x64/Release unix:!macx: PRE_TARGETDEPS += $$PWD/x64/Release/libqmyedit_qt5.a } ================================================ FILE: src/RealCompare.qrc ================================================ Resources/img/dir.png Resources/img/file.png Resources/img/open.png Resources/img/open1.png Resources/img/save.png Resources/img/all.png Resources/img/same1.png Resources/img/diff1.png Resources/img/swap.png Resources/img/reload.png Resources/img/rule.png Resources/img/left3.png Resources/img/right3.png Resources/img/point.png Resources/img/main.png Resources/img/showchar.png Resources/img/hidechar.png Resources/img/reload2.png Resources/img/tran.png Resources/img/6688.png Resources/img/clear.png Resources/img/undo.png Resources/img/redo.png Resources/edit/global/close.png Resources/edit/global/closehover.png Resources/edit/global/needsave.png Resources/edit/global/noneedsave.png Resources/edit/global/notebook.png Resources/img/next.png Resources/img/pre.png Resources/edit/styledeepblue/rename.png realcompare_zh.qm Resources/edit/styleblack/rename.png Resources/img/bin.png Resources/img/info.png Resources/edit/styledeepblue/next.png Resources/edit/styledeepblue/pre.png Resources/edit/styledeepblue/goto.png Resources/edit/styledeepblue/bincmp.png Resources/img/strict.png Resources/img/1.png Resources/img/2.png Resources/img/3.png Resources/img/4.png Resources/img/5.png Resources/img/6.png Resources/img/next2.png Resources/img/pre2.png Resources/img/zoomin.png Resources/img/zoomout.png Resources/img/unequaldir.png Resources/img/unequalfile.png Resources/img/onlyfile.png Resources/img/showall.png Resources/img/diff.png Resources/img/tolerant.png Resources/img/needsave.png Resources/img/break.png Resources/img/pullopen.png notepad/closeAll.png notepad/closeFile.png notepad/closeTabButton.png notepad/closeTabButton_hover.png notepad/closeTabButton_inact.png notepad/closeTabButton_push.png notepad/copy.png notepad/cut.png notepad/find.png notepad/findReplace.png notepad/indentGuide.png notepad/invisibleChar.png notepad/newFile.png notepad/openFile.png notepad/paste.png notepad/redo.png notepad/saveAll.png notepad/saveFile.png notepad/undo.png notepad/wrap.png notepad/zoomIn.png notepad/zoomOut.png notepad/savetab.png notepad/close.png notepad/closehover.png notepad/cmpbin.png notepad/cmpdir.png notepad/cmpfile.png notepad/cmpfile1.png notepad/ecg.png notepad/go.png notepad/needsave.png notepad/next.png notepad/noneedsave.png notepad/pre.png notepad/rename.png Resources/edit/global/ndd.ico notepad/mark.png notepad/sign.png notepad/clearsign.png notepad/autosave.png qss/lightblue/arrow_bottom.png qss/lightblue/add_bottom.png qss/mystyle.qss qss/lightbluestyle.qss qss/lightblue/add_top.png mac.icns Resources/img/register.png notepad/rightClose.png Resources/img/bookmark.png Resources/img/refresh.png Resources/edit/styledeepblue/autosave.png Resources/edit/styledeepblue/clearsign.png Resources/edit/styledeepblue/closeall.png Resources/edit/styledeepblue/closefile.png Resources/edit/styledeepblue/copy.png Resources/edit/styledeepblue/crlf.png Resources/edit/styledeepblue/cut.png Resources/edit/styledeepblue/dircompare.png Resources/edit/styledeepblue/filecompare.png Resources/edit/styledeepblue/find.png Resources/edit/styledeepblue/indentGuide.png Resources/edit/styledeepblue/mark.png Resources/edit/styledeepblue/needsavebar.png Resources/edit/styledeepblue/newfile.png Resources/edit/styledeepblue/openfile.png Resources/edit/styledeepblue/paste.png Resources/edit/styledeepblue/redo.png Resources/edit/styledeepblue/replace.png Resources/edit/styledeepblue/sign.png Resources/edit/styledeepblue/transcode.png Resources/edit/styledeepblue/undo.png Resources/edit/styledeepblue/white.png Resources/edit/styledeepblue/zoomin.png Resources/edit/styledeepblue/zoomout.png Resources/edit/styledeepblue/needsaveall.png Resources/img/savedark.png Resources/img/opendark.png Resources/img/reloaddark.png Resources/img/vip.png Resources/img/vipdark.png Resources/edit/global/noneedsavedark.png Resources/img/diffall.png Resources/img/expand.png Resources/img/fold.png qss/common.qss notepad/tailf.png Resources/edit/styledeepblue/tailf.png ================================================ FILE: src/RealCompareToMinGw.rc ================================================ #include IDI_ICON1 ICON DISCARDABLE ".\\Resources\\edit\\global\\ndd.ico" LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED VS_VERSION_INFO VERSIONINFO FILEVERSION 1,22,0,0 PRODUCTVERSION 1,22,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG #else FILEFLAGS 0x0L #endif FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "080404b0" BEGIN VALUE "FileDescription", "notepad-- v1.22.0\0" VALUE "FileVersion", "1.22.0.0\0" VALUE "LegalCopyright", "Copyright (C) 2020-2023\0" VALUE "OriginalFilename", "Notepad--.exe\0" VALUE "ProductName", "notepad-- \0" VALUE "ProductVersion", "1.22.0.0\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x0804, 1200 END END /* End of Version info */ ================================================ FILE: src/Sorters.h ================================================ #pragma once #include #include #include #include // Base interface for line sorting. class ISorter { private: bool _isDescending = true; size_t _fromColumn = 0; size_t _toColumn = 0; protected: bool isDescending() const { return _isDescending; } QString getSortKey(const QString& input) { if (isSortingSpecificColumns()) { if (input.length() < _fromColumn) { // prevent an std::out_of_range exception return QString(""); } else if (_fromColumn == _toColumn) { // get characters from the indicated column to the end of the line return input.mid(_fromColumn); } else { // get characters between the indicated columns, inclusive return input.mid(_fromColumn, _toColumn - _fromColumn); } } else { return input; } } bool isSortingSpecificColumns() { return _toColumn != 0; } public: ISorter(bool isDescending, size_t fromColumn, size_t toColumn) : _isDescending(isDescending), _fromColumn(fromColumn), _toColumn(toColumn) { assert(_fromColumn <= _toColumn); }; virtual ~ISorter() { }; virtual QList sort(QList lines) = 0; }; // Implementation of lexicographic sorting of lines. class LexicographicSorter : public ISorter { public: LexicographicSorter(bool isDescending, size_t fromColumn, size_t toColumn) : ISorter(isDescending, fromColumn, toColumn) { }; QList sort(QList lines) override { // Note that both branches here are equivalent in the sense that they always give the same answer. // However, if we are *not* sorting specific columns, then we get a 40% speed improvement by not calling // getSortKey() so many times. if (isSortingSpecificColumns()) { std::sort(lines.begin(), lines.end(), [this](QString a, QString b) { if (isDescending()) { return getSortKey(a).compare(getSortKey(b)) > 0; } else { return getSortKey(a).compare(getSortKey(b)) < 0; } }); } else { std::sort(lines.begin(), lines.end(), [this](QString a, QString b) { if (isDescending()) { return a.compare(b) > 0; } else { return a.compare(b) < 0; } }); } return lines; } }; // Implementation of lexicographic sorting of lines, ignoring character casing class LexicographicCaseInsensitiveSorter : public ISorter { public: LexicographicCaseInsensitiveSorter(bool isDescending, size_t fromColumn, size_t toColumn) : ISorter(isDescending, fromColumn, toColumn) { }; QList sort(QList lines) override { // Note that both branches here are equivalent in the sense that they always give the same answer. // However, if we are *not* sorting specific columns, then we get a 40% speed improvement by not calling // getSortKey() so many times. if (isSortingSpecificColumns()) { std::sort(lines.begin(), lines.end(), [this](QString a, QString b) { if (isDescending()) { return getSortKey(a).compare(getSortKey(b), Qt::CaseInsensitive) > 0; } else { return getSortKey(a).compare(getSortKey(b), Qt::CaseInsensitive) < 0; } }); } else { std::sort(lines.begin(), lines.end(), [this](QString a, QString b) { if (isDescending()) { return QString::compare(a, b, Qt::CaseInsensitive) > 0; } else { return QString::compare(a, b, Qt::CaseInsensitive) < 0; } }); } return lines; } }; class ReverseSorter : public ISorter { public: ReverseSorter(bool isDescending, size_t fromColumn, size_t toColumn) : ISorter(isDescending, fromColumn, toColumn) { }; QList sort(QList lines) override { std::reverse(lines.begin(), lines.end()); return lines; } }; ================================================ FILE: src/StrategyCompare.h ================================================ #pragma once #include "CmpareMode.h" #include "AbstractCompare.h" #include class StrategyCompare { public: StrategyCompare(); virtual ~StrategyCompare(); virtual void BlockCmpLcs(const BlocksInfo & leftBlockInfo, uchar * leftFileData, QVector& leftLinesInfo, const BlocksInfo & rightBlockInfo, uchar * rightFileData, QVector& rightLinesInfo, BlockCmpPairResult & result); private: void lessCmpMore(const BlocksInfo & lessBlockInfo, uchar * lessFileData, QVector& lessLinesInfo, const BlocksInfo & moreBlockInfo, uchar * moreFileData, QVector&moreLinesInfo, QMap& result); }; ================================================ FILE: src/aboutndd.cpp ================================================ #include "aboutndd.h" AboutNdd::AboutNdd(QWidget *parent) : QWidget(parent) { ui.setupUi(this); ui.label->setOpenExternalLinks(true); // 隐藏最大化、最小化按钮 setWindowFlags(windowFlags() & ~Qt::WindowMinMaxButtonsHint); connect(ui.aboutPushButton, &QPushButton::clicked, this, &AboutNdd::onButtonOkayClicked); } AboutNdd::~AboutNdd() {} void AboutNdd::appendText(QString text) { ui.nddMsgText->appendPlainText(text); } void AboutNdd::onButtonOkayClicked() { close(); } ================================================ FILE: src/aboutndd.h ================================================ #pragma once #include #include "ui_aboutndd.h" class AboutNdd : public QWidget { Q_OBJECT public: AboutNdd(QWidget *parent = nullptr); ~AboutNdd(); void appendText(QString text); private slots: void onButtonOkayClicked(); private: Ui::AboutNddClass ui; }; ================================================ FILE: src/aboutndd.ui ================================================ AboutNddClass 0 0 400 180 400 180 About Notepad-- :/Resources/edit/global/ndd.ico:/Resources/edit/global/ndd.ico 2 2 2 General Public License Qt::AlignCenter true This software is licensed under the terms of the GNU General Public License version 3 (GPLv3). You are free to redistribute and modify the software in accordance with the license. <html><head/><body><p>Home: <a href="https://gitee.com/cxasm/notepad--"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">https://gitee.com/cxasm/notepad--</span></a></p></body></html> 100 28 100 28 Okay Qt::Vertical 20 40 ================================================ FILE: src/batchfindreplace.cpp ================================================ #include "batchfindreplace.h" #include "scintillaeditview.h" #include "ccnotepad.h" #include "progresswin.h" #include "nddsetting.h" #include "ctipwin.h" #include #include BatchFindReplace::BatchFindReplace(QWidget *parent) : QMainWindow(parent), m_curEditWin(nullptr), m_editTabWidget(nullptr) { ui.setupUi(this); m_mainNotepad = dynamic_cast(parent); } BatchFindReplace::~BatchFindReplace() { } void BatchFindReplace::closeEvent(QCloseEvent* event) { QByteArray curGeo = this->saveGeometry(); NddSetting::updataWinPos(BATCH_FIND_REPLACE_POS, curGeo); } void BatchFindReplace::setTabWidget(QTabWidget* editTabWidget) { m_editTabWidget = editTabWidget; } //Զǰڵ״̬˱仯Ҫ϶Ϊ״β QWidget* BatchFindReplace::autoAdjustCurrentEditWin() { QWidget* pw = m_editTabWidget->currentWidget(); if (m_curEditWin != pw) { m_curEditWin = pw; } return pw; } void BatchFindReplace::appendToFindTable(QString findKeyword) { int rNum = ui.findReplaceTable->rowCount(); ui.findReplaceTable->insertRow(rNum); QTableWidgetItem* itemFind = new QTableWidgetItem(findKeyword); ui.findReplaceTable->setItem(rNum, 0, itemFind); ui.findReplaceTable->setItem(rNum, 1, new QTableWidgetItem()); } //ﲻ׷ӣDz룬ӦItemѾڡ򲻲 void BatchFindReplace::insertToReplaceTable(int row, QString replaceKeyword) { QTableWidgetItem* item = ui.findReplaceTable->item(row, 1); if (item == nullptr) { ui.statusBar->showMessage(tr("$1 has no find match work item").arg(replaceKeyword)); return; } item->setText(replaceKeyword); } void BatchFindReplace::insertToFindReplaceTable(QStringList& replaceKeyword) { for (int i = 0; i < replaceKeyword.size(); ++i) { insertToReplaceTable(i, replaceKeyword.at(i)); } } void BatchFindReplace::appendToFindReplaceTable(QStringList& findKeyword) { if (findKeyword.isEmpty()) { return; } int rNum = ui.findReplaceTable->rowCount(); for (int i = 0; i < findKeyword.size(); ++i) { int curRow = rNum + i; ui.findReplaceTable->insertRow(curRow); QTableWidgetItem* itemFind = new QTableWidgetItem(findKeyword.at(i)); ui.findReplaceTable->setItem(curRow, 0, itemFind); ui.findReplaceTable->setItem(curRow, 1, new QTableWidgetItem()); } } bool BatchFindReplace::tranInputKeyword(QString& findKeyWord, QStringList& outputKeyWordList) { //ѿհַո\t \r\n ַ滻Ϊո QRegExp re("\\s"); findKeyWord.replace(re, QString(" ")); //ٽпոָ outputKeyWordList = findKeyWord.split(" "); if (outputKeyWordList.size() > 20000) { ui.statusBar->showMessage(tr("Max find key word 20000 !"), 10000); return false; } //ɾÿһյԪ for (int i = outputKeyWordList.size() - 1; i >= 0; --i) { if (outputKeyWordList[i].trimmed().isEmpty()) { outputKeyWordList.removeAt(i); } } if (outputKeyWordList.isEmpty()) { return false; } return true; } void BatchFindReplace::on_freshBtClick() { QStringList findWordList; QString findKeyWord = ui.findKeywordEdit->toPlainText(); if (findKeyWord.isEmpty()) { ui.statusBar->showMessage(tr("Please input find keyword !"),10000); if (ui.findReplaceTable->rowCount() > 0) { ui.findReplaceTable->clearContents(); ui.findReplaceTable->setRowCount(0); } return; } if (!tranInputKeyword(findKeyWord, findWordList)) { return; } else { ui.findReplaceTable->clearContents(); ui.findReplaceTable->setRowCount(0); appendToFindReplaceTable(findWordList); } QStringList replaceWordList; QString replaceKeyWord = ui.replaceKeywordEdit->toPlainText(); if (!tranInputKeyword(replaceKeyWord, replaceWordList)) { return; } else { insertToFindReplaceTable(replaceWordList); } } //ҹ void BatchFindReplace::on_findBtClick() { if (m_mainNotepad != nullptr && m_mainNotepad) { int rowNums = ui.findReplaceTable->rowCount(); if (rowNums == 0) { CTipWin::showTips(this, tr("Please fresh first !"), 1200); return; } int foundTimes = 0; QStringList findKeyList; for (int i = 0; i < rowNums; ++i) { QTableWidgetItem* item = ui.findReplaceTable->item(i, 0); if (item != nullptr && !item->text().isEmpty()) { findKeyList.append(item->text()); } } foundTimes = m_mainNotepad->findAtBack(findKeyList); ui.statusBar->showMessage(tr("Batch Find Finished! total %1 found.").arg(foundTimes),10000); } } //滻 void BatchFindReplace::on_replaceBtClick() { if (m_mainNotepad != nullptr) { int rowNums = ui.findReplaceTable->rowCount(); if (rowNums == 0) { CTipWin::showTips(this, tr("Please fresh first !"), 1200); return; } QStringList findKeyList; QStringList replaceKeyList; for (int i = 0; i < rowNums; ++i) { QTableWidgetItem* item = ui.findReplaceTable->item(i, 0); if (item != nullptr && !item->text().isEmpty()) { QTableWidgetItem* replaceItem = ui.findReplaceTable->item(i, 1); if (replaceItem != nullptr) { if (item->text() != replaceItem->text()) { findKeyList.append(item->text()); replaceKeyList.append(replaceItem->text()); } } } } m_mainNotepad->replaceAtBack(findKeyList, replaceKeyList); ui.statusBar->showMessage(tr("Batch Replace Finished, total Replace %1 times !").arg(findKeyList.size()), 10000); } } void BatchFindReplace::on_swapFindReplace() { QString findText = ui.findKeywordEdit->toPlainText(); QString replaceText = ui.replaceKeywordEdit->toPlainText(); ui.findKeywordEdit->setPlainText(replaceText); ui.replaceKeywordEdit->setPlainText(findText); on_freshBtClick(); } void BatchFindReplace::on_export() { QString filter("Text files (*.txt);;All types(*.*)"); QString fileName = QFileDialog::getSaveFileName(this, tr("Save File As ..."), QString(), filter); if (!fileName.isEmpty()) { QSettings setting(fileName, QSettings::IniFormat); setting.setIniCodec("UTF-8"); int rowNums = ui.findReplaceTable->rowCount(); QStringList findList; QStringList replaceList; for (int i = 0; i < rowNums; ++i) { QTableWidgetItem* item = ui.findReplaceTable->item(i, 0); if (item != nullptr && !item->text().isEmpty()) { QTableWidgetItem* replaceItem = ui.findReplaceTable->item(i, 1); if (replaceItem != nullptr) { findList.append(item->text()); replaceList.append(replaceItem->text()); } } } if (!findList.isEmpty()) { setting.setValue("find", findList); setting.setValue("replace", replaceList); ui.statusBar->showMessage(tr("Export File finished !"), 10000); } else { ui.statusBar->showMessage(tr("No Content to Export !"), 10000); } } } void BatchFindReplace::on_import() { QFileDialog fd(this, QString(), CCNotePad::s_lastOpenDirPath); fd.setFileMode(QFileDialog::ExistingFile); if (fd.exec() == QDialog::Accepted) //ɹִ { QStringList fileNameList = fd.selectedFiles(); //ļб QFileInfo fi(fileNameList[0]); QSettings setting(fi.filePath(), QSettings::IniFormat); setting.setIniCodec("UTF-8"); ui.findKeywordEdit->setPlainText(setting.value("find").toStringList().join(" ")); ui.replaceKeywordEdit->setPlainText(setting.value("replace").toStringList().join(" ")); on_freshBtClick(); } else { fd.close(); } } void BatchFindReplace::on_mark() { if (m_mainNotepad != nullptr) { int rowNums = ui.findReplaceTable->rowCount(); if (rowNums == 0) { CTipWin::showTips(this, tr("Please fresh first !"), 1200); return; } int markTimes = 0; QStringList findKeyList; for (int i = 0; i < rowNums; ++i) { QTableWidgetItem* item = ui.findReplaceTable->item(i, 0); if (item != nullptr && !item->text().isEmpty()) { findKeyList.append(item->text()); } } markTimes = m_mainNotepad->markAtBack(findKeyList); ui.statusBar->showMessage(tr("Batch Mark Finished, total Mark %1 times !").arg(markTimes), 10000); } } void BatchFindReplace::on_clearMark() { if (m_mainNotepad != nullptr) { m_mainNotepad->slot_clearMark(); } } ================================================ FILE: src/batchfindreplace.h ================================================ #pragma once #include #include #include #include "ui_batchfindreplace.h" class CCNotePad; class BatchFindReplace : public QMainWindow { Q_OBJECT public: BatchFindReplace(QWidget *parent = nullptr); virtual ~BatchFindReplace(); void setTabWidget(QTabWidget* editTabWidget); protected: void closeEvent(QCloseEvent* event); private slots: void on_freshBtClick(); void on_findBtClick(); void on_replaceBtClick(); void on_swapFindReplace(); void on_export(); void on_import(); void on_mark(); void on_clearMark(); private: bool tranInputKeyword(QString& keyWord, QStringList& outputKeyWordList); void appendToFindReplaceTable(QStringList& findKeyword); void appendToFindTable(QString findKeyword); void insertToReplaceTable(int row, QString replaceKeyword); void insertToFindReplaceTable(QStringList& replaceKeyword); QWidget* autoAdjustCurrentEditWin(); private: Ui::BatchFindReplaceClass ui; QTabWidget* m_editTabWidget; QWidget* m_curEditWin; CCNotePad* m_mainNotepad; }; ================================================ FILE: src/batchfindreplace.ui ================================================ BatchFindReplaceClass 0 0 902 737 BatchFindReplace 3 6 3 3 Enter multiple find keywords, separated by blank characters Enter multiple Replace keywords, separated by blank characters true Keyword Replace Qt::Horizontal 40 20 Fresh swap Find Replace Mark ClearMark Import Export Qt::Horizontal 40 20 TopToolBarArea false freshBt clicked() BatchFindReplaceClass on_freshBtClick() 204 710 218 703 findBt clicked() BatchFindReplaceClass on_findBtClick() 366 710 426 736 replaceBt clicked() BatchFindReplaceClass on_replaceBtClick() 447 710 530 709 swapBt clicked() BatchFindReplaceClass on_swapFindReplace() 285 710 378 736 importBt clicked() BatchFindReplaceClass on_import() 690 710 687 736 exportBt clicked() BatchFindReplaceClass on_export() 771 710 799 698 markBt clicked() BatchFindReplaceClass on_mark() 528 710 584 742 pushButton clicked() BatchFindReplaceClass on_clearMark() 577 693 570 746 on_freshBtClick() on_findBtClick() on_replaceBtClick() on_swapFindReplace() on_import() on_export() on_mark() on_clearMark() ================================================ FILE: src/bigfilemessage.cpp ================================================ #include "bigfilemessage.h" #include "nddsetting.h" BigFileMessage::BigFileMessage(QWidget *parent) : QDialog(parent), m_result(-1) { ui.setupUi(this); } BigFileMessage::~BigFileMessage() {} void BigFileMessage::setDefOpenMode(NddDocType defMode) { switch (defMode) { case TXT_TYPE: ui.textMode->setChecked(true); break; case BIG_TEXT_RO_TYPE: ui.bigTextMode->setChecked(true); break; case BIG_EDIT_RW_TYPE: break; case SUPER_BIG_TEXT_RO_TYPE: ui.superBigTextMode->setChecked(true); break; case HEX_TYPE: ui.hexMode->setChecked(true); break; default: break; } } void BigFileMessage::setTip(QString msg) { ui.label->setText(msg); } void BigFileMessage::slot_okBt() { if (ui.textMode->isChecked()) { m_result = TXT_TYPE;//ͨı } else if(ui.bigTextMode->isChecked()) { m_result = BIG_TEXT_RO_TYPE; //С8GĴı } else if (ui.superBigTextMode->isChecked()) { m_result = SUPER_BIG_TEXT_RO_TYPE;//8GϵĴı } else if (ui.hexMode->isChecked()) { m_result = HEX_TYPE;// } done(m_result); } void BigFileMessage::slot_cancelBt() { m_result = -1; done(m_result); } ================================================ FILE: src/bigfilemessage.h ================================================ #pragma once #include "ccnotepad.h" #include #include #include "ui_bigfilemessage.h" class BigFileMessage : public QDialog { Q_OBJECT public: BigFileMessage(QWidget *parent = nullptr); ~BigFileMessage(); void setTip(QString msg); void setDefOpenMode(NddDocType defMode); private slots: void slot_okBt(); void slot_cancelBt(); private: Ui::BigFileMessageClass ui; int m_result; }; ================================================ FILE: src/bigfilemessage.ui ================================================ BigFileMessageClass 0 0 661 211 BigFileMessage 3 3 3 6 TextLabel Open Mode Binary Open,load in blocks, and turn pages manually. Big Text true Open directly in text mode.May be slow, Need wait. Text Mode Hex Bin Big Text File(< 8G) Read only open, load in blocks, and turn pages manually. Super big Text File(> 8G bits) Read only open, load in blocks, and turn pages manually. Super Big Text Qt::Horizontal 40 20 Ok Cancel okBt clicked() BigFileMessageClass slot_okBt() 359 168 284 193 cancelBt clicked() BigFileMessageClass slot_cancelBt() 448 176 446 196 slot_okBt() slot_cancelBt() ================================================ FILE: src/cceditor/ccnotepad.cpp ================================================ #include #include "ccnotepad.h" #include "filemanager.h" #include "Encode.h" #include "findwin.h" #include "nddsetting.h" #include "findresultwin.h" #include "scintillaeditview.h" #include "scintillahexeditview.h" #include "encodeconvert.h" #include "optionsview.h" #include "donate.h" #include "renamewin.h" #include "doctypelistview.h" #include "hexfilegoto.h" #include "qscilexertext.h" #include "styleset.h" #include "qtlangset.h" #include "columnedit.h" #include "langstyledefine.h" #include "extlexermanager.h" #include "aboutndd.h" #include "filelistview.h" #include "bigfilemessage.h" #include "batchfindreplace.h" #include "langextset.h" #include "shortcutkeymgr.h" #include "md5hash.h" #include "CmpareMode.h" #ifdef NO_PLUGIN #include "pluginmgr.h" #include "plugin.h" #include "pluginGl.h" #endif #ifdef Q_OS_WIN #include "dectfilechanges.h" #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef Q_OS_WIN #include #include #endif #include #include #include #include #include #include #include #include "Sorters.h" #ifdef Q_OS_WIN #include #include #endif #include #ifdef Q_OS_WIN extern bool s_isAdminAuth; inline std::wstring StringToWString(const std::string& str) { #if 0 int len = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0); wchar_t* wide = new wchar_t[len + 1]; memset(wide, '\0', sizeof(wchar_t) * (len + 1)); MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, wide, len); std::wstring w_str(wide); delete[] wide; return w_str; #endif QString temp = QString::fromStdString(str); return temp.toStdWString(); } #endif int CCNotePad::s_padTimes = 0; int CCNotePad::s_zoomValue = 0; QString CCNotePad::s_lastOpenDirPath = ""; QList *CCNotePad::s_padInstances = nullptr; //文件保存的路径,qstring static const char* Edit_View_FilePath = "filePath"; //int 新文件的id序号。非新建文件为-1 static const char* Edit_File_New = "newfile"; //是否修改 true false static const char* Edit_Text_Change = "change"; //line行尾符号 static const char* Edit_Text_End = "lineend"; //外部修改 static const char* Modify_Outside = "modify"; //文档类型 1:text 2 hex static const char* Doc_Type = "type"; //tail状态 0 关闭 1开启 static const char* Tail_Status = "tail"; static const int MSG_EXIST_TIME = 8000; void setFileOpenAttrProperty(QWidget* pwidget, OpenAttr attr) { QVariant v(attr); pwidget->setProperty(Open_Attr, v); } const QString OpenAttrToString(OpenAttr openType) { QString ret; switch (openType) { case Text: ret = QObject::tr("Text Mode"); break; case HexReadOnly: ret = QObject::tr("Hex ReadOnly Mode"); break; case BigTextReadOnly: ret = QObject::tr("Big Text ReadOnly Mode"); break; case BigTextReadWrite: ret = QObject::tr("Big Text ReadWrite Mode"); break; case SuperBigTextReadOnly: ret = QObject::tr("Super Big Text ReadOnly Mode"); break; case TextReadOnly: ret = QObject::tr("Text ReadOnly Mode"); break; default: ret = QObject::tr("File Mode"); break; } return ret; } QString getFileOpenAttrProperty(QWidget* pwidget) { OpenAttr openType = (OpenAttr)pwidget->property(Open_Attr).toInt(); return OpenAttrToString(openType); } void setFilePathProperty(QWidget* pwidget, QString filePath) { QVariant v(filePath); pwidget->setProperty(Edit_View_FilePath, v); } QString getFilePathProperty(QWidget* pwidget) { return pwidget->property(Edit_View_FilePath).toString(); } void setFileNewIndexProperty(QWidget* pwidget, int index) { QVariant v(index); pwidget->setProperty(Edit_File_New, v); } //新文件的id,非新文件为-1 int getFileNewIndexProperty(QWidget* pwidget) { return pwidget->property(Edit_File_New).toInt(); } inline void setTextChangeProperty(QWidget* pwidget, bool status) { QVariant v(status); pwidget->setProperty(Edit_Text_Change, v); } bool getTextChangeProperty(QWidget* pwidget) { return pwidget->property(Edit_Text_Change).toBool(); } void setCodeTypeProperty(QWidget* pwidget, int type) { QVariant v(type); pwidget->setProperty(Edit_Text_Code, v); } int getCodeTypeProperty(QWidget* pwidget) { return pwidget->property(Edit_Text_Code).toInt(); } void setEndTypeProperty(QWidget* pwidget, int type) { QVariant v(type); pwidget->setProperty(Edit_Text_End, v); } int getEndTypeProperty(QWidget* pwidget) { return pwidget->property(Edit_Text_End).toInt(); } void setFileTailProperty(QWidget* pwidget, int type) { QVariant v(type); pwidget->setProperty(Tail_Status, v); } int getFileTailProperty(QWidget* pwidget) { return pwidget->property(Tail_Status).toInt(); } //根据当前路径,得到交互文件的名称 QString getSwapFilePath(QString filePath) { QFileInfo fi(filePath); #ifdef _WIN32 return QString("%1\\.%2.swp").arg(fi.absolutePath()).arg(fi.fileName()); #else return QString("%1/.%2.swp").arg(fi.absolutePath()).arg(fi.fileName()); #endif } void setDocTypeProperty(QWidget* pwidget, NddDocType type) { QVariant v(type); pwidget->setProperty(Doc_Type, v); } int getDocTypeProperty(QWidget* pwidget) { return pwidget->property(Doc_Type).toInt(); } //#define STYLE_DEEPBLUE #define STYLE_NOTEPAD #ifdef STYLE_BLACK const char *NewFileIcon = ":/Resources/edit/styleblack/newfile.png"; const char *OpenFileIcon = ":/Resources/edit/styleblack/openfile.png"; const char *NeedSaveBarIcon = ":/Resources/edit/styleblack/needsavebar.png"; const char *NoNeedSaveBarIcon = ":/Resources/edit/styleblack/noneedsavebar.png"; const char *NeedSaveAllBarIcon = ":/Resources/edit/styleblack/needsaveallbar.png"; const char *NoNeedSaveAllBarIcon = ":/Resources/edit/styleblack/noneedsaveallbar.png"; const char *CloseFileIcon = ":/Resources/edit/styleblack/closefile.png"; const char *CloseAllFileIcon = ":/Resources/edit/styleblack/closeall.png"; const char *CutIcon = ":/Resources/edit/styleblack/cut.png"; const char *CopyFileIcon = ":/Resources/edit/styleblack/copy.png"; const char *PasteIcon = ":/Resources/edit/styleblack/paste.png"; const char *UndoIcon = ":/Resources/edit/styleblack/undo.png"; const char *RedoIcon = ":/Resources/edit/styleblack/redo.png"; const char *FindIcon = ":/Resources/edit/styleblack/find.png"; const char *ReplaceIcon = ":/Resources/edit/styleblack/replace.png"; const char *ZoominIcon = ":/Resources/edit/styleblack/zoomin.png"; const char *ZoomoutIcon = ":/Resources/edit/styleblack/zoomout.png"; const char *CrlfIcon = ":/Resources/edit/styleblack/crlf.png"; const char *WhiteIcon = ":/Resources/edit/styleblack/white.png"; const char *FileCompareIcon = ":/Resources/edit/styleblack/filecompare.png"; const char *DirCompareIcon = ":/Resources/edit/styleblack/dircompare.png"; const char *TransCodeIcon = ":/Resources/edit/styleblack/transcode.png"; const char *RenameIcon = ":/Resources/edit/styleblack/rename.png"; #endif #ifdef STYLE_BLUDE const char *NewFileIcon32 = ":/Resources/edit/styleblue/newfile.png"; const char *OpenFileIcon32 = ":/Resources/edit/styleblue/openfile.png"; const char *NeedSaveBarIcon32 = ":/Resources/edit/styleblue/needsavebar.png"; const char *NoNeedSaveBarIcon32 = ":/Resources/edit/styleblue/needsavebar.png"; const char *NeedSaveAllBarIcon32 = ":/Resources/edit/styleblue/needsaveall.png"; const char *NoNeedSaveAllBarIcon32 = ":/Resources/edit/styleblue/needsaveall.png"; const char* AutoTimeSaveBarIcon32 = ":/Resources/edit/styleblue/autosave.png"; const char *CloseFileIcon32 = ":/Resources/edit/styleblue/closefile.png"; const char *CloseAllFileIcon32 = ":/Resources/edit/styleblue/closeall.png"; const char *CutIcon32 = ":/Resources/edit/styleblue/cut.png"; const char *CopyFileIcon32 = ":/Resources/edit/styleblue/copy.png"; const char *PasteIcon32 = ":/Resources/edit/styleblue/paste.png"; const char *UndoIcon32 = ":/Resources/edit/styleblue/undo.png"; const char *RedoIcon32 = ":/Resources/edit/styleblue/redo.png"; const char *FindIcon32 = ":/Resources/edit/styleblue/find.png"; const char *ReplaceIcon32 = ":/Resources/edit/styleblue/replace.png"; const char* MarkIcon32 = ":/Resources/edit/styleblue/mark.png"; const char* SignIcon32 = ":/Resources/edit/styleblue/sign.png"; const char* ClearSignIcon32 = ":/Resources/edit/styleblue/clearsign.png"; const char *ZoominIcon32 = ":/Resources/edit/styleblue/zoomin.png"; const char *ZoomoutIcon32 = ":/Resources/edit/styleblue/zoomout.png"; const char *CrlfIcon32 = ":/Resources/edit/styleblue/crlf.png"; const char *WhiteIcon32 = ":/Resources/edit/styleblue/white.png"; const char *IndentIcon32 = ":/Resources/edit/styleblue/indentGuide.png"; const char *FileCompareIcon32 = ":/Resources/edit/styleblue/filecompare.png"; const char *DirCompareIcon32 = ":/Resources/edit/styleblue/dircompare.png"; const char *BinCmpIcon32 = ":/Resources/edit/styleblue/bincmp.png"; const char *TransCodeIcon32 = ":/Resources/edit/styleblue/transcode.png"; const char *RenameIcon32 = ":/Resources/edit/styleblue/rename.png"; const char *PreHexIcon32 = ":/Resources/edit/styleblue/pre.png"; const char *NextHexIcon32 = ":/Resources/edit/styleblue/next.png"; const char *GotoHexIcon32 = ":/Resources/edit/styleblue/goto.png"; const char *TabNeedSave32 = ":/Resources/edit/global/needsave.png"; const char *TabNoNeedSave32 = ":/Resources/edit/global/noneedsave.png"; #endif const char *NewFileIcon32 = ":/Resources/edit/styledeepblue/newfile.png"; const char *OpenFileIcon32 = ":/Resources/edit/styledeepblue/openfile.png"; const char *NeedSaveBarIcon32 = ":/Resources/edit/styledeepblue/needsavebar.png"; const char *NoNeedSaveBarIcon32 = ":/Resources/edit/styledeepblue/needsavebar.png"; const char *NeedSaveAllBarIcon32 = ":/Resources/edit/styledeepblue/needsaveall.png"; const char *NoNeedSaveAllBarIcon32 = ":/Resources/edit/styledeepblue/needsaveall.png"; const char* AutoTimeSaveBarIcon32 = ":/Resources/edit/styledeepblue/autosave.png"; const char *CloseFileIcon32 = ":/Resources/edit/styledeepblue/closefile.png"; const char *CloseAllFileIcon32 = ":/Resources/edit/styledeepblue/closeall.png"; const char *CutIcon32 = ":/Resources/edit/styledeepblue/cut.png"; const char *CopyFileIcon32 = ":/Resources/edit/styledeepblue/copy.png"; const char *PasteIcon32 = ":/Resources/edit/styledeepblue/paste.png"; const char *UndoIcon32 = ":/Resources/edit/styledeepblue/undo.png"; const char *RedoIcon32 = ":/Resources/edit/styledeepblue/redo.png"; const char *FindIcon32 = ":/Resources/edit/styledeepblue/find.png"; const char *ReplaceIcon32 = ":/Resources/edit/styledeepblue/replace.png"; const char* MarkIcon32 = ":/Resources/edit/styledeepblue/mark.png"; const char* SignIcon32 = ":/Resources/edit/styledeepblue/sign.png"; const char* ClearSignIcon32 = ":/Resources/edit/styledeepblue/clearsign.png"; const char *ZoominIcon32 = ":/Resources/edit/styledeepblue/zoomin.png"; const char *ZoomoutIcon32 = ":/Resources/edit/styledeepblue/zoomout.png"; const char *CrlfIcon32 = ":/Resources/edit/styledeepblue/crlf.png"; const char *WhiteIcon32 = ":/Resources/edit/styledeepblue/white.png"; const char *IndentIcon32 = ":/Resources/edit/styledeepblue/indentGuide.png"; const char* TailfIcon32 = ":/Resources/edit/styledeepblue/tailf.png"; const char *FileCompareIcon32 = ":/Resources/edit/styledeepblue/filecompare.png"; const char *DirCompareIcon32 = ":/Resources/edit/styledeepblue/dircompare.png"; const char *BinCmpIcon32 = ":/Resources/edit/styledeepblue/bincmp.png"; const char *TransCodeIcon32 = ":/Resources/edit/styledeepblue/transcode.png"; const char *RenameIcon32 = ":/Resources/edit/styledeepblue/rename.png"; const char *PreHexIcon32 = ":/Resources/edit/styledeepblue/pre.png"; const char *NextHexIcon32 = ":/Resources/edit/styledeepblue/next.png"; const char *GotoHexIcon32 = ":/Resources/edit/styledeepblue/goto.png"; //const char *TabNeedSave32 = ":/Resources/edit/global/needsave.png"; //const char *TabNoNeedSave32 = ":/Resources/edit/global/noneedsave.png"; #if 0 const char *NewFileIconDark32 = ":/Resources/edit/styledark/newfile.png"; const char *OpenFileIconDark32 = ":/Resources/edit/styledark/openfile.png"; const char *NeedSaveBarIconDark32 = ":/Resources/edit/styledark/needsavebar.png"; const char *NoNeedSaveBarIconDark32 = ":/Resources/edit/styledark/needsavebar.png"; const char *NeedSaveAllBarIconDark32 = ":/Resources/edit/styledark/needsaveall.png"; const char *NoNeedSaveAllBarIconDark32 = ":/Resources/edit/styledark/needsaveall.png"; const char* AutoTimeSaveBarIconDark32 = ":/Resources/edit/styledark/autosave.png"; const char *CloseFileIconDark32 = ":/Resources/edit/styledark/closefile.png"; const char *CloseAllFileIconDark32 = ":/Resources/edit/styledark/closeall.png"; const char *CutIconDark32 = ":/Resources/edit/styledark/cut.png"; const char *CopyFileIconDark32 = ":/Resources/edit/styledark/copy.png"; const char *PasteIconDark32 = ":/Resources/edit/styledark/paste.png"; const char *UndoIconDark32 = ":/Resources/edit/styledark/undo.png"; const char *RedoIconDark32 = ":/Resources/edit/styledark/redo.png"; const char *FindIconDark32 = ":/Resources/edit/styledark/find.png"; const char *ReplaceIconDark32 = ":/Resources/edit/styledark/replace.png"; const char* MarkIconDark32 = ":/Resources/edit/styledark/mark.png"; const char* SignIconDark32 = ":/Resources/edit/styledark/sign.png"; const char* ClearSignIconDark32 = ":/Resources/edit/styledark/clearsign.png"; const char *ZoominIconDark32 = ":/Resources/edit/styledark/zoomin.png"; const char *ZoomoutIconDark32 = ":/Resources/edit/styledark/zoomout.png"; const char *CrlfIconDark32 = ":/Resources/edit/styledark/crlf.png"; const char *WhiteIconDark32 = ":/Resources/edit/styledark/white.png"; const char *IndentIconDark32 = ":/Resources/edit/styledark/indentGuide.png"; const char *FileCompareIconDark32 = ":/Resources/edit/styledark/filecompare.png"; const char *DirCompareIconDark32 = ":/Resources/edit/styledark/dircompare.png"; const char *BinCmpIconDark32 = ":/Resources/edit/styledark/bincmp.png"; const char *TransCodeIconDark32 = ":/Resources/edit/styledark/transcode.png"; const char *RenameIconDark32 = ":/Resources/edit/styledark/rename.png"; const char *PreHexIconDark32 = ":/Resources/edit/styledark/pre.png"; const char *NextHexIconDark32 = ":/Resources/edit/styledark/next.png"; const char *GotoHexIconDark32 = ":/Resources/edit/styledark/goto.png"; const char *TabNeedSaveDark32 = ":/Resources/edit/global/needsave.png"; const char *TabNoNeedSaveDark32 = ":/Resources/edit/global/noneedsavedark.png"; #endif const char *TabNeedSaveDark32 = ":/notepad/needsave.png"; const char *TabNoNeedSaveDark32 = ":/notepad/noneedsave.png"; #ifdef STYLE_NOTEPAD const char* NewFileIcon = ":/notepad/newFile.png"; const char* OpenFileIcon = ":/notepad/openFile.png"; const char* NeedSaveBarIcon = ":/notepad/saveFile.png"; const char* NoNeedSaveBarIcon = ":/notepad/saveFile.png"; const char* NeedSaveAllBarIcon = ":/notepad/saveAll.png"; const char* NoNeedSaveAllBarIcon = ":/notepad/saveAll.png"; const char* AutoTimeSaveBarIcon = ":/notepad/autosave.png"; const char* CloseFileIcon = ":/notepad/closeFile.png"; const char* CloseAllFileIcon = ":/notepad/closeAll.png"; const char* CutIcon = ":/notepad/cut.png"; const char* CopyFileIcon = ":/notepad/copy.png"; const char* PasteIcon = ":/notepad/paste.png"; const char* UndoIcon = ":/notepad/undo.png"; const char* RedoIcon = ":/notepad/redo.png"; const char* FindIcon = ":/notepad/find.png"; const char* ReplaceIcon = ":/notepad/findReplace.png"; const char* MarkIcon = ":/notepad/mark.png"; const char* SignIcon = ":/notepad/sign.png"; const char* ClearSignIcon = ":/notepad/clearsign.png"; const char* ZoominIcon = ":/notepad/zoomIn.png"; const char* ZoomoutIcon = ":/notepad/zoomOut.png"; const char* CrlfIcon = ":/notepad/wrap.png"; const char* WhiteIcon = ":/notepad/invisibleChar.png"; const char* IndentIcon = ":/notepad/indentGuide.png"; const char* TailfIcon = ":/notepad/tailf.png"; const char* FileCompareIcon = ":/notepad/cmpfile.png"; const char* DirCompareIcon = ":/notepad/cmpdir.png"; const char* BinCmpIcon = ":/notepad/cmpbin.png"; const char* TransCodeIcon = ":/notepad/ecg.png"; const char* RenameIcon = ":/notepad/rename.png"; const char* PreHexIcon = ":/notepad/pre.png"; const char* NextHexIcon = ":/notepad/next.png"; const char* GotoHexIcon = ":/notepad/go.png"; const char* RightCloseIcon = ":/notepad/rightClose.png"; const char *TabNeedSave = ":/notepad/needsave.png"; const char *TabNoNeedSave = ":/notepad/noneedsave.png"; #endif QString watchFilePath; //文件后缀与语言关联,与在ScintillaEditView::langNames中的序号为关联 //static QMap s_fileTypeToLangMap; //使用ExtLexerManager进行了替换 QStringList CCNotePad::s_findHistroy; QStringList CCNotePad::s_replaceHistroy; int CCNotePad::s_autoWarp = 0; //自动换行 int CCNotePad::s_indent = 0; //自动缩进 int CCNotePad::s_showblank = 0; //显示空白 int CCNotePad::s_restoreLastFile = 1;//自动恢复上次打开的文件 int CCNotePad::s_curStyleId = 0; int CCNotePad::s_curMarkColorId = SCE_UNIVERSAL_FOUND_STYLE_EXT5; int CCNotePad::s_hightWebAddr = 0; //lexerName to index //这里是静态的默认文件后缀类型与词法类型。还有一个动态的,用来管理用户新增语言的部分 FileExtLexer s_fileExtMapLexerId[FileExtMapLexerIdLen] = { {QString("h"), L_C}, {QString("c"), L_C}, {QString("cs"), L_CS}, {QString("cpp"), L_CPP}, {QString("cxx"), L_CPP}, {QString("rc"), L_RC}, {QString("html"), L_HTML}, {QString("htm"), L_HTML}, {QString("htmls"), L_HTML}, {QString("ini"), L_INI}, {QString("js"), L_JAVASCRIPT}, {QString("ts"), L_TYPESCRIPT}, {QString("css"), L_CSS}, {QString("java"), L_JAVA}, {QString("xml"), L_XML}, {QString("py"), L_PYTHON}, {QString("pas"), L_PASCAL}, {QString("php"), L_PHP}, {QString("sh"), L_BASH}, {QString("pl"), L_PERL}, {QString("rb"), L_RUBY}, {QString("bat"), L_BATCH}, {QString("go"), L_GO}, {QString("txt"), L_TXT}, {QString("pro"), L_INI}, {QString("pri"), L_INI}, {QString("json"), L_JSON}, {QString("lua"), L_LUA}, {QString("sql"), L_SQL}, {QString("yml"), L_YAML}, {QString("m"), L_MATLAB}, {QString("md"), L_MARKDOWN}, {QString("nsi"), L_NSIS}, {QString("nsh"), L_NSIS}, {QString("v"), L_VERILOG}, {QString("rs"), L_RUST}, {QString("frm"), L_VB}, {QString("NULL"), L_EXTERNAL}, }; RC_LINE_FORM getLineEndTypeFromBigText(QString& text) { for (int i = 0, s = text.size(); i < s; ++i) { if (text.at(i) == '\n' && ((i > 1) && text.at(i - 1) == '\r')) { return DOS_LINE; } else if (text.at(i) == '\n' && ((i > 1) && text.at(i - 1) != '\r')) { return UNIX_LINE; } else if (text.at(i) == '\r' && ((i != (s - 1)) && text.at(i + 1) != '\n')) { return MAC_LINE; } } //默认windws return DOS_LINE; } //根据文件的后缀来确定文件的编程语言,进而设置默认的LEXER void initFileTypeLangMap() { if (0 == ExtLexerManager::getInstance()->size()) { //先加载静态的关联文件后缀 for (int i = 0; i < FileExtMapLexerIdLen; ++i) { if (s_fileExtMapLexerId[i].id == L_EXTERNAL) { break; } else { FileExtLexer& v = s_fileExtMapLexerId[i]; //标准的定义可以忽略后面的tag,因为标准lexer的tag都是存在的。 ExtLexerManager::getInstance()->addNewExtType(v.ext, v.id, ScintillaEditView::getTagByLexerId(v.id)); } } //在加载动态的关联部分,这部分是用户自定义的类型。这里最好不要放在多个文件,否则会慢,单独放一个文件即可。 //把新语言tagName,和关联ext单独存放起来ext_tag.ini。只读取一个文件就能获取所有,避免遍历慢 QString extsFile = QString("notepad/userlang/ext_tag");//ext_tag是存在所有tag ext的文件 QSettings qs(QSettings::IniFormat, QSettings::UserScope, extsFile); qs.setIniCodec("UTF-8"); QStringList keys = qs.allKeys(); //LangType lexId = L_USER_TXT; bool ok = true; QString tagName; LangType lexerId; for (int i = 0, s = keys.size(); i < s; ++i) { const QString& tagName = keys.at(i); QStringList exts = qs.value(tagName).toStringList(); lexerId = (LangType)exts.takeLast().toInt(&ok); QString ext; if (ok) { foreach(ext, exts) { ExtLexerManager::getInstance()->addNewExtType(ext, lexerId, tagName); } } } //最后加载用户自定义的文件后缀名和语法关联文件 LangExtSet::loadExtRelevanceToMagr(); } } void CCNotePad::initLexerNameToIndex() { if (m_lexerNameToIndex.isEmpty()) { LexerNode* pNodes = new LexerNode[100]; int i = 0; //pNodes[i].pAct = ui.actionAVS; //pNodes[i].index = L_AVS; QVariant data((int)L_AVS); //ui.actionAVS->setData(data); //m_lexerNameToIndex.insert("avs", pNodes[i]); // ++i; pNodes[i].pAct = ui.actionAssembly; pNodes[i].index = L_ASM; data.setValue(int(L_ASM)); ui.actionAssembly->setData(data); m_lexerNameToIndex.insert("asm", pNodes[i]); ++i; pNodes[i].pAct = ui.actionbash; pNodes[i].index = L_BASH; data.setValue(int(L_BASH)); ui.actionbash->setData(data); m_lexerNameToIndex.insert("bash", pNodes[i]); ++i; pNodes[i].pAct = ui.actionBatch; pNodes[i].index = L_BATCH; data.setValue(int(L_BATCH)); ui.actionBatch->setData(data); m_lexerNameToIndex.insert("batch", pNodes[i]); ++i; pNodes[i].pAct = ui.actionCMake; pNodes[i].index = L_CMAKE; data.setValue(int(L_CMAKE)); ui.actionCMake->setData(data); m_lexerNameToIndex.insert("cmake", pNodes[i]); ++i; pNodes[i].pAct = ui.actionCoffeeScript; pNodes[i].index = L_COFFEESCRIPT; data.setValue(int(L_COFFEESCRIPT)); ui.actionCoffeeScript->setData(data); m_lexerNameToIndex.insert("coffeescript", pNodes[i]); ++i; pNodes[i].pAct = ui.actionCPP; pNodes[i].index = L_CPP; data.setValue(int(L_CPP)); ui.actionCPP->setData(data); m_lexerNameToIndex.insert("cpp", pNodes[i]); ++i; pNodes[i].pAct = ui.actionCShape; pNodes[i].index = L_CS; data.setValue(int(L_CS)); ui.actionCShape->setData(data); m_lexerNameToIndex.insert("csharp", pNodes[i]); ++i; pNodes[i].pAct = ui.actionCss; pNodes[i].index = L_CSS; data.setValue(int(L_CSS)); ui.actionCss->setData(data); m_lexerNameToIndex.insert("css", pNodes[i]); ++i; pNodes[i].pAct = ui.actionD_2; pNodes[i].index = L_D; data.setValue(int(L_D)); ui.actionD_2->setData(data); m_lexerNameToIndex.insert("d", pNodes[i]); ++i; pNodes[i].pAct = ui.actionDiff; pNodes[i].index = L_DIFF; data.setValue(int(L_DIFF)); ui.actionDiff->setData(data); m_lexerNameToIndex.insert("diff", pNodes[i]); ++i; pNodes[i].pAct = ui.actionEdifact; pNodes[i].index = L_EDIFACT; data.setValue(int(L_EDIFACT)); ui.actionEdifact->setData(data); m_lexerNameToIndex.insert("edifact", pNodes[i]); ++i; pNodes[i].pAct = ui.actionFortran; pNodes[i].index = L_FORTRAN; data.setValue(int(L_FORTRAN)); ui.actionFortran->setData(data); m_lexerNameToIndex.insert("fortran", pNodes[i]); ++i; pNodes[i].pAct = ui.actionFortran77; pNodes[i].index = L_FORTRAN_77; data.setValue(int(L_FORTRAN_77)); ui.actionFortran77->setData(data); m_lexerNameToIndex.insert("fortran77", pNodes[i]); ++i; pNodes[i].pAct = ui.actionHTML; pNodes[i].index = L_HTML; data.setValue(int(L_HTML)); ui.actionHTML->setData(data); m_lexerNameToIndex.insert("html", pNodes[i]); ++i; pNodes[i].pAct = ui.actionIDL; pNodes[i].index = L_IDL; data.setValue(int(L_IDL)); ui.actionIDL->setData(data); m_lexerNameToIndex.insert("idl", pNodes[i]); ++i; pNodes[i].pAct = ui.actionJava; pNodes[i].index = L_JAVA; data.setValue(int(L_JAVA)); ui.actionJava->setData(data); m_lexerNameToIndex.insert("java", pNodes[i]); ++i; pNodes[i].pAct = ui.actionJavaScript; pNodes[i].index = L_JAVASCRIPT; data.setValue(int(L_JAVASCRIPT)); ui.actionJavaScript->setData(data); m_lexerNameToIndex.insert("javascript", pNodes[i]); ++i; pNodes[i].pAct = ui.actionjson; pNodes[i].index = L_JSON; data.setValue(int(L_JSON)); ui.actionjson->setData(data); m_lexerNameToIndex.insert("json", pNodes[i]); ++i; pNodes[i].pAct = ui.actionLua; pNodes[i].index = L_LUA; data.setValue(int(L_LUA)); ui.actionLua->setData(data); m_lexerNameToIndex.insert("lua", pNodes[i]); ++i; pNodes[i].pAct = ui.actionMakefile; pNodes[i].index = L_MAKEFILE; data.setValue(int(L_MAKEFILE)); ui.actionMakefile->setData(data); m_lexerNameToIndex.insert("makefile", pNodes[i]); ++i; pNodes[i].pAct = ui.actionMarkDown_2; pNodes[i].index = L_MARKDOWN; data.setValue(int(L_MARKDOWN)); ui.actionMarkDown_2->setData(data); m_lexerNameToIndex.insert("markdown", pNodes[i]); ++i; pNodes[i].pAct = ui.actionMatlab; pNodes[i].index = L_MATLAB; data.setValue(int(L_MATLAB)); ui.actionMatlab->setData(data); m_lexerNameToIndex.insert("matlab", pNodes[i]); ++i; pNodes[i].pAct = ui.actionNSIS; pNodes[i].index = L_NSIS; data.setValue(int(L_NSIS)); ui.actionNSIS->setData(data); m_lexerNameToIndex.insert("nsis", pNodes[i]); ++i; pNodes[i].pAct = ui.actionOctave; pNodes[i].index = L_OCTAVE; data.setValue(int(L_OCTAVE)); ui.actionOctave->setData(data); m_lexerNameToIndex.insert("octave", pNodes[i]); ++i; pNodes[i].pAct = ui.actionPascal; pNodes[i].index = L_PASCAL; data.setValue(int(L_PASCAL)); ui.actionPascal->setData(data); m_lexerNameToIndex.insert("pascal", pNodes[i]); ++i; pNodes[i].pAct = ui.actionPerl; pNodes[i].index = L_PERL; data.setValue(int(L_PERL)); ui.actionPerl->setData(data); m_lexerNameToIndex.insert("perl", pNodes[i]); ++i; pNodes[i].pAct = ui.actionPo; pNodes[i].index = L_PO; data.setValue(int(L_PO)); ui.actionPo->setData(data); m_lexerNameToIndex.insert("po", pNodes[i]); ++i; pNodes[i].pAct = ui.actionPostScript; pNodes[i].index = L_PS; data.setValue(int(L_PS)); ui.actionPostScript->setData(data); m_lexerNameToIndex.insert("postscript", pNodes[i]); ++i; pNodes[i].pAct = ui.actionPov; pNodes[i].index = L_POV; data.setValue(int(L_POV)); ui.actionPov->setData(data); m_lexerNameToIndex.insert("pov", pNodes[i]); ++i; pNodes[i].pAct = ui.actionProperties_file; pNodes[i].index = L_INI; data.setValue(int(L_INI)); ui.actionProperties_file->setData(data); m_lexerNameToIndex.insert("props", pNodes[i]); ++i; pNodes[i].pAct = ui.actionPython; pNodes[i].index = L_PYTHON; data.setValue(int(L_PYTHON)); ui.actionPython->setData(data); m_lexerNameToIndex.insert("python", pNodes[i]); ++i; pNodes[i].pAct = ui.actionR_2; pNodes[i].index = L_R; data.setValue(int(L_R)); ui.actionR_2->setData(data); m_lexerNameToIndex.insert("r", pNodes[i]); ++i; pNodes[i].pAct = ui.actionRuby; pNodes[i].index = L_RUBY; data.setValue(int(L_RUBY)); ui.actionRuby->setData(data); m_lexerNameToIndex.insert("ruby", pNodes[i]); ++i; pNodes[i].pAct = ui.actionRust; pNodes[i].index = L_RUST; data.setValue(int(L_RUST)); ui.actionRust->setData(data); m_lexerNameToIndex.insert("rust", pNodes[i]); ++i; pNodes[i].pAct = ui.actionShell; pNodes[i].index = L_BASH; data.setValue(int(L_BASH)); ui.actionShell->setData(data); m_lexerNameToIndex.insert("shell", pNodes[i]); ++i; pNodes[i].pAct = ui.actionSpice; pNodes[i].index = L_SPICE; data.setValue(int(L_SPICE)); ui.actionSpice->setData(data); m_lexerNameToIndex.insert("spice", pNodes[i]); ++i; pNodes[i].pAct = ui.actionSql; pNodes[i].index = L_SQL; data.setValue(int(L_SQL)); ui.actionSql->setData(data); m_lexerNameToIndex.insert("sql", pNodes[i]); ++i; pNodes[i].pAct = ui.actionTcl; pNodes[i].index = L_TCL; data.setValue(int(L_TCL)); ui.actionTcl->setData(data); m_lexerNameToIndex.insert("tcl", pNodes[i]); ++i; pNodes[i].pAct = ui.actionTex; pNodes[i].index = L_TEX; data.setValue(int(L_TEX)); ui.actionTex->setData(data); m_lexerNameToIndex.insert("tex", pNodes[i]); ++i; pNodes[i].pAct = ui.actionVb; pNodes[i].index = L_VB; data.setValue(int(L_VB)); ui.actionVb->setData(data); m_lexerNameToIndex.insert("vb", pNodes[i]); ++i; pNodes[i].pAct = ui.actionVerilog; pNodes[i].index = L_VERILOG; data.setValue(int(L_VERILOG)); ui.actionVerilog->setData(data); m_lexerNameToIndex.insert("verilog", pNodes[i]); ++i; pNodes[i].pAct = ui.actionVHDL; pNodes[i].index = L_VHDL; data.setValue(int(L_VHDL)); ui.actionVHDL->setData(data); m_lexerNameToIndex.insert("vhdl", pNodes[i]); ++i; pNodes[i].pAct = ui.actionXML; pNodes[i].index = L_XML; data.setValue(int(L_XML)); ui.actionXML->setData(data); m_lexerNameToIndex.insert("xml", pNodes[i]); ++i; pNodes[i].pAct = ui.actionYAML; pNodes[i].index = L_YAML; data.setValue(int(L_YAML)); ui.actionYAML->setData(data); m_lexerNameToIndex.insert("yaml", pNodes[i]); ++i; //共用C++ pNodes[i].pAct = ui.actionC; pNodes[i].index = L_C; data.setValue(int(L_C)); ui.actionC->setData(data); m_lexerNameToIndex.insert("c", pNodes[i]); ++i; pNodes[i].pAct = ui.actionObjective_C; pNodes[i].index = L_OBJC; data.setValue(int(L_OBJC)); ui.actionObjective_C->setData(data); m_lexerNameToIndex.insert("objc", pNodes[i]); ++i; pNodes[i].pAct = ui.actionRC; pNodes[i].index = L_RC; data.setValue(int(L_RC)); ui.actionRC->setData(data); m_lexerNameToIndex.insert("rc", pNodes[i]); ++i; pNodes[i].pAct = ui.actionASP; pNodes[i].index = L_ASP; data.setValue(int(L_ASP)); ui.actionASP->setData(data); m_lexerNameToIndex.insert("asp", pNodes[i]); ++i; pNodes[i].pAct = ui.actionJsp; pNodes[i].index = L_JSP; data.setValue(int(L_JSP)); ui.actionJsp->setData(data); m_lexerNameToIndex.insert("jsp", pNodes[i]); ++i; pNodes[i].pAct = ui.actionPhp; pNodes[i].index = L_PHP; data.setValue(int(L_PHP)); ui.actionPhp->setData(data); m_lexerNameToIndex.insert("php", pNodes[i]); ++i; pNodes[i].pAct = ui.actionini; pNodes[i].index = L_INI; data.setValue(int(L_INI)); ui.actionini->setData(data); m_lexerNameToIndex.insert("ini", pNodes[i]); ++i; pNodes[i].pAct = ui.actionTypeScript; pNodes[i].index = L_TYPESCRIPT; data.setValue(int(L_TYPESCRIPT)); ui.actionTypeScript->setData(data); m_lexerNameToIndex.insert("typescript", pNodes[i]); ++i; pNodes[i].pAct = ui.actionGo; pNodes[i].index = L_GO; data.setValue(int(L_GO)); ui.actionGo->setData(data); m_lexerNameToIndex.insert("go", pNodes[i]); ++i; pNodes[i].pAct = ui.actionTxt; pNodes[i].index = L_TXT; data.setValue(int(L_TXT)); ui.actionTxt->setData(data); m_lexerNameToIndex.insert("txt", pNodes[i]); ++i; pNodes[i].pAct = ui.actionUserDefine; pNodes[i].index = L_USER_DEFINE; data.setValue(int(L_USER_DEFINE)); ui.actionUserDefine->setData(data); m_lexerNameToIndex.insert("UserDefine", pNodes[i]); ++i; delete[]pNodes; } } #ifdef Q_OS_WIN int CCNotePad::runAsAdmin(const QString& filePath) { //已经是管理员了,直接返回错误 if (s_isAdminAuth) { ui.statusBar->showMessage(tr("Run As Admin Failed to save the file. Please check the file permissions.")); return 1; } TCHAR nddFullPath[MAX_PATH]; ::GetModuleFileName(NULL, nddFullPath, MAX_PATH); ////先释放掉单一占位的内存 //if (m_shareMem->isAttached()) //{ // m_shareMem->detach(); //} QString argStr = QString("-muti %1").arg(filePath); std::basic_string args = StringToWString(argStr.toStdString()); size_t shellExecRes = (size_t)::ShellExecute(NULL, TEXT("runas"), nddFullPath, args.c_str(), TEXT("."), SW_SHOW); // If the function succeeds, it returns a value greater than 32. If the function fails, // it returns an error value that indicates the cause of the failure. // https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx if (shellExecRes < 32) { //失败后弹框。 QMessageBox::warning(nullptr, tr("Error"), tr("Can't Get Admin Auth, Open File %1 failed").arg(filePath)); return 1; } else { //成功后暂时不退出,因为amin存在的还有存在一些问题,比如后续文件不能右键菜单打开 //所以还需要维持当前这个界面存在 //成功获取权限后当前退出。这里其实还需要做一些释放操作 /*if (m_shareMem->isAttached()) { m_shareMem->detach(); } exit(0);*/ return 1; } } #endif //需要临时写一些文件,保存在该目录中。目前就是管理员提权时,保存之前的文件。 QString getGlboalTempSaveDir() { //就是app/notepad/temp的目录 QString tempFileList = QString("notepad/temp/list"); QSettings qs(QSettings::IniFormat, QSettings::UserScope, tempFileList); QString qsSavePath = qs.fileName(); QFileInfo fi(qsSavePath); return fi.dir().absolutePath(); } void setEditShowBlankStatus(ScintillaEditView* pEdit, int blankSet) { if (blankSet == 1) { pEdit->setWhitespaceVisibility(QsciScintilla::WsVisible); pEdit->setEolVisibility(false); } else if(blankSet == 2) { pEdit->setWhitespaceVisibility(QsciScintilla::WsInvisible); pEdit->setEolVisibility(true); } else if (blankSet == 3) { pEdit->setWhitespaceVisibility(QsciScintilla::WsVisible); pEdit->setEolVisibility(true); } else if (blankSet == 0) { pEdit->setWhitespaceVisibility(QsciScintilla::WsInvisible); pEdit->setEolVisibility(false); } } //根据文件类型给出语言id LexerInfo CCNotePad::getLangLexerIdByFileExt(QString filePath) { QFileInfo fi(filePath); QString ext = fi.suffix(); LexerInfo lexer(L_TXT,"txt"); if(ExtLexerManager::getInstance()->getLexerTypeByExt(ext, lexer)) { return lexer; } return lexer; } CCNotePad::CCNotePad(bool isMainWindows, QWidget *parent) : QMainWindow(parent), m_cutFile(nullptr),m_copyFile(nullptr), m_dockSelectTreeWin(nullptr), \ m_pResultWin(nullptr),m_isQuitCancel(false), m_tabRightClickMenu(nullptr), m_shareMem(nullptr),m_isMainWindows(isMainWindows),\ m_openInNewWinAct(nullptr), m_showFileDirAct(nullptr), m_showCmdAct(nullptr), m_timerAutoSave(nullptr), m_curColorIndex(-1), \ m_fileListView(nullptr), m_isInReloadFile(false), m_isToolMenuLoaded(false), m_isRecentFileLoaded(false) { ui.setupUi(this); #ifdef Q_OS_MAC setWindowIcon(QIcon(":/mac.icns")); #endif NddSetting::init(); m_translator = new QTranslator(this); m_curSoftLangs = NddSetting::getKeyValueFromNumSets(LANGS_KEY); switch (m_curSoftLangs) { case 0: //自动选择 { QLocale local; if (local.language() == QLocale::Chinese) { slot_changeChinese(); } break; } case 1: slot_changeChinese(); break; case 2: slot_changeEnglish(); break; default: break; } #if 0 if (s_padInstances == nullptr) { s_padInstances = new QList(); s_padInstances->append(this); } //启用拖动 setAcceptDrops(true); initFileTypeLangMap(); initLexerNameToIndex(); //这里在主线程里面调用一下,避免后续因为没有创建,而可能在子线程中初始化里面的值,而且多个子线程引发重入竞争问题 //20220402在1.11中发现这个问题。所以加上这里的手动调用 DocTypeListView::initSupportFileTypes(); ui.editTabWidget->setTabsClosable(true); QTabBar* pBar = ui.editTabWidget->tabBar(); connect(pBar,&QTabBar::tabCloseRequested,this,&CCNotePad::slot_tabClose); m_codeStatusLabel = new QLabel("UTF8", ui.statusBar); #ifdef Q_OS_WIN m_lineEndLabel = new QLabel("Windows(CR LF)", ui.statusBar); #endif #ifdef Q_OS_UNIX m_lineEndLabel = new QLabel("Windows(LF)", ui.statusBar); #endif m_lineNumLabel = new QLabel(tr("Ln:0 Col:0"), ui.statusBar); m_langDescLabel = new QLabel("Txt", ui.statusBar); m_codeStatusLabel->setMinimumWidth(120); m_lineEndLabel->setMinimumWidth(100); m_lineNumLabel->setMinimumWidth(120); m_langDescLabel->setMinimumWidth(100); //0在前面,越小越在左边 ui.statusBar->insertPermanentWidget(0, m_langDescLabel); ui.statusBar->insertPermanentWidget(1, m_lineNumLabel); ui.statusBar->insertPermanentWidget(2, m_lineEndLabel); ui.statusBar->insertPermanentWidget(3, m_codeStatusLabel); initToolBar(); m_saveFile->setEnabled(false); m_saveAllFile->setEnabled(false); initReceneOpenFileMenu(); //最后加入退出菜单 ui.menuFile->addSeparator(); m_quitAction = ui.menuFile->addAction(tr("Quit"), this, &CCNotePad::slot_quit); m_quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); connect(ui.editTabWidget,&QTabWidget::currentChanged,this,&CCNotePad::slot_tabCurrentChanged); connect(ui.editTabWidget, &QTabWidget::tabBarClicked, this, &CCNotePad::slot_tabBarClicked); ui.editTabWidget->installEventFilter(this); m_fileWatch = new QFileSystemWatcher(this); connect(m_fileWatch,&QFileSystemWatcher::fileChanged,this, &CCNotePad::slot_fileChange); //只有主窗口才监控openwith的文件 if (isMainWindows) { initNotePadSqlOptions(); } slot_loadBookMarkMenu(); QByteArray lastGeo = NddSetting::getKeyByteArrayValue(WIN_POS); if (!lastGeo.isEmpty()) { restoreGeometry(lastGeo); } #endif } CCNotePad::~CCNotePad() { //只有主窗口,才有保存最近打开列表的权力 if (m_isMainWindows) { saveReceneOpenFile(); saveNotePadSqlOptions(); savePadUseTimes(); } NddSetting::close(); } //先快速让窗口展示处理,后续再去做复杂的初始化 void CCNotePad::quickshow() { QByteArray lastGeo = NddSetting::getKeyByteArrayValue(WIN_POS); if (!lastGeo.isEmpty()) { restoreGeometry(lastGeo); } show(); QCoreApplication::processEvents(); if (s_padInstances == nullptr) { s_padInstances = new QList(); s_padInstances->append(this); } //启用拖动 setAcceptDrops(true); initFileTypeLangMap(); initLexerNameToIndex(); //这里在主线程里面调用一下,避免后续因为没有创建,而可能在子线程中初始化里面的值,而且多个子线程引发重入竞争问题 //20220402在1.11中发现这个问题。所以加上这里的手动调用 DocTypeListView::initSupportFileTypes(); ui.editTabWidget->setTabsClosable(true); QTabBar* pBar = ui.editTabWidget->tabBar(); connect(pBar, &QTabBar::tabCloseRequested, this, &CCNotePad::slot_tabClose); m_codeStatusLabel = new QLabel("UTF8", ui.statusBar); m_lineEndLabel = new QComboBox(ui.statusBar); m_lineEndLabel->addItems(QStringList() << "Windows(CR LF)" << "Unix(LF)" << "Mac(CR)"); #ifdef Q_OS_WIN m_lineEndLabel->setCurrentIndex(0); #else m_lineEndLabel->setCurrentIndex(1); #endif connect(m_lineEndLabel, QOverload::of(&QComboBox::currentIndexChanged), this, &CCNotePad::on_lineEndChange); m_lineNumLabel = new QLabel(tr("Ln:0 Col:0"), ui.statusBar); m_langDescLabel = new QLabel("Txt", ui.statusBar); m_zoomLabel = new QLabel("Zoom", ui.statusBar); m_codeStatusLabel->setMinimumWidth(120); m_lineEndLabel->setMinimumWidth(100); m_lineNumLabel->setMinimumWidth(120); m_langDescLabel->setMinimumWidth(100); m_zoomLabel->setMinimumWidth(100); //0在前面,越小越在左边 ui.statusBar->insertPermanentWidget(0, m_zoomLabel); ui.statusBar->insertPermanentWidget(1, m_langDescLabel); ui.statusBar->insertPermanentWidget(2, m_lineNumLabel); ui.statusBar->insertPermanentWidget(3, m_lineEndLabel); ui.statusBar->insertPermanentWidget(4, m_codeStatusLabel); initToolBar(); m_saveFile->setEnabled(false); m_saveAllFile->setEnabled(false); //initReceneOpenFileMenu(); //延迟加载最近菜单列表 connect(ui.menuRecene_File, &QMenu::aboutToShow, this, &CCNotePad::on_loadReceneFile); //最后加入退出菜单 ui.menuFile->addSeparator(); #if 0 m_quitAction = ui.menuFile->addAction(tr("Quit"), this, &CCNotePad::slot_quit); m_quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); #endif connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); connect(ui.editTabWidget, &QTabWidget::tabBarClicked, this, &CCNotePad::slot_tabBarClicked, Qt::QueuedConnection); //双击在新窗口中打开 connect(ui.editTabWidget, &QTabWidget::tabBarDoubleClicked, this, &CCNotePad::on_tabBarDoubleClicked, Qt::QueuedConnection); ui.editTabWidget->installEventFilter(this); m_fileWatch = new QFileSystemWatcher(this); connect(m_fileWatch, &QFileSystemWatcher::fileChanged, this, &CCNotePad::slot_fileChange); //只有主窗口才监控openwith的文件 if (m_isMainWindows) { initNotePadSqlOptions(); } m_isInitBookMarkAct = false; slot_loadBookMarkMenu(); slot_loadMarkColor(); m_isToolMenuLoaded = false; init_toolsMenu(); this->setContextMenuPolicy(Qt::NoContextMenu); //恢复文件列表 if (1 == NddSetting::getKeyValueFromNumSets(FILELISTSHOW)) { initFileListDockWin(); } //隐藏工具栏 if (0 == NddSetting::getKeyValueFromNumSets(TOOLBARSHOW)) { ui.mainToolBar->setVisible(false); ui.actionShow_ToolBar->setChecked(false); } //高亮web地址。默认为0不高亮 if (1 == NddSetting::getKeyValueFromNumSets(SHOWWEBADDR)) { s_hightWebAddr = 1; ui.actionShow_Web_Addr->setChecked(true); } //恢复用户自定义快捷键 setUserDefShortcutKey(); } void CCNotePad::on_lineEndChange(int index) { if (index == 0) { if (convertDocLineEnd(DOS_LINE)) { ui.actionconver_windows_CR_LF->setChecked(true); } } else if (index == 1) { if (convertDocLineEnd(UNIX_LINE)) { ui.actionconvert_Unix_LF->setChecked(true); } } else if (index == 2) { if (convertDocLineEnd(MAC_LINE)) { ui.actionconvert_Mac_CR->setChecked(true); } } } void CCNotePad::setUserDefShortcutKey(int shortcutId) { QKeySequence keySeq; switch (shortcutId) { case New_File_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(New_File); ui.actionNewFile->setShortcut(keySeq); break; case Open_File_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Open_File); ui.actionOpenFile->setShortcut(keySeq); break; case Save_File_ID: break; case Save_All_File_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Save_All_File); ui.actionSave_as->setShortcut(keySeq); break; case Close_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Close); ui.actionClose->setShortcut(keySeq); break; case Close_All_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Close_All); ui.actionClose_All->setShortcut(keySeq); break; case Cut_ID: break; case Copy_ID: break; case Paste_ID: break; case Undo_ID: break; case Redo_ID: break; case Find_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Find); ui.actionFind->setShortcut(keySeq); break; case Replace_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Replace); ui.actionReplace->setShortcut(keySeq); break; case Dir_Find_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(DirFind); ui.actionFind_In_Dir->setShortcut(keySeq); break; case Mark_ID: break; case Word_highlight_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Word_highlight); m_signText->setShortcut(keySeq); break; case Clear_all_highlight_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Clear_all_highlight); m_clearMark->setShortcut(keySeq); break; case Zoom_In_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Zoom_In); m_zoomin->setShortcut(keySeq); break; case Zoom_Out_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Zoom_Out); m_zoomout->setShortcut(keySeq); break; case Word_Wrap_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Word_Wrap); ui.actionWrap->setShortcut(keySeq); break; case Show_Blank_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Show_Blank); ui.actionShowAll->setShortcut(keySeq); break; case Indent_Guide_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Indent_Guide); m_indentGuide->setShortcut(keySeq); break; case Pre_Page_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Pre_Page); m_preHexPage->setShortcut(keySeq); break; case Next_Page_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Next_Page); m_nextHexPage->setShortcut(keySeq); break; case Goto_Page_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Goto_Page); ui.actionGoline->setShortcut(keySeq); break; case Trans_code_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Trans_code); m_transcode->setShortcut(keySeq); break; case Batch_rename_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Batch_rename); m_rename->setShortcut(keySeq); break; case Format_Xml_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Format_Xml); m_formatXml->setShortcut(keySeq); break; case Format_Json_ID: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(Format_Json); m_formatJson->setShortcut(keySeq); break; case ADD_DEL_LINE_COM: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(ADD_DELETE_LINE_COMMENT); registerCommentShortKey(ADD_DEL_LINE_COM, keySeq); break; case ADD_BK_COM: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(ADD_BLOCK_COMMENT); registerCommentShortKey(ADD_BK_COM, keySeq); break; case DEL_BK_COM: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(CANCEL_BLOCK_COMMENT); registerCommentShortKey(DEL_BK_COM, keySeq); break; case S_K_FOLD_1: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_1); registerFoldShortKey(S_K_FOLD_1, keySeq, false); break; case S_K_FOLD_2: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_2); registerFoldShortKey(S_K_FOLD_2, keySeq, false); break; case S_K_FOLD_3: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_3); registerFoldShortKey(S_K_FOLD_3, keySeq, false); break; case S_K_FOLD_4: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_4); registerFoldShortKey(S_K_FOLD_4, keySeq, false); break; case S_K_FOLD_5: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_5); registerFoldShortKey(S_K_FOLD_5, keySeq, false); break; case S_K_FOLD_6: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_6); registerFoldShortKey(S_K_FOLD_6, keySeq, false); break; case S_K_FOLD_7: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_7); registerFoldShortKey(S_K_FOLD_7, keySeq, false); break; case S_K_FOLD_8: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(FOLD_8); registerFoldShortKey(S_K_FOLD_8, keySeq, false); break; case S_K_UNFOLD_1: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_1); registerFoldShortKey(S_K_UNFOLD_1, keySeq, true); break; case S_K_UNFOLD_2: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_2); registerFoldShortKey(S_K_UNFOLD_2, keySeq, true); break; case S_K_UNFOLD_3: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_3); registerFoldShortKey(S_K_UNFOLD_3, keySeq, true); break; case S_K_UNFOLD_4: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_4); registerFoldShortKey(S_K_UNFOLD_4, keySeq, true); break; case S_K_UNFOLD_5: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_5); registerFoldShortKey(S_K_UNFOLD_5, keySeq, true); break; case S_K_UNFOLD_6: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_6); registerFoldShortKey(S_K_UNFOLD_6, keySeq, true); break; case S_K_UNFOLD_7: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_7); registerFoldShortKey(S_K_UNFOLD_7, keySeq, true); break; case S_K_UNFOLD_8: keySeq = ShortcutKeyMgr::getUserDefShortcutKey(UNFOLD_8); registerFoldShortKey(S_K_UNFOLD_8, keySeq, true); break; default: break; } } void CCNotePad::registerFoldShortKey(int type, QKeySequence& keySeq, bool isFold) { QShortcut* pStc = new QShortcut(this); pStc->setKey(keySeq); pStc->setContext(Qt::WidgetWithChildrenShortcut); connect(pStc, &QShortcut::activated, this, [=]() { doFold(type, isFold); }); } //注册注释快捷键 void CCNotePad::registerCommentShortKey(int type, QKeySequence& keySeq) { QShortcut* pStc = new QShortcut(this); pStc->setKey(keySeq); pStc->setContext(Qt::WidgetWithChildrenShortcut); connect(pStc, &QShortcut::activated, this, [=]() { doComment(type); }); } //注释问题。 void CCNotePad::doComment(int type) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && !pEdit->isReadOnly()) { pEdit->comment(type); } } void CCNotePad::doFold(int type, bool mode) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->collapse((mode?(type - S_K_UNFOLD_1): (type - S_K_FOLD_1)), mode); } } //设置用户自定义快捷键 void CCNotePad::setUserDefShortcutKey() { ShortcutKeyMgr::initShortcutKeysMap(); for (int i = New_File_ID; i < Shortcut_End_ID; ++i) { setUserDefShortcutKey(i); } } void CCNotePad::init_toolsMenu() { slot_dynamicLoadToolMenu(); //connect(ui.menuTools,&QMenu::aboutToShow,this,&CCNotePad::slot_dynamicLoadToolMenu); } enum ToolMenuAct { BATCH_FIND = 1, }; //动态加载工具菜单项 void CCNotePad::slot_dynamicLoadToolMenu() { if (!m_isToolMenuLoaded) { m_isToolMenuLoaded = true; connect(ui.actionPlugin_Manager, &QAction::triggered, this, &CCNotePad::slot_pluginMgr, Qt::UniqueConnection); QMenu* formatMenu = new QMenu(tr("Format Language"), this); m_formatXml = formatMenu->addAction(tr("Format Xml"), this, &CCNotePad::slot_formatXml); m_formatJson = formatMenu->addAction(tr("Format Json"), this, &CCNotePad::slot_formatJson); ui.menuTools->addMenu(formatMenu); QAction* pAct = nullptr; pAct = ui.menuTools->addAction(tr("Batch Find"), this, &CCNotePad::slot_batchFind); pAct->setData(BATCH_FIND); #ifdef NO_PLUGIN //动态加载插件 m_pluginList.clear(); loadPluginLib(); #endif } } void CCNotePad::slot_pluginMgr() { #ifdef NO_PLUGIN PluginMgr* pWin = new PluginMgr(this, m_pluginList); pWin->setAttribute(Qt::WA_DeleteOnClose); pWin->show(); #else QMessageBox::warning(this, "info", u8"便携版本不支持插件,请下载插件版!"); #endif } #ifdef NO_PLUGIN void CCNotePad::loadPluginLib() { QString strDir = qApp->applicationDirPath(); QDir dir(strDir); if (dir.cd("./plugin")) { strDir = dir.absolutePath(); loadPluginProcs(strDir,ui.menuPlugin); } } void CCNotePad::onPlugFound(NDD_PROC_DATA& procData, QMenu* pUserData) { QMenu* pMenu = pUserData; if (pMenu == NULL) { return; } //创建action if (procData.m_menuType == 0) { QAction* pAction = new QAction(procData.m_strPlugName, pMenu); pMenu->addAction(pAction); pAction->setText(procData.m_strPlugName); pAction->setData(procData.m_strFilePath); connect(pAction, &QAction::triggered, this, &CCNotePad::onPlugWork); } else if (procData.m_menuType == 1) { //创建二级菜单 QMenu* pluginMenu = new QMenu(procData.m_strPlugName, pMenu); pMenu->addMenu(pluginMenu); //菜单句柄通过procData传递到插件中 procData.m_rootMenu = pluginMenu; sendParaToPlugin(procData); } else { return; } m_pluginList.append(procData); } //真正执行插件的工作 void CCNotePad::onPlugWork(bool check) { QAction* pAct = dynamic_cast(sender()); if (pAct != nullptr) { QString plugPath = pAct->data().toString(); QLibrary* pLib = new QLibrary(plugPath); NDD_PROC_MAIN_CALLBACK pMainCallBack; pMainCallBack = (NDD_PROC_MAIN_CALLBACK)pLib->resolve("NDD_PROC_MAIN"); if (pMainCallBack != NULL) { std::function foundCallBack = std::bind(&CCNotePad::getCurEditView, this); std::function pluginCallBack = std::bind(&CCNotePad::pluginInvoke, this, std::placeholders::_1, std::placeholders::_2); pMainCallBack(this, plugPath, foundCallBack, pluginCallBack, nullptr); } else { ui.statusBar->showMessage(tr("plugin %1 load failed !").arg(plugPath), 10000); } } } //把插件需要的参数,传递到插件中去 void CCNotePad::sendParaToPlugin(NDD_PROC_DATA& procData) { QString plugPath = procData.m_strFilePath; QLibrary* pLib = new QLibrary(plugPath); NDD_PROC_MAIN_CALLBACK pMainCallBack; pMainCallBack = (NDD_PROC_MAIN_CALLBACK)pLib->resolve("NDD_PROC_MAIN"); if (pMainCallBack != NULL) { std::function foundCallBack = std::bind(&CCNotePad::getCurEditView, this); std::function pluginCallBack = std::bind(&CCNotePad::pluginInvoke, this, std::placeholders::_1, std::placeholders::_2); pMainCallBack(this, plugPath, foundCallBack, pluginCallBack, &procData); } else { ui.statusBar->showMessage(tr("plugin %1 load failed !").arg(plugPath), 10000); } } void CCNotePad::loadPluginProcs(QString strLibDir, QMenu* pMenu) { std::function foundCallBack = std::bind(&CCNotePad::onPlugFound, this, std::placeholders::_1, std::placeholders::_2); int nRet = loadProc(strLibDir, foundCallBack, pMenu); if (nRet > 0) { ui.statusBar->showMessage(tr("load plugin in dir %1 success, plugin num %2").arg(strLibDir).arg(nRet)); } } #endif //批量查找替换 void CCNotePad::slot_batchFind() { #ifdef uos bool isPosAdjust = false; #endif if (m_batchFindWin.isNull()) { m_batchFindWin = new BatchFindReplace(this); m_batchFindWin->setAttribute(Qt::WA_DeleteOnClose); BatchFindReplace* pWin = dynamic_cast(m_batchFindWin.data()); pWin->setTabWidget(ui.editTabWidget); QByteArray lastGeo = NddSetting::getWinPos(BATCH_FIND_REPLACE_POS); if (!lastGeo.isEmpty()) { m_batchFindWin->restoreGeometry(lastGeo); #ifdef uos isPosAdjust = true; #endif } } m_batchFindWin->show(); #ifdef uos if (!isPosAdjust) { adjustWInPos(m_batchFindWin); } #endif } #ifdef Q_OS_WIN void CCNotePad::checkAppFont() { //检查win下面的字体,win11有时默认字体是楷体 QFont srcFont = QApplication::font(); //win11发现字体是楷体。检测并设置一下 if (QString("SimSun") != srcFont.family()) { QFont font(QString("Courier"), 9); QApplication::setFont(font); ui.statusBar->showMessage(tr("If display exceptions,Please Install System Font Courier")); } } #endif enum BookMarkActId { SET_REMOVE=1, NEXT_MARK, PREV_MARK, CLEAR_MARK, CUT_MARK_LINE, COPY_MARK_LINE, PASTE_MARK_LINE, DELETE_MARK_LINE, DELETE_UNMARK, CLIP_MARK, }; void CCNotePad::slot_bookMarkAction() { QAction* pAct = dynamic_cast(sender()); if (pAct != nullptr) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit == nullptr) { return; } BookMarkActId id = (BookMarkActId)pAct->data().toInt(); switch (id) { case SET_REMOVE: pEdit->bookmarkToggle(-1); break; case NEXT_MARK: pEdit->bookmarkNext(true); break; case PREV_MARK: pEdit->bookmarkNext(false); break; case CLEAR_MARK: pEdit->bookmarkClearAll(); break; case CUT_MARK_LINE: pEdit->cutMarkedLines(); break; case COPY_MARK_LINE: pEdit->copyMarkedLines(); break; case PASTE_MARK_LINE: pEdit->pasteToMarkedLines(); break; case DELETE_MARK_LINE: pEdit->deleteMarkedLines(true); break; case DELETE_UNMARK: pEdit->deleteMarkedLines(false); break; case CLIP_MARK: pEdit->inverseMarks(); break; default: break; } } } //动态加载书签的菜单项 void CCNotePad::slot_loadBookMarkMenu() { if (!m_isInitBookMarkAct) { m_isInitBookMarkAct = true; QAction* pAct = nullptr; pAct = ui.menuBook_Mark->addAction(tr("Set/Remove BookMark"), this, &CCNotePad::slot_bookMarkAction, QKeySequence("Ctrl+F2")); pAct->setData(SET_REMOVE); pAct = ui.menuBook_Mark->addAction(tr("Next BookMark"), this, &CCNotePad::slot_bookMarkAction, QKeySequence("F2")); pAct->setData(NEXT_MARK); pAct = ui.menuBook_Mark->addAction(tr("Prev BookMark"), this, &CCNotePad::slot_bookMarkAction, QKeySequence("Shift+F2")); pAct->setData(PREV_MARK); pAct = ui.menuBook_Mark->addAction(tr("ClearAll BookMark"), this, &CCNotePad::slot_bookMarkAction); pAct->setData(CLEAR_MARK); pAct = ui.menuBook_Mark->addAction(tr("Cut BookMark Lines"), this, &CCNotePad::slot_bookMarkAction); pAct->setData(CUT_MARK_LINE); pAct = ui.menuBook_Mark->addAction(tr("Copy BookMark Lines"), this, &CCNotePad::slot_bookMarkAction); pAct->setData(COPY_MARK_LINE); pAct = ui.menuBook_Mark->addAction(tr("Paste BookMark Lines"), this, &CCNotePad::slot_bookMarkAction); pAct->setData(PASTE_MARK_LINE); pAct = ui.menuBook_Mark->addAction(tr("Delete BookMark Lines"), this, &CCNotePad::slot_bookMarkAction); pAct->setData(DELETE_MARK_LINE); pAct = ui.menuBook_Mark->addAction(tr("Delete UnBookMark Lines"), this, &CCNotePad::slot_bookMarkAction); pAct->setData(DELETE_UNMARK); pAct = ui.menuBook_Mark->addAction(tr("Clip BookMark"), this, &CCNotePad::slot_bookMarkAction); pAct->setData(CLIP_MARK); } } void CCNotePad::slot_markColorGroup(QAction *action) { CCNotePad::s_curMarkColorId = action->data().toInt(); slot_wordHighlight(); } #define SCE_UNIVERSAL_FOUND_STYLE_START 20 //修改标记样式的颜色 void CCNotePad::changeMarkColor(int sytleId) { if (sytleId < 5) { QPixmap colorBar(36, 36); colorBar.fill((&StyleSet::s_global_style->mark_style_1)[sytleId].bgColor); m_styleMarkActList.at(sytleId)->setIcon(colorBar); } } void CCNotePad::slot_loadMarkColor() { if (m_curColorIndex == -1) { m_curColorIndex = 0; QPixmap colorBar(36, 36); QActionGroup* markColorGroup = new QActionGroup(this); connect(markColorGroup, &QActionGroup::triggered, this, &CCNotePad::slot_markColorGroup, Qt::QueuedConnection); int index = 1; auto initColorBar = [this, markColorGroup,&index](QPixmap& colorBar)->QAction* { QAction* action = new QAction(ui.menuMark_Color); action->setIcon(colorBar); action->setText(tr("Color %1").arg(index)); action->setData(index+ SCE_UNIVERSAL_FOUND_STYLE_START); ++index; ui.menuMark_Color->addAction(action); markColorGroup->addAction(action); return action; }; m_styleMarkActList.clear(); colorBar.fill(StyleSet::s_global_style->mark_style_1.bgColor); m_styleMarkActList.append(initColorBar(colorBar)); colorBar.fill(StyleSet::s_global_style->mark_style_2.bgColor); m_styleMarkActList.append(initColorBar(colorBar)); colorBar.fill(StyleSet::s_global_style->mark_style_3.bgColor); m_styleMarkActList.append(initColorBar(colorBar)); colorBar.fill(StyleSet::s_global_style->mark_style_4.bgColor); m_styleMarkActList.append(initColorBar(colorBar)); colorBar.fill(StyleSet::s_global_style->mark_style_5.bgColor); m_styleMarkActList.append(initColorBar(colorBar)); } } void CCNotePad::syncCurSkinToMenu(int id) { s_curStyleId = id; } void CCNotePad::slot_changeChinese() { if (m_translator->load(":/realcompare_zh.qm")) { qApp->installTranslator(m_translator); ui.retranslateUi(this); if (m_curSoftLangs != 1) { m_curSoftLangs = 1; NddSetting::updataKeyValueFromNumSets(LANGS_KEY, m_curSoftLangs); } //如果已经加载了,则冲加载,否则中英文切换不生效 if (m_isToolMenuLoaded) { #ifdef NO_PLUGIN ui.menuPlugin->clear(); ui.menuPlugin->addAction(ui.actionPlugin_Manager); #endif ui.menuTools->clear(); m_isToolMenuLoaded = false; slot_dynamicLoadToolMenu(); } } } #ifdef uos void CCNotePad::adjustWInPos(QWidget* pWin) { QPoint globalPos = this->mapToGlobal(QPoint(0,0));//父窗口绝对坐标 int x = globalPos.x() + 300;//x坐标 int y = globalPos.y() + 100;//y坐标 pWin->move(x, y); } #endif void CCNotePad::slot_changeEnglish() { m_translator->load(""); qApp->installTranslator(m_translator); ui.retranslateUi(this); if (m_curSoftLangs != 2) { m_curSoftLangs = 2; NddSetting::updataKeyValueFromNumSets(LANGS_KEY, m_curSoftLangs); } //如果已经加载了,则冲加载,否则中英文切换不生效 if (m_isToolMenuLoaded) { #ifdef NO_PLUGIN ui.menuPlugin->clear(); ui.menuPlugin->addAction(ui.actionPlugin_Manager); #endif ui.menuTools->clear(); m_isToolMenuLoaded = false; slot_dynamicLoadToolMenu(); } } #if 0 void CCNotePad::saveDefFont() { if (s_txtFont.toString() != m_txtFontStr) { QString newFont = s_txtFont.toString(); NddSetting::updataKeyValueFromSets(TXT_FONT, newFont); } if (s_proLangFont.toString() != m_proLangFontStr) { QString newFont = s_proLangFont.toString(); NddSetting::updataKeyValueFromSets(PRO_LANG_FONT, newFont); } } #endif void CCNotePad::savePadUseTimes() { QString key("padtimes"); int times = NddSetting::getKeyValueFromNumSets(key); NddSetting::updataKeyValueFromNumSets(key, s_padTimes + times); } void CCNotePad::slot_searchResultShow() { initFindResultDockWin(); m_dockSelectTreeWin->show(); } //读取Sql的全局配置 void CCNotePad::initNotePadSqlOptions() { //tab的长度,默认为4 QString key("tablens"); ScintillaEditView::s_tabLens = NddSetting::getKeyValueFromNumSets(key); //space replace tab空格替换tab,默认1 QString key1("tabnouse"); ScintillaEditView::s_noUseTab = (1 == NddSetting::getKeyValueFromNumSets(key1)) ? true : false; ScintillaEditView::s_bigTextSize = NddSetting::getKeyValueFromNumSets(MAX_BIG_TEXT); if (ScintillaEditView::s_bigTextSize < 50 || ScintillaEditView::s_bigTextSize > 600) { ScintillaEditView::s_bigTextSize = 100; } s_restoreLastFile = NddSetting::getKeyValueFromNumSets(RESTORE_CLOSE_FILE); } //保存Sql的全局配置 void CCNotePad::saveNotePadSqlOptions() { QString key("tablens"); NddSetting::updataKeyValueFromNumSets(key, ScintillaEditView::s_tabLens); QString key1("tabnouse"); NddSetting::updataKeyValueFromNumSets(key1, ScintillaEditView::s_noUseTab?1:0); NddSetting::updataKeyValueFromNumSets(MAX_BIG_TEXT, ScintillaEditView::s_bigTextSize); NddSetting::updataKeyValueFromNumSets(RESTORE_CLOSE_FILE, CCNotePad::s_restoreLastFile); } //设置程序为文件右键的关联项目 void CCNotePad::setToFileRightMenu() { #if 0 #ifdef _WIN32 #ifdef _DEBUG return; #endif QString exepath = QCoreApplication::applicationFilePath(); exepath = exepath.replace("/", "\\"); QString iconTxt = exepath; exepath += " \"%1\""; QString menuDisplayName(tr("Edit with Notepad--")); QString keyPath = "HKEY_CLASSES_ROOT\\*\\shell\\" + menuDisplayName + "\\command"; QString iconPath = "HKEY_CLASSES_ROOT\\*\\shell\\" + menuDisplayName; QSettings settings(keyPath, QSettings::NativeFormat); QSettings iconSettings(iconPath, QSettings::NativeFormat); if (settings.value(".").toString() != exepath) { settings.setValue(".", exepath); iconSettings.setValue("Icon", iconTxt); //在读一次 if (settings.value(".").toString() != exepath) { //QMessageBox::warning(nullptr, tr("Notice"), tr("Please run in admin auth")); ui.statusBar->showMessage(tr("Please run in admin auth")); } } #endif #endif } void CCNotePad::slot_fileChange(QString filePath) { QWidget *pw = nullptr; int changeIndex = -1; for (int i = 0; i < ui.editTabWidget->count(); ++i) { pw = ui.editTabWidget->widget(i); if (pw != nullptr && (pw->property(Edit_View_FilePath) == filePath)) { //这里只设置1个标志,下次获取焦点时,才判定询问是否需要重新加载 pw->setProperty(Modify_Outside, QVariant(true)); changeIndex = i; break; } } //如果就是当前文件,则直接弹窗提示 if (ui.editTabWidget->currentIndex() == changeIndex) { checkRoladFile(dynamic_cast(pw)); } } void CCNotePad::slot_tabBarDoubleClicked(int index) { if (-1 == index) { initTabNewOne(); } } //tab的双击行为 void CCNotePad::on_tabBarDoubleClicked(int index) { //如果是主窗口,则分出去;反之则回到主窗口 QWidget* pw = ui.editTabWidget->widget(index); if (pw == nullptr || (-1 != getFileNewIndexProperty(pw))) { return; } if (m_isMainWindows) { openFileInNewWin(index); } else { //一个窗口时,分出去后,当前直接关闭 bool isQuit = (ui.editTabWidget->count() == 1); if (pw != nullptr) { QString filePath = getFilePathProperty(pw); tabClose(index, true); if (s_padInstances != nullptr) { for (int i = 0; i < s_padInstances->size(); ++i) { CCNotePad* c = s_padInstances->at(i); if (c->m_isMainWindows) { c->openFile(filePath); } } } if(isQuit) { close(); } } } } void CCNotePad::slot_tabBarClicked(int index) { QWidget* pw = ui.editTabWidget->widget(index); if (pw == nullptr) { return; } int docType = getDocTypeProperty(pw); if (TXT_TYPE == docType) { ScintillaEditView* pEdit = dynamic_cast(pw); if (checkRoladFile(pEdit)) { return; } } //右键菜单 if (Qt::RightButton == QGuiApplication::mouseButtons()) { if (m_tabRightClickMenu == nullptr) { m_tabRightClickMenu = new QMenu(this); m_tabRightClickMenu->addAction(tr("Close Current Document"),this,&CCNotePad::slot_actionClose); m_tabRightClickMenu->addAction(tr("Close Non-Current documents"),this, &CCNotePad::slot_actionCloseNonCurDoc); m_tabRightClickMenu->addAction(tr("Close Left All"),this, &CCNotePad::slot_actionCloseLeftAll); m_tabRightClickMenu->addAction(tr("Close Right All"),this, &CCNotePad::slot_actionCloseRightAll); m_tabRightClickMenu->addSeparator(); m_tabRightClickMenu->addAction(tr("Rename Current Document "), this, &CCNotePad::slot_actionRenameFile_toggle); m_tabRightClickMenu->addAction(tr("Current Document Sava as..."), this, &CCNotePad::slot_actionSaveAsFile_toggle); m_openInNewWinAct = m_tabRightClickMenu->addAction(tr("Open in New Window"),this, &CCNotePad::slot_openFileInNewWin); m_showFileDirAct = m_tabRightClickMenu->addAction(tr("Show File in Explorer..."), this, &CCNotePad::slot_showFileInExplorer); #ifdef Q_OS_WIN //每种linux mac系统的打开cmd终端方式均不一样,暂时只支持windows m_showCmdAct = m_tabRightClickMenu->addAction(tr("Cmd in Explorer..."), this, &CCNotePad::slot_showCmdInExplorer); #endif m_tabRightClickMenu->addSeparator(); m_openWithText = m_tabRightClickMenu->addAction(tr("Reload With Text Mode"), this, &CCNotePad::slot_reOpenTextMode); m_openWithHex = m_tabRightClickMenu->addAction(tr("Reload With Hex Mode"), this, &CCNotePad::slot_reOpenHexMode); m_tabRightClickMenu->addSeparator(); m_selectLeftCmp = m_tabRightClickMenu->addAction(tr("Select Left Cmp File"), this, &CCNotePad::slot_selectLeftFile); m_selectRightCmp = m_tabRightClickMenu->addAction(tr("Select Right Cmp File"), this, &CCNotePad::slot_selectRightFile); } //非new文件才能重新打开和定位到文件 if (getFileNewIndexProperty(pw) == -1) { m_openInNewWinAct->setEnabled(true); m_showFileDirAct->setEnabled(true); #ifdef Q_OS_WIN m_showCmdAct->setEnabled(true); #endif } else { m_openInNewWinAct->setEnabled(false); m_showFileDirAct->setEnabled(false); #ifdef Q_OS_WIN m_showCmdAct->setEnabled(false); #endif } if ((TXT_TYPE == docType) && (getFileNewIndexProperty(pw) == -1)) { m_openWithText->setEnabled(false); m_openWithHex->setEnabled(true); m_selectLeftCmp->setEnabled(true); m_selectRightCmp->setEnabled(true); } else if (HEX_TYPE == docType) { m_openWithText->setEnabled(true); m_openWithHex->setEnabled(false); m_selectLeftCmp->setEnabled(false); m_selectRightCmp->setEnabled(false); } else if ((TXT_TYPE == docType) && (getFileNewIndexProperty(pw) != -1)) { //新的文本,都不能 m_openWithText->setEnabled(false); m_openWithHex->setEnabled(false); m_selectLeftCmp->setEnabled(false); m_selectRightCmp->setEnabled(false); } else if(BIG_TEXT_RO_TYPE == docType || SUPER_BIG_TEXT_RO_TYPE == docType) { m_openWithText->setEnabled(false); m_openWithHex->setEnabled(true); m_selectLeftCmp->setEnabled(false); m_selectRightCmp->setEnabled(false); } ui.editTabWidget->setCurrentIndex(index); m_tabRightClickMenu->move(cursor().pos()); m_tabRightClickMenu->show(); } else if (Qt::MiddleButton == QGuiApplication::mouseButtons()) { //关闭当前文件 slot_tabClose(index); } } void CCNotePad::slot_reOpenTextMode() { QWidget* pw = ui.editTabWidget->currentWidget(); QString filePath = getFilePathProperty(pw); if (HEX_TYPE != getDocTypeProperty(pw)) { ui.statusBar->showMessage(tr("The currently file %1 is already in text mode").arg(filePath),5000); return; } slot_actionClose(true); openTextFile(filePath,false); } void CCNotePad::slot_reOpenHexMode() { QWidget* pw = ui.editTabWidget->currentWidget(); QString filePath = getFilePathProperty(pw); if (HEX_TYPE == getDocTypeProperty(pw)) { ui.statusBar->showMessage(tr("The currently file %1 is already in bin mode").arg(filePath),5000); return; } slot_actionClose(true); openHexFile(filePath); } void CCNotePad::slot_selectLeftFile() { QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr) { m_cmpLeftFilePath = pw->property(Edit_View_FilePath).toString(); if (!m_cmpLeftFilePath.isEmpty() && !m_cmpRightFilePath.isEmpty()) { cmpSelectFile(); m_cmpLeftFilePath.clear(); m_cmpRightFilePath.clear(); } } } void CCNotePad::slot_selectRightFile() { QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr) { m_cmpRightFilePath = pw->property(Edit_View_FilePath).toString(); if (!m_cmpLeftFilePath.isEmpty() && !m_cmpRightFilePath.isEmpty()) { cmpSelectFile(); m_cmpLeftFilePath.clear(); m_cmpRightFilePath.clear(); } } } //为了避免路径中\\不一样导致的查找不到问题,进行统一替换 QString getRegularFilePath(QString& path) { #ifdef _WIN32 path = path.replace("/", "\\"); #else path = path.replace("\\", "/"); #endif return path; } void CCNotePad::slot_showFileInExplorer() { QString path; QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr) { path = pw->property(Edit_View_FilePath).toString(); } showFileInExplorer(path); } //打开cmd窗口 #ifdef Q_OS_WIN void CCNotePad::slot_showCmdInExplorer() { QString path; QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr) { path = pw->property(Edit_View_FilePath).toString(); } QFileInfo fi(path); QString dirEment = fi.absolutePath(); HWND hWnd = (HWND)this->effectiveWinId(); HINSTANCE res = ::ShellExecute(hWnd, TEXT("open"), TEXT("cmd"), TEXT(""), dirEment.toStdWString().data(), SW_SHOW); //参考 https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx int retResult = static_cast(reinterpret_cast(res)); if (retResult <= 32) { ui.statusBar->showMessage(tr("open cmd in file dir %1 failed.").arg(dirEment)); } #if 0 //下面方法不能分离式,主界面关闭后,cmd也消失了 QStringList arguments; arguments << "/K"; arguments << "title"; arguments << "child process"; QProcess* myProcess = new QProcess(this); QString program = "C:/Windows/System32/cmd.exe"; myProcess->setCreateProcessArgumentsModifier([](QProcess::CreateProcessArguments* args) { //args->startupInfo->wShowWindow = SW_SHOWMAXIMIZED;//此成员变量设置此有效,QT5.12 args->flags |= CREATE_NEW_CONSOLE; args->startupInfo->dwFlags &= ~STARTF_USESTDHANDLES; args->startupInfo->dwFlags |= STARTF_USEFILLATTRIBUTE; args->startupInfo->dwFillAttribute = FOREGROUND_INTENSITY; //args->startupInfo->dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; }); myProcess->start(program, arguments); #endif } #endif //把文件在新窗口中打开。如果是新文件,则不行 void CCNotePad::openFileInNewWin(int index) { QString path; QWidget* pw = ui.editTabWidget->widget(index); if (pw != nullptr) { if (-1 != getFileNewIndexProperty(pw)) { return; } path = getFilePathProperty(pw); slot_tabClose(index); CCNotePad* pNewWin = new CCNotePad(false, nullptr); pNewWin->quickshow(); pNewWin->setShareMem(this->getShareMem()); pNewWin->setAttribute(Qt::WA_DeleteOnClose); pNewWin->openFile(path); #ifdef uos adjustWInPos(pNewWin); #endif s_padInstances->append(pNewWin); } } void CCNotePad::slot_openFileInNewWin() { int curIndex = ui.editTabWidget->currentIndex(); openFileInNewWin(curIndex); } //int defLexerId:如果失败,则按照该语法类型的id赋值;如果-1则不给与默认值。 //因为发现如果是新建的文件,而且手动设置了语法,其文件名还是*.txt,此时如果根据 //后缀名自动赋值与否,会导致手动设置的语法失效。 void CCNotePad::autoSetDocLexer(ScintillaEditView* pEdit, int defLexerId) { QString filePath = pEdit->property(Edit_View_FilePath).toString(); //OpenAttr openType = (OpenAttr)pEdit->property(Open_Attr).toInt(); //if (OpenAttr::Text != openType && OpenAttr::BigTextReadOnly != openType) //{ // return; //} LexerInfo lxdata = getLangLexerIdByFileExt(filePath); QsciLexer* lexer = nullptr; //如果没有特殊语法,而且默认给与语法不是-1,则按照默认语法设置 if (lxdata.lexerId == L_TXT && defLexerId != -1) { lexer = ScintillaEditView::createLexer(defLexerId); } else { lexer = ScintillaEditView::createLexer(lxdata.lexerId, lxdata.tagName); } if (lexer != nullptr) { if (nullptr != pEdit->lexer()) { delete pEdit->lexer(); } pEdit->setLexer(lexer); syncCurDocLexerToMenu(pEdit); } else { setTxtLexer(pEdit); syncCurDocLexerToMenu(pEdit); } } void CCNotePad::updateTitleToCurDocFilePath() { QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr) { setWindowTitle(pw->property(Edit_View_FilePath).toString()); } } //切换tab后 void CCNotePad::slot_tabCurrentChanged(int index) { QWidget* pw = ui.editTabWidget->widget(index); if (pw != nullptr) { QString filePath = getFilePathProperty(pw); //16进制的处理逻辑 int docType = getDocTypeProperty(pw); if (HEX_TYPE == docType) { setWindowTitleMode(filePath, OpenAttr::HexReadOnly); fileListSetCurItem(filePath); return; } else if ((TXT_TYPE == docType)||(BIG_TEXT_RO_TYPE == docType)||(SUPER_BIG_TEXT_RO_TYPE == docType)) { int code = pw->property(Edit_Text_Code).toInt(); setCodeBarLabel(static_cast(code)); int lineEnd = pw->property(Edit_Text_End).toInt(); setLineEndBarLabel(static_cast(lineEnd)); if (pw->property(Edit_Text_Change).toBool()) { m_saveFile->setEnabled(true); } else { m_saveFile->setEnabled(false); } if (TXT_TYPE == docType) { setWindowTitleMode(filePath, (OpenAttr)pw->property(Open_Attr).toInt()); } else if (BIG_TEXT_RO_TYPE == docType) { //setWindowTitle(QString("%1 (%2)").arg(pw->property(Edit_View_FilePath).toString()).arg(tr("Big Text File ReadOnly"))); setWindowTitleMode(filePath, OpenAttr::BigTextReadOnly); } else if (SUPER_BIG_TEXT_RO_TYPE == docType) { //setWindowTitle(QString("%1 (%2)").arg(pw->property(Edit_View_FilePath).toString()).arg(tr("Big Text File ReadOnly"))); setWindowTitleMode(filePath, OpenAttr::SuperBigTextReadOnly); } syncCurDocEncodeToMenu(pw); syncCurDocLineEndStatusToMenu(pw); syncCurDocLexerToMenu(pw); syncCurDocTailfToMenu(pw); ScintillaEditView* pEdit = dynamic_cast(pw); //目前只用了0 2 两种换行模式。 if (s_autoWarp != pEdit->wrapMode()) { pEdit->setWrapMode((s_autoWarp == 0 ? QsciScintilla::WrapNone: QsciScintilla::WrapCharacter)); } pEdit->viewport()->setFocus(); fileListSetCurItem(filePath); } } } //快捷按钮的初始化 void CCNotePad::setShoctIcon(int iconSize) { #if 0 auto setDark32Icon = [this]() { //黑色图标 m_newFile->setIcon(QIcon(NewFileIconDark32)); m_openFile->setIcon(QIcon(OpenFileIconDark32)); m_saveFile->setIcon(QIcon(NoNeedSaveBarIconDark32)); m_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIconDark32)); m_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIconDark32)); m_closeFile->setIcon(QIcon(CloseFileIconDark32)); m_closeAllFile->setIcon(QIcon(CloseAllFileIconDark32)); m_cutFile->setIcon(QIcon(CutIconDark32)); m_copyFile->setIcon(QIcon(CopyFileIconDark32)); m_pasteFile->setIcon(QIcon(PasteIconDark32)); m_undo->setIcon(QIcon(UndoIconDark32)); m_redo->setIcon(QIcon(RedoIconDark32)); m_findText->setIcon(QIcon(FindIconDark32)); m_replaceText->setIcon(QIcon(ReplaceIconDark32)); m_markText->setIcon(QIcon(MarkIconDark32)); m_signText->setIcon(QIcon(SignIconDark32)); m_clearMark->setIcon(QIcon(ClearSignIconDark32)); m_zoomin->setIcon(QIcon(ZoominIconDark32)); m_zoomout->setIcon(QIcon(ZoomoutIconDark32)); m_wordwrap->setIcon(QIcon(CrlfIconDark32)); m_allWhite->setIcon(QIcon(WhiteIconDark32)); m_indentGuide->setIcon(QIcon(IndentIconDark32)); m_preHexPage->setIcon(QIcon(PreHexIconDark32)); m_nextHexPage->setIcon(QIcon(NextHexIconDark32)); m_gotoHexPage->setIcon(QIcon(GotoHexIconDark32)); m_fileCompare->setIcon(QIcon(FileCompareIconDark32)); m_dirCompare->setIcon(QIcon(DirCompareIconDark32)); m_binCompare->setIcon(QIcon(BinCmpIconDark32)); m_transcode->setIcon(QIcon(TransCodeIconDark32)); m_rename->setIcon(QIcon(RenameIconDark32)); }; if (iconSize < 48) { if (iconSize == 36 && StyleSet::getCurrentSytleId() == DEEP_BLACK) { setDark32Icon(); } else { m_newFile->setIcon(QIcon(NewFileIcon)); m_openFile->setIcon(QIcon(OpenFileIcon)); m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon)); m_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon)); m_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon)); m_closeFile->setIcon(QIcon(CloseFileIcon)); m_closeAllFile->setIcon(QIcon(CloseAllFileIcon)); m_cutFile->setIcon(QIcon(CutIcon)); m_copyFile->setIcon(QIcon(CopyFileIcon)); m_pasteFile->setIcon(QIcon(PasteIcon)); m_undo->setIcon(QIcon(UndoIcon)); m_redo->setIcon(QIcon(RedoIcon)); m_findText->setIcon(QIcon(FindIcon)); m_replaceText->setIcon(QIcon(ReplaceIcon)); m_markText->setIcon(QIcon(MarkIcon)); m_signText->setIcon(QIcon(SignIcon)); m_clearMark->setIcon(QIcon(ClearSignIcon)); m_zoomin->setIcon(QIcon(ZoominIcon)); m_zoomout->setIcon(QIcon(ZoomoutIcon)); m_wordwrap->setIcon(QIcon(CrlfIcon)); m_allWhite->setIcon(QIcon(WhiteIcon)); m_indentGuide->setIcon(QIcon(IndentIcon)); m_preHexPage->setIcon(QIcon(PreHexIcon)); m_nextHexPage->setIcon(QIcon(NextHexIcon)); m_gotoHexPage->setIcon(QIcon(GotoHexIcon)); m_fileCompare->setIcon(QIcon(FileCompareIcon)); m_dirCompare->setIcon(QIcon(DirCompareIcon)); m_binCompare->setIcon(QIcon(BinCmpIcon)); m_transcode->setIcon(QIcon(TransCodeIcon)); m_rename->setIcon(QIcon(RenameIcon)); } } else { if (StyleSet::getCurrentSytleId() != DEEP_BLACK) { m_newFile->setIcon(QIcon(NewFileIcon32)); m_openFile->setIcon(QIcon(OpenFileIcon32)); m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon32)); m_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon32)); m_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon32)); m_closeFile->setIcon(QIcon(CloseFileIcon32)); m_closeAllFile->setIcon(QIcon(CloseAllFileIcon32)); m_cutFile->setIcon(QIcon(CutIcon32)); m_copyFile->setIcon(QIcon(CopyFileIcon32)); m_pasteFile->setIcon(QIcon(PasteIcon32)); m_undo->setIcon(QIcon(UndoIcon32)); m_redo->setIcon(QIcon(RedoIcon32)); m_findText->setIcon(QIcon(FindIcon32)); m_replaceText->setIcon(QIcon(ReplaceIcon32)); m_markText->setIcon(QIcon(MarkIcon32)); m_signText->setIcon(QIcon(SignIcon32)); m_clearMark->setIcon(QIcon(ClearSignIcon32)); m_zoomin->setIcon(QIcon(ZoominIcon32)); m_zoomout->setIcon(QIcon(ZoomoutIcon32)); m_wordwrap->setIcon(QIcon(CrlfIcon32)); m_allWhite->setIcon(QIcon(WhiteIcon32)); m_indentGuide->setIcon(QIcon(IndentIcon32)); m_preHexPage->setIcon(QIcon(PreHexIcon32)); m_nextHexPage->setIcon(QIcon(NextHexIcon32)); m_gotoHexPage->setIcon(QIcon(GotoHexIcon32)); m_fileCompare->setIcon(QIcon(FileCompareIcon32)); m_dirCompare->setIcon(QIcon(DirCompareIcon32)); m_binCompare->setIcon(QIcon(BinCmpIcon32)); m_transcode->setIcon(QIcon(TransCodeIcon32)); m_rename->setIcon(QIcon(RenameIcon32)); } else { setDark32Icon(); } } #endif if (iconSize < 48) { m_newFile->setIcon(QIcon(NewFileIcon)); m_openFile->setIcon(QIcon(OpenFileIcon)); m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon)); m_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon)); m_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon)); m_closeFile->setIcon(QIcon(CloseFileIcon)); m_closeAllFile->setIcon(QIcon(CloseAllFileIcon)); m_cutFile->setIcon(QIcon(CutIcon)); m_copyFile->setIcon(QIcon(CopyFileIcon)); m_pasteFile->setIcon(QIcon(PasteIcon)); m_undo->setIcon(QIcon(UndoIcon)); m_redo->setIcon(QIcon(RedoIcon)); m_findText->setIcon(QIcon(FindIcon)); m_replaceText->setIcon(QIcon(ReplaceIcon)); m_markText->setIcon(QIcon(MarkIcon)); m_signText->setIcon(QIcon(SignIcon)); m_clearMark->setIcon(QIcon(ClearSignIcon)); m_zoomin->setIcon(QIcon(ZoominIcon)); m_zoomout->setIcon(QIcon(ZoomoutIcon)); m_wordwrap->setIcon(QIcon(CrlfIcon)); m_allWhite->setIcon(QIcon(WhiteIcon)); m_indentGuide->setIcon(QIcon(IndentIcon)); m_tailf->setIcon(QIcon(TailfIcon)); m_preHexPage->setIcon(QIcon(PreHexIcon)); m_nextHexPage->setIcon(QIcon(NextHexIcon)); m_gotoHexPage->setIcon(QIcon(GotoHexIcon)); m_transcode->setIcon(QIcon(TransCodeIcon)); m_rename->setIcon(QIcon(RenameIcon)); } else { m_newFile->setIcon(QIcon(NewFileIcon32)); m_openFile->setIcon(QIcon(OpenFileIcon32)); m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon32)); m_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon32)); m_autoSaveAFile->setIcon(QIcon(AutoTimeSaveBarIcon32)); m_closeFile->setIcon(QIcon(CloseFileIcon32)); m_closeAllFile->setIcon(QIcon(CloseAllFileIcon32)); m_cutFile->setIcon(QIcon(CutIcon32)); m_copyFile->setIcon(QIcon(CopyFileIcon32)); m_pasteFile->setIcon(QIcon(PasteIcon32)); m_undo->setIcon(QIcon(UndoIcon32)); m_redo->setIcon(QIcon(RedoIcon32)); m_findText->setIcon(QIcon(FindIcon32)); m_replaceText->setIcon(QIcon(ReplaceIcon32)); m_markText->setIcon(QIcon(MarkIcon32)); m_signText->setIcon(QIcon(SignIcon32)); m_clearMark->setIcon(QIcon(ClearSignIcon32)); m_zoomin->setIcon(QIcon(ZoominIcon32)); m_zoomout->setIcon(QIcon(ZoomoutIcon32)); m_wordwrap->setIcon(QIcon(CrlfIcon32)); m_allWhite->setIcon(QIcon(WhiteIcon32)); m_indentGuide->setIcon(QIcon(IndentIcon32)); m_tailf->setIcon(QIcon(TailfIcon32)); m_preHexPage->setIcon(QIcon(PreHexIcon32)); m_nextHexPage->setIcon(QIcon(NextHexIcon32)); m_gotoHexPage->setIcon(QIcon(GotoHexIcon32)); m_transcode->setIcon(QIcon(TransCodeIcon32)); m_rename->setIcon(QIcon(RenameIcon32)); } } void CCNotePad::initToolBar() { int iconIndex = NddSetting::getKeyValueFromNumSets(ICON_SIZE); int ICON_SIZE = 24; if (iconIndex == 0) { ui.action24->setChecked(true); } else if (iconIndex == 1) { ICON_SIZE = 36; ui.action36->setChecked(true); } else if (iconIndex == 2) { ICON_SIZE = 48; ui.action48->setChecked(true); } m_curIconSize = ICON_SIZE; s_autoWarp = NddSetting::getKeyValueFromNumSets(AUTOWARP_KEY); s_zoomValue = NddSetting::getKeyValueFromNumSets(ZOOMVALUE); if (s_zoomValue > 10 || s_zoomValue < -5) { s_zoomValue = 0; NddSetting::updataKeyValueFromNumSets(ZOOMVALUE, s_zoomValue); } s_indent = NddSetting::getKeyValueFromNumSets(INDENT_KEY); s_showblank = NddSetting::getKeyValueFromNumSets(SHOWSPACE_KEY); m_newFile = new QToolButton(ui.mainToolBar); connect(m_newFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionNewFile_toggle); m_newFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_newFile->setToolTip(tr("New File")); ui.mainToolBar->addWidget(m_newFile); m_openFile = new QToolButton(ui.mainToolBar); connect(m_openFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionOpenFile_toggle); m_openFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_openFile->setToolTip(tr("Open File")); ui.mainToolBar->addWidget(m_openFile); m_saveFile = new QToolButton(ui.mainToolBar); connect(m_saveFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionSaveFile_toggle); m_saveFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_saveFile->setToolTip(tr("Save File")); ui.mainToolBar->addWidget(m_saveFile); m_saveAllFile = new QToolButton(ui.mainToolBar); connect(m_saveAllFile, &QAbstractButton::clicked, this, &CCNotePad::slot_saveAllFile); m_saveAllFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_saveAllFile->setToolTip(tr("Save All File")); ui.mainToolBar->addWidget(m_saveAllFile); m_autoSaveAFile = new QToolButton(ui.mainToolBar); m_autoSaveAFile->setCheckable(true); connect(m_autoSaveAFile, &QAbstractButton::clicked, this, &CCNotePad::slot_autoSaveFile); m_autoSaveAFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_autoSaveAFile->setToolTip(tr("Cycle Auto Save")); ui.mainToolBar->addWidget(m_autoSaveAFile); m_closeFile = new QToolButton(ui.mainToolBar); connect(m_closeFile, &QAbstractButton::clicked, this, &CCNotePad::slot_actionClose); m_closeFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_closeFile->setToolTip(tr("Close")); ui.mainToolBar->addWidget(m_closeFile); m_closeAllFile = new QToolButton(ui.mainToolBar); connect(m_closeAllFile, &QAbstractButton::clicked, this, &CCNotePad::slot_closeAllFile); m_closeAllFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_closeAllFile->setToolTip(tr("Close All")); ui.mainToolBar->addWidget(m_closeAllFile); ui.mainToolBar->addSeparator(); m_cutFile = new QToolButton(ui.mainToolBar); connect(m_cutFile, &QAbstractButton::clicked, this, &CCNotePad::slot_cut); m_cutFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_cutFile->setToolTip(tr("Cut")); ui.mainToolBar->addWidget(m_cutFile); m_copyFile = new QToolButton(ui.mainToolBar); connect(m_copyFile, &QAbstractButton::clicked, this, &CCNotePad::slot_copy); m_copyFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_copyFile->setIcon(QIcon(CopyFileIcon)); m_copyFile->setToolTip(tr("Copy")); ui.mainToolBar->addWidget(m_copyFile); m_pasteFile = new QToolButton(ui.mainToolBar); connect(m_pasteFile, &QAbstractButton::clicked, this, &CCNotePad::slot_paste); m_pasteFile->setFixedSize(ICON_SIZE, ICON_SIZE); m_pasteFile->setToolTip(tr("Paste")); ui.mainToolBar->addWidget(m_pasteFile); ui.mainToolBar->addSeparator(); m_undo = new QToolButton(ui.mainToolBar); connect(m_undo, &QAbstractButton::clicked, this, &CCNotePad::slot_undo); m_undo->setFixedSize(ICON_SIZE, ICON_SIZE); m_undo->setToolTip(tr("Undo")); ui.mainToolBar->addWidget(m_undo); m_redo = new QToolButton(ui.mainToolBar); connect(m_redo, &QAbstractButton::clicked, this, &CCNotePad::slot_redo); m_redo->setFixedSize(ICON_SIZE, ICON_SIZE); m_redo->setToolTip(tr("Redo")); ui.mainToolBar->addWidget(m_redo); ui.mainToolBar->addSeparator(); m_findText = new QToolButton(ui.mainToolBar); connect(m_findText, &QAbstractButton::clicked, this, &CCNotePad::slot_find); m_findText->setFixedSize(ICON_SIZE, ICON_SIZE); m_findText->setToolTip(tr("Find")); ui.mainToolBar->addWidget(m_findText); m_replaceText = new QToolButton(ui.mainToolBar); connect(m_replaceText, &QAbstractButton::clicked, this, &CCNotePad::slot_replace); m_replaceText->setFixedSize(ICON_SIZE, ICON_SIZE); m_replaceText->setToolTip(tr("Replace")); ui.mainToolBar->addWidget(m_replaceText); m_markText = new QToolButton(ui.mainToolBar); connect(m_markText, &QAbstractButton::clicked, this, &CCNotePad::slot_markHighlight); m_markText->setFixedSize(ICON_SIZE, ICON_SIZE); m_markText->setToolTip(tr("Mark")); ui.mainToolBar->addWidget(m_markText); ui.mainToolBar->addSeparator(); //选择单词高亮 m_signText = new QToolButton(ui.mainToolBar); connect(m_signText, &QAbstractButton::clicked, this, &CCNotePad::slot_wordHighlight); m_signText->setFixedSize(ICON_SIZE, ICON_SIZE); m_signText->setToolTip(tr("word highlight(F8)")); m_signText->setShortcut(QKeySequence(Qt::Key_F8)); ui.mainToolBar->addWidget(m_signText); //选择单词高亮 m_clearMark = new QToolButton(ui.mainToolBar); connect(m_clearMark, &QAbstractButton::clicked, this, &CCNotePad::slot_clearMark); m_clearMark->setFixedSize(ICON_SIZE, ICON_SIZE); m_clearMark->setToolTip(tr("clear all highlight(F7)")); m_clearMark->setShortcut(QKeySequence(Qt::Key_F7)); ui.mainToolBar->addWidget(m_clearMark); ui.mainToolBar->addSeparator(); m_zoomin = new QToolButton(ui.mainToolBar); connect(m_zoomin, &QAbstractButton::clicked, this, &CCNotePad::slot_zoomin); m_zoomin->setFixedSize(ICON_SIZE, ICON_SIZE); m_zoomin->setToolTip(tr("Zoom In")); ui.mainToolBar->addWidget(m_zoomin); m_zoomout = new QToolButton(ui.mainToolBar); connect(m_zoomout, &QAbstractButton::clicked, this, &CCNotePad::slot_zoomout); m_zoomout->setFixedSize(ICON_SIZE, ICON_SIZE); m_zoomout->setToolTip(tr("Zoom Out")); ui.mainToolBar->addWidget(m_zoomout); ui.mainToolBar->addSeparator(); m_wordwrap = new QToolButton(ui.mainToolBar); m_wordwrap->setCheckable(true); m_wordwrap->setChecked((s_autoWarp != QsciScintilla::WrapNone)); connect(m_wordwrap, &QAbstractButton::clicked, this, &CCNotePad::slot_wordwrap); m_wordwrap->setFixedSize(ICON_SIZE, ICON_SIZE); m_wordwrap->setToolTip(tr("Word Wrap")); ui.mainToolBar->addWidget(m_wordwrap); ui.actionWrap->setChecked((s_autoWarp != QsciScintilla::WrapNone)); m_allWhite = new QToolButton(ui.mainToolBar); m_allWhite->setCheckable(true); m_allWhite->setChecked((s_showblank == 3)); //这里使用clicked信号。修改setChecked时,不会触发该信号,避免循环触发。 //注意统一:凡是需要两个地方控制一个状态,同步的地方。按钮使用clicked信号,action使用triggered。 //因为这两个信号,不会被setchecked修改,这样其他地方调用setchecked时,避免信号循环冲突 connect(m_allWhite, &QAbstractButton::clicked, this, &CCNotePad::slot_allWhite); m_allWhite->setFixedSize(ICON_SIZE, ICON_SIZE); m_allWhite->setToolTip(tr("Show Blank")); ui.mainToolBar->addWidget(m_allWhite); ui.actionShowAll->setChecked((s_showblank == 3)); m_indentGuide = new QToolButton(ui.mainToolBar); m_indentGuide->setCheckable(true); m_indentGuide->setChecked((s_indent == 1)); connect(m_indentGuide, &QAbstractButton::toggled, this, &CCNotePad::slot_indentGuide); m_indentGuide->setFixedSize(ICON_SIZE, ICON_SIZE); m_indentGuide->setToolTip(tr("Indent Guide")); ui.mainToolBar->addWidget(m_indentGuide); m_tailf = new QToolButton(ui.mainToolBar); m_tailf->setCheckable(true); m_tailf->setChecked(false); connect(m_tailf, &QAbstractButton::clicked, this, &CCNotePad::on_tailfile); m_tailf->setFixedSize(ICON_SIZE, ICON_SIZE); m_tailf->setToolTip(tr("tailf file")); ui.mainToolBar->addWidget(m_tailf); ui.mainToolBar->addSeparator(); m_preHexPage = new QToolButton(ui.mainToolBar); connect(m_preHexPage, &QAbstractButton::clicked, this, &CCNotePad::slot_preHexPage); m_preHexPage->setFixedSize(ICON_SIZE, ICON_SIZE); m_preHexPage->setToolTip(tr("Pre Hex Page")); ui.mainToolBar->addWidget(m_preHexPage); m_nextHexPage = new QToolButton(ui.mainToolBar); connect(m_nextHexPage, &QAbstractButton::clicked, this, &CCNotePad::slot_nextHexPage); m_nextHexPage->setFixedSize(ICON_SIZE, ICON_SIZE); m_nextHexPage->setToolTip(tr("Next Hex Page")); ui.mainToolBar->addWidget(m_nextHexPage); m_gotoHexPage = new QToolButton(ui.mainToolBar); connect(m_gotoHexPage, &QAbstractButton::clicked, this, &CCNotePad::slot_gotoHexPage); m_gotoHexPage->setFixedSize(ICON_SIZE, ICON_SIZE); m_gotoHexPage->setToolTip(tr("Goto Hex Page")); ui.mainToolBar->addWidget(m_gotoHexPage); ui.mainToolBar->addSeparator(); m_transcode = new QToolButton(ui.mainToolBar); connect(m_transcode, &QAbstractButton::clicked, this, &CCNotePad::slot_batch_convert); m_transcode->setFixedSize(ICON_SIZE, ICON_SIZE); m_transcode->setToolTip(tr("transform encoding")); ui.mainToolBar->addWidget(m_transcode); m_rename = new QToolButton(ui.mainToolBar); connect(m_rename, &QAbstractButton::clicked, this, &CCNotePad::slot_batch_rename); m_rename->setFixedSize(ICON_SIZE, ICON_SIZE); m_rename->setToolTip(tr("batch rename file")); ui.mainToolBar->addWidget(m_rename); setShoctIcon(ICON_SIZE); //编码里面只能有一个当前被选中 m_pEncodeActGroup = new QActionGroup(this); m_pEncodeActGroup->addAction(ui.actionencode_in_GBK); m_pEncodeActGroup->addAction(ui.actionencode_in_uft8); m_pEncodeActGroup->addAction(ui.actionencode_in_UTF8_BOM); m_pEncodeActGroup->addAction(ui.actionencode_in_UCS_BE_BOM); m_pEncodeActGroup->addAction(ui.actionencode_in_UCS_2_LE_BOM); m_pEncodeActGroup->addAction(ui.actionBig5); m_pEncodeActGroup->setExclusive(true); m_pLineEndActGroup = new QActionGroup(this); m_pLineEndActGroup->addAction(ui.actionconver_windows_CR_LF); m_pLineEndActGroup->addAction(ui.actionconvert_Unix_LF); m_pLineEndActGroup->addAction(ui.actionconvert_Mac_CR); m_pEncodeActGroup->setExclusive(true); m_pIconSize = new QActionGroup(this); m_pIconSize->addAction(ui.action24); m_pIconSize->addAction(ui.action36); m_pIconSize->addAction(ui.action48); m_pIconSize->setExclusive(true); connect(m_pIconSize, &QActionGroup::triggered, this, &CCNotePad::slot_changeIconSize, Qt::QueuedConnection); m_pLexerActGroup = new QActionGroup(this); /*m_pLexerActGroup->addAction(ui.actionAVS);*/ m_pLexerActGroup->addAction(ui.actionAssembly); m_pLexerActGroup->addAction(ui.actionbash); m_pLexerActGroup->addAction(ui.actionBatch); m_pLexerActGroup->addAction(ui.actionCMake); m_pLexerActGroup->addAction(ui.actionCoffeeScript); m_pLexerActGroup->addAction(ui.actionCPP); m_pLexerActGroup->addAction(ui.actionCShape); m_pLexerActGroup->addAction(ui.actionCss); m_pLexerActGroup->addAction(ui.actionD_2); m_pLexerActGroup->addAction(ui.actionDiff); m_pLexerActGroup->addAction(ui.actionEdifact); m_pLexerActGroup->addAction(ui.actionFortran); m_pLexerActGroup->addAction(ui.actionFortran77); m_pLexerActGroup->addAction(ui.actionHTML); m_pLexerActGroup->addAction(ui.actionIDL); m_pLexerActGroup->addAction(ui.actionJava); m_pLexerActGroup->addAction(ui.actionJavaScript); m_pLexerActGroup->addAction(ui.actionjson); m_pLexerActGroup->addAction(ui.actionLua); m_pLexerActGroup->addAction(ui.actionMakefile); m_pLexerActGroup->addAction(ui.actionMarkDown_2); m_pLexerActGroup->addAction(ui.actionMatlab); m_pLexerActGroup->addAction(ui.actionOctave); m_pLexerActGroup->addAction(ui.actionPascal); m_pLexerActGroup->addAction(ui.actionPerl); m_pLexerActGroup->addAction(ui.actionPo); m_pLexerActGroup->addAction(ui.actionPostScript); m_pLexerActGroup->addAction(ui.actionPov); m_pLexerActGroup->addAction(ui.actionProperties_file); m_pLexerActGroup->addAction(ui.actionPython); m_pLexerActGroup->addAction(ui.actionR_2); m_pLexerActGroup->addAction(ui.actionRuby); m_pLexerActGroup->addAction(ui.actionRust); m_pLexerActGroup->addAction(ui.actionSpice); m_pLexerActGroup->addAction(ui.actionSql); m_pLexerActGroup->addAction(ui.actionTcl); m_pLexerActGroup->addAction(ui.actionTex); m_pLexerActGroup->addAction(ui.actionVb); m_pLexerActGroup->addAction(ui.actionVerilog); m_pLexerActGroup->addAction(ui.actionVHDL); m_pLexerActGroup->addAction(ui.actionXML); m_pLexerActGroup->addAction(ui.actionYAML); m_pLexerActGroup->addAction(ui.actionPhp); m_pLexerActGroup->addAction(ui.actionC); m_pLexerActGroup->addAction(ui.actionObjective_C); m_pLexerActGroup->addAction(ui.actionRC); m_pLexerActGroup->addAction(ui.actionini); m_pLexerActGroup->addAction(ui.actionNfo); m_pLexerActGroup->addAction(ui.actionASP); m_pLexerActGroup->addAction(ui.actionVirsual_Basic); m_pLexerActGroup->addAction(ui.actionShell); m_pLexerActGroup->addAction(ui.actionActionScript); m_pLexerActGroup->addAction(ui.actionNSIS); m_pLexerActGroup->addAction(ui.actionLisp); m_pLexerActGroup->addAction(ui.actionScheme); m_pLexerActGroup->addAction(ui.actionAssembly); m_pLexerActGroup->addAction(ui.actionSmalltalk); m_pLexerActGroup->addAction(ui.actionAutoIt); m_pLexerActGroup->addAction(ui.actionPowerShell); m_pLexerActGroup->addAction(ui.actionJsp); m_pLexerActGroup->addAction(ui.actionBaanC); m_pLexerActGroup->addAction(ui.actionS_Record); m_pLexerActGroup->addAction(ui.actionTypeScript); m_pLexerActGroup->addAction(ui.actionVisual_Prolog); m_pLexerActGroup->addAction(ui.actionTxt2tags); m_pLexerActGroup->addAction(ui.actionRegistry); m_pLexerActGroup->addAction(ui.actionREBOL); m_pLexerActGroup->addAction(ui.actionOScript); m_pLexerActGroup->addAction(ui.actionNncrontab); m_pLexerActGroup->addAction(ui.actionNim); m_pLexerActGroup->addAction(ui.actionMMIXAL); m_pLexerActGroup->addAction(ui.actionLaTex); m_pLexerActGroup->addAction(ui.actionForth); m_pLexerActGroup->addAction(ui.actionESCRIPT); m_pLexerActGroup->addAction(ui.actionErlang); m_pLexerActGroup->addAction(ui.actionCsound); m_pLexerActGroup->addAction(ui.actionFreeBasic); m_pLexerActGroup->addAction(ui.actionBlitzBasic); m_pLexerActGroup->addAction(ui.actionPureBasic); m_pLexerActGroup->addAction(ui.actionAviSynth); m_pLexerActGroup->addAction(ui.actionASN1); m_pLexerActGroup->addAction(ui.actionSwift); m_pLexerActGroup->addAction(ui.actionIntel_HEX); m_pLexerActGroup->addAction(ui.actionGo); m_pLexerActGroup->addAction(ui.actionTxt); m_pLexerActGroup->addAction(ui.actionUserDefine); QActionGroup* langsGroup = new QActionGroup(this); langsGroup->addAction(ui.actionChinese); langsGroup->addAction(ui.actionEnglish); connect(ui.menuLanguage, &QMenu::triggered, this, &CCNotePad::slot_lexerActTrig); //这是在网上看到的一个方法,使用一个widget把位置占住,让后面的action跑到最后面 去 QWidget* space = new QWidget(); space->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); ui.mainToolBar->addWidget(space); QToolButton* closeX = new QToolButton(ui.mainToolBar); connect(closeX, &QAbstractButton::clicked, this, &CCNotePad::slot_actionClose); closeX->setFixedSize(ICON_SIZE, ICON_SIZE); closeX->setIcon(QIcon(RightCloseIcon)); closeX->setToolTip(tr("Close")); ui.mainToolBar->addWidget(closeX); syncBlankShowStatus(); } void CCNotePad::setZoomLabelValue(int zoomValue) { m_zoomLabel->setText(tr("Zoom: %1%").arg(zoomValue)); } void CCNotePad::slot_changeIconSize(QAction *action) { int size = 24; if (action == ui.action24) { size = 24; NddSetting::updataKeyValueFromNumSets(ICON_SIZE,0); ui.action24->setChecked(true); } else if (action == ui.action36) { size = 36; NddSetting::updataKeyValueFromNumSets(ICON_SIZE, 1); ui.action36->setChecked(true); } else if (action == ui.action48) { size = 48; NddSetting::updataKeyValueFromNumSets(ICON_SIZE, 2); ui.action48->setChecked(true); } m_curIconSize = size; const QObjectList & childs = ui.mainToolBar->children(); QToolButton* toolBt = nullptr; for (int i = 0; i < childs.size(); ++i) { toolBt = dynamic_cast(childs.at(i)); if (toolBt != nullptr) { toolBt->setFixedSize(size, size); } } setShoctIcon(size); } void CCNotePad::setTxtLexer(ScintillaEditView* pEdit) { QsciLexer* lexer = ScintillaEditView::createLexer(L_TXT, ""); pEdit->setLexer(lexer); } //点击语言lexer的槽函数 void CCNotePad::slot_lexerActTrig(QAction *action) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { QVariant data = action->data(); if (data.isNull()) { QsciLexer * curLexer = pEdit->lexer(); if (curLexer != nullptr) { pEdit->setLexer(nullptr); delete curLexer; setTxtLexer(pEdit); } return; } int lexerId = data.toInt(); QsciLexer * curLexer = pEdit->lexer(); if (curLexer != nullptr) { QString tag = curLexer->lexerTag(); if (m_lexerNameToIndex.contains(tag)) { //当前已经相等了,则不需要重新设置lexer if (m_lexerNameToIndex.value(tag).index == lexerId) { return; } } else { //用户自定义的不在其中。不能设置为用户自定义的语法,不明确。 return; } delete curLexer; } QsciLexer * lexer = ScintillaEditView::createLexer(lexerId,""); if (lexer != nullptr) { pEdit->setLexer(lexer); QString tag = lexer->lexerTag(); setLangsDescLable(tag); } else { //默认按txt处理 setTxtLexer(pEdit); } } } //保存最近打开文件到数据库。文件只有在关闭时,才写入最近列表。不关闭的下次自动恢复打开 void CCNotePad::saveReceneOpenFile() { int clearOpenfilelist = NddSetting::getKeyValueFromDelayNumSets(CLEAR_OPENFILE_ON_CLOSE); //开启了关闭时清空打开历史列表 if (clearOpenfilelist == 1) { NddSetting::updataKeyValueFromDelaySets(RECENT_OPEN_FILE, ""); return; } QString rFile(RECENT_OPEN_FILE); const int maxRecord = 15; if (NddSetting::isDbExist()) { QStringList fileText; int count = 0; for (QList::iterator it = m_receneOpenFileList.begin(); it != m_receneOpenFileList.end(); ++it) { fileText.append(*it); if (count++ >= maxRecord) { break; } } if (!fileText.isEmpty()) { QString fileSaveText = fileText.join('|'); NddSetting::updataKeyValueFromDelaySets(rFile, fileSaveText); } } } //从最近列表中加载最近打开历史文件,到菜单中 void CCNotePad::on_loadReceneFile() { if (!m_isRecentFileLoaded) { m_isRecentFileLoaded = true; initReceneOpenFileMenu(); } } //从数据库读取最近对比的文件列表 void CCNotePad::initReceneOpenFileMenu() { QString rFile(RECENT_OPEN_FILE); if (NddSetting::isDbExist()) { QString fileStr = NddSetting::getKeyValueFromDelaySets(rFile); QStringList fileList = fileStr.split('|'); for (QString var : fileList) { if (!var.isEmpty() && (-1 == m_receneOpenFileList.indexOf(var))) { QAction* act = ui.menuRecene_File->addAction(var, this, &CCNotePad::slot_openReceneFile); act->setObjectName(var); m_receneOpenFileList.append(var); } } } } //判断文件是否已经打开中,是则返回其tabindex,否则-1 int CCNotePad::findFileIsOpenAtPad(QString filePath) { int ret = -1; getRegularFilePath(filePath); for (int i = 0; i < ui.editTabWidget->count(); ++i) { QWidget* pw = ui.editTabWidget->widget(i); if (pw != nullptr) { QString curPath = pw->property(Edit_View_FilePath).toString(); getRegularFilePath(curPath); if (curPath == filePath) { ret = i; break; } } } return ret; } //判断新建名称是否已经存在,是 true bool CCNotePad::isNewFileNameExist(QString& fileName) { for (int i = ui.editTabWidget->count() -1; i >=0 ; --i) { QWidget* pw = ui.editTabWidget->widget(i); if (pw != nullptr && (-1 != getFileNewIndexProperty(pw))) { if (getFilePathProperty(pw) == fileName) { return true; } } } return false; } //通过菜单打开最近文档 void CCNotePad::slot_openReceneFile() { QAction* pA = dynamic_cast(sender()); if (pA != nullptr) { //失败则删除对应的记录 if (!openFile(pA->text())) { pA->deleteLater(); } } } void CCNotePad::setCodeBarLabel(CODE_ID code) { QString codeStr = Encode::getCodeNameById(code); if (codeStr == "unknown") { codeStr = "UTF8"; } else if (codeStr == "GBK") { codeStr = tr("GB18030(Simplified Chinese)"); } else if(codeStr == "BIG5-HKSCS") { codeStr = tr("Big5(Traditional Chinese)"); } m_codeStatusLabel->setText(codeStr); } void CCNotePad::setLineEndBarLabel(RC_LINE_FORM lineEnd) { QString endStr = Encode::getLineEndById(lineEnd); if (m_lineEndLabel->currentText() != endStr) { //这里要禁止currentIndexChanged,避免循环触发 disconnect(m_lineEndLabel, QOverload::of(&QComboBox::currentIndexChanged), this, &CCNotePad::on_lineEndChange); m_lineEndLabel->setCurrentText(endStr); connect(m_lineEndLabel, QOverload::of(&QComboBox::currentIndexChanged), this, &CCNotePad::on_lineEndChange); } } void CCNotePad::setLangsDescLable(QString &langDesc) { m_langDescLabel->setText(tr("Language: %1").arg(langDesc)); } //重新加载文件。这里有个问题,文件的序号会跳动,要解决跳动问题。 //这里不能销毁当前pedit,加载编码也要保持不变。而且加载的文件一定是普通文本模式 //目前只在文本文件被修改后,外部自动加载的场景 //如果isTailfOn == true, 则从startReadSize开始读取文件,不从头读取。startReadSize=-1则还是从头,否则从startReadSize开始 void CCNotePad::reloadEditFile(ScintillaEditView* pEdit, bool isTailfOn, qint64 startReadSize) { QString filePath = pEdit->property(Edit_View_FilePath).toString(); CODE_ID code = (CODE_ID)getCodeTypeProperty(pEdit); RC_LINE_FORM lineEnd; int lineNum = 0; if (!isTailfOn) { lineNum = pEdit->getCurrentLineNumber(); } //下面这个clear会触发文本修改,要避免不必要的消息循环。先屏蔽一些信号 disEnableEditTextChangeSign(pEdit); if (isTailfOn && startReadSize != -1) { //如果是tail模式,则不要直接把文档清空 } else { pEdit->clear(); } pEdit->setProperty(Edit_Text_Change, QVariant(false)); setSaveButtonStatus(false); int errCode = 0; if (isTailfOn && startReadSize != -1) { //使用tailf读取尾部一部分数据;而不是全部读取 errCode = FileManager::getInstance().loadFileDataInTextFromOffset(pEdit, filePath, code, this, startReadSize); } else { errCode = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, nullptr, false, this); } enableEditTextChangeSign(pEdit); if (6 == errCode) { //可能存在乱码,给出警告。还是以编辑模式打开 ui.statusBar->showMessage(tr("File %1 open success. But Exist Garbled code !")); } else if (errCode != 0) { ui.statusBar->showMessage(tr("reload file %1 failed").arg(filePath)); return; } if (isTailfOn) { lineNum = pEdit->lines(); } pEdit->execute(SCI_GOTOLINE, lineNum - 1); } #ifdef Q_OS_WIN void CCNotePad::on_roladFile(ScintillaEditView* pEdit,quint64 lastSize, qint64 curSize) { pEdit->setProperty(Modify_Outside, QVariant(true)); checkRoladFile(pEdit, lastSize); } #endif void CCNotePad::doReloadTxtFile(ScintillaEditView* pEdit, bool isOnTail, qint64 startReadSize) { //reloadEditFile 里面会关闭和新增tab,触发一系列的currentChanged disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); reloadEditFile(pEdit, isOnTail, startReadSize); pEdit->setProperty(Modify_Outside, QVariant(false)); connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); }; //初次进入文件tailf模式。把文件清空,而且只留100行文件 void CCNotePad::firstTimeIntoTail(ScintillaEditView* pEdit, int remainLineNums) { int lineCount = pEdit->lines(); int startLineNum = 0; if (lineCount >= remainLineNums) { startLineNum = lineCount - remainLineNums; } int pos = pEdit->execute(SCI_POSITIONFROMLINE, startLineNum); disEnableEditTextChangeSign(pEdit); pEdit->clear(); enableEditTextChangeSign(pEdit); doReloadTxtFile(pEdit, true, pos); } //startReadSize == -1 则从头开始读取。否则从startReadSize开始 bool CCNotePad::checkRoladFile(ScintillaEditView* pEdit, qint64 startReadSize) { if (pEdit != nullptr && pEdit->property(Modify_Outside).toBool()) { //防止该函数重入,导致时序错误 if (m_isInReloadFile) { return false; } m_isInReloadFile = true; int tailStatus = getFileTailProperty(pEdit); if (tailStatus != 1) { QApplication::beep(); } //如果是开启了taif,则不提示,直接重新加载文件 if (tailStatus == 1) { //如果是进入tailf模式,但是startReadSize == -1.则什么也不干。 //等监控超时后,后续走tailf差异读取模式。 if (startReadSize == -1) { //这里什么也不做。坐等超时后,走下面的逻辑 } else { //如果文件大于3000行,则删除内容,只保留当前100行,继续tailf if (pEdit->lines() < 3000) { doReloadTxtFile(pEdit, true, startReadSize); } else { firstTimeIntoTail(pEdit,100); } } } else { QString filePath = pEdit->property(Edit_View_FilePath).toString(); int ret = QMessageBox::question(this, tr("Reload"), tr("\"%1\" This file has been modified by another program. Do you want to reload it?").arg(filePath), tr("Yes[Reload]"), tr("No[Drop]"), tr("On Tailf")); if(ret == 0) { doReloadTxtFile(pEdit, false, startReadSize); } else if (ret == 1) { //放弃 pEdit->setProperty(Modify_Outside, QVariant(false)); } else if (ret == 2) { m_tailf->setChecked(true); //这里也是首次开启tailf //读取最后3000行的内容。进入tailf模式 firstTimeIntoTail(pEdit,3000); //开启监控 tailfile(true,pEdit); } } m_isInReloadFile = false; return true; } return false; } //这个函数是在paint中调用,所以不要直连,否则调用QMessagebox后崩溃 void CCNotePad::slot_LineNumIndexChange(int line, int index) { ScintillaEditView* pEdit = dynamic_cast(sender()); if (pEdit == nullptr) { return; } QString lineNums; int type = getDocTypeProperty(pEdit); switch (type) { case TXT_TYPE: //文本文件可能被修改。 checkRoladFile(pEdit); lineNums = tr("Ln: %1 Col: %2").arg(line + 1).arg(index); break; case BIG_TEXT_RO_TYPE: //大文本分块加载,只读格式 { quint32 bLineStart = pEdit->getBigTextBlockStartLine(); lineNums = tr("Ln: %1 Col: %2").arg(bLineStart + line + 1).arg(index); } break; case BIG_EDIT_RW_TYPE: break;//暂时没有 case SUPER_BIG_TEXT_RO_TYPE: case HEX_TYPE: //这两种是没有行号的,只有列号 lineNums = tr("Ln: %1 Col: %2").arg("unknown").arg(index); break; default: break; } m_lineNumLabel->setText(lineNums); } //打开监控文件修改的信号 void CCNotePad::enableEditTextChangeSign(ScintillaEditView* pEdit) { connect(pEdit, &ScintillaEditView::textChanged,this, &CCNotePad::slot_editViewMofidyChange); } //关闭监控文件修改的信号。这样是为了高效,一旦文字修改后,后续不需要在监控该信号。 //直到保存后,再放开 void CCNotePad::disEnableEditTextChangeSign(ScintillaEditView* pEdit) { //pEdit->disconnect(SIGNAL(textChanged())); disconnect(pEdit, &ScintillaEditView::textChanged, this, &CCNotePad::slot_editViewMofidyChange); } //编辑框文本变化后,设置对应的变化状态 void CCNotePad::slot_editViewMofidyChange() { ScintillaEditView* pEditView = dynamic_cast(sender()); if (pEditView != nullptr) { //如果是未设置脏状态,则设置脏为true QVariant v = pEditView->property(Edit_Text_Change); bool isDirty = v.toBool(); if (!isDirty) { v.setValue(true); pEditView->setProperty(Edit_Text_Change,v); } //一旦变化后,设置tab为红色 int index = ui.editTabWidget->indexOf(pEditView); if (index != -1) { ui.editTabWidget->setTabIcon(index, QIcon(TabNeedSave)); } //设置状态栏也是红色 /*m_saveFile->setIcon(QIcon(NeedSaveBarIcon)); m_saveAllFile->setIcon(QIcon(NeedSaveAllBarIcon));*/ m_saveFile->setEnabled(true); m_saveAllFile->setEnabled(true); //断开监控。只有保存后再打开 disEnableEditTextChangeSign(pEditView); } } //更新当前文件的保存状态 void CCNotePad::updateCurTabSaveStatus() { QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr) { if (pw->property(Edit_Text_Change).toBool()) { m_saveFile->setEnabled(true); } else { m_saveFile->setEnabled(false); } } } //只设置保存按钮的状态 void CCNotePad::setSaveButtonStatus(bool needSave) { m_saveFile->setEnabled(needSave); } void CCNotePad::setSaveAllButtonStatus(bool needSave) { m_saveAllFile->setEnabled(needSave); /*if (needSave) { m_saveAllFile->setIcon(QIcon(NeedSaveAllBarIcon)); } else { m_saveAllFile->setIcon(QIcon(NoNeedSaveAllBarIcon)); }*/ } QAction* findItemInMenuByName(QMenu* menu, QString name) { return menu->findChild(name); } void CCNotePad::dealRecentFileMenuWhenColseFile(QString closeFilePath) { //无条件加载一次,避免没有初始化 on_loadReceneFile(); QAction* act = nullptr; getRegularFilePath(closeFilePath); //如果关闭的文件,已经在最近列表中,则移动到最前面即可 int index = m_receneOpenFileList.indexOf(closeFilePath); if (-1 != index) { QString filePath = m_receneOpenFileList.takeAt(index); act = findItemInMenuByName(ui.menuRecene_File, filePath); if (act != nullptr) { ui.menuRecene_File->removeAction(act); } } else { act = new QAction(closeFilePath, ui.menuRecene_File); act->setObjectName(closeFilePath); connect(act, &QAction::triggered, this, &CCNotePad::slot_openReceneFile); } //在菜单最近列表上面添加。如果最近列表是空的,则放在退出菜单之上 if (m_receneOpenFileList.isEmpty()) { ui.menuRecene_File->insertAction(nullptr, act); } else { //放在列表最上面 QString curTopActionPath = m_receneOpenFileList.first(); QAction* topAct = findItemInMenuByName(ui.menuRecene_File, curTopActionPath); ui.menuRecene_File->insertAction(topAct, act); } m_receneOpenFileList.push_front(closeFilePath); //不能无限制变大,及时删除一部分 if (m_receneOpenFileList.size() > 15) { QString k = m_receneOpenFileList.takeLast(); QAction* lastAct = findItemInMenuByName(ui.menuRecene_File, k); if (lastAct != nullptr) { ui.menuRecene_File->removeAction(lastAct); lastAct->deleteLater(); } } } //isInQuit::是否在主程序退出状态 void CCNotePad::tabClose(int index, bool isInQuit) { QWidget* pw = ui.editTabWidget->widget(index); QString filePath = pw->property(Edit_View_FilePath).toString(); //16进制的处理逻辑 int type = getDocTypeProperty(pw); if (HEX_TYPE == type) { ui.editTabWidget->removeTab(index); pw->deleteLater(); FileManager::getInstance().closeHexFileHand(filePath); //关闭文件后,打开一个新的页面 if (!isInQuit) { initTabNewOne(); } delFileListView(filePath); return; } else if (BIG_TEXT_RO_TYPE == type) { ui.editTabWidget->removeTab(index); pw->deleteLater(); FileManager::getInstance().closeBigTextRoFileHand(filePath); if (!isInQuit) { initTabNewOne(); } delFileListView(filePath); return; } else if (SUPER_BIG_TEXT_RO_TYPE == type) { ui.editTabWidget->removeTab(index); pw->deleteLater(); FileManager::getInstance().closeSuperBigTextFileHand(filePath); if (!isInQuit) { initTabNewOne(); } delFileListView(filePath); return; } //关闭之前,检查是否要保存。如果文档为脏,则询问是否要保存 ScintillaEditView* pEdit = dynamic_cast(pw); //关闭之前先检测是否在tailf模式,否则要回收tailf线程,不然可能崩溃 #ifdef Q_OS_WIN if (pEdit != nullptr) { pEdit->deleteTailFileThread(); } #endif if ((pEdit != nullptr) && (pEdit->property(Edit_Text_Change).toBool())) { QApplication::beep(); QMessageBox askSave(QMessageBox::Question, tr("Do you want to save changes to before closing?"), \ tr("If you don't save the changes you made in file %1, you'll lose them forever.").arg(filePath), \ QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, this); QPushButton* okButton = (QPushButton *) askSave.button(QMessageBox::Yes); okButton->setText(tr("&Yes")); okButton = (QPushButton*)askSave.button(QMessageBox::No); okButton->setText(tr("&No")); okButton = (QPushButton*)askSave.button(QMessageBox::Cancel); okButton->setText(tr("&Cancel")); int ret = askSave.exec(); //保存 if (ret == QMessageBox::Yes) { saveTabEdit(index); //如果还是取消,即没有保存,则不能关闭 if (pEdit->property(Edit_Text_Change).toBool()) { return; } } else if (ret == QMessageBox::Cancel) { m_isQuitCancel = true; return; } } ui.editTabWidget->removeTab(index); QVariant v = pw->property(Edit_File_New); int newFileIndex = v.toInt(); if (newFileIndex >= 0) { //如果是新建文件,则删除对应的记录 FileManager::getInstance().delNewFileNode(newFileIndex); } //如果关闭的是没有保存的新建文件,则不需要保存在最近打开列表中。新建文件需要保存 if (-1 == pEdit->property(Edit_File_New).toInt()) { dealRecentFileMenuWhenColseFile(filePath); } //取消监控文件 removeWatchFilePath(filePath); pw->deleteLater(); //删除交换文件 QString swapfile = getSwapFilePath(filePath); if (QFile::exists(swapfile)) { QFile::remove(swapfile); } //当前关闭后,更新下tab的是否全部需要关闭状态 updateSaveAllToolBarStatus(); updateCurTabSaveStatus(); delFileListView(filePath); if (!isInQuit) { initTabNewOne(); } } //点击tab上的关闭事件执行槽函数。注意这个index是其在tab中的序号。 //当中间有删除时,是会动态变化的。所以不能以这个id为一直的固定索引 void CCNotePad::slot_tabClose(int index) { tabClose(index); } void CCNotePad::tabClose(QWidget* pEdit) { for (int i = 0; i < ui.editTabWidget->count(); ++i) { if (pEdit == ui.editTabWidget->widget(i)) { tabClose(i); break; } } } //输入参数:名称和文件新建文件序号。一定是文本文件。contentPath:从这个路径加载文件内容,目前在恢复文件中使用。 ScintillaEditView* CCNotePad::newTxtFile(QString name, int index, QString contentPath) { ScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(); pEdit->setNoteWidget(this); CODE_ID code(UTF8_NOBOM); #ifdef _WIN32 RC_LINE_FORM lineEnd(DOS_LINE); #else RC_LINE_FORM lineEnd(UNIX_LINE); #endif bool isChange = false; //如果非空,则从contentPath中加载文件内容。做恢复文件使用 if (!contentPath.isEmpty()) { int ret = FileManager::getInstance().loadFileDataInText(pEdit, contentPath, code, lineEnd, nullptr, false, this); if (6 == ret) { //可能存在乱码,给出警告。还是以编辑模式打开 ui.statusBar->showMessage(tr("File %1 open success. But Exist Garbled code !")); } else if (ret != 0) { ui.statusBar->showMessage(tr("Restore Last Temp File %1 Failed").arg(contentPath)); } isChange = true; } connect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection); connect(pEdit, &ScintillaEditView::copyAvailable, this, &CCNotePad::slot_copyAvailable); connect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange())); enableEditTextChangeSign(pEdit); QString label = name; disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); int curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK)? TabNoNeedSave:TabNoNeedSaveDark32), label); QVariant editViewFilePath(label); pEdit->setProperty(Edit_View_FilePath, editViewFilePath); ui.editTabWidget->setTabToolTip(curIndex, label); setFileOpenAttrProperty(pEdit, OpenAttr::Text); setWindowTitleMode(label, OpenAttr::Text); QVariant editViewNewFile(index); pEdit->setProperty(Edit_File_New, editViewNewFile); QVariant editTextChange(isChange); pEdit->setProperty(Edit_Text_Change, editTextChange); QVariant editTextCode((int)code); pEdit->setProperty(Edit_Text_Code, editTextCode); syncCurDocEncodeToMenu(pEdit); syncCurDocTailfToMenu(pEdit); setDocTypeProperty(pEdit, TXT_TYPE); #ifdef _WIN32 QVariant editTextEnd((int)lineEnd); pEdit->setProperty(Edit_Text_End, editTextEnd); setLineEndBarLabel(DOS_LINE); #else QVariant editTextEnd((int)lineEnd); pEdit->setProperty(Edit_Text_End, editTextEnd); setLineEndBarLabel(UNIX_LINE); #endif syncCurDocLineEndStatusToMenu(pEdit); NewFileIdMgr fileId(index, pEdit); FileManager::getInstance().insertNewFileNode(fileId); ui.editTabWidget->setCurrentIndex(curIndex); connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); //设置自动转换和缩进参考线 if (s_autoWarp != QsciScintilla::WrapNone) { pEdit->setWrapMode(QsciScintilla::WrapCharacter); } setEditShowBlankStatus(pEdit, s_showblank); if (s_zoomValue != 0) { pEdit->zoomTo(s_zoomValue); } autoSetDocLexer(pEdit); int zoomValue = 100 + 10 * s_zoomValue; ui.statusBar->showMessage(tr("New File Finished [Text Mode] Zoom %1%").arg(zoomValue), MSG_EXIST_TIME); setZoomLabelValue(zoomValue); //缩进线要在autoSetDocLexer之后,发现lexer会修改缩进参考线 if (s_indent == 1) { pEdit->setIndentGuide(true); } addFileListView(name, pEdit); pEdit->viewport()->setFocus(); return pEdit; } void CCNotePad::slot_actionNewFile_toggle(bool /*checked*/) { int index = FileManager::getInstance().getNextNewFileId(); int nameId = index; QString name; while (true) { name = QString("New %1").arg(nameId); //检测一下是否重名New 文件,如果存在,则重新命名。注意id肯定是唯一的,但是名称其实可以重复 if (!isNewFileNameExist(name)) { break; } ++nameId; } newTxtFile(name,index); } //适当做剪裁 QString CCNotePad::getShortName(const QString& name) { if (name.size() > 20) { return QString("%1...").arg(name.left(16)); } return name; } //重新加载文件以指定的编码方式。单纯的修改编码,不视作文件做了修改。 bool CCNotePad::reloadTextFileWithCode(CODE_ID code) { QWidget* pw = ui.editTabWidget->currentWidget(); //16进制的处理逻辑 int docType = getDocTypeProperty(pw); if (HEX_TYPE == docType) { ui.statusBar->showMessage(tr("Only Text File Can Use it, Current Doc is a Hex File !"), 10000); QApplication::beep(); return false; } ScintillaEditView* pEdit = dynamic_cast(pw); //新建文件不需要重新打开文件,只修改编码显示 if (-1 == getFileNewIndexProperty(pw)) { QString filePath = pw->property(Edit_View_FilePath).toString(); RC_LINE_FORM lineEnd; disEnableEditTextChangeSign(pEdit); pEdit->clear(); if (docType == TXT_TYPE) { int errCode = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, this, false,this); if (errCode == 6) { //有乱码 } else if (errCode != 0) { delete pEdit; return false; } } else if (BIG_TEXT_RO_TYPE == docType) { //大文本索引加载模式,不需要再读取文本。只需要进行编码的转换即可 BigTextEditFileMgr* fileMgr = FileManager::getInstance().getBigFileEditMgr(filePath); if (fileMgr != nullptr) { fileMgr->loadWithCode = code; showBigTextFile(pEdit, fileMgr, fileMgr->m_curBlockIndex); } else { return false; } } else if (SUPER_BIG_TEXT_RO_TYPE == docType) { TextFileMgr* fileMgr = FileManager::getInstance().getSuperBigFileMgr(filePath); if (fileMgr != nullptr) { fileMgr->loadWithCode = code; showBigTextFile(pEdit, fileMgr); //如果切换了编码,可能乱码,把当前的行号缓存清空一下,因为旧行号已经没有意义了。 pEdit->clearSuperBitLineCache(); pEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset); } else { return false; } } if (pEdit->lexer() == nullptr) { autoSetDocLexer(pEdit); } enableEditTextChangeSign(pEdit); } setCodeBarLabel(code); QVariant editTextCode((int)code); pEdit->setProperty(Edit_Text_Code, editTextCode); return true; } const int MAX_TEXT_FILE_SIZE = 100 * 1024 * 1024; //大文本打开只读模式。20230126新增,这种模式打开时建立索引;todo:后续可多线程在后台建立索引 bool CCNotePad::openBigTextRoFile(QString filePath) { QFileInfo fi(filePath); QString fileLabel(fi.fileName()); //如果4M一个分块,则1024则是4G文件,2048则是8G文件。目前暂时最大支持8G的文件,进行文本编辑。 BigTextEditFileMgr* txtFile = nullptr; RC_LINE_FORM lineEnd(UNKNOWN_LINE); if (!FileManager::getInstance().loadFileDataWithIndex(filePath, txtFile)) { return false; } ScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(true); pEdit->setReadOnly(true); pEdit->setNoteWidget(this); //必须要在editTabWidget->addTab之前,因为一旦add时会出发tabchange,其中没有doctype会导致错误 pEdit->execute(SCI_SETSCROLLWIDTH, 80 * 10); setDocTypeProperty(pEdit, BIG_TEXT_RO_TYPE); showBigTextFile(pEdit, txtFile,0); lineEnd = (RC_LINE_FORM)txtFile->lineEndType; disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); int curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel)); ui.editTabWidget->setCurrentIndex(curIndex); connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); connect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection); autoSetDocLexer(pEdit); //pEdit->showBigEidTextLineNum(txtFile); QVariant editViewFilePath(filePath); pEdit->setProperty(Edit_View_FilePath, editViewFilePath); //setWindowTitle(QString("%1 (%2)").arg(filePath).arg(tr("Big Text File ReadOnly"))); ui.editTabWidget->setTabToolTip(curIndex, filePath); QVariant editViewNewFile(-1); pEdit->setProperty(Edit_File_New, editViewNewFile); QVariant editTextChange(false); pEdit->setProperty(Edit_Text_Change, editTextChange); setCodeTypeProperty(pEdit, txtFile->loadWithCode); setCodeBarLabel((CODE_ID)txtFile->loadWithCode); setLineEndBarLabel(lineEnd); setEndTypeProperty(pEdit, lineEnd); setDocEolMode(pEdit, lineEnd); syncCurDocEncodeToMenu(pEdit); syncCurDocTailfToMenu(pEdit); setFileOpenAttrProperty(pEdit, OpenAttr::BigTextReadOnly); setWindowTitleMode(filePath, OpenAttr::BigTextReadOnly); //设置自动转换和缩进参考线 if (s_autoWarp != QsciScintilla::WrapNone) { pEdit->setWrapMode(QsciScintilla::WrapCharacter); } setEditShowBlankStatus(pEdit, s_showblank); if (s_indent == 1) { pEdit->setIndentGuide(true); } if (s_zoomValue != 0) { pEdit->zoomTo(s_zoomValue); } addFileListView(filePath, pEdit); return true; } //按照超大文本文件进行只读打开 bool CCNotePad::openSuperBigTextFile(QString filePath) { QFileInfo fi(filePath); QString fileLabel(fi.fileName()); TextFileMgr* txtFile = nullptr; RC_LINE_FORM lineEnd(UNKNOWN_LINE); if (!FileManager::getInstance().loadFileData(filePath, txtFile, lineEnd)) { return false; } ScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(true); pEdit->setReadOnly(true); pEdit->setNoteWidget(this); //必须要在editTabWidget->addTab之前,因为一旦add时会出发tabchange,其中没有doctype会导致错误 pEdit->execute(SCI_SETSCROLLWIDTH, 80 * 10); setDocTypeProperty(pEdit, SUPER_BIG_TEXT_RO_TYPE); showBigTextFile(pEdit, txtFile); lineEnd = (RC_LINE_FORM)txtFile->lineEndType; disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); int curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel)); ui.editTabWidget->setCurrentIndex(curIndex); connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); connect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection); autoSetDocLexer(pEdit); pEdit->showBigTextLineAddr(txtFile->fileOffset - txtFile->contentRealSize, txtFile->fileOffset); QVariant editViewFilePath(filePath); pEdit->setProperty(Edit_View_FilePath, editViewFilePath); //setWindowTitle(QString("%1 (%2)").arg(filePath).arg(tr("Big Text File ReadOnly"))); ui.editTabWidget->setTabToolTip(curIndex, filePath); QVariant editViewNewFile(-1); pEdit->setProperty(Edit_File_New, editViewNewFile); QVariant editTextChange(false); pEdit->setProperty(Edit_Text_Change, editTextChange); setCodeTypeProperty(pEdit, txtFile->loadWithCode); setCodeBarLabel((CODE_ID)txtFile->loadWithCode); setLineEndBarLabel(lineEnd); setEndTypeProperty(pEdit, lineEnd); setDocEolMode(pEdit, lineEnd); syncCurDocEncodeToMenu(pEdit); syncCurDocTailfToMenu(pEdit); setFileOpenAttrProperty(pEdit, OpenAttr::SuperBigTextReadOnly); setWindowTitleMode(filePath, OpenAttr::SuperBigTextReadOnly); //设置自动转换和缩进参考线 if (s_autoWarp != QsciScintilla::WrapNone) { pEdit->setWrapMode(QsciScintilla::WrapCharacter); } setEditShowBlankStatus(pEdit, s_showblank); if (s_indent == 1) { pEdit->setIndentGuide(true); } if (s_zoomValue != 0) { pEdit->zoomTo(s_zoomValue); } addFileListView(filePath, pEdit); return true; } void CCNotePad::showChangePageTips(QWidget* pEdit) { int type = getDocTypeProperty(pEdit); if ((BIG_TEXT_RO_TYPE == type) || (SUPER_BIG_TEXT_RO_TYPE == type) || (HEX_TYPE == type)) { ui.statusBar->showMessage(tr("Use < (Prev) or > (Next) and Goto Buttons to Change Page Num ."), 10000); } } void CCNotePad::setWindowTitleMode(QString filePath, OpenAttr attr) { QString title = QString("%1 [%2]").arg(filePath).arg(OpenAttrToString(attr)); setWindowTitle(title); } const quint64 MAX_TRY_OPEN_FILE_SIZE = 1024 * 1024 * 1024; //打开普通文本文件。 bool CCNotePad::openTextFile(QString filePath, bool isCheckHex, CODE_ID code) { getRegularFilePath(filePath); //先检测交换文件是否存在,如果存在,说明上次崩溃了,提示用户恢复 QString swapfile = getSwapFilePath(filePath); bool isNeedRestoreFile = false; QFileInfo fi(filePath); //如果文件大于设定最大值,询问是否只读文件打开 if (ScintillaEditView::s_bigTextSize <= 0 || ScintillaEditView::s_bigTextSize > 300) { ScintillaEditView::s_bigTextSize = 100; } if (fi.size() > ScintillaEditView::s_bigTextSize*1024*1024) { //文件如果小于1G,询问用户如何打开。如果大于1G,无条件分块加载 if (fi.size() < MAX_TRY_OPEN_FILE_SIZE) { BigFileMessage askMsgBox(this); askMsgBox.setTip(tr("File %1 \nFile Size %2 > %3M, How to Open it ?").arg(filePath).arg(tranFileSize(fi.size())).arg(ScintillaEditView::s_bigTextSize)); int openMode = askMsgBox.exec(); //放弃打开 if (openMode == -1) { return false; } else if (openMode == TXT_TYPE) { //正常普通文本打开,不做什么,继续往下走 } else if (openMode == BIG_TEXT_RO_TYPE) { //大文本只读打开。20230125新增,做了内部索引,适合4G-8G左右的文件。 return openBigTextRoFile(filePath); } else if (openMode == SUPER_BIG_TEXT_RO_TYPE) { //超大文本编辑模式。8G以上 return openSuperBigTextFile(filePath); } else { //二进制打开 return openHexFile(filePath); } } else { //如果小于8G,则大文本只读打开;反之则超大文本只读打开 if (fi.size() <= 8 * MAX_TRY_OPEN_FILE_SIZE) { return openBigTextRoFile(filePath); } else { return openSuperBigTextFile(filePath); } } } if (QFile::exists(swapfile)) { QFileInfo spfi(swapfile); //如果存在交换文件,而且修改时间更晚,询问用户是否需要恢复 if ((spfi.size() > 0) /*&& (spfi.lastModified() >= fi.lastModified())*/) { //无条件备份一下文件,swap/原始文件都备份。避免用户文件丢失!!! QString srcBakFile = QString("%1_bak").arg(filePath); QString swapBakFile = QString("%1_bak").arg(swapfile); QFile::copy(filePath, srcBakFile); QFile::copy(swapfile, swapBakFile); int ret = QMessageBox::question(this, tr("Recover File?"), tr("File %1 abnormally closed last time , Restore it ?").arg(filePath), tr("Restore"), tr("No")); //使用历史存档恢复文件 if (ret == 0) { isNeedRestoreFile = true; } } } ScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(); pEdit->setNoteWidget(this); //必须要在editTabWidget->addTab之前,因为一旦add时会出发tabchange,其中没有doctype会导致错误 setDocTypeProperty(pEdit, TXT_TYPE); RC_LINE_FORM lineEnd; bool isReadOnly = false; //如果需要恢复,则加载交换文件的内容。 if (!isNeedRestoreFile) { int ret = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, this, isCheckHex,this); if (4 == ret) { delete pEdit; //用户同意以二进制格式打开文件 return openHexFile(filePath); } //else if (5 == ret) //{ // isReadOnly = true; // //只读模式 //} else if (6 == ret) { //可能存在乱码,给出警告。还是以编辑模式打开 ui.statusBar->showMessage(tr("File %1 open success. But Exist Garbled code !")); } else if (0 != ret) { delete pEdit; return false; } } else { //使用上次的swap文件恢复当前文件 if (0 != FileManager::getInstance().loadFileDataInText(pEdit, swapfile, code, lineEnd,this,false,this)) { ui.statusBar->showMessage(tr("File %1 Open Failed").arg(swapfile)); delete pEdit; return false; } //恢复时直接使用新内容保存到原始文件中 saveFile(filePath, pEdit, false); } //下面函数太长,进行一个重构到setNormalTextEditInitPro,后面其他地方也需要使用 setNormalTextEditInitPro(pEdit, filePath, code, lineEnd, isReadOnly,false); return true; } //初始化普通可编辑文件的基本属性 //fileLabel:label显示名称 //filePath:对应的文件路径名 //code 文件编码 //lineEnd 文件换行符 //isReadOnly 是否只读 //isModifyed 是否修改过的脏状态 void CCNotePad::setNormalTextEditInitPro(ScintillaEditView* pEdit, QString filePath, CODE_ID code, RC_LINE_FORM lineEnd, bool isReadOnly, bool isModifyed) { //防止addTab触发currentChanged信号,应发不必要的连锁反应 disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); QFileInfo fi(filePath); QString fileLabel(fi.fileName()); int curIndex = ui.editTabWidget->addTab(pEdit, QIcon(TabNoNeedSave), getShortName(fileLabel)); ui.editTabWidget->setCurrentWidget(pEdit); connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); connect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection); enableEditTextChangeSign(pEdit); connect(pEdit, &ScintillaEditView::copyAvailable, this, &CCNotePad::slot_copyAvailable); connect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange())); //监控文件 addWatchFilePath(filePath); setCodeBarLabel(code); setLineEndBarLabel(lineEnd); //注意顺序 QVariant editTextEnd((int)lineEnd); pEdit->setProperty(Edit_Text_End, editTextEnd); setDocEolMode(pEdit, lineEnd); QVariant editViewFilePath(filePath); pEdit->setProperty(Edit_View_FilePath, editViewFilePath); ui.editTabWidget->setTabToolTip(curIndex, filePath); QVariant editViewNewFile(-1); pEdit->setProperty(Edit_File_New, editViewNewFile); setTextChangeProperty(pEdit, isModifyed); //如果是脏,还需要设置保存等按钮 m_saveFile->setEnabled(isModifyed); if (isModifyed) { m_saveAllFile->setEnabled(true); ui.editTabWidget->setTabIcon(curIndex, QIcon(TabNeedSave)); } else { ui.editTabWidget->setTabIcon(curIndex, QIcon(TabNoNeedSave)); } QVariant editTextCode((int)code); pEdit->setProperty(Edit_Text_Code, editTextCode); syncCurDocEncodeToMenu(pEdit); syncCurDocLineEndStatusToMenu(pEdit); syncCurDocLexerToMenu(pEdit); //设置自动转换和缩进参考线 if (s_autoWarp != QsciScintilla::WrapNone) { pEdit->setWrapMode(QsciScintilla::WrapCharacter); } setEditShowBlankStatus(pEdit, s_showblank); if (s_zoomValue != 0) { pEdit->zoomTo(s_zoomValue); } if (!isReadOnly) { setFileOpenAttrProperty(pEdit, OpenAttr::Text); setWindowTitleMode(filePath, OpenAttr::Text); int zoomValue = 100 + 10 * s_zoomValue; ui.statusBar->showMessage(tr("File %1 Open Finished [Text Mode] Zoom %2%").arg(filePath).arg(zoomValue), MSG_EXIST_TIME); setZoomLabelValue(zoomValue); } else { setFileOpenAttrProperty(pEdit, OpenAttr::TextReadOnly); setWindowTitleMode(filePath, OpenAttr::TextReadOnly); ui.statusBar->showMessage(tr("File %1 Open Finished [Text ReadOnly Mode] (Note: display up to 50K bytes ...)").arg(fi.fileName()), MSG_EXIST_TIME); } if (pEdit->lexer() == nullptr) { autoSetDocLexer(pEdit); } //缩进线要在autoSetDocLexer之后,发现lexer会修改缩进参考线 if (s_indent == 1) { pEdit->setIndentGuide(true); } addFileListView(filePath, pEdit); } //显示二进制文件 bool CCNotePad::showHexFile(ScintillaHexEditView* pEdit, HexFileMgr* hexFile) { //二进制.预留4倍空间,双字节+空格+字符显示就是4倍,还要前面的地址12+空格+换行2=15。预留16个 //最后一行不慢16个字符的,也要把文字显示在对齐的16个字符的尾巴上。后面加的那个16*4就是多预留1行的空间 //最后一行不足16,字符显示对齐到尾巴的16的位置上 const int BUF_SIZE = hexFile->contentRealSize * 4 + 16 * (hexFile->contentRealSize / 16 + 1) + 16*4; char* textOut = new char[BUF_SIZE]; memset(textOut, 0, BUF_SIZE); int lineMax = 0; int offset = 0; uchar* pchar = (uchar*)hexFile->contentBuf; qint64 addr = hexFile->fileOffset - hexFile->contentRealSize; ui.statusBar->showMessage(tr("Current offset is %1 , load Contens Size is %2, File Total Size is %3").arg(addr).arg(hexFile->contentRealSize).arg(hexFile->fileSize)); char* lineString = new char[17]; memset(lineString,0,17); for (int pos = 0; pos < hexFile->contentRealSize; ++pos) { if (lineMax == 0) { if (addr < 0xffffffff) { sprintf(textOut + offset, "%08llX ", addr); offset += 9; } else { sprintf(textOut + offset, "%012llX ", addr); offset += 13; } } sprintf(textOut + offset, "%02X ", *(pchar+pos)); //如果在可显示字符内 if (*(pchar + pos) >= 32 && *(pchar + pos) <= 126) { lineString[lineMax] = *(pchar + pos); } else { lineString[lineMax] = '.'; } offset += 3; lineMax++; if (lineMax == 16) { memcpy(textOut + offset, lineString,16); offset += 16; sprintf(textOut + offset, "\r\n"); offset += 2; lineMax = 0; addr += 16; memset(lineString, 0, 17); } } if (lineMax > 0) { //对于尾巴不慢16字符的,对齐一下,让文本总是显示在最后的16个空间上 for (int i = 0; i < (16 - lineMax); ++i) { sprintf(textOut + offset, "-- "); offset += 3; } memcpy(textOut + offset, lineString, lineMax); offset += lineMax; sprintf(textOut + offset, "\r\n"); } QString text(textOut); pEdit->setUtf8(false); pEdit->setText(text); delete[]lineString; delete[]textOut; return true; } //显示超大文本文件只读 bool CCNotePad::showBigTextFile(ScintillaEditView* pEdit, TextFileMgr* txtFile) { qint64 addr = txtFile->fileOffset - txtFile->contentRealSize; CODE_ID code = (CODE_ID)txtFile->loadWithCode; //不知道编码,则需要自动判断编码 if (txtFile->loadWithCode == UNKOWN) { //自动从头部或文件中判断编码 code = CmpareMode::getTextFileEncodeType((uchar *)txtFile->contentBuf, txtFile->contentRealSize, txtFile->filePath); } QString outUtf8Text; bool tranSucess = true; //UNICODE_LE格式需要单独处理 if (code == UNICODE_LE) { tranSucess = CmpareMode::tranUnicodeLeToUtf8Bytes((uchar*)txtFile->contentBuf, txtFile->contentRealSize, outUtf8Text); } else { //如果还是unknown,则没法了,默认按照Utf8解析。 if (code == UNKOWN) { code = UTF8_NOBOM; } tranSucess = Encode::tranStrToUNICODE(code, (const char*)txtFile->contentBuf, txtFile->contentRealSize, outUtf8Text); } if (txtFile->loadWithCode != code) { txtFile->loadWithCode = code; } //获取行结尾信息 if (txtFile->lineEndType == RC_LINE_FORM::UNKNOWN_LINE) { txtFile->lineEndType = getLineEndTypeFromBigText(outUtf8Text); } pEdit->setText(outUtf8Text); if (tranSucess) { ui.statusBar->showMessage(tr("Current offset is %1 , load Contens Size is %2, File Total Size is %3").arg(addr).arg(txtFile->contentRealSize).arg(txtFile->fileSize)); } else { //文件乱码 if (txtFile->contentBuf == 0) { QMessageBox::warning(this, tr("Format Error"), tr("Not a txt format file , load with big txt is garbled code!")); } else { ui.statusBar->showMessage(tr("Not a txt format file , load with big txt is garbled code!")); } } //pEdit->setUtf8Text(txtFile->contentBuf, txtFile->contentRealSize); return true; } //显示大文本文件,可编辑。, int blockIndex显示第几块。txtFile->loadWithCode 如果是UNKONW,则自动判断编码;反之以code指定的加载 bool CCNotePad::showBigTextFile(ScintillaEditView* pEdit, BigTextEditFileMgr* txtFile, int blockIndex) { if (blockIndex >= 0 && blockIndex < txtFile->blocks.size()) { BlockIndex bi = txtFile->blocks.at(blockIndex); CODE_ID code = (CODE_ID)txtFile->loadWithCode; //不知道编码,则需要自动判断编码 if (txtFile->loadWithCode == UNKOWN) { //自动从头部或文件中判断编码。如果是第0块即文件开头,才能从头部检测 code = CmpareMode::getTextFileEncodeType(txtFile->filePtr + bi.fileOffset, bi.fileSize, txtFile->filePath, (blockIndex == 0)); } QString outUtf8Text; bool tranSucess = true; //UNICODE_LE格式需要单独处理 if (code == UNICODE_LE) { tranSucess = CmpareMode::tranUnicodeLeToUtf8Bytes(txtFile->filePtr + bi.fileOffset, bi.fileSize, outUtf8Text, (blockIndex == 0)); } else { //如果还是unknown,则没法了,默认按照Utf8解析。 if (code == UNKOWN) { code = UTF8_NOBOM; } tranSucess = Encode::tranStrToUNICODE(code, (const char*)txtFile->filePtr + bi.fileOffset, bi.fileSize, outUtf8Text); } if (txtFile->loadWithCode != code) { txtFile->loadWithCode = code; } //获取行结尾信息 if (txtFile->lineEndType == RC_LINE_FORM::UNKNOWN_LINE) { txtFile->lineEndType = getLineEndTypeFromBigText(outUtf8Text); } //int ret = pEdit->setUtf8Text((char*)txtFile->filePtr + bi.fileOffset, bi.fileSize); pEdit->setText(outUtf8Text); pEdit->showBigTextRoLineNum(txtFile, blockIndex); pEdit->setBigTextBlockStartLine(bi.lineNumStart); txtFile->m_curBlockIndex = blockIndex; if (tranSucess) { ui.statusBar->showMessage(tr("Current offset is %1 , line nums is %2 - %3 load Contens Size is %4, File Total Size is %5").arg(bi.fileOffset).arg(bi.lineNumStart + 1).arg(bi.lineNumStart + bi.lineNum + 1).arg(bi.fileSize).arg(txtFile->file->size())); } else { //文件乱码 if (blockIndex == 0) { QMessageBox::warning(this, tr("Format Error"), tr("Not a txt format file , load with big txt is garbled code!")); } else { ui.statusBar->showMessage(tr("Not a txt format file , load with big txt is garbled code!")); } } return true; } BlockIndex bi = txtFile->blocks.at(txtFile->m_curBlockIndex); ui.statusBar->showMessage(tr("Current offset is %1 , line nums is %2 - %3 load Contens Size is %4, File Total Size is %5").arg(bi.fileOffset).arg(bi.lineNumStart + 1).arg(bi.lineNumStart + bi.lineNum + 1).arg(bi.fileSize).arg(txtFile->file->size())); QApplication::beep(); return false; } //打开并显示二进制文件 bool CCNotePad::openHexFile(QString filePath) { getRegularFilePath(filePath); QFileInfo fi(filePath); QString fileLabel(fi.fileName()); HexFileMgr* hexFile = nullptr; if (!FileManager::getInstance().loadFileData(filePath, hexFile)) { return false; } ScintillaHexEditView* pEdit = FileManager::getInstance().newEmptyHexDocument(); pEdit->setReadOnly(true); pEdit->setNoteWidget(this); pEdit->execute(SCI_SETSCROLLWIDTH, 80 * 10); setDocTypeProperty(pEdit, HEX_TYPE); showHexFile(pEdit,hexFile); disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); int curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel)); ui.editTabWidget->setCurrentIndex(curIndex); connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); QVariant editViewFilePath(filePath); pEdit->setProperty(Edit_View_FilePath, editViewFilePath); //setWindowTitle(filePath); ui.editTabWidget->setTabToolTip(curIndex, filePath); QVariant editViewNewFile(-1); pEdit->setProperty(Edit_File_New, editViewNewFile); QVariant editTextChange(false); pEdit->setProperty(Edit_Text_Change, editTextChange); syncCurDocEncodeToMenu(pEdit); syncCurDocTailfToMenu(pEdit); setFileOpenAttrProperty(pEdit, OpenAttr::HexReadOnly); setWindowTitleMode(filePath, OpenAttr::HexReadOnly); ui.statusBar->showMessage(tr("File %1 Open Finished [Hex ReayOnly Mode]").arg(filePath),MSG_EXIST_TIME); addFileListView(filePath, pEdit); return true; } void CCNotePad::slot_fileListView(bool check) { if (check) { initFileListDockWin(); syncFileTabToListView(); } else { if (!m_dockFileListWin.isNull()) { m_dockFileListWin->close(); } } } void CCNotePad::addFileListView(QString file, QWidget* pw) { if (!m_dockFileListWin.isNull()) { m_fileListView->addFileItem(file, pw); } } void CCNotePad::delFileListView(QString file) { if (!m_dockFileListWin.isNull()) { m_fileListView->delFileItem(file); } } void CCNotePad::syncFileTabToListView() { if (m_dockFileListWin.isNull()) { return; } for (int i = 0; i < ui.editTabWidget->count(); ++i) { QWidget* pw = ui.editTabWidget->widget(i); QString filePath = getFilePathProperty(pw); m_fileListView->addFileItem(filePath,pw); } } void CCNotePad::fileListSetCurItem(QString filePath) { if (!m_dockFileListWin.isNull()) { m_fileListView->setCurItem(filePath); } } //双击文件列表,定位到对应的文件 void CCNotePad::slot_fileListItemDoubleClick(QListWidgetItem* item) { if (!m_dockFileListWin.isNull()) { QWidget *pWid = m_fileListView->getWidgetByFilePath(item->text()); if (pWid != nullptr) { ui.editTabWidget->setCurrentWidget(pWid); } } } //在文件列表类中使用,关闭pEdit所在的编辑器 bool CCNotePad::closeFileByEditWidget(QWidget* pEdit) { int index = ui.editTabWidget->indexOf(pEdit); if (index != -1) { slot_tabClose(index); return true; } return false; } void CCNotePad::initFileListDockWin() { //停靠窗口1 if (m_dockFileListWin.isNull()) { m_dockFileListWin = new QDockWidget(tr("File List"), this); connect(m_dockFileListWin, &QDockWidget::dockLocationChanged, this, [](Qt::DockWidgetArea area) { NddSetting::updataKeyValueFromNumSets(FILELISTPOS, area); }); connect(m_dockFileListWin, &QObject::destroyed, this, [this] { if (ui.actionFileListView->isChecked()) { ui.actionFileListView->setChecked(false); } }); m_dockFileListWin->setAttribute(Qt::WA_DeleteOnClose); m_dockFileListWin->layout()->setMargin(0); m_dockFileListWin->layout()->setSpacing(0); //暂时不提供关闭,因为关闭后需要同步菜单的check状态 m_dockFileListWin->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); m_dockFileListWin->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); m_fileListView = new FileListView(m_dockFileListWin); m_fileListView->setNotepadWin(this); connect(m_fileListView, &FileListView::itemDoubleClicked, this, &CCNotePad::slot_fileListItemDoubleClick); m_dockFileListWin->setWidget(m_fileListView); int lastArea = NddSetting::getKeyValueFromNumSets(FILELISTPOS); if (lastArea == 0) { lastArea = Qt::LeftDockWidgetArea; } addDockWidget((Qt::DockWidgetArea)lastArea, m_dockFileListWin); if (!ui.actionFileListView->isChecked()) { ui.actionFileListView->setChecked(true); } } m_dockFileListWin->show(); } static QString fileSuffix(const QString& filePath) { QFileInfo fi(filePath); return fi.suffix(); } //打开之前保存的恢复文件 bool CCNotePad::tryRestoreFile(QString filePath) { getRegularFilePath(filePath); QFileInfo fi(filePath); QString fileName = fi.fileName(); QString tempDir = getGlboalTempSaveDir(); QString restoreTempFile = QString("%1\\%2").arg(tempDir).arg(fi.fileName()); QFileInfo restoreFi(restoreTempFile); //存在恢复文件,则加载打开 if (restoreFi.exists()) { ScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(); pEdit->setNoteWidget(this); //使用上次的swap文件恢复当前文件 CODE_ID code; RC_LINE_FORM lineEnd; if (0 != FileManager::getInstance().loadFileDataInText(pEdit, restoreTempFile, code, lineEnd, nullptr,false)) { ui.statusBar->showMessage(tr("File %1 Open Failed").arg(restoreTempFile)); delete pEdit; QFile::remove(restoreTempFile); return openFile(filePath); } else { //打开成功 setNormalTextEditInitPro(pEdit, filePath, code, lineEnd, false,true); //删除临时备份文件 QFile::remove(restoreTempFile); return true; } } return openFile(filePath); } bool CCNotePad::openFile(QString filePath, int lineNum) { s_padTimes++; //如果是相对路径 getRegularFilePath(filePath); QFileInfo fi(filePath); if (!fi.exists()) { QApplication::beep(); QMessageBox::warning(this, tr("Error"), tr("file %1 not exist.").arg(filePath)); return false; } s_lastOpenDirPath = fi.absoluteDir().absolutePath(); //如果已经打开过,则直接返回到当前文档 int retIndex = findFileIsOpenAtPad(filePath); if (-1 != retIndex) { ui.editTabWidget->setCurrentIndex(retIndex); QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { //必须要先获得焦点,否则无法执行行跳转 pEdit->viewport()->setFocus(); if (lineNum != -1) { pEdit->execute(SCI_GOTOLINE, lineNum - 1); } } ui.statusBar->showMessage(tr("file %1 already open at tab %2").arg(filePath).arg(retIndex),MSG_EXIST_TIME); return true; } //如果是已知的二进制文件,以二进制打开 if (DocTypeListView::isHexExt(fileSuffix(filePath))) { return openHexFile(filePath); } //非已知的后缀文件,暂时无条件以文本模式打开 int ret = openTextFile(filePath); if (ret && lineNum != -1) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->execute(SCI_GOTOLINE, lineNum-1); } } return ret; } void CCNotePad::slot_slectionChanged() { ScintillaEditView* pEdit = dynamic_cast(sender()); if (pEdit != nullptr) { if (pEdit->hasSelectedText()) { QString selectText = pEdit->selectedText(); } } } void CCNotePad::slot_actionOpenFile_toggle(bool /*checked*/) { if (s_lastOpenDirPath.isEmpty()) { s_lastOpenDirPath = NddSetting::getKeyValueFromDelaySets(LAST_OPEN_DIR); } QFileDialog fd(this,QString(), s_lastOpenDirPath); fd.setFileMode(QFileDialog::ExistingFile); if (fd.exec() == QDialog::Accepted) //如果成功的执行 { QStringList fileNameList = fd.selectedFiles(); //返回文件列表的名称 QFileInfo fi(fileNameList[0]); openFile(fi.filePath()); } else { fd.close(); } } #if 0 #ifdef _WIN32 void hide_file(const QString& szFile) { #ifdef UNICODE std::wstring wstr = szFile.toStdWString(); ::SetFileAttributes(wstr.c_str(), FILE_ATTRIBUTE_HIDDEN); #else ::SetFileAttributes(szFile.toStdString()c_str(), FILE_ATTRIBUTE_HIDDEN); #endif // !UNICODE } #endif // _WIN32 #endif //bool isBakWrite:是否进行保护写,即先写swap文件,再写源文件。这样可以避免突然断电导致源文件被清空 //isBakWrite 是否写保护swp文件,默认true。只有新文件时不需要,因为新文件不存在覆盖写的问题 //isStatic 是否静默:不弹出对话框,在外部批量查找替换文件夹时使用,避免弹窗中断。默认false //isClearSwpFile:是否回收swp交换文件,在外部批量查找替换文件夹时使用,替换后直接删除swp文件。默认false bool CCNotePad::saveFile(QString fileName, ScintillaEditView* pEdit, bool isBakWrite, bool isStatic, bool isClearSwpFile) { QFile srcfile(fileName); //如果文件存在,说明是旧文件,检测是否能写,不能写则失败。 //反之文件不存,是保存为新文件 bool isNewFile = false; if (srcfile.exists()) { //linux也不是拥有者,可写权限就行 QFlags power = QFile::permissions(fileName); if (!power.testFlag(QFile::WriteUser)) { //文件不能写 QApplication::beep(); if (!isStatic) { QMessageBox::warning(this, tr("Error"), tr("Save File %1 failed. Can not write auth, Please save as new file").arg(fileName)); } ui.statusBar->showMessage(tr("Save File %1 failed. Can not write auth, Please save as new file").arg(fileName)); return false; } } else { isNewFile = true; } auto saveWork = [this, &pEdit,isStatic](QFile& file, QString &fileName, bool isSwapFile=false)->bool{ if (!file.open(QIODevice::ReadWrite | QIODevice::Truncate)) { QApplication::beep(); if (!isStatic) { #ifdef Q_OS_WIN //打开失败,这里一般是权限问题导致。如果是windows,在外面申请权限后继续处理 if (QFileDevice::OpenError == file.error()) { //先把当前文件的内容,保存到临时的目录中。 QString tempDir = getGlboalTempSaveDir(); QFileInfo fi(fileName); QString saveTempFile = QString("%1\\%2").arg(tempDir).arg(fi.fileName()); saveFile(saveTempFile, pEdit, false, true, false); //后面新打开的文件,再去读取该文件。 this->runAsAdmin(fileName); return false; } #endif if (isSwapFile) { //如果是交换文件写失败,询问是否继续直接写文件 return (QMessageBox::Yes == QMessageBox::question(this, tr("Error"), tr("Save Swap File %1 failed. Write the target file directly ?").arg(fileName))); } else { QMessageBox::warning(this, tr("Error"), tr("Save File %1 failed. You may not have write privileges \nPlease save as a new file!").arg(fileName)); } } return false; } QString textOut = pEdit->text(); CODE_ID dstCode = static_cast(pEdit->property(Edit_Text_Code).toInt()); //如果编码是已知如下类型,则后续保存其它行时,不修改编码格式,继续按照原编码进行保存 if (dstCode == CODE_ID::UNICODE_BE) { QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-16BE")); } else if (dstCode == CODE_ID::UNICODE_LE) { QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-16LE")); } else if (dstCode == CODE_ID::UTF8_BOM) { QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); //自动转换不会带UTF-8 BOM,所以自己要在前面写个BOM头。这是一个例外。需要手动写入头 //其他编码BL LE则不需要。 QByteArray codeFlag = Encode::getEncodeStartFlagByte(dstCode); if (!codeFlag.isEmpty()) { //先写入标识头 file.write(codeFlag); } } else if (dstCode == CODE_ID::GBK) { QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK")); } else if (dstCode == CODE_ID::BIG5) { QTextCodec::setCodecForLocale(QTextCodec::codecForName("BIG5-HKSCS")); } else { //对于其它非识别编码,统一转换为utf8。减去让用户选择的麻烦 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); } if (textOut.length() > 0) { //保存时注意编码问题。这个tolocal已经带了字符BOM头了。只有UTF8_BOM不会带,其他BE LE都会带 QByteArray t = textOut.toLocal8Bit(); file.write(textOut.toLocal8Bit()); } file.close(); return true; }; //如果是新文件,第一次保存,直接保存 //或者非保护写,直接写源文件即可 if (isNewFile || !isBakWrite) { saveWork(srcfile, fileName); } else { QString swapFilePath = getSwapFilePath(fileName); QFile swapfile(swapFilePath); //老文件则先写入交换文件,避免断电后破坏文件不能恢复 //再写入原本文件 bool success = saveWork(swapfile, fileName, true); if (success) { #if 0 //不要这个了,windows下无条件删除 if (!isClearSwpFile) { hide_file(swapFilePath); } #endif success = saveWork(srcfile, fileName); if (!success) { return false; } } #ifdef _WIN32 //windows下面如果保存成功,则无条件删除swap文件,许多用户反感这个.swap文件存在 if (success) { QFile::remove(swapFilePath); } #else if (success && isClearSwpFile) { QFile::remove(swapFilePath); } #endif } return true; } //bool isBakWrite:是否进行保护写,即先写swap文件,再写源文件。这样可以避免突然断电导致源文件被清空 //外部替换后保存文件时调用的函数,主要不弹出messagebox void CCNotePad::slot_saveFile(QString fileName, ScintillaEditView* pEdit) { //写保护文件、静默安装、删除保护文件 saveFile(fileName, pEdit,true,true,true); } //保存一个新建的文件后,更新相关配置 void CCNotePad::updateProAfterSaveNewFile(int curTabIndex, QString fileName, ScintillaEditView* pEdit) { getRegularFilePath(fileName); //保存成功后,更新文件的路径和tab标签 QFileInfo fi(fileName); QString fileLabel(fi.fileName()); ui.editTabWidget->setTabText(curTabIndex, fileLabel); //删除新文件的索引 QVariant v = pEdit->property(Edit_File_New); int newFileIndex = v.toInt(); if (newFileIndex >= 0) { //如果是新建文件,则删除对于的记录 FileManager::getInstance().delNewFileNode(newFileIndex); } v.setValue(-1); pEdit->setProperty(Edit_File_New, v); //更新路径名称 QVariant fp(fileName); pEdit->setProperty(Edit_View_FilePath, fp); //setWindowTitle(fileName); setFileOpenAttrProperty(pEdit, OpenAttr::Text); setWindowTitleMode(fileName, OpenAttr::Text); ui.editTabWidget->setTabToolTip(curTabIndex, fileName); autoSetDocLexer(pEdit); addWatchFilePath(fileName); } // void CCNotePad::saveTabEdit(int tabIndex) { QWidget* pw = ui.editTabWidget->widget(tabIndex); //16进制的处理逻辑 if (HEX_TYPE == getDocTypeProperty(pw)) { ui.statusBar->showMessage(tr("Only Text File Can Use it, Current Doc is a Hex File !"), 10000); QApplication::beep(); return; } ScintillaEditView* pEdit = dynamic_cast(pw); //保存成功后,开启修改监控 //如果是未设置脏状态,则设置脏为true QVariant v = pEdit->property(Edit_Text_Change); bool isDirty = v.toBool(); //不脏则不需要保存,直接跳过 if (!isDirty) { return; } if (pEdit != nullptr) { //如果是新建的文件,则弹出保存对话框,进行保存 if (pEdit->property(Edit_File_New) >= 0) { QString filter("Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)"); QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), QString(), filter); if (!fileName.isEmpty()) { //如果已经打开过,则直接返回到当前文档 int retIndex = findFileIsOpenAtPad(fileName); if (-1 != retIndex) { QMessageBox::warning(this, tr("Error"), tr("file %1 already open at tab %2, please select other file name.").arg(fileName).arg(retIndex)); return; } if (!saveFile(fileName, pEdit)) { return; } updateProAfterSaveNewFile(tabIndex, fileName, pEdit); } else { //这里点击了取消,不进行保存 return; } } else { //如果是打开的文件了,则保存 QString fileName = pEdit->property(Edit_View_FilePath).toString(); if (!fileName.isEmpty()) { //保存前取消文件的修改检测,避免自己修改触发自己 removeWatchFilePath(fileName); if (!saveFile(fileName, pEdit)) { addWatchFilePath(fileName); return; } addWatchFilePath(fileName); } } //保存成功后,开启修改监控 //如果是未设置脏状态,则设置脏为true if (isDirty) { v.setValue(false); pEdit->setProperty(Edit_Text_Change, v); } //一旦保存后,设置tab为不需要保存状态 ui.editTabWidget->setTabIcon(tabIndex, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32)); //m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon)); m_saveFile->setEnabled(false); updateSaveAllToolBarStatus(); //只有保存后再打开文本变化监控 enableEditTextChangeSign(pEdit); } } //保存文件的执行 void CCNotePad::slot_actionSaveFile_toggle(bool /*checked*/) { int index = ui.editTabWidget->currentIndex(); saveTabEdit(index); } //文件重命名 void CCNotePad::slot_actionRenameFile_toggle(bool checked) { QWidget* pw = ui.editTabWidget->currentWidget(); int index = ui.editTabWidget->currentIndex(); //非新建文件走改名逻辑 if (-1 == getFileNewIndexProperty(pw)) { //取消旧的文件监控 QString oldName = pw->property(Edit_View_FilePath).toString(); getRegularFilePath(oldName); QFileInfo oldfi(oldName); //如果是打开的本来就存在的文件,也弹出保存进行 QString filter("Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)"); QString fileName = QFileDialog::getSaveFileName(this, tr("Rename File As ..."), oldfi.absoluteDir().absolutePath(), filter); if (!fileName.isEmpty()) { getRegularFilePath(fileName); if (oldName == fileName) { return; } QFileInfo newfi(fileName); if (oldfi.absoluteDir().absolutePath() != newfi.absoluteDir().absolutePath()) { return; } if (QFile::rename(oldName, fileName)) { removeWatchFilePath(oldName); //保存成功后,更新文件的路径和tab标签 QFileInfo fi(fileName); QString fileLabel(fi.fileName()); ui.editTabWidget->setTabText(index, fileLabel); //更新路径名称 QVariant fp(fileName); pw->setProperty(Edit_View_FilePath, fp); ui.editTabWidget->setTabToolTip(index, fileName); addWatchFilePath(fileName); } else { QApplication::beep(); QMessageBox::warning(this, tr("Error"), tr("file %1 reanme failed!").arg(fileName)); return; } } else { //这里点击了取消,不进行操作 return; } } else { //新建文件直接走另外保存逻辑 slot_actionSaveAsFile_toggle(checked); } } //保存文件的另存为槽函数。1)先执行保存。2)用保存后的新文件路径,替换当前的路径 void CCNotePad::slot_actionSaveAsFile_toggle(bool /*checked*/) { QWidget* pw = ui.editTabWidget->currentWidget(); //16进制的处理逻辑 if (HEX_TYPE == getDocTypeProperty(pw)) { ui.statusBar->showMessage(tr("Only Text File Can Use it, Current Doc is a Hex File !"), 10000); QApplication::beep(); return; } int index = ui.editTabWidget->currentIndex(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { //如果是新建的文件,则弹出保存对话框,进行保存 if (pEdit->property(Edit_File_New) >= 0) { QString filter("Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)"); QString fileName = QFileDialog::getSaveFileName(this, tr("Save File As ..."),QString(), filter); if (!fileName.isEmpty()) { getRegularFilePath(fileName); //如果已经打开过,则直接返回到当前文档 int retIndex = findFileIsOpenAtPad(fileName); if (-1 != retIndex) { QMessageBox::warning(this, tr("Error"), tr("file %1 already open at tab %2, please select other file name.").arg(fileName).arg(retIndex)); return; } if (!saveFile(fileName, pEdit)) { return; } updateProAfterSaveNewFile(index, fileName, pEdit); addWatchFilePath(fileName); } else { //这里点击了取消,不进行保存 return; } } else { //取消旧的文件监控 removeWatchFilePath(pEdit->property(Edit_View_FilePath).toString()); //如果是打开的本来就存在的文件,也弹出保存进行 QString filter("Text files (*.txt);;XML files (*.xml);;h files (*.h);;cpp file(*.cpp);;All types(*.*)"); QString curFilePath = getFilePathProperty(pEdit); QString fileName = QFileDialog::getSaveFileName(this, tr("Save File As ..."), curFilePath, filter); if (!fileName.isEmpty()) { if (!saveFile(fileName, pEdit)) { return; } //保存成功后,更新文件的路径和tab标签 QFileInfo fi(fileName); QString fileLabel(fi.fileName()); ui.editTabWidget->setTabText(index, fileLabel); //更新路径名称 QVariant fp(fileName); pEdit->setProperty(Edit_View_FilePath, fp); ui.editTabWidget->setTabToolTip(index, fileName); addWatchFilePath(fileName); setWindowTitleMode(fileName, OpenAttr::Text); } else { //这里点击了取消,不进行保存 return; } } //保存成功后,开启修改监控 //如果是未设置脏状态,则设置脏为true QVariant v = pEdit->property(Edit_Text_Change); bool isDirty = v.toBool(); if (isDirty) { v.setValue(false); pEdit->setProperty(Edit_Text_Change, v); } //保持完毕后,设置tab为蓝色,显示为不需要保持状态 ui.editTabWidget->setTabIcon(index, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32)); //m_saveFile->setIcon(QIcon(NoNeedSaveBarIcon)); m_saveFile->setEnabled(false); updateSaveAllToolBarStatus(); //只有保存后再打开文本变化监控 enableEditTextChangeSign(pEdit); //updateTitleToCurDocFilePath(); } } //关闭当前文件 void CCNotePad::slot_actionClose(bool) { int index = ui.editTabWidget->currentIndex(); if (index >= 0) { slot_tabClose(index); } } //关闭非当前文档 void CCNotePad::slot_actionCloseNonCurDoc() { int index = ui.editTabWidget->currentIndex(); for (int i = ui.editTabWidget->count()-1; i >=0; --i) { if (i != index) { slot_tabClose(i); } } } void CCNotePad::slot_actionCloseLeftAll() { int index = ui.editTabWidget->currentIndex(); for (int i = index - 1; i >= 0; --i) { slot_tabClose(i); } } void CCNotePad::slot_actionCloseRightAll() { int index = ui.editTabWidget->currentIndex(); for (int i = ui.editTabWidget->count() - 1; i > index; --i) { slot_tabClose(i); } } //不管如何关闭,最终显示一个new1的新建在最上面 void CCNotePad::initTabNewOne() { if (0 == ui.editTabWidget->count()) { slot_actionNewFile_toggle(true); m_saveFile->setEnabled(false); m_saveAllFile->setEnabled(false); } } //退出所有。暂时不要了,默认alt+f4. void CCNotePad::slot_quit(bool) { close(); } void CCNotePad::slot_saveAllFile() { int index = ui.editTabWidget->currentIndex(); if (index == -1) { return; } //从尾部开始依次调用保存所有文件。没修改的不需要保存 for (int i = ui.editTabWidget->count()-1; i >= 0; --i) { saveTabEdit(i); } //最后恢复之前的current ui.editTabWidget->setCurrentIndex(index); } //定时自动保存 void CCNotePad::slot_autoSaveFile(bool status) { if (m_timerAutoSave == nullptr) { m_timerAutoSave = new QTimer(this); connect(m_timerAutoSave, &QTimer::timeout, this, &CCNotePad::slot_timerAutoSave); slot_timerAutoSave(); } if (status) { if (!m_timerAutoSave->isActive()) { //3分钟自动保存一次 m_timerAutoSave->start(1000 * 60 * 3); ui.statusBar->showMessage(tr("Cycle autosave on ..."),5000); } } else { if (m_timerAutoSave->isActive()) { m_timerAutoSave->stop(); ui.statusBar->showMessage(tr("Cycle autosave off ..."), 5000); } } } //定时器周期触发的自动保存 void CCNotePad::slot_timerAutoSave() { int curTabIndex = ui.editTabWidget->currentIndex(); for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); //如果是未修改,不执行保存 if (!getTextChangeProperty(pw)) { continue; } //16进制文件不执行保存 if (HEX_TYPE == getDocTypeProperty(pw)) { continue; } //新建文件不需要保存 if (getFileNewIndexProperty(pw) >= 0) { continue; } ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { //如果是打开的文件了,则保存 QString fileName = getFilePathProperty(pw); if (!fileName.isEmpty()) { //保存前取消文件的修改检测,避免自己修改触发自己 removeWatchFilePath(fileName); if (!saveFile(fileName, pEdit)) { continue; } addWatchFilePath(fileName); } } //如果是未设置脏状态,则设置脏为false setTextChangeProperty(pw, false); if (curTabIndex == i) { m_saveFile->setEnabled(false); ui.statusBar->showMessage(tr("The current document has been automatically saved"), 5000); } //只有保存后再打开文本变化监控 enableEditTextChangeSign(pEdit); } } //保存文件为临时文件。一定是文本格式,可读写的。只在关闭时才需要调用该函数。 //凡是存在临时文件的,一定是脏文件,即关闭时没有保存的文件。 //而不存在临时文件,只有一个记录在list中的文件,表示不脏的文件,直接打开原始文件即可。 //1:非脏新建文件 2 非脏的已存在文件 3 脏的新建文件 4 脏的老文件。 //5和3一样,但是多了一个语法设置保存。 //20230119 对于1非脏的新建文件,不再保存。 void CCNotePad::saveTempFile(ScintillaEditView* pEdit,int index, QSettings& qs) { //16进制的处理逻辑 if (TXT_TYPE != getDocTypeProperty(pEdit)) { return; } QVariant v = pEdit->property(Edit_Text_Change); bool isDirty = v.toBool(); //不脏则不需要保存,直接跳过。不脏的文件,只记录1个名称,下次打开时恢复 if (!isDirty) { QString fileName = pEdit->property(Edit_View_FilePath).toString(); //把文件记录到qs中去 //index一定不能重复。n表示新建 //如果是新建的文件 if (pEdit->property(Edit_File_New) >= 0) { //不再保存新建的非脏文件。因为一定是空的,意义不大 //qs.setValue(QString("%1").arg(index), QString("%1|1").arg(fileName)); } else { qs.setValue(QString("%1").arg(index), QString("%1|2").arg(fileName)); //非新建文件,清空交换文件 QString swapfile = getSwapFilePath(fileName); if (QFile::exists(swapfile)) { QFile::remove(swapfile); } } return; } //如果是新建的文件 if (pEdit->property(Edit_File_New) >= 0) { QString qsSavePath = qs.fileName(); QFileInfo fi(qsSavePath); QString saveDir = fi.dir().absolutePath(); QString tempFileName = QString("%1/%2").arg(saveDir).arg(index); if (!saveFile(tempFileName, pEdit,false,true)) { return; } else { QString fileName = pEdit->property(Edit_View_FilePath).toString(); //把文件记录到qs中去 //index一定不能重复。2表示新建 int lexId = L_TXT; if (pEdit->lexer() != nullptr) { lexId = pEdit->lexer()->lexerId(); if (lexId > L_TXT) { lexId = L_TXT; } } if (lexId == L_TXT) { qs.setValue(QString("%1").arg(index), QString("%1|3").arg(fileName)); } else { qs.setValue(QString("%1").arg(index), QString("%1|%2|5").arg(fileName).arg(lexId)); } } } else { //如果是打开的文件了,则保存。脏的已经存在文件 QString fileName = pEdit->property(Edit_View_FilePath).toString(); if (!fileName.isEmpty()) { //保存前取消文件的修改检测,避免自己修改触发自己 removeWatchFilePath(fileName); QString qsSavePath = qs.fileName(); QFileInfo fi(qsSavePath); QString saveDir = fi.dir().absolutePath(); QString tempFileName = QString("%1/%2").arg(saveDir).arg(index); if (saveFile(tempFileName, pEdit, false, true)) { //把文件记录到qs中去 //index一定不能重复。2表示存在 qs.setValue(QString("%1").arg(index), QString("%1|4").arg(fileName)); } //要注意清空一下交换文件。因为这里的文件其实已经保存完毕了,直接把交换文件删除。 //否则下次恢复时,会检测到存在交换文件,会提示用户。 QString swapfile = getSwapFilePath(fileName); if (QFile::exists(swapfile)) { QFile::remove(swapfile); } } } } void CCNotePad::closeFileStatic(int index, QSettings& qs) { QWidget* pw = ui.editTabWidget->widget(index); QString filePath = pw->property(Edit_View_FilePath).toString(); //16进制的处理逻辑 int type = getDocTypeProperty(pw); if (HEX_TYPE == type) { ui.editTabWidget->removeTab(index); pw->deleteLater(); FileManager::getInstance().closeHexFileHand(filePath); return; } else if (BIG_TEXT_RO_TYPE == type) { ui.editTabWidget->removeTab(index); pw->deleteLater(); FileManager::getInstance().closeBigTextRoFileHand(filePath); return; } else if (SUPER_BIG_TEXT_RO_TYPE == type) { ui.editTabWidget->removeTab(index); pw->deleteLater(); FileManager::getInstance().closeSuperBigTextFileHand(filePath); return; } //关闭之前,检查是否要保存。如果文档为脏,则静默保存为temp文件 ScintillaEditView* pEdit = dynamic_cast(pw); if ((pEdit != nullptr)) { saveTempFile(pEdit,index,qs); } ui.editTabWidget->removeTab(index); QVariant v = pw->property(Edit_File_New); int newFileIndex = v.toInt(); if (newFileIndex >= 0) { //如果是新建文件,则删除对应的记录 FileManager::getInstance().delNewFileNode(newFileIndex); } //这里是在退出程序的过程中,不需要更新最近打开文件菜单列表 //取消监控文件 removeWatchFilePath(filePath); pw->deleteLater(); } void CCNotePad::closeAllFileStatic() { QString tempFileList = QString("notepad/temp/list"); QSettings qs(QSettings::IniFormat, QSettings::UserScope, tempFileList); qs.setIniCodec("UTF-8"); QString qsSavePath = qs.fileName(); QFileInfo fi(qsSavePath); QDir saveDir = fi.dir(); //检查文件夹temp是否存在,不然就创建。发现第一次时,没有该文件夹,文件保存时失败。 if (!saveDir.exists()) { saveDir.mkdir(saveDir.absolutePath()); } qs.clear(); int curIndexWhenQuit = ui.editTabWidget->currentIndex(); NddSetting::updataKeyValueFromNumSets(LAST_ACTION_TAB_INDEX, curIndexWhenQuit); //这里是静默退出,反正要退出了,把槽函数取消一下,避免下面setCurrentIndex再触发做无用功 disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); //从尾部开始依次调用保存所有文件。没修改的不需要保存 for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { ui.editTabWidget->setCurrentIndex(i); closeFileStatic(i,qs); } } //退出时关闭所有文件 void CCNotePad::closeAllFileWhenQuit(bool isQuit) { m_isQuitCancel = false; //从尾部开始依次调用保存所有文件。没修改的不需要保存 for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { ui.editTabWidget->setCurrentIndex(i); tabClose(i, isQuit); if (m_isQuitCancel) { break; } } } //关闭所有文件的槽函数 void CCNotePad::slot_closeAllFile(bool) { closeAllFileWhenQuit(false); } void CCNotePad::closeEvent(QCloseEvent * event) { if (!m_pFindWin.isNull()) { QByteArray curGeo = m_pFindWin->saveGeometry(); NddSetting::updataKeyByteArrayValue(FINDWINSIZE, curGeo); m_pFindWin.data()->close(); } if (!m_pHexGotoWin.isNull()) { m_pHexGotoWin.data()->close(); } if (!m_columnEditWin.isNull()) { m_columnEditWin.data()->close(); } //关闭的时候,filelistwin还存在 if (!m_dockFileListWin.isNull()) { NddSetting::updataKeyValueFromNumSets(FILELISTSHOW, 1); m_dockFileListWin.data()->close(); } else { NddSetting::updataKeyValueFromNumSets(FILELISTSHOW, 0); } #ifdef Q_OS_WIN if ((s_restoreLastFile==1) && m_isMainWindows && !s_isAdminAuth) { //走静默安装的函数。对于没有保存的文件,一律保存为临时文件 //主窗口才需要保存。非主的还是提示 closeAllFileStatic(); m_isQuitCancel = false; } else { closeAllFileWhenQuit(true); } #else if ((s_restoreLastFile == 1) && m_isMainWindows) { closeAllFileStatic(); m_isQuitCancel = false; } else { closeAllFileWhenQuit(true); } #endif if (m_isQuitCancel) { m_isQuitCancel = false; event->ignore(); return; } s_padInstances->removeOne(this); //把hwnd切换到当前还在的notepad,否则右键打开失效。因为窗口隐藏了 //退位让贤给当前还在的窗口 if (!s_padInstances->isEmpty()) { CCNotePad* c = s_padInstances->first(); //主窗口还在,没有删除,不用切换 //管理员窗口任何时候不做住窗口 #ifdef Q_OS_WIN if (c->m_isMainWindows || s_isAdminAuth) #else if (c->m_isMainWindows) #endif { //主窗口还在,则当前窗口直接退出。但是把主窗口呼出来一下 if (c->isHidden() || c->isMinimized()) { c->showNormal(); } event->accept(); return; } else { //把接位的窗口设置为主窗口,显示出来。隐藏的窗口时没有winid的,避免该错误。 if (c->isHidden() || c->isMinimized()) { c->showNormal(); } qlonglong winId = (qlonglong)c->effectiveWinId(); m_shareMem->lock(); memcpy(m_shareMem->data(), &winId, sizeof(qlonglong)); m_shareMem->unlock(); c->m_isMainWindows = true; } } //保存上次打开目录 if (!CCNotePad::s_lastOpenDirPath.isEmpty()) { NddSetting::updataKeyValueFromDelaySets(LAST_OPEN_DIR, CCNotePad::s_lastOpenDirPath); } //保存大小 QByteArray curGeo = saveGeometry(); NddSetting::updataKeyByteArrayValue(WIN_POS, curGeo); event->accept(); } void CCNotePad::updateSaveAllToolBarStatus() { bool isNeedSaveAll = false; //从尾部开始依次调用保存所有文件。没修改的不需要保存 for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget *pw = ui.editTabWidget->widget(i); if (pw->property(Edit_Text_Change).toBool()) { isNeedSaveAll = true; break; } } setSaveAllButtonStatus(isNeedSaveAll); } void CCNotePad::slot_copyAvailable(bool select) { if (m_cutFile != nullptr && m_copyFile != nullptr) { m_cutFile->setEnabled(select); m_copyFile->setEnabled(select); } } void CCNotePad::slot_cut() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->cut(); } } void CCNotePad::slot_copy() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->copy(); } } void CCNotePad::slot_paste() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->paste(); } } void CCNotePad::slot_selectAll() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->execute(SCI_SELECTALL); } } void CCNotePad::slot_undo() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->undo(); } } void CCNotePad::slot_redo() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->redo(); } } void CCNotePad::slot_zoomin() { ++s_zoomValue; if (s_zoomValue < -10) s_zoomValue = -10; else if (s_zoomValue > 20) s_zoomValue = 20; zoomto(s_zoomValue); } //ctrl+鼠标放大缩小zoom,由pedit发送的消息 //任何一个编辑框修改,其余的编辑框也需要同步修改 void CCNotePad::slot_zoomValueChange() { ScintillaEditView* pSrcEdit = dynamic_cast(sender()); if (pSrcEdit != nullptr) { pSrcEdit->updateLineNumberWidth(); int curZoomValue = pSrcEdit->execute(SCI_GETZOOM); if (s_zoomValue != curZoomValue) { s_zoomValue = curZoomValue; NddSetting::updataKeyValueFromNumSets(ZOOMVALUE, s_zoomValue); int zoomValue = 100 + 10 * curZoomValue; ui.statusBar->showMessage(tr("Current Zoom Value is %1%").arg(zoomValue)); setZoomLabelValue(zoomValue); } //修改其余的pedit for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if ((pEdit != nullptr) && (pEdit != pSrcEdit)) { //zoomTo 会触发SCN_ZOOM,而zoomTo会触发slot_zoomValueChange,避免循环触发 disconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange())); pEdit->zoomTo(s_zoomValue); pEdit->updateLineNumberWidth(); connect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange())); } } } } void CCNotePad::zoomto(int zoomValue) { NddSetting::updataKeyValueFromNumSets(ZOOMVALUE, zoomValue); int value = 100 + 10 * zoomValue; ui.statusBar->showMessage(tr("Current Zoom Value is %1%").arg(value)); setZoomLabelValue(value); for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { //zoomTo 会触发SCN_ZOOM,而zoomTo会触发slot_zoomValueChange,避免循环触发 disconnect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange())); pEdit->zoomTo(zoomValue); pEdit->updateLineNumberWidth(); connect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange())); } } } void CCNotePad::slot_zoomout() { --s_zoomValue; if (s_zoomValue < -10) s_zoomValue = -10; else if (s_zoomValue > 20) s_zoomValue = 20; zoomto(s_zoomValue); } //只切换了当前文档。换行大批量切换,可能会非常耗时,所以不全部换行。在文档切换的时候,需要检查下当前文档的自动换行状态。 void CCNotePad::slot_wordwrap(bool checked) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (checked) { pEdit->setWrapMode(QsciScintilla::WrapCharacter); } else { pEdit->setWrapMode(QsciScintilla::WrapNone); } } s_autoWarp = (checked) ? QsciScintilla::WrapCharacter : QsciScintilla::WrapNone; NddSetting::updataKeyValueFromNumSets(AUTOWARP_KEY, s_autoWarp); //同步两个按钮的状态 if (ui.actionWrap->isChecked() != checked) { ui.actionWrap->setChecked(checked); } if (m_wordwrap != nullptr && m_wordwrap->isChecked() != checked) { m_wordwrap->setChecked(checked); } } void CCNotePad::syncBlankShowStatus() { //检查3个地方按钮的状态。这里务必注意,action使用trigged信号,setcheck修改不会触发该信号。避免循环 //同样道理,button使用click信号,也是避免setcheck触发click信号,避免信号循环处理。 ui.actionShowSpaces->setChecked((0 != (s_showblank & 0x1))); ui.actionshow_end_of_line->setChecked((0 != (s_showblank & 0x2))); ui.actionShowAll->setChecked((3 == s_showblank)); m_allWhite->setChecked((3 == s_showblank)); } //这里是对所有文档进行了空白的开启等。后续如果发现有效率问题,要学自动换行那样,可以只修当前文档;其余文档在切换是更新 void CCNotePad::changeBlankShowStatus(int showBlank) { //对比判断防止循环触发,这个是有必要的。 if (s_showblank == showBlank) { return; } //0 全部不开启。1开始空白 2 开启行尾 3 全部开启 s_showblank = showBlank; for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { setEditShowBlankStatus(pEdit, s_showblank); } } NddSetting::updataKeyValueFromNumSets(SHOWSPACE_KEY, s_showblank); syncBlankShowStatus(); } //有2个函数,都触发该函数。一个是ui.actionShowAll,一个是按钮m_allWhite。 //状态以ui.actionShowAll为主。m_allWhite为辅助同步按钮状态。避免二者的信号互相干扰。 void CCNotePad::slot_allWhite(bool checked) { //0 全部不开启。1开始空白 2 开启行尾 3 全部开启 changeBlankShowStatus((checked ? 3 : 0)); } //只控制空格和TAB,不控制行尾 void CCNotePad::slot_show_spaces(bool checked) { int showblank = s_showblank; if (checked) { showblank |= 0x1; } else { showblank &= 0xe; } changeBlankShowStatus(showblank); } //全部都会生效,和自动换行不一样,会全部设置 void CCNotePad::slot_indentGuide(bool willBeShowed) { for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); //文本的处理逻辑 if (TXT_TYPE == getDocTypeProperty(pw)) { //关闭之前,检查是否要保存。如果文档为脏,则询问是否要保存 ScintillaEditView* pEdit = dynamic_cast(pw); pEdit->setIndentGuide(willBeShowed); } } s_indent = (willBeShowed) ? 1 : 0; NddSetting::updataKeyValueFromNumSets(INDENT_KEY, s_indent); } #ifdef Q_OS_WIN TCHAR* CharToWchar(const QString& str) { QByteArray ba = str.toUtf8(); char* data = ba.data(); //以上两步不能直接简化为“char *data = str.toUtf8().data();” int charLen = strlen(data); int len = MultiByteToWideChar(CP_ACP, 0, data, charLen, NULL, 0); TCHAR* buf = new TCHAR[len + 1]; MultiByteToWideChar(CP_ACP, 0, data, charLen, buf, len); buf[len] = '\0'; return buf; } #endif void CCNotePad::tailfile(bool isOn, ScintillaEditView* pEdit) { if (pEdit == nullptr || (TXT_TYPE != getDocTypeProperty(pEdit) || (-1 != getFileNewIndexProperty(pEdit)))) { m_tailf->setChecked(false); ui.statusBar->showMessage(tr("Only Text File Can Use it !"), MSG_EXIST_TIME); return; } if (isOn) { if (1 == getFileTailProperty(pEdit)) { return; } pEdit->setReadOnly(true); setFileTailProperty(pEdit, 1); ui.statusBar->showMessage(tr("File %1 into tailf mode, readonly !").arg(getFilePathProperty(pEdit)), MSG_EXIST_TIME); #ifdef Q_OS_WIN auto checkFileChange = [this](ScintillaEditView* pEdit) { QString filePath = getFilePathProperty(pEdit); TCHAR* fullFileName = CharToWchar(filePath); DectFileChanges fileChanges; fileChanges.AddFile(fullFileName, FILE_NOTIFY_CHANGE_LAST_WRITE | FILE_NOTIFY_CHANGE_SIZE); //单独开启一个线程,去监控文件大小的变化 HANDLE eventHandle = ::CreateEvent(nullptr, TRUE, FALSE, nullptr); HANDLE changeHandles[] = { eventHandle }; bool toBeGoon = true; while (toBeGoon) { DWORD waitStatus = ::WaitForMultipleObjects(_countof(changeHandles), changeHandles, FALSE, 1000); switch (waitStatus) { case WAIT_OBJECT_0 + 0: // User removes this folder or file browser is closed { toBeGoon = false; } break; case WAIT_TIMEOUT: { if (fileChanges.DetectChanges()) { //这里不能直接更新,而是要发生信号出去。否则跨线程访问,可能发生错误或告警 //pEdit->setProperty(Modify_Outside, QVariant(true)); //checkRoladFile(pEdit); quint64 lastSize = 0; quint64 curSize = 0; fileChanges.getDiffFileSize(lastSize,curSize); emit this->tailFileChange(pEdit, lastSize, curSize); } //如果退出监控。这里要注意,一定要是volidate的,否则多线程获取不到该变化 //使用了原子变量,效果是一样的,多个线程均可见 if (!(pEdit->m_isInTailStatus)) { toBeGoon = false; } } break; case WAIT_IO_COMPLETION: // Nothing to do. break; } } qDebug() << "listen file quit ..."; fileChanges.Terminate(); }; connect(this, &CCNotePad::tailFileChange, this, &CCNotePad::on_roladFile, Qt::QueuedConnection); pEdit->m_isInTailStatus = true; std::thread* pListenThread = new std::thread(checkFileChange, pEdit); QVariant t((qlonglong)pListenThread); pEdit->setProperty(Tail_Thread, t); #endif // Q_OS_WIN } else { #ifdef Q_OS_WIN if (!pEdit->m_isInTailStatus) { return; } #endif setFileTailProperty(pEdit, 0); #ifdef Q_OS_WIN pEdit->deleteTailFileThread(); #endif pEdit->setReadOnly(false); #ifdef Q_OS_WIN disconnect(this, &CCNotePad::tailFileChange, this, &CCNotePad::on_roladFile); #endif } } //实时开启文件变化tailf。20230218发现一个问题。 //文件没有关闭,只是flush时,无法实时刷新。所有要在windows上单独监控文件大小改变 void CCNotePad::on_tailfile(bool isOn) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); tailfile(isOn, pEdit); } void CCNotePad::find(FindTabIndex findType) { initFindWindow(findType); FindWin* pFind = dynamic_cast(m_pFindWin.data()); #ifdef uos pFind->activateWindow(); #endif pFind->showNormal(); #ifdef uos adjustWInPos(pFind); #endif pFind->setFocus(); pFind->setCurrentTab(findType); } void CCNotePad::slot_findInDir() { find(DIR_FIND_TAB); } void CCNotePad::slot_find() { initFindWindow(FIND_TAB); FindWin* pFind = dynamic_cast(m_pFindWin.data()); //必须要激活一下,所谓激活就是让当前这个查找窗口,获取焦点,是所有窗口中的当前活动窗口 pFind->activateWindow(); pFind->showNormal(); #ifdef uos adjustWInPos(pFind); #endif } //在后台查找关键字 int CCNotePad::findAtBack(QStringList& keyword) { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); return pFind->findAtBack(keyword); } //在后台替换关键字 //在后台批量替换关键字 int CCNotePad::replaceAtBack(QStringList& keyword, QStringList& replace) { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); return pFind->replaceAtBack(keyword, replace); } //在后台高亮关键字 int CCNotePad::markAtBack(QStringList& keyword) { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); return pFind->markAtBack(keyword); } //返回值:0 正常 1 选择自动为空 int CCNotePad::initFindWindow(FindTabIndex type) { int ret = 0; FindWin* pFind = nullptr; QWidget* pw = ui.editTabWidget->currentWidget(); int docType = getDocTypeProperty(pw); if (m_pFindWin.isNull()) { m_pFindWin = new FindWin(this); connect(m_pFindWin,&QObject::destroyed,this,&CCNotePad::slot_saveSearchHistory); QByteArray lastGeo = NddSetting::getKeyByteArrayValue(FINDWINSIZE); if (!lastGeo.isEmpty()) { m_pFindWin->restoreGeometry(lastGeo); } pFind = dynamic_cast(m_pFindWin.data()); if (s_findHistroy.isEmpty()) { //从历史查找记录文件中加载 QString searchHistory = QString("notepad/searchHistory");//历史查找记录 QSettings qs(QSettings::IniFormat, QSettings::UserScope, searchHistory); qs.setIniCodec("UTF-8"); if (qs.contains("keys")) { QVariant history = qs.value("keys", ""); s_findHistroy = history.toStringList(); } if (qs.contains("replace")) { QVariant replaceHistory = qs.value("replace", ""); s_replaceHistroy = replaceHistory.toStringList(); } } pFind->setFindHistory(&s_findHistroy); pFind->setReplaceHistory(&s_replaceHistroy); pFind->setTabWidget(ui.editTabWidget); if((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType)) { //connect(pFind, &FindWin::sign_findAllInCurDoc, this, &CCNotePad::slot_showFindAllInCurDocResult); connect(pFind, &FindWin::sign_findAllInOpenDoc, this, &CCNotePad::slot_showfindAllInOpenDocResult); connect(pFind, &FindWin::sign_replaceSaveFile, this, &CCNotePad::slot_saveFile); connect(pFind, &FindWin::sign_clearResult, this, &CCNotePad::slot_clearFindResult); } else { //二进制DOC只读,不许替换编辑。不在这里做,会导致编辑框回调。在FindWin里面去判断 //pFind->disableReplace(); } //注册一个ESC的退出按钮事件 //设置查找的快捷键 QShortcut *escSc = new QShortcut(m_pFindWin); escSc->setKey(QKeySequence(Qt::Key_Escape)); escSc->setContext(Qt::WidgetWithChildrenShortcut); connect(escSc, &QShortcut::activated, this, [this]() {m_pFindWin->close(); }); } else { pFind = dynamic_cast(m_pFindWin.data()); } pFind->setCurrentTab(type); if ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType)) { ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && pEdit->hasSelectedText()) { QString text = pEdit->selectedText(); if (FIND_TAB == type) { pFind->setFindText(text); pFind->keywordWinGetFouse(FIND_TAB); //如果字段比较短,则字段填充到替换中 if (text.size() <= 60) { pFind->setReplaceFindText(text); } } else if (REPLACE_TAB == type) { pFind->setReplaceFindText(text); pFind->keywordWinGetFouse(REPLACE_TAB); //如果字段比较短,则字段填充到替换中 if (text.size() <= 60) { pFind->setFindText(text); } } else if (DIR_FIND_TAB == type) { pFind->setDirFindText(text); pFind->keywordWinGetFouse(DIR_FIND_TAB); } else if (MARK_TAB == type) { pFind->setMarkFindText(text); pFind->keywordWinGetFouse(MARK_TAB); } } else { QString text; pFind->setFindText(text); pFind->setReplaceFindText(text); pFind->setDirFindText(text); ret = 1; } } else if (HEX_TYPE == docType) { ScintillaHexEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && pEdit->hasSelectedText()) { QString text = pEdit->selectedText(); pFind->setFindText(text); } else { QString text; pFind->setFindText(text); ret = 1; } } return ret; } //保存历史查找记录 void CCNotePad::slot_saveSearchHistory() { //从历史查找记录文件中加载 QString searchHistory = QString("notepad/searchHistory");//历史查找记录 QSettings qs(QSettings::IniFormat, QSettings::UserScope, searchHistory); qs.setIniCodec("UTF-8"); if (s_findHistroy.count() > 15) { s_findHistroy = s_findHistroy.mid(0, 15); } qs.setValue("keys", s_findHistroy); if (s_replaceHistroy.count() > 15) { s_replaceHistroy = s_replaceHistroy.mid(0, 15); } qs.setValue("replace", s_replaceHistroy); qs.sync(); } void CCNotePad::slot_replace() { initFindWindow(REPLACE_TAB); FindWin* pFind = dynamic_cast(m_pFindWin.data()); pFind->activateWindow(); pFind->showNormal(); #ifdef uos adjustWInPos(pFind); #endif } //标记高亮 void CCNotePad::slot_markHighlight() { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); pFind->setCurrentTab(MARK_TAB); pFind->activateWindow(); pFind->showNormal(); #ifdef uos adjustWInPos(pFind); #endif } //取消所有标记高亮 void CCNotePad::slot_clearMark() { QWidget* pw = ui.editTabWidget->currentWidget(); int docType = getDocTypeProperty(pw); if ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType)) { ScintillaEditView* pEdit = dynamic_cast(pw); int docEnd = pEdit->length(); for (int i = 0; i < 5; ++i) { pEdit->execute(SCI_SETINDICATORCURRENT, SCE_UNIVERSAL_FOUND_STYLE_EXT5+i); pEdit->execute(SCI_INDICATORCLEARRANGE, 0, docEnd); } pEdit->releaseAllMark(); } } void CCNotePad::clearHighlightWord(QString signWord, ScintillaEditView* pEdit) { if (pEdit == nullptr) { QWidget* pw = ui.editTabWidget->currentWidget(); pEdit = dynamic_cast(pw); if (HEX_TYPE == getDocTypeProperty(pw) || (pEdit == nullptr)) { return; } } //如果当前已经高亮,则取消高亮 QList& curMarkRecord = pEdit->getCurMarkRecord(); bool isClearMark = false; int i = 0; for (; i < curMarkRecord.size(); ++i) { if (signWord == curMarkRecord.at(i)->findText) { isClearMark = true; break; } } if (isClearMark) { //取消高亮 FindRecords* r = curMarkRecord.at(i); pEdit->execute(SCI_SETINDICATORCURRENT, r->hightLightColor); for (int j = 0; j < r->records.size(); ++j) { const FindRecord& oneRecord = r->records.at(j); pEdit->execute(SCI_INDICATORCLEARRANGE, oneRecord.pos, oneRecord.end - oneRecord.pos); } //必须删除释放,否则内存泄露 delete r; curMarkRecord.removeAt(i); } } void CCNotePad::slot_clearWordHighlight() { QWidget* pw = ui.editTabWidget->currentWidget(); int docType = getDocTypeProperty(pw); QString signWord; ScintillaEditView* pEdit; int srcPostion = -1; if ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType)) { pEdit = dynamic_cast(pw); if (pEdit != nullptr && pEdit->hasSelectedText()) { signWord = pEdit->selectedText(); } } else if (HEX_TYPE == docType) { return; } if (signWord.isEmpty()) { //如果没有选择内容,则自动获取当前的单词,进行1个匹配。注意中文也是一样,检测到前后的空格,看做1个单词 srcPostion = pEdit->execute(SCI_GETCURRENTPOS); signWord = pEdit->wordAtPosition(srcPostion); } if (!signWord.isEmpty()) { clearHighlightWord(signWord, pEdit); } } void CCNotePad::slot_wordHighlight() { QWidget* pw = ui.editTabWidget->currentWidget(); int docType = getDocTypeProperty(pw); QString signWord; ScintillaEditView* pEdit; int srcPostion = -1; if ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType)) { pEdit = dynamic_cast(pw); if (pEdit != nullptr && pEdit->hasSelectedText()) { signWord = pEdit->selectedText(); } } else if (HEX_TYPE == docType) { return; } if (signWord.isEmpty()) { //如果没有选择内容,则自动获取当前的单词,进行1个匹配。注意中文也是一样,检测到前后的空格,看做1个单词 srcPostion = pEdit->execute(SCI_GETCURRENTPOS); signWord = pEdit->wordAtPosition(srcPostion); } if (!signWord.isEmpty()) { //如果当前已经高亮,则取消高亮 QList& curMarkRecord = pEdit->getCurMarkRecord(); bool isClearMark = false; int i = 0; for (; i < curMarkRecord.size(); ++i) { if (signWord == curMarkRecord.at(i)->findText) { isClearMark = true; break; } } bool isNeedReColor = false; //取消高亮 if (isClearMark) { FindRecords* r = curMarkRecord.at(i); isNeedReColor = (r->hightLightColor != CCNotePad::s_curMarkColorId); pEdit->execute(SCI_SETINDICATORCURRENT, r->hightLightColor); for (int j = 0; j < r->records.size(); ++j) { const FindRecord& oneRecord = r->records.at(j); pEdit->execute(SCI_INDICATORCLEARRANGE, oneRecord.pos, oneRecord.end - oneRecord.pos); } //必须删除释放,否则内存泄露 delete r; curMarkRecord.removeAt(i); } //如果就颜色和当前颜色不一样,则还需要重新高亮 if(!isClearMark || isNeedReColor) { //反之高亮 initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); //静默调用 pFind->markAllWord(signWord); } } } void CCNotePad::slot_findResultPosChangeed(Qt::DockWidgetArea area) { NddSetting::updataKeyValueFromNumSets(FINDRESULTPOS,area); } void CCNotePad::initFindResultDockWin() { //停靠窗口1 if (m_dockSelectTreeWin == nullptr) { m_dockSelectTreeWin = new QDockWidget(tr("Find result"), this); connect(m_dockSelectTreeWin, &QDockWidget::dockLocationChanged, this, &CCNotePad::slot_findResultPosChangeed); m_dockSelectTreeWin->layout()->setMargin(0); m_dockSelectTreeWin->layout()->setSpacing(0); //暂时不提供关闭,因为关闭后需要同步菜单的check状态 m_dockSelectTreeWin->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); m_dockSelectTreeWin->setAllowedAreas(Qt::LeftDockWidgetArea| Qt::RightDockWidgetArea |Qt::BottomDockWidgetArea); m_pResultWin = new FindResultWin(m_dockSelectTreeWin); //connect(m_pResultWin, &FindResultWin::itemDoubleClicked, this, &CCNotePad::slot_findResultItemDoubleClick); connect(m_pResultWin, &FindResultWin::lineDoubleClicked, this, &CCNotePad::on_findResultlineDoubleClick); connect(m_pResultWin, &FindResultWin::showMsg, this, [this](QString& msg) { ui.statusBar->showMessage(msg,5000); }); m_dockSelectTreeWin->setWidget(m_pResultWin); int lastArea = NddSetting::getKeyValueFromNumSets(FINDRESULTPOS); if (lastArea == 0) { lastArea = Qt::BottomDockWidgetArea; } addDockWidget((Qt::DockWidgetArea)lastArea, m_dockSelectTreeWin); } } //双击查找结果,定位到对应的地方 void CCNotePad::slot_findResultItemDoubleClick(const QModelIndex &index) { //如果点击的是父节点,父节点有ResultItemEditor,则跳转到对应的编辑框 const QModelIndex* item = &index; auto locationCurrentEdit = [this](const QModelIndex *rootItem)->ScintillaEditView* { QString filePath = rootItem->data(ResultItemEditorFilePath).toString(); getRegularFilePath(filePath); if (!rootItem->data(ResultItemEditor).isNull()) { ScintillaEditView* pEdit = reinterpret_cast(rootItem->data(ResultItemEditor).toLongLong()); //这里如果是目录查找过来的,是没有pEdit的 if (pEdit == nullptr) { goto foundInDir; } //当前已经在结果窗口上 if (dynamic_cast(ui.editTabWidget->currentWidget()) == pEdit) { return pEdit; } //不在则遍历插值定位到 for (int i = 0; i < ui.editTabWidget->count(); ++i) { ScintillaEditView* pe = dynamic_cast(ui.editTabWidget->widget(i)); if (pEdit == pe) { ui.editTabWidget->setCurrentIndex(i); return pe; } } foundInDir: //遍历文件路径查找 //不在则遍历插值定位到 for (int i = 0; i < ui.editTabWidget->count(); ++i) { ScintillaEditView* pe = dynamic_cast(ui.editTabWidget->widget(i)); if (filePath == getFilePathProperty(pe)) { ui.editTabWidget->setCurrentIndex(i); return pe; } } //还是没有找到,则新建打开文件 if (openFile(filePath)) { ScintillaEditView*pEdit = dynamic_cast(ui.editTabWidget->currentWidget()); return pEdit; } } ui.statusBar->showMessage(tr("file %1 was not exists !").arg(filePath), 5000); QApplication::beep(); return nullptr; }; if (!item->data(ResultItemDesc).isNull()) { //点击的是描述行 return; } //点击的是查找的根节点 if (!item->data(ResultItemEditor).isNull()) { locationCurrentEdit(item); } else if (!item->data(ResultItemPos).isNull()) { //点击的是查找的结果项目 QModelIndex rootItem = item->parent(); ScintillaEditView* pCurEdit = locationCurrentEdit(&rootItem); if(pCurEdit != nullptr) { //int findLens = rootItem.data(ResultWhatFind).toString().length(); //发现是中文必须下面这样,不能直接取qstring长度 //int findLens = rootItem.data(ResultWhatFind).toString().toUtf8().size(); int pos = item->data(ResultItemPos).toInt(); int len = item->data(ResultItemLen).toInt(); pCurEdit->execute(SCI_SETSEL, pos, pos + len); } } } //双击文件leve=2的节点后,显示文件并定位到文件位置中去高亮 void CCNotePad::on_findResultlineDoubleClick(QString* pFilePath, int pos, int end) { auto locationCurrentEdit = [this](QString filePath)->ScintillaEditView* { getRegularFilePath(filePath); ScintillaEditView* pEdit = dynamic_cast(ui.editTabWidget->currentWidget()); if (pEdit != nullptr && (filePath == getFilePathProperty(pEdit))) { return pEdit; } //不在则遍历插值定位到 for (int i = 0; i < ui.editTabWidget->count(); ++i) { pEdit = dynamic_cast(ui.editTabWidget->widget(i)); if (pEdit != nullptr && (filePath == getFilePathProperty(pEdit))) { ui.editTabWidget->setCurrentIndex(i); return pEdit; } } //走到这里,说明文档已经关闭,不在当前打开框中 //还是没有找到,则新建打开文件 if (openFile(filePath)) { ScintillaEditView* pEdit = dynamic_cast(ui.editTabWidget->currentWidget()); return pEdit; } ui.statusBar->showMessage(tr("file %1 was not exists !").arg(filePath), 5000); QApplication::beep(); return nullptr; }; ScintillaEditView* pCurEdit = locationCurrentEdit(*pFilePath); if (pCurEdit != nullptr) { pCurEdit->execute(SCI_SETSEL, pos, end); } } #if 0 void CCNotePad::slot_showFindAllInCurDocResult(FindRecords* record) { initFindResultDockWin(); m_dockSelectTreeWin->setWindowTitle(tr("Find result - %1 hit").arg(record->records.size())); //m_pResultWin->appendResultsToShow(record); m_dockSelectTreeWin->show(); } #endif void CCNotePad::slot_showfindAllInOpenDocResult(QVector* record, int hits, QString whatFind) { initFindResultDockWin(); m_dockSelectTreeWin->setWindowTitle(tr("Find result - %1 hit").arg(hits)); m_pResultWin->appendResultsToShow(record, hits, whatFind); m_dockSelectTreeWin->show(); } //清空查找结果 void CCNotePad::slot_clearFindResult() { initFindResultDockWin(); m_pResultWin->slot_clearAllContents(); } void CCNotePad::slot_convertWinLineEnd(bool) { convertDocLineEnd(DOS_LINE); } void CCNotePad::slot_convertUnixLineEnd(bool) { convertDocLineEnd(UNIX_LINE); } void CCNotePad::slot_convertMacLineEnd(bool) { convertDocLineEnd(MAC_LINE); } void CCNotePad::setDocEolMode(ScintillaEditView* pEdit, RC_LINE_FORM endStatus) { int eolMode = 0; switch (endStatus) { case UNIX_LINE: eolMode = SC_EOL_LF; break; case DOS_LINE: eolMode = SC_EOL_CRLF; break; case MAC_LINE: eolMode = SC_EOL_CR; break; case PAD_LINE: case UNKNOWN_LINE: default: return; } if (pEdit != nullptr) { int curCode = pEdit->execute(SCI_GETEOLMODE); if (curCode != eolMode) { pEdit->execute(SCI_SETEOLMODE, eolMode); } } } bool CCNotePad::convertDocLineEnd(RC_LINE_FORM endStatus) { QWidget* pw = ui.editTabWidget->currentWidget(); if (HEX_TYPE == getDocTypeProperty(pw)) { ui.statusBar->showMessage(tr("Only Text File Can Use it, Current Doc is a Hex File !"), 10000); QApplication::beep(); return false; } ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && pEdit->isReadOnly()) { ui.statusBar->showMessage(tr("The ReadOnly document does not allow this operation."), MSG_EXIST_TIME); QApplication::beep(); return false; } int eolMode = 0; switch (endStatus) { case UNIX_LINE: eolMode = SC_EOL_LF; break; case DOS_LINE: eolMode = SC_EOL_CRLF; break; case MAC_LINE: eolMode = SC_EOL_CR; break; case PAD_LINE: case UNKNOWN_LINE: default: return false; } if (pEdit != nullptr) { int curCode = pEdit->execute(SCI_GETEOLMODE); if (curCode != eolMode) { ui.statusBar->showMessage(tr("Convert end of line In progress, please wait ...")); pEdit->execute(SCI_SETEOLMODE, eolMode); pEdit->execute(SCI_CONVERTEOLS, eolMode); ui.statusBar->showMessage(tr("Convert end of line finish."),5000); QVariant editTextEnd((int)endStatus); pEdit->setProperty(Edit_Text_End, editTextEnd); QVariant textChanged(true); pEdit->setProperty(Edit_Text_Change, textChanged); setLineEndBarLabel(endStatus); } } return true; } void CCNotePad::slot_gotoline() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { int lineCounts = 2147483647; bool ok; int num = QInputDialog::getInt(this, tr("Go to line"), tr("Line Num:"), 1, 1, lineCounts, 1, &ok); if (ok) { if (TXT_TYPE == getDocTypeProperty(pw)) { pEdit->execute(SCI_GOTOLINE, num - 1); } else if (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw)) { //如果是大文本只读加载的,则逻辑不一样,需要根据行号定位到块,再定位到行 int blockid = FileManager::getInstance().getBigFileBlockId(getFilePathProperty(pw), num - 1); if (blockid != -1) { BigTextEditFileMgr* mgr = FileManager::getInstance().getBigFileEditMgr(getFilePathProperty(pw)); const BlockIndex& v = mgr->blocks.at(blockid); showBigTextFile(pEdit, mgr, blockid); int offsetLineNum = (num - v.lineNumStart); pEdit->execute(SCI_SETFIRSTVISIBLELINE, (long)offsetLineNum); pEdit->execute(SCI_GOTOLINE, offsetLineNum - 1); } else { BigTextEditFileMgr* mgr = FileManager::getInstance().getBigFileEditMgr(getFilePathProperty(pw)); const BlockIndex& v = mgr->blocks.last(); QApplication::beep(); ui.statusBar->showMessage(tr("out of file line range,mar line num is %1 !").arg(v.lineNum + v.lineNumStart -1)); } } else { //超大文本不支持跳转行号,只支持跳转地址。先留着 } } } } void CCNotePad::slot_show_line_end(bool checked) { int showblank = s_showblank; if (checked) { showblank |= 0x2; } else { showblank &= 0xd; } changeBlankShowStatus(showblank); } void CCNotePad::slot_load_with_gbk() { reloadTextFileWithCode(CODE_ID::GBK); } void CCNotePad::slot_load_with_utf8() { reloadTextFileWithCode(CODE_ID::UTF8_NOBOM); } void CCNotePad::slot_load_with_utf8_bom() { reloadTextFileWithCode(CODE_ID::UTF8_BOM); } void CCNotePad::slot_load_with_utf16_be() { reloadTextFileWithCode(CODE_ID::UNICODE_BE); } void CCNotePad::slot_load_with_utf16_le() { reloadTextFileWithCode(CODE_ID::UNICODE_LE); } void CCNotePad::slot_encode_gbk() { transDocToEncord(GBK); } void CCNotePad::slot_encode_utf8() { transDocToEncord(UTF8_NOBOM); } void CCNotePad::slot_encode_utf8_bom() { transDocToEncord(UTF8_BOM); } void CCNotePad::slot_encode_utf16_be() { transDocToEncord(UNICODE_BE); } void CCNotePad::slot_encode_utf16_le() { transDocToEncord(UNICODE_LE); } //执行转换文档编码到指定编码 void CCNotePad::transDocToEncord(CODE_ID destCode) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { int srcCode = pEdit->property(Edit_Text_Code).toInt(); int newCode = static_cast(destCode); //这里只是做了编码状态的修改,并没有及时落盘,修改为已修改状态。 //等到文件保存时才执行 if (srcCode != newCode) { setCodeTypeProperty(pEdit, (int)newCode); setTextChangeProperty(pEdit, true); ui.editTabWidget->setTabIcon(ui.editTabWidget->currentIndex(), QIcon(TabNeedSave)); setSaveButtonStatus(true); setSaveAllButtonStatus(true); syncCurDocEncodeToMenu(pw); setCodeBarLabel(static_cast(newCode)); } } } //同步当前文档的编码状态到菜单的Encode中。即每次切换当前编辑后,菜单上面的编码状态要同步 void CCNotePad::syncCurDocEncodeToMenu(QWidget* curEdit) { if (curEdit != nullptr) { int srcCode = curEdit->property(Edit_Text_Code).toInt(); switch (srcCode) { case GBK: ui.actionencode_in_GBK->setChecked(true); break; case UTF8_NOBOM: ui.actionencode_in_uft8->setChecked(true); break; case UTF8_BOM: ui.actionencode_in_UTF8_BOM->setChecked(true); break; case UNICODE_BE: ui.actionencode_in_UCS_BE_BOM->setChecked(true); break; case UNICODE_LE: ui.actionencode_in_UCS_2_LE_BOM->setChecked(true); break; case BIG5: ui.actionBig5->setChecked(true); break; default: break; } } } //同步当前的tailf状态 void CCNotePad::syncCurDocTailfToMenu(QWidget* curEdit) { m_tailf->setChecked(1 == getFileTailProperty(curEdit)); } //同步当前文档的编码状态到菜单的Encode中。即每次切换当前编辑后,菜单上面的编码状态要同步 void CCNotePad::syncCurDocLineEndStatusToMenu(QWidget* curEdit) { ScintillaEditView* pEdit = dynamic_cast(curEdit); if (pEdit != nullptr) { int curCode = pEdit->execute(SCI_GETEOLMODE); switch (curCode) { case SC_EOL_CRLF: ui.actionconver_windows_CR_LF->setChecked(true); break; case SC_EOL_LF: ui.actionconvert_Unix_LF->setChecked(true); break; case SC_EOL_CR: ui.actionconvert_Mac_CR->setChecked(true); break; default: break; } } } //同步当前的编程语言到menu中 void CCNotePad::syncCurDocLexerToMenu(QWidget* pw) { ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit == nullptr) { return; } QsciLexer * lexer = pEdit->lexer(); if (lexer != nullptr) { QString lexerName(lexer->lexerTag()); if (m_lexerNameToIndex.contains(lexerName)) { m_lexerNameToIndex.value(lexerName).pAct->setChecked(true); } else { m_lexerNameToIndex.value("UserDefine").pAct->setChecked(true); } setLangsDescLable(lexerName); } else { ui.actionTxt->setChecked(true); } } void CCNotePad::cmpSelectFile() { //此部分是对比软件的商业代码,开源版本不包含对比功能。 } void CCNotePad::slot_compareFile() { //此部分是对比软件的商业插件代码,开源版本不包含对比功能。 } void CCNotePad::slot_compareDir() { //此部分是对比软件的商业插件代码,开源版本不包含对比功能。 } void CCNotePad::slot_binCompare() { //此部分是对比软件的商业插件代码,开源版本不包含对比功能。 } void CCNotePad::slot_preHexPage() { QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr && (TXT_TYPE == getDocTypeProperty(pw))) { ScintillaEditView* pEdit = dynamic_cast(pw); if (!pEdit->gotoPrePos()) { QApplication::beep(); ui.statusBar->showMessage(tr("no more pre pos")); } } else if (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); HexFileMgr *fileMgr = nullptr; //只有0才是成功 if (0 == FileManager::getInstance().loadFilePreNextPage(1, filePath, fileMgr)) { ScintillaHexEditView* pEdit = dynamic_cast(pw); showHexFile(pEdit, fileMgr); } else { QApplication::beep(); } } else if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); TextFileMgr *fileMgr = nullptr; //只有0才是成功 if (0 == FileManager::getInstance().loadFilePreNextPage(1, filePath, fileMgr)) { ScintillaEditView* pEdit = dynamic_cast(pw); showBigTextFile(pEdit, fileMgr); pEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset); } } else if (pw != nullptr && (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); BigTextEditFileMgr* fileMgr = FileManager::getInstance().getBigFileEditMgr(filePath); if(fileMgr != nullptr) { ScintillaEditView* pEdit = dynamic_cast(pw); int id = fileMgr->m_curBlockIndex - 1; showBigTextFile(pEdit, fileMgr, id); } } } void CCNotePad::slot_nextHexPage() { QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr && (TXT_TYPE == getDocTypeProperty(pw))) { ScintillaEditView* pEdit = dynamic_cast(pw); if (!pEdit->gotoNextPos()) { QApplication::beep(); ui.statusBar->showMessage(tr("no more next pos")); } } else if (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); HexFileMgr *fileMgr = nullptr; //只有0才是成功 int ret = FileManager::getInstance().loadFilePreNextPage(2, filePath, fileMgr); if (0 == ret) { ScintillaHexEditView* pEdit = dynamic_cast(pw); showHexFile(pEdit, fileMgr); //ui.statusBar->showMessage(tr("Current offset is %1 , File Size is %2").arg(fileMgr->fileOffset).arg(fileMgr->fileSize)); } else if (1 == ret) { ui.statusBar->showMessage(tr("The Last Page ! Current offset is %1 , load Contens Size is %2, File Total Size is %3").arg(fileMgr->fileOffset - fileMgr->contentRealSize).arg(fileMgr->contentRealSize).arg(fileMgr->fileSize)); QApplication::beep(); } } else if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); TextFileMgr *fileMgr = nullptr; //只有0才是成功 int ret = FileManager::getInstance().loadFilePreNextPage(2, filePath, fileMgr); if (0 == ret) { ScintillaEditView* pEdit = dynamic_cast(pw); showBigTextFile(pEdit, fileMgr); pEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset); } else if (1 == ret) { ui.statusBar->showMessage(tr("The Last Page ! Current offset is %1 , load Contens Size is %2, File Total Size is %3").arg(fileMgr->fileOffset - fileMgr->contentRealSize).arg(fileMgr->contentRealSize).arg(fileMgr->fileSize)); QApplication::beep(); } } else if (pw != nullptr && (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); BigTextEditFileMgr* fileMgr = FileManager::getInstance().getBigFileEditMgr(filePath); if (fileMgr != nullptr) { ScintillaEditView* pEdit = dynamic_cast(pw); int id = fileMgr->m_curBlockIndex + 1; showBigTextFile(pEdit, fileMgr, id); } } } //菜单上面的GOTO按钮的执行槽函数 void CCNotePad::slot_gotoHexPage() { if (m_pHexGotoWin.isNull()) { m_pHexGotoWin = new HexFileGoto(this); m_pHexGotoWin->setWindowFlag(Qt::Window); HexFileGoto* pHexGoto = dynamic_cast(m_pHexGotoWin.data()); pHexGoto->setAttribute(Qt::WA_DeleteOnClose); connect(pHexGoto, &HexFileGoto::gotoClick, this, &CCNotePad::slot_hexGotoFile); registerEscKeyShort(m_pHexGotoWin); } QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw))) { m_pHexGotoWin.data()->activateWindow(); m_pHexGotoWin.data()->show(); #ifdef uos adjustWInPos(m_pHexGotoWin.data()); #endif } else if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))) { m_pHexGotoWin.data()->activateWindow(); m_pHexGotoWin.data()->show(); #ifdef uos adjustWInPos(m_pHexGotoWin.data()); #endif } else if (pw != nullptr && (BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))) { //这里直接按跳转到行号进行处理 slot_gotoline(); } else { ui.statusBar->showMessage(tr("Only Hex File Can Use it, Current Doc not a Hex File !"), 10000); QApplication::beep(); } } void CCNotePad::slot_hexGotoFile(qint64 addr) { QWidget* pw = ui.editTabWidget->currentWidget(); if (pw != nullptr && (HEX_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); HexFileMgr *fileMgr = nullptr; //只有0才是成功 if (addr < 0) { ui.statusBar->showMessage(tr("Error file offset addr , please check !"), MSG_EXIST_TIME); QApplication::beep(); return; } int ret = FileManager::getInstance().loadFileFromAddr(filePath, addr, fileMgr); if (0 == ret) { ScintillaHexEditView* pEdit = dynamic_cast(pw); showHexFile(pEdit, fileMgr); } else if (-2 == ret) { ui.statusBar->showMessage(tr("File Size is %1, addr %2 is exceeds file size").arg(fileMgr->fileSize).arg(addr)); QApplication::beep(); } } else if (pw != nullptr && (SUPER_BIG_TEXT_RO_TYPE == getDocTypeProperty(pw))) { QString filePath = getFilePathProperty(pw); TextFileMgr *fileMgr = nullptr; //只有0才是成功 if (addr < 0) { ui.statusBar->showMessage(tr("Error file offset addr , please check !"), MSG_EXIST_TIME); QApplication::beep(); return; } int ret = FileManager::getInstance().loadFileFromAddr(filePath, addr, fileMgr); if (0 == ret) { ScintillaEditView* pEdit = dynamic_cast(pw); showBigTextFile(pEdit, fileMgr); pEdit->showBigTextLineAddr(fileMgr->fileOffset - fileMgr->contentRealSize, fileMgr->fileOffset); } else if (-2 == ret) { ui.statusBar->showMessage(tr("File Size is %1, addr %2 is exceeds file size").arg(fileMgr->fileSize).arg(addr)); QApplication::beep(); } } else { ui.statusBar->showMessage(tr("Current Text Doc Can Not Use it !"), 10000); QApplication::beep(); } } void CCNotePad::slot_about() { QMessageBox msgBox(this); QString msg = tr(R"( https://gitee.com/cxasm/notepad--
https://github.com/cxasm/notepad-- )"); #if defined (Q_OS_MAC) msgBox.setText(msg); msgBox.setDetailedText(QString("Notepad-- %1").arg(VersionStr)); #else msgBox.setWindowTitle(QString("Notepad-- %1").arg(VersionStr)); msgBox.setText(msg); #endif msgBox.exec(); } void CCNotePad::slot_aboutNdd() { AboutNdd* pWin = new AboutNdd(this); pWin->setWindowFlag(Qt::Window); pWin->setAttribute(Qt::WA_DeleteOnClose); QString title = tr("Notepad-- Version %1").arg(VersionStr); pWin->setWindowTitle(title); pWin->appendText(title); int status = NddSetting::getKeyValueFromNumSets(SOFT_STATUS); if (1 == status) { pWin->appendText(tr("Registered Version")); } else { pWin->appendText(tr("Free Trial")); } pWin->show(); registerEscKeyShort(pWin); #ifdef uos adjustWInPos(pWin); #endif } void CCNotePad::addWatchFilePath(QString filePath) { getRegularFilePath(filePath); m_fileWatch->addPath(filePath); } void CCNotePad::removeWatchFilePath(QString filePath) { getRegularFilePath(filePath); m_fileWatch->removePath(filePath); } void CCNotePad::dragEnterEvent(QDragEnterEvent* event) { if (event->mimeData()->hasFormat("text/uri-list")) //只能打开文本文件 { event->accept(); //可以在这个窗口部件上拖放对象 } else { event->ignore(); } } void CCNotePad::receiveEditDrop(QDropEvent* e) { dropEvent(e); } void CCNotePad::dropEvent(QDropEvent* e) { QList urls = e->mimeData()->urls(); if (urls.isEmpty()) return; for (int i = 0; i < urls.size(); ++i) { QString fileName = urls.at(i).toLocalFile(); if (fileName.isEmpty()) { continue; } if (!QFile::exists(fileName)) { continue; } QFileInfo fi(fileName); if (!fi.isFile()) { ui.statusBar->showMessage(tr("%1 is not a file, skip open it...").arg(fileName)); continue; } openFile(fileName); } e->accept(); } void CCNotePad::dragLeaveEvent(QDragLeaveEvent* event) { qDebug() << "drag level"; } //目前只有一个Tabwidget的双击事件。 bool CCNotePad::eventFilter(QObject * watched, QEvent * event) { switch (event->type()) { case QEvent::MouseButtonDblClick: if (watched == ui.editTabWidget) { slot_actionNewFile_toggle(true); m_saveFile->setEnabled(false); return true; // 注意这里一定要返回true,表示你要过滤该事件原本的实现 } break; default: break; } return QObject::eventFilter(watched, event);; } #ifdef Q_OS_WIN static const ULONG_PTR CUSTOM_TYPE = 10000; static const ULONG_PTR OPEN_NOTEPAD_TYPE = 10001; static const ULONG_PTR CUSTOM_TYPE_FILE_LINENUM = 10002; bool CCNotePad::nativeOpenfile(QString openFilePath) { int retIndex = findFileIsOpenAtPad(openFilePath); if (-1 == retIndex) { openFile(openFilePath); } else { ui.statusBar->showMessage(tr("file %1 already open at tab %2").arg(openFilePath).arg(retIndex)); ui.editTabWidget->setCurrentIndex(retIndex); } //窗口如果最小化,则在任务栏下面闪动 QApplication::alert(this); //发现在release模式下,必须要先最小再最大,窗口才能跑到最前面。而调试时则没有该现象。可能是哪里有个问题。 if (!this->isMinimized()) { this->showMinimized(); } if (this->isMaximized()) { this->showMaximized(); } else { this->showNormal(); } this->activateWindow(); return true; } bool CCNotePad::nativeEvent(const QByteArray & eventType, void * message, long * result) { MSG *param = static_cast(message); switch (param->message) { case WM_COPYDATA: { COPYDATASTRUCT *cds = reinterpret_cast(param->lParam); if (cds->dwData == CUSTOM_TYPE) { QString openFilePath = QString::fromUtf8(reinterpret_cast(cds->lpData), cds->cbData); nativeOpenfile(openFilePath); *result = 1; return true; } else if (cds->dwData == OPEN_NOTEPAD_TYPE) { activateWindow(); QApplication::alert(this); *result = 1; return true; } else if (cds->dwData == CUSTOM_TYPE_FILE_LINENUM) { QString openFilePath = QString::fromUtf8(reinterpret_cast(cds->lpData), cds->cbData); QStringList paraList = openFilePath.split("|"); if (paraList.size() == 2) { nativeOpenfile(paraList.at(0)); bool ok = true; int lineNum = paraList.at(1).toInt(&ok); if (ok) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->execute(SCI_GOTOLINE, lineNum - 1); } } } *result = 1; return true; } } } return QWidget::nativeEvent(eventType, message, result); } #endif void CCNotePad::slot_batch_convert() { EncodeConvert* newWin = new EncodeConvert(nullptr); newWin->setAttribute(Qt::WA_DeleteOnClose); newWin->setWindowModality(Qt::ApplicationModal); newWin->show(); registerEscKeyShort(newWin); #ifdef uos adjustWInPos(newWin); #endif } //批量改名 void CCNotePad::slot_batch_rename() { ReNameWin* newWin = new ReNameWin(nullptr); newWin->setAttribute(Qt::WA_DeleteOnClose); newWin->setWindowModality(Qt::ApplicationModal); newWin->show(); registerEscKeyShort(newWin); #ifdef uos adjustWInPos(newWin); #endif } void CCNotePad::slot_options() { OptionsView* p = nullptr; if (m_optionsView.isNull()) { m_optionsView = new OptionsView(this, this); m_optionsView->setWindowFlag(Qt::Window); m_optionsView->setAttribute(Qt::WA_DeleteOnClose); p = dynamic_cast(m_optionsView.data()); connect(p, &OptionsView::sendTabFormatChange, this, &CCNotePad::slot_tabFormatChange); } else { p = dynamic_cast(m_optionsView.data()); } p->show(); registerEscKeyShort(p); #ifdef uos adjustWInPos(p); #endif } #if 0 //默认TXT文本的字体发生了变化 void CCNotePad::slot_txtFontChange(QFont &font) { QsciLexerText::setGlobalDefaultFont(font); s_txtFont = font; QWidget* pw = nullptr; QsciLexer* lexer = nullptr; for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { pw = ui.editTabWidget->widget(i); int docType = getDocTypeProperty(pw); if ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType)) { ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr ) { lexer = pEdit->lexer(); if (lexer != nullptr && (lexer->lexerId() == L_TXT)) { QsciLexerText* t = dynamic_cast(lexer); if (t != nullptr) { t->setFont(font, 0); } } } } } } #endif #if 0 //默认编程语言的文本的字体发生了变化 void CCNotePad::slot_proLangFontChange(QFont &font) { QsciLexer::setProLangeDefaultFont(font); s_proLangFont = font; QWidget* pw = nullptr; QsciLexer* lexer = nullptr; for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { pw = ui.editTabWidget->widget(i); int docType = getDocTypeProperty(pw); if ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType)) { ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { lexer = pEdit->lexer(); if (lexer != nullptr && (lexer->lexerId() != L_TXT)) { //这里还是有些问题,把所有的字体大小全部修改了。而没有只针对默认字体。 lexer->setFont(font, -1); } } } } } #endif //tab长度或者使用空格替换tab发生了变化 void CCNotePad::slot_tabFormatChange(bool tabLenChange, bool useTabChange) { QWidget* pw = nullptr; int docType = 0; for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { pw = ui.editTabWidget->widget(i); docType = getDocTypeProperty(pw); if ((TXT_TYPE == docType) || (BIG_TEXT_RO_TYPE == docType) || (SUPER_BIG_TEXT_RO_TYPE == docType)) { ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (tabLenChange) { pEdit->execute(SCI_SETTABWIDTH, ScintillaEditView::s_tabLens); } if (useTabChange) { pEdit->setIndentationsUseTabs(!ScintillaEditView::s_noUseTab); } } } } } void CCNotePad::slot_donate() { Donate* pWin = new Donate(this); pWin->setWindowFlag(Qt::Window); pWin->setAttribute(Qt::WA_DeleteOnClose); pWin->show(); registerEscKeyShort(pWin); #ifdef uos adjustWInPos(pWin); #endif } // void CCNotePad::slot_registerCmd(int cmd, int code) // { // if (cmd == 1) // { // //服务器返回注册码的消息。 //0 试用 1 正版 2 正版过期 3 错误key // int status = NddSetting::getKeyValueFromNumSets(SOFT_STATUS); // if (status != code) // { // NddSetting::updataKeyValueFromNumSets(SOFT_STATUS, code); // } // // emit signRegisterReplay(code); // } //} //获取注册码 //void CCNotePad::slot_register() //{ //} //当前正在使用的所有语言的tags void CCNotePad::getCurUseLexerTags(QVector& tags) { for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && (pEdit->lexer() != nullptr)) { QString v = pEdit->lexer()->lexerTag(); if (-1 == tags.indexOf(v)) { tags.append(v); } } } } QtLangSet* CCNotePad::getLangSet() { slot_langFormat(); return dynamic_cast(m_langSetWin.data()); } void CCNotePad::slot_langFormat() { QString initTag; QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && (pEdit->lexer() != nullptr)) { initTag = pEdit->lexer()->lexerTag(); } QtLangSet* pWin = nullptr; if (m_langSetWin.isNull()) { m_langSetWin = new QtLangSet(initTag, this); pWin = dynamic_cast(m_langSetWin.data()); pWin->setAttribute(Qt::WA_DeleteOnClose); connect(pWin, &QtLangSet::viewStyleChange, this, &CCNotePad::slot_viewStyleChange); connect(pWin, &QtLangSet::viewLexerChange, this, &CCNotePad::slot_viewLexerChange); } else { pWin = dynamic_cast(m_langSetWin.data()); } pWin->show(); registerEscKeyShort(pWin); #ifdef uos adjustWInPos(pWin); #endif pWin->selectInitLangTag(initTag); } void CCNotePad::slot_viewStyleChange(QString tag, int styleId, QColor& fgColor, QColor& bkColor, QFont& font, bool fontChange) { for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && (pEdit->lexer() != nullptr)) { QsciLexer* lexer = pEdit->lexer(); if (lexer->lexerTag() == tag) { if (fgColor.isValid()) { lexer->setColor(fgColor, styleId); } if (bkColor.isValid()) { lexer->setPaper(bkColor, styleId); } if (fontChange) { lexer->setFont(font, styleId); } } } } } void CCNotePad::slot_viewLexerChange(QString tag) { int lexerId = -1; for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr && (pEdit->lexer() != nullptr)) { QsciLexer* lexer = pEdit->lexer(); if (lexer != nullptr && lexer->lexerTag() == tag) { lexerId = lexer->lexerId(); delete lexer; autoSetDocLexer(pEdit, lexerId); } } } } //1:非脏新建文件(干净新文件) void CCNotePad::restoreCleanNewFile(QString& fileName) { int index = FileManager::getInstance().getNextNewFileId(); newTxtFile(fileName, index); m_saveFile->setEnabled(false); } //2 非脏的老文件,直接打开 void CCNotePad::restoreCleanExistFile(QString& filePath) { openTextFile(filePath); m_saveFile->setEnabled(false); } //3 脏的新建文件。内容在tempFilePath中 void CCNotePad::restoreDirtyNewFile(QString& fileName, QString& tempFilePath, int lexid) { int index = FileManager::getInstance().getNextNewFileId(); ScintillaEditView* pEdit = newTxtFile(fileName, index, tempFilePath); if (lexid != L_TXT) { QsciLexer* lexer = pEdit->createLexer(lexid); if (lexer != nullptr) { if (nullptr != pEdit->lexer()) { delete pEdit->lexer(); } pEdit->setLexer(lexer); syncCurDocLexerToMenu(pEdit); } } setTextChangeProperty(pEdit,true); m_saveFile->setEnabled(true); m_saveAllFile->setEnabled(true); int tabIndex = ui.editTabWidget->indexOf(pEdit); if (tabIndex != -1) { ui.editTabWidget->setTabIcon(tabIndex, QIcon(TabNeedSave)); } } //4 脏的老文件。内容在tempFilePath中 bool CCNotePad::restoreDirtyExistFile(QString& filePath, QString& tempFilePath) { getRegularFilePath(filePath); #if 0 //这里不需要判断了,大文件压根不能编辑,没有保存临时文件的说法 QFileInfo fi(tempFilePath); //如果文件大于300M,按照只读文件打开 if (ScintillaEditView::s_bigTextSize <= 0 || ScintillaEditView::s_bigTextSize > 300) { ScintillaEditView::s_bigTextSize = 100; } if (fi.size() > ScintillaEditView::s_bigTextSize * 1024 * 1024) { return openBigTextFile(tempFilePath); } #endif QFileInfo fi(filePath); QString fileLabel(fi.fileName()); ScintillaEditView* pEdit = FileManager::getInstance().newEmptyDocument(); pEdit->setNoteWidget(this); //必须要在editTabWidget->addTab之前,因为一旦add时会出发tabchange,其中没有doctype会导致错误 setDocTypeProperty(pEdit, TXT_TYPE); CODE_ID code(UNKOWN); bool isReadOnly = false; #ifdef _WIN32 RC_LINE_FORM lineEnd(DOS_LINE); #else RC_LINE_FORM lineEnd(UNIX_LINE); #endif bool isChange = false; bool isLoadOrgin = false;//是否加载原始文件。只有临时文件被破坏或大小为空,才需要加载老的 //如果非空,则从contentPath中加载文件内容。做恢复文件使用 if (!tempFilePath.isEmpty()) { int ret = FileManager::getInstance().loadFileDataInText(pEdit, tempFilePath, code, lineEnd, nullptr, false,this); if ((ret != 6) && (ret != 0)) { isLoadOrgin = true; ui.statusBar->showMessage(tr("Restore Last Temp File %1 Failed").arg(tempFilePath), 5000); } else { //如果是空的临时文件,则直接打开原始文件,临时文件估计被破坏或是空的,则直接读取原始文件 if (ERROR_TYPE::OPEN_EMPTY_FILE == FileManager::getInstance().getLastErrorCode()) { isLoadOrgin = true; FileManager::getInstance().resetLastErrorCode(); } else { isChange = true; } } } if(isLoadOrgin) { int ret = FileManager::getInstance().loadFileDataInText(pEdit, filePath, code, lineEnd, this, true, this); if (4 == ret) { delete pEdit; //用户同意以二进制格式打开文件 return openHexFile(filePath); } //else if (5 == ret) //{ // isReadOnly = true; // //只读模式 //} else if (6 == ret) { //存在乱码,还是打开 } else if (0 != ret) { delete pEdit; return false; } } disconnect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged); int curIndex = ui.editTabWidget->addTab(pEdit, QIcon((StyleSet::getCurrentSytleId() != DEEP_BLACK) ? TabNoNeedSave : TabNoNeedSaveDark32), getShortName(fileLabel)); ui.editTabWidget->setCurrentIndex(curIndex); connect(ui.editTabWidget, &QTabWidget::currentChanged, this, &CCNotePad::slot_tabCurrentChanged, Qt::UniqueConnection); connect(pEdit, &ScintillaEditView::cursorPositionChanged, this, &CCNotePad::slot_LineNumIndexChange, Qt::QueuedConnection); enableEditTextChangeSign(pEdit); connect(pEdit, &ScintillaEditView::copyAvailable, this, &CCNotePad::slot_copyAvailable); connect(pEdit, SIGNAL(SCN_ZOOM()), this, SLOT(slot_zoomValueChange())); //监控文件 addWatchFilePath(filePath); setCodeBarLabel(code); setLineEndBarLabel(lineEnd); //注意顺序 QVariant editTextEnd((int)lineEnd); pEdit->setProperty(Edit_Text_End, editTextEnd); setDocEolMode(pEdit, lineEnd); QVariant editViewFilePath(filePath); pEdit->setProperty(Edit_View_FilePath, editViewFilePath); ui.editTabWidget->setTabToolTip(curIndex, filePath); QVariant editViewNewFile(-1); pEdit->setProperty(Edit_File_New, editViewNewFile); setTextChangeProperty(pEdit, isChange); if (isChange) { ui.editTabWidget->setTabIcon(curIndex, QIcon(TabNeedSave)); } QVariant editTextCode((int)code); pEdit->setProperty(Edit_Text_Code, editTextCode); syncCurDocEncodeToMenu(pEdit); syncCurDocLineEndStatusToMenu(pEdit); syncCurDocLexerToMenu(pEdit); //设置自动转换和缩进参考线 if (s_autoWarp != QsciScintilla::WrapNone) { pEdit->setWrapMode(QsciScintilla::WrapCharacter); } setEditShowBlankStatus(pEdit, s_showblank); if (s_indent == 1) { pEdit->setIndentGuide(true); } if (s_zoomValue != 0) { pEdit->zoomTo(s_zoomValue); } if (!isReadOnly) { setFileOpenAttrProperty(pEdit, OpenAttr::Text); setWindowTitleMode(filePath, OpenAttr::Text); ui.statusBar->showMessage(tr("File %1 Open Finished [Text Mode]").arg(filePath)); } else { setFileOpenAttrProperty(pEdit, OpenAttr::TextReadOnly); setWindowTitleMode(filePath, OpenAttr::TextReadOnly); ui.statusBar->showMessage(tr("File %1 Open Finished [Text ReadOnly Mode] (Note: display up to 50K bytes ...)").arg(fi.fileName())); } if (pEdit->lexer() == nullptr) { autoSetDocLexer(pEdit); } if (isChange) { m_saveFile->setEnabled(true); m_saveAllFile->setEnabled(true); } return true; } //恢复上次打开的文件 //1:非脏新建文件 2 非脏的已存在文件 3 脏的新建文件 4 脏的老文件。 int CCNotePad::restoreLastFiles() { if (s_restoreLastFile == 0) { return 0; } QString tempFileList = QString("notepad/temp/list"); QSettings qs(QSettings::IniFormat, QSettings::UserScope, tempFileList); qs.setIniCodec("UTF-8"); QStringList fileList = qs.allKeys(); //从小到大排序一下。这里是按照ASCII排序,不得行。 // 需要转换为数字0-N进行排序,否则排序结果错误。 QList fileIdList; for (int i = 0; i < fileList.size(); ++i) { fileIdList.append(fileList.at(i).toInt()); } std::sort(fileIdList.begin(), fileIdList.end(), [](int& a, int& b) { return a < b; }); int key; QString value; foreach(key, fileIdList) { value = qs.value(QString::number(key)).toString(); if (!value.isEmpty()) { bool ok = false; int type = value.right(1).toInt(&ok); if (!ok) { continue; } QString path = value.left(value.size()-2); switch (type) { case 1: restoreCleanNewFile(path); break; case 2: restoreCleanExistFile(path); break; case 3: { QString qsSavePath = qs.fileName(); QFileInfo fi(qsSavePath); QString saveDir = fi.dir().absolutePath(); QString tempFileName = QString("%1/%2").arg(saveDir).arg(key); restoreDirtyNewFile(path, tempFileName); } break; case 4: { QString qsSavePath = qs.fileName(); QFileInfo fi(qsSavePath); QString saveDir = fi.dir().absolutePath(); QString tempFileName = QString("%1/%2").arg(saveDir).arg(key); restoreDirtyExistFile(path, tempFileName); } break; case 5: { //与3一样,不过需要恢复语法 int pos = path.lastIndexOf("|"); QString filePath = path.mid(0,pos); int lexerId = path.mid(pos + 1).toInt(&ok); if (!ok) { continue; } QString qsSavePath = qs.fileName(); QFileInfo fi(qsSavePath); QString saveDir = fi.dir().absolutePath(); QString tempFileName = QString("%1/%2").arg(saveDir).arg(key); restoreDirtyNewFile(filePath, tempFileName, lexerId); } break; default: break; } } } //恢复完毕后,恢复上次的标签页 int curIndexWhenQuit = NddSetting::getKeyValueFromNumSets(LAST_ACTION_TAB_INDEX); ui.editTabWidget->setCurrentIndex(curIndexWhenQuit); return fileList.size(); } //删除行首空格 void CCNotePad::slot_removeHeadBlank() { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); //静默调用 pFind->removeLineHeadEndBlank(1); } //删除行尾空格 void CCNotePad::slot_removeEndBlank() { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); //静默调用 pFind->removeLineHeadEndBlank(2); } //删除两端空格 void CCNotePad::slot_removeHeadEndBlank() { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); //静默调用 pFind->removeLineHeadEndBlank(1); pFind->removeLineHeadEndBlank(2); } void CCNotePad::slot_columnBlockEdit() { if (m_columnEditWin.isNull()) { m_columnEditWin = new ColumnEdit(this); m_columnEditWin->setWindowFlag(Qt::Window); m_columnEditWin->setAttribute(Qt::WA_DeleteOnClose); ColumnEdit* pWin = dynamic_cast(m_columnEditWin.data()); pWin->setTabWidget(ui.editTabWidget); } m_columnEditWin->show(); registerEscKeyShort(m_columnEditWin); #ifdef uos adjustWInPos(m_columnEditWin); #endif } void CCNotePad::slot_defineLangs() { LangStyleDefine* pWin = new LangStyleDefine(this); pWin->setAttribute(Qt::WA_DeleteOnClose); pWin->show(); registerEscKeyShort(pWin); #ifdef uos adjustWInPos(pWin); #endif } void CCNotePad::transCurUpperOrLower(TextCaseType type) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusBar->showMessage(tr("The ReadOnly document does not allow this operation."), MSG_EXIST_TIME); QApplication::beep(); return; } pEdit->convertSelectedTextTo(type); } } void CCNotePad::slot_uppercase() { transCurUpperOrLower(UPPERCASE); } void CCNotePad::slot_lowercase() { transCurUpperOrLower(LOWERCASE); } void CCNotePad::slot_properCase() { transCurUpperOrLower(TITLECASE_FORCE); } void CCNotePad::slot_properCaseBlend() { transCurUpperOrLower(TITLECASE_BLEND); } void CCNotePad::slot_sentenceCase() { transCurUpperOrLower(SENTENCECASE_FORCE); } void CCNotePad::slot_sentenceCaseBlend() { transCurUpperOrLower(SENTENCECASE_BLEND); } void CCNotePad::slot_invertCase() { transCurUpperOrLower(INVERTCASE); } void CCNotePad::slot_randomCase() { transCurUpperOrLower(RANDOMCASE); } void CCNotePad::slot_removeEmptyLine() { removeEmptyLine(false); } void CCNotePad::slot_removeEmptyLineCbc() { removeEmptyLine(true); } void CCNotePad::removeEmptyLine(bool isBlankContained) { initFindWindow(); FindWin* pFind = dynamic_cast(m_pFindWin.data()); //静默调用 pFind->removeEmptyLine(isBlankContained); } void CCNotePad::slot_column_mode() { QMessageBox::about(this, tr("Column Edit Mode Tips"), tr("\"ALT+Mouse Click\" or \"Alt+Shift+Arrow keys\" Switch to mode!")); } void CCNotePad::slot_tabToSpace() { spaceTabConvert(Tab2Space); } void CCNotePad::slot_spaceToTabAll() { spaceTabConvert(Space2TabAll); } void CCNotePad::slot_spaceToTabLeading() { spaceTabConvert(Space2TabLeading); } ScintillaEditView* CCNotePad::getCurEditView() { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* _pEditView = dynamic_cast(pw); if (_pEditView != nullptr) { if (_pEditView->isReadOnly()) { ui.statusBar->showMessage(tr("The ReadOnly document does not allow this operation."), MSG_EXIST_TIME); QApplication::beep(); return nullptr; } return _pEditView; } return nullptr; } //tab space 互转 void CCNotePad::spaceTabConvert(SpaceTab type) { QWidget* pw = ui.editTabWidget->currentWidget(); ScintillaEditView* _pEditView = dynamic_cast(pw); if (_pEditView != nullptr) { if (_pEditView->isReadOnly()) { ui.statusBar->showMessage(tr("The ReadOnly document does not allow this operation."), MSG_EXIST_TIME); QApplication::beep(); return; } intptr_t tabWidth = _pEditView->execute(SCI_GETTABWIDTH); intptr_t currentPos = _pEditView->execute(SCI_GETCURRENTPOS); intptr_t docLength = _pEditView->execute(SCI_GETLENGTH) + 1; if (docLength < 2) return; intptr_t count = 0; intptr_t column = 0; intptr_t newCurrentPos = 0; intptr_t tabStop = tabWidth - 1; // remember, counting from zero ! bool onlyLeading = false; char * source = new char[docLength]; if (source == NULL) return; _pEditView->execute(SCI_GETTEXT, docLength, reinterpret_cast(source)); if (type == Tab2Space) { // count how many tabs are there for (const char * ch = source; *ch; ++ch) { if (*ch == '\t') ++count; } if (count == 0) { delete[] source; return; } } // allocate tabwidth-1 chars extra per tab, just to be safe size_t newlen = docLength + count * (tabWidth - 1) + 1; char * destination = new char[newlen]; if (destination == NULL) { delete[] source; return; } char * dest = destination; switch (type) { case Tab2Space: { // rip through each line of the file for (int i = 0; source[i] != '\0'; ++i) { if (source[i] == '\t') { intptr_t insertTabs = tabWidth - (column % tabWidth); for (int j = 0; j < insertTabs; ++j) { *dest++ = ' '; if (i <= currentPos) ++newCurrentPos; } column += insertTabs; } else { *dest++ = source[i]; if (i <= currentPos) ++newCurrentPos; if ((source[i] == '\n') || (source[i] == '\r')) column = 0; else if ((source[i] & 0xC0) != 0x80) // UTF_8 support: count only bytes that don't start with 10...... ++column; } } *dest = '\0'; break; } case Space2TabLeading: { onlyLeading = true; } case Space2TabAll: { bool nextChar = false; int counter = 0; bool nonSpaceFound = false; for (int i = 0; source[i] != '\0'; ++i) { if (nonSpaceFound == false) { while (source[i + counter] == ' ') { if ((column + counter) == tabStop) { tabStop += tabWidth; if (counter >= 1) // counter is counted from 0, so counter >= max-1 { *dest++ = '\t'; i += counter; column += counter + 1; counter = 0; nextChar = true; if (i <= currentPos) ++newCurrentPos; break; } else if (source[i + 1] == ' ' || source[i + 1] == '\t') // if followed by space or TAB, convert even a single space to TAB { *dest++ = '\t'; i++; column += 1; counter = 0; if (i <= currentPos) ++newCurrentPos; } else // single space, don't convert it to TAB { *dest++ = source[i]; column += 1; counter = 0; nextChar = true; if (i <= currentPos) ++newCurrentPos; break; } } else ++counter; } if (nextChar == true) { nextChar = false; continue; } if (source[i] == ' ' && source[i + counter] == '\t') // spaces "absorbed" by a TAB on the right { *dest++ = '\t'; i += counter; column = tabStop + 1; tabStop += tabWidth; counter = 0; if (i <= currentPos) ++newCurrentPos; continue; } } if (onlyLeading == true && nonSpaceFound == false) nonSpaceFound = true; if (source[i] == '\n' || source[i] == '\r') { *dest++ = source[i]; column = 0; tabStop = tabWidth - 1; nonSpaceFound = false; } else if (source[i] == '\t') { *dest++ = source[i]; column = tabStop + 1; tabStop += tabWidth; counter = 0; } else { *dest++ = source[i]; counter = 0; if ((source[i] & 0xC0) != 0x80) // UTF_8 support: count only bytes that don't start with 10...... { ++column; if (column > 0 && column % tabWidth == 0) tabStop += tabWidth; } } if (i <= currentPos) ++newCurrentPos; } *dest = '\0'; break; } } _pEditView->execute(SCI_BEGINUNDOACTION); _pEditView->execute(SCI_SETTEXT, 0, reinterpret_cast(destination)); _pEditView->execute(SCI_GOTOPOS, newCurrentPos); _pEditView->execute(SCI_ENDUNDOACTION); // clean up delete[] source; delete[] destination; } } void CCNotePad::slot_dupCurLine() { qDebug() << "dup atcion called"; ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { _pEditView->execute(SCI_LINEDUPLICATE); } } void CCNotePad::slot_removeDupLine() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { _pEditView->execute(SCI_BEGINUNDOACTION); _pEditView->removeAnyDuplicateLines(); _pEditView->execute(SCI_ENDUNDOACTION); } } void CCNotePad::slot_splitLines() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { if (_pEditView->execute(SCI_GETSELECTIONS) == 1) { std::pair lineRange = _pEditView->getSelectionLinesRange(); auto anchorPos = _pEditView->execute(SCI_POSITIONFROMLINE, lineRange.first); auto caretPos = _pEditView->execute(SCI_GETLINEENDPOSITION, lineRange.second); _pEditView->execute(SCI_SETSELECTION, caretPos, anchorPos); _pEditView->execute(SCI_TARGETFROMSELECTION); size_t edgeMode = _pEditView->execute(SCI_GETEDGEMODE); if (edgeMode == EDGE_NONE) { _pEditView->execute(SCI_LINESSPLIT, 0); } else { auto textWidth = _pEditView->execute(SCI_TEXTWIDTH, STYLE_DEFAULT, reinterpret_cast("P")); auto edgeCol = _pEditView->execute(SCI_GETEDGECOLUMN); // will work for edgeMode == EDGE_BACKGROUND if (edgeMode == EDGE_MULTILINE) { //暂时这样。后续有问题再说 } ++edgeCol; // compensate for zero-based column number _pEditView->execute(SCI_LINESSPLIT, textWidth * edgeCol); } } } } void CCNotePad::slot_joinLines() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { const std::pair lineRange = _pEditView->getSelectionLinesRange(); if (lineRange.first != lineRange.second) { auto anchorPos = _pEditView->execute(SCI_POSITIONFROMLINE, lineRange.first); auto caretPos = _pEditView->execute(SCI_GETLINEENDPOSITION, lineRange.second); _pEditView->execute(SCI_SETSELECTION, caretPos, anchorPos); _pEditView->execute(SCI_TARGETFROMSELECTION); _pEditView->execute(SCI_LINESJOIN); } } } void CCNotePad::slot_moveUpCurLine() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { _pEditView->execute(SCI_MOVESELECTEDLINESUP); } } void CCNotePad::slot_moveDownCurLine() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { _pEditView->execute(SCI_MOVESELECTEDLINESDOWN); // Ensure the selection is within view _pEditView->execute(SCI_SCROLLRANGE, _pEditView->execute(SCI_GETSELECTIONEND), _pEditView->execute(SCI_GETSELECTIONSTART)); } } void CCNotePad::slot_insertBlankAbvCur() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { _pEditView->insertNewLineAboveCurrentLine(); } } void CCNotePad::slot_insertBlankBelCur() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView != nullptr) { _pEditView->insertNewLineBelowCurrentLine(); } } void CCNotePad::dealLineSort(LINE_SORT_TYPE type) { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView == nullptr) { return; } size_t fromLine = 0, toLine = 0; size_t fromColumn = 0, toColumn = 0; bool hasLineSelection = false; if (_pEditView->execute(SCI_GETSELECTIONS) > 1) { if (_pEditView->execute(SCI_SELECTIONISRECTANGLE)) { size_t rectSelAnchor = _pEditView->execute(SCI_GETRECTANGULARSELECTIONANCHOR); size_t rectSelCaret = _pEditView->execute(SCI_GETRECTANGULARSELECTIONCARET); size_t anchorLine = _pEditView->execute(SCI_LINEFROMPOSITION, rectSelAnchor); size_t caretLine = _pEditView->execute(SCI_LINEFROMPOSITION, rectSelCaret); fromLine = std::min(anchorLine, caretLine); toLine = std::max(anchorLine, caretLine); size_t anchorLineOffset = rectSelAnchor - _pEditView->execute(SCI_POSITIONFROMLINE, anchorLine) + _pEditView->execute(SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE); size_t caretLineOffset = rectSelCaret - _pEditView->execute(SCI_POSITIONFROMLINE, caretLine) + _pEditView->execute(SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE); fromColumn = std::min(anchorLineOffset, caretLineOffset); toColumn = std::max(anchorLineOffset, caretLineOffset); } else { return; } } else { auto selStart = _pEditView->execute(SCI_GETSELECTIONSTART); auto selEnd = _pEditView->execute(SCI_GETSELECTIONEND); hasLineSelection = selStart != selEnd; if (hasLineSelection) { const std::pair lineRange = _pEditView->getSelectionLinesRange(); // One single line selection is not allowed. if (lineRange.first == lineRange.second) { return; } fromLine = lineRange.first; toLine = lineRange.second; } else { // No selection. fromLine = 0; toLine = _pEditView->execute(SCI_GETLINECOUNT) - 1; } } LINE_SORT_TYPE id = type; bool isDescending = ((id == SORTLINES_LEXICOGRAPHIC_DESCENDING) || (id == SORTLINES_LEXICO_CASE_INSENS_DESCENDING)); _pEditView->execute(SCI_BEGINUNDOACTION); std::unique_ptr pSorter; if (id == SORTLINES_LEXICOGRAPHIC_DESCENDING || id == SORTLINES_LEXICOGRAPHIC_ASCENDING) { pSorter = std::unique_ptr(new LexicographicSorter(isDescending, fromColumn, toColumn)); } else if (id == SORTLINES_LEXICO_CASE_INSENS_DESCENDING || id == SORTLINES_LEXICO_CASE_INSENS_ASCENDING) { pSorter = std::unique_ptr(new LexicographicCaseInsensitiveSorter(isDescending, fromColumn, toColumn)); } else if (id == SORTLINES_REVERSE_ORDER) { pSorter = std::unique_ptr(new ReverseSorter(isDescending, fromColumn, toColumn)); } try { _pEditView->sortLines(fromLine, toLine, pSorter.get()); } catch (size_t& failedLineIndex) { size_t lineNo = 1 + fromLine + failedLineIndex; QMessageBox::warning(this, tr("SortingError"), tr("Unable to perform numeric sorting due to line %1.").arg(lineNo)); } _pEditView->execute(SCI_ENDUNDOACTION); if (hasLineSelection) // there was 1 selection, so we restore it { auto posStart = _pEditView->execute(SCI_POSITIONFROMLINE, fromLine); auto posEnd = _pEditView->execute(SCI_GETLINEENDPOSITION, toLine); _pEditView->execute(SCI_SETSELECTIONSTART, posStart); _pEditView->execute(SCI_SETSELECTIONEND, posEnd); } } void CCNotePad::slot_reverseLineOrder() { dealLineSort(SORTLINES_REVERSE_ORDER); } void CCNotePad::slot_sortLexAsc() { dealLineSort(SORTLINES_LEXICOGRAPHIC_ASCENDING); } void CCNotePad::slot_sortLexAscIgnCase() { dealLineSort(SORTLINES_LEXICO_CASE_INSENS_ASCENDING); } void CCNotePad::slot_sortLexDesc() { dealLineSort(SORTLINES_LEXICOGRAPHIC_DESCENDING); } void CCNotePad::slot_sortLexDescIngCase() { dealLineSort(SORTLINES_LEXICO_CASE_INSENS_DESCENDING); } //这里是从F3 F4快捷按下时的查找槽函数。 void CCNotePad::slot_findNext() { //先检查一下,当前查找窗口是否存在而且显示。存在则直接调用查找框的功能。 //避免F3和查找框里面的干扰 if (!m_pFindWin.isNull() && m_pFindWin->isVisible()) { FindWin* pFind = dynamic_cast(m_pFindWin.data()); pFind->setCurrentTab(FIND_TAB); pFind->findNext(); return; } int ret = initFindWindow(); if (ret == 0) { FindWin* pFind = dynamic_cast(m_pFindWin.data()); pFind->setCurrentTab(FIND_TAB); pFind->findNext(); } else { ui.statusBar->showMessage(tr("what find is null !"), MSG_EXIST_TIME); } } void CCNotePad::slot_findPrev() { //先检查一下,当前查找窗口是否存在而且显示。存在则直接调用查找框的功能。 //避免F4和查找框里面的干扰 if (!m_pFindWin.isNull() && m_pFindWin->isVisible()) { FindWin* pFind = dynamic_cast(m_pFindWin.data()); pFind->setCurrentTab(FIND_TAB); pFind->findPrev(); return; } int ret = initFindWindow(); if (ret == 0) { FindWin* pFind = dynamic_cast(m_pFindWin.data()); pFind->setCurrentTab(FIND_TAB); pFind->findPrev(); } else { ui.statusBar->showMessage(tr("what find is null !"), MSG_EXIST_TIME); } } //繁体BIG5 void CCNotePad::slot_load_with_big5() { reloadTextFileWithCode(CODE_ID::BIG5); } //转成繁体BIG5 void CCNotePad::slot_encode_big5() { transDocToEncord(BIG5); } //为窗口注册ECS退出快捷键 void CCNotePad::registerEscKeyShort(QWidget *parent) { QShortcut *escSc = new QShortcut(parent); escSc->setKey(QKeySequence(Qt::Key_Escape)); escSc->setContext(Qt::WidgetWithChildrenShortcut); connect(escSc, &QShortcut::activated, this, &CCNotePad::slot_escQuit); } void CCNotePad::slot_escQuit() { QShortcut * escSc = dynamic_cast(sender()); if (escSc != nullptr && escSc->parentWidget() != nullptr) { escSc->parentWidget()->close(); } } //格式化xml语言 void CCNotePad::slot_formatXml() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView == nullptr || _pEditView->isReadOnly()) { return; } QString text = _pEditView->text(); if (text.isEmpty()) { return; } QString xmlOut; QXmlStreamReader reader(text); QXmlStreamWriter writer(&xmlOut); writer.setAutoFormatting(true); while (!reader.atEnd()) { reader.readNext(); if (!reader.isWhitespace()) { writer.writeCurrentToken(reader); } } if (reader.hasError()) { ui.statusBar->showMessage(tr("XML format error, please check!"), MSG_EXIST_TIME); QApplication::beep(); return; } _pEditView->setText(xmlOut); } void CCNotePad::slot_formatJson() { ScintillaEditView* _pEditView = getCurEditView(); if (_pEditView == nullptr || _pEditView->isReadOnly()) { return; } QString text = _pEditView->text(); if (text.isEmpty()) { return; } QByteArray bytes = text.toUtf8(); QJsonParseError parseError; QJsonDocument doc = QJsonDocument::fromJson(bytes, &parseError); if (QJsonParseError::NoError != parseError.error) { ui.statusBar->showMessage(tr("JSON format error, please check!"),MSG_EXIST_TIME); QApplication::beep(); return; } QString content(doc.toJson(QJsonDocument::Indented)); _pEditView->setText(content); } //清空历史打开记录 void CCNotePad::slot_clearHistoryOpenList() { ui.menuRecene_File->clear(); m_receneOpenFileList.clear(); NddSetting::updataKeyValueFromDelaySets(RECENT_OPEN_FILE, ""); } void CCNotePad::slot_showToolBar(bool check) { ui.mainToolBar->setVisible(check); NddSetting::updataKeyValueFromNumSets(TOOLBARSHOW, check?1:0); } void CCNotePad::slot_showWebAddr(bool check) { CCNotePad::s_hightWebAddr = check ? 1 : 0; NddSetting::updataKeyValueFromNumSets(SHOWWEBADDR, s_hightWebAddr); } //更新当前主题的样式 void CCNotePad::updateThemes() { for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); int docType = getDocTypeProperty(pw); if (docType != HEX_TYPE) { ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->updateThemes(); } } else { ScintillaHexEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->updateThemes(); } } } //切换主题后,如果存在查找框,则暴力关闭一下,因为查找框的颜色实时生效还存在问题 if (m_dockSelectTreeWin != nullptr) { m_dockSelectTreeWin->deleteLater(); m_dockSelectTreeWin = nullptr; } } void CCNotePad::setGlobalFgColor(int style) { for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->setGlobalFgColor(style); } } } void CCNotePad::setGlobalBgColor(int style) { for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->setGlobalBgColor(style); } } } void CCNotePad::setGlobalFont(int style) { for (int i = ui.editTabWidget->count() - 1; i >= 0; --i) { QWidget* pw = ui.editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->setGlobalFont(style); } } } //文件后缀的编程语法关联 void CCNotePad::slot_langFileSuffix() { LangExtSet* pWin = new LangExtSet(this); pWin->setAttribute(Qt::WA_DeleteOnClose); #ifdef uos adjustWInPos(pWin); #endif pWin->show(); } //快捷键管理 void CCNotePad::slot_shortcutManager() { ShortcutKeyMgr* pWin = new ShortcutKeyMgr(this); pWin->setAttribute(Qt::WA_DeleteOnClose); #ifdef uos adjustWInPos(pWin); #endif pWin->show(); } //处理当前按下ESC后,需要处理退出的事件 void CCNotePad::on_quitActiveWindow() { if (!m_pFindWin.isNull()&& m_pFindWin->isVisible()) { m_pFindWin->close(); } if (!m_columnEditWin.isNull() && m_columnEditWin->isVisible()) { m_columnEditWin->close(); } if (!m_langSetWin.isNull() && m_langSetWin->isVisible()) { m_langSetWin->close(); } if (!m_optionsView.isNull() && m_optionsView->isVisible()) { m_optionsView->close(); } } #if 0 //修改主题颜色//暂时不开始,发现MAC下有不开启深色的配置 void CCNotePad::changeAppFontColor(QColor color) { //把存在的界面都关闭。发现如果不关闭,颜色不会更新 if (!m_pFindWin.isNull()) { QByteArray curGeo = m_pFindWin->saveGeometry(); NddSetting::updataKeyByteArrayValue(FINDWINSIZE, curGeo); m_pFindWin.data()->deleteLater(); } if (!m_pHexGotoWin.isNull()) { m_pHexGotoWin.data()->close(); } if (!m_columnEditWin.isNull()) { m_columnEditWin.data()->close(); } //filelistwin还存在 if (!m_dockFileListWin.isNull()) { NddSetting::updataKeyValueFromNumSets(FILELISTSHOW, 1); m_dockFileListWin.data()->close(); } if (m_dockSelectTreeWin != nullptr) { m_dockSelectTreeWin->deleteLater(); m_dockSelectTreeWin = nullptr; } } #endif void CCNotePad::on_md5hash() { Md5hash* pWin = new Md5hash(this); pWin->setWindowFlag(Qt::Window); pWin->setAttribute(Qt::WA_DeleteOnClose); pWin->show(); } #ifdef NO_PLUGIN //插件中调用主程序的功能。 //cmdId 执行什么动作,一定固定后,主程序不能随便修改,否则会引发兼容性问题。 bool CCNotePad::pluginInvoke(int cmdId, void* data) { bool ret = false; switch (cmdId) { case 1: { //新建一个文件。 slot_actionNewFile_toggle(true); //默认不需要。 if (data != nullptr) { QVariant* pVar = (QVariant*)data; //回传回去新建文件的名称 ScintillaEditView* pw = getCurEditView(); if (pw != nullptr) { pVar->setValue(getFilePathProperty(pw)); } } ret = true; } break; case 2: { //设定当前编辑器的语言。0 js 1 json int lang = *((int*)data); LangType langs = ((lang == 0) ? L_JAVASCRIPT : L_JSON); ScintillaEditView* pEdit = getCurEditView(); if (pEdit != nullptr) { QsciLexer* curLexer = pEdit->lexer(); if (curLexer == nullptr) { //设定为目标语法 QsciLexer* lexer = ScintillaEditView::createLexer(langs); pEdit->setLexer(lexer); } else if (curLexer->lexerId() != langs) { pEdit->setLexer(nullptr); delete curLexer; curLexer = nullptr; QsciLexer* lexer = ScintillaEditView::createLexer(langs); pEdit->setLexer(lexer); } syncCurDocLexerToMenu(pEdit); } ret = true; } default: break; } return ret; } #endif ================================================ FILE: src/cceditor/ccnotepad.h ================================================ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "rcglobal.h" #include "ui_ccnotepad.h" #include "common.h" #include "extlexermanager.h" #include "scintillaeditview.h" #include "findwin.h" #include "pluginGl.h" //class ScintillaEditView; class ScintillaHexEditView; class FindRecords; class FindResultWin; class QAction; class CompareDirs; class CompareWin; struct HexFileMgr; struct TextFileMgr; struct BigTextEditFileMgr; static const char* Tail_Thread = "tailthread"; //编码类型,int static const char* Edit_Text_Code = "code"; enum OpenAttr { Text = 1, HexReadOnly, BigTextReadOnly, BigTextReadWrite, SuperBigTextReadOnly, TextReadOnly }; enum SpaceTab { Tab2Space = 0, Space2TabLeading, Space2TabAll, }; enum LINE_SORT_TYPE { SORTLINES_LEXICOGRAPHIC_ASCENDING, SORTLINES_LEXICOGRAPHIC_DESCENDING, SORTLINES_LEXICO_CASE_INSENS_ASCENDING, SORTLINES_LEXICO_CASE_INSENS_DESCENDING, SORTLINES_REVERSE_ORDER, }; struct FileExtLexer { QString ext; LangType id; }; const int FileExtMapLexerIdLen = L_EXTERNAL; //1 文本 2 hex enum NddDocType { TXT_TYPE = 1, //BIG_TEXT_RO_TYPE,//大文本,只读模式 BIG_TEXT_RO_TYPE。是只读模式 BIG_TEXT_RO_TYPE,//大文本,只读模式,可以显示行号,可以跳转。理论上4G-8G比较合适。再大就属于超大文本 BIG_EDIT_RW_TYPE,//大文本,读写模式。目前还不支持 SUPER_BIG_TEXT_RO_TYPE,//超大文本,只读模式,理论上任意多大文件都可以。不一定支持行号。4G以上的文件。 HEX_TYPE, }; //打开模式。1 文本 2 二进制 3 大文本只读 4 文本只读 //const char* Open_Attr = "openid"; class FileListView; class QtLangSet; class CCNotePad : public QMainWindow { Q_OBJECT public: CCNotePad(bool isMainWindows = true, QWidget *parent = Q_NULLPTR); ~CCNotePad(); void quickshow(); void setCodeBarLabel(CODE_ID id); void setLineEndBarLabel(RC_LINE_FORM lineEnd); void initLexerNameToIndex(); static LexerInfo getLangLexerIdByFileExt(QString filePath); bool openFile(QString filePath, int lineNum=-1); bool tryRestoreFile(QString filePath); void initTabNewOne(); void setShareMem(QSharedMemory* v) { m_shareMem = v; } QSharedMemory* getShareMem() { return m_shareMem; } void receiveEditDrop(QDropEvent* e); #ifdef Q_OS_WIN int runAsAdmin(const QString & filePath); void checkAppFont(); #endif void syncCurSkinToMenu(int id); int restoreLastFiles(); ScintillaEditView * getCurEditView(); void getCurUseLexerTags(QVector& tag); void clearHighlightWord(QString signWord, ScintillaEditView* pEdit = nullptr); bool closeFileByEditWidget(QWidget* pEdit); void showChangePageTips(QWidget* pEdit); int markAtBack(QStringList& keyword); int findAtBack(QStringList& keyword); int replaceAtBack(QStringList& keyword, QStringList& replace); void updateThemes(); void setGlobalFgColor(int style); void setGlobalBgColor(int style); void setGlobalFont(int style); void changeMarkColor(int sytleId); void setUserDefShortcutKey(int shortcutId); QtLangSet* getLangSet(); signals: void signSendRegisterKey(QString key); void signRegisterReplay(int code); void signLinkNetServer(); #ifdef Q_OS_WIN void tailFileChange(ScintillaEditView*,qint64 lastSize, qint64 curSize); #endif public slots: void slot_changeChinese(); void slot_changeEnglish(); void slot_actionNewFile_toggle(bool checked); void slot_actionOpenFile_toggle(bool checked); void slot_actionSaveFile_toggle(bool checked); void slot_actionSaveAsFile_toggle(bool checked); void slot_actionRenameFile_toggle(bool checked); void slot_actionClose(bool); void slot_actionCloseNonCurDoc(); void slot_actionCloseLeftAll(); void slot_actionCloseRightAll(); void slot_quit(bool); void slot_closeAllFile(bool); void slot_batch_convert(); void slot_batch_rename(); void slot_options(); void slot_donate(); // void slot_registerCmd(int cmd, int code); void slot_viewStyleChange(QString tag, int styleId, QColor & fgColor, QColor & bkColor, QFont & font, bool fontChange); void slot_viewLexerChange(QString tag); void slot_findInDir(); void slot_showFileInExplorer(); #ifdef Q_OS_WIN void slot_showCmdInExplorer(); #endif void slot_wordHighlight(); void slot_clearWordHighlight(); void slot_clearMark(); void slot_zoomValueChange(); void on_quitActiveWindow(); protected: void closeEvent(QCloseEvent *event) override; void dragEnterEvent(QDragEnterEvent* event) override; void dropEvent(QDropEvent* e) override; void dragLeaveEvent(QDragLeaveEvent* event); bool eventFilter(QObject *watched, QEvent *event)override; #ifdef Q_OS_WIN bool nativeEvent(const QByteArray &eventType, void *message, long *result) override; bool nativeOpenfile(QString openFilePath); #endif #ifdef uos void adjustWInPos(QWidget* pWin); #endif private slots: void slot_editViewMofidyChange(); void slot_tabClose(int index); void slot_LineNumIndexChange(int line, int index); void slot_saveAllFile(); void slot_autoSaveFile(bool); void slot_timerAutoSave(); void slot_tabCurrentChanged(int index); void slot_copyAvailable(bool select); void slot_cut(); void slot_copy(); void slot_paste(); void slot_selectAll(); void slot_undo(); void slot_redo(); void slot_zoomin(); void slot_zoomout(); void slot_wordwrap(bool checked); void slot_allWhite(bool checked); void slot_indentGuide(bool checked); void slot_find(); void slot_replace(); void slot_markHighlight(); void slot_findResultPosChangeed(Qt::DockWidgetArea area); void slot_findResultItemDoubleClick(const QModelIndex & index); #if 0 void slot_showFindAllInCurDocResult(FindRecords * record); #endif void slot_showfindAllInOpenDocResult(QVector* record, int hits, QString whatFind); void slot_clearFindResult(); void slot_convertWinLineEnd(bool); void slot_convertUnixLineEnd(bool); void slot_convertMacLineEnd(bool); void slot_openReceneFile(); void slot_gotoline(); void slot_show_spaces(bool check); void slot_show_line_end(bool check); void slot_load_with_gbk(); void slot_load_with_utf8(); void slot_load_with_utf8_bom(); void slot_load_with_utf16_be(); void slot_load_with_utf16_le(); void slot_load_with_big5(); void slot_encode_gbk(); void slot_encode_utf8(); void slot_encode_utf8_bom(); void slot_encode_utf16_be(); void slot_encode_utf16_le(); void slot_encode_big5(); void slot_lexerActTrig(QAction * action); void slot_compareFile(); void slot_compareDir(); void slot_binCompare(); void slot_tabBarClicked(int index); void on_tabBarDoubleClicked(int index); void slot_reOpenTextMode(); void slot_reOpenHexMode(); void slot_selectLeftFile(); void slot_selectRightFile(); void slot_openFileInNewWin(); void slot_about(); void slot_aboutNdd(); void slot_fileChange(QString filePath); void slot_tabBarDoubleClicked(int index); void slot_slectionChanged(); void slot_preHexPage(); void slot_nextHexPage(); void slot_gotoHexPage(); void slot_hexGotoFile(qint64 addr); void slot_tabFormatChange(bool tabLenChange, bool useTabChange); void slot_searchResultShow(); void slot_saveFile(QString fileName, ScintillaEditView * pEdit); /*void slot_skinStyleGroup(QAction * action);*/ void slot_changeIconSize(QAction * action); void slot_langFormat(); void slot_removeHeadBlank(); void slot_removeEndBlank(); void slot_removeHeadEndBlank(); void slot_columnBlockEdit(); void slot_defineLangs(); void slot_uppercase(); void slot_lowercase(); void slot_properCase(); void slot_properCaseBlend(); void slot_sentenceCase(); void slot_sentenceCaseBlend(); void slot_invertCase(); void slot_randomCase(); void slot_removeEmptyLineCbc(); void slot_removeEmptyLine(); void slot_column_mode(); void slot_tabToSpace(); void slot_spaceToTabAll(); void slot_spaceToTabLeading(); void slot_dupCurLine(); void slot_removeDupLine(); void slot_splitLines(); void slot_joinLines(); void slot_moveUpCurLine(); void slot_moveDownCurLine(); void slot_insertBlankAbvCur(); void slot_insertBlankBelCur(); void slot_reverseLineOrder(); void slot_sortLexAsc(); void slot_sortLexAscIgnCase(); void slot_sortLexDesc(); void slot_sortLexDescIngCase(); void slot_findNext(); void slot_findPrev(); void slot_escQuit(); void slot_formatXml(); void slot_formatJson(); void slot_clearHistoryOpenList(); void slot_bookMarkAction(); void slot_loadBookMarkMenu(); void slot_markColorGroup(QAction * action); void slot_loadMarkColor(); void slot_saveSearchHistory(); void slot_fileListView(bool check); void slot_fileListItemDoubleClick(QListWidgetItem* item); void slot_showToolBar(bool); void slot_dynamicLoadToolMenu(); void slot_batchFind(); void on_loadReceneFile(); void slot_pluginMgr(); #ifdef NO_PLUGIN void onPlugWork(bool check); void sendParaToPlugin(NDD_PROC_DATA& procData); //cmdId 执行什么动作,一定固定后,主程序不能随便修改,否则会引发兼容性问题。 bool pluginInvoke(int cmdId, void* data); #endif void slot_showWebAddr(bool check); void slot_langFileSuffix(); void slot_shortcutManager(); void on_lineEndChange(int index); void on_tailfile(bool isOn); #ifdef Q_OS_WIN void on_roladFile(ScintillaEditView* pEdit,quint64 lastSize, qint64 curSize); #endif void on_md5hash(); private: void initFindResultDockWin(); void enableEditTextChangeSign(ScintillaEditView * pEdit); void disEnableEditTextChangeSign(ScintillaEditView * pEdit); bool saveFile(QString fileName, ScintillaEditView * pEdit, bool isBakWrite=true, bool isStatic=false, bool isClearSwpFile=false); void updateProAfterSaveNewFile(int curTabIndex, QString fileName, ScintillaEditView * pEdit); void setShoctIcon(int iconSize=24); void initToolBar(); void setTxtLexer(ScintillaEditView * pEdit); void saveTabEdit(int tabIndex); void saveReceneOpenFile(); void updateSaveAllToolBarStatus(); void initReceneOpenFileMenu(); int findFileIsOpenAtPad(QString filePath); bool isNewFileNameExist(QString& fileName); void updateCurTabSaveStatus(); void setSaveButtonStatus(bool needSave); void setSaveAllButtonStatus(bool needSave); void tabClose(int index, bool isInQuit=false); void setDocEolMode(ScintillaEditView * pEdit, RC_LINE_FORM endStatus); bool convertDocLineEnd(RC_LINE_FORM endStatus); void transDocToEncord(CODE_ID destCode); void syncCurDocEncodeToMenu(QWidget * curEdit); void syncCurDocLineEndStatusToMenu(QWidget * curEdit); void syncCurDocLexerToMenu(QWidget* pEdit); void syncCurDocTailfToMenu(QWidget* curEdit); void cmpSelectFile(); void autoSetDocLexer(ScintillaEditView * pEdit, int defLexerId=-1); void updateTitleToCurDocFilePath(); void addWatchFilePath(QString filePath); void removeWatchFilePath(QString filePath); void doReloadTxtFile(ScintillaEditView* pEdit, bool isOnTail, qint64 startReadSize); void firstTimeIntoTail(ScintillaEditView* pEdit, int remainLineNums=100); bool checkRoladFile(ScintillaEditView * pEdit, qint64 startReadSize=-1); void reloadEditFile(ScintillaEditView * pEidt, bool isTailfOn = false, qint64 startReadSize=-1); int initFindWindow(FindTabIndex type= FIND_TAB); void setToFileRightMenu(); void initReceneCmp(); void saveReceneCmp(); QString getShortName(const QString& name); bool reloadTextFileWithCode(CODE_ID code); bool openSuperBigTextFile(QString filePath); bool openBigTextRoFile(QString filePath); void setWindowTitleMode(QString filePath, OpenAttr attr); bool openTextFile(QString filePath, bool isCheckHex = true, CODE_ID code=CODE_ID::UNKOWN); bool openHexFile(QString filePath); bool showHexFile(ScintillaHexEditView * pEdit, HexFileMgr * hexFile); bool showBigTextFile(ScintillaEditView * pEdit, TextFileMgr * hexFile); bool showBigTextFile(ScintillaEditView* pEdit, BigTextEditFileMgr* txtFile, int blockIndex); void initNotePadSqlOptions(); void saveNotePadSqlOptions(); //void saveDefFont(); void savePadUseTimes(); void saveTempFile(ScintillaEditView * pEdit, int index, QSettings& qs); void closeFileStatic(int index, QSettings& qs); void closeAllFileStatic(); void restoreCleanNewFile(QString & fileName); void restoreCleanExistFile(QString & filePath); void restoreDirtyNewFile(QString & fileName, QString & tempFilePath, int lexid=L_TXT); bool restoreDirtyExistFile(QString & fileName, QString & tempFilePath); ScintillaEditView* newTxtFile(QString Name, int index, QString contentPath=""); void setLangsDescLable(QString &langDesc); void transCurUpperOrLower(TextCaseType type); void removeEmptyLine(bool isBlankContained); void spaceTabConvert(SpaceTab type); void dealLineSort(LINE_SORT_TYPE type); void find(FindTabIndex findType); void registerEscKeyShort(QWidget * parent); void closeAllFileWhenQuit(bool isQuit=false); void initFileListDockWin(); void addFileListView(QString file, QWidget* pw); void delFileListView(QString file); void fileListSetCurItem(QString filePath); void syncFileTabToListView(); void setZoomLabelValue(int zoomValue); void zoomto(int zoomValue); void tabClose(QWidget* pEdit); void init_toolsMenu(); void changeBlankShowStatus(int showBlank); void syncBlankShowStatus(); void openFileInNewWin(int index); #ifdef NO_PLUGIN void loadPluginLib(); void loadPluginProcs(QString strLibDir, QMenu* pMenu); void onPlugFound(NDD_PROC_DATA& procData, QMenu* pUserData); #endif void setUserDefShortcutKey(); void setNormalTextEditInitPro(ScintillaEditView* pEdit, QString filePath, CODE_ID code, RC_LINE_FORM lineEnd, bool isReadOnly, bool isModifyed); void registerCommentShortKey(int type, QKeySequence& keySeq); void dealRecentFileMenuWhenColseFile(QString closeFilePath); void registerFoldShortKey(int type, QKeySequence& keySeq, bool isFold); void doFold(int type, bool mode); void doComment(int type); void tailfile(bool isOn, ScintillaEditView* pEdit); void on_findResultlineDoubleClick(QString* pFilePath, int pos, int end); private: Ui::CCNotePad ui; QLabel* m_codeStatusLabel; QComboBox* m_lineEndLabel; QLabel* m_lineNumLabel; QLabel* m_langDescLabel; QLabel* m_zoomLabel; QMenu* m_tabRightClickMenu; QDockWidget* m_dockSelectTreeWin; FindResultWin* m_pResultWin; QPointer m_dockFileListWin; FileListView* m_fileListView; QList m_receneOpenFileList; QActionGroup *m_pEncodeActGroup; QActionGroup *m_pLineEndActGroup; QActionGroup *m_pLexerActGroup; QActionGroup *m_pIconSize; #if 0 QAction* m_quitAction; #endif //关闭时,询问保存文件,用户点击了取消,此时不能走关闭程序 //设置一个标志记录该状态,确定最终是否要退出 bool m_isQuitCancel; //是否主窗口。可以打开多个,但是只有第一个是主窗口 bool m_isMainWindows; QMap m_lexerNameToIndex; //监控文件被修改的对象 QFileSystemWatcher* m_fileWatch; QString m_cmpLeftFilePath; QString m_cmpRightFilePath; QPointer m_pFindWin; QPointer m_columnEditWin; QPointer m_langSetWin; QPointer m_optionsView; QSharedMemory* m_shareMem; QList m_cmpDirMgr; QList m_cmpFileMgr; //最近打开的对比文件和目录列表。做一个环形区 //保存在数据库中 int m_receneDirStartPos; int m_receneFileStartPos; QList m_receneDirList; QList m_receneFileList; QMap m_receneRecrod; QAction* m_openInNewWinAct; QAction* m_showFileDirAct; QAction* m_showCmdAct; QAction* m_openWithText; QAction* m_openWithHex; QAction* m_selectLeftCmp; QAction* m_selectRightCmp; //所有打开的notebook均保存起来。关闭时切换share里面保存的地址 static QList *s_padInstances; //当前打开的二进制文件,保存在这里 QMap m_hexFileMgr; QPointer m_pHexGotoWin; static QStringList s_findHistroy; static QStringList s_replaceHistroy; static int s_padTimes; int m_curSoftLangs; //当前语言0:自动 1 中文 2 英语 static int s_autoWarp; //自动换行 static int s_indent; //自动缩进 static int s_showblank; //显示空白 static int s_zoomValue; QTranslator* m_translator; QTimer * m_timerAutoSave; QToolButton* m_newFile; QToolButton* m_openFile; QToolButton* m_saveFile; QToolButton* m_saveAllFile; QToolButton* m_autoSaveAFile; QToolButton* m_closeFile; QToolButton* m_closeAllFile; QToolButton* m_cutFile; QToolButton* m_copyFile; QToolButton* m_pasteFile; QToolButton* m_undo; QToolButton* m_redo; QToolButton* m_findText; QToolButton* m_replaceText; QToolButton* m_markText; QToolButton* m_signText; QToolButton* m_clearMark; QToolButton* m_zoomin; QToolButton* m_zoomout; QToolButton* m_wordwrap; QToolButton* m_allWhite; QToolButton* m_indentGuide; QToolButton* m_tailf; QToolButton* m_preHexPage; QToolButton* m_nextHexPage; QToolButton* m_gotoHexPage; QToolButton* m_transcode; QToolButton* m_rename; QAction* m_formatXml; QAction* m_formatJson; QPointer m_batchFindWin; int m_curIconSize; int m_curColorIndex; bool m_isInReloadFile; bool m_isToolMenuLoaded; bool m_isInitBookMarkAct; bool m_isRecentFileLoaded; QListm_styleMarkActList; QList m_pluginList; public: static QString s_lastOpenDirPath; static int s_restoreLastFile; //自动恢复上次打开的文件 static int s_curStyleId; static int s_curMarkColorId; static int s_hightWebAddr;//高亮网页地址 }; ================================================ FILE: src/cceditor/ccnotepad.ui ================================================ CCNotePad 0 0 1458 789 Microsoft YaHei 12 notepad-- :/Resources/edit/global/ndd.ico:/Resources/edit/global/ndd.ico 0 1 0 0 0 Microsoft YaHei 10 -1 22 22 true true true false 0 0 1458 27 Qt::LeftToRight &File Recene File Qt::LeftToRight &Edit Format Conversion Blank CharOperate Convert Case to Line Operations &Search Bookmark Mark Color &View Display symbols Icon Size E&ncoding Other Convert to Other &Language P C J R H M B I N A S V L T F D O E G Se&t Language Feedback About T&ools Plugin false true TopToolBarArea false New Ctrl+T Qt::WindowShortcut Open ... Ctrl+O Save Ctrl+S Save As ... Ctrl+Alt+S Close Ctrl+W Exit Ctrl+Q Close All Ctrl+Shift+W Undo Ctrl+Z Redo Ctrl+Y Cut Ctrl+X Copy Ctrl+C Paste Ctrl+V Select All Ctrl+A true Windows(CR+LF) true Unix(LF) true Mac(CR) Find Ctrl+F Replace Ctrl+H Go line Ctrl+G true Show spaces/tabs true Show end of line true Show all true Encode in GBK true Encode in UTF8 true Encode in UTF8-BOM true Encode in UCS-2 BE BOM true Encode in UCS-2 LE BOM Convert to GBK Convert to UTF8 Convert to UTF8-BOM Convert to UCS-2 BE BOM Convert to UCS-2 LE BOM Batch convert Options BugFix File compare Dir compare R true XML true YAML true PHP true C true C++ true C# true Objective C true Java true RC true HTML true Makefile true Pascal true Batch true ini true Nfo true Asp true Sql true Visual Basic true JavaScript true CSS true Perl true Python true Lua true TeX true Fortran true Shell true ActionScript true NSIS true Tcl true Lisp true Scheme true Assembly D true Diff true Properties file true PostScript true Ruby true Smalltalk true VHDL true AutoIt true CMake true PowerShell true Jsp true CoffeeScript true BaanC true S-Record true TypeScript true Visual Prolog true Txt2tags true Rust true Registry true REBOL true OScript true NCrontab true Nim true MMIXAL true LaTeX true Forth true ESCRIPT true Erlang true Csound true FreeBasic true BlitzBasic true PureBasic true AviSynth true ASN.1 true Swift true Intel HEX true Fortran77 true Edifact MarkDown true MarkDown true Octave true Po true Pov true JSON true D true AVS true Bash true IDL true Matlab true SPICE true Verilog true TXT test test true Go Search Result Donate true true Default true LightBlue true ThinBlue true RiceYellow true Yellow true Silver true LavenderBlush true MistyRose true English true Chinese Theme Style Open In Text Open In Bin Remove Head Blank Remove End Blank Remove Head End Blank Column Block Editing Alt+X true Wrap Define Language UPPERCASE lowercase Proper Case Proper Case (blend) Sentence case Sentence case (blend) Invert Case Random Case Remove Empty Lines Remove Empty Lines (Containing Blank characters) true UserDefine Column Block Mode TAB to Space Space to TAB (All) Space to TAB (Leading) Duplicate Current Line Ctrl+D Remove Duplicate Lines Remove Consecutive Duplicate Lines Split Lines Join Lines Move Up Current Line Ctrl+Shift+Up Move Down Current Line Ctrl+Shift+Down Insert Blank Line Above Current Ctrl+Alt+Return Insert Blank Line Below Current Ctrl+Alt+Shift+Return Reverse Line Order Randomize Line Order Sort Lines Lexicographically Ascending Sort Lines Lex. Ascending Ignoring Case Sort Lines As Integers Ascending Sort Lines As Decimals (Comma) Ascending Sort Lines As Decimals (Dot) Ascending Sort Lines Lexicographically Descending Sort Lines Lex. Descending Ignoring Case Sort Lines As Integers Descending Sort Lines As Decimals (Comma) Descending Sort Lines As Decimals (Dot) Descending Find In Dir Ctrl+Shift+D Find Next F3 Find Prev F4 Red Yellow Blue true Big5 Big5 true 24x24 true 36x36 true 48x48 About Notepad-- 1 Format Xml Format Json true Dark true VB true 1 true 2 true 3 true 4 true 5 true loop Clear History true FileListView true true Show ToolBar Batch Find true Show Web Addr(Not recommended) Language File Suffix Shortcut Key Manager R test Plugin Manager Md5/Sha actionNewFile triggered(bool) CCNotePad slot_actionNewFile_toggle(bool) -1 -1 554 393 actionOpenFile triggered(bool) CCNotePad slot_actionOpenFile_toggle(bool) -1 -1 554 393 actionSave triggered(bool) CCNotePad slot_actionSaveFile_toggle(bool) -1 -1 554 393 actionSave_as triggered(bool) CCNotePad slot_actionSaveAsFile_toggle(bool) -1 -1 554 393 actionClose triggered(bool) CCNotePad slot_actionClose(bool) -1 -1 554 393 actionExit triggered(bool) CCNotePad slot_quit(bool) -1 -1 554 393 actionClose_All triggered(bool) CCNotePad slot_closeAllFile(bool) -1 -1 554 393 actionredo triggered(bool) CCNotePad slot_redo() -1 -1 554 393 actionundo triggered(bool) CCNotePad slot_undo() -1 -1 554 393 actioncopy triggered(bool) CCNotePad slot_copy() -1 -1 554 393 actionpaste triggered(bool) CCNotePad slot_paste() -1 -1 554 393 actioncut triggered(bool) CCNotePad slot_cut() -1 -1 554 393 actionselect_All triggered(bool) CCNotePad slot_selectAll() -1 -1 554 393 actionconvert_Mac_CR triggered(bool) CCNotePad slot_convertMacLineEnd(bool) -1 -1 554 393 actionconver_windows_CR_LF triggered(bool) CCNotePad slot_convertWinLineEnd(bool) -1 -1 554 393 actionconvert_Unix_LF triggered(bool) CCNotePad slot_convertUnixLineEnd(bool) -1 -1 554 393 actionFind triggered(bool) CCNotePad slot_find() -1 -1 554 393 actionReplace triggered(bool) CCNotePad slot_replace() -1 -1 554 393 actionGoline triggered() CCNotePad slot_gotoline() -1 -1 554 393 actionShowSpaces triggered(bool) CCNotePad slot_show_spaces(bool) -1 -1 554 393 actionshow_end_of_line triggered(bool) CCNotePad slot_show_line_end(bool) -1 -1 554 393 actionShowAll triggered(bool) CCNotePad slot_allWhite(bool) -1 -1 554 393 actionencode_in_GBK triggered() CCNotePad slot_load_with_gbk() -1 -1 554 393 actionconvert_to_UTF8 triggered() CCNotePad slot_encode_utf8() -1 -1 554 393 actionconvert_to_UTF8_BOM triggered() CCNotePad slot_encode_utf8_bom() -1 -1 554 393 actionconvert_to_UCS_2_BE_BOM triggered() CCNotePad slot_encode_utf16_be() -1 -1 554 393 actionencode_in_UCS_2_LE_BOM triggered() CCNotePad slot_load_with_utf16_le() -1 -1 554 393 actionencode_in_UCS_BE_BOM triggered() CCNotePad slot_load_with_utf16_be() -1 -1 554 393 actionencode_in_UTF8_BOM triggered() CCNotePad slot_load_with_utf8_bom() -1 -1 554 393 actionencode_in_uft8 triggered() CCNotePad slot_load_with_utf8() -1 -1 554 393 actionconvert_to_GBK triggered() CCNotePad slot_encode_gbk() -1 -1 554 393 actionconvert_to_UCS_2_LE_BOM triggered() CCNotePad slot_encode_utf16_le() -1 -1 554 393 actionDir_compare triggered() CCNotePad slot_compareDir() -1 -1 554 379 actionFile_compare triggered() CCNotePad slot_compareFile() -1 -1 554 379 actionCC_Pad triggered() CCNotePad slot_about() -1 -1 554 379 actionbatch_convert triggered() CCNotePad slot_batch_convert() -1 -1 554 379 actionOptions triggered() CCNotePad slot_options() -1 -1 554 379 actionSearch_Result triggered() CCNotePad slot_searchResultShow() -1 -1 554 379 actionDonate triggered() CCNotePad slot_donate() -1 -1 554 379 actionEnglish triggered() CCNotePad slot_changeEnglish() -1 -1 601 394 actionChinese triggered() CCNotePad slot_changeChinese() -1 -1 601 394 actionLanguage_Format triggered() CCNotePad slot_langFormat() -1 -1 601 394 actionOpen_In_Text triggered() CCNotePad slot_reOpenTextMode() -1 -1 601 394 actionOpen_In_Bin triggered() CCNotePad slot_reOpenHexMode() -1 -1 601 394 actionRemove_leading_blank triggered() CCNotePad slot_removeHeadBlank() -1 -1 601 394 actionRemove_eding_blank triggered() CCNotePad slot_removeEndBlank() -1 -1 601 394 actionRemove_Head_End_Blank triggered() CCNotePad slot_removeHeadEndBlank() -1 -1 601 394 actionColumn_Block_Editing triggered() CCNotePad slot_columnBlockEdit() -1 -1 792 394 actionDefine_Language triggered() CCNotePad slot_defineLangs() -1 -1 792 394 actionUPPERCASE triggered() CCNotePad slot_uppercase() -1 -1 792 394 actionlowercase triggered() CCNotePad slot_lowercase() -1 -1 792 394 actionProper_Case triggered() CCNotePad slot_properCase() -1 -1 792 394 actionProper_Case_blend triggered() CCNotePad slot_properCaseBlend() -1 -1 792 394 actionSentence_case triggered() CCNotePad slot_sentenceCase() -1 -1 792 394 actionSentence_case_blend triggered() CCNotePad slot_sentenceCaseBlend() -1 -1 792 394 actionInvertCase triggered() CCNotePad slot_invertCase() -1 -1 792 394 actionRandomCase triggered() CCNotePad slot_randomCase() -1 -1 792 394 actionRemove_Empty_Lines triggered() CCNotePad slot_removeEmptyLine() -1 -1 792 394 actionRemove_Empty_Lines_Cbc triggered() CCNotePad slot_removeEmptyLineCbc() -1 -1 792 394 actionColumn_Edit_Mode triggered() CCNotePad slot_column_mode() -1 -1 792 394 actionTAB_to_Space triggered() CCNotePad slot_tabToSpace() -1 -1 792 394 actionSpace_to_TAB_All triggered() CCNotePad slot_spaceToTabAll() -1 -1 792 394 actionSpace_to_TAB_Leading triggered() CCNotePad slot_spaceToTabLeading() -1 -1 792 394 actionDuplicate_Current_Line triggered() CCNotePad slot_dupCurLine() -1 -1 792 394 actionRemove_Duplicate_Lines triggered() CCNotePad slot_removeDupLine() -1 -1 792 394 actionSplit_Lines triggered() CCNotePad slot_splitLines() -1 -1 792 394 actionJoin_Lines triggered() CCNotePad slot_joinLines() -1 -1 792 394 actionMove_Up_Current_Line triggered() CCNotePad slot_moveUpCurLine() -1 -1 792 394 actionMove_Down_Current_Line triggered() CCNotePad slot_moveDownCurLine() -1 -1 792 394 actionInsert_Blank_Line_Above_Current triggered() CCNotePad slot_insertBlankAbvCur() -1 -1 792 394 actionInsert_Blank_Line_Below_Current triggered() CCNotePad slot_insertBlankBelCur() -1 -1 792 394 actionReverse_Line_Order triggered() CCNotePad slot_reverseLineOrder() -1 -1 792 394 actionSort_Lines_Lexicographically_Ascending triggered() CCNotePad slot_sortLexAsc() -1 -1 792 394 actionSort_Lines_Lex_Ascending_Ignoring_Case triggered() CCNotePad slot_sortLexAscIgnCase() -1 -1 792 394 actionSort_Lines_Lexicographically_Descending triggered() CCNotePad slot_sortLexDesc() -1 -1 792 394 actionFind_In_Dir triggered() CCNotePad slot_findInDir() -1 -1 792 394 actionFindNext triggered() CCNotePad slot_findNext() -1 -1 792 394 actionFindPrev triggered() CCNotePad slot_findPrev() -1 -1 792 394 actionBig5 triggered() CCNotePad slot_load_with_big5() -1 -1 792 394 actionToBig5 triggered() CCNotePad slot_encode_big5() -1 -1 792 394 actioninfo triggered() CCNotePad slot_aboutNdd() -1 -1 728 394 actionClear_History triggered() CCNotePad slot_clearHistoryOpenList() -1 -1 728 394 actionFileListView triggered(bool) CCNotePad slot_fileListView(bool) -1 -1 728 394 actionShow_ToolBar triggered(bool) CCNotePad slot_showToolBar(bool) -1 -1 728 394 actionShow_Web_Addr triggered(bool) CCNotePad slot_showWebAddr(bool) -1 -1 728 394 actionLanguage_File_Suffix triggered() CCNotePad slot_langFileSuffix() -1 -1 728 394 actionShortcut_Key_Manager triggered() CCNotePad slot_shortcutManager() -1 -1 728 394 actionWrap triggered(bool) CCNotePad slot_wordwrap(bool) -1 -1 728 394 actionMd5_Sha triggered() CCNotePad on_md5hash() -1 -1 728 394 slot_actionNewFile_toggle(bool) slot_actionOpenFile_toggle(bool) slot_actionSaveFile_toggle(bool) slot_actionSaveAsFile_toggle(bool) slot_actionClose(bool) slot_quit(bool) slot_closeAllFile(bool) slot_undo() slot_redo() slot_cut() slot_copy() slot_paste() slot_selectAll() slot_convertWinLineEnd(bool) slot_convertUnixLineEnd(bool) slot_convertMacLineEnd(bool) slot_find() slot_replace() slot_gotoline() slot_show_spaces(bool) slot_show_line_end(bool) slot_encode_gbk() slot_encode_utf8() slot_encode_utf8_bom() slot_encode_utf16_be() slot_encode_utf16_le() slot_compareFile() slot_compareDir() slot_about() slot_batch_convert() slot_donate() slot_options() slot_load_with_gbk() slot_load_with_utf8() slot_load_with_utf8_bom() slot_load_with_utf16_be() slot_load_with_utf16_le() slot_searchResultShow() slot_toDefaultStyle() slot_toLightBlueStyle() slot_toThinBlueStyle() slot_toRiceYellow() slot_toYellow() slot_toSilverStyle() slot_toLavenderBlush() slot_toMistyRose() slot_changeEnglish() slot_changeChinese() slot_langFormat() slot_reOpenTextMode() slot_reOpenHexMode() slot_removeHeadBlank() slot_removeEndBlank() slot_removeHeadEndBlank() slot_columnBlockEdit() slot_wordwrap(bool) slot_defineLangs() slot_uppercase() slot_lowercase() slot_properCase() slot_properCaseBlend() slot_sentenceCase() slot_sentenceCaseBlend() slot_invertCase() slot_randomCase() slot_removeEmptyLine() slot_removeEmptyLineCbc() slot_column_mode() slot_tabToSpace() slot_spaceToTabAll() slot_spaceToTabLeading() slot_dupCurLine() slot_removeDupLine() slot_splitLines() slot_joinLines() slot_moveUpCurLine() slot_moveDownCurLine() slot_insertBlankAbvCur() slot_insertBlankBelCur() slot_reverseLineOrder() slot_sortLexAsc() slot_sortLexAscIgnCase() slot_sortLexDesc() slot_sortLexDescIngCase() slot_findInDir() slot_findNext() slot_findPrev() slot_load_with_big5() slot_encode_big5() slot_aboutNdd() slot_formatXml() slot_formatJson() slot_allWhite(bool) slot_toDarkStyle() slot_clearHistoryOpenList() slot_fileListView(bool) slot_showToolBar(bool) slot_showWebAddr(bool) slot_langFileSuffix() slot_shortcutManager() on_md5hash() ================================================ FILE: src/cceditor/filemanager.cpp ================================================ #include "filemanager.h" #include "scintillaeditview.h" #include "scintillahexeditview.h" #include "CmpareMode.h" #include "ccnotepad.h" #include "progresswin.h" #include #include #include #include #include LangType detectLanguage(QString& headContent, QString& filepath); FileManager::FileManager():m_lastErrorCode(NONE_ERROR) { } FileManager::~FileManager() { } ScintillaEditView* FileManager::newEmptyDocument(bool isBigText) { ScintillaEditView* pEdit = new ScintillaEditView(nullptr, isBigText); return pEdit; } ScintillaHexEditView* FileManager::newEmptyHexDocument() { ScintillaHexEditView* pEdit = new ScintillaHexEditView(nullptr); return pEdit; } //从尾部找前面的换行符号。返回的是需要回溯的个数 //注意如果是LE编码,字节流是\n\0的格式。从尾部往前回溯,找到\n,要回退1个\0。\n\0是一个整体,不能分割开 //20230201发现一个bug,在LE模式下,不能单纯用\n做换行识别。因为发现其它字符也存在\n,必须要完整以\n\0才能确定是换行。 //同样发现BE模式下,是\0\n的格式,也不能单独使用\n做换行识别,因为发现其他字符也存在\n,必须要完整以\0\n才能确定是换行 int findLineEndPos(const char* buf, int size, CODE_ID code = UNKOWN) { int ret = 0; bool isfound = false; for (int i = size - 1; i >= 0; --i) { if (buf[i] == '\n') { ////如果是LE,还要确定\n的下一个是否是\0 if ((code == UNICODE_LE) && ((i != size -1) && (buf[i+1] != '\0'))) { ++ret; continue; } ////如果是BE,还要确定\n的前一个是否是\0 if ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\0'))) { ++ret; continue; } isfound = true; break; } ++ret; } //如果没有找到,怀疑是mac格式,按照\r结尾解析 if (!isfound) { for (int i = size - 1; i >= 0; --i) { if (buf[i] == '\r') { ////如果是LE,还要确定\n的下一个是否是\0 if ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\0'))) { continue; } ////如果是BE,还要确定\n的前一个是否是\0 if ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\0'))) { continue; } isfound = true; break; } ++ret; } } if (isfound) { //注意好好想想,这里是--ret,而不是++ret。 if (code == UNICODE_LE) { --ret; } //UNICODE_BE不需要处理 return ret; } //说明是一个巨长的行,这种情况不是很好。直接读取了,不管是否进行了行截断 return 0; } //从行首找后面的换行符号。返回的是需要前进的个数,即把前面掐掉一节,让返回在一行的行首位置 int findLineStartPos(const char* buf, int size, CODE_ID code = UNKOWN) { int ret = 0; bool isfound = false; for (int i = 0; i < size; ++i) { ++ret; if (buf[i] == '\n') { ////如果是LE,还要确定\n的下一个是否是\0 if ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\0'))) { continue; } ////如果是BE,还要确定\n的前一个是否是\0 if ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\0'))) { continue; } isfound = true; break; } } //如果没有找到,怀疑是mac格式,按照\r结尾解析 if (!isfound) { for (int i = size - 1; i >= 0; --i) { ++ret; if (buf[i] == '\r') { ////如果是LE,还要确定\n的下一个是否是\0 if ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\0'))) { continue; } ////如果是BE,还要确定\n的前一个是否是\0 if ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\0'))) { continue; } isfound = true; break; } } } if (isfound) { //注意好好想想,这里是++ret,而不是--ret。 if (code == UNICODE_LE) { ++ret; } return ret; } //说明是一个巨长的行,这种情况不是很好。直接读取了,不管是否进行了行截断 return 0; } //返回第一个空闲的id,m_newFileIdList必须有序,从小到大,从0开始 //序号也从0开始,notepad++是从1开始 int FileManager::getNextNewFileId() { if (m_newFileIdList.isEmpty()) { return 0; } int index = 0; bool isFind = false; for (int i = 0; i < m_newFileIdList.size(); ++i) { if (m_newFileIdList.at(i).index > i) { index = i; isFind = true; break; } } if (!isFind) { index = m_newFileIdList.size(); } return index; } //务必要保证不能重复id,所以newnode后,必须接着调用insertNewFileNode,避免重复了 void FileManager::insertNewFileNode(NewFileIdMgr node) { m_newFileIdList.append(node); std::sort(m_newFileIdList.begin(), m_newFileIdList.end(), [](NewFileIdMgr& a, NewFileIdMgr& b) { return a.index < b.index; }); } //删除newfile id的节点 void FileManager::delNewFileNode(int fileIndex) { for (int i = 0; i < m_newFileIdList.size(); ++i) { if (m_newFileIdList.at(i).index == fileIndex) { m_newFileIdList.removeAt(i); break; } } } //和loadFileDataInText类似,但是不是从头开始读取文件,而是从startReadSize开始 //不检查编码,直接按照fileTextCode进行读取 int FileManager::loadFileDataInTextFromOffset(ScintillaEditView* editView, QString filePath, CODE_ID fileTextCode, QWidget* msgBoxParent, quint64 startReadSize) { QFile file(filePath); //如果文件不存在,直接返回 if (!file.exists()) { return -1; } QFlags power = QFile::permissions(filePath); //直接以只读的方式打开,至于能不能保存,是保存时需要考虑的问题。 //只需要在保存的时候获取admin权限即可 QIODevice::OpenMode mode; mode = QIODevice::ExistingOnly | QIODevice::ReadOnly; if (!file.open(mode)) { QMessageBox::warning(msgBoxParent, tr("Error"), tr("Open File %1 failed").arg(filePath)); return 2; } quint64 fileSize = file.size(); //如果文件是空的。检查一下,有可能在临时文件损坏情况下出现,外面需要使用 if (fileSize == 0) { file.close(); return 0; } //如果读取的内容,超过了当前文件大小,则直接返回。这里是返回0,视作成功,没有新内容要读 if (startReadSize >= fileSize) { file.close(); return 0; } QByteArray bytes; if (file.seek(startReadSize)) { //读取后面所有的内容 bytes = file.readAll(); } file.close(); QString text; Encode::tranStrToUNICODE(fileTextCode, bytes.data(), bytes.count(), text); editView->append(text); return 0; } #if 0 //这里是以文本方式加载文件。但是可能遇到的是二进制文件,里面会做判断 //二进制时hexAsk是否询问,当用户指定打开格式时,不需要询问 //MsgBoxParent::尽量把这个给一下,让MsgBox有图标,不那么难看。 int FileManager::loadFileDataInText(ScintillaEditView* editView, QString filePath, CODE_ID& fileTextCode, RC_LINE_FORM& lineEnd,CCNotePad * callbackObj, bool hexAsk, QWidget* msgBoxParent) { QFile file(filePath); //如果文件不存在,直接返回 if (!file.exists()) { return -1; } QFlags power = QFile::permissions(filePath); //直接以只读的方式打开,至于能不能保存,是保存时需要考虑的问题。 //只需要在保存的时候获取admin权限即可 QIODevice::OpenMode mode; mode = QIODevice::ExistingOnly | QIODevice::ReadOnly; if (!file.open(mode)) { qDebug() << file.error(); #ifdef Q_OS_WIN //打开失败,这里一般是权限问题导致。如果是windows,在外面申请权限后继续处理 if (QFileDevice::OpenError == file.error()) { if (callbackObj != nullptr) { return callbackObj->runAsAdmin(filePath); } return 1; } #endif #ifdef Q_OS_UNIX QMessageBox::warning(msgBoxParent, tr("Error"), tr("Open File %1 failed").arg(filePath)); #endif return 2; } qint64 fileSize = file.size(); //如果文件是空的。检查一下,有可能在临时文件损坏情况下出现,外面需要使用 if (fileSize == 0) { m_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE; file.close(); return 0; } qint64 bufferSizeRequested = fileSize + qMin((qint64)(1 << 20), (qint64)(fileSize / 6)); if (bufferSizeRequested > INT_MAX) { QMessageBox::warning(msgBoxParent, tr("Error"), tr("File is too big to be opened by Notepad--")); file.close(); return 3; } QList outputLineInfoVec; int maxLineSize = 0; int charsNums = 0; bool isHexFile = false; fileTextCode = CmpareMode::scanFileOutPut(fileTextCode,filePath, outputLineInfoVec, maxLineSize, charsNums, isHexFile); //如果文件是空的。检查一下,有可能在临时文件损坏情况下出现,外面需要使用 if (charsNums == 0) { m_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE; file.close(); return 0; } if (isHexFile && hexAsk) { //检测到文件很可能是二进制文件,询问用户,是否以二进制加载 int ret = QMessageBox::question(msgBoxParent, tr("Open with Text or Hex? [Exist Garbled Code]"), tr("The file %1 is likely to be binary. Do you want to open it in binary?").arg(filePath), tr("Hex Open"), tr("Text Open"), tr("Cancel")); if (ret == 0) { //16进制打开 file.close(); return 4; } else if (ret == 1) { //继续以文本打开 } else { //取消,不打开 file.close(); return 2; } } if (maxLineSize > 0) { //int textWidth = editView->execute(SCI_TEXTWIDTH, STYLE_DEFAULT, reinterpret_cast("P")); editView->execute(SCI_SETSCROLLWIDTH, maxLineSize*10); } //以第一行的换行为文本的换行符 lineEnd = UNKNOWN_LINE; if (!outputLineInfoVec.isEmpty()) { lineEnd = static_cast(outputLineInfoVec.at(0).lineEndFormat); } if (lineEnd == UNKNOWN_LINE) { #ifdef _WIN32 lineEnd = DOS_LINE; #else lineEnd = UNIX_LINE; #endif } QString text; text.reserve(charsNums + 1); for (QList::iterator it = outputLineInfoVec.begin(); it != outputLineInfoVec.end(); ++it) { text.append(it->unicodeStr); } file.close(); //优先根据文件后缀来确定其语法风格 LexerInfo lxdata = CCNotePad::getLangLexerIdByFileExt(filePath); if (lxdata.lexerId != L_TXT) { QsciLexer* lexer = editView->createLexer(lxdata.lexerId, lxdata.tagName); editView->setLexer(lexer); } else { //利用前面5行,进行一个编程语言的判断 QString headContens; for (int i = 0; (i < outputLineInfoVec.size() && i < 5); ++i) { headContens.append(outputLineInfoVec.at(i).unicodeStr); } std::string headstr = headContens.toStdString(); LangType _language = detectLanguageFromTextBegining((const unsigned char *)headstr.data(), headstr.length()); if (_language >= 0 && _language < L_EXTERNAL) { QsciLexer* lexer = editView->createLexer(_language); editView->setLexer(lexer); } } //如果检测到时16进制文件,但是强行以二进制打开,则有限走setUtf8Text。 if (!isHexFile) { editView->setText(text); } else { //20230203有github用户反馈,说存在乱码的文件被截断,所以后续还是不走截断 editView->setText(text); return 6; #if 0 //这种情况,为了不编辑二进制模式,是可能只读的。 if (1 == editView->setUtf8Text(text)) { return 5;//只读模式 } #endif } return 0; } #endif //20230304新增加:不再一行一行读取文件,而是一次性读取到内存,加快文本文件打开时的处理速度 //这里是以文本方式加载文件。但是可能遇到的是二进制文件,里面会做判断 //二进制时hexAsk是否询问,当用户指定打开格式时,不需要询问 //MsgBoxParent::尽量把这个给一下,让MsgBox有图标,不那么难看。 int FileManager::loadFileDataInText(ScintillaEditView* editView, QString filePath, CODE_ID& fileTextCode, RC_LINE_FORM& lineEnd, CCNotePad* callbackObj, bool hexAsk, QWidget* msgBoxParent) { QFile file(filePath); //如果文件不存在,直接返回 if (!file.exists()) { return -1; } QFlags power = QFile::permissions(filePath); //直接以只读的方式打开,至于能不能保存,是保存时需要考虑的问题。 //只需要在保存的时候获取admin权限即可 QIODevice::OpenMode mode; mode = QIODevice::ExistingOnly | QIODevice::ReadOnly; if (!file.open(mode)) { qDebug() << file.error(); #ifdef Q_OS_WIN //打开失败,这里一般是权限问题导致。如果是windows,在外面申请权限后继续处理 if (QFileDevice::OpenError == file.error()) { if (callbackObj != nullptr) { return callbackObj->runAsAdmin(filePath); } return 1; } #endif #ifdef Q_OS_UNIX QMessageBox::warning(msgBoxParent, tr("Error"), tr("Open File %1 failed").arg(filePath)); #endif return 2; } qint64 fileSize = file.size(); //如果文件是空的。检查一下,有可能在临时文件损坏情况下出现,外面需要使用 if (fileSize == 0) { m_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE; file.close(); return 0; } qint64 bufferSizeRequested = fileSize + qMin((qint64)(1 << 20), (qint64)(fileSize / 6)); if (bufferSizeRequested > INT_MAX) { QMessageBox::warning(msgBoxParent, tr("Error"), tr("File is too big to be opened by Notepad--")); file.close(); return 3; } QString fileText; bool isErrorCode = false; fileTextCode = CmpareMode::scanFileOutPut(file, fileTextCode, filePath, fileText, isErrorCode); //如果文件是空的。检查一下,有可能在临时文件损坏情况下出现,外面需要使用 if (fileText.size() == 0) { m_lastErrorCode = ERROR_TYPE::OPEN_EMPTY_FILE; file.close(); return 0; } if (isErrorCode && hexAsk) { //检测到文件很可能是二进制文件,询问用户,是否以二进制加载 int ret = QMessageBox::question(msgBoxParent, tr("Open with Text or Hex? [Exist Garbled Code]"), tr("The file %1 is likely to be binary. Do you want to open it in binary?").arg(filePath), tr("Hex Open"), tr("Text Open"), tr("Cancel")); if (ret == 0) { //16进制打开 file.close(); return 4; } else if (ret == 1) { //继续以文本打开 } else { //取消,不打开 file.close(); return 2; } } //以第一行的换行为文本的换行符。暂时只考虑win unix 。mac \r 已经淘汰,暂时不管 lineEnd = RC_LINE_FORM::UNKNOWN_LINE; int pos = fileText.indexOf("\n"); if (pos >=1) { if (fileText[pos - 1] == QChar('\r')) { lineEnd = RC_LINE_FORM::DOS_LINE; } else { lineEnd = RC_LINE_FORM::UNIX_LINE; } } if (lineEnd == UNKNOWN_LINE) { #ifdef _WIN32 lineEnd = DOS_LINE; #else lineEnd = UNIX_LINE; #endif } file.close(); //优先根据文件后缀来确定其语法风格 LexerInfo lxdata = CCNotePad::getLangLexerIdByFileExt(filePath); if (lxdata.lexerId != L_TXT) { QsciLexer* lexer = editView->createLexer(lxdata.lexerId, lxdata.tagName); editView->setLexer(lexer); } else { //利用前面100个字符,进行一个编程语言的判断 QString headContens = fileText.mid(0, 100); LangType _language = detectLanguage(headContens, filePath); if (_language >= 0 && _language < L_EXTERNAL) { QsciLexer* lexer = editView->createLexer(_language); editView->setLexer(lexer); } } //如果检测到时16进制文件,但是强行以二进制打开,则有限走setUtf8Text。 if (!isErrorCode) { editView->setText(fileText); } else { //20230203有github用户反馈,说存在乱码的文件被截断,所以后续还是不走截断 editView->setText(fileText); return 6; } return 0; } //加载文件,只为查找使用 int FileManager::loadFileForSearch(ScintillaEditView* editView, QString filePath) { QFile file(filePath); QFlags power = QFile::permissions(filePath); QIODevice::OpenMode mode; if (!power.testFlag(QFile::WriteUser)) { //文件不能写 mode = QIODevice::ExistingOnly | QIODevice::ReadOnly; } else { mode = QIODevice::ExistingOnly | QIODevice::ReadWrite; } if (!file.open(mode)) { //qDebug() << file.error(); return 2; } qint64 fileSize = file.size(); qint64 bufferSizeRequested = fileSize + qMin((qint64)(1 << 20), (qint64)(fileSize / 6)); if (bufferSizeRequested > INT_MAX) { file.close(); return 3; } bool existGrbledCode = false; QString outText; CODE_ID fileTextCode = CODE_ID::UNKOWN; fileTextCode = CmpareMode::scanFileOutPut(file, fileTextCode, filePath, outText, existGrbledCode); //20230218 这里必须指明一下编码,否则后续会导致编码被修改 editView->setProperty(Edit_Text_Code, fileTextCode); if (existGrbledCode) { //qDebug() << filePath; file.close(); return 4; } file.close(); editView->setText(outText); return 0; } const int ONE_PAGE_BYTES = 4096; //加载下一页或者上一页。(二进制模式) int FileManager::loadFilePreNextPage(int dir, QString& filePath, HexFileMgr* & hexFileOut) { if (m_hexFileMgr.contains(filePath)) { hexFileOut = m_hexFileMgr.value(filePath); //小于LITTLE_FILE_MAX的已经一次性全部在内存,没有上下页可以翻到 if (hexFileOut->onetimeRead) { return 1; } qint64 pos = hexFileOut->fileOffset; if (dir == 1 && (pos >= 0)) { //上一页 pos = pos - hexFileOut->contentRealSize - ONE_PAGE_BYTES; if (pos < 0) { pos = 0; } } else if(dir == 2 && (pos < hexFileOut->fileSize)) { } else { return 1;//没有上下页,已经是最后一页或最前一页 } char* buf = new char[ONE_PAGE_BYTES+1]; hexFileOut->file->seek(pos); qint64 ret = hexFileOut->file->read(buf, ONE_PAGE_BYTES); if (ret <= 0) { return -1; } else { //读取成功 hexFileOut->fileOffset = hexFileOut->file->pos(); if (hexFileOut->contentBuf != nullptr) { delete[]hexFileOut->contentBuf; } hexFileOut->contentBuf = buf; hexFileOut->contentRealSize = ret; } return 0; } return -1; } const int ONE_PAGE_TEXT_SIZE = 1000 * 1024; //加载下一页或者上一页。(文本模式) //返回值:0表示成功 int FileManager::loadFilePreNextPage(int dir, QString& filePath, TextFileMgr* & textFileOut) { if (m_bigTxtFileMgr.contains(filePath)) { textFileOut = m_bigTxtFileMgr.value(filePath); qint64 pos = textFileOut->fileOffset; int canReadSize = 0; if (dir == 1 && (pos >= 0)) { //读取上一页 pos = pos - textFileOut->contentRealSize - ONE_PAGE_TEXT_SIZE; if (pos < 0) { //前面的内容不足以ONE_PAGE_TEXT_SIZE字节 canReadSize = textFileOut->fileOffset - textFileOut->contentRealSize; if (canReadSize <= 0) { return 1; } pos = 0; } else { canReadSize = ONE_PAGE_TEXT_SIZE; } } else if (dir == 2 && (pos < textFileOut->fileSize)) { canReadSize = ONE_PAGE_TEXT_SIZE; } else { return 1; } char* buf = new char[canReadSize + 1]; buf[canReadSize] = '\0'; textFileOut->file->seek(pos); qint64 ret = textFileOut->file->read(buf, canReadSize); if (ret <= 0) { return -1; } else { //读取成功 //如果是往后读取 if (dir == 2) { //读取了1M的内容,从内容尾部往前查找,找到第一个换行符号。如果没有怎么办?说明是一个巨长的行,不妙 //如果是巨长的行,一行超过ONE_PAGE_TEXT_SIZE(1M),则可能存在单个字符截断的可能。 buf[ret] = '\0'; int preLineEndPos = 0; if (textFileOut->file->pos() < textFileOut->fileSize)//反之已经到尾部了,不需要往前找行首了 { preLineEndPos = findLineEndPos(buf, ret, (CODE_ID)textFileOut->loadWithCode); if (preLineEndPos > 0) { //给后面的字符填\0,让字符串正常结尾\0 buf[ret - preLineEndPos] = '\0'; } } textFileOut->fileOffset = textFileOut->file->pos() -preLineEndPos; if (preLineEndPos > 0) { //文件seek到下一行的首位置。 textFileOut->file->seek(textFileOut->fileOffset); } if (textFileOut->contentBuf != nullptr) { delete[]textFileOut->contentBuf; } textFileOut->contentBuf = buf; textFileOut->contentRealSize = ret - preLineEndPos; } else if (dir == 1) { //如果是往前读取 //读取了1M的内容,从内容前面往后查找,找到第一个换行符号。如果没有怎么办?说明是一个巨长的行,不妙 buf[ret] = '\0'; int preLineStartPos = 0; if (textFileOut->file->pos() > canReadSize)//==canReadSize说明已经在文件最前面了。不在最前面,需要 { preLineStartPos = findLineStartPos(buf, ret, (CODE_ID)textFileOut->loadWithCode); if (preLineStartPos > 0) { //把\n前面的内容去掉,通过内存move的方式。 memmove(buf, buf+preLineStartPos,ret - preLineStartPos); buf[ret - preLineStartPos] = '\0'; } } textFileOut->fileOffset = textFileOut->file->pos(); if (textFileOut->contentBuf != nullptr) { delete[]textFileOut->contentBuf; } textFileOut->contentBuf = buf; textFileOut->contentRealSize = ret - preLineStartPos; } } return 0; } return -1; } //从指定地址开始加载文件 int FileManager::loadFileFromAddr(QString filePath, qint64 addr, HexFileMgr* & hexFileOut) { if (m_hexFileMgr.contains(filePath)) { hexFileOut = m_hexFileMgr.value(filePath); //超过文件大小 if (addr < 0 || addr >= hexFileOut->fileSize) { return -2; } //4K对齐 addr &= 0xfffffffffff0; char* buf = new char[ONE_PAGE_BYTES + 1]; hexFileOut->file->seek(addr); qint64 ret = hexFileOut->file->read(buf, ONE_PAGE_BYTES); if (ret <= 0) { return -1; } else { //读取成功 hexFileOut->fileOffset = hexFileOut->file->pos(); if (hexFileOut->contentBuf != nullptr) { delete[]hexFileOut->contentBuf; } hexFileOut->contentBuf = buf; hexFileOut->contentRealSize = ret; } return 0; } return -1; } //从指定地址开始加载文本文件 int FileManager::loadFileFromAddr(QString filePath, qint64 addr, TextFileMgr* & textFileOut) { if (m_bigTxtFileMgr.contains(filePath)) { textFileOut = m_bigTxtFileMgr.value(filePath); //超过文件大小 if (addr < 0 || addr >= textFileOut->fileSize) { return -2; } char* buf = new char[ONE_PAGE_TEXT_SIZE + 1]; buf[ONE_PAGE_TEXT_SIZE] = '\0'; textFileOut->file->seek(addr); qint64 ret = textFileOut->file->read(buf, ONE_PAGE_TEXT_SIZE); if (ret <= 0)//-1是出错。0也是没有读到 { return -1; } else { int preLineEndPos = 0; buf[ret] = '\0'; if (textFileOut->file->pos() < textFileOut->fileSize)//反之已经到尾部了,不需要往前找行了 { preLineEndPos = findLineEndPos(buf, ret, (CODE_ID)textFileOut->loadWithCode); if (preLineEndPos > 0) { //给后面的字符填\0,让字符串正常结尾\0 buf[ret - preLineEndPos] = '\0'; } } //如果本来就在开头开始,则不需要计算findLineStartPos int preLineStartPos = 0; if (addr == 0) { } else { preLineStartPos = findLineStartPos(buf, ret, (CODE_ID)textFileOut->loadWithCode); if (preLineStartPos > 0 && preLineStartPos < ret) //preLineStartPos如果大于ret,则全部都被跳过了,不会显示,是个特例 { memmove(buf, buf + preLineStartPos, ret - preLineStartPos); buf[ret - preLineStartPos] = '\0'; } else { //如果没做调整,则后续不需要偏移,这里必须preLineStartPos赋0值 preLineStartPos = 0; } } //只需要文件调到上一行的行位即可。 textFileOut->fileOffset = textFileOut->file->pos() - preLineEndPos; if (preLineEndPos > 0) { //文件seek到下一行的首位置。 textFileOut->file->seek(textFileOut->fileOffset); } if (textFileOut->contentBuf != nullptr) { delete[]textFileOut->contentBuf; } textFileOut->contentBuf = buf; textFileOut->contentRealSize = ret - preLineEndPos - preLineStartPos; } return 0; } return -1; } //加载二进制文件。从curPos开始,每行16个byte,每次读取64行,一共1024个byte bool FileManager::loadFileData(QString filePath, HexFileMgr* & hexFileOut) { QFile *file = new QFile(filePath); if (!file->open(QIODevice::ReadOnly | QIODevice::ExistingOnly)) { return false; } int readBytes = 0; if (file->size() <= LITTLE_FILE_MAX) { readBytes = LITTLE_FILE_MAX; } else { //对于大于10K的文件,每次只读4K readBytes = ONE_PAGE_BYTES; } char* buf = new char[readBytes]; qint64 ret = file->read(buf, readBytes); if (ret == -1) { //错误 file->close(); delete file; return false; } else { HexFileMgr* hexFile = nullptr; if (!m_hexFileMgr.contains(filePath)) { hexFile = new HexFileMgr(); hexFile->filePath = filePath; hexFile->file = file; hexFile->fileOffset = file->pos(); hexFile->fileSize = file->size(); hexFile->contentBuf = buf; hexFile->contentRealSize = ret; hexFile->onetimeRead = (file->size() <= LITTLE_FILE_MAX); m_hexFileMgr.insert(filePath, hexFile); } else { //理论上这里永远不走 hexFile = m_hexFileMgr.value(filePath); hexFile->fileOffset = file->pos(); hexFile->contentBuf = buf; hexFile->contentRealSize = ret; hexFile->onetimeRead = (file->size() <= LITTLE_FILE_MAX); } hexFileOut = hexFile; return true; } return false; } //加载大文本文件。从0开始读取ONE_PAGE_TEXT_SIZE 500K的内容 bool FileManager::loadFileData(QString filePath, TextFileMgr* & textFileOut, RC_LINE_FORM & lineEnd) { QFile *file = new QFile(filePath); if (!file->open(QIODevice::ReadOnly | QIODevice::ExistingOnly)) { return false; } int readBytes = ONE_PAGE_TEXT_SIZE; char* buf = new char[ONE_PAGE_TEXT_SIZE+1]; buf[ONE_PAGE_TEXT_SIZE] = '\0'; qint64 ret = file->read(buf, readBytes); if (ret <= 0) { //错误 file->close(); delete file; return false; } else { //读取了1M的内容,从尾部往找,找到第一个换行符号。如果没有怎么办?说明是一个巨长的行,不妙 buf[ret] = '\0'; //检测是否为unicode_le编码,要特殊对待。 //bool isUnLeCode = CmpareMode::isUnicodeLeBomFile((uchar*)buf, 2); CODE_ID code = CmpareMode::getTextFileEncodeType((uchar*)buf, ret, filePath, true); int preLineEndPos = findLineEndPos(buf,ret, code); if (preLineEndPos > 0) { //给后面的字符填\0,让字符串正常结尾\0 buf[ret - preLineEndPos] = '\0'; if (ret - preLineEndPos >= 2) { if (buf[ret - preLineEndPos - 1] == '\n' && buf[ret - preLineEndPos - 2] == '\r') { lineEnd = DOS_LINE; } else if (buf[ret - preLineEndPos - 1] == '\n') { lineEnd = UNIX_LINE; } else if (buf[ret - preLineEndPos - 1] == '\r') { lineEnd = MAC_LINE; } } } TextFileMgr* txtFile = nullptr; if (!m_bigTxtFileMgr.contains(filePath)) { txtFile = new TextFileMgr(); txtFile->loadWithCode = code; txtFile->filePath = filePath; txtFile->file = file; txtFile->fileOffset = file->pos() - preLineEndPos; if (preLineEndPos > 0) { //文件seek到下一行的首位置。下次读的时候,头部肯定是一行的行首啦 file->seek(txtFile->fileOffset); } txtFile->fileSize = file->size(); txtFile->contentBuf = buf; txtFile->contentRealSize = ret - preLineEndPos; m_bigTxtFileMgr.insert(filePath, txtFile); } else { //理论上这里永远不走 assert(false); txtFile = m_bigTxtFileMgr.value(filePath); txtFile->fileOffset = file->pos(); txtFile->contentBuf = buf; txtFile->contentRealSize = ret; } textFileOut = txtFile; return true; } return false; } //返回行的数量 int getLineNumInBuf(char* buf, int size, CODE_ID code = UNKOWN) { int lineNums = 0; for (int i = 0; i < size; ++i) { if (buf[i] == '\n') { ////如果是LE,还要确定\n的下一个是否是\0 if ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\0'))) { continue; } //如果是BE,简单\0\n是否连续存在,不能单纯检查\n,还有确定\n的前一个是不是\0 if ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\0'))) { continue; } ++lineNums; } } //如果没有找到,怀疑是mac格式,按照\r结尾解析 if (lineNums == 0) { for (int i = 0; i < size; ++i) { if (buf[i] == '\r') { ////如果是LE,还要确定\n的前面一个是否是\0 if ((code == UNICODE_LE) && ((i != size - 1) && (buf[i + 1] != '\0'))) { continue; } //如果是BE,简单\0\n是否连续存在,不能单纯检查\n,还有确定\n的前一个是不是\0 if ((code == UNICODE_BE) && ((i != 0) && (buf[i - 1] != '\0'))) { continue; } ++lineNums; } } } return lineNums; } //创建大文件编辑模式的索引文件。0 成功,-1取消 int FileManager::createBlockIndex(BigTextEditFileMgr* txtFile) { //每次filePtr 4M的速度进行建块 qint64 fileSize = txtFile->file->size(); qint64 curOffset = 0; uchar* curPtr = txtFile->filePtr; //检测是否为unicode_le编码,要特殊对待。 //bool isUnLeCode = CmpareMode::isUnicodeLeBomFile(curPtr, 2); CODE_ID code = CmpareMode::getTextFileEncodeType(curPtr, fileSize, txtFile->filePath, true); txtFile->loadWithCode = code; const int blockBytes = BigTextEditFileMgr::BLOCK_SIZE * 1024 * 1024; int lineEndPos = 0; int steps = fileSize / blockBytes; txtFile->blocks.reserve(steps + 10); ProgressWin* loadFileProcessWin = nullptr; if (steps > 200) { loadFileProcessWin = new ProgressWin(nullptr); loadFileProcessWin->setWindowModality(Qt::ApplicationModal); loadFileProcessWin->info(tr("load bit text file tree in progress\nfile size %1, please wait ...").arg(tranFileSize(fileSize))); loadFileProcessWin->setTotalSteps(steps); loadFileProcessWin->show(); } quint32 lineNumStart = 0; quint32 lineNum = 0; while ((curOffset + blockBytes) < fileSize) { BlockIndex bi; bi.fileOffset = curOffset; curOffset += blockBytes; lineEndPos = findLineEndPos((char*)curPtr+ bi.fileOffset, blockBytes, code); bi.fileSize = blockBytes - lineEndPos; lineNum = getLineNumInBuf((char*)curPtr + bi.fileOffset, bi.fileSize, code); curOffset -= lineEndPos; bi.lineNum = lineNum; bi.lineNumStart = lineNumStart; lineNumStart += lineNum; txtFile->blocks.append(bi); if (loadFileProcessWin != nullptr) { if (loadFileProcessWin->isCancel()) { delete loadFileProcessWin; txtFile->blocks.clear(); return -1; } loadFileProcessWin->moveStep(true); } } //最后一块 int lastBlockBytes = fileSize - curOffset; BlockIndex bi; bi.fileOffset = curOffset; curOffset += lastBlockBytes; bi.fileSize = lastBlockBytes; lineNum = getLineNumInBuf((char*)curPtr + bi.fileOffset, bi.fileSize); bi.lineNum = lineNum; bi.lineNumStart = lineNumStart; txtFile->blocks.append(bi); if (loadFileProcessWin != nullptr) { delete loadFileProcessWin; } return 0; } //加载大文件,以索引的方式打开大文件 bool FileManager::loadFileDataWithIndex(QString filePath, BigTextEditFileMgr*& textFileOut) { QFile* file = new QFile(filePath); file->open(QIODevice::ReadOnly); uchar* filePtr = file->map(0, file->size()); BigTextEditFileMgr* txtFile = nullptr; if (!m_bigTxtEditFileMgr.contains(filePath)) { txtFile = new BigTextEditFileMgr(); txtFile->filePath = filePath; txtFile->file = file; txtFile->filePtr = filePtr; textFileOut = txtFile; if (-1 == createBlockIndex(txtFile)) { //取消。 delete txtFile; txtFile = nullptr; return false; } m_bigTxtEditFileMgr.insert(filePath, txtFile); } else { //理论上这里永远不走 assert(false); } return true; } BigTextEditFileMgr* FileManager::getBigFileEditMgr(QString filepath) { if (m_bigTxtEditFileMgr.contains(filepath)) { return m_bigTxtEditFileMgr.value(filepath); } return nullptr; } TextFileMgr* FileManager::getSuperBigFileMgr(QString filepath) { if (m_bigTxtFileMgr.contains(filepath)) { return m_bigTxtFileMgr.value(filepath); } return nullptr; } int FileManager::getBigFileBlockId(QString filepath, quint32 lineNum) { BigTextEditFileMgr* v = m_bigTxtEditFileMgr.value(filepath); for (int i = 0, s = v->blocks.size(); i < s; ++i) { const BlockIndex& k = v->blocks.at(i); if (lineNum >= k.lineNumStart && lineNum < (k.lineNumStart + k.lineNum)) { return i; } } return -1; } HexFileMgr * FileManager::getHexFileHand(QString filepath) { if (m_hexFileMgr.contains(filepath)) { return m_hexFileMgr.value(filepath); } return nullptr; } void FileManager::closeHexFileHand(QString filepath) { if (m_hexFileMgr.contains(filepath)) { HexFileMgr* v = m_hexFileMgr.value(filepath); v->destory(); delete v; m_hexFileMgr.remove(filepath); } } void FileManager::closeSuperBigTextFileHand(QString filepath) { if (m_bigTxtFileMgr.contains(filepath)) { TextFileMgr* v = m_bigTxtFileMgr.value(filepath); v->destory(); delete v; m_bigTxtFileMgr.remove(filepath); } } void FileManager::closeBigTextRoFileHand(QString filepath) { if (m_bigTxtEditFileMgr.contains(filepath)) { BigTextEditFileMgr* v = m_bigTxtEditFileMgr.value(filepath); v->destory(); delete v; m_bigTxtEditFileMgr.remove(filepath); } } //初步检查文件的编程语言。两个标准: 1 文件头部标签 2 文件特定名称 LangType detectLanguage(QString& headContent, QString& filepath) { struct FirstLineLanguages { QString pattern; LangType lang; }; const size_t FIRST_LINE_LANGUAGES = 5; FirstLineLanguages languages[FIRST_LINE_LANGUAGES] = { { " #include #include #include class ScintillaEditView; class ScintillaHexEditView; //小于100k的文件一次性全部读取完毕 const int LITTLE_FILE_MAX = 1024000; enum ERROR_TYPE { NONE_ERROR=-1, OPEN_EMPTY_FILE=0, }; struct NewFileIdMgr { int index; ScintillaEditView* editView; NewFileIdMgr(int index_, ScintillaEditView* editView_):index(index_), editView(editView_) { } }; //管理二进制文件的信息 struct HexFileMgr { QString filePath; QFile* file; qint64 fileOffset; qint64 fileSize; qint16 lineSize;//每次读取多少行,默认为64行,没行16个字符 char* contentBuf; int contentRealSize; bool onetimeRead; //是否一次性全部读取到内存。小于等于LITTLE_FILE_MAX的才会全部读取 HexFileMgr() :file(nullptr), fileOffset(0), lineSize(64), fileSize(0), contentBuf(nullptr), contentRealSize(0),onetimeRead(false) { } void destory() { if (file != nullptr) { file->close(); delete file; file = nullptr; } if (contentBuf != nullptr) { delete[]contentBuf; contentBuf = nullptr; } } private: HexFileMgr& operator=(const HexFileMgr&) = delete; HexFileMgr(const HexFileMgr&) = delete; }; //管理大文本文件的信息 struct TextFileMgr { QString filePath; QFile* file; qint64 fileOffset; qint64 fileSize; qint16 lineSize;//每次读取多少行,默认每次读取1024行。但是最大不超过1M的内容。 char* contentBuf; int contentRealSize; int loadWithCode; int lineEndType;//行尾类型,win linux mac TextFileMgr() :file(nullptr), fileOffset(0), lineSize(64), fileSize(0), contentBuf(nullptr), contentRealSize(0), loadWithCode(CODE_ID::UNKOWN),lineEndType(RC_LINE_FORM::UNKNOWN_LINE) { } void destory() { if (file != nullptr) { file->close(); delete file; file = nullptr; } if (contentBuf != nullptr) { delete[]contentBuf; contentBuf = nullptr; } } private: TextFileMgr& operator=(const TextFileMgr&) = delete; TextFileMgr(const TextFileMgr&) = delete; }; struct BlockIndex { qint64 fileOffset;//块的开始地址 quint32 fileSize;//块的大小 quint32 lineNumStart;//块中行号的开始值 quint32 lineNum;//块中的行数量 }; //管理大文本文件,可以编辑的信息 struct BigTextEditFileMgr { QString filePath; QFile* file; uchar* filePtr;//使用的是文件映射的方式打开 quint32 m_curBlockIndex; //当前展示中的块索引序号 int loadWithCode; //以何种编码来加载解析文件。默认UTF8 int lineEndType;//行尾类型,win linux mac static const qint16 BLOCK_SIZE = 1;//块大小,单位M。开始是4M,发现块越大,行越多,那么在一块中定位行的位置越慢 QVector blocks;//每一块的索引。打开文件的时候,需要建立该索引 BigTextEditFileMgr():filePtr(nullptr), file(nullptr), m_curBlockIndex(0), loadWithCode(CODE_ID::UNKOWN), lineEndType(RC_LINE_FORM::UNKNOWN_LINE) { } void destory() { if (filePtr != nullptr) { if (file != nullptr) { file->unmap(filePtr); file->close(); delete file; file = nullptr; } filePtr = nullptr; } } private: BigTextEditFileMgr& operator=(const TextFileMgr&) = delete; BigTextEditFileMgr(const TextFileMgr&) = delete; }; class CCNotePad; class FileManager:public QObject { Q_OBJECT public: ScintillaEditView* newEmptyDocument(bool isBigText = false); ScintillaHexEditView * newEmptyHexDocument(); int getNextNewFileId(); void insertNewFileNode(NewFileIdMgr node); void delNewFileNode(int fileIndex); int loadFileDataInTextFromOffset(ScintillaEditView* editView, QString filePath, CODE_ID fileTextCode, QWidget* msgBoxParent, quint64 startReadSize); //下面这个是旧函数,之前对比时候用的。 //int loadFileDataInText(ScintillaEditView * editView, QString filePath, CODE_ID & fileTextCode, RC_LINE_FORM &lineEnd, CCNotePad * callbackObj=nullptr, bool hexAsk = true, QWidget* MsgBoxParent=nullptr); int loadFileDataInText(ScintillaEditView* editView, QString filePath, CODE_ID& fileTextCode, RC_LINE_FORM& lineEnd, CCNotePad* callbackObj = nullptr, bool hexAsk = true, QWidget* msgBoxParent = nullptr); int loadFileForSearch(ScintillaEditView * editView, QString filePath); //int loadFileData(ScintillaEditView * editView, QString filePath, CODE_ID & fileTextCode, RC_LINE_FORM & lineEnd); int loadFilePreNextPage(int dir, QString & filePath, HexFileMgr *& hexFileOut); int loadFilePreNextPage(int dir, QString & filePath, TextFileMgr *& hexFileOut); int loadFileFromAddr(QString filePath, qint64 addr, HexFileMgr *& hexFileOut); int loadFileFromAddr(QString filePath, qint64 addr, TextFileMgr *& hexFileOut); bool loadFileData(QString filePath, HexFileMgr * & hexFileOut); bool loadFileData(QString filePath, TextFileMgr *& textFileOut, RC_LINE_FORM & lineEnd); bool loadFileDataWithIndex(QString filePath, BigTextEditFileMgr*& textFileOut); HexFileMgr* getHexFileHand(QString filepath); BigTextEditFileMgr* getBigFileEditMgr(QString filepath); TextFileMgr* getSuperBigFileMgr(QString filepath); int getBigFileBlockId(QString filepath, quint32 lineNum); void closeHexFileHand(QString filepath); void closeSuperBigTextFileHand(QString filepath); void closeBigTextRoFileHand(QString filepath); static FileManager& getInstance() { static FileManager instance; return instance; }; ERROR_TYPE getLastErrorCode() { return m_lastErrorCode; } void resetLastErrorCode() { m_lastErrorCode = NONE_ERROR; } private: FileManager(); ~FileManager(); int createBlockIndex(BigTextEditFileMgr* txtFile); FileManager(const FileManager&) = delete; FileManager& operator=(const FileManager&) = delete; QList m_newFileIdList; QMap m_hexFileMgr; QMap m_bigTxtFileMgr; QMap m_bigTxtEditFileMgr; ERROR_TYPE m_lastErrorCode; }; ================================================ FILE: src/closeDlg.cpp ================================================ #include "closeDlg.h" closeDlg::closeDlg(QWidget *parent): QDialog(parent) { ui.setupUi(this); } closeDlg::~closeDlg() { } void closeDlg::save() { if (ui.leftBox->isChecked() && ui.rightBox->isChecked()) { done(3); } else if (ui.leftBox->isChecked()) { done(1); } else if (ui.rightBox->isChecked()) { done(2); } else { done(0); } } void closeDlg::discard() { done(-1); } void closeDlg::cancel() { done(-2); } ================================================ FILE: src/closeDlg.h ================================================ #pragma once #include #include "ui_closeDlg.h" class closeDlg : public QDialog { Q_OBJECT public: closeDlg(QWidget *parent = Q_NULLPTR); virtual ~closeDlg(); public slots: void save(); void discard(); void cancel(); private: Ui::closeDlg ui; }; ================================================ FILE: src/closeDlg.ui ================================================ closeDlg 0 0 475 164 0 0 475 164 closeDlg :/Resources/img/main.png:/Resources/img/main.png Qt::Horizontal QSizePolicy::Fixed 50 15 Do you want to save your changes? Save Left Document? true Save Right Document? true Qt::Horizontal 40 20 Qt::Vertical QSizePolicy::Fixed 17 15 Qt::Horizontal 40 20 0 0 100 30 Save Selected 0 0 100 30 Discard 0 0 100 30 Cancel saveBt clicked() closeDlg save() 202 124 237 81 discardBt clicked() closeDlg discard() 308 124 237 81 cancelBt clicked() closeDlg cancel() 414 124 237 81 save() cancel() discard() ================================================ FILE: src/columnedit.cpp ================================================ #include "columnedit.h" #include "scintillaeditview.h" ColumnEdit::ColumnEdit(QWidget *parent) : QWidget(parent), m_curEditWin(nullptr), m_editTabWidget(nullptr) { ui.setupUi(this); connect(ui.addPrefix, &QCheckBox::stateChanged, this, &ColumnEdit::slot_addPrefix); connect(ui.is16, &QRadioButton::clicked, this, &ColumnEdit::slot_bigChar); } ColumnEdit::~ColumnEdit() { } void ColumnEdit::slot_insertTextEnable(bool check) { if (check) { if (ui.numGroupBox->isChecked()) { ui.numGroupBox->setChecked(!check); } } } void ColumnEdit::slot_insertNumEnable(bool check) { if (check) { if (ui.textGroupBox->isChecked()) { ui.textGroupBox->setChecked(!check); } } } void ColumnEdit::slot_addPrefix(int s) { if (s == Qt::Checked) { ui.prefix->setEnabled(true); } else { ui.prefix->setEnabled(false); } } void ColumnEdit::slot_bigChar(bool isCheck) { ui.capital->setEnabled(isCheck); } //Զǰڵ״̬ QWidget* ColumnEdit::autoAdjustCurrentEditWin() { QWidget* pw = m_editTabWidget->currentWidget(); if (m_curEditWin != pw) { m_curEditWin = pw; } return pw; } void ColumnEdit::setTabWidget(QTabWidget *editTabWidget) { m_editTabWidget = editTabWidget; } void ColumnEdit::slot_ok() { autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(m_curEditWin); if (pEdit == nullptr || pEdit->isReadOnly()) { QApplication::beep(); return; } QString text; bool isNum = false; int numType = 10; int initNum = 0; int inc = ui.incNum->value(); int repeNum = ui.repeNum->value(); bool isAddPrefix = ui.addPrefix->isChecked(); QString prefix = ui.prefix->text(); bool isCapital = ui.capital->isChecked(); //Dzıģʽ if (ui.textGroupBox->isChecked()) { text = ui.inputText->text(); } else { isNum = true; text = ui.initNum->text(); bool ok = false; if (ui.is10->isChecked()) { numType = 10; } else if (ui.is16->isChecked()) { numType = 16; } else if (ui.is8->isChecked()) { numType = 8; } else if (ui.is2->isChecked()) { numType = 2; } int num = text.toInt(&ok, 10); initNum = num; if (ok) { text = QString::number(num, numType); if (isAddPrefix) { text = prefix + text; } } else { //ҪӸʾ QApplication::beep(); return; } } pEdit->execute(SCI_BEGINUNDOACTION); if (ui.textGroupBox->isChecked()) { if (pEdit->execute(SCI_SELECTIONISRECTANGLE) || pEdit->execute(SCI_GETSELECTIONS) > 1) { ColumnModeInfos colInfos = pEdit->getColumnModeSelectInfo(); std::sort(colInfos.begin(), colInfos.end(), SortInPositionOrder()); QByteArray bytes = text.toUtf8(); pEdit->columnReplace(colInfos, bytes); std::sort(colInfos.begin(), colInfos.end(), SortInSelectOrder()); pEdit->setMultiSelections(colInfos); return; } } else { if (pEdit->execute(SCI_SELECTIONISRECTANGLE) || pEdit->execute(SCI_GETSELECTIONS) > 1) { ColumnModeInfos colInfos = pEdit->getColumnModeSelectInfo(); // If there is no column mode info available, no need to do anything // If required a message can be shown to user, that select column properly or something similar if (colInfos.size() > 0) { std::sort(colInfos.begin(), colInfos.end(), SortInPositionOrder()); QByteArray bytes; if (isAddPrefix) { bytes = prefix.toUtf8(); } pEdit->columnReplace(colInfos, initNum, inc, repeNum, numType, isCapital, bytes); std::sort(colInfos.begin(), colInfos.end(), SortInSelectOrder()); pEdit->setMultiSelections(colInfos); } return; } } auto cursorPos = pEdit->execute(SCI_GETCURRENTPOS); auto cursorCol = pEdit->execute(SCI_GETCOLUMN, cursorPos); auto cursorLine = pEdit->execute(SCI_LINEFROMPOSITION, cursorPos); auto endPos = pEdit->execute(SCI_GETLENGTH); auto endLine = pEdit->execute(SCI_LINEFROMPOSITION, endPos); QByteArray lineData; int rn = repeNum; for (size_t i = cursorLine; i <= static_cast(endLine); ++i) { auto lineBegin = pEdit->execute(SCI_POSITIONFROMLINE, i); auto lineEnd = pEdit->execute(SCI_GETLINEENDPOSITION, i); auto lineEndCol = pEdit->execute(SCI_GETCOLUMN, lineEnd); auto lineLen = lineEnd - lineBegin; lineData.resize(lineLen); Sci_TextRange lineText; lineText.chrg.cpMin = static_cast(lineBegin); lineText.chrg.cpMax = static_cast(lineEnd); lineText.lpstrText = lineData.data(); //ȡԭʼе pEdit->SendScintilla(SCI_GETTEXTRANGE, 0, &lineText); if (lineEndCol < cursorCol) { QByteArray s_space(cursorCol - lineEndCol, ' '); lineData.append(s_space); lineData.append(text.toUtf8()); } else { int posAbs2Start = pEdit->execute(SCI_FINDCOLUMN, i, cursorCol); int posRelative2Start = posAbs2Start - lineBegin; lineData.insert(posRelative2Start, text.toUtf8()); } pEdit->SendScintilla(SCI_SETTARGETRANGE, lineBegin, lineEnd); pEdit->SendScintilla(SCI_REPLACETARGET, lineData.size(), lineData.data()); if (isNum) { --rn; if (rn > 0) { } else { rn = repeNum; initNum += inc; } if (numType != 16) { text = QString::number(initNum, numType); } else { if (isCapital) { text = QString::number(initNum, numType).toUpper(); } else { text = QString::number(initNum, numType); } } if (isAddPrefix) { text = prefix + text; } } } pEdit->execute(SCI_ENDUNDOACTION); } ================================================ FILE: src/columnedit.h ================================================ #pragma once #include #include #include "ui_columnedit.h" class ColumnEdit : public QWidget { Q_OBJECT public: ColumnEdit(QWidget *parent = Q_NULLPTR); ~ColumnEdit(); void setTabWidget(QTabWidget * editTabWidget); private: QWidget * autoAdjustCurrentEditWin(); private slots: void slot_insertNumEnable(bool check); void slot_insertTextEnable(bool check); void slot_addPrefix(int s); void slot_bigChar(bool isCheck); void slot_ok(); private: Ui::ColumnEdit ui; QWidget* m_curEditWin; QTabWidget *m_editTabWidget; }; ================================================ FILE: src/columnedit.ui ================================================ ColumnEdit 0 0 337 316 350 330 ColumnEdit :/Resources/edit/global/ndd.ico:/Resources/edit/global/ndd.ico 3 3 3 3 Insert Text true 1024 Ok Close Insert Num true false 9 20 Initial value: 1 11 1 Qt::Horizontal 40 20 20 increment: 50 0 -100 Qt::Horizontal 40 20 20 Repetitions: 50 0 1 Qt::Horizontal 40 20 20 prefix string: false Qt::Horizontal 40 20 Format Decimal true Qt::Horizontal 40 20 Hex false Capital true Octal Binary inputText returnPressed() ColumnEdit slot_ok() 143 53 253 -4 ok clicked() ColumnEdit slot_ok() 290 25 219 0 textGroupBox clicked(bool) ColumnEdit slot_insertTextEnable(bool) 17 16 325 -6 numGroupBox clicked(bool) ColumnEdit slot_insertNumEnable(bool) 33 86 308 80 close clicked() ColumnEdit close() 319 63 339 45 slot_ok() slot_insertTextEnable(bool) slot_insertNumEnable(bool) ================================================ FILE: src/command.cpp ================================================ #include "command.h" ================================================ FILE: src/command.h ================================================ #pragma once #include enum ChangeDire { NONE_CHANGE=-1, LEFT_CHANGE=0, RIGHT_CHANGE, BOTH_CHANGE, }; class Command { public: virtual ~Command() = default; //获取当前命令的序号,同一个序号的,需要逐渐一起执行 virtual int getOperIndex() = 0; virtual void undo() = 0; virtual QString desc() = 0; //获取左右是否变化的状态。 ChangeDire getChangeStatus() { return m_changeStaus; } void setChangeStatus(ChangeDire c) { m_changeStaus = c; } protected: ChangeDire m_changeStaus; }; ================================================ FILE: src/common.cpp ================================================ #include "common.h" int nbDigitsFromNbLines(size_t nbLines) { int nbDigits = 0; // minimum number of digit should be 4 if (nbLines < 10) nbDigits = 1; else if (nbLines < 100) nbDigits = 2; else if (nbLines < 1000) nbDigits = 3; else if (nbLines < 10000) nbDigits = 4; else if (nbLines < 100000) nbDigits = 5; else if (nbLines < 1000000) nbDigits = 6; else // rare case { nbDigits = 7; nbLines /= 1000000; while (nbLines) { nbLines /= 10; ++nbDigits; } } return nbDigits; } ================================================ FILE: src/common.h ================================================ #pragma once #include #include const int ResultItemPos = Qt::UserRole + 1;//每一条查找结果,section下面的子级别 const int ResultItemEditor = Qt::UserRole + 2;//查找结果的一个总节点的属性字段,section级别 const int ResultWhatFind = Qt::UserRole + 3; const int ResultItemRoot = Qt::UserRole + 4; //一次查找结果的根节点的属性字段,多个section的父级别 const int ResultItemEditorFilePath = Qt::UserRole + 5; const int ResultItemLen = Qt::UserRole + 6; const int ResultItemDesc = Qt::UserRole + 7; //打开模式。1 文本 2 二进制 3 大文本只读 4 文本只读 static const char* Open_Attr = "openid"; #if 0 enum LangType { L_TEXT, L_PHP, L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC, \ L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER, \ 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_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP, \ L_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77, L_BAANC, L_SREC, \ L_IHEX, L_TEHEX, L_SWIFT, \ L_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \ L_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \ L_MMIXAL, L_NIM, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \ L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG, L_TYPESCRIPT, \ L_EDIFACT, L_MARKDOWN, L_OCTAVE, L_PO, L_POV, L_IDL, L_GO, L_TXT,\ // 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 = 100, }; #endif int nbDigitsFromNbLines(size_t nbLines); class LexerNode { public: QAction* pAct; LangType index; LexerNode():pAct(nullptr), index(L_TXT) { } }; ================================================ FILE: src/ctipwin.cpp ================================================ #include "ctipwin.h" #include CTipWin::CTipWin(QWidget *parent) : QWidget(parent) { ui.setupUi(this); this->setWindowFlags(Qt::ToolTip); QPalette palette(this->palette()); palette.setColor(QPalette::Window, QColor(0xfff29d)); this->setPalette(palette); } CTipWin::~CTipWin() { } void CTipWin::setTipText(QString text) { ui.labelInfo->setText(text); } void CTipWin::showMsg(int sec) { show(); QTimer::singleShot(sec, this, SLOT(slot_delayClose())); } void CTipWin::slot_delayClose() { close(); } void CTipWin::showTips(QWidget* parent, QString text, int sec, bool isMousePos) { if (parent != nullptr) { CTipWin* pWin = new CTipWin(); pWin->setTipText(text); pWin->setAttribute(Qt::WA_DeleteOnClose); pWin->showMsg(sec); if (!isMousePos) { QPoint pos = parent->pos(); QSize size = parent->size(); QPoint newPos(pos.x() + 10, pos.y() + size.height() - 20); pWin->move(newPos); } else { pWin->move(parent->cursor().pos()); } } } ================================================ FILE: src/ctipwin.h ================================================ #pragma once #include #include "ui_ctipwin.h" class CTipWin : public QWidget { Q_OBJECT public: CTipWin(QWidget *parent = Q_NULLPTR); ~CTipWin(); void setTipText(QString text); void showMsg(int sec = 2000); static void showTips(QWidget* parent, QString text, int sec, bool isMousePos = false); private slots: void slot_delayClose(); private: Ui::CTipWin ui; }; ================================================ FILE: src/ctipwin.ui ================================================ CTipWin 0 0 295 35 16777215 80 Arial 75 true Qt::DefaultContextMenu Msg Tips 3 3 3 3 false Arial 12 75 true ================================================ FILE: src/dectfilechanges.cpp ================================================ #include "dectfilechanges.h" #ifdef WIN32 DectFileChanges::DectFileChanges():m_lastFileSize(0), m_curFileSize(0) { _szFile = NULL; _dwNotifyFilter = 0; } DectFileChanges::~DectFileChanges() { } BOOL DectFileChanges::DetectChanges() { WIN32_FILE_ATTRIBUTE_DATA fInfo; BOOL rValue = FALSE; ::GetFileAttributesEx(_szFile, GetFileExInfoStandard, &fInfo); if ((_dwNotifyFilter & FILE_NOTIFY_CHANGE_SIZE) && (fInfo.nFileSizeHigh != _lastFileInfo.nFileSizeHigh || fInfo.nFileSizeLow != _lastFileInfo.nFileSizeLow)) { rValue = TRUE; } if ((_dwNotifyFilter & FILE_NOTIFY_CHANGE_LAST_WRITE) && (fInfo.ftLastWriteTime.dwHighDateTime != _lastFileInfo.ftLastWriteTime.dwHighDateTime || fInfo.ftLastWriteTime.dwLowDateTime != _lastFileInfo.ftLastWriteTime.dwLowDateTime)) { rValue = TRUE; } if (rValue) { m_lastFileSize = getFileSize(_lastFileInfo); } _lastFileInfo = fInfo; if (rValue) { m_curFileSize = getFileSize(_lastFileInfo); } return rValue; } void DectFileChanges::AddFile(LPCTSTR szFile, DWORD dwNotifyFilter) { _szFile = szFile; _dwNotifyFilter = dwNotifyFilter; ::GetFileAttributesEx(szFile, GetFileExInfoStandard, &_lastFileInfo); } void DectFileChanges::Terminate() { _szFile = NULL; _dwNotifyFilter = 0; } quint64 DectFileChanges::getFileSize(WIN32_FILE_ATTRIBUTE_DATA& data) { quint64 fileSize = data.nFileSizeHigh; fileSize = (fileSize << 32); fileSize += data.nFileSizeLow; return fileSize; } void DectFileChanges::getDiffFileSize(quint64& lastSize, quint64& curSize) { lastSize = m_lastFileSize; curSize = m_curFileSize; } #endif ================================================ FILE: src/dectfilechanges.h ================================================ #pragma once #ifdef WIN32 #include #ifndef VC_EXTRALEAN #define VC_EXTRALEAN #endif //NOMINMAX֤std::minظ #define NOMINMAX #include #include class DectFileChanges { public: DectFileChanges(); ~DectFileChanges(); void AddFile(LPCTSTR szDirectory, DWORD dwNotifyFilter); BOOL DetectChanges(); void Terminate(); void getDiffFileSize(quint64& lastSize, quint64& curSize); private: quint64 getFileSize(WIN32_FILE_ATTRIBUTE_DATA& data); private: LPCTSTR _szFile = nullptr; DWORD _dwNotifyFilter = 0; WIN32_FILE_ATTRIBUTE_DATA _lastFileInfo = {}; quint64 m_lastFileSize; quint64 m_curFileSize; }; #endif ================================================ FILE: src/diff.h ================================================  #ifndef DIFF_H_ #define DIFF_H_ #ifdef __cplusplus extern "C" { #endif extern __declspec (dllimport) int work (int argc, char **argv); #ifdef __cplusplus } #endif #endif ================================================ FILE: src/dirfindfile.cpp ================================================ #include "dirfindfile.h" DirFindFile::DirFindFile(int dire, QWidget *parent): QWidget(parent) { ui.setupUi(this); if (dire == 0) { ui.findLeftRadioButton->setChecked(true); } else if (dire == 1) { ui.findRightRadioButton->setChecked(true); } } DirFindFile::~DirFindFile() { } void DirFindFile::slot_findPrev() { QString name = ui.fileNameLineEdit->text(); name = name.trimmed(); int dire = (ui.findLeftRadioButton->isChecked() ? 0:1); bool sens = ui.caseSensitiveCheckBox->isChecked(); emit signFindFile(dire, 0, name, sens); } void DirFindFile::slot_findNext() { QString name = ui.fileNameLineEdit->text(); name = name.trimmed(); int dire = (ui.findLeftRadioButton->isChecked() ? 0 : 1); bool sens = ui.caseSensitiveCheckBox->isChecked(); emit signFindFile(dire, 1, name, sens); } ================================================ FILE: src/dirfindfile.h ================================================ #pragma once #include #include "ui_dirfindfile.h" class DirFindFile : public QWidget { Q_OBJECT public: DirFindFile(int dire, QWidget* parent = Q_NULLPTR); virtual ~DirFindFile(); signals: void signFindFile(int dire, int prevOrNext, QString fileName, bool caseSenstive); public slots: void slot_findPrev(); void slot_findNext(); private: Ui::DirFindFile ui; }; ================================================ FILE: src/dirfindfile.ui ================================================ DirFindFile 0 0 389 165 0 0 400 200 DirFindFile :/Resources/img/main.png:/Resources/img/main.png Find Options Find File Name find in left true find in right case sensitive true Find Prev Find Next Close pushPrevButton clicked() DirFindFile slot_findPrev() 88 129 126 156 pushNextButton clicked() DirFindFile slot_findNext() 227 124 259 161 pushCloseButton clicked() DirFindFile hide() 341 123 387 107 slot_findPrev() slot_findNext() ================================================ FILE: src/doctypelistview.cpp ================================================ #include "doctypelistview.h" #include #include #include #include #include "nddsetting.h" //已知的文档类型 QMap* DocTypeListView::s_supportFileExts = nullptr; QStringList DocTypeListView::s_supportFileExt = (QStringList ()<< "common" << "ms int/inf" << "c,c++,objc,go" << "java,c#,pascal" \ << "web script" << "public script" << "property script" << "fortran,Tex,SQL" << "misc" \ << "Qt" << "customize"); QMap* DocTypeListView::s_binFileExts = nullptr; QStringList DocTypeListView::s_extBindFileType; QStringList HEX_FILE_EXTS_LIST = (QStringList() << "exe" << "dll" << "png" << "jpg" << "doc" << "docx" << "ppt" << "pptx" \ << "zip" << "gz" << "rar" << "pdf" << "7z" << "lib" << "so" << "db" << "obj" << "bmp" << "ico" << "qm" << "icns" << "jpeg" << "res" << "exp" << "ilk" << "deb"); QStringList INIT_EXTS_TYPES = (QStringList() << ".txt:.log" << ".ini:.inf" << ".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod" \ << ".java:.cs:.pas:.pp:.inc" << ".html:.htm:.shtml:.shtm:.hta:.asp:.aspx:.css:.js:.json:.jsm:.jsp:.php:.php3:.php4:.php5:.phps:.phpt:.phtml:.xml:.xhtml:.xht:.xul:.kml:.xaml:.xsml" \ << ".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py" << ".rc:.as:.mx:.vb:.vbs" << ".f:.for:.f90:.f95:.f2k:.tex:.sql" \ << "nfo:.mak" << ".ui:.pro:.pri:.qrc:.qss"); //20220402发现bug:在1.11中引入深入对比后,会在子线程中调用这个初始化函数。引发了后续的sqlite错误。 //务必要保证这些实例和数据库对象,是在主线程中创建的。 void DocTypeListView::initSupportFileTypes() { assert(QThread::currentThread() == qApp->thread()); if (s_supportFileExts == nullptr) { s_supportFileExts = new QMap; s_binFileExts = new QMap; for (int i = 0; i < HEX_FILE_EXTS_LIST.size(); ++i) { s_binFileExts->insert(HEX_FILE_EXTS_LIST.at(i),true); } } else { //已经初始化过了。避免多次 return; } //如果数据库不存在,则使用默认值来进行初始化 if (!NddSetting::isDbExist()) { QStringList types = INIT_EXTS_TYPES; #if 0 types << ".txt:.log" << ".ini:.inf" << ".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod" \ << ".java:.cs:.pas:.pp:.inc" << ".html:.htm:.shtml:.shtm:.hta:.asp:.aspx:.css:.js:.json:.jsm:.jsp:.php:.php3:.php4:.php5:.phps:.phpt:.phtml:.xml:.xhtml:.xht:.xul:.kml:.xaml:.xsml" \ << ".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py" << ".rc:.as:.mx:.vb:.vbs" << ".f:.for:.f90:.f95:.f2k:.tex:.sql" \ << "nfo:.mak" << ".ui:.pro:.pri:.qrc"; #endif QString typeStr = types.join(":"); QStringList typeList = typeStr.split(":"); for (QString var : typeList) { if (!var.isEmpty()) { s_supportFileExts->insert(var.mid(1), true); } } s_extBindFileType << types << ""; #if 0 s_extBindFileType << ".txt:.log" << ".ini:.inf" << ".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod" \ << ".java:.cs:.pas:.pp:.inc" << ".html:.htm:.shtml:.shtm:.hta:.asp:.aspx:.css:.js:.json:.jsm:.jsp:.php:.php3:.php4:.php5:.phps:.phpt:.phtml:.xml:.xhtml:.xht:.xul:.kml:.xaml:.xsml" \ << ".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py" << ".rc:.as:.mx:.vb:.vbs" << ".f:.for:.f90:.f95:.f2k:.tex:.sql" \ << ".nfo:.mak" << ".ui:.pro:.pri:.qrc" << ""; #endif } else { //从数据库动态读取配置 QString key("typelist"); QString typeList = NddSetting::getKeyValueFromSets(key); if (typeList.isEmpty()) { //没有读取到,这是第一次启动软件,没有写入导致。在这里进行第一次的写入 QStringList types = INIT_EXTS_TYPES; types << ""; #if 0 types << ".txt:.log" << ".ini:.inf" << ".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod" \ << ".java:.cs:.pas:.pp:.inc" << ".html:.htm:.shtml:.shtm:.hta:.asp:.aspx:.css:.js:.json:.jsm:.jsp:.php:.php3:.php4:.php5:.phps:.phpt:.phtml:.xml:.xhtml:.xht:.xul:.kml:.xaml:.xsml" \ << ".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py" << ".rc:.as:.mx:.vb:.vbs" << ".f:.for:.f90:.f95:.f2k:.tex:.sql" \ << ".nfo:.mak" << ".ui:.pro:.pri:.qrc" << ""; #endif s_extBindFileType = types; QString typeStr = types.join("|"); NddSetting::addKeyValueToSets(key, typeStr); typeStr.replace('|',':'); QStringList list = typeStr.split(":"); for (QString var : list) { if (!var.isEmpty()) { s_supportFileExts->insert(var.mid(1), true); } } } else { //从数据库中读取的内容进行动态配置 s_extBindFileType = typeList.split("|"); typeList.replace('|', ':'); QStringList list = typeList.split(":"); for (QString var : list) { if (!var.isEmpty()) { s_supportFileExts->insert(var.mid(1), true); } } } } } //是否支持文件后缀名,注意ext必须要带.xxx格式 bool DocTypeListView::isSupportExt(QString ext) { if (s_supportFileExts == nullptr) { initSupportFileTypes(); } return s_supportFileExts->contains(ext); } //是否是二进制格式的后缀文件 bool DocTypeListView::isHexExt(QString ext) { if (s_binFileExts == nullptr) { initSupportFileTypes(); } return s_binFileExts->contains(ext); } DocTypeListView::DocTypeListView(QWidget *parent) : QWidget(parent),m_isDirty(false) { ui.setupUi(this); if (s_supportFileExt.isEmpty()) { s_supportFileExt << "common" << "ms int/inf" << "c,c++,objc,go" << "java,c#,pascal" \ << "web script" << "public script" << "property script" << "fortran,Tex,SQL" << "misc" \ << "Qt" << "customize"; } initSupportFileTypes(); #if 0 if (s_extBindFileType.isEmpty()) { s_extBindFileType << ".txt:.log" << ".ini:.inf" << ".h:.hh:.hpp:.hxx:.c:.cpp:.cxx:.cc:.m:.mm:.vcxproj:.vcproj:.props:vsprops:mainfest:.go:.mod" \ << ".java:.cs:.pas:.pp:.inc" << ".html:.htm:.shtml:.shtm:.hta:.asp:.aspx:.css:js:.json:.jsm:.jsp:.php:.php3:.php4:.php5:.phps:.phpt:.phtml:.xml:.xhtml:.xht:.xul:.kml:.xaml:.xsml" \ << ".sh:.bsh:.bash:.bat:.cmd:.nsi:.nsh:.lua:.pl:.pm:.py" << ".rc:.as:.mx:.vb:.vbs" << ".f:.for:.f90:.f95:.f2k:.tex:.sql" \ << ".nfo:.mak" << ".ui:.pro:.pri:.qrc" << ""; } #endif ui.extListWidget->addItems(s_supportFileExt); connect(ui.extListWidget, &QListWidget::currentRowChanged, this, &DocTypeListView::slot_curRowChanged); setContextMenuPolicy(Qt::CustomContextMenu); m_menu = new QMenu(this); connect(this, &QWidget::customContextMenuRequested, this, &DocTypeListView::slot_customContextMenuRequested); m_menu->addAction("add Custom extension", this, &DocTypeListView::slot_addCustomType); connect(ui.customListWidget, &QListWidget::itemClicked, this, &DocTypeListView::slot_customListItemClicked); connect(ui.typListWidget, &QListWidget::itemClicked, this, &DocTypeListView::slot_typListItemClicked); } DocTypeListView::~DocTypeListView() { save(); } void DocTypeListView::save() { if (m_isDirty) { QString key("typelist"); QString typeStr = s_extBindFileType.join("|"); NddSetting::updataKeyValueFromSets(key, typeStr); m_isDirty = false; } } void DocTypeListView::slot_curRowChanged(int row) { ui.typListWidget->clear(); if (row < s_extBindFileType.count()) { QString typeStr = s_extBindFileType.at(row); if (typeStr.isEmpty()) { return; } QStringList typeList = typeStr.split(":"); if (typeList.size() > 0) { ui.typListWidget->addItems(typeList); } } } void DocTypeListView::slot_customContextMenuRequested(const QPoint& /*pos*/) { m_menu->exec(QCursor::pos()); } void DocTypeListView::slot_addCustomType() { bool ok = false; QString text = QInputDialog::getText(this, tr("input file ext()"), tr("ext (Split With :)"), QLineEdit::Normal, QString(".h:.cpp"), &ok); if (ok && !text.isEmpty()) { text = text.trimmed(); QStringList extList = text.split(":"); ui.customListWidget->addItems(extList); } } void DocTypeListView::slot_add() { int row = ui.customListWidget->currentRow(); if (row < 0) { return; } QListWidgetItem* item = ui.customListWidget->takeItem(row); ui.typListWidget->addItem(item); int index = ui.extListWidget->currentRow(); if (index < s_extBindFileType.size()) { if (!s_extBindFileType[index].isEmpty()) { QString curText = QString(":%1").arg(item->text()); s_extBindFileType[index].append(curText); } else { s_extBindFileType[index].append(item->text()); } QString var = item->text(); if (!var.isEmpty()) { s_supportFileExts->insert(var.mid(1), true); m_isDirty = true; } } } void DocTypeListView::slot_sub() { int row = ui.typListWidget->currentRow(); if (row < 0) { return; } QListWidgetItem* item = ui.typListWidget->takeItem(row); ui.customListWidget->addItem(item); int index = ui.extListWidget->currentRow(); if (index < s_extBindFileType.size()) { QString curText = QString("%1:").arg(item->text()); if (s_extBindFileType[index].contains(curText)) { s_extBindFileType[index].remove(curText); } else if (s_extBindFileType[index].endsWith(item->text())) { int lens = s_extBindFileType[index].size(); int delLens = item->text().size(); if (lens > delLens) { //删除:xxx s_extBindFileType[index].remove(lens - delLens -1, delLens + 1); } else { s_extBindFileType[index].clear(); } } QString var = item->text(); if (!var.isEmpty()) { s_supportFileExts->remove(var.mid(1)); m_isDirty = true; } } } void DocTypeListView::slot_customListItemClicked(QListWidgetItem* /*item*/) { //qDebug() << "custom list item click"; ui.subToolButton->setEnabled(false); ui.addToolButton->setEnabled(true); } void DocTypeListView::slot_typListItemClicked(QListWidgetItem* /*item*/) { //qDebug() << "type list item click"; ui.subToolButton->setEnabled(true); ui.addToolButton->setEnabled(false); } ================================================ FILE: src/doctypelistview.h ================================================ #pragma once #include #include #include #include #include "ui_doctypelistview.h" class DocTypeListView : public QWidget { Q_OBJECT public: DocTypeListView(QWidget *parent = Q_NULLPTR); virtual ~DocTypeListView(); static void initSupportFileTypes(); static bool isSupportExt(QString ext); static bool isHexExt(QString ext); static QMap * s_supportFileExts; //记录常见的16进制文件的结尾 static QMap * s_binFileExts; protected: void save(); private slots: void slot_curRowChanged(int row); void slot_customContextMenuRequested(const QPoint& pos); void slot_addCustomType(); void slot_add(); void slot_sub(); void slot_customListItemClicked(QListWidgetItem* item); void slot_typListItemClicked(QListWidgetItem* item); private: Ui::DocTypeListView ui; static QStringList s_supportFileExt; static QStringList s_extBindFileType; QMenu *m_menu; bool m_isDirty; //是否修改过 }; ================================================ FILE: src/doctypelistview.ui ================================================ DocTypeListView 0 0 564 437 DocTypeListView Support file 2 2 2 2 2 Qt::Vertical 20 40 -> <- Qt::Vertical 20 40 Custom extension 2 2 2 2 2 subToolButton clicked() DocTypeListView slot_sub() 543 207 545 429 addToolButton clicked() DocTypeListView slot_add() 533 229 526 428 slot_sub() slot_add() ================================================ FILE: src/donate.cpp ================================================ #include "donate.h" Donate::Donate(QWidget *parent): QWidget(parent) { ui.setupUi(this); } Donate::~Donate() { } ================================================ FILE: src/donate.h ================================================ #ifndef DONATE_H #define DONATE_H #include #include "ui_donate.h" class Donate : public QWidget { Q_OBJECT public: Donate(QWidget *parent = 0); ~Donate(); private: Ui::DonateClass ui; }; #endif // DONATE_H ================================================ FILE: src/donate.ui ================================================ DonateClass Qt::NonModal 0 0 410 374 0 0 416 479 Qt::DefaultContextMenu Donate Me :/Resources/edit/global/ndd.ico:/Resources/edit/global/ndd.ico Qt::Horizontal 28 20 Qt::Vertical 20 20 0 0 0 0 image: url(:/CmAdviser/Resources/6688.jpg); :/Resources/img/6688.png Qt::AlignCenter 0 0 华文宋体 12 <html><head/><body><p>Donation Software Development By WeChat </p><p>Busy living, no time to improve software</p></body></html> Qt::AlignCenter Qt::Vertical 20 20 Qt::Horizontal 28 20 ================================================ FILE: src/draglineedit.cpp ================================================ #include "draglineedit.h" DragLineEdit::DragLineEdit(QWidget *parent) : QLineEdit(parent) { setAcceptDrops(true); } DragLineEdit::~DragLineEdit() { } void DragLineEdit::dragEnterEvent(QDragEnterEvent* event) { if (event->mimeData()->hasFormat("text/uri-list")) //ֻܴıļ { event->accept(); //ڲϷŶ } else { event->ignore(); } } void DragLineEdit::dragMoveEvent(QDragMoveEvent* ) { } void DragLineEdit::dropEvent(QDropEvent* e) { QList urls = e->mimeData()->urls(); if (urls.isEmpty()) return; QString fileName = urls.first().toLocalFile(); if (fileName.isEmpty()) { return; } if (!QFile::exists(fileName)) { return; } this->setText(fileName); e->accept(); emit this->returnPressed(); } ================================================ FILE: src/draglineedit.h ================================================ #pragma once #include #include #include #include #include class DragLineEdit : public QLineEdit { Q_OBJECT public: DragLineEdit(QWidget*parent); virtual ~DragLineEdit(); protected: ///< ϶ļ void dragEnterEvent(QDragEnterEvent* event) override; ///< ϶ļƶļ void dragMoveEvent(QDragMoveEvent* event) override; ///< ϶ļͷļ void dropEvent(QDropEvent* event) override; }; ================================================ FILE: src/encodeconvert.cpp ================================================ #include "encodeconvert.h" #include "rcglobal.h" #include "CmpareMode.h" #include "doctypelistview.h" #include #include #include #include #include #include #include #include const int ITEM_CODE = Qt::UserRole + 1; static QString fileSuffix(const QString& filePath) { QFileInfo fi(filePath); return fi.suffix(); } static QString getFileSizeFormat(qint64 size) { #if 0 if (size <= 1000) { return QString("%1").arg(size); } QString fileSize = QString("%1").arg(size); return QString("%1,%2").arg(fileSize.left(fileSize.count() - 3)).arg(fileSize.right(3)); #endif return QString::number(size); } EncodeConvert::EncodeConvert(QWidget *parent): QWidget(parent), m_commitCmpFileNums(0), m_finishCmpFileNums(0), m_menu(nullptr) { ui.setupUi(this); m_extComBoxNum = 0; connect(ui.treeWidget, &QTreeWidget::itemPressed, this, &EncodeConvert::slot_itemClicked); setAcceptDrops(true); } EncodeConvert::~EncodeConvert() { for (auto var : m_supportFileExt) { delete var; } m_supportFileExt.clear(); } bool EncodeConvert::isSupportExt(int index, QString ext) { bool ret = false; if (0 == index) { ret = DocTypeListView::isSupportExt(ext); } else if (index >= 1) { int i = index - 1; if (i < m_supportFileExt.count()) { ret = m_supportFileExt[i]->contains(ext); } } return ret; } //右键菜单 void EncodeConvert::slot_itemClicked(QTreeWidgetItem* item, int /*column*/) { if ((item != nullptr) && (Qt::RightButton == QGuiApplication::mouseButtons())) { if (m_menu == nullptr) { m_menu = new QMenu(this); m_menu->addAction(tr("&Show File in Explorer..."), this, [&]() { QString path, cmd; QTreeWidgetItem* it = ui.treeWidget->currentItem(); if (it == nullptr) { return; } path = QString("%1").arg(it->data(0, Qt::ToolTipRole).toString()); showFileInExplorer(path); }); } m_menu->move(QCursor::pos()); m_menu->show(); } } //用户自定义类型 void EncodeConvert::slot_userDefineExt() { bool ok = false; QString text = QInputDialog::getText(this, tr("input file ext()"),tr("ext (Split With :)"), QLineEdit::Normal, QString(".h:.cpp"), &ok); if (ok && !text.isEmpty()) { text = text.trimmed(); ui.extComboBox->addItem(text); QStringList extList = text.split(":"); QMap* p = new QMap; for (QString var : extList) { if (var.startsWith(".")) { p->insert(var.mid(1), true); } } m_supportFileExt.append(p); ++m_extComBoxNum; ui.extComboBox->setCurrentIndex(m_extComBoxNum); } } //打开文件目录 void EncodeConvert::slot_selectFile() { //加载左边的文件树 QString rootpath = QFileDialog::getExistingDirectory(this, tr("Open Directory"), QString(), QFileDialog::DontResolveSymlinks); if (!rootpath.isEmpty()) { ui.treeWidget->clear(); m_fileAttris.clear(); loadDir(rootpath); setItemIntervalBackground(); scanFileCode(); } } int EncodeConvert::allfile(QTreeWidgetItem* root_, QString path_) { QList dirsList; WalkFileInfo oneDir(0, root_, path_); dirsList.append(oneDir); int fileNums = 0; m_fileDirPath = path_; while (!dirsList.isEmpty()) { WalkFileInfo curDir = dirsList.first(); dirsList.pop_front(); QTreeWidgetItem* root = curDir.root; QString path = curDir.path; int direction = curDir.direction; /*添加path路径文件*/ QDir dir(path); //遍历各级子目录 //先获取文件到列表 //再获取文件夹到列表 QFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot); //获取当前所有目录 for (int i = 0; i != folder_list.size(); ++i) //自动递归添加各目录到上一级目录 { QString namepath = folder_list.at(i).absoluteFilePath(); //获取路径 QFileInfo folderinfo = folder_list.at(i); QString name = folderinfo.fileName(); //获取目录名 QTreeWidgetItem* childroot = new QTreeWidgetItem(QStringList() << name); childroot->setIcon(0, QIcon(":/Resources/img/dir.png")); root->addChild(childroot); //将当前目录添加成path的子项 fileAttriNode node; node.type = RC_DIR;//是目录 node.selfItem = childroot; node.parent = root; node.relativePath = folderinfo.absoluteFilePath(); //把路径名称保存到tips中,后续需要这个来排序,下同 childroot->setData(0, Qt::ToolTipRole, node.relativePath); m_fileAttris.append(node); WalkFileInfo oneDir(direction, childroot, namepath); dirsList.push_front(oneDir); } QDir dir_file(path); dir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件 QFileInfoList list_file = dir_file.entryInfoList(); for (int i = 0; i < list_file.size(); ++i) { //将当前目录中所有文件添加到treewidget中 QFileInfo fileInfo = list_file.at(i); QString name2 = fileInfo.fileName(); QTreeWidgetItem* child = new QTreeWidgetItem(QStringList() << name2); child->setIcon(0, QIcon(":/Resources/img/point.png")); child->setText(1, getFileSizeFormat(fileInfo.size())); /*QString lastModifyTime = fileInfo.lastModified().toString("yy/MM/dd hh:mm:ss"); child->setText(2, lastModifyTime);*/ root->addChild(child); fileAttriNode node; node.type = RC_FILE;//是文件 node.selfItem = child; node.parent = root; node.relativePath = fileInfo.absoluteFilePath(); //把路径名称保存到tips中,后续需要这个来排序,下同 child->setData(0, Qt::ToolTipRole, node.relativePath); m_fileAttris.append(node); } fileNums += list_file.size(); } return fileNums; } int EncodeConvert::loadDir(QString rootDirPath) { QString rootpath = rootDirPath; QTreeWidgetItem* root = nullptr; int fileNums = 0; ui.treeWidget->setColumnWidth(0, 400); ui.treeWidget->clear(); root = new QTreeWidgetItem(ui.treeWidget); root->setText(0, rootpath); root->setExpanded(true); //第一个节点是目录根节点 fileAttriNode node; node.type = RC_DIR;//是目录 node.selfItem = root; node.parent = nullptr; node.relativePath = "."; m_fileAttris.append(node); fileNums = allfile(root, rootpath); return fileNums; } QFuture EncodeConvert::commitTask(std::function fun, EncodeThreadParameter* parameter) { /* 这里最开始准备使用信号提交多线程,但是发现std:;function无法使用槽函数机制,需要自己是实现元对象 * 直接使用QtConcurrent::run机制,不仅简单许多,而且在网上看了资料 */ return QtConcurrent::run(fun, parameter); } //识别文件编码 QFuture EncodeConvert::checkFileCode(QString filePath, QTreeWidgetItem* item) { EncodeThreadParameter_* p = new EncodeThreadParameter_(filePath); p->item = item; //int 0相等 1 不等 return commitTask([](EncodeThreadParameter_* parameter)->EncodeThreadParameter_* { //整个文件都要扫描完毕。还是怕太慢,最多1000行吧 parameter->code = CmpareMode::scanFileRealCode(parameter->filepath,1000); return parameter; } , p); } CODE_ID EncodeConvert::convertFileToCode(QString& filePath, CODE_ID srcCode, CODE_ID dstCode) { if (srcCode == CODE_ID::UNKOWN) { return CODE_ID::UNKOWN; } QFile file(filePath); if (!file.open(QIODevice::ReadOnly | QIODevice::ExistingOnly)) { return CODE_ID::UNKOWN; } QByteArray content = file.readAll(); file.close(); int skip = 0; switch (srcCode) { case UNKOWN: break; case ANSI: break; case UNICODE_LE: skip = 2; break; case UNICODE_BE: skip = 2; break; case UTF8_NOBOM: break; case UTF8_BOM: skip = 3; break; case GBK: break; default: break; } if (!file.open(QIODevice::WriteOnly | QIODevice::ExistingOnly | QIODevice::Truncate)) { return CODE_ID::UNKOWN; } QByteArray text2Save; if (skip == 2 && content.size() >= 2) { text2Save = QByteArray(content.mid(2)); } else if (skip == 3 && content.size() >= 3) { text2Save = QByteArray(content.mid(3)); } else { text2Save = QByteArray(content); } QString textOut; Encode::tranStrToUNICODE(srcCode, text2Save.data(), text2Save.size(), textOut); if (dstCode != UNKOWN) { //QByteArray codeFlag = Encode::getEncodeStartFlagByte(dstCode); //20210822 发现大坑,转换到一定格式后,字符串前面自动带了标识,不需要再来检查一次 //if (!codeFlag.isEmpty()) //{ // //先写入标识头 // file.write(codeFlag); //} //如果编码是已知如下类型,则后续保存其它行时,不修改编码格式,继续按照原编码进行保存 //前面已经设置过编码了,这里不需要再设置 if (dstCode == CODE_ID::UTF8_BOM) { //自动转换不会带UTF-8 BOM,所以自己要在前面写个BOM头。这是一个例外。需要手动写入头 //其他必然BL LE则不需要。 QByteArray codeFlag = Encode::getEncodeStartFlagByte(dstCode); if (!codeFlag.isEmpty()) { //先写入标识头 file.write(codeFlag); } } if (textOut.length() > 0) { //保存时注意编码问题。这个tolocal已经带了字符BOM头了。只要UTF8_BOM不会带 QByteArray t = textOut.toLocal8Bit(); file.write(textOut.toLocal8Bit()); } } file.close(); return dstCode; } CODE_ID EncodeConvert::getComboBoxCode(int index){ CODE_ID ret = CODE_ID::UNKOWN; if (index < CODE_END) { ret = (CODE_ID)index; } return ret; }; QFuture EncodeConvert::convertFileCode(QString filePath, QTreeWidgetItem* item) { EncodeThreadParameter_* p = new EncodeThreadParameter_(filePath); p->item = item; CODE_ID srcCode = static_cast(item->data(0, ITEM_CODE).toInt()); CODE_ID dstCode = getComboBoxCode(ui.codeToComboBox->currentIndex()); //int 0相等 1 不等 return commitTask([=](EncodeThreadParameter_* parameter)->EncodeThreadParameter_* { if (dstCode != CODE_ID::UNKOWN) { parameter->code = convertFileToCode(parameter->filepath, srcCode, dstCode); } else { parameter->code = UNKOWN; } return parameter; } , p); } //20220114 仅仅使用第一行失败编码还是不行,因为utf8和gbk其实有相同的编码范围。 //如果识别第一行为gbk的,则直接使用gbk。但是如果识别为utf8的,则需要识别更多的文本内容,这样会更慢 void EncodeConvert::scanFileCode() { m_finishCmpFileNums = 0; m_commitCmpFileNums = 0; ui.selectFileBt->setEnabled(false); ui.startBt->setEnabled(false); ui.closeBt->setEnabled(false); ui.logTextBrowser->clear(); ui.logTextBrowser->append(tr("start scan file text code, please wait...")); for (QList::iterator iter = m_fileAttris.begin(); iter != m_fileAttris.end(); ++iter) { if (iter->type == RC_DIR) { iter->selfItem->setText(2, QString("--")); } //20230304 编码转换这里,不能仅仅只识别已知后缀文件,要失败所有文件 else if ((iter->type == RC_FILE) && DocTypeListView::isSupportExt(fileSuffix(iter->relativePath))) { QFutureWatcher* futureWatcher = new QFutureWatcher(); QObject::connect(futureWatcher, &QFutureWatcher::finished, this, &EncodeConvert::slot_scanFileCode); futureWatcher->setFuture(this->checkFileCode(iter->relativePath,iter->selfItem)); ++m_commitCmpFileNums; } else { iter->selfItem->setText(2, tr("ignore")); } } int finishProcessRatio = 0; while (m_finishCmpFileNums < m_commitCmpFileNums) { int curProcessRatio = m_finishCmpFileNums * 100 / m_commitCmpFileNums; //没%5更新一下 if (curProcessRatio - finishProcessRatio >= 5) { finishProcessRatio = curProcessRatio; ui.logTextBrowser->append(tr("please wait, total file %1,cur scan index %2, scan finish %3%").arg(m_commitCmpFileNums).arg(m_finishCmpFileNums).arg(curProcessRatio)); } QCoreApplication::processEvents(); } ui.logTextBrowser->append(tr("scan finished, total file %1").arg(m_commitCmpFileNums)); ui.selectFileBt->setEnabled(true); ui.startBt->setEnabled(true); ui.closeBt->setEnabled(true); } //文件对比完毕,显示出文件是否意义,不一样则红色字符标识 void EncodeConvert::slot_scanFileCode() { QFutureWatcher* s = dynamic_cast *>(sender()); EncodeThreadParameter_* result = s->result(); //这里释放的内容,其实是在mode里面new出来的 if (result != nullptr) { result->item->setText(2, Encode::getCodeNameById(result->code)); result->item->setData(0, ITEM_CODE, result->code); delete result; result = nullptr; } delete s; s = nullptr; ++m_finishCmpFileNums; } void EncodeConvert::slot_startConvert() { int extComboBoxIndex = ui.extComboBox->currentIndex(); CODE_ID dstCode = getComboBoxCode(ui.codeToComboBox->currentIndex()); m_finishCmpFileNums = 0; m_commitCmpFileNums = 0; ui.logTextBrowser->clear(); //如果编码是已知如下类型,则后续保存其它行时,不修改编码格式,继续按照原编码进行保存 QString destCodeName = Encode::getQtCodecNameById(dstCode); if (destCodeName.isEmpty() || destCodeName == "unknown") { //这里永远不会走。因为界面上不会有未知选项 assert(false); return; } else { QTextCodec::setCodecForLocale(QTextCodec::codecForName(destCodeName.toStdString().c_str())); } ui.selectFileBt->setEnabled(false); ui.codeToComboBox->setEditable(false); ui.closeBt->setEnabled(false); for (QList::iterator iter = m_fileAttris.begin(); iter != m_fileAttris.end(); ++iter) { if ((iter->type == RC_FILE) && isSupportExt(extComboBoxIndex, fileSuffix(iter->relativePath))) { qDebug() << iter->relativePath; CODE_ID srcCode = static_cast(iter->selfItem->data(0, ITEM_CODE).toInt()); CODE_ID dstCode = getComboBoxCode(ui.codeToComboBox->currentIndex()); if (srcCode != dstCode) { QFutureWatcher* futureWatcher = new QFutureWatcher(); QObject::connect(futureWatcher, &QFutureWatcher::finished, this, &EncodeConvert::slot_convertFileFinish); futureWatcher->setFuture(this->convertFileCode(iter->relativePath, iter->selfItem)); ++m_commitCmpFileNums; } else { iter->selfItem->setText(4, tr("already %1 ignore").arg(Encode::getCodeNameById(srcCode))); } } else { iter->selfItem->setText(4, tr("ignore")); } } int finishProcessRatio = 0; while (m_finishCmpFileNums < m_commitCmpFileNums) { int curProcessRatio = m_finishCmpFileNums * 100 / m_commitCmpFileNums; //没%5更新一下 if (curProcessRatio - finishProcessRatio >= 5) { finishProcessRatio = curProcessRatio; ui.logTextBrowser->append(tr("total file %1,cur deal index %2,finish %3%").arg(m_commitCmpFileNums).arg(m_finishCmpFileNums).arg(curProcessRatio)); } QCoreApplication::processEvents(); } ui.logTextBrowser->append(tr("total file %1,cur deal index %2,finish 100%").arg(m_commitCmpFileNums).arg(m_finishCmpFileNums)); ui.logTextBrowser->append(tr("convert finished !")); ui.selectFileBt->setEnabled(true); ui.codeToComboBox->setEditable(true); ui.closeBt->setEnabled(true); } //转换完成,设置当前表格上的显示状态 void EncodeConvert::slot_convertFileFinish() { QFutureWatcher* s = dynamic_cast *>(sender()); EncodeThreadParameter_* result = s->result(); //这里释放的内容,其实是在mode里面new出来的 if (result != nullptr) { if (result->code != UNKOWN) { result->item->setText(3, Encode::getCodeNameById(result->code)); result->item->setText(4, tr("convert finish")); } else { result->item->setText(4, tr("convert fail")); ui.logTextBrowser->append(tr("file %1 convert failed,pleas check...").arg(result->item->data(0, Qt::ToolTipRole).toString())); } result->item->setData(0, ITEM_CODE, result->code); delete result; result = nullptr; } delete s; s = nullptr; ++m_finishCmpFileNums; } //对item进行间隔着色 void EncodeConvert::setItemIntervalBackground() { int curItemIndex = 0; QTreeWidgetItemIterator it(ui.treeWidget); while (*it) { if (curItemIndex % 2 == 1) { setItemBackground(*it, QColor(0xf8faf9)); } ++it; ++curItemIndex; } } void EncodeConvert::setItemBackground(QTreeWidgetItem* item, const QColor& color) { QBrush b(color); item->setBackground(0, b); item->setBackground(1, b); item->setBackground(2, b); item->setBackground(3, b); item->setBackground(4, b); } void EncodeConvert::dragEnterEvent(QDragEnterEvent* event) { if (event->mimeData()->hasFormat("text/uri-list")) //只能打开文本文件 { event->accept(); //可以在这个窗口部件上拖放对象 } else { event->ignore(); } } void EncodeConvert::dropEvent(QDropEvent* e) { QList urls = e->mimeData()->urls(); if (urls.isEmpty()) return; QString dirName = urls.first().toLocalFile(); if (dirName.isEmpty()) { return; } QDir dir(dirName); if (!dir.exists()) { ui.logTextBrowser->append(tr("please drop a file dir ...")); return; } ui.treeWidget->clear(); m_fileAttris.clear(); loadDir(dirName); setItemIntervalBackground(); scanFileCode(); e->accept(); } ================================================ FILE: src/encodeconvert.h ================================================ #pragma once #include #include #include #include #include "ui_encodeconvert.h" #include "rcglobal.h" typedef struct EncodeThreadParameter_ { QString filepath; CODE_ID code; QTreeWidgetItem* item; EncodeThreadParameter_(QString filePath_) { filepath = filePath_; code = CODE_ID::UNKOWN; } }EncodeThreadParameter; class EncodeConvert : public QWidget { Q_OBJECT public: EncodeConvert(QWidget *parent = Q_NULLPTR); ~EncodeConvert(); private: int allfile(QTreeWidgetItem* root_, QString path_); int loadDir(QString rootDirPath); bool isSupportExt(int index, QString ext); QFuture commitTask(std::function fun, EncodeThreadParameter* parameter); QFuture checkFileCode(QString filePath, QTreeWidgetItem* item); static CODE_ID convertFileToCode(QString& filePath, CODE_ID srcCode, CODE_ID dstDode); static CODE_ID getComboBoxCode(int index); QFuture convertFileCode(QString filePath, QTreeWidgetItem* item); void scanFileCode(); protected: void dragEnterEvent(QDragEnterEvent* event) override; void dropEvent(QDropEvent* e) override; public slots: void slot_scanFileCode(); void slot_userDefineExt(); private slots: void slot_selectFile(); void slot_startConvert(); void slot_convertFileFinish(); void slot_itemClicked(QTreeWidgetItem* item, int column); private: void setItemIntervalBackground(); void setItemBackground(QTreeWidgetItem* item, const QColor& color); private: Ui::EncodeConvert ui; QList m_fileAttris; QString m_fileDirPath; int m_commitCmpFileNums; int m_finishCmpFileNums; int m_extComBoxNum; QList< QMap* > m_supportFileExt; QMenu* m_menu; }; ================================================ FILE: src/encodeconvert.ui ================================================ EncodeConvert 0 0 969 614 EncodeConvert :/Resources/img/main.png:/Resources/img/main.png 2 2 2 2 2 filePath file size file code convert code convert result 20 convert options convert to code 200 0 UTF8 UTF8 BOM UTF16-LE UTF16-BE GBK deal file ext 150 0 all support file ext user defined defined Qt::Horizontal 40 20 select dir start false close Qt::Horizontal 40 20 selectFileBt clicked() EncodeConvert slot_selectFile() 64 574 8 559 startBt clicked() EncodeConvert slot_startConvert() 185 573 232 605 closeBt clicked() EncodeConvert close() 274 572 367 611 toolButton clicked() EncodeConvert slot_userDefineExt() 300 506 438 608 slot_selectFile() slot_startConvert() slot_userDefineExt() ================================================ FILE: src/extLexermanager.cpp ================================================ #include "extlexermanager.h" //רûԶExt ʷLexerࡣ //һļext׺ٸ֪ʹʲôlexer﷨ ExtLexerManager* ExtLexerManager::s_instance = nullptr; ExtLexerManager::ExtLexerManager() { } ExtLexerManager * ExtLexerManager::getInstance() { if (s_instance == nullptr) { s_instance = new ExtLexerManager(); } return s_instance; } ExtLexerManager::~ExtLexerManager() { m_extToLexerIdMap.clear(); } int ExtLexerManager::size() { return m_extToLexerIdMap.size(); } bool ExtLexerManager::contains(QString ext) { return m_extToLexerIdMap.contains(ext); } void ExtLexerManager::remove(QString ext) { if (m_extToLexerIdMap.contains(ext)) { m_extToLexerIdMap.remove(ext); } } //ext:ļĺ׺ langTagName:Եtag //lexerId ﷨idûԶ壬ȻL_USER_TXT,L_USER_CPP,L_USER_HTML,L_USER_JS,L_USER_XML, L_USER_INI еһ //langTagName:ֻû£ҪtagNameΪûlexertagnameǹ̶ġ void ExtLexerManager::addNewExtType(QString ext, LangType lexerId, QString langTagName) { LexerInfo value(lexerId, langTagName); m_extToLexerIdMap.insert(ext,value); } bool ExtLexerManager::getLexerTypeByExt(QString ext, LexerInfo& lexer) { if (m_extToLexerIdMap.contains(ext)) { lexer = m_extToLexerIdMap[ext]; return true; } return false; } //гtagйļ׺б void ExtLexerManager::getExtlistByLangTag(QString tag, QStringList& extList) { for (QMap::iterator it = m_extToLexerIdMap.begin(); it != m_extToLexerIdMap.end(); ++it) { LexerInfo& v = it.value(); if (v.tagName == tag) { extList.append(it.key()); } } } //гtagйļ׺б void ExtLexerManager::getExtlistByLangTag(QMap& extLangMap) { for (QMap::iterator it = m_extToLexerIdMap.begin(); it != m_extToLexerIdMap.end(); ++it) { LexerInfo& v = it.value(); if (extLangMap.contains(v.tagName)) { extLangMap[v.tagName].append(it.key()); } else { extLangMap[v.tagName] = QStringList(it.key()); } } } ================================================ FILE: src/extlexermanager.h ================================================ #pragma once #include #include #if 0 enum LangType { L_UNKNOWN = -1, L_PHP = 0, L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC, \ L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER, \ 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_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP, \ L_COFFEESCRIPT, L_JSON, L_JAVASCRIPT, L_FORTRAN_77, L_BAANC, L_SREC, \ L_IHEX, L_TEHEX, L_SWIFT, \ L_ASN1, L_AVS, L_BLITZBASIC, L_PUREBASIC, L_FREEBASIC, \ L_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \ L_MMIXAL, L_NIM, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \ L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG, L_TYPESCRIPT, \ L_EDIFACT, L_MARKDOWN, L_OCTAVE, L_PO, L_POV, L_IDL, L_GO, L_TXT, \ // 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 = 100, L_USER_DEFINE = 200, L_USER_TXT, L_USER_CPP, L_USER_HTML, L_USER_JS, L_USER_XML, L_USER_INI, }; #endif struct LexerInfo{ LangType lexerId; //L_USER_DEFINEʾĸ QString tagName; //tagơ bool isUserDefineLangs() { return (lexerId > L_USER_DEFINE); } LexerInfo() = default; LexerInfo(LangType id, QString name):lexerId(id), tagName(name) { } }; class ExtLexerManager { public: static ExtLexerManager* getInstance(); ~ExtLexerManager(); int size(); bool contains(QString ext); void remove(QString ext); void addNewExtType(QString ext, LangType lexerId, QString langTagName=""); bool getLexerTypeByExt(QString ext, LexerInfo& lexer); //гtagйļ׺б void getExtlistByLangTag(QString tag, QStringList& extList); //гйļ׺б void getExtlistByLangTag(QMap& extLangMap); private: ExtLexerManager(); static ExtLexerManager* s_instance; QMap m_extToLexerIdMap; }; ================================================ FILE: src/filecmprulewin.cpp ================================================ #include "filecmprulewin.h" FileCmpRuleWin::FileCmpRuleWin(int mode, bool blankMath, int equalRato,QWidget *parent) : QWidget(parent) { ui.setupUi(this); if (mode == 0) { ui.radioButtonDefault->setChecked(true); } else if(mode == 1) { ui.radioButtonIgnoreBackWhite->setChecked(true); } else if (mode == 2) { ui.radioButtonIgnoreAllWhite->setChecked(true); } ui.checkBoxBlankMatch->setChecked(blankMath); int index = 0; if (equalRato == 70) { index = 1; } else if (equalRato == 90) { index = 2; } ui.comboBoxEqualRato->setCurrentIndex(index); } FileCmpRuleWin::~FileCmpRuleWin() { } void FileCmpRuleWin::slot_apply() { int status = 0; if (ui.radioButtonDefault->isChecked()) { status = 0; } else if (ui.radioButtonIgnoreBackWhite->isChecked()) { status = 1; } else if (ui.radioButtonIgnoreAllWhite->isChecked()) { status = 2; } bool blankMatch = (ui.checkBoxBlankMatch->isChecked() ? true : false); int equalRato = 50; if (ui.comboBoxEqualRato->currentIndex() == 1) { equalRato = 70; } else if (ui.comboBoxEqualRato->currentIndex() == 2) { equalRato = 90; } emit sign_cmpModeChange(status, blankMatch, equalRato); close(); } ================================================ FILE: src/filecmprulewin.h ================================================ #pragma once #include #include "ui_filecmprulewin.h" class FileCmpRuleWin : public QWidget { Q_OBJECT public: FileCmpRuleWin(int mode, bool blankMath, int equalRato, QWidget *parent = Q_NULLPTR); virtual ~FileCmpRuleWin(); signals: void sign_cmpModeChange(int mode,bool blankMatch,int equalRato); private slots: void slot_apply(); private: Ui::FileCmpRuleWin ui; }; ================================================ FILE: src/filecmprulewin.ui ================================================ FileCmpRuleWin 0 0 481 231 500 400 FileCmpRuleWin :/Resources/img/main.png:/Resources/img/main.png Compare Options Ignore whitespace characters before line true Ignore whitespace characters At back of the line(such as python) Ignore all whitespace characters Match Options Blank lines participate in matching true Identify matching rates for rows that are equal Match >= 50% Match >= 70% Match >= 90% Qt::Vertical 20 40 Qt::Horizontal 40 20 Apply Cancel Qt::Horizontal 40 20 pushButton_2 clicked() FileCmpRuleWin close() 234 126 333 120 pushButton clicked() FileCmpRuleWin slot_apply() 106 125 3 125 slot_apply() ================================================ FILE: src/filelistview.cpp ================================================ #include "filelistview.h" #include "rcglobal.h" #include "ccnotepad.h" #include #include //ʾļԺ󣬰ļڸб FileListView::FileListView(QWidget *parent) : QWidget(parent), m_pNotepad(nullptr) { ui.setupUi(this); connect(ui.filelistWidget, &QListWidget::itemDoubleClicked, this, &FileListView::itemDoubleClicked); setContextMenuPolicy(Qt::CustomContextMenu); //öֵ connect(this, &QListWidget::customContextMenuRequested, this, &FileListView::slot_ShowPopMenu); } FileListView::~FileListView() { m_fileEditMap.clear(); } void FileListView::setNotepadWin(QWidget* pNotepad) { m_pNotepad = pNotepad; } //Ҽ˵ void FileListView::slot_ShowPopMenu(const QPoint& pos) { QListWidgetItem* curItem = ui.filelistWidget->itemAt(pos); if (curItem != nullptr) { QMenu* menu = new QMenu(this); QAction* actionAdd = menu->addAction(tr("Show File in Explorer"), this, [&]() { showFileInExplorer(curItem->text()); }); menu->addAction(tr("Close File"), this, [&]() { QString filePath = curItem->text(); if (m_fileEditMap.contains(filePath)) { CCNotePad* pNotePad = dynamic_cast(m_pNotepad); if (m_pNotepad != nullptr) { pNotePad->closeFileByEditWidget(m_fileEditMap.value(curItem->text()).pEditWidget); } //עﲻҪɾm_fileEditMapԪأΪcloseFileByEditWidgetá } }); //ûƱʾǶitemڶӦļֻռλ if (curItem->text().isEmpty()) { actionAdd->setEnabled(false); } if (menu) { menu->setAttribute(Qt::WA_DeleteOnClose); menu->exec(QCursor::pos()); } } } void FileListView::delFileItem(QString & filePath) { if (m_fileEditMap.contains(filePath)) { m_fileEditMap.remove(filePath); QList items = ui.filelistWidget->findItems(filePath, Qt::MatchFixedString); if (!items.isEmpty()) { delete items.at(0); } } } QWidget* FileListView::getWidgetByFilePath(QString filePath) { if (m_fileEditMap.contains(filePath)) { return m_fileEditMap.value(filePath).pEditWidget; } return nullptr; } void FileListView::setCurItem(QString filePath) { if (m_fileEditMap.contains(filePath)) { ui.filelistWidget->setCurrentItem(m_fileEditMap.value(filePath).pListItem); } } void FileListView::addFileItem(QString& filePath, QWidget* edit) { if (!m_fileEditMap.contains(filePath)) { QListWidgetItem* newItem = new QListWidgetItem(filePath); ui.filelistWidget->addItem(newItem); m_fileEditMap.insert(filePath, FileListItemData(edit, newItem)); } } ================================================ FILE: src/filelistview.h ================================================ #pragma once #include #include #include "ui_filelistview.h" struct FileListItemData { QWidget* pEditWidget; QListWidgetItem* pListItem; FileListItemData() = default; FileListItemData(QWidget* pwid, QListWidgetItem* pItem) :pEditWidget(pwid),pListItem(pItem) { } }; class FileListView : public QWidget { Q_OBJECT public: FileListView(QWidget *parent = nullptr); virtual ~FileListView(); void setNotepadWin(QWidget* pNotepad); void delFileItem(QString & filePath); QWidget* getWidgetByFilePath(QString filePath); void addFileItem(QString& filePath, QWidget* edit); void setCurItem(QString filePath); signals: void itemDoubleClicked(QListWidgetItem* item); private slots: void slot_ShowPopMenu(const QPoint& pos); private: Ui::FileListViewClass ui; QWidget* m_pNotepad; QMap m_fileEditMap; }; ================================================ FILE: src/filelistview.ui ================================================ FileListViewClass 0 0 550 693 FileListView 0 0 0 0 1 3 ================================================ FILE: src/findcmpwin.cpp ================================================ #include "findcmpwin.h" #include "qscidisplaywindow.h" #include #include FindCmpWin::FindCmpWin(RC_DIRECTION dir, QWidget *parent):QMainWindow(parent), m_editWidget(nullptr), m_isFindFirst(true), m_findHistory(nullptr) { ui.setupUi(this); m_BackwardDir = false; m_matchWhole = false; m_matchCase = false; m_matchWrap = true; m_searchMode = 1; if (dir == RC_LEFT) { ui.leftSearch->setChecked(true); } else { ui.rightSearch->setChecked(true); } connect(ui.leftSearch, &QRadioButton::toggled, this, &FindCmpWin::slot_isSearchLeft); connect(ui.findModeRegularBt, &QRadioButton::toggled, this, &FindCmpWin::slot_findModeRegularBtChange); } FindCmpWin::~FindCmpWin() { } void FindCmpWin::slot_isSearchLeft(bool checked) { emit sgin_searchDirectionChange(checked ? RC_LEFT : RC_RIGHT); } void FindCmpWin::setCurrentTab(FindTabIndex index) { ui.findinfilesTab->setCurrentIndex(index); if (FIND_TAB == index) { ui.findComboBox->setFocus(); } } void FindCmpWin::setWorkEdit(QsciDisplayWindow *editWidget) { m_editWidget = editWidget; m_isFindFirst = true; } void FindCmpWin::setFindText(QString &text) { ui.findComboBox->setEditText(text); } void FindCmpWin::setFindHistory(QList* findHistory) { m_findHistory = findHistory; if ((m_findHistory != nullptr) && !m_findHistory->isEmpty()) { ui.findComboBox->addItems(*m_findHistory); ui.findComboBox->clearEditText(); } } //从ui读取参数配置到成员变量 void FindCmpWin::updateParameterFromUI() { if (ui.findinfilesTab->currentIndex() == 0) { int searchMode = 0; if (ui.findModeNormalBt->isChecked()) { searchMode = 1; } else if (ui.findModeRegularBt->isChecked()) { searchMode = 2; } if (m_searchMode != searchMode) { m_searchMode = searchMode; m_isFindFirst = true; } if (m_expr != ui.findComboBox->currentText()) { m_expr = ui.findComboBox->currentText(); m_isFindFirst = true; } if (m_BackwardDir != ui.findBackwardBox->isChecked()) { m_BackwardDir = ui.findBackwardBox->isChecked(); m_isFindFirst = true; } if (m_matchWhole != ui.findMatchWholeBox->isChecked()) { m_matchWhole = ui.findMatchWholeBox->isChecked(); m_isFindFirst = true; } if (m_matchCase != ui.findMatchCaseBox->isChecked()) { m_matchCase = ui.findMatchCaseBox->isChecked(); m_isFindFirst = true; } if (m_matchWrap != ui.findWrapBox->isChecked()) { m_matchWrap = ui.findWrapBox->isChecked(); m_isFindFirst = true; } } m_re = ((m_searchMode == 2) ? true : false); if (m_cs != m_matchCase) { m_cs = m_matchCase; } if (m_wo != m_matchWhole) { m_wo = m_matchWhole; } if (m_wrap != m_matchWrap) { m_wrap = m_matchWrap; } m_forward = !m_BackwardDir; } void FindCmpWin::addFindHistory(QString &text) { if ((m_findHistory != nullptr) && (-1 == m_findHistory->indexOf(text))) { m_findHistory->push_front(text); ui.findComboBox->insertItem(0, text); } } //检查是否是第一次查找,凡是参数变化了,则认定为是第一次查找。 //因为查找分firstFirst和firstNext,则是qscint特性决定的。所以正确识别第一次查找是必要的 bool FindCmpWin::isFirstFind() { return m_isFindFirst; } //一旦修改条件发生变化,则认定为第一次查找 void FindCmpWin::slot_findNext() { if (ui.findComboBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 3000); return; } updateParameterFromUI(); QsciDisplayWindow* pEdit = m_editWidget; //第一次查找 if (isFirstFind()) { if (pEdit != nullptr) { QString whatFind = ui.findComboBox->currentText(); if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, m_wrap, m_forward)) { ui.statusbar->showMessage(tr("cant't find text \'%1\'").arg(m_expr),3000); } m_isFindFirst = false; //加入历史列表 addFindHistory(whatFind); } } else { //查找下一个 if (pEdit != nullptr) { if (!pEdit->findNext()) { ui.statusbar->showMessage(tr("no more find text \'%1\'").arg(m_expr),3000); } } } } // //void FindCmpWin::addCurFindRecord(QsciDisplayWindow* pEdit, FindCmpRecords& recordRet) //{ // int pos = pEdit->execute(SCI_GETCURRENTPOS); // int lineNum = pEdit->execute(SCI_LINEFROMPOSITION, pos); // int lineLens = pEdit->execute(SCI_LINELENGTH, lineNum); // // char* lineText = new char[lineLens + 1]; // memset(lineText, 0, lineLens + 1); // pEdit->execute(SCI_GETCURLINE, lineLens, reinterpret_cast(lineText)); // // FindCmpRecord aRecord; // aRecord.lineNum = lineNum; // aRecord.pos = pos; // aRecord.lineContents = QString(lineText); // // delete[]lineText; // // recordRet.records.append(aRecord); //} void FindCmpWin::slot_findModeRegularBtChange(bool checked) { if (checked) { ui.findBackwardBox->setEnabled(false); ui.findBackwardBox->setChecked(false); ui.findMatchWholeBox->setEnabled(false); ui.findMatchWholeBox->setChecked(false); } else { ui.findBackwardBox->setEnabled(true); ui.findMatchWholeBox->setEnabled(true); } m_isFindFirst = true; } ================================================ FILE: src/findcmpwin.h ================================================ #pragma once #include #include #include #include "ui_findcmpwin.h" #include "rcglobal.h" #ifndef DEF_FIND_TAB_INDEX #define DEF_FIND_TAB_INDEX enum FindTabIndex { FIND_TAB, REPLACE_TAB, }; #endif class ScintillaEditView; //struct FindCmpRecord { // int lineNum; // int pos; // QString lineContents; //}; // //class FindCmpRecords { //public: // QString findFilePath; // QString findText; // ScintillaEditView* pEdit; // QVector records; // FindCmpRecords() // { // pEdit = nullptr; // } //}; class QsciDisplayWindow; class FindCmpWin : public QMainWindow { Q_OBJECT public: FindCmpWin(RC_DIRECTION dir, QWidget *parent = Q_NULLPTR); ~FindCmpWin(); void setCurrentTab(FindTabIndex index); void setWorkEdit(QsciDisplayWindow * editWidget); void setFindText(QString & text); void setFindHistory(QList* findHistory); signals: void sgin_searchDirectionChange(RC_DIRECTION dir); private: void updateParameterFromUI(); void addFindHistory(QString & text); bool isFirstFind(); //void addCurFindRecord(QsciDisplayWindow * pEdit, FindCmpRecords & recordRet); private slots: void slot_findNext(); void slot_findModeRegularBtChange(bool checked); void slot_isSearchLeft(bool checked); private: Ui::FindCmpWin ui; QsciDisplayWindow *m_editWidget; //第一次查找,查找参数变化,认定为第一次查找 bool m_isFindFirst; bool m_BackwardDir; bool m_matchWhole; bool m_matchCase; bool m_matchWrap; int m_searchMode; // 1 normal 2 regular expression //find的参数 QString m_expr; bool m_re; bool m_cs; bool m_wo; bool m_wrap; bool m_forward; bool m_line; bool m_index; bool m_isFound; //上次点击的按钮id,如果两次点击的不一样 //说明是不同的操作,如果是查找,则当前这次点击算是第一次查找 QString m_lastClickBtName; QList* m_findHistory; }; ================================================ FILE: src/findcmpwin.ui ================================================ FindCmpWin 0 0 507 279 610 360 Find text window :/Resources/img/main.png:/Resources/img/main.png 4 0 2 0 1 0 find 0 Find what : 250 0 true 512 Options Backward direction Match whole word only Match case Wrap around true Search Mode Regular expression Normal true Find Next 0 0 Close Diretion Search In Left true Search In Right Qt::Vertical 20 40 findTextNext clicked() FindCmpWin slot_findNext() 457 51 422 329 findCloseBt clicked() FindCmpWin close() 407 161 169 327 slot_findNext() slot_findCount() slot_findAllInCurDoc() slot_findAllInOpenDoc() slot_replace() slot_replaceFindNext() slot_replaceAll() slot_replaceAllInOpenDoc() ================================================ FILE: src/findresultview.cpp ================================================ #include "findresultview.h" #include "styleset.h" #include "findresultwin.h" #include "ctipwin.h" #include "Scintilla.h" #include const int MARGE_FOLDER = 1; const int STYLE_COLOUR_TITLE = 1; const int STYLE_COLOUR_DEST_FILE = 2; const int STYLE_COLOUR_KEYWORD_HIGH = 3; const int STYLE_COLOUR_KEYWORD_BACK_HIGH = 4; const int STYLE_DEEP_COLOUR_KEYWORD_HIGH = 5; //ɫģʽǰɫ const int STYLE_DEEP_COLOUR_DEST_FILE = 6; static void getFoldColor(QColor& fgColor, QColor& bgColor, QColor& activeFgColor) { //￴ˣʵʴ fgColor = StyleSet::s_global_style->fold.bgColor; bgColor = StyleSet::s_global_style->fold.fgColor; activeFgColor = StyleSet::s_global_style->fold_active.fgColor; } void FindResultView::setFoldColor(int margin, QColor fgClack, QColor bkColor, QColor foreActive) { SendScintilla(SCI_MARKERSETFORE, margin, fgClack); SendScintilla(SCI_MARKERSETBACK, margin, bkColor); SendScintilla(SCI_MARKERSETBACKSELECTED, margin, foreActive); } FindResultView::FindResultView(QWidget *parent) : QsciScintilla(parent) { //ͨfold֣ʹqscintĹܣΪ˴װͼ setFolding(BoxedTreeFoldStyle, MARGE_FOLDER); SendScintilla(SCI_SETMARGINWIDTHN, MARGE_FOLDER, 14); SendScintilla(SCI_MARKERSETFORE, SC_MARKNUM_FOLDERSUB, QColor(0xff,0,0)); setCaretLineVisible(true); SendScintilla(SCI_SETSCROLLWIDTHTRACKING, true); SendScintilla(SCI_SETCARETLINEBACK, StyleSet::s_global_style->current_line_background_color.bgColor); QColor foldfgColor = Qt::white, foldbgColor = Qt::gray, activeFoldFgColor = Qt::red; getFoldColor(foldfgColor, foldbgColor, activeFoldFgColor); setFoldMarginColors(StyleSet::s_global_style->fold_margin.fgColor, StyleSet::s_global_style->fold_margin.bgColor); setFoldColor(SC_MARKNUM_FOLDEROPEN, foldfgColor, foldbgColor, activeFoldFgColor); setFoldColor(SC_MARKNUM_FOLDER, foldfgColor, foldbgColor, activeFoldFgColor); setFoldColor(SC_MARKNUM_FOLDERSUB, foldfgColor, foldbgColor, activeFoldFgColor); setFoldColor(SC_MARKNUM_FOLDERTAIL, foldfgColor, foldbgColor, activeFoldFgColor); setFoldColor(SC_MARKNUM_FOLDEREND, foldfgColor, foldbgColor, activeFoldFgColor); setFoldColor(SC_MARKNUM_FOLDEROPENMID, foldfgColor, foldbgColor, activeFoldFgColor); setFoldColor(SC_MARKNUM_FOLDERMIDTAIL, foldfgColor, foldbgColor, activeFoldFgColor); SendScintilla(SCI_STYLESETSIZE, STYLE_DEFAULT, 12); if (!StyleSet::isCurrentDeepStyle()) { this->setPaper(StyleSet::s_global_style->default_style.bgColor); SendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_TITLE, 0xffbbbb); SendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_DEST_FILE, 0xd5ffd5); SendScintilla(SCI_STYLESETEOLFILLED, STYLE_COLOUR_TITLE, true); SendScintilla(SCI_STYLESETEOLFILLED, STYLE_COLOUR_DEST_FILE, true); SendScintilla(SCI_STYLESETFORE, STYLE_COLOUR_KEYWORD_HIGH, 0x4080ff); SendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_KEYWORD_BACK_HIGH, 0xbfffff); } else { this->setColor(StyleSet::s_global_style->default_style.fgColor); this->setPaper(StyleSet::s_global_style->default_style.bgColor); //QColor& col = StyleSet::s_global_style->default_style.fgColor; //sptr_t fgLParam = (col.blue() << 16) | (col.green() << 8) | col.red(); QColor& col2 = StyleSet::s_global_style->default_style.bgColor; sptr_t bklParam = (col2.blue() << 16) | (col2.green() << 8) | col2.red(); SendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_TITLE, 0xffbbbb); SendScintilla(SCI_STYLESETEOLFILLED, STYLE_COLOUR_TITLE, true); //SendScintilla(SCI_STYLESETFORE, STYLE_COLOUR_TITLE, fgLParam); SendScintilla(SCI_STYLESETBACK, STYLE_DEEP_COLOUR_DEST_FILE, bklParam); SendScintilla(SCI_STYLESETFORE, STYLE_DEEP_COLOUR_DEST_FILE, 0x99cc99); //SendScintilla(SCI_STYLESETFORE, STYLE_DEEP_COLOUR_DEST_FILE, fgLParam); //SendScintilla(SCI_STYLESETBOLD, STYLE_DEEP_COLOUR_DEST_FILE, 1);//޷Чqscint bug //ҪһţȻɫɫ SendScintilla(SCI_STYLESETSIZE, STYLE_DEEP_COLOUR_DEST_FILE, 14); SendScintilla(SCI_STYLESETFORE, STYLE_DEEP_COLOUR_KEYWORD_HIGH, 0x00aaff); SendScintilla(SCI_STYLESETBACK, STYLE_DEEP_COLOUR_KEYWORD_HIGH, bklParam); //кʹ SendScintilla(SCI_STYLESETFORE, STYLE_COLOUR_KEYWORD_HIGH, 0x4080ff); SendScintilla(SCI_STYLESETBACK, STYLE_COLOUR_KEYWORD_HIGH, bklParam); } this->setReadOnly(true); m_resultWin = dynamic_cast(parent); } FindResultView::~FindResultView() {} //бɫ void FindResultView::setLineBackColorStyle(int line, int style) { int startPos = SendScintilla(SCI_POSITIONFROMLINE, line); int len = SendScintilla(SCI_LINELENGTH, line); SendScintilla(SCI_STARTSTYLING, startPos); SendScintilla(SCI_SETSTYLING, len, style); } //ǰɫline кţposλÿʼ void FindResultView::setLineColorStyle(int line, int offsetPos, int length, int style) { int startPos = SendScintilla(SCI_POSITIONFROMLINE, line); SendScintilla(SCI_STARTSTYLING, startPos + offsetPos); SendScintilla(SCI_SETSTYLING, length, style); } void FindResultView::mouseDoubleClickEvent(QMouseEvent* /*e*/) { //QsciScintilla::mouseDoubleClickEvent(e); int line = 0; int index = 0; this->getCursorPosition(&line,&index); emit lineDoubleClick(line); } void FindResultView::contextUserDefineMenuEvent(QMenu* menu) { if (menu != nullptr) { //ƶһλ QAction* pCopy = menu->findChild("copy"); if (pCopy != nullptr) { menu->removeAction(pCopy); } menu->addAction(tr("Fold All"), this, &FindResultView::on_foldAll); menu->addAction(tr("Expand All"), this, &FindResultView::on_expandAll); menu->addSeparator(); if (pCopy != nullptr) { menu->addAction(pCopy); } menu->addAction(tr("copy select line"), this, &FindResultView::on_copySelectLine); menu->addAction(tr("warp"), this, &FindResultView::on_warp); menu->addSeparator(); menu->addAction(tr("clear"), this, &FindResultView::on_clear); menu->addAction(tr("close"), this, &FindResultView::on_close); } menu->move(cursor().pos()); //ò˵ʾλ menu->show(); } void FindResultView::on_foldAll() { for (int i = 0; i < m_resultWin->m_resultLineInfo.size(); ++i) { const ResultLineInfo& lineInfo = m_resultWin->m_resultLineInfo.at(i); //1Уһ if ((lineInfo.level == 1) || (lineInfo.level == 0)) { SendScintilla(SCI_FOLDLINE, i, (long)SC_FOLDACTION_CONTRACT); } } } void FindResultView::on_expandAll() { for (int i = 0; i < m_resultWin->m_resultLineInfo.size(); ++i) { const ResultLineInfo& lineInfo = m_resultWin->m_resultLineInfo.at(i); //1Уһ if ((lineInfo.level == 1) || (lineInfo.level == 0)) { SendScintilla(SCI_FOLDLINE, i, SC_FOLDACTION_EXPAND); } } } //ѡе //void FindResultView::on_copySelect() //{ // QString word = selectedText(); // if (!word.isEmpty()) // { // QClipboard* clipboard = QApplication::clipboard(); // clipboard->setText(word); // // CTipWin::showTips(this, tr("Copy to clipboard Finished!"), 1200,true); // } //} //ѡ void FindResultView::on_copySelectLine() { int startPos = SendScintilla(SCI_GETSELECTIONSTART); int endPos = SendScintilla(SCI_GETSELECTIONEND); int startLine = SendScintilla(SCI_LINEFROMPOSITION, startPos); int endLine = SendScintilla(SCI_LINEFROMPOSITION, endPos); int start = SendScintilla(SCI_POSITIONFROMLINE, startLine); int end = SendScintilla(SCI_POSITIONFROMLINE, endLine+1); char *dest = new char[end - start + 1]; dest[end - start] = '\0'; Sci_TextRange tr; tr.chrg.cpMin = static_cast(start); tr.chrg.cpMax = static_cast(end); tr.lpstrText = dest; this->SendScintilla(SCI_GETTEXTRANGE, 0, &tr); QString text(dest); QStringList lineText = text.split("\n"); QString selectConnect; for (int i = 0; i < lineText.size(); ++i) { const QString& t = lineText.at(i); int pos = t.indexOf(": "); if (pos != -1) { QString v = t.mid(pos + 2); selectConnect.append(v); selectConnect.append("\n"); } } QClipboard* clipboard = QApplication::clipboard(); clipboard->setText(selectConnect); //CTipWin::showTips(this, tr("Copy to clipboard Finished!"), 1200, true); } void FindResultView::on_clear() { this->clear(); m_resultWin->clear(); } void FindResultView::on_close() { m_resultWin->m_parent->close(); } void FindResultView::on_warp() { if (SC_WRAP_CHAR != wrapMode()) { this->setWrapMode(QsciScintilla::WrapCharacter); } else { this->setWrapMode(QsciScintilla::WrapNone); } } ================================================ FILE: src/findresultview.h ================================================ #pragma once #include #include #include #include extern const int MARGIN_VER_LINE; extern const int STYLE_COLOUR_TITLE; extern const int STYLE_COLOUR_DEST_FILE; extern const int STYLE_COLOUR_KEYWORD_HIGH; extern const int STYLE_COLOUR_KEYWORD_BACK_HIGH; extern const int STYLE_DEEP_COLOUR_KEYWORD_HIGH; extern const int STYLE_DEEP_COLOUR_DEST_FILE; class FindResultWin; class FindResultView : public QsciScintilla { Q_OBJECT public: FindResultView(QWidget* parent); virtual ~FindResultView(); void setLineBackColorStyle(int line, int style); void setLineColorStyle(int line, int pos, int length, int style); signals: void lineDoubleClick(int line); public slots: void on_foldAll(); private slots: void on_expandAll(); //void on_copySelect(); void on_copySelectLine(); void on_clear(); void on_close(); void on_warp(); protected: void mouseDoubleClickEvent(QMouseEvent* e) override; void contextUserDefineMenuEvent(QMenu* menu) override; void setFoldColor(int margin, QColor fgClack, QColor bkColor, QColor foreActive); private: FindResultWin* m_resultWin; }; ================================================ FILE: src/findresultwin.cpp ================================================ #include "findresultwin.h" #include "findwin.h" #include "common.h" #include "styleset.h" #include "nddsetting.h" #include "findresultview.h" #include #include //#include //#include //#include //#include //#include //#include #include #include #include //目前可以高亮,使用富文本进行了高亮设置。但是有个问题:富文本与html有一些冲突,在<>存在时,可能导致乱。这是一个问题。20220609 //使用Html的转义解决了该问题 FindResultWin::FindResultWin(QWidget *parent) : QWidget(parent), m_menu(nullptr), m_parent(parent),m_defaultFontSize(14), m_defFontSizeChange(false) { ui.setupUi(this); connect(ui.displayView, &FindResultView::lineDoubleClick, this, &FindResultWin::on_lineDoubleClick); } FindResultWin::~FindResultWin() { if (m_defFontSizeChange) { NddSetting::updataKeyValueFromNumSets(FIND_RESULT_FONT_SIZE, m_defaultFontSize); } clear(); } void FindResultWin::clear() { for (int i = 0; i < m_resultLineFilePath.size(); ++i) { delete m_resultLineFilePath.at(i); } m_resultLineFilePath.clear(); m_resultLineInfo.clear(); } void FindResultWin::slot_clearAllContents() { clear(); ui.displayView->clear(); } #if 0 //老的机制,暂时屏蔽,后续可删除 //高亮查找的关键字文本。Index表示是第几次出现,前面的要跳过 void FindResultWin::highlightFindText(int index, QString &srcText, QString &findText, Qt::CaseSensitivity cs) { #if 0 int pos = 0; int findPos = 0; //先把< > 转义为因为会与原来的html标签冲突。这是一个很厉害的方法,如果不转义,会导致显示丢失 srcText = srcText.toHtmlEscaped(); findText = findText.toHtmlEscaped(); int lens = findText.size(); while (index > 0) { pos = srcText.indexOf(findText, findPos, cs); if (pos == -1) { //错误,不替换 return; } else { findPos = pos + lens; } index--; } srcText.replace(pos, lens, QString("%1").arg(srcText.mid(pos,lens))); #endif } #endif const int MAX_HEAD_LENTGH = 20; const int MAX_TAIL_LENGTH = 80; #if 0 //更复杂的高亮:在全词语匹配,大小写敏感,甚至正则表达式情况下,上面的highlightFindText是不够的。需要精确定位 QString FindResultWin::highlightFindText(FindRecord& record) { #if 0 QByteArray utf8bytes = record.lineContents.toUtf8(); int lineLens = utf8bytes.length(); bool isNeedCut = false; //行太长的进行缩短显示 if (lineLens > 300) { isNeedCut = true; } //高亮的开始、结束位置 int targetStart = record.pos - record.lineStartPos; int targetLens = record.end - record.pos; int tailStart = record.end - record.lineStartPos; QString head; QString src; QString tail; if (!StyleSet::isCurrentDeepStyle()) { if (!isNeedCut) { head = QString("%1").arg(QString(utf8bytes.mid(0, targetStart)).toHtmlEscaped()); src = QString("%1").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped()); tail = QString("%1").arg(QString(utf8bytes.mid(tailStart)).toHtmlEscaped()); } else { head = QString(utf8bytes.mid(0, targetStart)); if (head.size() > MAX_HEAD_LENTGH) { head = (head.mid(0, MAX_HEAD_LENTGH) + "...").toHtmlEscaped(); } else { head = head.toHtmlEscaped(); } head = QString("%1").arg(head); src = QString("%1").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped()); tail = QString(utf8bytes.mid(tailStart)); if (tail > MAX_TAIL_LENGTH) { tail = (tail.mid(0, MAX_TAIL_LENGTH) + "...").toHtmlEscaped(); } else { tail = tail.toHtmlEscaped(); } tail = QString("%1").arg(tail); } } else { if (!isNeedCut) { head = QString("%1").arg(QString(utf8bytes.mid(0, targetStart)).toHtmlEscaped()); src = QString("%1").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped()); tail = QString("%1").arg(QString(utf8bytes.mid(tailStart)).toHtmlEscaped()); } else { QString headContens = QString(utf8bytes.mid(0, targetStart)); if (headContens.size() > MAX_HEAD_LENTGH) { headContens = (headContens.mid(0, MAX_HEAD_LENTGH) + "...").toHtmlEscaped(); } else { headContens = headContens.toHtmlEscaped(); } head = QString("%1").arg(headContens); src = QString("%1").arg(QString(utf8bytes.mid(targetStart, targetLens)).toHtmlEscaped()); QString tailContens = QString(utf8bytes.mid(tailStart)); if (tailContens > MAX_TAIL_LENGTH) { tailContens = (tailContens.mid(0, MAX_TAIL_LENGTH) + "...").toHtmlEscaped(); } else { tailContens = tailContens.toHtmlEscaped(); } tail = QString("%1").arg(tailContens); } } return QString("%1%2%3").arg(head).arg(src).arg(tail); #endif return ""; } //在当前文件查找字段,结果是一个单一的FindRecords void FindResultWin::appendResultsToShow(FindRecords* record) { #if 0 if (record == nullptr) { return; } FindResultView* pDisplay = ui.displayView; QString findTitle = tr("Search \"%1\" (%2 hits)\n").arg(record->findText).arg(record->records.size()); //pDisplay->append(findTitle); pDisplay->insertAt(findTitle,0,0); pDisplay->SendScintilla(SCI_SETFOLDLEVEL, 0, (long)(0|SC_FOLDLEVELHEADERFLAG)); QStringList contents; for (int i = 0; i < record->records.size(); ++i) { FindRecord v = record->records.at(i); const QString & richText = v.lineContents; QString text; if (!StyleSet::isCurrentDeepStyle()) { text = tr("Line %1 : %2\n").arg(v.lineNum + 1).arg(richText); } else { text = tr("Line %1 : %2\n").arg(v.lineNum + 1).arg(richText); } contents.append(text); } pDisplay->insertAt(contents.join(""), 1, 0); for (int i = 0; i < record->records.size(); ++i) { pDisplay->SendScintilla(SCI_SETFOLDLEVEL, i+1, 1); } #endif #if 0 QString findTitle; findTitle = tr("Search \"%1\" (%2 hits)").arg(record->findText.toHtmlEscaped()).arg(record->records.size()); QStandardItem* titleItem = new QStandardItem(findTitle); setItemBackground(titleItem, QColor(0xbbbbff)); m_model->insertRow(0, titleItem); titleItem->setData(QVariant(true), ResultItemRoot); int rowNum = m_model->rowCount(); //把其余的行收起来。把第一行张开 for (int i = 1; i < rowNum; ++i) { ui.resultTreeView->collapse(m_model->index(i, 0)); } ui.resultTreeView->expand(m_model->index(0, 0)); if (record->records.size() == 0) { return; } QString desc; if (!StyleSet::isCurrentDeepStyle()) { desc = tr("%1 (%2 hits)").arg(record->findFilePath.toHtmlEscaped()).arg(record->records.size()); } else { desc = tr("%1 (%2 hits)").arg(record->findFilePath.toHtmlEscaped()).arg(record->records.size()); } QStandardItem* descItem = new QStandardItem(desc); if (!StyleSet::isCurrentDeepStyle()) { setItemBackground(descItem, QColor(0xd5ffd5)); } else { setItemBackground(descItem, QColor(0x484848)); } titleItem->appendRow(descItem); descItem->setData(QVariant((qlonglong)record->pEdit), ResultItemEditor); descItem->setData(QVariant(record->findFilePath), ResultItemEditorFilePath); descItem->setData(QVariant(record->findText), ResultWhatFind); //描述行双击不响应 descItem->setData(QVariant(true), ResultItemDesc); for (int i =0 ; i < record->records.size(); ++i) { FindRecord v = record->records.at(i); QString richText = highlightFindText(v); QString text; if (!StyleSet::isCurrentDeepStyle()) { text = tr("Line %1 : %2").arg(v.lineNum + 1).arg(richText); } else { text = tr("Line %1 : %2").arg(v.lineNum + 1).arg(richText); } QStandardItem* childItem = new QStandardItem(text); childItem->setData(QVariant(v.pos), ResultItemPos); childItem->setData(QVariant(v.end - v.pos), ResultItemLen); #if defined(Q_OS_MAC) childItem->setTextAlignment(Qt::AlignVCenter); #endif descItem->appendRow(childItem); } if (!record->records.isEmpty()) { ui.resultTreeView->expand(m_model->index(0, 0, m_model->index(0, 0))); } #endif } #endif void FindResultWin::appendResultsToShow(QVector* record, int hits, QString whatFind) { if (record == nullptr) { return; } if (this->isHidden()) { this->setVisible(true); } ResultLineInfo lineInfo; QString findTitle = tr("Search \"%1\" (%2 hits in %3 files)\n").arg(whatFind).arg(hits).arg(record->size()); FindResultView* pDisplay = ui.displayView; pDisplay->on_foldAll(); pDisplay->insertAt(findTitle, 0, 0); lineInfo.level = 0; m_resultLineInfo.insert(0,lineInfo); pDisplay->SendScintilla(SCI_SETFOLDLEVEL, 0, (long)(0 | SC_FOLDLEVELHEADERFLAG)); if (record->size() == 0) { return; } QStringList contents; QList keyworkOffsetPos; QString text; QString linePrefix; int insertIndex = 1; for (int i = 0, count = record->size(); i < count; ++i) { FindRecords* pr = record->at(i); QString* pFilePath = new QString(pr->findFilePath); QString desc; if (!StyleSet::isCurrentDeepStyle()) { desc = tr(" %1 (%2 hits)\n").arg(pr->findFilePath).arg(pr->records.size()); } else { desc = tr(" %1 (%2 hits)\n").arg(pr->findFilePath).arg(pr->records.size()); } contents.append(desc); m_resultLineFilePath.append(pFilePath); lineInfo.level = 1; m_resultLineInfo.insert(insertIndex, lineInfo); ++insertIndex; for (int j = 0; j < pr->records.size(); ++j) { FindRecord v = pr->records.at(j); QString richText = v.lineContents; linePrefix = tr(" Line %1: ").arg(v.lineNum + 1); if (!StyleSet::isCurrentDeepStyle()) { text = tr("%1%2\n").arg(linePrefix).arg(richText); } else { text = tr("%1%2\n").arg(linePrefix).arg(richText); } contents.append(text); keyworkOffsetPos.append(linePrefix.toUtf8().size()); lineInfo.level = 2; lineInfo.resultPos = v.pos; lineInfo.resultEnd = v.end; lineInfo.pFilePath = pFilePath; m_resultLineInfo.insert(insertIndex, lineInfo); ++insertIndex; QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents); } } pDisplay->insertAt(contents.join(""), 1, 0); int lineNum = 1; QList destFileLineNum; for (int i = 0, count = record->size(); i < count; ++i) { FindRecords* pr = record->at(i); pDisplay->SendScintilla(SCI_SETFOLDLEVEL, lineNum, (long)(1 | SC_FOLDLEVELHEADERFLAG)); destFileLineNum.append(lineNum); ++lineNum; for (int j = 0; j < pr->records.size(); ++j) { pDisplay->SendScintilla(SCI_SETFOLDLEVEL, lineNum, (long)2| SC_FOLDLEVELBASE); ++lineNum; } } //着色 pDisplay->setLineBackColorStyle(0, STYLE_COLOUR_TITLE); for (int i = 0, count = destFileLineNum.size(); i < count; ++i) { pDisplay->setLineBackColorStyle(destFileLineNum.at(i), (StyleSet::isCurrentDeepStyle()? STYLE_DEEP_COLOUR_DEST_FILE:STYLE_COLOUR_DEST_FILE)); } //关键字高亮 //高亮的开始、结束位置 int targetStart = 0; int targetLens = 0; lineNum = 1; int lineOffsetPosIndex = 0; int lineOffsetPos = 0; QString lineNumStr = tr(" Line "); int skipLineNumOffset = lineNumStr.toUtf8().size(); for (int i = 0, count = record->size(); i < count; ++i) { FindRecords* pr = record->at(i); ++lineNum; for (int j = 0; j < pr->records.size(); ++j) { lineOffsetPos = keyworkOffsetPos.at(lineOffsetPosIndex); const FindRecord &v = pr->records.at(j); targetStart = v.pos - v.lineStartPos + lineOffsetPos; targetLens = v.end - v.pos; pDisplay->setLineColorStyle(lineNum, skipLineNumOffset, lineOffsetPos-skipLineNumOffset-2, STYLE_COLOUR_KEYWORD_HIGH); pDisplay->setLineColorStyle(lineNum, targetStart, targetLens, (StyleSet::isCurrentDeepStyle()? STYLE_DEEP_COLOUR_KEYWORD_HIGH:STYLE_COLOUR_KEYWORD_BACK_HIGH)); ++lineNum; ++lineOffsetPosIndex; } } pDisplay->SendScintilla(SCI_GOTOLINE, 0); } int FindResultWin::getDefaultFontSize() { return m_defaultFontSize; } void FindResultWin::setDefaultFontSize(int defSize) { m_defaultFontSize = defSize; } void FindResultWin::on_lineDoubleClick(int lineNum) { if (lineNum < m_resultLineInfo.size()) { const ResultLineInfo& lineInfo = m_resultLineInfo.at(lineNum); if (lineInfo.level == 2) { //文件定位到行 emit lineDoubleClicked(lineInfo.pFilePath, lineInfo.resultPos, lineInfo.resultEnd); } else if ((lineInfo.level == 0) || (lineInfo.level == 1)) { ui.displayView->SendScintilla(SCI_FOLDLINE, lineNum, SC_FOLDACTION_TOGGLE); } } } ================================================ FILE: src/findresultwin.h ================================================ #pragma once #include #include #include #include "ui_findresultwin.h" class FindRecords; struct FindRecord; struct ResultLineInfo { int level;//͡0 1 20:title 1 filepath desc 2 result int resultPos;//ֶεĿʼoffset01ûֶεġ int resultEnd;// QString* pFilePath; }; class FindResultWin : public QWidget { Q_OBJECT public: friend class FindResultView; FindResultWin(QWidget *parent = Q_NULLPTR); ~FindResultWin(); void appendResultsToShow(QVector* record, int hits, QString whatFind); int getDefaultFontSize(); void setDefaultFontSize(int defSize); void clear(); signals: void itemDoubleClicked(const QModelIndex &index); void showMsg(QString &msg); void lineDoubleClicked(QString* pFilePath, int pos, int end); private slots: void on_lineDoubleClick(int line); public slots: void slot_clearAllContents(); private: #if 0 void setItemBackground(QStandardItem* item, const QColor& color); void setItemForeground(QStandardItem * item, const QColor & color); void highlightFindText(int index, QString & srcText, QString & findText, Qt::CaseSensitivity cs); QString highlightFindText(FindRecord& record); #endif private: Ui::FindResultWin ui; QMenu *m_menu; QWidget* m_parent; QList m_resultLineInfo; QList m_resultLineFilePath; int m_defaultFontSize; bool m_defFontSizeChange; }; ================================================ FILE: src/findresultwin.ui ================================================ FindResultWin 0 0 895 476 Microsoft YaHei 10 FindResultWin false 0 0 0 0 0 QFrame::StyledPanel QFrame::Raised FindResultView QFrame
findresultview.h
1
================================================ FILE: src/findwin.cpp ================================================ #include "findwin.h" #include "scintillaeditview.h" #include "ccnotepad.h" #include "progresswin.h" #include "doctypelistview.h" #include "filemanager.h" #include "ccnotepad.h" #include "nddsetting.h" #include #include #include #include #include #include #include #include enum TAB_TYPES { FIND_TYPE=0, RELPACE_TYPE, DIR_FIND_TYPE, MARK_TYPE, }; const int MAX_RECORD_KEY_LENGTH = 20; FindWin::FindWin(QWidget *parent):QMainWindow(parent), m_editTabWidget(nullptr), m_isFindFirst(true), m_findHistory(nullptr), \ pEditTemp(nullptr), m_curEditWin(nullptr), m_isStatic(false), m_isReverseFind(false), m_pMainPad(parent) { ui.setupUi(this); //默认值要与界面初始值一样。 m_BackwardDir = false; m_matchWhole = false; m_matchCase = false; m_matchWrap = true; m_extend = false; m_searchMode = 1; m_re = false; m_cs = false; m_wo = false; m_wrap = true; m_forward = true;;//是否向前查找。注意如果向后,要为false m_extend = false; m_isFound = false; connect(ui.findModeRegularBt, &QRadioButton::toggled, this, &FindWin::slot_findModeRegularBtChange); connect(ui.replaceModeRegularBt, &QRadioButton::toggled, this, &FindWin::slot_replaceModeRegularBtChange); connect(ui.dealFileType, &QCheckBox::stateChanged, this,&FindWin::slot_dealFileTypeChange); connect(ui.skipDir, &QCheckBox::stateChanged, this, &FindWin::slot_skipDirChange); connect(ui.clearBt, &QAbstractButton::clicked, this, &FindWin::sign_clearResult); connect(ui.findClearBt, &QAbstractButton::clicked, this, &FindWin::sign_clearResult); connect(ui.findinfilesTab, &QTabWidget::currentChanged, this, &FindWin::slot_tabIndexChange); #if 0 //这样是无效的,记住一下,不删除,避免后面再做无用功 Qt::WindowFlags m_flags = windowFlags(); //这样使得窗口在上面,不至于总是到后面被挡住。 #if defined (Q_MAC_OS) setWindowFlags(m_flags | Qt::WindowStaysOnTopHint); #endif #endif raise(); setFocusPolicy(Qt::StrongFocus); setFocus(); ui.findinfilesTab->setAttribute(Qt::WA_StyledBackground); ui.findComboBox->installEventFilter(this); } FindWin::~FindWin() { m_findHistory = nullptr; if (pEditTemp != nullptr) { delete pEditTemp; pEditTemp = nullptr; } } void FindWin::slot_tabIndexChange(int index) { TAB_TYPES type = (TAB_TYPES)index; if (RELPACE_TYPE == type) { ui.replaceTextBox->setFocus(); ui.replaceTextBox->lineEdit()->selectAll(); if (ui.replaceTextBox->currentText().isEmpty() && !ui.findComboBox->currentText().isEmpty()) { if (ui.findComboBox->currentText().size() < MAX_RECORD_KEY_LENGTH) { ui.replaceTextBox->setCurrentText(ui.findComboBox->currentText()); } } } else if(FIND_TYPE == type) { ui.findComboBox->setFocus(); ui.findComboBox->lineEdit()->selectAll(); if (ui.findComboBox->currentText().isEmpty() && !ui.replaceTextBox->currentText().isEmpty()) { if (ui.replaceTextBox->currentText().size() < MAX_RECORD_KEY_LENGTH) { ui.findComboBox->setCurrentText(ui.replaceTextBox->currentText()); } } } else if (DIR_FIND_TYPE == type) { ui.dirFindWhat->setFocus(); ui.dirFindWhat->lineEdit()->selectAll(); } else if (MARK_TYPE == type) { ui.markTextBox->setFocus(); ui.markTextBox->lineEdit()->selectAll(); } m_isFindFirst = true; if (m_findHistory->isEmpty()) { return; } } void FindWin::slot_dealFileTypeChange(int state) { if (state == Qt::Checked) { ui.fileType->setEnabled(true); if (ui.fileType->text().isEmpty()) { ui.fileType->setText(ui.fileType->placeholderText()); } ui.fileType->setFocus(); ui.fileType->selectAll(); } else { ui.fileType->setEnabled(false); } } void FindWin::slot_skipDirChange(int state) { if (state == Qt::Checked) { ui.skipDirNames->setEnabled(true); if (ui.skipDirNames->text().isEmpty()) { ui.skipDirNames->setText(ui.skipDirNames->placeholderText()); } ui.skipDirNames->setFocus(); ui.skipDirNames->selectAll(); } else { ui.skipDirNames->setEnabled(false); } } //自动调整当前窗口的状态,如果发生了变化,则需要认定为是首次查找 QWidget* FindWin::autoAdjustCurrentEditWin() { QWidget* pw = m_editTabWidget->currentWidget(); if (m_curEditWin != pw) { m_curEditWin = pw; m_isFindFirst = true; } return pw; } void FindWin::setCurrentTab(FindTabIndex index) { ui.findinfilesTab->setCurrentIndex(index); if (FIND_TAB == index) { ui.findComboBox->setFocus(); ui.findComboBox->lineEdit()->selectAll(); } else if(REPLACE_TAB == index) { ui.replaceTextBox->setFocus(); ui.replaceTextBox->lineEdit()->selectAll(); } raise(); } void FindWin::setTabWidget(QTabWidget *editTabWidget) { m_editTabWidget = editTabWidget; } void FindWin::setFindText(QString &text) { ui.findComboBox->setEditText(text); addFindHistory(text); } void FindWin::keywordWinGetFouse(FindTabIndex tabIndex) { switch (tabIndex) { case FIND_TAB: this->setFocus(); ui.findComboBox->setFocus(); ui.findComboBox->lineEdit()->selectAll(); break; case REPLACE_TAB: ui.replaceTextBox->setFocus(); ui.replaceTextBox->lineEdit()->selectAll(); break; case DIR_FIND_TAB: ui.dirFindWhat->setFocus(); ui.dirFindWhat->lineEdit()->selectAll(); break; case MARK_TAB: ui.markTextBox->setFocus(); ui.markTextBox->lineEdit()->selectAll(); break; default: break; } } void FindWin::setReplaceFindText(QString& text) { ui.replaceTextBox->setEditText(text); addFindHistory(text); } void FindWin::setDirFindText(QString& text) { ui.dirFindWhat->setEditText(text); addFindHistory(text); } void FindWin::setMarkFindText(QString& text) { ui.markTextBox->setEditText(text); addFindHistory(text); } void FindWin::disableReplace() { ui.tab_replace->setEnabled(false); } void FindWin::setFindHistory(QList* findHistory) { m_findHistory = findHistory; if ((m_findHistory != nullptr) && !m_findHistory->isEmpty()) { ui.findComboBox->addItems(*m_findHistory); ui.replaceTextBox->addItems(*m_findHistory); ui.dirFindWhat->addItems(*m_findHistory); ui.markTextBox->addItems(*m_findHistory); ui.findComboBox->clearEditText(); ui.replaceTextBox->clearEditText(); ui.dirFindWhat->clearEditText(); ui.markTextBox->clearEditText(); } } void FindWin::setReplaceHistory(QList* replaceHistory) { m_replaceHistory = replaceHistory; if ((m_replaceHistory != nullptr) && !m_replaceHistory->isEmpty()) { ui.replaceWithBox->addItems(*m_replaceHistory); ui.replaceWithBox->clearEditText(); ui.dirReplaceWhat->addItems(*m_replaceHistory); ui.dirReplaceWhat->clearEditText(); } } //标记高亮所有word单词 int FindWin::markAllWord(QString & word) { ui.markTextBox->setCurrentText(word); ui.findinfilesTab->setCurrentIndex(3); //发现中文在全词匹配下面不能匹配到单词。最好是英文全词匹配,中文不需要 //但是好像没有一个现成的方法来判断word中的字符。暂时不做全词匹配 ui.markMatchWholeBox->setChecked(false); ui.markMatchCaseBox->setChecked(true); return markAll(); } //删除行首尾的空白字符 void FindWin::removeLineHeadEndBlank(int mode) { QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow this operation."), 8000); QApplication::beep(); return; } ui.findinfilesTab->setCurrentIndex(1); if (mode == 1) { ui.replaceTextBox->setCurrentText("^[ ]+"); } else if (mode == 2) { ui.replaceTextBox->setCurrentText("[ ]+$"); } ui.replaceWithBox->setEditText(""); ui.replaceModeRegularBt->setChecked(true); m_isStatic = true; slot_replaceAll(); m_isStatic = false; } } void FindWin::focusInEvent(QFocusEvent * ev) { QWidget::focusInEvent(ev); setWindowOpacity(1.0); } void FindWin::focusOutEvent(QFocusEvent * ev) { QWidget::focusOutEvent(ev); if (this->isActiveWindow()) { //当前还是活动窗口,不设置透明 return; } else { setWindowOpacity(0.6); //static int i = 0; //qDebug() << ++i; } } bool FindWin::eventFilter(QObject* watched, QEvent *event) { if (watched == ui.findComboBox) { if (event->type() == QEvent::KeyPress) { QKeyEvent *ke = static_cast(event); if (ke->key() == Qt::Key_Enter || ke->key() == Qt::Key_Return) { emit ui.findTextNext->click(); return true; //该事件已经被处理 } return false; } else { return false; } } return QWidget::eventFilter(watched, event); // 最后将事件交给上层对话框 } //从ui读取参数配置到成员变量 void FindWin::updateParameterFromUI() { bool extend = false; if (ui.findinfilesTab->currentIndex() == 0) { int searchMode = 0; if (ui.findModeNormalBt->isChecked()) { searchMode = 1; extend = false; } else if (ui.findModeRegularBt->isChecked()) { searchMode = 2; extend = false; } else if (ui.findModeExtendBt->isChecked()) { searchMode = 1; extend = true; } if (m_searchMode != searchMode) { m_searchMode = searchMode; m_isFindFirst = true; } if (m_expr != ui.findComboBox->currentText()) { m_expr = ui.findComboBox->currentText(); m_isFindFirst = true; } if (m_BackwardDir != ui.findBackwardBox->isChecked()) { m_BackwardDir = ui.findBackwardBox->isChecked(); m_isFindFirst = true; } if (m_matchWhole != ui.findMatchWholeBox->isChecked()) { m_matchWhole = ui.findMatchWholeBox->isChecked(); m_isFindFirst = true; } if (m_matchCase != ui.findMatchCaseBox->isChecked()) { m_matchCase = ui.findMatchCaseBox->isChecked(); m_isFindFirst = true; } if (m_matchWrap != ui.findWrapBox->isChecked()) { m_matchWrap = ui.findWrapBox->isChecked(); m_isFindFirst = true; } } else if (ui.findinfilesTab->currentIndex() == 1) { int searchMode = 0; if (ui.replaceModeNormalBox->isChecked()) { searchMode = 1; extend = false; } else if (ui.replaceModeRegularBt->isChecked()) { searchMode = 2; extend = false; } else if (ui.replaceModeExtendBox->isChecked()) { searchMode = 1; extend = true; } if (m_searchMode != searchMode) { m_searchMode = searchMode; m_isFindFirst = true; } if (m_expr != ui.replaceTextBox->currentText()) { m_expr = ui.replaceTextBox->currentText(); m_isFindFirst = true; } if (m_replaceWithText != ui.replaceWithBox->currentText()) { m_replaceWithText = ui.replaceWithBox->currentText(); m_isFindFirst = true; } if (m_BackwardDir != ui.replaceBackwardBox->isChecked()) { m_BackwardDir = ui.replaceBackwardBox->isChecked(); m_isFindFirst = true; } if (m_matchWhole != ui.replaceMatchWholeBox->isChecked()) { m_matchWhole = ui.replaceMatchWholeBox->isChecked(); m_isFindFirst = true; } if (m_matchCase != ui.replaceMatchCaseBox->isChecked()) { m_matchCase = ui.replaceMatchCaseBox->isChecked(); m_isFindFirst = true; } if (m_matchWrap != ui.replaceWrapBox->isChecked()) { m_matchWrap = ui.replaceWrapBox->isChecked(); m_isFindFirst = true; } } else if (ui.findinfilesTab->currentIndex() == 2) { int searchMode = 0; if (ui.dirFindModeNormalBox->isChecked()) { searchMode = 1; extend = false; } else if (ui.dirFindModeRegularBt->isChecked()) { searchMode = 2; extend = false; } else if (ui.dirFindModeExtendBox->isChecked()) { searchMode = 1; extend = true; } if (m_searchMode != searchMode) { m_searchMode = searchMode; m_isFindFirst = true; } if (m_expr != ui.dirFindWhat->currentText()) { m_expr = ui.dirFindWhat->currentText(); m_isFindFirst = true; } if (m_replaceWithText != ui.dirReplaceWhat->currentText()) { m_replaceWithText = ui.dirReplaceWhat->currentText(); m_isFindFirst = true; } m_BackwardDir = false; if (m_matchWhole != ui.dirFindMatchWholeBox->isChecked()) { m_matchWhole = ui.dirFindMatchWholeBox->isChecked(); m_isFindFirst = true; } if (m_matchCase != ui.dirFindMatchCaseBox->isChecked()) { m_matchCase = ui.dirFindMatchCaseBox->isChecked(); m_isFindFirst = true; } m_matchWrap = true; } else if (ui.findinfilesTab->currentIndex() == 3) { int searchMode = 0; if (ui.markModeNormalBox->isChecked()) { searchMode = 1; extend = false; } else if (ui.markModeRegularBt->isChecked()) { searchMode = 2; extend = false; } else if (ui.markModeExtendBox->isChecked()) { searchMode = 1; extend = true; } if (m_searchMode != searchMode) { m_searchMode = searchMode; m_isFindFirst = true; } if (m_expr != ui.markTextBox->currentText()) { m_expr = ui.markTextBox->currentText(); m_isFindFirst = true; } m_BackwardDir = false; if (m_matchWhole != ui.markMatchWholeBox->isChecked()) { m_matchWhole = ui.markMatchWholeBox->isChecked(); m_isFindFirst = true; } if (m_matchCase != ui.markMatchCaseBox->isChecked()) { m_matchCase = ui.markMatchCaseBox->isChecked(); m_isFindFirst = true; } m_matchWrap = true; } m_re = ((m_searchMode == 2) ? true : false); if (m_cs != m_matchCase) { m_cs = m_matchCase; } if (m_wo != m_matchWhole) { m_wo = m_matchWhole; } if (m_wrap != m_matchWrap) { m_wrap = m_matchWrap; } if (m_extend != extend) { m_extend = extend; m_isFindFirst = true; } //本来的m_BackwardDir只控制是否勾选反向 m_forward = !m_BackwardDir; //m_isReverseFind 控制是否还需要反向一直,只在查找前一个生效,只影响查找界面 if (ui.findinfilesTab->currentIndex() == 0) { m_forward = (m_isReverseFind ? !m_forward : m_forward); } } #if 0 //开始做了历史记录重复删除的,后面发现时序有问题,暂时不做 void findItemAndRemove(QComboBox* pCombox, QString& text) { int index = pCombox->findText(text); if (index != -1) { pCombox->removeItem(index); } } #endif void FindWin::addFindHistory(QString &text) { //太长会导致看起来很杂乱,也不记录 if (text.isEmpty() || text.size() >= MAX_RECORD_KEY_LENGTH) { return; } if (m_findHistory != nullptr) { int index = m_findHistory->indexOf(text,0); //已经是最上面一个了,直接返回 if (0 == index) { return; } //没有直接添加到最前面。不做查找删除重复,一是慢,而是删除会引起信号逻辑时许有误 if (-1 == index) { m_findHistory->push_front(text); ui.findComboBox->insertItem(0, text); ui.replaceTextBox->insertItem(0, text); ui.dirFindWhat->insertItem(0, text); ui.markTextBox->insertItem(0, text); } else { //有了怎么办,删除旧的,加新的 m_findHistory->removeAt(index); m_findHistory->push_front(text); //发现不能只删除旧的,有bug,一旦删除后,查找框乱了,被切换到下一个。 ui.findComboBox->removeItem(index); ui.replaceTextBox->removeItem(index); ui.dirFindWhat->removeItem(index); ui.markTextBox->removeItem(index); ui.findComboBox->insertItem(0, text); ui.replaceTextBox->insertItem(0, text); ui.dirFindWhat->insertItem(0, text); ui.markTextBox->insertItem(0, text); //发现不能只删除旧的,有bug,一旦删除后,查找框乱了,被切换到下一个。 //必须重新设置一下,否则查找框里面字段乱跳到下一个去了 ui.findComboBox->setCurrentIndex(0); ui.replaceTextBox->setCurrentIndex(0); ui.dirFindWhat->setCurrentIndex(0); ui.markTextBox->setCurrentIndex(0); } if (m_findHistory->size() >= 15) { m_findHistory->takeLast(); } } } void FindWin::addReplaceHistory(QString& text) { //太长会导致看起来很杂乱,也不记录 if (text.isEmpty() || text.size() >= MAX_RECORD_KEY_LENGTH) { return; } if (m_replaceHistory != nullptr) { int index = m_replaceHistory->indexOf(text, 0); //已经是最上面一个了,直接返回 if (0 == index) { return; } //没有直接添加到最前面。不做查找删除重复,一是慢,而是删除会引起信号逻辑时序有误 if (-1 == index) { m_replaceHistory->push_front(text); ui.replaceWithBox->insertItem(0, text); ui.dirReplaceWhat->insertItem(0, text); } else { //有了怎么办,删除旧的,加新的 m_replaceHistory->removeAt(index); m_replaceHistory->push_front(text); //发现不能只删除旧的,有bug,一旦删除后,查找框乱了,被切换到下一个。 ui.replaceWithBox->removeItem(index); ui.dirReplaceWhat->removeItem(index); ui.replaceWithBox->insertItem(0, text); ui.dirReplaceWhat->insertItem(0, text); //发现不能只删除旧的,有bug,一旦删除后,查找框乱了,被切换到下一个。 //必须重新设置一下,否则查找框里面字段乱跳到下一个去了 ui.replaceWithBox->setCurrentIndex(0); ui.dirReplaceWhat->setCurrentIndex(0); } if (m_replaceHistory->size() >= 15) { m_replaceHistory->takeLast(); } } } //检查是否是第一次查找,凡是参数变化了,则认定为是第一次查找。 //因为查找分firstFirst和firstNext,则是qscint特性决定的。所以正确识别第一次查找是必要的 bool FindWin::isFirstFind() { return m_isFindFirst; } //const QChar *constData() const bool readBase(const QChar * str, int * value, int base, int size) { int i = 0, temp = 0; *value = 0; QChar max = QChar(QChar('0').digitValue() + base - 1); QChar current; while (i < size) { current = str[i]; if (current >= 'A') { current = current.digitValue() & 0xdf; current = current.digitValue() - ('A' - '0' - 10); } else if (current > '9') return false; if (current >= '0' && current <= max) { temp *= base; temp += (current.digitValue() - '0'); } else { return false; } ++i; } *value = temp; return true; } int convertExtendedToString(QString& query, QString &result) { //query may equal to result, since it always gets smaller int i = 0, j = 0; int length = query.length(); int charLeft = length; QChar current; while (i < length) { //because the backslash escape quences always reduce the size of the generic_string, no overflow checks have to be made for target, assuming parameters are correct current = query.at(i); --charLeft; if (current == '\\' && charLeft) { //possible escape sequence ++i; --charLeft; current = query.at(i); switch (current.toLatin1()) { case 'r': result[j] = '\r'; break; case 'n': result[j] = '\n'; break; case '0': result[j] = '\0'; break; case 't': result[j] = '\t'; break; case '\\': result[j] = '\\'; break; case 'b': case 'd': case 'o': case 'x': case 'u': { int size = 0, base = 0; if (current == 'b') { //11111111 size = 8, base = 2; } else if (current == 'o') { //377 size = 3, base = 8; } else if (current == 'd') { //255 size = 3, base = 10; } else if (current == 'x') { //0xFF size = 2, base = 16; } else if (current == 'u') { //0xCDCD size = 4, base = 16; } if (charLeft >= size) { int res = 0; if (readBase(query.constData() + (i + 1), &res, base, size)) { result[j] = QChar(res); i += size; break; } } //not enough chars to make parameter, use default method as fallback } default: { //unknown sequence, treat as regular text result[j] = '\\'; ++j; result[j] = current; break; } } } else { result[j] = query[i]; } ++i; ++j; } return j; } void FindWin::showCallTip(QsciScintilla* pEdit, int pos) { QString zeroString(tr("find-regex-zero-length-match")); QByteArray bytes = zeroString.toUtf8(); bytes.append('\0'); /*int size = bytes.size(); char* newStr = new char[size + 1]; memcpy(newStr, bytes.data(), size); newStr[bytes.size()] = '\0';*/ pEdit->SendScintilla(SCI_CALLTIPSHOW, pos, (void*)(bytes.data())); /*delete[]newStr;*/ } //删除空白行 void FindWin::removeEmptyLine(bool isBlankContained) { QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow this operation."), 8000); QApplication::beep(); return; } ui.findinfilesTab->setCurrentIndex(1); if (isBlankContained) { ui.replaceTextBox->setCurrentText("^[\\t ]*$(\\r\\n|\\r|\\n)"); } else { ui.replaceTextBox->setCurrentText("^$(\\r\\n|\\r|\\n)"); } ui.replaceWithBox->setEditText(""); ui.replaceModeRegularBt->setChecked(true); m_isStatic = true; slot_replaceAll(); m_isStatic = false; } } void FindWin::findNext() { slot_findNext(); } void FindWin::findPrev() { slot_findPrev(); } /*处理查找时零长的问题。一定要处理,否则会死循环,因为每次都在原地查找。 * 就是把下次查找的startpos往前一个,否则每次都从这个startpos找到自己 */ void FindWin::dealWithZeroFound(QsciScintilla* pEdit) { FindState& state = pEdit->getLastFindState(); if (state.targstart == state.targend) { //强行加1,否则每次查找总是在同一个地方。 state.startpos++; } } //调整光标变化后,查找位置需要调整的情况 void FindWin::adjustSearchStartPosChange(QsciScintilla* pEdit) { int caretPos = pEdit->SendScintilla(SCI_GETCURRENTPOS); FindState& state = pEdit->getLastFindState(); if (state.targend != caretPos) { state.startpos = caretPos; } } /*处理查找时零长的问题。一定要处理,否则会死循环,因为每次都在原地查找。 * 就是把下次查找的startpos往前一个,否则每次都从这个startpos找到自己 * 和dealWithZeroFound是一样的,就是要显示消息而已 */ void FindWin::dealWithZeroFoundShowTip(QsciScintilla* pEdit, bool isShowTip) { if (!isShowTip) { return dealWithZeroFound(pEdit); } FindState& state = pEdit->getLastFindState(); //int linpos = pEdit->SendScintilla(SCI_POSITIONFROMLINE, state.linenum); int line = 0; int indexStart = 0; int indexEnd = 0; pEdit->lineIndexFromPosition(state.targstart, &line, &indexStart); pEdit->lineIndexFromPosition(state.targend, &line, &indexEnd); ui.statusbar->showMessage(tr("target info linenum %1 pos is %2 - %3").arg(state.linenum + 1).arg(indexStart).arg(indexEnd), 8000); if (state.targstart == state.targend) { //强行加1,否则每次查找总是在同一个地方。 //这里有个问题,如果是反向查找,则应该是pos减去1才对。 //不过只有在正则查找才会出现零长,而正则查找时我们不允许反向查找。反向是回调的。 state.startpos++; showCallTip(pEdit, state.targstart); } } void FindWin::dofindNext() { if (ui.findComboBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } updateParameterFromUI(); QWidget* pw = autoAdjustCurrentEditWin(); QsciScintilla* pEdit = dynamic_cast(pw); //第一次查找 if (isFirstFind()) { if (pEdit != nullptr) { QString whatFind = ui.findComboBox->currentText(); addFindHistory(whatFind); if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; } if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, m_wrap, m_forward, FINDNEXTTYPE_FINDNEXT, -1, -1, true, false, false)) { ui.statusbar->showMessage(tr("cant't find text \'%1\'").arg(m_expr), 8000); QApplication::beep(); m_isFindFirst = true; } else { m_isFindFirst = false; dealWithZeroFoundShowTip(pEdit); } } } else { //查找下一个 if (pEdit != nullptr) { adjustSearchStartPosChange(pEdit); if (!pEdit->findNext()) { ui.statusbar->showMessage(tr("no more find text \'%1\'").arg(m_expr), 8000); m_isFindFirst = true; QApplication::beep(); } else { dealWithZeroFoundShowTip(pEdit); } } } } //一旦修改条件发生变化,则认定为第一次查找 void FindWin::slot_findNext() { if (m_isReverseFind) { m_isReverseFind = false; m_isFindFirst = true; } dofindNext(); } void FindWin::setFindBackward(bool isBackward) { if (ui.findBackwardBox->isChecked() != isBackward) { ui.findBackwardBox->setChecked(isBackward); } } void FindWin::slot_findPrev() { if (!m_isReverseFind) { m_isReverseFind = true; m_isFindFirst = true; } dofindNext(); } //查找计数 void FindWin::slot_findCount() { if (ui.findComboBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow this operation."), 8000); QApplication::beep(); return; } updateParameterFromUI(); int srcPostion = pEdit->execute(SCI_GETCURRENTPOS); int firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE); int countNums = 0; //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 QString whatFind = ui.findComboBox->currentText(); //这里不能直接修改results.findText的值,该值在外部显示还需要。如果修改则会显示紊乱 if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; } //这里的forward一定要是true。回环一定是false if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0,false)) { ui.statusbar->showMessage(tr("count %1 times with \'%2\'").arg(countNums).arg(m_expr)); QApplication::beep(); m_isFindFirst = true; return; } else { dealWithZeroFound(pEdit); } ++countNums; //找到了,增加计数 while (pEdit->findNext()) { ++countNums; dealWithZeroFound(pEdit); } pEdit->execute(SCI_GOTOPOS, srcPostion); pEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum); //pEdit->execute(SCI_SETXOFFSET, 0); //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("count %1 times with \'%2\'").arg(countNums).arg(m_expr)); } else { ui.statusbar->showMessage(tr("The mode of the current document does not allow this operation."), 8000); QApplication::beep(); } } //去掉行尾的\n\r符号 static QString trimmedEnd(QString lineText) { if (lineText.endsWith("\r\n")) { return lineText.mid(0, lineText.length()-2); } if (lineText.endsWith("\r")) { return lineText.mid(0, lineText.length()-1); } if (lineText.endsWith("\n")) { return lineText.mid(0, lineText.length()-1); } return lineText; } //getResult:是否提取结果目标字符串。在正则查找时,还是有用的 QString FindWin::addCurFindRecord(ScintillaEditView* pEdit, FindRecords& recordRet,bool isMark, bool getResult) { FindRecord aRecord; QString ret; //看了源码,当前查找到的结果,是会被选中的。所以可通过选中范围,来记录当前被查找中的结果 //光标在选择词的尾部下一个位置 #if 0 aRecord.pos = pEdit->execute(SCI_GETSELECTIONSTART); aRecord.end = pEdit->execute(SCI_GETSELECTIONEND); #endif //加速 FindState& state = pEdit->getLastFindState(); aRecord.pos = state.targstart; aRecord.end = state.targend; aRecord.lineNum = state.linenum; //mark模式不需要这么多信息,可直接返回 if (!isMark) { //静默查找,在后台批量查找时,不会返回这个state.linenum。需要手动获取一下 if (aRecord.lineNum == -1) { aRecord.lineNum = pEdit->execute(SCI_LINEFROMPOSITION, aRecord.pos); } aRecord.lineStartPos = pEdit->execute(SCI_POSITIONFROMLINE, aRecord.lineNum); int lineLens = pEdit->execute(SCI_LINELENGTH, aRecord.lineNum); if (lineLens <= 0) { return ret; } char* lineText = new char[lineLens + 1]; memset(lineText, 0, lineLens + 1); //这里有个bug,是qscint的,查找最后一行,会漏掉最后一个字符 pEdit->execute(SCI_GETLINE, aRecord.lineNum, reinterpret_cast(lineText)); //务必要去掉行位的换行,否则显示结果列表会显示换行 aRecord.lineContents = trimmedEnd(QString(lineText)); delete[]lineText; //如果需要结果,再把结果提取一下 if (getResult && (state.targend - state.targstart > 0)) { Sci_TextRange lineText; lineText.chrg.cpMin = static_cast(state.targstart); lineText.chrg.cpMax = static_cast(state.targend); QByteArray result; result.resize(state.targend - state.targstart); lineText.lpstrText = result.data(); //获取原始行的内容 pEdit->SendScintilla(SCI_GETTEXTRANGE, 0, &lineText); ret = QString(result); } } recordRet.records.append(aRecord); return ret; } //在后台批量查找 int FindWin::findAtBack(QStringList& keyword) { if (keyword.isEmpty()) { return 0; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow replacement."), 8000); QApplication::beep(); return 0; } } m_isStatic = true; int times = 0; ProgressWin* loadFileProcessWin = nullptr; if (keyword.size() > 1000) { loadFileProcessWin = new ProgressWin(this); loadFileProcessWin->setWindowModality(Qt::WindowModal); loadFileProcessWin->info(tr("total %1 keyword, please wait ...").arg(keyword.size())); loadFileProcessWin->setTotalSteps(keyword.size() / 100); loadFileProcessWin->show(); } QString text = pEdit->text(); QByteArray bytes = text.toUtf8(); QByteArray findBytes; int keyLens = 0; int index = 0; for (int i = 0; i < keyword.size(); ++i) { if ((loadFileProcessWin != nullptr) && loadFileProcessWin->isCancel()) { break; } index = 0; //20230223 不走老的逻辑了,批量替换太慢。直接把文件读取处理,在内存中一次性处理完毕。 //但是这样就不知道到底有多少字符串被替换了 findBytes = keyword.at(i).toUtf8(); keyLens = findBytes.size(); while (true) { index = bytes.indexOf(findBytes,index); if (index == -1) { break; } ++times; index += keyLens; } if ((loadFileProcessWin != nullptr)&& ((i % 100) == 0)) { loadFileProcessWin->moveStep(); QCoreApplication::processEvents(); } } if (loadFileProcessWin != nullptr) { delete loadFileProcessWin; } return times; } //在后台批量替换 int FindWin::replaceAtBack(QStringList& keyword, QStringList& replace) { assert(keyword.size() == replace.size()); //this->setCurrentTab(REPLACE_TAB); if (keyword.isEmpty()) { return 0; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow replacement."), 8000); QApplication::beep(); return 0; } } m_isStatic = true; int times = 0; pEdit->execute(SCI_BEGINUNDOACTION); ProgressWin* loadFileProcessWin = nullptr; if (keyword.size() > 1000) { loadFileProcessWin = new ProgressWin(this); loadFileProcessWin->setWindowModality(Qt::WindowModal); loadFileProcessWin->info(tr("total %1 keyword, please wait ...").arg(keyword.size())); loadFileProcessWin->setTotalSteps(keyword.size() / 10); loadFileProcessWin->show(); } QString text = pEdit->text(); for (int i = 0; i < keyword.size(); ++i) { if ((loadFileProcessWin!=nullptr) && loadFileProcessWin->isCancel()) { break; } //20230223 不走老的逻辑了,批量替换太慢。直接把文件读取处理,在内存中一次性处理完毕。 //但是这样就不知道到底有多少字符串被替换了 text.replace(keyword.at(i), replace.at(i)); if ((loadFileProcessWin != nullptr) && ((i % 10) == 0)) { loadFileProcessWin->moveStep(); QCoreApplication::processEvents(); } } //替换外部后,一次性整体替换 int selectionEnd = pEdit->length(); pEdit->execute(SCI_SETTARGETRANGE, 0, selectionEnd); QByteArray bytes = text.toUtf8(); pEdit->execute(SCI_REPLACETARGET, bytes.size(), reinterpret_cast(bytes.data())); if (loadFileProcessWin != nullptr) { delete loadFileProcessWin; } pEdit->execute(SCI_ENDUNDOACTION); m_isStatic = false; return times; } //在后台批量高亮 int FindWin::markAtBack(QStringList& keyword) { if (keyword.isEmpty()) { return 0; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow replacement."), 8000); QApplication::beep(); return 0; } } m_isStatic = true; int times = 0; ProgressWin* loadFileProcessWin = nullptr; if (keyword.size() > 1000) { loadFileProcessWin = new ProgressWin(this); loadFileProcessWin->setWindowModality(Qt::WindowModal); loadFileProcessWin->info(tr("total %1 keyword, please wait ...").arg(keyword.size())); loadFileProcessWin->setTotalSteps(keyword.size() / 100); loadFileProcessWin->show(); } QString text = pEdit->text(); QByteArray bytes = text.toUtf8(); QByteArray findBytes; int keyLens = 0; int index = 0; QMap* > keyPos; for (int i = 0; i < keyword.size(); ++i) { if ((loadFileProcessWin != nullptr) && loadFileProcessWin->isCancel()) { break; } index = 0; //20230223 不走老的逻辑了,批量替换太慢。直接把文件读取处理,在内存中一次性处理完毕。 //但是这样就不知道到底有多少字符串被替换了 findBytes = keyword.at(i).toUtf8(); keyLens = findBytes.size(); if (keyLens == 0) { continue; } QVector* vec = new QVector(); vec->reserve(128); keyPos.insert(findBytes, vec); while (true) { index = bytes.indexOf(findBytes, index); if (index == -1) { break; } ++times; vec->append(index); index += keyLens; } if ((loadFileProcessWin != nullptr) && ((i % 100) == 0)) { loadFileProcessWin->moveStep(); QCoreApplication::processEvents(); } } //把结果高亮起来。 for (QMap* >::iterator it = keyPos.begin(); it != keyPos.end(); ++it) { int foundTextLen = it.key().size(); QVector* pVect = (*it); for (int i = 0, s = pVect->size(); i < s; ++i) { pEdit->execute(SCI_SETINDICATORCURRENT, CCNotePad::s_curMarkColorId); pEdit->execute(SCI_INDICATORFILLRANGE, pVect->at(i), foundTextLen); } delete pVect; } if (loadFileProcessWin != nullptr) { delete loadFileProcessWin; } return times; } int FindWin::findAllInCurDoc(QStringList* reResult) { if (ui.findComboBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return 0; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { if (!m_isStatic) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow this operation."), 8000); } QApplication::beep(); return 0; } QString resultDestStr; int askAbortTimes = 0; FindRecords results; results.pEdit = pEdit; results.findFilePath = pw->property("filePath").toString(); updateParameterFromUI(); //正则模式下面,拷贝所有结果到剪切板 bool isNeedResult(m_re && (reResult != nullptr)); int srcPostion = pEdit->execute(SCI_GETCURRENTPOS); int firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE); int findNums = 0; //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 QString whatFind = ui.findComboBox->currentText(); results.findText = whatFind; //这里不能直接修改results.findText的值,该值在外部显示还需要。如果修改则会显示紊乱 if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; } //这里的forward一定要是true。回环一定是false if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0)) { ui.statusbar->showMessage(tr("cant't find text \'%1\'").arg(m_expr), 8000); if (!m_isStatic) { QApplication::beep(); emit sign_findAllInCurDoc(&results); } m_isFindFirst = true; return 0; } else { dealWithZeroFound(pEdit); } resultDestStr = addCurFindRecord(pEdit, results, false, isNeedResult); //正则模式下面,拷贝所有结果到剪切板 if (isNeedResult) { reResult->append(resultDestStr); } ++findNums; //找到了,把结果收集起来 while (pEdit->findNext()) { resultDestStr = addCurFindRecord(pEdit, results, false, isNeedResult); ++findNums; //正则模式下面,拷贝所有结果到剪切板 if (isNeedResult) { reResult->append(resultDestStr); } dealWithZeroFound(pEdit); //2000 和 4000时各询问一次,避免查询结果过大 if (((askAbortTimes == 0) && findNums > 2000) || ((askAbortTimes == 1) && findNums > 4000)) { int ret = QMessageBox::question(this, tr("Continue Find ?"), tr("The search results have been greater than %1 times in %2 files, and more may be slow. Continue to search?").arg(findNums).arg(1), tr("Yes"), tr("Abort")); if (ret == 1) { break; } ++askAbortTimes; } } pEdit->execute(SCI_GOTOPOS, srcPostion); pEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum); //pEdit->execute(SCI_SETXOFFSET, 0); //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; if (!isNeedResult) { ui.statusbar->showMessage(tr("find finished, total %1 found!").arg(findNums), 10000); } else { ui.statusbar->showMessage(tr("find finished, total %1 found! Result in clipboard.").arg(findNums), 10000); } emit sign_findAllInCurDoc(&results); return findNums; } else { if (!m_isStatic) { ui.statusbar->showMessage(tr("The mode of the current document does not allow this operation."), 8000); QApplication::beep(); } } return 0; } void FindWin::slot_findAllInCurDoc() { //findAllInCurDoc(); int index = m_editTabWidget->currentIndex(); if (index >= 0) { findAllInOpenDoc(index); } } void FindWin::findAllInOpenDoc(int index) { if (ui.findComboBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } QString whatFind = ui.findComboBox->currentText(); QString originWhatFine = whatFind; if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; } int replaceNums = 0; QVector* allOpenFileRecord = new QVector(); for (int i = 0; i < m_editTabWidget->count(); ++i) { //是否只查找一个文档 if ((index != -1) && (i != index)) { continue; } QWidget* pw = m_editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { continue; } FindRecords* results = new FindRecords(); results->pEdit = pEdit; results->findFilePath = pw->property("filePath").toString(); updateParameterFromUI(); //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 //results->findText要是有原来的值,因为扩展模式下\r\n不会转义,直接输出会换行显示 results->findText = originWhatFine; if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0)) { delete results; continue; } else { dealWithZeroFound(pEdit); } addCurFindRecord(pEdit, *results); ++replaceNums; //找到了,把结果收集起来 while (pEdit->findNext()) { addCurFindRecord(pEdit, *results); ++replaceNums; dealWithZeroFound(pEdit); } allOpenFileRecord->append(results); } } //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("find finished, total %1 found!").arg(replaceNums), 10000); emit sign_findAllInOpenDoc(allOpenFileRecord, replaceNums, whatFind); //释放元素 for (int i = 0; i < allOpenFileRecord->size(); ++i) { delete allOpenFileRecord->at(i); } delete allOpenFileRecord; } void FindWin::slot_findAllInOpenDoc() { findAllInOpenDoc(-1); #if 0 if (ui.findComboBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } QString whatFind = ui.findComboBox->currentText(); QString originWhatFine = whatFind; if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; } int replaceNums = 0; QVector* allOpenFileRecord = new QVector(); for (int i = 0; i < m_editTabWidget->count(); ++i) { QWidget* pw = m_editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { continue; } FindRecords* results = new FindRecords(); results->pEdit = pEdit; results->findFilePath = pw->property("filePath").toString(); updateParameterFromUI(); //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 //results->findText要是有原来的值,因为扩展模式下\r\n不会转义,直接输出会换行显示 results->findText = originWhatFine; if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0)) { delete results; continue; } else { dealWithZeroFound(pEdit); } addCurFindRecord(pEdit, *results); ++replaceNums; //找到了,把结果收集起来 while (pEdit->findNext()) { addCurFindRecord(pEdit, *results); ++replaceNums; dealWithZeroFound(pEdit); } allOpenFileRecord->append(results); } } //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("find finished, total %1 found!").arg(replaceNums), 10000); emit sign_findAllInOpenDoc(allOpenFileRecord, replaceNums, whatFind); //释放元素 for (int i = 0; i < allOpenFileRecord->size(); ++i) { delete allOpenFileRecord->at(i); } delete allOpenFileRecord; #endif } //返回是否查找得到内容 bool FindWin::replaceFindNext(QsciScintilla* pEdit, bool showZeroFindTip) { m_isFound = false; //第一次查找 if (m_isFindFirst) { if (pEdit != nullptr) { QString whatFind = ui.replaceTextBox->currentText(); addFindHistory(whatFind); QString replaceWith = ui.replaceWithBox->currentText(); addReplaceHistory(replaceWith); if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; } if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, m_wrap, m_forward, FINDNEXTTYPE_REPLACENEXT)) { ui.statusbar->showMessage(tr("cant't find text \'%1\'").arg(m_expr), 8000); QApplication::beep(); m_isFindFirst = true; } else { m_isFound = true; m_isFindFirst = false; dealWithZeroFoundShowTip(pEdit, showZeroFindTip); } } } else { //查找下一个 if (pEdit != nullptr) { adjustSearchStartPosChange(pEdit); if (!pEdit->findNext()) { ui.statusbar->showMessage(tr("no more find text \'%1\'").arg(m_expr), 8000); m_isFindFirst = true; QApplication::beep(); } else { m_isFound = true; dealWithZeroFoundShowTip(pEdit, showZeroFindTip); } } } return m_isFound; } void FindWin::slot_replaceFindNext() { if (ui.replaceTextBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } updateParameterFromUI(); QWidget* pw = autoAdjustCurrentEditWin(); QsciScintilla* pEdit = dynamic_cast(pw); replaceFindNext(pEdit, true); } //返回值:是否还可以继续替换 bool FindWin::replace(ScintillaEditView* pEdit) { if (isFirstFind()) { replaceFindNext(pEdit, false); //如果没有找到,则不替换 if (!m_isFound) { return false; } } QString findText = ui.replaceTextBox->currentText(); QString replaceText = ui.replaceWithBox->currentText(); if (m_extend) { QString extendFind; convertExtendedToString(findText, extendFind); findText = extendFind; QString extendReplace; convertExtendedToString(replaceText, extendReplace); replaceText = extendReplace; } //当前有选中内容,而且与待替换内容一样,则直接替换 if (m_isFound && pEdit->hasSelectedText()) { //如果选中内容,与待查找替换的内容一致,进行替换。前提是在normal模式下 if ((m_searchMode == 1) && (pEdit->selectedText().compare(findText, (m_cs ? Qt::CaseSensitive : Qt::CaseInsensitive)) == 0)) { pEdit->replace(replaceText); return replaceFindNext(pEdit,false); } else if (m_searchMode == 2) { //如果是正则表达式模式,则不能使用全部匹配才替换,要使用正则匹配,那样会比较麻烦 //只有上次查找成功,才替换? if (m_isFound) { pEdit->replace(replaceText); return replaceFindNext(pEdit,false); } else { ui.statusbar->showMessage(tr("no more replace text \'%1\'").arg(m_expr), 8000); QApplication::beep(); return false; } } else { ui.statusbar->showMessage(tr("no more replace text \'%1\'").arg(m_expr), 8000); QApplication::beep(); return false; } } else if (m_isFound && m_searchMode == 2) { //找到了内容,但是因为是0长,而无法选中。这种情况就是0长的情况。只在正则表达式情况出现 pEdit->replace(replaceText); //每次替换后,因为是0长替换,再把下次查找位置加1,否则会一直在原地查找 dealWithZeroFound(pEdit); return replaceFindNext(pEdit,false); } //当前没有查找到 return replaceFindNext(pEdit,false); } //把当前选中的内容,使用文本替换掉 void FindWin::slot_replace() { if (ui.replaceTextBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow replacement."), 8000); QApplication::beep(); return; } //切换查询条件后,则是第一次查找。防止前后查找条件发生了变化, //导致选中的内容不是需要替换的,所以检查是第一次查找,则查找一下 updateParameterFromUI(); replace(pEdit); } else { ui.statusbar->showMessage(tr("The mode of the current document does not allow replacement."), 8000); QApplication::beep(); } } void FindWin::slot_findModeRegularBtChange(bool checked) { if (checked) { ui.findBackwardBox->setEnabled(false); ui.findBackwardBox->setChecked(false); ui.findMatchWholeBox->setEnabled(false); ui.findMatchWholeBox->setChecked(false); } else { ui.findBackwardBox->setEnabled(true); ui.findMatchWholeBox->setEnabled(true); } m_isFindFirst = true; } void FindWin::slot_replaceModeRegularBtChange(bool checked) { if (checked) { ui.replaceBackwardBox->setEnabled(false); ui.replaceBackwardBox->setChecked(false); ui.replaceMatchWholeBox->setEnabled(false); ui.replaceMatchWholeBox->setChecked(false); } else { ui.replaceBackwardBox->setEnabled(true); ui.replaceMatchWholeBox->setEnabled(true); } m_isFindFirst = true; } #if 0 //替换当前文档里面的所有 void FindWin::slot_replaceAll() { if (ui.replaceTextBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); return; } if (!m_isStatic && QMessageBox::Yes != QMessageBox::question(this, tr("Replace All current Doc"), tr("Are you sure replace all occurrences in current documents?"))) { return; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow replacement."), 8000); QApplication::beep(); return; } updateParameterFromUI(); int srcPostion = pEdit->execute(SCI_GETCURRENTPOS); int firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE); int replaceNums = 0; //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 QString whatFind = ui.replaceTextBox->currentText(); QString replaceText = ui.replaceWithBox->currentText(); if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; QString extendReplace; convertExtendedToString(replaceText, extendReplace); replaceText = extendReplace; } if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_REPLACENEXT, 0,0)) { ui.statusbar->showMessage(tr("cant't find text \'%1\'").arg(m_expr), 8000); QApplication::beep(); m_isFindFirst = true; return; } pEdit->execute(SCI_BEGINUNDOACTION); pEdit->replace(replaceText); dealWithZeroFound(pEdit); ++replaceNums; //找到了,则自动进行全部替换 while(pEdit->findNext()) { pEdit->replace(replaceText); ++replaceNums; dealWithZeroFound(pEdit); } pEdit->execute(SCI_ENDUNDOACTION); pEdit->execute(SCI_GOTOPOS, srcPostion); pEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum); pEdit->execute(SCI_SETXOFFSET, 0); //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("replace finished, total %1 replaced!").arg(replaceNums), 10000); } else { ui.statusbar->showMessage(tr("The mode of the current document does not allow replacement."), 8000); QApplication::beep(); } } #endif // Find the first occurrence of a string. int buildSearchFlags(bool re, bool cs, bool wo, bool wrap, bool forward, FindNextType findNextType, bool posix, bool cxx11) { int flags = 0; flags = (cs ? SCFIND_MATCHCASE : 0) | (wo ? SCFIND_WHOLEWORD : 0) | (re ? SCFIND_REGEXP : 0) | (posix ? SCFIND_POSIX : 0) | (cxx11 ? SCFIND_CXX11REGEX : 0); switch (findNextType) { case FINDNEXTTYPE_FINDNEXT: flags |= SCFIND_REGEXP_EMPTYMATCH_ALL | SCFIND_REGEXP_SKIPCRLFASONE; break; case FINDNEXTTYPE_REPLACENEXT: flags |= SCFIND_REGEXP_EMPTYMATCH_NOTAFTERMATCH | SCFIND_REGEXP_SKIPCRLFASONE; break; case FINDNEXTTYPE_FINDNEXTFORREPLACE: flags |= SCFIND_REGEXP_EMPTYMATCH_ALL | SCFIND_REGEXP_EMPTYMATCH_ALLOWATSTART | SCFIND_REGEXP_SKIPCRLFASONE; break; } return flags; } struct FindReplaceInfo { intptr_t _startRange = -1; intptr_t _endRange = -1; }; //返回值替换数量 int FindWin::doReplaceAll(ScintillaEditView* pEdit, QString &whatFind, QString& replaceText, bool isCombineUndo) { int replaceNums = 0; int srcPostion = pEdit->execute(SCI_GETCURRENTPOS); int firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE); if (isCombineUndo) { pEdit->execute(SCI_BEGINUNDOACTION); } int flags = buildSearchFlags(m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_REPLACENEXT, 0, 0); intptr_t targetStart = 0; intptr_t targetEnd = 0; //Initial range for searching pEdit->execute(SCI_SETSEARCHFLAGS, flags); FindReplaceInfo findReplaceInfo; findReplaceInfo._startRange = 0; findReplaceInfo._endRange = pEdit->execute(SCI_GETLENGTH); QByteArray pTextFind = whatFind.toUtf8(); QByteArray pTextReplace = replaceText.toUtf8(); while (targetStart >= 0) { targetStart = pEdit->searchInTarget(pTextFind, findReplaceInfo._startRange, findReplaceInfo._endRange); // If we've not found anything, just break out of the loop if (targetStart == -1 || targetStart == -2) break; targetEnd = pEdit->execute(SCI_GETTARGETEND); if (targetEnd > findReplaceInfo._endRange) { //we found a result but outside our range, therefore do not process it break; } intptr_t foundTextLen = targetEnd - targetStart; intptr_t replaceDelta = 0; intptr_t replacedLength; if (m_re) { replacedLength = pEdit->replaceTargetRegExMode(pTextReplace); } else { replacedLength = pEdit->replaceTarget(pTextReplace); } replaceDelta = replacedLength - foundTextLen; ++replaceNums; // After the processing of the last string occurrence the search loop should be stopped // This helps to avoid the endless replacement during the EOL ("$") searching if (targetStart + foundTextLen == findReplaceInfo._endRange) break; findReplaceInfo._startRange = targetStart + foundTextLen + replaceDelta; //search from result onwards findReplaceInfo._endRange += replaceDelta; //adjust end of range in case of replace } if (isCombineUndo) { pEdit->execute(SCI_ENDUNDOACTION); } pEdit->execute(SCI_GOTOPOS, srcPostion); pEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum); //pEdit->execute(SCI_SETXOFFSET, 0); return replaceNums; } int FindWin::replaceAll() { if (ui.replaceTextBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); return 0; } if (!m_isStatic && QMessageBox::Yes != QMessageBox::question(this, tr("Replace All current Doc"), tr("Are you sure replace all occurrences in current documents?"))) { return 0; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { if (pEdit->isReadOnly()) { ui.statusbar->showMessage(tr("The ReadOnly document does not allow replacement."), 8000); QApplication::beep(); return 0; } } updateParameterFromUI(); QString whatFind = ui.replaceTextBox->currentText(); QString replaceText = ui.replaceWithBox->currentText(); if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; QString extendReplace; convertExtendedToString(replaceText, extendReplace); replaceText = extendReplace; } int replaceNums = doReplaceAll(pEdit, whatFind, replaceText); //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("replace finished, total %1 replaced!").arg(replaceNums), 10000); return replaceNums; } //替换当前文档里面的所有。之前的要慢,是因为qscintilla中实时计算了行在屏幕需要的长度。 //大量的这种计算一行实时长度的操作,非常耗时。查找、标记均不耗时,只有替换修改了文本才耗时。 void FindWin::slot_replaceAll() { replaceAll(); } void FindWin::slot_replaceAllInOpenDoc() { if (ui.replaceTextBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } if (QMessageBox::Yes != QMessageBox::question(this, tr("Replace All Open Doc"), tr("Are you sure replace all occurrences in all open documents?"))) { return; } updateParameterFromUI(); int replaceNums = 0; QString whatFind = ui.replaceTextBox->currentText(); QString whatReplace = m_replaceWithText; if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; QString extendReplace; convertExtendedToString(whatReplace, extendReplace); whatReplace = extendReplace; } for (int i = 0; i < m_editTabWidget->count(); ++i) { QWidget* pw = m_editTabWidget->widget(i); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { //只读的文档不能替换 if (pEdit->isReadOnly()) { continue; } replaceNums += doReplaceAll(pEdit, whatFind, whatReplace); #if 0 //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 if (!pEdit->findFirst(whatFind, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_REPLACENEXT,0, 0)) { continue; } pEdit->replace(whatReplace); dealWithZeroFound(pEdit); ++replaceNums; //找到了,则自动进行全部替换 while (pEdit->findNext()) { pEdit->replace(whatReplace); ++replaceNums; dealWithZeroFound(pEdit); } #endif } } //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("Replace in Opened Files: %1 occurrences were replaced.").arg(replaceNums), 10000); } int FindWin::markAll(QSet* outLineNum) { if (ui.markTextBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what mark is null !"), 8000); QApplication::beep(); return 0; } QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { FindRecords* results = new FindRecords; results->pEdit = pEdit; results->hightLightColor = CCNotePad::s_curMarkColorId; results->findFilePath = pw->property("filePath").toString(); updateParameterFromUI(); int replaceNums = 0; //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 QString whatMark = ui.markTextBox->currentText(); results->findText = whatMark; if (m_extend) { QString extendFind; convertExtendedToString(whatMark, extendFind); whatMark = extendFind; } int srcPostion = pEdit->execute(SCI_GETCURRENTPOS); int firstDisLineNum = pEdit->execute(SCI_GETFIRSTVISIBLELINE); if (!pEdit->findFirst(whatMark, m_re, m_cs, m_wo, false, true, FINDNEXTTYPE_FINDNEXT, 0, 0)) { ui.statusbar->showMessage(tr("cant't find text \'%1\'").arg(m_expr), 8000); //QApplication::beep(); return 0; } else { //不支持零长的高亮。0长不高亮 FindState& state = pEdit->getLastFindState(); if (state.targstart == state.targend) { ui.statusbar->showMessage(tr("cant't mark text \'%1\'").arg(m_expr), 8000); QApplication::beep(); return 0; } } addCurFindRecord(pEdit, *results, true); ++replaceNums; //找到了,把结果收集起来 while (pEdit->findNext()) { addCurFindRecord(pEdit, *results, true); ++replaceNums; } //把结果高亮起来。 int foundTextLen = 0; for (int i = 0, s = results->records.size(); i < s; ++i) { const FindRecord& rs = results->records.at(i); foundTextLen = rs.end - rs.pos; if (foundTextLen > 0) { pEdit->execute(SCI_SETINDICATORCURRENT, CCNotePad::s_curMarkColorId); pEdit->execute(SCI_INDICATORFILLRANGE, rs.pos, foundTextLen); } if (outLineNum != nullptr) { outLineNum->insert(rs.lineNum); } } if (!results->records.isEmpty()) { pEdit->appendMarkRecord(results); } pEdit->execute(SCI_GOTOPOS, srcPostion); pEdit->execute(SCI_SETFIRSTVISIBLELINE, firstDisLineNum); //pEdit->execute(SCI_SETXOFFSET, 0); //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("mark finished, total %1 found!").arg(replaceNums), 10000); return replaceNums; } else { ui.statusbar->showMessage(tr("The mode of the current document does not allow mark."), 8000); QApplication::beep(); } return 0; } //标记高亮单词 void FindWin::slot_markAll() { markAll(); } //取消高亮当前关键字 void FindWin::slot_clearMark() { if (ui.markTextBox->currentText().isEmpty()) { ui.statusbar->showMessage(tr("what mark is null !"), 8000); QApplication::beep(); return; } CCNotePad* pMainPad = dynamic_cast(m_pMainPad); if (pMainPad != nullptr) { pMainPad->clearHighlightWord(ui.markTextBox->currentText()); } } //取消所有高亮 void FindWin::slot_clearAllMark() { CCNotePad* pMainPad = dynamic_cast(m_pMainPad); if (pMainPad != nullptr) { pMainPad->slot_clearMark(); } } //选择查找目录 void FindWin::slot_dirSelectDest() { QString curDirPath = ui.destFindDir->text(); if (curDirPath.isEmpty()) { if (CCNotePad::s_lastOpenDirPath.isEmpty()) { CCNotePad::s_lastOpenDirPath = NddSetting::getKeyValueFromDelaySets(LAST_OPEN_DIR); } curDirPath = CCNotePad::s_lastOpenDirPath; } QString destDir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), curDirPath, QFileDialog::DontResolveSymlinks); if (!destDir.isEmpty()) { ui.destFindDir->setText(destDir); } } //在walkDirfile中用作回调函数处理。命中则返回true bool FindWin::findTextInFile(QString &filePath, int &findNums, QVector* allfileInDirRecord) { pEditTemp->clear(); if (0 != FileManager::getInstance().loadFileForSearch(pEditTemp, filePath)) { return false; } FindRecords* results = new FindRecords(); //返回结果的edit无条件写无。注意不要忘记 results->pEdit = nullptr; results->findFilePath = filePath; //无条件进行第一次查找,从0行0列开始查找,而且不回环。如果没有找到,则替换完毕 results->findText = m_expr; QString whatFind = m_expr; if (m_extend) { QString extendFind; convertExtendedToString(whatFind, extendFind); whatFind = extendFind; } if (!pEditTemp->findFirst(whatFind, m_re, m_cs, m_wo, false, m_forward, FINDNEXTTYPE_FINDNEXT, 0, 0,false)) { delete results; return false; } else { dealWithZeroFound(pEditTemp); } addCurFindRecord(pEditTemp, *results); ++findNums; //找到了,把结果收集起来 while (pEditTemp->findNext()) { addCurFindRecord(pEditTemp, *results); ++findNums; dealWithZeroFound(pEditTemp); } allfileInDirRecord->append(results); return true; } //在walkDirfile中用作回调函数处理。命中则返回true 第三个参数不需要,为了复用walkdir,暂时保留和findTextInFile一致 bool FindWin::replaceTextInFile(QString &filePath, int &replaceNums, QVector*) { pEditTemp->clear(); if (0 != FileManager::getInstance().loadFileForSearch(pEditTemp, filePath)) { return false; } QString find = m_expr; QString replace = m_replaceWithText; if (m_extend) { QString extendFind; convertExtendedToString(find, extendFind); find = extendFind; QString extendReplace; convertExtendedToString(replace, extendReplace); replace = extendReplace; } int modifyTimes = doReplaceAll(pEditTemp, find, replace); if (modifyTimes > 0) { replaceNums += modifyTimes; //如果进行过替换,则必须要保存一下;否则不能保存,不然文件被修改。 emit sign_replaceSaveFile(filePath, pEditTemp); } return true; } //非递归版本的递归文件,从CompareDirs中修改而来 //isSkipBinary:是否跳过二进制 //isSkipHide:是否处理隐藏文件 //skipMaxSize::处理文件的最大大小,超过则不处理。如果是0,则表示不跳过任何文件 //isfilterFileType:过滤类型,只处理这类类型文件 为true时 fileExtType 不能为空 //fileExtType的格式为:.cpp .h 类似,但是不需要前面的.,传递的时候不传递下来 int FindWin::walkDirfile(QString path, int &foundTimes, bool isSkipBinary, bool isSkipHide, int skipMaxSize, bool isfilterFileType, QStringList& fileExtType, bool isSkipDir, QStringList & skipDirNames, bool isSkipChildDirs, std::function* allfileInDirRecord)> foundCallBack, bool isAskAbort) { QList dirsList; QString oneDir(path); dirsList.append(oneDir); int fileNums = 0; int hitFileNums = 0; //再获取文件夹到列表 QDir::Filters dirfilter; if (!isSkipHide) { dirfilter = QDir::Dirs | QDir::NoDotAndDotDot | QDir::Hidden | QDir::NoSymLinks; } else { dirfilter = QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks; } //过滤文件类型。true 合格,需要处理, false 不合格,跳过 auto fileTypeFilter = [&fileExtType](QFileInfo& fileInfo)->bool { QString suffix = fileInfo.suffix(); if (!suffix.isEmpty()) { return (-1 != fileExtType.indexOf(suffix)); } //对于没有后缀的文件,一律跳过 return false; }; //是否二进制文件 auto binaryFiltre = [](QFileInfo& fi)->bool { return DocTypeListView::isHexExt(fi.suffix()); }; ProgressWin* loadFileProcessWin = new ProgressWin(this); loadFileProcessWin->setWindowModality(Qt::WindowModal); loadFileProcessWin->info(tr("load dir file in progress\n, please wait ...")); loadFileProcessWin->show(); int dirNums = 0; bool firstChildDirs = true; int totalStep = 0; bool canAbort = true; bool canAbortSecond = true; if (!isAskAbort) { canAbort = false; canAbortSecond = false; } while (!dirsList.isEmpty()) { QString curDir = dirsList.takeFirst(); if (!isSkipChildDirs) { /*添加path路径文件*/ QDir dir(curDir); //遍历各级子目录 QFileInfoList folder_list = dir.entryInfoList(dirfilter); //获取当前所有目录 for (int i = 0; i != folder_list.size(); ++i) //自动递归添加各目录到上一级目录 { QString namepath = folder_list.at(i).absoluteFilePath(); //获取路径 QFileInfo folderinfo = folder_list.at(i); if (folderinfo.baseName().isEmpty()) { loadFileProcessWin->info(tr("skip dir %1").arg(namepath)); continue; } QString name = folderinfo.fileName(); //获取目录名 if (isSkipDir && (-1 != skipDirNames.indexOf(name))) { loadFileProcessWin->info(tr("skip dir %1").arg(namepath)); continue; } dirsList.push_front(namepath); dirNums++; loadFileProcessWin->info(tr("found %1 dir %2").arg(dirNums).arg(namepath)); QCoreApplication::processEvents(/*QEventLoop::ExcludeUserInputEvents*/); } if (firstChildDirs) { totalStep = dirNums; loadFileProcessWin->setTotalSteps(dirNums); firstChildDirs = false; } if (dirsList.size() < totalStep) { totalStep = dirsList.size(); loadFileProcessWin->moveStep(); } } QDir dir_file(curDir); if (!isSkipHide) { dir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::Hidden | QDir::NoSymLinks);//获取当前所有文件 } else { dir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件 } QFileInfoList list_file = dir_file.entryInfoList(); for (int i = 0; i < list_file.size(); ++i) { //将当前目录中所有文件添加到treewidget中 QFileInfo fileInfo = list_file.at(i); QString namepath = list_file.at(i).absoluteFilePath(); //获取路径 //不支持所有文件,仅仅支持指定类型文件。没有通过 if (isfilterFileType && !fileTypeFilter(fileInfo)) { loadFileProcessWin->info(tr("ext type skip file %1").arg(namepath)); continue; } //大小过滤 if ((skipMaxSize != 0) && fileInfo.size() > skipMaxSize) { continue; } //二进制过滤//对于二进制文件该如何处理,我觉得必须要过滤,暂时不处理 if (isSkipBinary &&binaryFiltre(fileInfo)) { continue; } //回调处理该函数 if (foundCallBack(namepath, foundTimes, nullptr)) { ++hitFileNums; } if (i % 2 == 0) { if (loadFileProcessWin->isCancel()) { loadFileProcessWin->info(tr("found in dir canceled ...")); break; } QCoreApplication::processEvents(); } if ((canAbort && (hitFileNums > 100 || foundTimes > 1000)) || (canAbortSecond && foundTimes > 8000)) { int ret = QMessageBox::question(this, tr("Continue Find ?"), tr("The search results have been greater than %1 times in %2 files, and more may be slow. Continue to search?").arg(foundTimes).arg(hitFileNums), tr("Yes"), tr("Abort")); if(ret == 1) { loadFileProcessWin->setCancel(); break; } else { if (canAbort && (hitFileNums > 100 || foundTimes > 1000)) { canAbort = false; } if ((canAbortSecond && foundTimes > 8000)) { canAbortSecond = false; } } } } fileNums += list_file.size(); if (loadFileProcessWin->isCancel()) { break; } } if (loadFileProcessWin != nullptr) { delete loadFileProcessWin; loadFileProcessWin = nullptr; } return fileNums; } //在目标文件夹中查找 void FindWin::slot_dirFindAll() { QString dirPath = ui.destFindDir->text().trimmed(); QString whatFind = ui.dirFindWhat->currentText(); if (dirPath.isEmpty()) { ui.statusbar->showMessage(tr("please select find dest dir !"), 8000); QApplication::beep(); return; } if(whatFind.isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } QDir dir(dirPath); if (!dir.exists()) { ui.statusbar->showMessage(tr("dest dir %1 not exist !").arg(dirPath), 8000); QApplication::beep(); return; } bool isfilterFileType = ui.dealFileType->isChecked(); bool isSkipDirs = ui.skipDir->isChecked(); QStringList fileExtTypeList; QStringList skipDirNameList; if (isfilterFileType) { QString fileExtType = ui.fileType->text().trimmed(); if (fileExtType.isEmpty() || (fileExtType == "*.*")) { isfilterFileType = false; } else { //格式是*.h:*.c:*.cpp类似的 QStringList typeList = fileExtType.split(":"); foreach (QString var, typeList) { if (var.size() >= 3) { //只取后面的h或或cpp后缀 fileExtTypeList.append(var.mid(2)); } } if (fileExtTypeList.isEmpty()) { isfilterFileType = false; } } } if (isSkipDirs) { QString dirNames = ui.skipDirNames->text().trimmed(); if (dirNames.isEmpty()) { isSkipDirs = false; } else { QStringList nameList = dirNames.split(":"); foreach(QString var, nameList) { if (var.size() > 0) { //只取后面的h或或cpp后缀 skipDirNameList.append(var); } } if (skipDirNameList.isEmpty()) { isSkipDirs = false; } } } bool isSkipBinary = ui.skipBinary->isChecked(); bool isSkipHide = ui.skipHideFile->isChecked(); int skipMaxSize = (ui.skipFileMaxSize->isChecked()) ? ui.maxFileSizeSpinBox->value()*1024*1024:0; bool isSkipChildDir = ui.skipChildDirs->isChecked(); updateParameterFromUI(); if (pEditTemp == nullptr) { pEditTemp = ScintillaEditView::createEditForSearch(); } int foundNums = 0; QVector* allfileInDirRecord = new QVector(); std::function* allfileInDirRecord)> foundCallBack = std::bind(&FindWin::findTextInFile, this, std::placeholders::_1, std::placeholders::_2, allfileInDirRecord); int filesNum = walkDirfile(dirPath, foundNums, isSkipBinary, isSkipHide, skipMaxSize, isfilterFileType, fileExtTypeList, isSkipDirs, skipDirNameList, isSkipChildDir, foundCallBack); //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("find finished, walk %1 files, total %2 found in %3 file!").arg(filesNum).arg(foundNums).arg(allfileInDirRecord->size())); //复用了这个信号函数,没有新做消息,要注意 emit sign_findAllInOpenDoc(allfileInDirRecord, foundNums, whatFind); addFindHistory(whatFind); //释放元素 for (int i = 0; i < allfileInDirRecord->size(); ++i) { delete allfileInDirRecord->at(i); } delete allfileInDirRecord; } //目录中直接替换 void FindWin::slot_dirReplaceAll() { QString dirPath = ui.destFindDir->text(); QString whatFind = ui.dirFindWhat->currentText(); QString dirReplaceWhat = ui.dirReplaceWhat->currentText(); if (dirPath.isEmpty()) { ui.statusbar->showMessage(tr("please select find dest dir !"), 8000); QApplication::beep(); return; } if (whatFind.isEmpty()) { ui.statusbar->showMessage(tr("what find is null !"), 8000); QApplication::beep(); return; } if (QMessageBox::Yes != QMessageBox::question(this, tr("Replace All Dirs"), tr("Are you sure replace all \"%1\" to \"%2\" occurrences in selected dirs ?").arg(whatFind).arg(dirReplaceWhat))) { return; } bool isfilterFileType = ui.dealFileType->isChecked(); QStringList fileExtTypeList; bool isSkipDirs = ui.skipDir->isChecked(); QStringList skipDirNameList; if (isfilterFileType) { QString fileExtType = ui.fileType->text().trimmed(); if (fileExtType.isEmpty() || (fileExtType == "*.*")) { isfilterFileType = false; } else { //格式是*.h:*.c:*.cpp类似的 QStringList typeList = fileExtType.split(":"); foreach(QString var, typeList) { if (var.size() >= 3) { //只取后面的h或或cpp后缀 fileExtTypeList.append(var.mid(2)); } } if (fileExtTypeList.isEmpty()) { isfilterFileType = false; } } } if (isSkipDirs) { QString dirNames = ui.skipDirNames->text().trimmed(); if (dirNames.isEmpty()) { isSkipDirs = false; } else { QStringList nameList = dirNames.split(":"); foreach(QString var, nameList) { if (var.size() > 0) { //只取后面的h或或cpp后缀 skipDirNameList.append(var); } } if (skipDirNameList.isEmpty()) { isSkipDirs = false; } } } bool isSkipBinary = ui.skipBinary->isChecked(); bool isSkipHide = ui.skipHideFile->isChecked(); int skipMaxSize = (ui.skipFileMaxSize->isChecked()) ? ui.maxFileSizeSpinBox->value() * 1024 * 1024 : 0; bool isSkipChildDir = ui.skipChildDirs->isChecked(); addReplaceHistory(dirReplaceWhat); updateParameterFromUI(); if (pEditTemp == nullptr) { pEditTemp = ScintillaEditView::createEditForSearch(); } int replaceNums = 0; std::function* allfileInDirRecord)> foundCallBack = std::bind(&FindWin::replaceTextInFile, this, std::placeholders::_1, std::placeholders::_2, nullptr); int filesNum = walkDirfile(dirPath, replaceNums, isSkipBinary, isSkipHide, skipMaxSize, isfilterFileType, fileExtTypeList, isSkipDirs, skipDirNameList,isSkipChildDir, foundCallBack,false); //全部替换后,下次查找,必须算第一次查找 m_isFindFirst = true; ui.statusbar->showMessage(tr("replace finished, walk %1 files, total %2 replace !").arg(filesNum).arg(replaceNums)); } //把正则查找的结果,拷贝到剪切板 void FindWin::on_copyReFindResult() { if (!ui.findModeRegularBt->isChecked()) { ui.statusbar->showMessage(tr("Only regular lookup mode can be used!"),10000); return; } QStringList reResult; findAllInCurDoc(&reResult); if (!reResult.isEmpty()) { QClipboard* clipboard = QApplication::clipboard(); clipboard->setText(reResult.join("\n")); } } void FindWin::on_markAndBook() { QSet outLineNum; markAll(&outLineNum); QWidget* pw = autoAdjustCurrentEditWin(); ScintillaEditView* pEdit = dynamic_cast(pw); if (pEdit != nullptr) { pEdit->bookmarkAdd(outLineNum); } } ================================================ FILE: src/findwin.h ================================================ #pragma once #include #include #include #include "ui_findwin.h" #ifndef DEF_FIND_TAB_INDEX #define DEF_FIND_TAB_INDEX enum FindTabIndex { FIND_TAB =0, REPLACE_TAB, DIR_FIND_TAB, MARK_TAB, }; #endif class ScintillaEditView; class QsciScintilla; struct FindRecord { int lineNum; int lineStartPos; //行开始位置 int pos; //查找字段的开始位置 int end; //查找字段的结束位置 QString lineContents; }; class FindRecords { public: QString findFilePath; QString findText; //是否区分大小写 //int caseSensitivity; //int totalMatch; //全词匹配 int hightLightColor; //高亮颜色 ScintillaEditView* pEdit; QVector records; FindRecords() { pEdit = nullptr; hightLightColor = 0; } ~FindRecords() { pEdit = nullptr; } }; class FindWin : public QMainWindow { Q_OBJECT public: FindWin(QWidget *parent = Q_NULLPTR); ~FindWin(); void setCurrentTab(FindTabIndex index); void setTabWidget(QTabWidget * editTabWidget); void setFindText(QString & text); void keywordWinGetFouse(FindTabIndex tabIndex); void setReplaceFindText(QString& text); void setDirFindText(QString& text); void setMarkFindText(QString& text); void disableReplace(); void setFindHistory(QList* findHistory); void setReplaceHistory(QList* replaceHistory); int markAllWord(QString& word); void removeLineHeadEndBlank(int mode); static void showCallTip(QsciScintilla * pEdit, int pos); void removeEmptyLine(bool isBlankContained); void findNext(); void findPrev(); void setFindBackward(bool isBackward); int findAtBack(QStringList& keyword); int markAtBack(QStringList& keyword); int replaceAtBack(QStringList& keyword, QStringList& replace); protected: virtual void focusInEvent(QFocusEvent *ev); virtual void focusOutEvent(QFocusEvent *ev); virtual bool eventFilter(QObject * obj, QEvent * event); //bool eventFilter(QObject *, QEvent *); //注意这里 signals: void sign_findAllInCurDoc(FindRecords* record); void sign_findAllInOpenDoc(QVector* record, int hits, QString findText); void sign_replaceSaveFile(QString filePath, ScintillaEditView * pEdit); void sign_clearResult(); //void sign_markAllInCurDoc(FindRecords* record); private: void updateParameterFromUI(); void addFindHistory(QString & text); void addReplaceHistory(QString& text); bool isFirstFind(); QString addCurFindRecord(ScintillaEditView * pEdit, FindRecords & recordRet, bool isMark=false, bool getResult=false); bool findTextInFile(QString & filePath, int & findNums, QVector* allfileInDirRecord); bool replaceTextInFile(QString & filePath, int & replaceNums, QVector* r = nullptr); int walkDirfile(QString path, int & foundTimes, bool isSkipBinary, bool isSkipHide, int skipMaxSize, bool isfilterFileType, QStringList & fileExtType, bool isSkipDir, QStringList & skipDirNames, bool isSkipChildDirs, std::function*allfileInDirRecord)> foundCallBack, bool isAskAbort=true); QWidget* autoAdjustCurrentEditWin(); void dealWithZeroFound(QsciScintilla * pEdit); void dealWithZeroFoundShowTip(QsciScintilla * pEdit, bool isShowTip=true); void adjustSearchStartPosChange(QsciScintilla* pEdit); void dofindNext(); bool replaceFindNext(QsciScintilla* pEdit, bool showZeroFindTip); bool replace(ScintillaEditView* pEdit); int doReplaceAll(ScintillaEditView * pEdit, QString& whatFind, QString& replaceText, bool isCombineUndo = true); int replaceAll(); int markAll(QSet* outLineNum=nullptr); int findAllInCurDoc(QStringList * reResult=nullptr); void findAllInOpenDoc(int index = -1); private slots: void slot_findNext(); void slot_findPrev(); void slot_findCount(); void slot_findAllInCurDoc(); void slot_findAllInOpenDoc(); void slot_replaceFindNext(); void slot_replace(); void slot_findModeRegularBtChange(bool checked); void slot_replaceModeRegularBtChange(bool checked); void slot_replaceAll(); void slot_replaceAllInOpenDoc(); void slot_markAll(); void slot_clearMark(); void slot_clearAllMark(); void slot_dirSelectDest(); void slot_dealFileTypeChange(int state); void slot_skipDirChange(int state); void slot_dirFindAll(); void slot_dirReplaceAll(); void slot_tabIndexChange(int index); void on_copyReFindResult(); void on_markAndBook(); private: Ui::FindWin ui; FindWin(const FindWin& other) = delete; FindWin& operator=(const FindWin& other) = delete; QTabWidget *m_editTabWidget; QWidget* m_pMainPad; //第一次查找,查找参数变化,认定为第一次查找 bool m_isFindFirst; bool m_BackwardDir; bool m_matchWhole; bool m_matchCase; bool m_matchWrap; int m_searchMode; // 1 normal 2 regular expression 3 Exteral //find的参数 QString m_expr; bool m_re; bool m_cs; bool m_wo; bool m_wrap; bool m_forward;//是否向前查找。注意如果向后,要为false bool m_line; bool m_index; bool m_extend; //bool m_show; //bool m_posix; //bool m_cxx11; bool m_isFound; QString m_replaceWithText; //上次点击的按钮id,如果两次点击的不一样 //说明是不同的操作,如果是查找,则当前这次点击算是第一次查找 QString m_lastClickBtName; QList* m_findHistory; QList* m_replaceHistory; ScintillaEditView* pEditTemp; QWidget* m_curEditWin; bool m_isStatic;//是否静默处理,不弹确认对话框 bool m_isReverseFind; //是否反向查找。只有在查找前一个时才生效true 下一个必须是false }; ================================================ FILE: src/findwin.ui ================================================ FindWin 0 0 689 384 MainWindow :/Resources/edit/global/ndd.ico:/Resources/edit/global/ndd.ico 3 3 2 2 300 32 0 find 2 0 0 Find what : 300 0 350 16777215 true 512 Qt::Vertical 20 20 Backward direction Match whole word only Match case Wrap around true Qt::Vertical 20 20 Search Mode Regular expression Normal true Extend(\n,\r,\t,\0,\x...) Qt::Vertical 20 40 200 28 Find Next(F3) F3 200 28 Find Prev(F4) F4 200 0 Counter(T) Ctrl+T 200 34 Find All in Current Document 200 34 Find All in All Opened Documents Copy Regular Result 200 0 Clear Result 200 0 Close Qt::Vertical 20 40 Replace 2 0 0 Find what : 300 0 350 16777215 true 512 0 0 Replace with : 300 0 350 16777215 true 512 Qt::Vertical 20 40 Backward direction Match whole word only Match case Wrap around true Qt::Vertical 20 20 Search Mode Normal true Regular expression Extend(\n,\r,\t,\0,\x...) Qt::Vertical 20 40 0 0 200 28 Find Next 0 0 200 28 Replace 0 0 200 28 Replace All 0 0 200 34 Replace All in All Opened Documents 0 0 200 0 Close Qt::Vertical 20 40 Dir Find 2 0 0 Dest Dir : 0 0 250 0 350 16777215 0 20 Select 0 0 Find what : 250 0 350 16777215 true 512 0 0 Replace with : false 0 0 300 0 350 16777215 debug:Debug:.vs:.git:.svn 0 0 Skip Dir Name : false 0 0 300 0 350 16777215 *.c:*.cpp:*.h 0 0 File Type : 300 0 true Qt::Vertical 20 20 Match whole word only true false Match case Qt::Vertical 20 20 Search Mode Normal true Regular expression Extend(\n,\r,\t,\0,\x...) Options Skip child dirs Skip hide file true false Skip binary file true 6 Skip Big file exceed true 1 30 20 MB 0 0 200 28 Find All 0 0 200 28 Replace In File 0 0 200 28 Clear Result 0 0 200 28 Close Qt::Vertical 20 40 Mark 2 0 0 Mark What 300 0 350 16777215 true 512 Qt::Vertical 20 20 Match whole word only Match case Qt::Vertical 20 20 Search Mode Regular expression Normal true Extend(\n,\r,\t,\0,\x...) Qt::Vertical 20 40 0 0 200 28 Mark All 0 0 200 28 Mark & Bookmark 0 0 200 28 Clear Mark 0 0 200 28 Clear All 0 0 200 28 Close Qt::Vertical 20 40 findinfilesTab findComboBox findTextNext findTextPrev countBt findAllinCourrent findAllinAllOpen findClearBt findCloseBt findBackwardBox findMatchWholeBox findMatchCaseBox findWrapBox findModeNormalBt findModeExtendBt findModeRegularBt replaceTextBox replaceFindNextBox replaceBt replaceAllBt replaceAllinAllOpenBt replaceCloseBt replaceBackwardBox replaceMatchWholeBox replaceMatchCaseBox replaceWrapBox replaceModeNormalBox replaceModeExtendBox replaceModeRegularBt destFindDir dirFindWhat selectDir dirFindAll dirReplaceAll clearBt dirClose dealFileType fileType skipDir skipDirNames dirFindMatchWholeBox dirFindMatchCaseBox dirFindModeNormalBox dirFindModeExtendBox dirFindModeRegularBt skipChildDirs skipHideFile skipBinary skipFileMaxSize maxFileSizeSpinBox markTextBox markAllBox markClearBox markClearAllBox markCloseBt markMatchWholeBox markMatchCaseBox markModeNormalBox markModeExtendBox markModeRegularBt findTextNext clicked() FindWin slot_findNext() 457 51 422 329 findCloseBt clicked() FindWin close() 672 291 169 327 findAllinAllOpen clicked() FindWin slot_findAllInOpenDoc() 572 203 322 327 findAllinCourrent clicked() FindWin slot_findAllInCurDoc() 572 153 548 328 replaceFindNextBox clicked() FindWin slot_replaceFindNext() 458 61 588 302 replaceCloseBt clicked() FindWin close() 458 198 588 273 replaceBt clicked() FindWin slot_replace() 458 95 588 204 replaceAllBt clicked() FindWin slot_replaceAll() 458 129 588 145 replaceAllinAllOpenBt clicked() FindWin slot_replaceAllInOpenDoc() 458 169 588 115 markAllBox clicked() FindWin slot_markAll() 489 55 501 0 markClearBox clicked() FindWin slot_clearMark() 672 129 588 0 markCloseBt clicked() FindWin close() 672 197 404 0 dirClose clicked() FindWin close() 572 142 564 337 selectDir clicked() FindWin slot_dirSelectDest() 402 54 502 332 dirFindAll clicked() FindWin slot_dirFindAll() 572 55 445 337 dirReplaceAll clicked() FindWin slot_dirReplaceAll() 572 84 333 337 countBt clicked() FindWin slot_findCount() 572 113 377 361 findTextPrev clicked() FindWin slot_findPrev() 484 73 294 180 markClearAllBox clicked() FindWin slot_clearAllMark() 672 163 574 366 copyReResultBt clicked() FindWin on_copyReFindResult() 534 222 344 191 pushButton clicked() FindWin on_markAndBook() 565 77 434 386 slot_findNext() slot_findCount() slot_findAllInCurDoc() slot_findAllInOpenDoc() slot_replace() slot_replaceFindNext() slot_replaceAll() slot_replaceAllInOpenDoc() slot_markAll() slot_clearMark() slot_dirFindAll() slot_dirReplaceAll() slot_dirSelectDest() sign_clearResult() slot_findPrev() slot_clearAllMark() on_copyReFindResult() on_markAndBook() ================================================ FILE: src/gotolinewin.cpp ================================================ #include "gotolinewin.h" GoToLineWin::GoToLineWin(QWidget *parent) : QWidget(parent) { ui.setupUi(this); } GoToLineWin::~GoToLineWin() { } void GoToLineWin::slot_ok() { bool ok; int lineNums = ui.lineEditNum->text().toInt(&ok); if (ok && lineNums>=1) { int dire = (ui.radioButton->isChecked() ? 0 : 1); emit sign_gotoLine(dire, lineNums-1); close(); } } ================================================ FILE: src/gotolinewin.h ================================================ #pragma once #include #include "ui_gotolinewin.h" class GoToLineWin : public QWidget { Q_OBJECT public: GoToLineWin(QWidget *parent = Q_NULLPTR); ~GoToLineWin(); signals: void sign_gotoLine(int dire, int lineNum); private slots: void slot_ok(); private: Ui::GoToLineWin ui; }; ================================================ FILE: src/gotolinewin.ui ================================================ GoToLineWin 0 0 253 104 260 140 GoToLineWin :/Resources/edit/global/notebook.png:/Resources/edit/global/notebook.png 2 3 0 3 0 3 Line Num 10 3 Left true Right 3 Qt::Horizontal 40 20 Ok Close Qt::Horizontal 40 20 pushButton_2 clicked() GoToLineWin close() 211 118 252 113 pushButton clicked() GoToLineWin slot_ok() 98 114 1 109 lineEditNum editingFinished() GoToLineWin slot_ok() 179 27 247 49 slot_ok() ================================================ FILE: src/hexcmprangewin.cpp ================================================ #include "hexcmprangewin.h" #include #include HexCmpRangeWin::HexCmpRangeWin(QWidget *parent) : QDialog(parent), m_isCancel(true) { ui.setupUi(this); connect(ui.leftStartPos, &QLineEdit::textChanged, this, &HexCmpRangeWin::slot_asyncStartPos); connect(ui.leftCmpLens, &QLineEdit::textChanged, this, &HexCmpRangeWin::slot_asyncLenPos); } HexCmpRangeWin::~HexCmpRangeWin() { } void HexCmpRangeWin::slot_ok() { m_isCancel = false; close(); } //ͨߵֵͬұߡұ߲ͬߣû void HexCmpRangeWin::slot_asyncStartPos(const QString& text) { ui.rightStartPos->setText(text); } void HexCmpRangeWin::slot_asyncLenPos(const QString& text) { ui.rightCmpLens->setText(text); } //ȡ򲻷κЧΧֵ;ֵҲ const int MAX_CMP_LENS = 1024 * 1024 * 10; void HexCmpRangeWin::getRange(bool & isCancel, qint64 & leftStartPos, int & leftCmpLen, qint64 & rightStartPos, int & rightCmpLen) { isCancel = m_isCancel; if (isCancel) { return; } bool ok = false; bool ok1 = false; bool ok2 = false; bool ok3 = false; leftStartPos = ui.leftStartPos->text().toULongLong(&ok); leftCmpLen = ui.leftCmpLens->text().toInt(&ok1); rightStartPos = ui.rightStartPos->text().toULongLong(&ok2); rightCmpLen = ui.rightCmpLens->text().toInt(&ok3); if (!ok || !ok1 || !ok2 || !ok3) { isCancel = true; leftStartPos = -1; rightStartPos = -1; leftCmpLen = 0; rightCmpLen = 0; QMessageBox::warning(this, tr("Error"), tr("StartPos or cmpare lens value error.")); return; } if (leftCmpLen > MAX_CMP_LENS) { leftCmpLen = MAX_CMP_LENS; } if (rightCmpLen > MAX_CMP_LENS) { rightCmpLen = MAX_CMP_LENS; } } ================================================ FILE: src/hexcmprangewin.h ================================================ #pragma once #include #include "ui_hexcmprangewin.h" class HexCmpRangeWin : public QDialog { Q_OBJECT public: HexCmpRangeWin(QWidget *parent = Q_NULLPTR); ~HexCmpRangeWin(); void getRange(bool & isCancel, qint64 & leftStartPos, int & leftCmpLen, qint64 & rightStartPos, int & rightCmpLen); private slots: void slot_ok(); void slot_asyncStartPos(const QString & text); void slot_asyncLenPos(const QString & text); private: Ui::HexCmpRangeWin ui; bool m_isCancel; }; ================================================ FILE: src/hexcmprangewin.ui ================================================ HexCmpRangeWin 0 0 524 167 550 16777215 HexCmpRangeWin 16777215 50 Max Bin File Size is 10M ! Exceeding file size ! Select a shorter range for comparison. Select Range Left Start Pos: 100 16777215 0 Left Compare Length: 100 16777215 10240 8 Right Start Pos: 100 16777215 0 Right Compare Length: 100 16777215 10240 8 Qt::Horizontal 40 20 Ok Cancel Qt::Horizontal 40 20 pushButton_2 clicked() HexCmpRangeWin close() 316 143 394 163 pushButton clicked() HexCmpRangeWin slot_ok() 207 143 141 158 slot_ok() ================================================ FILE: src/hexfilegoto.cpp ================================================ #include "hexfilegoto.h" HexFileGoto::HexFileGoto(QWidget *parent) : QWidget(parent) { ui.setupUi(this); connect(ui.lineEditDecAddr, &QLineEdit::textChanged, this, &HexFileGoto::slot_showDecInfo); connect(ui.lineEditHexAddr, &QLineEdit::textChanged, this, &HexFileGoto::slot_showHexInfo); } HexFileGoto::~HexFileGoto() { } //ʾΪ void HexFileGoto::slot_showDecInfo(const QString &text) { bool ok; qlonglong num = text.toLongLong(&ok, 10); if (ok) { QString v = QString("Dec : %1 \nHex : 0x%2 ").arg(QString::number(num, 10)).arg(QString::number(num, 16)); ui.textBrowser->setText(v); } else { QString v = QString("Dec : error \nHex : error "); ui.textBrowser->setText(v); } } void HexFileGoto::slot_showHexInfo(const QString &text) { bool ok; qlonglong num = text.toLongLong(&ok, 16); if (ok) { QString v = QString("Dec : %1 \nHex : 0x%2 ").arg(QString::number(num, 10)).arg(QString::number(num, 16)); ui.textBrowser->setText(v); } else { QString v = QString("Dec : error \nHex : error "); ui.textBrowser->setText(v); } } qint64 HexFileGoto::getFileAddr() { bool ok; qint64 ret = 0; if (ui.radioButtonHex->isChecked()) { ret = ui.lineEditHexAddr->text().toLongLong(&ok,16); ui.lineEditDecAddr->setText(QString::number(ret)); } else { ret = ui.lineEditDecAddr->text().toLongLong(&ok); ui.lineEditHexAddr->setText(QString::number(ret,16)); } return (ok ? ret: -1); } void HexFileGoto::slot_goto() { emit gotoClick(getFileAddr()); } ================================================ FILE: src/hexfilegoto.h ================================================ #pragma once #include #include "ui_hexfilegoto.h" class HexFileGoto : public QWidget { Q_OBJECT public: HexFileGoto(QWidget *parent = Q_NULLPTR); ~HexFileGoto(); qint64 getFileAddr(); signals: void gotoClick(qint64 addr); private slots: void slot_goto(); void slot_showDecInfo(const QString & text); void slot_showHexInfo(const QString & text); private: Ui::HexFileGoto ui; }; ================================================ FILE: src/hexfilegoto.ui ================================================ HexFileGoto 0 0 290 141 290 215 HexFileGoto :/Resources/edit/global/notebook.png:/Resources/edit/global/notebook.png 0 2 0 2 2 Addr 2 2 2 2 2 Dec Addr true 15 Hex Addr false 12 16777215 45 true false Qt::Horizontal 40 20 Go to Close Qt::Horizontal 40 20 pushButtonClose clicked() HexFileGoto close() 156 112 283 145 pushButtonOk clicked() HexFileGoto slot_goto() 122 126 132 150 slot_goto() ================================================ FILE: src/hexrulewin.cpp ================================================ #include "hexrulewin.h" HexRuleWin::HexRuleWin(int mode, int highlight, QWidget *parent): QWidget(parent), m_mode(mode), m_isHighlightBackgroud(highlight) { ui.setupUi(this); if (mode == 0) { ui.maxLcsMode->setChecked(true); } else { ui.byteCmpMode->setChecked(true); } ui.hightlightBack->setChecked((highlight == 0) ? false : true); } HexRuleWin::~HexRuleWin() { } void HexRuleWin::slot_okBt() { int nowMode = (ui.maxLcsMode->isChecked() ? 0 : 1); int highLight = (ui.hightlightBack->isChecked() ? 1 : 0); if ((nowMode != m_mode) || (highLight != m_isHighlightBackgroud)) { m_mode = nowMode; m_isHighlightBackgroud = highLight; emit modeChange(m_mode, m_isHighlightBackgroud); } close(); } ================================================ FILE: src/hexrulewin.h ================================================ #pragma once #include #include "ui_hexrulewin.h" class HexRuleWin : public QWidget { Q_OBJECT public: HexRuleWin(int mode=0, int highlight=0, QWidget *parent = Q_NULLPTR); ~HexRuleWin(); signals: void modeChange(int mode, int highlightBack); private slots: void slot_okBt(); private: Ui::HexRuleWin ui; int m_mode; int m_isHighlightBackgroud; }; ================================================ FILE: src/hexrulewin.ui ================================================ HexRuleWin 0 0 332 152 350 160 HexRuleWinRule :/Resources/img/main.png:/Resources/img/main.png Mode Maximum Common String true One-to-one Byte Contrast Highlight diff Background Qt::Vertical 20 40 Qt::Horizontal 40 20 OK Cancel Qt::Horizontal 40 20 cancelBt clicked() HexRuleWin close() 209 130 326 116 okBt clicked() HexRuleWin slot_okBt() 106 128 55 117 slot_okBt() ================================================ FILE: src/include/pluginGl.h ================================================ #pragma once #include #include #define NDD_EXPORTDLL #if defined(Q_OS_WIN) #if defined(NDD_EXPORTDLL) #define NDD_EXPORT __declspec(dllexport) #else #define NDD_EXPORT __declspec(dllimport) #endif #else #define NDD_EXPORT __attribute__((visibility("default"))) #endif struct ndd_proc_data { QString m_strPlugName; // ѡ QString m_strFilePath; //lib ȫ·ѡڲù,򴫵 QString m_strComment; //˵ QString m_version; //汾롣ѡ QString m_auther;//ơѡ int m_menuType;//˵͡0ʹö˵ 1˵ QMenu* m_rootMenu;//m_menuType = 1˵ĵֵַnullptr ndd_proc_data(): m_rootMenu(nullptr), m_menuType(0) { } }; typedef struct ndd_proc_data NDD_PROC_DATA; typedef bool (*NDD_PROC_IDENTIFY_CALLBACK)(NDD_PROC_DATA* pProcData); typedef void (*NDD_PROC_FOUND_CALLBACK)(NDD_PROC_DATA* pProcData, void* pUserData); ================================================ FILE: src/installer/NsisMultiUser/Include/NsisMultiUser.nsh ================================================ /* NsisMultiUser.nsh - NSIS plugin that allows "per-user" (no admin required) and "per-machine" (asks elevation *only when necessary*) installations Full source code, documentation and demos at https://github.com/Drizin/NsisMultiUser/ Copyright 2016-2018 Ricardo Drizin, Alex Mitev */ !verbose push !verbose 3 ; Standard NSIS header files !include nsDialogs.nsh !include LogicLib.nsh !include x64.nsh !include WinVer.nsh !include FileFunc.nsh !include UAC.nsh !include StrFunc.nsh RequestExecutionLevel user ; will ask elevation only if necessary ; exit and error codes !define MULTIUSER_ERROR_INVALID_PARAMETERS 666660 ; invalid command-line parameters !define MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED 666661 ; elevation is restricted by MULTIUSER_INSTALLMODE_ALLOW_ELEVATION or MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT !define MULTIUSER_ERROR_NOT_INSTALLED 666662 ; returned from uninstaller when no version is installed !define MULTIUSER_ERROR_RUN_UNINSTALLER_FAILED 666663 ; returned from installer if executing the uninstaller failed !define MULTIUSER_ERROR_ELEVATION_FAILED 666666 ; returned by the outer instance when the inner instance cannot start (user aborted elevation dialog, Logon service not running, UAC is not supported by the OS, user without admin priv. is used in the runas dialog), or started, but was not admin !define MULTIUSER_INNER_INSTANCE_BACK 666667 ; returned by the inner instance when the user presses the Back button on the first visible page (display outer instance) !macro MULTIUSER_INIT_VARS ; required defines !ifndef PRODUCT_NAME | VERSION | PROGEXE !error "Should define all variables: PRODUCT_NAME, VERSION, PROGEXE" !endif ; optional defines ; COMPANY_NAME - stored in uninstall info in registry ; CONTACT - stored in uninstall info in registry ; COMMENTS - stored in uninstall info in registry ; URL_INFO_ABOUT - stored as the Support Link in the uninstall info of the registry, and when not included, the Help Link as well. ; URL_HELP_LINK - stored as the Help Link in the uninstall info of the registry. ; URL_UPDATE_INFO - stored as the Update Information in the uninstall info of the registry. ; MULTIUSER_INSTALLMODE_NO_HELP_DIALOG - don't show help dialog !define /ifndef MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS 1 ; 0 or 1 - whether user can install BOTH per-user and per-machine; this only affects the texts and the required elevation on the page, the actual uninstall of previous version has to be implemented by script !define /ifndef MULTIUSER_INSTALLMODE_ALLOW_ELEVATION 1 ; 0 or 1, allow UAC screens in the (un)installer - if set to 0 and user is not admin, per-machine radiobutton will be disabled, or if elevation is always required, (un)installer will exit with an error code (and message if not silent) !if "${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION}" == "" ; old code - just defined with no value, equivalent to 1 !define /redef MULTIUSER_INSTALLMODE_ALLOW_ELEVATION 1 !endif !define /ifndef MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT 0 ; 0 or 1, (only available if MULTIUSER_INSTALLMODE_ALLOW_ELEVATION = 1) allow UAC screens in the (un)installer in silent mode; if set to 0 and user is not admin and elevation is always required, (un)installer will exit with an error code !if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION} = 0 !if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT} = 1 !error "MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT can be set only when MULTIUSER_INSTALLMODE_ALLOW_ELEVATION is set!" !endif !endif !define /ifndef MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS 0 ; 0 or 1, (only available if MULTIUSER_INSTALLMODE_ALLOW_ELEVATION = 1 and there are 0 or 2 installations on the system) when running as user and is set to 1, per-machine installation is pre-selected, otherwise per-user installation !if "${MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS}" == "" ; old code - just defined with no value, equivalent to 1 !define /redef MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS 1 !endif !define /ifndef MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER 0 ; 0 or 1, (only available if there are 0 or 2 installations on the system) when running as admin and is set to 1, per-user installation is pre-selected, otherwise per-machine installation !if "${MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER}" == "" ; old code - just defined with no value, equivalent to 1 !define /redef MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER 1 !endif !define /ifndef MULTIUSER_INSTALLMODE_64_BIT 0 ; set to 1 for 64-bit installers !define /ifndef MULTIUSER_INSTALLMODE_INSTDIR "${PRODUCT_NAME}" ; suggested name of directory to install (under $PROGRAMFILES32/$PROGRAMFILES64 or $LOCALAPPDATA) !define /ifndef MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY "${PRODUCT_NAME}" ; registry key for UNINSTALL info, placed under [HKLM|HKCU]\Software\Microsoft\Windows\CurrentVersion\Uninstall (can be ${PRODUCT_NAME} or some {GUID}) !define /ifndef MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY "Microsoft\Windows\CurrentVersion\Uninstall\${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY}" ; registry key where InstallLocation is stored, placed under [HKLM|HKCU]\Software (can be ${PRODUCT_NAME} or some {GUID}) !define MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY}" ; full path to registry key storing uninstall information displayed in Windows installed programs list !define MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH "Software\${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY}" ; full path to registry key where InstallLocation is stored !define /ifndef UNINSTALL_FILENAME "uninstall.exe" ; name of uninstaller !define /ifndef MULTIUSER_INSTALLMODE_DISPLAYNAME "${PRODUCT_NAME} ${VERSION}" ; display name in Windows uninstall list of programs !define /ifndef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME "InstallLocation" ; name of the registry value containing install directory !ifdef MULTIUSER_INSTALLMODE_FUNCTION !define MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION ${MULTIUSER_INSTALLMODE_FUNCTION} ; old code - changed function name !undef MULTIUSER_INSTALLMODE_FUNCTION !endif ; Variables Var MultiUser.Privileges ; Current user level: "Admin", "Power" (up to Windows XP), or else regular user. Var MultiUser.InstallMode ; Current Install Mode ("AllUsers" or "CurrentUser") Var IsAdmin ; 0 or 1, initialized via UserInfo::GetAccountType Var IsInnerInstance ; 0 or 1, initialized via UAC_IsInnerInstance Var HasPerMachineInstallation ; 0 or 1 Var HasPerUserInstallation ; 0 or 1 Var HasCurrentModeInstallation ; 0 or 1 Var PerMachineInstallationVersion ; contains version number of empty string "" Var PerUserInstallationVersion ; contains version number of empty string "" Var PerMachineInstallationFolder Var PerUserInstallationFolder Var PerMachineUninstallString Var PerUserUninstallString Var PerMachineOptionAvailable ; 0 or 1: 0 means only per-user radio button is enabled on page, 1 means both; will be 0 only when MULTIUSER_INSTALLMODE_ALLOW_ELEVATION = 0 and user is not admin Var InstallShowPagesBeforeComponents ; 0 or 1, when 0, use it to hide all pages before Components inside the installer when running as inner instance Var DisplayDialog ; (internal) Var PreFunctionCalled ; (internal) Var CmdLineInstallMode ; contains command-line install mode set via /allusers and /currentusers parameters Var CmdLineDir ; contains command-line directory set via /D parameter ; interface variables Var MultiUser.InstallModePage Var MultiUser.InstallModePage.Text Var MultiUser.InstallModePage.AllUsers Var MultiUser.InstallModePage.CurrentUser !ifdef UMUI_SYSVERSION Var MultiUser.InstallModePage.AllUsersLabel Var MultiUser.InstallModePage.CurrentUserLabel !endif Var MultiUser.InstallModePage.Description !macroend !macro MULTIUSER_UNINIT_VARS !ifdef MULTIUSER_INSTALLMODE_UNFUNCTION !define MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION ${MULTIUSER_INSTALLMODE_UNFUNCTION} ; old code - changed function name !undef MULTIUSER_INSTALLMODE_UNFUNCTION !else ifdef MULTIUSER_INSTALLMODE_CHANGE_MODE_UNFUNCTION !define MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION ${MULTIUSER_INSTALLMODE_CHANGE_MODE_UNFUNCTION} ; old code - changed function name !undef MULTIUSER_INSTALLMODE_CHANGE_MODE_UNFUNCTION !endif ; Variables Var UninstallShowBackButton ; 0 or 1, use it to show/hide the Back button on the first visible page of the uninstaller !macroend /****** Modern UI 2 page ******/ !macro MULTIUSER_PAGE UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX !ifdef MULTIUSER_${UNINSTALLER_PREFIX}PAGE_INSTALLMODE !error "You cannot insert MULTIUSER_${UNINSTALLER_PREFIX}PAGE_INSTALLMODE more than once!" !endif !define MULTIUSER_${UNINSTALLER_PREFIX}PAGE_INSTALLMODE ${${UNINSTALLER_PREFIX}StrRep} !insertmacro MULTIUSER_${UNINSTALLER_PREFIX}INIT_VARS !ifmacrodef MUI_${UNINSTALLER_PREFIX}PAGE_INIT !insertmacro MUI_${UNINSTALLER_PREFIX}PAGE_INIT !endif !insertmacro MULTIUSER_FUNCTION_INSTALLMODEPAGE "${UNINSTALLER_PREFIX}" "${UNINSTALLER_FUNCPREFIX}" PageEx ${UNINSTALLER_FUNCPREFIX}custom PageCallbacks ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModePre ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeLeave PageExEnd !ifmacrodef MUI_${UNINSTALLER_PREFIX}PAGE_END !insertmacro MUI_${UNINSTALLER_PREFIX}PAGE_END ; MUI1 MUI_UNPAGE_END macro !endif !macroend !macro MULTIUSER_PAGE_INSTALLMODE ; create install page - called by user script !insertmacro MULTIUSER_PAGE "" "" !macroend !macro MULTIUSER_UNPAGE_INSTALLMODE ; create uninstall page - called by user script !ifndef MULTIUSER_PAGE_INSTALLMODE !error "You have to insert MULTIUSER_PAGE_INSTALLMODE before MULTIUSER_UNPAGE_INSTALLMODE!" !endif !insertmacro MULTIUSER_PAGE "UN" "un." !macroend /****** Installer/uninstaller initialization ******/ !macro MULTIUSER_LANGUAGE_INIT ; called by user script after the last MUI_LANGUAGE call !include "NsisMultiUserLang.nsh" !macroend !macro MULTIUSER_INIT ; called by user script in .onInit (after MULTIUSER_PAGE_INSTALLMODE) !ifdef MULTIUSER_INIT !error "MULTIUSER_INIT already inserted!" !endif !define MULTIUSER_INIT !ifndef MULTIUSER_PAGE_INSTALLMODE !error "You have to insert MULTIUSER_PAGE_INSTALLMODE!" !endif Call MultiUser.InitChecks !macroend !macro MULTIUSER_UNINIT ; called by user script in un.onInit (after MULTIUSER_UNPAGE_INSTALLMODE) !ifdef MULTIUSER_UNINIT !error "MULTIUSER_UNINIT already inserted!" !endif !define MULTIUSER_UNINIT !ifndef MULTIUSER_PAGE_INSTALLMODE | MULTIUSER_UNPAGE_INSTALLMODE !error "You have to insert both MULTIUSER_PAGE_INSTALLMODE and MULTIUSER_UNPAGE_INSTALLMODE!" !endif Call un.MultiUser.InitChecks !macroend !macro MULTIUSER_SET_ERROR ERROR ; only use in MultiUser.InitChecks! SetErrorLevel ${ERROR} ${if} ${silent} Quit ${else} StrCpy $InstallShowPagesBeforeComponents 0 System::Store L Return ${endif} !macroend /****** Functions ******/ !macro MULTIUSER_FUNCTION_INSTALLMODEPAGE UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX Function ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers ${if} $MultiUser.InstallMode == "AllUsers" Return ${endif} StrCpy $MultiUser.InstallMode "AllUsers" SetShellVarContext all StrCpy $HasCurrentModeInstallation "$HasPerMachineInstallation" ${if} $CmdLineDir != "" StrCpy $INSTDIR $CmdLineDir ${elseif} $PerMachineInstallationFolder != "" StrCpy $INSTDIR $PerMachineInstallationFolder ${else} !if "${UNINSTALLER_FUNCPREFIX}" == "" ; Set default installation location for installer ${if} ${MULTIUSER_INSTALLMODE_64_BIT} = 0 StrCpy $INSTDIR "$PROGRAMFILES32\${MULTIUSER_INSTALLMODE_INSTDIR}" ${else} StrCpy $INSTDIR "$PROGRAMFILES64\${MULTIUSER_INSTALLMODE_INSTDIR}" ${endif} !endif ${endif} !ifdef MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION Call "${MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION}" !endif FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser ${if} $MultiUser.InstallMode == "CurrentUser" Return ${endif} StrCpy $MultiUser.InstallMode "CurrentUser" SetShellVarContext current StrCpy $HasCurrentModeInstallation "$HasPerUserInstallation" ${if} $CmdLineDir != "" StrCpy $INSTDIR $CmdLineDir ${elseif} $PerUserInstallationFolder != "" StrCpy $INSTDIR $PerUserInstallationFolder ${else} !if "${UNINSTALLER_FUNCPREFIX}" == "" ; Set default installation location for installer ${if} "$LOCALAPPDATA" != "" ; There is a shfolder.dll that emulates CSIDL_LOCAL_APPDATA for older versions of shell32.dll which doesn't support it (pre-Win2k versions) ; This shfolder.dll is bundeled with IE5 (or as part of Platform SDK Redistributable) that can be installed on NT4 and NSIS (at least since v3.01) will use it instead of shell32.dll if it is available StrCpy $INSTDIR "$LOCALAPPDATA\${MULTIUSER_INSTALLMODE_INSTDIR}" ${else} ; When shfolder.dll is unavailable on NT4 (and so $LOCALAPPDATA returns nothing), local AppData path can still be queried here using registry ReadRegStr $INSTDIR HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Local AppData" ${if} "$INSTDIR" == "" StrCpy $INSTDIR "$PROGRAMFILES32\${MULTIUSER_INSTALLMODE_INSTDIR}" ; there's no 64-bit of Windows before 2000 (i.e. NT4) ${else} StrCpy $INSTDIR "$INSTDIR\${MULTIUSER_INSTALLMODE_INSTDIR}" ${endif} ${endif} !endif ${endif} !ifdef MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION Call "${MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION}" !undef MULTIUSER_INSTALLMODE_CHANGE_MODE_FUNCTION !endif FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.GetPos StrCpy $2 $PreFunctionCalled ; if not PreFunctionCalled, we cannot get position ${if} $2 = 1 System::Call "*(i, i, i, i) p .r3" ; allocate RECT struct System::Call "User32::GetWindowRect(p $HWNDPARENT, i r3)" System::Call '*$3(i .r0, i .r1, i, i)' System::Free $3 ${endif} FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.SetPos System::Call "User32::SetWindowPos(p $HWNDPARENT, i 0, i $0, i $1, i 0, i 0, i 0x5)" FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired ; check if elevation on page is always required, return result in $0 ; when this function is called from InitChecks, InstallMode is "" ; and when called from InstallModeLeave/SetShieldsAndTexts, InstallMode is not empty StrCpy $0 0 ${if} $IsAdmin = 0 ${if} $MultiUser.InstallMode == "AllUsers" StrCpy $0 1 ${else} !if "${UNINSTALLER_FUNCPREFIX}" == "" ; installer !if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} = 0 ${if} $HasPerMachineInstallation = 1 ${andif} $HasPerUserInstallation = 0 ; has to uninstall the per-machine installation, which requires admin rights ; but signle-user installs of standard users shouldn't be elevated (run as another user) StrCpy $0 2 ${endif} !endif !endif ${endif} ${endif} FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed ${if} ${silent} StrCpy $0 "${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT}" ${else} StrCpy $0 "${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION}" ${endif} FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.Elevate Call ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed ${if} $0 = 0 Return ${endif} HideWindow !insertmacro UAC_RunElevated ${if} $0 = 0 ; if inner instance was started ($1 = 1), return code of the elevated fork process is in $2 as well as set via SetErrorLevel ; NOTE: the error level may have a value MULTIUSER_ERROR_ELEVATION_FAILED (but not MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED) ${if} $1 <> 1 ; process did not start - return MULTIUSER_ERROR_ELEVATION_FAILED SetErrorLevel ${MULTIUSER_ERROR_ELEVATION_FAILED} ${endif} ${else} ; process did not start - return MULTIUSER_ERROR_ELEVATION_FAILED or Win32 error code stored in $0 ${if} $0 = 1223 ; user aborted elevation dialog - translate to MULTIUSER_ERROR_ELEVATION_FAILED for easier processing ${orif} $0 = 1062 ; Logon service not running - translate to MULTIUSER_ERROR_ELEVATION_FAILED for easier processing StrCpy $0 ${MULTIUSER_ERROR_ELEVATION_FAILED} ${endif} SetErrorLevel $0 ${endif} Quit FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.InitChecks System::Store S ; Installer initialization - check privileges and set default install mode StrCpy $MultiUser.InstallMode "" StrCpy $PerMachineOptionAvailable 1 StrCpy $InstallShowPagesBeforeComponents 1 StrCpy $DisplayDialog 1 StrCpy $PreFunctionCalled 0 StrCpy $CmdLineInstallMode "" StrCpy $CmdLineDir "" ${if} ${RunningX64} ; fix for https://github.com/Drizin/NsisMultiUser/issues/11 ${if} ${MULTIUSER_INSTALLMODE_64_BIT} = 0 ; HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall gets redirected to HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall, ; for HKCU there's no redirection SetRegView 32 ; someday, when NSIS is 64-bit... ${else} SetRegView 64 ${endif} ${endif} UserInfo::GetAccountType Pop $MultiUser.Privileges ${if} $MultiUser.Privileges == "Admin" ${orif} $MultiUser.Privileges == "Power" ; under XP (and earlier?), Power users can install programs, but UAC_IsAdmin returns false StrCpy $IsAdmin 1 ${else} StrCpy $IsAdmin 0 ${endif} ${if} ${UAC_IsInnerInstance} StrCpy $IsInnerInstance 1 ${else} StrCpy $IsInnerInstance 0 ${endif} ; initialize PerXXXInstallationFolder, PerXXXInstallationVersion, PerXXXUninstallString variables ReadRegStr $PerMachineInstallationFolder HKLM "${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}" ; "InstallLocation" ReadRegStr $PerMachineInstallationVersion HKLM "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" "DisplayVersion" ReadRegStr $PerMachineUninstallString HKLM "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" "UninstallString" ; contains the /currentuser or /allusers parameter ${if} $PerMachineInstallationFolder == "" StrCpy $HasPerMachineInstallation 0 ${else} StrCpy $HasPerMachineInstallation 1 ${endif} ReadRegStr $PerUserInstallationFolder HKCU "${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}" ; "InstallLocation" !insertmacro MULTIUSER_GetCurrentUserString $0 ReadRegStr $PerUserInstallationVersion HKCU "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "DisplayVersion" ReadRegStr $PerUserUninstallString HKCU "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "UninstallString" ; contains the /currentuser or /allusers parameter ${if} $PerUserInstallationFolder == "" StrCpy $HasPerUserInstallation 0 ${else} StrCpy $HasPerUserInstallation 1 ${if} $PerUserInstallationVersion == "" ${andif} $0 != "" ; support old versions that did not have MULTIUSER_GetCurrentUserString ReadRegStr $PerUserInstallationVersion HKCU "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" "DisplayVersion" ReadRegStr $PerUserUninstallString HKCU "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" "UninstallString" ; contains the /currentuser or /allusers parameter ${endif} ${endif} ; get all parameters ${GetParameters} $R0 ; initialize CmdLineInstallMode and CmdLineDir, needed also if we are the inner instance (UAC passes all parameters from the outer instance) ; note: the loading of the /D parameter depends on AllowRootDirInstall, see https://sourceforge.net/p/nsis/bugs/1176/ ${GetOptions} $R0 "/allusers" $R1 ${ifnot} ${errors} StrCpy $CmdLineInstallMode "AllUsers" ${endif} ${GetOptions} $R0 "/currentuser" $R1 ${ifnot} ${errors} ${if} $CmdLineInstallMode != "" !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_INVALID_PARAMETERS} ${endif} StrCpy $CmdLineInstallMode "CurrentUser" ${endif} !if "${UNINSTALLER_FUNCPREFIX}" == "" ${if} "$INSTDIR" != "" ; if $INSTDIR is not empty here in the installer, it's initialized with the value of the /D command-line parameter StrCpy $CmdLineDir "$INSTDIR" ${endif} !endif ; initialize $InstallShowPagesBeforeComponents and $UninstallShowBackButton !if "${UNINSTALLER_FUNCPREFIX}" == "" ${if} $IsInnerInstance = 1 StrCpy $InstallShowPagesBeforeComponents 0 ; we hide pages only if we're the inner instance (the outer instance always shows them) ${endif} !else ${if} $CmdLineInstallMode == "" ${andif} $HasPerMachineInstallation = 1 ${andif} $HasPerUserInstallation = 1 StrCpy $UninstallShowBackButton 1 ; make sure we show Back button only if dialog was displayed, i.e. uninstaller did not elevate in the beginning (see when MultiUser.Elevate is called) ${else} StrCpy $UninstallShowBackButton 0 ${endif} !endif ${if} $IsInnerInstance = 1 ; check if the inner instance has admin rights ${if} $IsAdmin = 0 SetErrorLevel ${MULTIUSER_ERROR_ELEVATION_FAILED} ; special return value for outer instance so it knows we did not have admin rights Quit ${endif} !if "${UNINSTALLER_FUNCPREFIX}" == "" ; set language to the one used in the outer instance (installer only, for uninstaller the outer and inner instance might have different language, ; or there might be no current user installation when the outer uninstaller invokes the inner instance !insertmacro UAC_AsUser_GetGlobalVar $LANGUAGE !if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} = 0 !insertmacro UAC_AsUser_GetGlobal $0 $MultiUser.InstallMode ${if} $0 == "CurrentUser" ; the inner instance was elevated because there is installation per-machine, which needs to be removed and requires admin rights, ; but the user selected per-user installation in the outer instance, set context to CurrentUser Call MultiUser.InstallMode.CurrentUser StrCpy $DisplayDialog 0 System::Store L Return ${endif} !endif !endif Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers ; Inner Process (and Admin) - set to AllUsers StrCpy $DisplayDialog 0 System::Store L Return ${endif} ; process /? parameter !ifndef MULTIUSER_INSTALLMODE_NO_HELP_DIALOG ; define MULTIUSER_INSTALLMODE_NO_HELP_DIALOG to display your own help dialog (new options, return codes, etc.) ${GetOptions} $R0 "/?" $R1 ${ifnot} ${errors} MessageBox MB_ICONINFORMATION "Usage:$\r$\n\ $\r$\n\ /allusers$\t- (un)install for all users, case-insensitive$\r$\n\ /currentuser - (un)install for current user only, case-insensitive$\r$\n\ /uninstall$\t- (installer only) run uninstaller, requires /allusers or /currentuser, case-insensitive$\r$\n\ /S$\t- silent mode, requires /allusers or /currentuser, case-sensitive$\r$\n\ /D$\t- (installer only) set install directory, must be last parameter, without quotes, case-sensitive$\r$\n\ /?$\t- display this message$\r$\n\ $\r$\n\ $\r$\n\ Return codes (decimal):$\r$\n\ $\r$\n\ 0$\t- normal execution (no error)$\r$\n\ 1$\t- (un)installation aborted by user (Cancel button)$\r$\n\ 2$\t- (un)installation aborted by script$\r$\n\ 666660$\t- invalid command-line parameters$\r$\n\ 666661$\t- elevation is not allowed by defines$\r$\n\ 666662$\t- uninstaller detected there's no installed version$\r$\n\ 666663$\t- executing uninstaller from the installer failed$\r$\n\ 666666$\t- cannot start elevated instance$\r$\n\ other$\t- Windows error code when trying to start elevated instance" SetErrorLevel 0 Quit ${endif} !endif ; process /uninstall parameter !if "${UNINSTALLER_FUNCPREFIX}" == "" ${GetOptions} $R0 "/uninstall" $R1 ${ifnot} ${errors} ${if} $CmdLineInstallMode == "" !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_INVALID_PARAMETERS} ${elseif} $CmdLineInstallMode == "AllUsers" ${if} $HasPerMachineInstallation = 0 !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED} ${endif} StrCpy $0 "$PerMachineInstallationFolder" ${else} ${if} $HasPerUserInstallation = 0 !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED} ${endif} StrCpy $0 "$PerUserInstallationFolder" ${endif} ; NOTES: ; - the _? param stops the uninstaller from copying itself to the temporary directory, which is the only way for waiting to work ; - $R0 passes the original parameters from the installer to the uninstaller (together with /uninstall so that uninstaller knows installer is running and skips opitional single instance checks) ; - using ExecWait fails if the new process requires elevation, see http://forums.winamp.com/showthread.php?p=3080202&posted=1#post3080202, so we use ExecShellWait ExecShellWait "open" "$0\${UNINSTALL_FILENAME}" "$R0 _?=$0" ${if} ${errors} SetErrorLevel ${MULTIUSER_ERROR_RUN_UNINSTALLER_FAILED} ${else} SetErrorLevel 0 ${endif} Quit ${endif} !endif ; check for limitations ${if} ${silent} ${andif} $CmdLineInstallMode == "" SetErrorLevel ${MULTIUSER_ERROR_INVALID_PARAMETERS} ; one of the /allusers or /currentuser parameters is required in silent mode Quit ${endif} !if "${UNINSTALLER_FUNCPREFIX}" != "" ${if} $HasPerMachineInstallation = 0 ${andif} $HasPerUserInstallation = 0 !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED} ${endif} !endif ; process /allusers and /currentuser parameters (both silent and non-silent mode, installer and uninstaller) ${if} $CmdLineInstallMode != "" ${ifnot} ${IsNT} ; Not running Windows NT, (so it's Windows 95/98/ME), so per-user installation not supported ${andif} $CmdLineInstallMode == "CurrentUser" !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_INVALID_PARAMETERS} ${endif} ${if} $CmdLineInstallMode == "AllUsers" Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers ${else} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser ${endif} !if "${UNINSTALLER_FUNCPREFIX}" != "" ${if} $HasCurrentModeInstallation = 0 !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_NOT_INSTALLED} ${endif} !endif !if "${UNINSTALLER_FUNCPREFIX}" != "" StrCpy $DisplayDialog 0 ; uninstaller - don't display dialog when there is /allusers or /currentuser parameter !else ${if} ${silent} StrCpy $DisplayDialog 0 ${endif} !endif Call ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired ${if} $0 = 1 ${if} $DisplayDialog = 0 ; if we are not displaying the dialog (uninstaller or silent mode) and elevation is required, Elevate now (or Quit with an error) Call ${UNINSTALLER_FUNCPREFIX}MultiUser.Elevate ${else} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed ; if we are displaying the dialog and elevation is required, check if elevation is allowed ${endif} ${if} $0 = 0 !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED} ${endif} ${endif} System::Store L Return ${endif} ; the rest of the code is executed only when there are no /allusers and /currentuser parameters and in non-silent mode ${ifnot} ${IsNT} ; Not running Windows NT, (so it's Windows 95/98/ME), so per-user installation not supported Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers StrCpy $DisplayDialog 0 System::Store L Return ${endif} ; check if elevation on page is always required (installer only) !if "${UNINSTALLER_FUNCPREFIX}" == "" Call ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired ${if} $0 = 1 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckElevationAllowed ${if} $0 = 0 !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED} ${endif} ${endif} !endif ; if elevation is not allowed and user is not admin, disable the per-machine option !if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION} = 0 ${if} $IsAdmin = 0 StrCpy $PerMachineOptionAvailable 0 ${endif} !endif ; if there's only one installed version ; when uninstaller is invoked from the "add/remove programs", Windows will automatically start uninstaller elevated if uninstall keys are in HKLM ${if} $HasPerMachineInstallation = 1 ${andif} $HasPerUserInstallation = 0 !if "${UNINSTALLER_FUNCPREFIX}" == "" ${if} $PerMachineOptionAvailable = 1 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers ${else} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser ${endif} !else ${if} $IsAdmin = 0 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.Elevate ; if $PerMachineOptionAvailable = 0 (i.e. MULTIUSER_INSTALLMODE_ALLOW_ELEVATION = 0), Elevate will call CheckElevationAllowed, which checks if MULTIUSER_INSTALLMODE_ALLOW_ELEVATION = 0 ${if} $0 = 0 !insertmacro MULTIUSER_SET_ERROR ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED} ${endif} ${endif} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers StrCpy $DisplayDialog 0 !endif ${elseif} $HasPerMachineInstallation = 0 ${andif} $HasPerUserInstallation = 1 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser !if "${UNINSTALLER_FUNCPREFIX}" != "" StrCpy $DisplayDialog 0 !endif ${else} ; if there is no installed version (installer only), or there are 2 installations - we always display the dialog ${if} $IsAdmin = 1 ; If running as admin, default to per-machine installation (unless default is forced by MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER) !if ${MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER} = 0 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers !else Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser !endif ${else} ; if not running as admin, default to per-user installation (unless default is forced by MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS) !if ${MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS} = 0 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser !else ${if} $PerMachineOptionAvailable = 1 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers ${else} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser ${endif} !endif ${endif} ${endif} System::Store L FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.ShowErrorMessage Push $0 GetErrorLevel $0 ${if} $0 = -1 Pop $0 Return ${endif} ${Switch} $0 ${Case} ${MULTIUSER_ERROR_INVALID_PARAMETERS} MessageBox MB_ICONSTOP "$(MULTIUSER_INVALID_PARAMS)" /SD IDOK Quit ${Case} ${MULTIUSER_ERROR_NOT_INSTALLED} MessageBox MB_ICONSTOP "$(MULTIUSER_NOT_INSTALLED)" /SD IDOK Quit ${Case} ${MULTIUSER_ERROR_ELEVATION_NOT_ALLOWED} MessageBox MB_ICONSTOP "$(MULTIUSER_RUN_AS_ADMIN)" /SD IDOK Quit ${EndSwitch} FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModePre System::Store S Call ${UNINSTALLER_FUNCPREFIX}MultiUser.ShowErrorMessage ${if} $IsInnerInstance = 1 ${if} $PreFunctionCalled = 0 ; inner instance is displayed ; set position of inner instance !insertmacro UAC_AsUser_Call Function ${UNINSTALLER_FUNCPREFIX}MultiUser.GetPos ${UAC_SYNCREGISTERS} ${if} $2 = 1 Call ${UNINSTALLER_FUNCPREFIX}MultiUser.SetPos ${endif} ${else} ; user pressed Back button on the first visible page in the inner instance - display outer instance ; set position of outer instance Call ${UNINSTALLER_FUNCPREFIX}MultiUser.GetPos !insertmacro UAC_AsUser_Call Function ${UNINSTALLER_FUNCPREFIX}MultiUser.SetPos ${UAC_SYNCREGISTERS} SetErrorLevel ${MULTIUSER_INNER_INSTANCE_BACK} Quit ${endif} ${endif} StrCpy $PreFunctionCalled 1 ${if} $DisplayDialog = 0 System::Store L Abort ${endif} !ifmacrodef MUI_HEADER_TEXT !if "${UNINSTALLER_FUNCPREFIX}" == "" !insertmacro MUI_HEADER_TEXT "$(MULTIUSER_PAGE_TITLE)" "$(MULTIUSER_INSTALL_PAGE_SUBTITLE)" !else !insertmacro MUI_HEADER_TEXT "$(MULTIUSER_PAGE_TITLE)" "$(MULTIUSER_UNINSTALL_PAGE_SUBTITLE)" !endif !endif !ifdef MUI_PAGE_CUSTOMFUNCTION_PRE Call "${MUI_PAGE_CUSTOMFUNCTION_PRE}" !undef MUI_PAGE_CUSTOMFUNCTION_PRE !endif nsDialogs::Create 1018 Pop $MultiUser.InstallModePage ; default was MULTIUSER_TEXT_INSTALLMODE_TITLE "Choose Users" !if "${UNINSTALLER_FUNCPREFIX}" == "" ${NSD_CreateLabel} 0 0 100% 24u "$(MULTIUSER_INSTALL_HEADER)" !else ${NSD_CreateLabel} 0 0 100% 24u "$(MULTIUSER_UNINSTALL_HEADER)" !endif Pop $MultiUser.InstallModePage.Text !ifdef UMUI_SYSVERSION StrCpy $0 "$(MULTIUSER_ALL_USERS_UMUI)" ${NSD_CreateRadioButton} 30u 30% 10u 8u "" Pop $MultiUser.InstallModePage.AllUsers System::Call "advapi32::GetUserName(t. r1, *i ${NSIS_MAX_STRLEN})" ${${UNINSTALLER_PREFIX}StrRep} "$1" "$(MULTIUSER_CURRENT_USER_UMUI)" "{USER}" "$1" ${NSD_CreateRadioButton} 30u 45% 10u 8u "" Pop $MultiUser.InstallModePage.CurrentUser ; We create the radio buttons with empty text and create separate labels, because radio button font color can't be changed with XP Styles turned on, ; which creates problems with UMUI themes, see http://forums.winamp.com/showthread.php?p=3079742#post3079742 ; shortcuts (&) for labels don't work and cause strange behaviour in NSIS - going to another page, etc. ${NSD_CreateLabel} 44u 30% 280u 16u "$0" Pop $MultiUser.InstallModePage.AllUsersLabel nsDialogs::SetUserData $MultiUser.InstallModePage.AllUsersLabel $MultiUser.InstallModePage.AllUsers ${NSD_CreateLabel} 44u 45% 280u 8u "$1" Pop $MultiUser.InstallModePage.CurrentUserLabel nsDialogs::SetUserData $MultiUser.InstallModePage.CurrentUserLabel $MultiUser.InstallModePage.CurrentUser ${if} $PerMachineOptionAvailable = 0 ; install per-machine is not available SendMessage $MultiUser.InstallModePage.AllUsersLabel ${WM_SETTEXT} 0 "STR:$0$\r$\n($(MULTIUSER_RUN_AS_ADMIN))" ; only when $PerMachineOptionAvailable = 0, we add that comment to the disabled control itself ${orif} $CmdLineInstallMode != "" EnableWindow $MultiUser.InstallModePage.AllUsersLabel 0 ; start out disabled EnableWindow $MultiUser.InstallModePage.AllUsers 0 ; start out disabled ${endif} ${if} $CmdLineInstallMode != "" EnableWindow $MultiUser.InstallModePage.CurrentUserLabel 0 EnableWindow $MultiUser.InstallModePage.CurrentUser 0 ${endif} ; bind to label click ${NSD_OnClick} $MultiUser.InstallModePage.CurrentUserLabel ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionLabelClick ${NSD_OnClick} $MultiUser.InstallModePage.AllUsersLabel ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionLabelClick !else StrCpy $0 "$(MULTIUSER_ALL_USERS)" System::Call "advapi32::GetUserName(t. r1, *i ${NSIS_MAX_STRLEN})" ${${UNINSTALLER_PREFIX}StrRep} "$1" "$(MULTIUSER_CURRENT_USER)" "{USER}" "$1" ${NSD_CreateRadioButton} 30u 30% 280u 16u "$0" Pop $MultiUser.InstallModePage.AllUsers ${NSD_CreateRadioButton} 30u 45% 280u 8u "$1" Pop $MultiUser.InstallModePage.CurrentUser ${if} $PerMachineOptionAvailable = 0 ; install per-machine is not available SendMessage $MultiUser.InstallModePage.AllUsers ${WM_SETTEXT} 0 "STR:$0$\r$\n($(MULTIUSER_RUN_AS_ADMIN))" ; only when $PerMachineOptionAvailable = 0, we add that comment to the disabled control itself ${orif} $CmdLineInstallMode != "" EnableWindow $MultiUser.InstallModePage.AllUsers 0 ; start out disabled ${endif} ${if} $CmdLineInstallMode != "" EnableWindow $MultiUser.InstallModePage.CurrentUser 0 ${endif} !endif ; bind to radiobutton change ${NSD_OnClick} $MultiUser.InstallModePage.CurrentUser ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick ${NSD_OnClick} $MultiUser.InstallModePage.AllUsers ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick ${NSD_CreateLabel} 0u -32u 100% 32u "" ; will hold up to 4 lines of text Pop $MultiUser.InstallModePage.Description ${if} $MultiUser.InstallMode == "AllUsers" ; setting selected radio button SendMessage $MultiUser.InstallModePage.AllUsers ${BM_SETCHECK} ${BST_CHECKED} 0 ; select radio button ${else} SendMessage $MultiUser.InstallModePage.CurrentUser ${BM_SETCHECK} ${BST_CHECKED} 0 ; select radio button ${endif} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.SetShieldAndTexts ; simulating click on the control will change $INSTDIR and reset a possible user selection !ifmacrodef UMUI_IOPAGEBGTRANSPARENT_INIT ; UMUI, apply theme to controls !ifndef USE_MUIEx ; for MUIEx, applying themes causes artifacts !insertmacro UMUI_IOPAGEBGTRANSPARENT_INIT $MultiUser.InstallModePage !insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.Text !insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.AllUsers !insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.AllUsersLabel !insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.CurrentUser !insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.CurrentUserLabel !insertmacro UMUI_IOPAGECTLTRANSPARENT_INIT $MultiUser.InstallModePage.Description !endif !endif System::Store L !ifdef MUI_PAGE_CUSTOMFUNCTION_SHOW Call "${MUI_PAGE_CUSTOMFUNCTION_SHOW}" !undef MUI_PAGE_CUSTOMFUNCTION_SHOW !endif nsDialogs::Show !if "${UNINSTALLER_FUNCPREFIX}" == "" Push $0 GetDlgItem $0 $HWNDPARENT 1 SendMessage $0 ${BCM_SETSHIELD} 0 0 ; hide SHIELD on page leave (InstallModeLeave is called only on Next button click) Pop $0 !endif FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeLeave System::Store S !if ${MULTIUSER_INSTALLMODE_ALLOW_ELEVATION} = 1 ; if elevation is allowed Call ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired ${if} $0 = 1 HideWindow !insertmacro UAC_RunElevated ;MessageBox MB_OK "[$0]/[$1]/[$2]/[$3]" ; http://nsis.sourceforge.net/UAC_plug-in ${Switch} $0 ${Case} 0 ${Switch} $1 ${Case} 1 ; Started an elevated child process successfully, exit code is in $2 ${Switch} $2 ${Case} ${MULTIUSER_ERROR_ELEVATION_FAILED} ; the inner instance was not admin after all - stay on page MessageBox MB_ICONSTOP "$(MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED)" /SD IDOK ${Break} ${Case} ${MULTIUSER_INNER_INSTANCE_BACK} ; if user pressed Back button on the first visible page of the inner instance - stay on page ${Break} ${Default} ; all other cases - Quit ; return code of the elevated fork process is in $2 as well as set via SetErrorLevel Quit ${EndSwitch} ${Break} ${Case} 3 ; RunAs completed successfully, but with a non-admin user - stay on page MessageBox MB_ICONSTOP "$(MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED)" /SD IDOK ${Break} ${Default} ; 0 - UAC is not supported by the OS, OR 2 - The process is already running @ HighIL (Member of admin group) - stay on page MessageBox MB_ICONSTOP "$(MULTIUSER_ELEVATION_NOT_SUPPORTED)" /SD IDOK ${EndSwitch} ${Break} ${Case} 1223 ; user aborted elevation dialog - stay on page ${Break} ${Case} 1062 ; Logon service not running - stay on page MessageBox MB_ICONSTOP "$(MULTIUSER_LOGON_SERVICE_NOT_RUNNING)" /SD IDOK ${Break} ${Default} ; anything else should be treated as a fatal error - stay on page ${${UNINSTALLER_PREFIX}StrRep} "$0" "$(MULTIUSER_ELEVATION_ERROR)" "{ERROR}" "$0" MessageBox MB_ICONSTOP "$0" /SD IDOK ${EndSwitch} ; clear the error level set by UAC for inner instance, so that outer instance returns its own error level when exits (the error level is not reset by NSIS if once set and >= 0) ; see http://forums.winamp.com/showthread.php?p=3079116&posted=1#post3079116 SetErrorLevel -1 BringToFront Abort ; Stay on page ${endif} !endif System::Store L !ifdef MUI_PAGE_CUSTOMFUNCTION_LEAVE Call "${MUI_PAGE_CUSTOMFUNCTION_LEAVE}" !undef MUI_PAGE_CUSTOMFUNCTION_LEAVE !endif FunctionEnd Function ${UNINSTALLER_FUNCPREFIX}MultiUser.SetShieldAndTexts System::Store S StrCpy $0 "$MultiUser.InstallMode" ; if necessary, display text for different install mode rather than the actual one in $MultiUser.InstallMode !if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} = 0 !if "${UNINSTALLER_FUNCPREFIX}" == "" ${if} $MultiUser.InstallMode == "AllUsers" ; user selected "all users" ${if} $HasPerMachineInstallation = 0 ${andif} $HasPerUserInstallation = 1 StrCpy $0 "CurrentUser" ; display information for the "current user" installation ${endif} ${elseif} $HasPerMachineInstallation = 1 ${andif} $HasPerUserInstallation = 0 ; user selected "current user" StrCpy $0 "AllUsers" ; display information for the "all users" installation ${endif} !endif !endif ; set label text StrCpy $1 "" ${if} $0 == "AllUsers" ; all users ${if} $HasPerMachineInstallation = 1 ${${UNINSTALLER_PREFIX}StrRep} "$1" "$(MULTIUSER_INSTALLED_ALL_USERS)" "{VERSION}" "$PerMachineInstallationVersion" ${${UNINSTALLER_PREFIX}StrRep} "$1" "$1" "{FOLDER}" "$PerMachineInstallationFolder" !if "${UNINSTALLER_FUNCPREFIX}" == "" ${if} $PerMachineInstallationVersion == "${VERSION}" ${if} $MultiUser.InstallMode == "AllUsers" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS)" "{VERSION}" "$PerMachineInstallationVersion" ${else} ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER)" "{VERSION}" "$PerMachineInstallationVersion" ${endif} ${else} ${if} $MultiUser.InstallMode == "AllUsers" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS)" "{OLD_VERSION}" "$PerMachineInstallationVersion" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$2" "{VERSION}" "${VERSION}" ${else} ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER)" "{OLD_VERSION}" "$PerMachineInstallationVersion" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$2" "{VERSION}" "${VERSION}" ${endif} ${endif} StrCpy $1 "$1$\r$\n$2" !endif ${else} StrCpy $1 "$(MULTIUSER_NEW_INSTALLATION_ALL_USERS)" ${endif} ${else} ; current user ${if} $HasPerUserInstallation = 1 ${${UNINSTALLER_PREFIX}StrRep} "$1" "$(MULTIUSER_INSTALLED_CURRENT_USER)" "{VERSION}" "$PerUserInstallationVersion" ${${UNINSTALLER_PREFIX}StrRep} "$1" "$1" "{FOLDER}" "$PerUserInstallationFolder" !if "${UNINSTALLER_FUNCPREFIX}" == "" ${if} $PerUserInstallationVersion == "${VERSION}" ${if} $MultiUser.InstallMode == "AllUsers" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS)" "{VERSION}" "$PerUserInstallationVersion" ${else} ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER)" "{VERSION}" "$PerUserInstallationVersion" ${endif} ${else} ${if} $MultiUser.InstallMode == "AllUsers" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS)" "{OLD_VERSION}" "$PerUserInstallationVersion" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$2" "{VERSION}" "${VERSION}" ${else} ${${UNINSTALLER_PREFIX}StrRep} "$2" "$(MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER)" "{OLD_VERSION}" "$PerUserInstallationVersion" ${${UNINSTALLER_PREFIX}StrRep} "$2" "$2" "{VERSION}" "${VERSION}" ${endif} ${endif} StrCpy $1 "$1$\r$\n$2" !endif ${else} StrCpy $1 "$(MULTIUSER_NEW_INSTALLATION_CURRENT_USER)" ${endif} ${endif} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.CheckPageElevationRequired ${if} $0 = 1 StrCpy $1 "$1 $(MULTIUSER_ADMIN_CREDENTIALS_REQUIRED)" ${elseif} $0 = 2 StrCpy $1 "$1 $(MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED)" StrCpy $0 0 ${endif} SendMessage $MultiUser.InstallModePage.Description ${WM_SETTEXT} 0 "STR:$1" GetDlgItem $1 $hwndParent 1 ; get item 1 (next button) at parent window, store in $1 - (0 is back, 1 is next .. what about CANCEL? http://nsis.sourceforge.net/Buttons_Header ) SendMessage $1 ${BCM_SETSHIELD} 0 $0 ; display/hide SHIELD (Windows Vista and above) System::Store L FunctionEnd !ifdef UMUI_SYSVERSION Function ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionLabelClick Exch $0 ; get clicked control's HWND, which is on the stack in $0 nsDialogs::GetUserData $0 Pop $0 ${NSD_Uncheck} $MultiUser.InstallModePage.AllUsers ${NSD_Uncheck} $MultiUser.InstallModePage.CurrentUser ${NSD_Check} $0 ; ${NSD_Check} will check both radio buttons without the above 2 lines ${NSD_SetFocus} $0 Push $0 ; ${NSD_Check} doesn't call Click event Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick Pop $0 FunctionEnd !endif Function ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallModeOptionClick Exch $0 ; get clicked control's HWND, which is on the stack in $0 ; set InstallMode ${if} $0 = $MultiUser.InstallModePage.AllUsers Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers ${else} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser ${endif} Call ${UNINSTALLER_FUNCPREFIX}MultiUser.SetShieldAndTexts Pop $0 FunctionEnd !macroend !macro MULTIUSER_GetCurrentUserString VAR StrCpy ${VAR} "" !if ${MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS} <> 0 ${if} $MultiUser.InstallMode == "CurrentUser" ${orif} $MultiUser.InstallMode == "" ; called from InitChecks StrCpy ${VAR} " (current user)" ${endif} !endif !macroend !macro MULTIUSER_RegistryAddInstallInfo Push $0 Push $1 Push $2 Push $3 Push $4 ; Write the installation path into the registry WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}" "$INSTDIR" ; "InstallLocation" ; Write the uninstall keys for Windows ; Workaround for Windows issue: if the uninstall key names are the same in HKLM and HKCU, Windows displays only one entry in the add/remove programs dialog; ; this will create 2 different keys in HKCU (MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH and MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH), ; but that's OK, both will be removed by uninstaller !insertmacro MULTIUSER_GetCurrentUserString $0 ${if} $MultiUser.InstallMode == "AllUsers" ; setting defaults WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" "DisplayName" "${MULTIUSER_INSTALLMODE_DISPLAYNAME}" WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" "UninstallString" '"$INSTDIR\${UNINSTALL_FILENAME}" /allusers' WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" "QuietUninstallString" '"$INSTDIR\${UNINSTALL_FILENAME}" /allusers /S' ${else} WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "DisplayName" "${MULTIUSER_INSTALLMODE_DISPLAYNAME} (current user)" ; "add/remove programs" will show if installation is per-user WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "UninstallString" '"$INSTDIR\${UNINSTALL_FILENAME}" /currentuser' WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "QuietUninstallString" '"$INSTDIR\${UNINSTALL_FILENAME}" /currentuser /S' ${endif} WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "DisplayVersion" "${VERSION}" WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "DisplayIcon" "$INSTDIR\${PROGEXE},0" !ifdef COMPANY_NAME WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "Publisher" "${COMPANY_NAME}" !endif !ifdef CONTACT WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "Contact" "${CONTACT}" !endif !ifdef COMMENTS WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "Comments" "${COMMENTS}" !endif !ifdef URL_INFO_ABOUT WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "URLInfoAbout" "${URL_INFO_ABOUT}" !endif !ifdef URL_HELP_LINK WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "HelpLink" "${URL_HELP_LINK}" !endif !ifdef URL_UPDATE_INFO WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "URLUpdateInfo" "${URL_UPDATE_INFO}" !endif WriteRegDWORD SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "NoModify" 1 WriteRegDWORD SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "NoRepair" 1 ; Write InstallDate string value in 'YYYYMMDD' format. ; Without it, Windows gets the date from the registry key metadata, which might be inaccurate. System::Call /NOUNLOAD "*(&i2,&i2,&i2,&i2,&i2,&i2,&i2,&i2) i .r4" System::Call /NOUNLOAD "kernel32::GetLocalTime(i)i(r4)" System::Call /NOUNLOAD "*$4(&i2,&i2,&i2,&i2,&i2,&i2,&i2,&i2)i(.r1,.r2,,.r3,,,,)" System::Free $4 IntCmp $2 9 0 0 +2 StrCpy $2 "0$2" IntCmp $3 9 0 0 +2 StrCpy $3 "0$3" WriteRegStr SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "InstallDate" "$1$2$3" Pop $4 Pop $3 Pop $2 Pop $1 Pop $0 !macroend !macro MULTIUSER_RegistryAddInstallSizeInfo Push $0 Push $1 Push $2 Push $3 !insertmacro MULTIUSER_GetCurrentUserString $0 ${GetSize} "$INSTDIR" "/S=0K" $1 $2 $3 ; get folder size, convert to KB IntFmt $1 "0x%08X" $1 WriteRegDWORD SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" "EstimatedSize" "$1" Pop $3 Pop $2 Pop $1 Pop $0 !macroend !macro MULTIUSER_RegistryRemoveInstallInfo Push $0 ; Remove registry keys DeleteRegKey SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}" !insertmacro MULTIUSER_GetCurrentUserString $0 ${if} "$0" != "" DeleteRegKey SHCTX "${MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY_PATH}$0" ${endif} DeleteRegKey SHCTX "${MULTIUSER_INSTALLMODE_INSTALL_REGISTRY_KEY_PATH}" Pop $0 !macroend !verbose pop ================================================ FILE: src/installer/NsisMultiUser/Include/NsisMultiUserLang.nsh ================================================ !ifdef LANG_ENGLISH LangString MULTIUSER_PAGE_TITLE ${LANG_ENGLISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ENGLISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ENGLISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ENGLISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ENGLISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ENGLISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ENGLISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ENGLISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ENGLISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ENGLISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ENGLISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ENGLISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ENGLISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ENGLISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ENGLISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ENGLISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ENGLISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ENGLISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ENGLISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ENGLISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ENGLISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ENGLISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ENGLISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ENGLISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ENGLISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ENGLISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ENGLISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_AFRIKAANS LangString MULTIUSER_PAGE_TITLE ${LANG_AFRIKAANS} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_AFRIKAANS} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_AFRIKAANS} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_AFRIKAANS} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_AFRIKAANS} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_AFRIKAANS} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_AFRIKAANS} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_AFRIKAANS} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_AFRIKAANS} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_AFRIKAANS} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_AFRIKAANS} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_AFRIKAANS} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_AFRIKAANS} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_AFRIKAANS} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_AFRIKAANS} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_AFRIKAANS} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_AFRIKAANS} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_AFRIKAANS} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_AFRIKAANS} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_AFRIKAANS} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_AFRIKAANS} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_AFRIKAANS} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_AFRIKAANS} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_AFRIKAANS} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_AFRIKAANS} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_AFRIKAANS} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_AFRIKAANS} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ALBANIAN LangString MULTIUSER_PAGE_TITLE ${LANG_ALBANIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ALBANIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ALBANIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ALBANIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ALBANIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ALBANIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ALBANIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ALBANIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ALBANIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ALBANIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ALBANIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ALBANIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ALBANIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ALBANIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ALBANIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ALBANIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ALBANIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ALBANIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ALBANIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ALBANIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ALBANIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ALBANIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ALBANIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ALBANIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ALBANIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ALBANIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ALBANIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ARABIC LangString MULTIUSER_PAGE_TITLE ${LANG_ARABIC} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ARABIC} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ARABIC} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ARABIC} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ARABIC} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ARABIC} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ARABIC} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ARABIC} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ARABIC} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ARABIC} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ARABIC} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ARABIC} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ARABIC} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ARABIC} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ARABIC} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ARABIC} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ARABIC} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ARABIC} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ARABIC} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ARABIC} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ARABIC} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ARABIC} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ARABIC} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ARABIC} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ARABIC} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ARABIC} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ARABIC} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ARMENIAN LangString MULTIUSER_PAGE_TITLE ${LANG_ARMENIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ARMENIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ARMENIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ARMENIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ARMENIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ARMENIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ARMENIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ARMENIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ARMENIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ARMENIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ARMENIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ARMENIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ARMENIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ARMENIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ARMENIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ARMENIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ARMENIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ARMENIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ARMENIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ARMENIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ARMENIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ARMENIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ARMENIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ARMENIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ARMENIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ARMENIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ARMENIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ASTURIAN LangString MULTIUSER_PAGE_TITLE ${LANG_ASTURIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ASTURIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ASTURIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ASTURIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ASTURIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ASTURIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ASTURIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ASTURIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ASTURIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ASTURIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ASTURIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ASTURIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ASTURIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ASTURIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ASTURIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ASTURIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ASTURIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ASTURIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ASTURIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ASTURIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ASTURIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ASTURIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ASTURIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ASTURIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ASTURIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ASTURIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ASTURIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_BASQUE LangString MULTIUSER_PAGE_TITLE ${LANG_BASQUE} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BASQUE} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BASQUE} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_BASQUE} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_BASQUE} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_BASQUE} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_BASQUE} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_BASQUE} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BASQUE} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BASQUE} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BASQUE} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BASQUE} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BASQUE} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BASQUE} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BASQUE} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BASQUE} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BASQUE} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_BASQUE} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BASQUE} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BASQUE} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_BASQUE} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_BASQUE} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BASQUE} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BASQUE} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BASQUE} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BASQUE} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_BASQUE} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_BELARUSIAN LangString MULTIUSER_PAGE_TITLE ${LANG_BELARUSIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BELARUSIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BELARUSIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_BELARUSIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_BELARUSIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_BELARUSIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_BELARUSIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_BELARUSIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BELARUSIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BELARUSIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BELARUSIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BELARUSIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BELARUSIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BELARUSIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BELARUSIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BELARUSIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BELARUSIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_BELARUSIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BELARUSIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BELARUSIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_BELARUSIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_BELARUSIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BELARUSIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BELARUSIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BELARUSIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BELARUSIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_BELARUSIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_BOSNIAN LangString MULTIUSER_PAGE_TITLE ${LANG_BOSNIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BOSNIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BOSNIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_BOSNIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_BOSNIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_BOSNIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_BOSNIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_BOSNIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BOSNIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BOSNIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BOSNIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BOSNIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BOSNIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BOSNIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BOSNIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BOSNIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BOSNIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_BOSNIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BOSNIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BOSNIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_BOSNIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_BOSNIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BOSNIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BOSNIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BOSNIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BOSNIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_BOSNIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_BRETON LangString MULTIUSER_PAGE_TITLE ${LANG_BRETON} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BRETON} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BRETON} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_BRETON} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_BRETON} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_BRETON} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_BRETON} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_BRETON} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BRETON} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BRETON} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BRETON} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BRETON} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BRETON} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BRETON} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BRETON} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BRETON} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BRETON} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_BRETON} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BRETON} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BRETON} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_BRETON} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_BRETON} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BRETON} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BRETON} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BRETON} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BRETON} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_BRETON} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_BULGARIAN LangString MULTIUSER_PAGE_TITLE ${LANG_BULGARIAN} "Избор на потребители" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_BULGARIAN} "Изберете за кои потребители да се инсталира $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_BULGARIAN} "Изберете за кои потребители да се премахне $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_BULGARIAN} "Изберете дали да инсталирате $(^NameDA) за всички потребители или за текущия потребител." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_BULGARIAN} "$(^NameDA) е инсталиран едновременно за всички потребители и за текущия потребител.$\r$\nИзберете коя инсталация премахнете." LangString MULTIUSER_ALL_USERS ${LANG_BULGARIAN} "За &всеки, който използва този компютър (всички потребители)" LangString MULTIUSER_CURRENT_USER ${LANG_BULGARIAN} "За &мен ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_BULGARIAN} "За всеки, който използва този компютър (всички потребители)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_BULGARIAN} "За мен ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_BULGARIAN} "Нова инсталация за всички потребители." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_BULGARIAN} "Нова инсталация за текущия потребител." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_BULGARIAN} "Версия {VERSION} е инсталирана за всички потребители в $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_BULGARIAN} "Версия {VERSION} е инсалирана за текущия потребител в $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_BULGARIAN} "Преинсталиране на версия {VERSION} за всички потребители." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_BULGARIAN} "Преинсталиране на версия {VERSION} за текущия потребител." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_BULGARIAN} "Деинсталиране на версия {OLD_VERSION} и инсталиране на версия {VERSION} за всички потребители." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_BULGARIAN} "Деинсталиране на версия {OLD_VERSION} и инсталиране на версия {VERSION} за текущия потребител." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_BULGARIAN} "Трябва да стартирате тази програма като администратор." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_BULGARIAN} "Изисква се администраторска идентификация." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_BULGARIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_BULGARIAN} "Невалидна комбинация от параметри." LangString MULTIUSER_NOT_INSTALLED ${LANG_BULGARIAN} "Няма инсталация на $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_BULGARIAN} "Операционната система не поддържа инсталации за текущия потребител." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_BULGARIAN} "Трябва да влезете с профил, който е член на администраторската група, за да продължите." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_BULGARIAN} "Операционната система не поддържа повишаване на привилегиите." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_BULGARIAN} "Не е възможно повишаване на привилегиите, услугата Secondary Logon не е пусната." LangString MULTIUSER_ELEVATION_ERROR ${LANG_BULGARIAN} "Не е възможно повишаване на привилегиите, грешка {ERROR}." !endif !ifdef LANG_CATALAN LangString MULTIUSER_PAGE_TITLE ${LANG_CATALAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CATALAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CATALAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_CATALAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_CATALAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_CATALAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_CATALAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_CATALAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CATALAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CATALAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CATALAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CATALAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CATALAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CATALAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CATALAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CATALAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CATALAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_CATALAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CATALAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CATALAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_CATALAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_CATALAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CATALAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CATALAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CATALAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CATALAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_CATALAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_CORSICAN LangString MULTIUSER_PAGE_TITLE ${LANG_CORSICAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CORSICAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CORSICAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_CORSICAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_CORSICAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_CORSICAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_CORSICAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_CORSICAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CORSICAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CORSICAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CORSICAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CORSICAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CORSICAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CORSICAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CORSICAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CORSICAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CORSICAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_CORSICAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CORSICAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CORSICAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_CORSICAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_CORSICAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CORSICAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CORSICAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CORSICAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CORSICAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_CORSICAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_CROATIAN LangString MULTIUSER_PAGE_TITLE ${LANG_CROATIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CROATIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CROATIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_CROATIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_CROATIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_CROATIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_CROATIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_CROATIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CROATIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CROATIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CROATIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CROATIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CROATIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CROATIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CROATIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CROATIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CROATIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_CROATIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CROATIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CROATIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_CROATIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_CROATIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CROATIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CROATIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CROATIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CROATIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_CROATIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_CZECH LangString MULTIUSER_PAGE_TITLE ${LANG_CZECH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_CZECH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_CZECH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_CZECH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_CZECH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_CZECH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_CZECH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_CZECH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_CZECH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_CZECH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_CZECH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_CZECH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_CZECH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_CZECH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_CZECH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_CZECH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_CZECH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_CZECH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_CZECH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_CZECH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_CZECH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_CZECH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_CZECH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_CZECH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_CZECH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_CZECH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_CZECH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_DANISH LangString MULTIUSER_PAGE_TITLE ${LANG_DANISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_DANISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_DANISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_DANISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_DANISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_DANISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_DANISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_DANISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_DANISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_DANISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_DANISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_DANISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_DANISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_DANISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_DANISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_DANISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_DANISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_DANISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_DANISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_DANISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_DANISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_DANISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_DANISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_DANISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_DANISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_DANISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_DANISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_DUTCH LangString MULTIUSER_PAGE_TITLE ${LANG_DUTCH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_DUTCH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_DUTCH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_DUTCH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_DUTCH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_DUTCH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_DUTCH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_DUTCH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_DUTCH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_DUTCH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_DUTCH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_DUTCH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_DUTCH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_DUTCH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_DUTCH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_DUTCH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_DUTCH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_DUTCH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_DUTCH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_DUTCH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_DUTCH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_DUTCH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_DUTCH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_DUTCH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_DUTCH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_DUTCH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_DUTCH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ESPERANTO LangString MULTIUSER_PAGE_TITLE ${LANG_ESPERANTO} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ESPERANTO} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ESPERANTO} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ESPERANTO} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ESPERANTO} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ESPERANTO} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ESPERANTO} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ESPERANTO} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ESPERANTO} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ESPERANTO} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ESPERANTO} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ESPERANTO} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ESPERANTO} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ESPERANTO} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ESPERANTO} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ESPERANTO} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ESPERANTO} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ESPERANTO} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ESPERANTO} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ESPERANTO} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ESPERANTO} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ESPERANTO} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ESPERANTO} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ESPERANTO} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ESPERANTO} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ESPERANTO} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ESPERANTO} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ESTONIAN LangString MULTIUSER_PAGE_TITLE ${LANG_ESTONIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ESTONIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ESTONIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ESTONIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ESTONIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ESTONIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ESTONIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ESTONIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ESTONIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ESTONIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ESTONIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ESTONIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ESTONIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ESTONIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ESTONIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ESTONIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ESTONIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ESTONIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ESTONIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ESTONIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ESTONIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ESTONIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ESTONIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ESTONIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ESTONIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ESTONIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ESTONIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_FARSI LangString MULTIUSER_PAGE_TITLE ${LANG_FARSI} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_FARSI} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_FARSI} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_FARSI} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_FARSI} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_FARSI} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_FARSI} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_FARSI} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_FARSI} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_FARSI} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_FARSI} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_FARSI} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_FARSI} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_FARSI} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_FARSI} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_FARSI} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_FARSI} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_FARSI} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_FARSI} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_FARSI} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_FARSI} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_FARSI} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_FARSI} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_FARSI} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_FARSI} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_FARSI} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_FARSI} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_FINNISH LangString MULTIUSER_PAGE_TITLE ${LANG_FINNISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_FINNISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_FINNISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_FINNISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_FINNISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_FINNISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_FINNISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_FINNISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_FINNISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_FINNISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_FINNISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_FINNISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_FINNISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_FINNISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_FINNISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_FINNISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_FINNISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_FINNISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_FINNISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_FINNISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_FINNISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_FINNISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_FINNISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_FINNISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_FINNISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_FINNISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_FINNISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_FRENCH LangString MULTIUSER_PAGE_TITLE ${LANG_FRENCH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_FRENCH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_FRENCH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_FRENCH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_FRENCH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_FRENCH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_FRENCH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_FRENCH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_FRENCH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_FRENCH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_FRENCH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_FRENCH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_FRENCH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_FRENCH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_FRENCH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_FRENCH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_FRENCH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_FRENCH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_FRENCH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_FRENCH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_FRENCH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_FRENCH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_FRENCH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_FRENCH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_FRENCH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_FRENCH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_FRENCH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_GALICIAN LangString MULTIUSER_PAGE_TITLE ${LANG_GALICIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GALICIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GALICIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_GALICIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_GALICIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_GALICIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_GALICIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_GALICIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GALICIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_GALICIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GALICIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GALICIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GALICIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GALICIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GALICIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GALICIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GALICIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_GALICIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GALICIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GALICIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_GALICIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_GALICIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GALICIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GALICIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GALICIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GALICIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_GALICIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_GEORGIAN LangString MULTIUSER_PAGE_TITLE ${LANG_GEORGIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GEORGIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GEORGIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_GEORGIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_GEORGIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_GEORGIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_ALL_USERS ${LANG_GEORGIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_GEORGIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_GEORGIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GEORGIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GEORGIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GEORGIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GEORGIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GEORGIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GEORGIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GEORGIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GEORGIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_GEORGIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GEORGIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GEORGIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_GEORGIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_GEORGIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GEORGIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GEORGIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GEORGIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GEORGIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_GEORGIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_GERMAN ; Translation on 2019-03-29 done by: https://github.com/Tobias-B-Besemer LangString MULTIUSER_PAGE_TITLE ${LANG_GERMAN} "Wähle Benutzer" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GERMAN} "Wähle für welche Benutzer $(^NameDA) installiert werden soll." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GERMAN} "Wähle für welche Benutzer $(^NameDA) entfernt werden soll." LangString MULTIUSER_INSTALL_HEADER ${LANG_GERMAN} "Selektiere entweder $(^NameDA) zu installieren für alle Benutzer, oder für aktuellen Benutzer." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_GERMAN} "$(^NameDA) ist installiert für beides, für alle Benutzer und für aktuellen Benutzer.$\r$\nWähle, welche Installation entfernt werden soll." LangString MULTIUSER_ALL_USERS ${LANG_GERMAN} "Für &jeden, der diesen Computer benutzt (alle Benutzer)" LangString MULTIUSER_CURRENT_USER ${LANG_GERMAN} "Für &mich ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_GERMAN} "Für jeden, der diesen Computer benutzt (alle Benutzer)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GERMAN} "Für mich ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_GERMAN} "Frische Installation für alle Benutzer." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GERMAN} "Frische Installation für aktuellen Benutzer." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GERMAN} "Version {VERSION} ist installiert für alle Benutzer in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GERMAN} "Version {VERSION} ist installiert für aktuellen Benutzer in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GERMAN} "Neuinstallation Version {VERSION} für alle Benutzer." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GERMAN} "Neuinstallation Version {VERSION} für aktuellen Benutzer." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GERMAN} "Deinstallation Version {OLD_VERSION} und Installation Version {VERSION} für alle Benutzer." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GERMAN} "Deinstallation Version {OLD_VERSION} und Installation Version {VERSION} für aktuellen Benutzer." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_GERMAN} "Du musst dieses Programm als Administrator ausführen." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GERMAN} "Administrator Anmeldedaten benötigt." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GERMAN} "Administrator Anmeldedaten benötigt für Deinstallation." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_GERMAN} "Unzulässige Kombination von Parametern." LangString MULTIUSER_NOT_INSTALLED ${LANG_GERMAN} "Dort ist keine Installation von $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GERMAN} "Das Betriebssystem unterstützt nicht Aktuelle-Benutzer-Installationen." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GERMAN} "Du musst Dich mit einem Konto, dass ein Mitglied der Administratoren Gruppe ist, anmelden um fortzufahren." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GERMAN} "Das Betriebssystem unterstützt nicht Hochstuffung." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GERMAN} "Hochstuffung nicht möglich, zweiter Anmelde-Service läuft nicht." LangString MULTIUSER_ELEVATION_ERROR ${LANG_GERMAN} "Hochstuffung nicht möglich, Fehler {ERROR}." !endif !ifdef LANG_GREEK LangString MULTIUSER_PAGE_TITLE ${LANG_GREEK} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_GREEK} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_GREEK} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_GREEK} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_GREEK} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_GREEK} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_GREEK} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_GREEK} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_GREEK} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_GREEK} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_GREEK} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_GREEK} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_GREEK} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_GREEK} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_GREEK} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_GREEK} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_GREEK} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_GREEK} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_GREEK} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_GREEK} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_GREEK} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_GREEK} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_GREEK} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_GREEK} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_GREEK} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_GREEK} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_GREEK} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_HEBREW LangString MULTIUSER_PAGE_TITLE ${LANG_HEBREW} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_HEBREW} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_HEBREW} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_HEBREW} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_HEBREW} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_HEBREW} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_HEBREW} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_HEBREW} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_HEBREW} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_HEBREW} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_HEBREW} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_HEBREW} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_HEBREW} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_HEBREW} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_HEBREW} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_HEBREW} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_HEBREW} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_HEBREW} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_HEBREW} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_HEBREW} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_HEBREW} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_HEBREW} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_HEBREW} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_HEBREW} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_HEBREW} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_HEBREW} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_HEBREW} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_HUNGARIAN LangString MULTIUSER_PAGE_TITLE ${LANG_HUNGARIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_HUNGARIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_HUNGARIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_HUNGARIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_HUNGARIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_HUNGARIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_HUNGARIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_HUNGARIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_HUNGARIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_HUNGARIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_HUNGARIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_HUNGARIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_HUNGARIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_HUNGARIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_HUNGARIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_HUNGARIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_HUNGARIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_HUNGARIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_HUNGARIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_HUNGARIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_HUNGARIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_HUNGARIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_HUNGARIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_HUNGARIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_HUNGARIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ICELANDIC LangString MULTIUSER_PAGE_TITLE ${LANG_ICELANDIC} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ICELANDIC} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ICELANDIC} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ICELANDIC} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ICELANDIC} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ICELANDIC} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ICELANDIC} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ICELANDIC} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ICELANDIC} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ICELANDIC} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ICELANDIC} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ICELANDIC} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ICELANDIC} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ICELANDIC} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ICELANDIC} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ICELANDIC} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ICELANDIC} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ICELANDIC} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ICELANDIC} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ICELANDIC} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ICELANDIC} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ICELANDIC} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ICELANDIC} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ICELANDIC} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ICELANDIC} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ICELANDIC} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ICELANDIC} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_INDONESIAN LangString MULTIUSER_PAGE_TITLE ${LANG_INDONESIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_INDONESIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_INDONESIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_INDONESIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_INDONESIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_INDONESIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_INDONESIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_INDONESIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_INDONESIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_INDONESIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_INDONESIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_INDONESIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_INDONESIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_INDONESIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_INDONESIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_INDONESIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_INDONESIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_INDONESIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_INDONESIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_INDONESIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_INDONESIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_INDONESIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_INDONESIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_INDONESIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_INDONESIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_INDONESIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_INDONESIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_IRISH LangString MULTIUSER_PAGE_TITLE ${LANG_IRISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_IRISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_IRISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_IRISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_IRISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_IRISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_IRISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_IRISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_IRISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_IRISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_IRISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_IRISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_IRISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_IRISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_IRISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_IRISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_IRISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_IRISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_IRISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_IRISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_IRISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_IRISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_IRISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_IRISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_IRISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_IRISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_IRISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ITALIAN LangString MULTIUSER_PAGE_TITLE ${LANG_ITALIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ITALIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ITALIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ITALIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ITALIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ITALIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ITALIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ITALIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ITALIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ITALIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ITALIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ITALIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ITALIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ITALIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ITALIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ITALIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ITALIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ITALIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ITALIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ITALIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ITALIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ITALIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ITALIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ITALIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ITALIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_JAPANESE LangString MULTIUSER_PAGE_TITLE ${LANG_JAPANESE} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_JAPANESE} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_JAPANESE} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_JAPANESE} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_JAPANESE} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_JAPANESE} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_JAPANESE} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_JAPANESE} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_JAPANESE} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_JAPANESE} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_JAPANESE} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_JAPANESE} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_JAPANESE} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_JAPANESE} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_JAPANESE} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_JAPANESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_JAPANESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_JAPANESE} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_JAPANESE} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_JAPANESE} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_JAPANESE} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_JAPANESE} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_JAPANESE} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_JAPANESE} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_JAPANESE} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_JAPANESE} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_JAPANESE} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_KOREAN LangString MULTIUSER_PAGE_TITLE ${LANG_KOREAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_KOREAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_KOREAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_KOREAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_KOREAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_KOREAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_KOREAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_KOREAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_KOREAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_KOREAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_KOREAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_KOREAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_KOREAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_KOREAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_KOREAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_KOREAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_KOREAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_KOREAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_KOREAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_KOREAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_KOREAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_KOREAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_KOREAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_KOREAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_KOREAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_KOREAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_KOREAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_KURDISH LangString MULTIUSER_PAGE_TITLE ${LANG_KURDISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_KURDISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_KURDISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_KURDISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_KURDISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_KURDISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_KURDISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_KURDISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_KURDISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_KURDISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_KURDISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_KURDISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_KURDISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_KURDISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_KURDISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_KURDISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_KURDISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_KURDISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_KURDISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_KURDISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_KURDISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_KURDISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_KURDISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_KURDISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_KURDISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_KURDISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_KURDISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_LATVIAN LangString MULTIUSER_PAGE_TITLE ${LANG_LATVIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_LATVIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_LATVIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_LATVIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_LATVIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_LATVIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_LATVIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_LATVIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_LATVIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_LATVIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_LATVIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_LATVIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_LATVIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_LATVIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_LATVIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_LATVIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_LATVIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_LATVIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_LATVIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_LATVIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_LATVIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_LATVIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_LATVIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_LATVIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_LATVIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_LATVIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_LATVIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_LITHUANIAN LangString MULTIUSER_PAGE_TITLE ${LANG_LITHUANIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_LITHUANIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_LITHUANIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_LITHUANIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_LITHUANIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_LITHUANIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_LITHUANIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_LITHUANIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_LITHUANIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_LITHUANIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_LITHUANIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_LITHUANIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_LITHUANIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_LITHUANIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_LITHUANIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_LITHUANIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_LITHUANIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_LITHUANIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_LITHUANIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_LITHUANIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_LITHUANIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_LITHUANIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_LITHUANIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_LITHUANIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_LITHUANIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_LITHUANIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_LITHUANIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_LUXEMBOURGISH LangString MULTIUSER_PAGE_TITLE ${LANG_LUXEMBOURGISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_LUXEMBOURGISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_LUXEMBOURGISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_LUXEMBOURGISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_LUXEMBOURGISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_LUXEMBOURGISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_LUXEMBOURGISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_LUXEMBOURGISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_LUXEMBOURGISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_LUXEMBOURGISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_LUXEMBOURGISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_LUXEMBOURGISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_LUXEMBOURGISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_LUXEMBOURGISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_LUXEMBOURGISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_LUXEMBOURGISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_LUXEMBOURGISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_LUXEMBOURGISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_LUXEMBOURGISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_LUXEMBOURGISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_LUXEMBOURGISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_LUXEMBOURGISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_LUXEMBOURGISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_LUXEMBOURGISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_LUXEMBOURGISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_LUXEMBOURGISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_LUXEMBOURGISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_MACEDONIAN LangString MULTIUSER_PAGE_TITLE ${LANG_MACEDONIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_MACEDONIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_MACEDONIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_MACEDONIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_MACEDONIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_MACEDONIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_MACEDONIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_MACEDONIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_MACEDONIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_MACEDONIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_MACEDONIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_MACEDONIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_MACEDONIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_MACEDONIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_MACEDONIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_MACEDONIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_MACEDONIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_MACEDONIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_MACEDONIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_MACEDONIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_MACEDONIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_MACEDONIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_MACEDONIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_MACEDONIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_MACEDONIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_MACEDONIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_MACEDONIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_MALAY LangString MULTIUSER_PAGE_TITLE ${LANG_MALAY} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_MALAY} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_MALAY} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_MALAY} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_MALAY} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_MALAY} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_MALAY} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_MALAY} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_MALAY} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_MALAY} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_MALAY} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_MALAY} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_MALAY} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_MALAY} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_MALAY} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_MALAY} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_MALAY} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_MALAY} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_MALAY} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_MALAY} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_MALAY} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_MALAY} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_MALAY} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_MALAY} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_MALAY} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_MALAY} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_MALAY} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_MONGOLIAN LangString MULTIUSER_PAGE_TITLE ${LANG_MONGOLIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_MONGOLIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_MONGOLIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_MONGOLIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_MONGOLIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_MONGOLIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_MONGOLIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_MONGOLIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_MONGOLIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_MONGOLIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_MONGOLIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_MONGOLIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_MONGOLIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_MONGOLIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_MONGOLIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_MONGOLIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_MONGOLIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_MONGOLIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_MONGOLIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_MONGOLIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_MONGOLIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_MONGOLIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_MONGOLIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_MONGOLIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_MONGOLIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_MONGOLIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_MONGOLIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_NORWEGIAN LangString MULTIUSER_PAGE_TITLE ${LANG_NORWEGIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_NORWEGIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_NORWEGIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_NORWEGIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_NORWEGIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_NORWEGIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_NORWEGIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_NORWEGIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_NORWEGIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_NORWEGIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_NORWEGIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_NORWEGIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_NORWEGIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_NORWEGIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_NORWEGIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_NORWEGIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_NORWEGIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_NORWEGIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_NORWEGIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_NORWEGIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_NORWEGIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_NORWEGIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_NORWEGIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_NORWEGIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_NORWEGIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_NORWEGIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_NORWEGIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_NORWEGIANNYNORSK LangString MULTIUSER_PAGE_TITLE ${LANG_NORWEGIANNYNORSK} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_NORWEGIANNYNORSK} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_NORWEGIANNYNORSK} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_NORWEGIANNYNORSK} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_NORWEGIANNYNORSK} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_NORWEGIANNYNORSK} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_NORWEGIANNYNORSK} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_NORWEGIANNYNORSK} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_NORWEGIANNYNORSK} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_NORWEGIANNYNORSK} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_NORWEGIANNYNORSK} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_NORWEGIANNYNORSK} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_NORWEGIANNYNORSK} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_NORWEGIANNYNORSK} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_NORWEGIANNYNORSK} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_NORWEGIANNYNORSK} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_NORWEGIANNYNORSK} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_NORWEGIANNYNORSK} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_NORWEGIANNYNORSK} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_NORWEGIANNYNORSK} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_NORWEGIANNYNORSK} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_NORWEGIANNYNORSK} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_NORWEGIANNYNORSK} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_NORWEGIANNYNORSK} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_NORWEGIANNYNORSK} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_NORWEGIANNYNORSK} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_NORWEGIANNYNORSK} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_PASHTO LangString MULTIUSER_PAGE_TITLE ${LANG_PASHTO} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_PASHTO} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_PASHTO} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_PASHTO} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_PASHTO} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_PASHTO} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_PASHTO} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_PASHTO} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_PASHTO} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_PASHTO} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_PASHTO} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_PASHTO} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_PASHTO} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_PASHTO} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_PASHTO} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_PASHTO} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_PASHTO} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_PASHTO} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_PASHTO} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_PASHTO} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_PASHTO} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_PASHTO} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_PASHTO} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_PASHTO} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_PASHTO} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_PASHTO} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_PASHTO} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_POLISH LangString MULTIUSER_PAGE_TITLE ${LANG_POLISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_POLISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_POLISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_POLISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_POLISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_POLISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_POLISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_POLISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_POLISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_POLISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_POLISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_POLISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_POLISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_POLISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_POLISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_POLISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_POLISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_POLISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_POLISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_POLISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_POLISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_POLISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_POLISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_POLISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_POLISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_POLISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_POLISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_PORTUGUESE LangString MULTIUSER_PAGE_TITLE ${LANG_PORTUGUESE} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESE} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESE} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_PORTUGUESE} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_PORTUGUESE} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_PORTUGUESE} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_PORTUGUESE} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_PORTUGUESE} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_PORTUGUESE} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_PORTUGUESE} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_PORTUGUESE} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_PORTUGUESE} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_PORTUGUESE} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_PORTUGUESE} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_PORTUGUESE} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_PORTUGUESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_PORTUGUESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_PORTUGUESE} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_PORTUGUESE} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_PORTUGUESE} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_PORTUGUESE} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_PORTUGUESE} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_PORTUGUESE} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_PORTUGUESE} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_PORTUGUESE} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_PORTUGUESE} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_PORTUGUESE} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_PORTUGUESEBR LangString MULTIUSER_PAGE_TITLE ${LANG_PORTUGUESEBR} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESEBR} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_PORTUGUESEBR} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_PORTUGUESEBR} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_PORTUGUESEBR} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_PORTUGUESEBR} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_PORTUGUESEBR} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_PORTUGUESEBR} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_PORTUGUESEBR} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_PORTUGUESEBR} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_PORTUGUESEBR} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_PORTUGUESEBR} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_PORTUGUESEBR} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_PORTUGUESEBR} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_PORTUGUESEBR} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_PORTUGUESEBR} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_PORTUGUESEBR} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_PORTUGUESEBR} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_PORTUGUESEBR} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_PORTUGUESEBR} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_PORTUGUESEBR} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_PORTUGUESEBR} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_PORTUGUESEBR} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_PORTUGUESEBR} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_PORTUGUESEBR} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_PORTUGUESEBR} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_PORTUGUESEBR} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_ROMANIAN LangString MULTIUSER_PAGE_TITLE ${LANG_ROMANIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_ROMANIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_ROMANIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_ROMANIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_ROMANIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_ROMANIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_ROMANIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_ROMANIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_ROMANIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_ROMANIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_ROMANIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_ROMANIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_ROMANIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_ROMANIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_ROMANIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_ROMANIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_ROMANIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_ROMANIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_ROMANIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_ROMANIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_ROMANIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_ROMANIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_ROMANIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_ROMANIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_ROMANIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_ROMANIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_ROMANIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_RUSSIAN LangString MULTIUSER_PAGE_TITLE ${LANG_RUSSIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_RUSSIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_RUSSIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_RUSSIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_RUSSIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_RUSSIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_RUSSIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_RUSSIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_RUSSIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_RUSSIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_RUSSIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_RUSSIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_RUSSIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_RUSSIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_RUSSIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_RUSSIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_RUSSIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_RUSSIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_RUSSIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_RUSSIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_RUSSIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_RUSSIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_RUSSIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_RUSSIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_RUSSIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_RUSSIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_RUSSIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SCOTSGAELIC LangString MULTIUSER_PAGE_TITLE ${LANG_SCOTSGAELIC} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SCOTSGAELIC} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SCOTSGAELIC} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SCOTSGAELIC} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SCOTSGAELIC} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SCOTSGAELIC} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SCOTSGAELIC} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SCOTSGAELIC} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SCOTSGAELIC} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SCOTSGAELIC} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SCOTSGAELIC} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SCOTSGAELIC} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SCOTSGAELIC} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SCOTSGAELIC} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SCOTSGAELIC} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SCOTSGAELIC} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SCOTSGAELIC} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SCOTSGAELIC} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SCOTSGAELIC} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SCOTSGAELIC} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SCOTSGAELIC} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SCOTSGAELIC} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SCOTSGAELIC} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SCOTSGAELIC} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SCOTSGAELIC} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SERBIAN LangString MULTIUSER_PAGE_TITLE ${LANG_SERBIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SERBIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SERBIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SERBIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SERBIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SERBIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SERBIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_SERBIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SERBIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SERBIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SERBIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SERBIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SERBIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SERBIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SERBIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SERBIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SERBIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SERBIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SERBIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SERBIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SERBIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SERBIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SERBIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SERBIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SERBIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SERBIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SERBIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SERBIANLATIN LangString MULTIUSER_PAGE_TITLE ${LANG_SERBIANLATIN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SERBIANLATIN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SERBIANLATIN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SERBIANLATIN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SERBIANLATIN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SERBIANLATIN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SERBIANLATIN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SERBIANLATIN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SERBIANLATIN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SERBIANLATIN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SERBIANLATIN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SERBIANLATIN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SERBIANLATIN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SERBIANLATIN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SERBIANLATIN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SERBIANLATIN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SERBIANLATIN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SERBIANLATIN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SERBIANLATIN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SERBIANLATIN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SERBIANLATIN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SERBIANLATIN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SERBIANLATIN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SERBIANLATIN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SERBIANLATIN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SIMPCHINESE LangString MULTIUSER_PAGE_TITLE ${LANG_SIMPCHINESE} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SIMPCHINESE} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SIMPCHINESE} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SIMPCHINESE} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SIMPCHINESE} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SIMPCHINESE} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SIMPCHINESE} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_SIMPCHINESE} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SIMPCHINESE} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SIMPCHINESE} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SIMPCHINESE} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SIMPCHINESE} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SIMPCHINESE} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SIMPCHINESE} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SIMPCHINESE} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SIMPCHINESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SIMPCHINESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SIMPCHINESE} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SIMPCHINESE} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SIMPCHINESE} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SIMPCHINESE} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SIMPCHINESE} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SIMPCHINESE} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SIMPCHINESE} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SIMPCHINESE} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SIMPCHINESE} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SIMPCHINESE} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SLOVAK LangString MULTIUSER_PAGE_TITLE ${LANG_SLOVAK} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SLOVAK} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SLOVAK} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SLOVAK} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SLOVAK} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SLOVAK} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SLOVAK} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_SLOVAK} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SLOVAK} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SLOVAK} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SLOVAK} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SLOVAK} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SLOVAK} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SLOVAK} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SLOVAK} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SLOVAK} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SLOVAK} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SLOVAK} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SLOVAK} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SLOVAK} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SLOVAK} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SLOVAK} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SLOVAK} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SLOVAK} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SLOVAK} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SLOVAK} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SLOVAK} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SLOVENIAN LangString MULTIUSER_PAGE_TITLE ${LANG_SLOVENIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SLOVENIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SLOVENIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SLOVENIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SLOVENIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SLOVENIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SLOVENIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_SLOVENIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SLOVENIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SLOVENIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SLOVENIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SLOVENIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SLOVENIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SLOVENIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SLOVENIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SLOVENIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SLOVENIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SLOVENIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SLOVENIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SLOVENIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SLOVENIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SLOVENIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SLOVENIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SLOVENIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SLOVENIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SLOVENIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SLOVENIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SPANISH LangString MULTIUSER_PAGE_TITLE ${LANG_SPANISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SPANISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SPANISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SPANISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SPANISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SPANISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SPANISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_SPANISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SPANISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SPANISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SPANISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SPANISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SPANISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SPANISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SPANISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SPANISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SPANISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SPANISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SPANISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SPANISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SPANISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SPANISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SPANISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SPANISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SPANISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SPANISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SPANISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SPANISHINTERNATIONAL LangString MULTIUSER_PAGE_TITLE ${LANG_SPANISHINTERNATIONAL} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SPANISHINTERNATIONAL} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SPANISHINTERNATIONAL} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SPANISHINTERNATIONAL} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SPANISHINTERNATIONAL} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SPANISHINTERNATIONAL} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_SPANISHINTERNATIONAL} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SPANISHINTERNATIONAL} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SPANISHINTERNATIONAL} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SPANISHINTERNATIONAL} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SPANISHINTERNATIONAL} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SPANISHINTERNATIONAL} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SPANISHINTERNATIONAL} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SPANISHINTERNATIONAL} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SPANISHINTERNATIONAL} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SPANISHINTERNATIONAL} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SPANISHINTERNATIONAL} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SPANISHINTERNATIONAL} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SPANISHINTERNATIONAL} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SPANISHINTERNATIONAL} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SPANISHINTERNATIONAL} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SPANISHINTERNATIONAL} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SPANISHINTERNATIONAL} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_SWEDISH LangString MULTIUSER_PAGE_TITLE ${LANG_SWEDISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_SWEDISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_SWEDISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_SWEDISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_SWEDISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_SWEDISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_SWEDISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_SWEDISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_SWEDISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_SWEDISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_SWEDISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_SWEDISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_SWEDISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_SWEDISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_SWEDISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_SWEDISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_SWEDISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_SWEDISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_SWEDISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_SWEDISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_SWEDISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_SWEDISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_SWEDISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_SWEDISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_SWEDISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_SWEDISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_SWEDISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_TATAR LangString MULTIUSER_PAGE_TITLE ${LANG_TATAR} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_TATAR} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_TATAR} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_TATAR} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_TATAR} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_TATAR} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_TATAR} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_TATAR} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_TATAR} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_TATAR} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_TATAR} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_TATAR} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_TATAR} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_TATAR} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_TATAR} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_TATAR} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_TATAR} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_TATAR} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_TATAR} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_TATAR} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_TATAR} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_TATAR} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_TATAR} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_TATAR} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_TATAR} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_TATAR} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_TATAR} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_THAI LangString MULTIUSER_PAGE_TITLE ${LANG_THAI} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_THAI} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_THAI} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_THAI} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_THAI} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_THAI} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_THAI} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_THAI} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_THAI} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_THAI} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_THAI} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_THAI} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_THAI} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_THAI} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_THAI} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_THAI} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_THAI} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_THAI} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_THAI} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_THAI} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_THAI} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_THAI} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_THAI} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_THAI} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_THAI} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_THAI} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_THAI} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_TRADCHINESE LangString MULTIUSER_PAGE_TITLE ${LANG_TRADCHINESE} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_TRADCHINESE} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_TRADCHINESE} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_TRADCHINESE} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_TRADCHINESE} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_TRADCHINESE} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_TRADCHINESE} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_TRADCHINESE} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_TRADCHINESE} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_TRADCHINESE} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_TRADCHINESE} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_TRADCHINESE} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_TRADCHINESE} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_TRADCHINESE} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_TRADCHINESE} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_TRADCHINESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_TRADCHINESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_TRADCHINESE} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_TRADCHINESE} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_TRADCHINESE} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_TRADCHINESE} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_TRADCHINESE} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_TRADCHINESE} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_TRADCHINESE} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_TRADCHINESE} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_TRADCHINESE} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_TRADCHINESE} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_TURKISH LangString MULTIUSER_PAGE_TITLE ${LANG_TURKISH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_TURKISH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_TURKISH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_TURKISH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_TURKISH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_TURKISH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_TURKISH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_TURKISH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_TURKISH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_TURKISH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_TURKISH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_TURKISH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_TURKISH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_TURKISH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_TURKISH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_TURKISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_TURKISH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_TURKISH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_TURKISH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_TURKISH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_TURKISH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_TURKISH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_TURKISH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_TURKISH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_TURKISH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_TURKISH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_TURKISH} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_UKRAINIAN LangString MULTIUSER_PAGE_TITLE ${LANG_UKRAINIAN} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_UKRAINIAN} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_UKRAINIAN} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_UKRAINIAN} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_UKRAINIAN} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_UKRAINIAN} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_UKRAINIAN} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_UKRAINIAN} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_UKRAINIAN} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_UKRAINIAN} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_UKRAINIAN} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_UKRAINIAN} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_UKRAINIAN} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_UKRAINIAN} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_UKRAINIAN} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_UKRAINIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_UKRAINIAN} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_UKRAINIAN} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_UKRAINIAN} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_UKRAINIAN} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_UKRAINIAN} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_UKRAINIAN} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_UKRAINIAN} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_UKRAINIAN} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_UKRAINIAN} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_UKRAINIAN} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_UKRAINIAN} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_UZBEK LangString MULTIUSER_PAGE_TITLE ${LANG_UZBEK} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_UZBEK} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_UZBEK} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_UZBEK} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_UZBEK} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_UZBEK} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_UZBEK} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_UZBEK} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_UZBEK} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_UZBEK} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_UZBEK} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_UZBEK} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_UZBEK} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_UZBEK} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_UZBEK} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_UZBEK} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_UZBEK} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_UZBEK} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_UZBEK} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_UZBEK} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_UZBEK} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_UZBEK} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_UZBEK} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_UZBEK} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_UZBEK} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_UZBEK} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_UZBEK} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_VIETNAMESE LangString MULTIUSER_PAGE_TITLE ${LANG_VIETNAMESE} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_VIETNAMESE} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_VIETNAMESE} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_VIETNAMESE} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_VIETNAMESE} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_VIETNAMESE} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_VIETNAMESE} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_VIETNAMESE} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_VIETNAMESE} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_VIETNAMESE} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_VIETNAMESE} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_VIETNAMESE} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_VIETNAMESE} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_VIETNAMESE} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_VIETNAMESE} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_VIETNAMESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_VIETNAMESE} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_VIETNAMESE} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_VIETNAMESE} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_VIETNAMESE} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_VIETNAMESE} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_VIETNAMESE} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_VIETNAMESE} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_VIETNAMESE} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_VIETNAMESE} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_VIETNAMESE} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_VIETNAMESE} "Unable to elevate, error {ERROR}." !endif !ifdef LANG_WELSH LangString MULTIUSER_PAGE_TITLE ${LANG_WELSH} "Choose Users" LangString MULTIUSER_INSTALL_PAGE_SUBTITLE ${LANG_WELSH} "Choose for which users to install $(^NameDA)." LangString MULTIUSER_UNINSTALL_PAGE_SUBTITLE ${LANG_WELSH} "Choose for which users to remove $(^NameDA)." LangString MULTIUSER_INSTALL_HEADER ${LANG_WELSH} "Select whether to install $(^NameDA) for all users or for current user." LangString MULTIUSER_UNINSTALL_HEADER ${LANG_WELSH} "$(^NameDA) is installed both for all users and for current user.$\r$\nSelect which installation to remove." LangString MULTIUSER_ALL_USERS ${LANG_WELSH} "For &anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER ${LANG_WELSH} "For &me ({USER})" LangString MULTIUSER_ALL_USERS_UMUI ${LANG_WELSH} "For anyone who uses this computer (all users)" LangString MULTIUSER_CURRENT_USER_UMUI ${LANG_WELSH} "For me ({USER})" LangString MULTIUSER_NEW_INSTALLATION_ALL_USERS ${LANG_WELSH} "Fresh install for all users." LangString MULTIUSER_NEW_INSTALLATION_CURRENT_USER ${LANG_WELSH} "Fresh install for current user." LangString MULTIUSER_INSTALLED_ALL_USERS ${LANG_WELSH} "Version {VERSION} is installed for all users in $\"{FOLDER}$\"." LangString MULTIUSER_INSTALLED_CURRENT_USER ${LANG_WELSH} "Version {VERSION} is installed for current user in $\"{FOLDER}$\"." LangString MULTIUSER_REINSTALL_SAME_VERSION_ALL_USERS ${LANG_WELSH} "Reinstall version {VERSION} for all users." LangString MULTIUSER_REINSTALL_SAME_VERSION_CURRENT_USER ${LANG_WELSH} "Reinstall version {VERSION} for current user." LangString MULTIUSER_REINSTALL_DIFF_VERSION_ALL_USERS ${LANG_WELSH} "Uninstall version {OLD_VERSION} and install version {VERSION} for all users." LangString MULTIUSER_REINSTALL_DIFF_VERSION_CURRENT_USER ${LANG_WELSH} "Uninstall version {OLD_VERSION} and install version {VERSION} for current user." LangString MULTIUSER_RUN_AS_ADMIN ${LANG_WELSH} "You need to run this program as administrator." LangString MULTIUSER_ADMIN_CREDENTIALS_REQUIRED ${LANG_WELSH} "Administrator credentials required." LangString MULTIUSER_ADMIN_UNINSTALL_CREDENTIALS_REQUIRED ${LANG_WELSH} "Administrator credentials required for uninstall." ; error messages - not so important LangString MULTIUSER_INVALID_PARAMS ${LANG_WELSH} "Invalid combination of paramaters." LangString MULTIUSER_NOT_INSTALLED ${LANG_WELSH} "There is no installation of $(^NameDA)." LangString MULTIUSER_INSTALLATION_FOR_CURRENT_USER_NOT_SUPPORTED ${LANG_WELSH} "The operating system doesn't support current user installations." LangString MULTIUSER_ADMIN_ACCOUNT_LOGIN_REQUIRED ${LANG_WELSH} "You need to login with an account that is a member of the administrators group to continue." LangString MULTIUSER_ELEVATION_NOT_SUPPORTED ${LANG_WELSH} "The operating system doesn't support elevation." LangString MULTIUSER_LOGON_SERVICE_NOT_RUNNING ${LANG_WELSH} "Unable to elevate, Secondary Logon service not running." LangString MULTIUSER_ELEVATION_ERROR ${LANG_WELSH} "Unable to elevate, error {ERROR}." !endif ================================================ FILE: src/installer/NsisMultiUser/Include/StdUtils.nsh ================================================ ################################################################################# # StdUtils plug-in for NSIS # Copyright (C) 2004-2018 LoRd_MuldeR # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # http://www.gnu.org/licenses/lgpl-2.1.txt ################################################################################# # DEVELOPER NOTES: # - Please see "https://github.com/lordmulder/stdutils/" for news and updates! # - Please see "Docs\StdUtils\StdUtils.html" for detailed function descriptions! # - Please see "Examples\StdUtils\StdUtilsTest.nsi" for usage examples! ################################################################################# # FUNCTION DECLARTIONS ################################################################################# !ifndef ___STDUTILS__NSH___ !define ___STDUTILS__NSH___ !define StdUtils.Time '!insertmacro _StdU_Time' #time(), as in C standard library !define StdUtils.GetMinutes '!insertmacro _StdU_GetMinutes' #GetSystemTimeAsFileTime(), returns the number of minutes !define StdUtils.GetHours '!insertmacro _StdU_GetHours' #GetSystemTimeAsFileTime(), returns the number of hours !define StdUtils.GetDays '!insertmacro _StdU_GetDays' #GetSystemTimeAsFileTime(), returns the number of days !define StdUtils.Rand '!insertmacro _StdU_Rand' #rand(), as in C standard library !define StdUtils.RandMax '!insertmacro _StdU_RandMax' #rand(), as in C standard library, with maximum value !define StdUtils.RandMinMax '!insertmacro _StdU_RandMinMax' #rand(), as in C standard library, with minimum/maximum value !define StdUtils.RandList '!insertmacro _StdU_RandList' #rand(), as in C standard library, with list support !define StdUtils.RandBytes '!insertmacro _StdU_RandBytes' #Generates random bytes, returned as Base64-encoded string !define StdUtils.FormatStr '!insertmacro _StdU_FormatStr' #sprintf(), as in C standard library, one '%d' placeholder !define StdUtils.FormatStr2 '!insertmacro _StdU_FormatStr2' #sprintf(), as in C standard library, two '%d' placeholders !define StdUtils.FormatStr3 '!insertmacro _StdU_FormatStr3' #sprintf(), as in C standard library, three '%d' placeholders !define StdUtils.ScanStr '!insertmacro _StdU_ScanStr' #sscanf(), as in C standard library, one '%d' placeholder !define StdUtils.ScanStr2 '!insertmacro _StdU_ScanStr2' #sscanf(), as in C standard library, two '%d' placeholders !define StdUtils.ScanStr3 '!insertmacro _StdU_ScanStr3' #sscanf(), as in C standard library, three '%d' placeholders !define StdUtils.TrimStr '!insertmacro _StdU_TrimStr' #Remove whitspaces from string, left and right !define StdUtils.TrimStrLeft '!insertmacro _StdU_TrimStrLeft' #Remove whitspaces from string, left side only !define StdUtils.TrimStrRight '!insertmacro _StdU_TrimStrRight' #Remove whitspaces from string, right side only !define StdUtils.RevStr '!insertmacro _StdU_RevStr' #Reverse a string, e.g. "reverse me" <-> "em esrever" !define StdUtils.ValidFileName '!insertmacro _StdU_ValidFileName' #Test whether string is a valid file name - no paths allowed !define StdUtils.ValidPathSpec '!insertmacro _StdU_ValidPathSpec' #Test whether string is a valid full(!) path specification !define StdUtils.ValidDomainName '!insertmacro _StdU_ValidDomain' #Test whether string is a valid host name or domain name !define StdUtils.StrToUtf8 '!insertmacro _StdU_StrToUtf8' #Convert string from Unicode (UTF-16) or ANSI to UTF-8 bytes !define StdUtils.StrFromUtf8 '!insertmacro _StdU_StrFromUtf8' #Convert string from UTF-8 bytes to Unicode (UTF-16) or ANSI !define StdUtils.SHFileMove '!insertmacro _StdU_SHFileMove' #SHFileOperation(), using the FO_MOVE operation !define StdUtils.SHFileCopy '!insertmacro _StdU_SHFileCopy' #SHFileOperation(), using the FO_COPY operation !define StdUtils.AppendToFile '!insertmacro _StdU_AppendToFile' #Append contents of an existing file to another file !define StdUtils.ExecShellAsUser '!insertmacro _StdU_ExecShlUser' #ShellExecute() as NON-elevated user from elevated installer !define StdUtils.InvokeShellVerb '!insertmacro _StdU_InvkeShlVrb' #Invokes a "shell verb", e.g. for pinning items to the taskbar !define StdUtils.ExecShellWaitEx '!insertmacro _StdU_ExecShlWaitEx' #ShellExecuteEx(), returns the handle of the new process !define StdUtils.WaitForProcEx '!insertmacro _StdU_WaitForProcEx' #WaitForSingleObject(), e.g. to wait for a running process !define StdUtils.GetParameter '!insertmacro _StdU_GetParameter' #Get the value of a specific command-line option !define StdUtils.TestParameter '!insertmacro _StdU_TestParameter' #Test whether a specific command-line option has been set !define StdUtils.ParameterCnt '!insertmacro _StdU_ParameterCnt' #Get number of command-line tokens, similar to argc in main() !define StdUtils.ParameterStr '!insertmacro _StdU_ParameterStr' #Get the n-th command-line token, similar to argv[i] in main() !define StdUtils.GetAllParameters '!insertmacro _StdU_GetAllParams' #Get complete command-line, but without executable name !define StdUtils.GetRealOSVersion '!insertmacro _StdU_GetRealOSVer' #Get the *real* Windows version number, even on Windows 8.1+ !define StdUtils.GetRealOSBuildNo '!insertmacro _StdU_GetRealOSBld' #Get the *real* Windows build number, even on Windows 8.1+ !define StdUtils.GetRealOSName '!insertmacro _StdU_GetRealOSStr' #Get the *real* Windows version, as a "friendly" name !define StdUtils.GetOSEdition '!insertmacro _StdU_GetOSEdition' #Get the Windows edition, i.e. "workstation" or "server" !define StdUtils.GetOSReleaseId '!insertmacro _StdU_GetOSRelIdNo' #Get the Windows release identifier (on Windows 10) !define StdUtils.GetOSReleaseName '!insertmacro _StdU_GetOSRelIdStr' #Get the Windows release (on Windows 10), as a "friendly" name !define StdUtils.VerifyOSVersion '!insertmacro _StdU_VrfyRealOSVer' #Compare *real* operating system to an expected version number !define StdUtils.VerifyOSBuildNo '!insertmacro _StdU_VrfyRealOSBld' #Compare *real* operating system to an expected build number !define StdUtils.HashText '!insertmacro _StdU_HashText' #Compute hash from text string (CRC32, MD5, SHA1/2/3, BLAKE2) !define StdUtils.HashFile '!insertmacro _StdU_HashFile' #Compute hash from file (CRC32, MD5, SHA1/2/3, BLAKE2) !define StdUtils.NormalizePath '!insertmacro _StdU_NormalizePath' #Simplifies the path to produce a direct, well-formed path !define StdUtils.GetParentPath '!insertmacro _StdU_GetParentPath' #Get parent path by removing the last component from the path !define StdUtils.SplitPath '!insertmacro _StdU_SplitPath' #Split the components of the given path !define StdUtils.GetDrivePart '!insertmacro _StdU_GetDrivePart' #Get drive component of path !define StdUtils.GetDirectoryPart '!insertmacro _StdU_GetDirPart' #Get directory component of path !define StdUtils.GetFileNamePart '!insertmacro _StdU_GetFNamePart' #Get file name component of path !define StdUtils.GetExtensionPart '!insertmacro _StdU_GetExtnPart' #Get file extension component of path !define StdUtils.TimerCreate '!insertmacro _StdU_TimerCreate' #Create a new event-timer that will be triggered periodically !define StdUtils.TimerDestroy '!insertmacro _StdU_TimerDestroy' #Destroy a running timer created with TimerCreate() !define StdUtils.ProtectStr '!insertmacro _StdU_PrtctStr' #Protect a given String using Windows' DPAPI !define StdUtils.UnprotectStr '!insertmacro _StdU_UnprtctStr' #Unprotect a string that was protected via ProtectStr() !define StdUtils.GetLibVersion '!insertmacro _StdU_GetLibVersion' #Get the current StdUtils library version (for debugging) !define StdUtils.SetVerbose '!insertmacro _StdU_SetVerbose' #Enable or disable "verbose" mode (for debugging) ################################################################################# # MACRO DEFINITIONS ################################################################################# !macro _StdU_Time out StdUtils::Time /NOUNLOAD pop ${out} !macroend !macro _StdU_GetMinutes out StdUtils::GetMinutes /NOUNLOAD pop ${out} !macroend !macro _StdU_GetHours out StdUtils::GetHours /NOUNLOAD pop ${out} !macroend !macro _StdU_GetDays out StdUtils::GetDays /NOUNLOAD pop ${out} !macroend !macro _StdU_Rand out StdUtils::Rand /NOUNLOAD pop ${out} !macroend !macro _StdU_RandMax out max push ${max} StdUtils::RandMax /NOUNLOAD pop ${out} !macroend !macro _StdU_RandMinMax out min max push ${min} push ${max} StdUtils::RandMinMax /NOUNLOAD pop ${out} !macroend !macro _StdU_RandList count max push ${max} push ${count} StdUtils::RandList /NOUNLOAD !macroend !macro _StdU_RandBytes out count push ${count} StdUtils::RandBytes /NOUNLOAD pop ${out} !macroend !macro _StdU_FormatStr out format val push `${format}` push ${val} StdUtils::FormatStr /NOUNLOAD pop ${out} !macroend !macro _StdU_FormatStr2 out format val1 val2 push `${format}` push ${val1} push ${val2} StdUtils::FormatStr2 /NOUNLOAD pop ${out} !macroend !macro _StdU_FormatStr3 out format val1 val2 val3 push `${format}` push ${val1} push ${val2} push ${val3} StdUtils::FormatStr3 /NOUNLOAD pop ${out} !macroend !macro _StdU_ScanStr out format input default push `${format}` push `${input}` push ${default} StdUtils::ScanStr /NOUNLOAD pop ${out} !macroend !macro _StdU_ScanStr2 out1 out2 format input default1 default2 push `${format}` push `${input}` push ${default1} push ${default2} StdUtils::ScanStr2 /NOUNLOAD pop ${out1} pop ${out2} !macroend !macro _StdU_ScanStr3 out1 out2 out3 format input default1 default2 default3 push `${format}` push `${input}` push ${default1} push ${default2} push ${default3} StdUtils::ScanStr3 /NOUNLOAD pop ${out1} pop ${out2} pop ${out3} !macroend !macro _StdU_TrimStr var push ${var} StdUtils::TrimStr /NOUNLOAD pop ${var} !macroend !macro _StdU_TrimStrLeft var push ${var} StdUtils::TrimStrLeft /NOUNLOAD pop ${var} !macroend !macro _StdU_TrimStrRight var push ${var} StdUtils::TrimStrRight /NOUNLOAD pop ${var} !macroend !macro _StdU_RevStr var push ${var} StdUtils::RevStr /NOUNLOAD pop ${var} !macroend !macro _StdU_ValidFileName out test push `${test}` StdUtils::ValidFileName /NOUNLOAD pop ${out} !macroend !macro _StdU_ValidPathSpec out test push `${test}` StdUtils::ValidPathSpec /NOUNLOAD pop ${out} !macroend !macro _StdU_ValidDomain out test push `${test}` StdUtils::ValidDomainName /NOUNLOAD pop ${out} !macroend !macro _StdU_StrToUtf8 out str push `${str}` StdUtils::StrToUtf8 /NOUNLOAD pop ${out} !macroend !macro _StdU_StrFromUtf8 out trnc str push ${trnc} push `${str}` StdUtils::StrFromUtf8 /NOUNLOAD pop ${out} !macroend !macro _StdU_SHFileMove out from to hwnd push `${from}` push `${to}` push ${hwnd} StdUtils::SHFileMove /NOUNLOAD pop ${out} !macroend !macro _StdU_SHFileCopy out from to hwnd push `${from}` push `${to}` push ${hwnd} StdUtils::SHFileCopy /NOUNLOAD pop ${out} !macroend !macro _StdU_AppendToFile out from dest offset maxlen push `${from}` push `${dest}` push ${offset} push ${maxlen} StdUtils::AppendToFile /NOUNLOAD pop ${out} !macroend !macro _StdU_ExecShlUser out file verb args push `${file}` push `${verb}` push `${args}` StdUtils::ExecShellAsUser /NOUNLOAD pop ${out} !macroend !macro _StdU_InvkeShlVrb out path file verb_id push "${path}" push "${file}" push ${verb_id} StdUtils::InvokeShellVerb /NOUNLOAD pop ${out} !macroend !macro _StdU_ExecShlWaitEx out_res out_val file verb args push `${file}` push `${verb}` push `${args}` StdUtils::ExecShellWaitEx /NOUNLOAD pop ${out_res} pop ${out_val} !macroend !macro _StdU_WaitForProcEx out handle push `${handle}` StdUtils::WaitForProcEx /NOUNLOAD pop ${out} !macroend !macro _StdU_GetParameter out name default push `${name}` push `${default}` StdUtils::GetParameter /NOUNLOAD pop ${out} !macroend !macro _StdU_TestParameter out name push `${name}` StdUtils::TestParameter /NOUNLOAD pop ${out} !macroend !macro _StdU_ParameterCnt out StdUtils::ParameterCnt /NOUNLOAD pop ${out} !macroend !macro _StdU_ParameterStr out index push ${index} StdUtils::ParameterStr /NOUNLOAD pop ${out} !macroend !macro _StdU_GetAllParams out truncate push `${truncate}` StdUtils::GetAllParameters /NOUNLOAD pop ${out} !macroend !macro _StdU_GetRealOSVer out_major out_minor out_spack StdUtils::GetRealOsVersion /NOUNLOAD pop ${out_major} pop ${out_minor} pop ${out_spack} !macroend !macro _StdU_GetRealOSBld out StdUtils::GetRealOsBuildNo /NOUNLOAD pop ${out} !macroend !macro _StdU_GetRealOSStr out StdUtils::GetRealOsName /NOUNLOAD pop ${out} !macroend !macro _StdU_VrfyRealOSVer out major minor spack push `${major}` push `${minor}` push `${spack}` StdUtils::VerifyRealOsVersion /NOUNLOAD pop ${out} !macroend !macro _StdU_VrfyRealOSBld out build push `${build}` StdUtils::VerifyRealOsBuildNo /NOUNLOAD pop ${out} !macroend !macro _StdU_GetOSEdition out StdUtils::GetOsEdition /NOUNLOAD pop ${out} !macroend !macro _StdU_GetOSRelIdNo out StdUtils::GetOsReleaseId /NOUNLOAD pop ${out} !macroend !macro _StdU_GetOSRelIdStr out StdUtils::GetOsReleaseName /NOUNLOAD pop ${out} !macroend !macro _StdU_HashText out type text push `${type}` push `${text}` StdUtils::HashText /NOUNLOAD pop ${out} !macroend !macro _StdU_HashFile out type file push `${type}` push `${file}` StdUtils::HashFile /NOUNLOAD pop ${out} !macroend !macro _StdU_NormalizePath out path push `${path}` StdUtils::NormalizePath /NOUNLOAD pop ${out} !macroend !macro _StdU_GetParentPath out path push `${path}` StdUtils::GetParentPath /NOUNLOAD pop ${out} !macroend !macro _StdU_SplitPath out_drive out_dir out_fname out_ext path push `${path}` StdUtils::SplitPath /NOUNLOAD pop ${out_drive} pop ${out_dir} pop ${out_fname} pop ${out_ext} !macroend !macro _StdU_GetDrivePart out path push `${path}` StdUtils::GetDrivePart /NOUNLOAD pop ${out} !macroend !macro _StdU_GetDirPart out path push `${path}` StdUtils::GetDirectoryPart /NOUNLOAD pop ${out} !macroend !macro _StdU_GetFNamePart out path push `${path}` StdUtils::GetFileNamePart /NOUNLOAD pop ${out} !macroend !macro _StdU_GetExtnPart out path push `${path}` StdUtils::GetExtensionPart /NOUNLOAD pop ${out} !macroend !macro _StdU_TimerCreate out callback interval GetFunctionAddress ${out} ${callback} push ${out} push ${interval} StdUtils::TimerCreate /NOUNLOAD pop ${out} !macroend !macro _StdU_TimerDestroy out timer_id push ${timer_id} StdUtils::TimerDestroy /NOUNLOAD pop ${out} !macroend !macro _StdU_PrtctStr out dpsc salt text push `${dpsc}` push `${salt}` push `${text}` StdUtils::ProtectStr /NOUNLOAD pop ${out} !macroend !macro _StdU_UnprtctStr out trnc salt data push `${trnc}` push `${salt}` push `${data}` StdUtils::UnprotectStr /NOUNLOAD pop ${out} !macroend !macro _StdU_GetLibVersion out_ver out_tst StdUtils::GetLibVersion /NOUNLOAD pop ${out_ver} pop ${out_tst} !macroend !macro _StdU_SetVerbose enable Push ${enable} StdUtils::SetVerboseMode /NOUNLOAD !macroend ################################################################################# # MAGIC NUMBERS ################################################################################# !define StdUtils.Const.ShellVerb.PinToTaskbar 0 !define StdUtils.Const.ShellVerb.UnpinFromTaskbar 1 !define StdUtils.Const.ShellVerb.PinToStart 2 !define StdUtils.Const.ShellVerb.UnpinFromStart 3 !endif # !___STDUTILS__NSH___ ================================================ FILE: src/installer/NsisMultiUser/Include/UAC.nsh ================================================ /*** UAC Plug-in *** Interactive User (MediumIL) Admin user (HighIL) ***[Setup.exe]************* ***[Setup.exe]************** * * * * * +++[.OnInit]+++++++++++ * * +++[.OnInit]++++++++++++ * * + UAC_RunElevated >---+-+----> * + + * * + NSIS.Quit + * * + + * * +++++++++++++++++++++++ * * ++++++++++++++++++++++++ * * * * * * * * * * +++[Section]+++++++++++ * * +++[Section]++++++++++++ * * + + * /--+-+- ** ** Get integrity level of current process ** **/ !macro UAC_GetIntegrityLevel outvar UAC::_ 6 !if "${outvar}" != "s" Pop ${outvar} !endif !macroend /* UAC_IsAdmin ** ** Is the current process running with administrator privileges? Result in $0 ** ** ${If} ${UAC_IsAdmin} ... ** **/ !macro UAC_IsAdmin UAC::_ 2 !macroend !define UAC_IsAdmin `"" UAC_IsAdmin ""` !macro _UAC_IsAdmin _a _b _t _f !insertmacro _UAC_MakeLL_Cmp _!= 0 2s !macroend /* UAC_IsInnerInstance ** ** Does the current process have a NSIS/UAC parent process that is part of the elevation operation? ** ** ${If} ${UAC_IsInnerInstance} ... ** **/ !macro UAC_IsInnerInstance UAC::_ 3 !macroend !define UAC_IsInnerInstance `"" UAC_IsInnerInstance ""` !macro _UAC_IsInnerInstance _a _b _t _f !insertmacro _UAC_MakeLL_Cmp _!= 0 3s !macroend /* UAC_PageElevation_OnInit, UAC_PageElevation_OnGuiInit, ** ** Helper macros for elevation on a custom elevation page, see the DualMode example for more information. ** **/ !macro UAC_Notify_OnGuiInit UAC::_ 4 !macroend !macro UAC_PageElevation_OnGuiInit !insertmacro UAC_Notify_OnGuiInit !macroend !macro UAC_PageElevation_OnInit UAC::_ 5 ${IfThen} ${Errors} ${|} Quit ${|} !macroend /* UAC_AsUser_Call ** ** Calls a function or label in the user process instance. ** All the UAC_AsUser_* macros use this helper macro. ** **/ !define UAC_SYNCREGISTERS 0x1 ;define UAC_SYNCSTACK 0x2 !define UAC_SYNCOUTDIR 0x4 !define UAC_SYNCINSTDIR 0x8 ;define UAC_CLEARERRFLAG 0x10 !macro UAC_AsUser_Call type name flags push $0 Get${type}Address $0 ${name} !verbose push !verbose ${UAC_VERBOSE} !insertmacro _UAC_ParseDefineFlagsToInt _UAC_AsUser_Call__flags ${flags} !verbose pop StrCpy $0 "1$0:${_UAC_AsUser_Call__flags}" !undef _UAC_AsUser_Call__flags Exch $0 UAC::_ !macroend /* ** UAC_AsUser_GetSection */ !macro UAC_AsUser_GetSection secprop secidx outvar !insertmacro _UAC_AsUser_GenOp ${outvar} SectionGet${secprop} ${secidx} "" !macroend /* ** UAC_AsUser_GetGlobalVar ** UAC_AsUser_GetGlobal */ !macro UAC_AsUser_GetGlobalVar var !insertmacro _UAC_AsUser_GenOp ${var} StrCpy "" ${var} !macroend !macro UAC_AsUser_GetGlobal outvar srcvar !insertmacro _UAC_AsUser_GenOp ${outvar} StrCpy "" ${srcvar} !macroend /* ** UAC_AsUser_ExecShell ** ** Call ExecShell in the user process instance. ** */ !macro UAC_AsUser_ExecShell verb command params workdir show !insertmacro _UAC_IncL goto _UAC_L_E_${__UAC_L} _UAC_L_F_${__UAC_L}: ExecShell "${verb}" "${command}" '${params}' ${show} return _UAC_L_E_${__UAC_L}: !if "${workdir}" != "" push $outdir SetOutPath "${workdir}" !endif !insertmacro UAC_AsUser_Call Label _UAC_L_F_${__UAC_L} ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR} #|${UAC_CLEARERRFLAG} !if "${workdir}" != "" pop $outdir SetOutPath $outdir !endif !macroend !macro _UAC_MakeLL_Cmp cmpop cmp pluginparams !insertmacro _LOGICLIB_TEMP UAC::_ ${pluginparams} pop $_LOGICLIB_TEMP !insertmacro ${cmpop} $_LOGICLIB_TEMP ${cmp} `${_t}` `${_f}` !macroend !macro _UAC_definemath def val1 op val2 !define /math _UAC_definemath "${val1}" ${op} ${val2} !ifdef ${def} !undef ${def} !endif !define ${def} "${_UAC_definemath}" !undef _UAC_definemath !macroend !macro _UAC_ParseDefineFlags_orin parse outflags !searchparse /noerrors ${${parse}} "" _UAC_ParseDefineFlags_orin_f1 "|" _UAC_ParseDefineFlags_orin_f2 !define _UAC_ParseDefineFlags_orin_this ${_UAC_ParseDefineFlags_orin_f1} !undef ${parse} !define ${parse} ${_UAC_ParseDefineFlags_orin_f2} !define _UAC_ParseDefineFlags_orin_saveout ${${outflags}} !undef ${outflags} !define /math ${outflags} "${_UAC_ParseDefineFlags_orin_saveout}" | "${_UAC_ParseDefineFlags_orin_this}" !undef _UAC_ParseDefineFlags_orin_saveout !undef _UAC_ParseDefineFlags_orin_this !ifdef _UAC_ParseDefineFlags_orin_f1 !undef _UAC_ParseDefineFlags_orin_f1 !endif !ifdef _UAC_ParseDefineFlags_orin_f2 !undef _UAC_ParseDefineFlags_orin_f2 !endif !macroend !macro _UAC_ParseDefineFlags_Begin _outdef _in !define _UAC_PDF${_outdef}_parse "${_in}" !define _UAC_PDF${_outdef}_flags "" !define _UAC_PDF${_outdef}_r 0 !insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x1 !insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x2 !insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x4 !insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x8 !insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x10 !macroend !macro _UAC_ParseDefineFlags_End _outdef !define ${_outdef} ${_UAC_PDF${_outdef}_r} !undef _UAC_PDF${_outdef}_r !undef _UAC_PDF${_outdef}_flags !undef _UAC_PDF${_outdef}_parse !macroend !macro _UAC_ParseDefineFlags_IncludeFlag _outdef flag !if ${_UAC_PDF${_outdef}_flags} & ${flag} !insertmacro _UAC_definemath _UAC_PDF${_outdef}_r ${_UAC_PDF${_outdef}_r} | ${flag} !endif !macroend !macro _UAC_ParseDefineFlagsToInt _outdef _in !insertmacro _UAC_ParseDefineFlags_Begin _UAC_ParseDefineFlagsToInt_tmp "${_in}" !define ${_outdef} ${_UAC_PDF_UAC_ParseDefineFlagsToInt_tmp_flags} !insertmacro _UAC_ParseDefineFlags_End _UAC_ParseDefineFlagsToInt_tmp !undef _UAC_ParseDefineFlagsToInt_tmp !macroend !macro _UAC_IncL !insertmacro _UAC_definemath __UAC_L "${__UAC_L}" + 1 !macroend !macro _UAC_AsUser_GenOp outvar op opparam1 opparam2 !define _UAC_AUGOGR_ID _UAC_AUGOGR_OP${outvar}${op}${opparam1}${opparam2} !ifndef ${_UAC_AUGOGR_ID} ;Has this exact action been done before? !if ${outvar} == $0 !define ${_UAC_AUGOGR_ID} $1 !else !define ${_UAC_AUGOGR_ID} $0 !endif !if "${opparam1}" == "" !define _UAC_AUGOGR_OPP1 ${${_UAC_AUGOGR_ID}} !define _UAC_AUGOGR_OPP2 ${opparam2} !else !define _UAC_AUGOGR_OPP1 ${opparam1} !define _UAC_AUGOGR_OPP2 ${${_UAC_AUGOGR_ID}} !endif goto ${_UAC_AUGOGR_ID}_C ${_UAC_AUGOGR_ID}_F: ${op} ${_UAC_AUGOGR_OPP1} ${_UAC_AUGOGR_OPP2} return ${_UAC_AUGOGR_ID}_C: !undef _UAC_AUGOGR_OPP1 !undef _UAC_AUGOGR_OPP2 !endif push ${${_UAC_AUGOGR_ID}} !insertmacro UAC_AsUser_Call Label ${_UAC_AUGOGR_ID}_F ${UAC_SYNCREGISTERS} StrCpy ${outvar} ${${_UAC_AUGOGR_ID}} pop ${${_UAC_AUGOGR_ID}} !undef _UAC_AUGOGR_ID !macroend !verbose pop !endif /* UAC_HDR__INC */ ================================================ FILE: src/installer/installer.nsi ================================================ !addplugindir /x86-unicode ".\NsisMultiUser\Plugins\x86-unicode\" !addincludedir ".\NsisMultiUser\Include\" SetCompressor /SOLID lzma !getdllversion "..\x64\Release\Notepad--.exe" nnver_ !define VERSION ${nnver_1}.${nnver_2} !define VERSION_MAJOR ${nnver_1} !define VERSION_MINOR ${nnver_2} !define VERSION_PATCH ${nnver_3} # dont think I'd ever need beyond a patch number !if ${VERSION_PATCH} != 0 !undef VERSION !define VERSION ${nnver_1}.${nnver_2}.${nnver_3} !endif # Configure NsisMultiUser: https://github.com/Drizin/NsisMultiUser/wiki !define PRODUCT_NAME "Notepad--" !define COMPANY_NAME "${PRODUCT_NAME}" !define PROGEXE "notepad--.exe" !define MULTIUSER_INSTALLMODE_UNINSTALL_REGISTRY_KEY "Notepad--" !define MULTIUSER_INSTALLMODE_DISPLAYNAME "${PRODUCT_NAME}" !define MULTIUSER_INSTALLMODE_64_BIT 1 !define MULTIUSER_INSTALLMODE_DEFAULT_ALLUSERS 1 !define MULTIUSER_INSTALLMODE_ALLOW_BOTH_INSTALLATIONS 0 !define MULTIUSER_INSTALLMODE_ALLOW_ELEVATION 1 !define MULTIUSER_INSTALLMODE_ALLOW_ELEVATION_IF_SILENT 1 ; required for silent-mode allusers-uninstall to work, when using the workaround for Windows elevation bug # Configure MUI !define MUI_ABORTWARNING !define MUI_ICON "..\Resources\edit\global\ndd.ico" !define MUI_UNICON "..\Resources\edit\global\ndd.ico" !define MUI_COMPONENTSPAGE_NODESC !include "NsisMultiUser.nsh" !include "NsisMultiUserLang.nsh" !include "MUI2.nsh" !include "Memento.nsh" !include "FileFunc.nsh" !include "utils.nsh" # Detect if the Notepad Next application is running !insertmacro CheckIfRunning "" !insertmacro CheckIfRunning "un." # Configure Memento !define MEMENTO_REGISTRY_ROOT SHCTX !define MEMENTO_REGISTRY_KEY Software\Microsoft\Windows\CurrentVersion\Uninstall\Notepad-- # Install pages !define MUI_PAGE_CUSTOMFUNCTION_PRE PageWelcomeLicensePre !insertmacro MUI_PAGE_WELCOME !define MUI_PAGE_CUSTOMFUNCTION_PRE PageWelcomeLicensePre #!insertmacro MUI_PAGE_LICENSE "..\LICENSE" !insertmacro MULTIUSER_PAGE_INSTALLMODE !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY # In which folder install page. !define MUI_PAGE_CUSTOMFUNCTION_SHOW "CheckIfRunning" !insertmacro MUI_PAGE_INSTFILES # Installing page. !insertmacro MUI_PAGE_FINISH # Finished installation page. # Uninstall pages !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MULTIUSER_UNPAGE_INSTALLMODE !define MUI_PAGE_CUSTOMFUNCTION_SHOW "un.CheckIfRunning" !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH # Language stuff !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MULTIUSER_LANGUAGE_INIT Name "Notepad-- v${VERSION}" OutFile "Notepad--v${VERSION}-Installer.exe" ShowInstDetails show BrandingText " " # Installer Information VIProductVersion "${nnver_1}.${nnver_2}.${nnver_3}.${nnver_4}" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${VERSION}" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Notepad--" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright 2019" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Notepad-- v${VERSION} Installer" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${VERSION}" Function PageWelcomeLicensePre ${if} $InstallShowPagesBeforeComponents == 0 Abort ; don't display the Welcome and License pages for the inner instance ${endif} FunctionEnd Function .onInit ${ifnot} ${UAC_IsInnerInstance} !insertmacro CheckSingleInstance "Setup" "Global" "Notepad--SetupMutex" ${endif} !insertmacro MULTIUSER_INIT ${MementoSectionRestore} # Trigger the selection change manually so that the hidden sections get set appropriately Call .onSelChange ${RefreshShellIcons} FunctionEnd Function .onInstSuccess ${MementoSectionSave} FunctionEnd Function un.onInit !insertmacro MULTIUSER_UNINIT FunctionEnd Section "Notepad--" SectionIn RO SetOutPath $INSTDIR #File /r /x libcrypto-1_1-x64.dll /x libssl-1_1-x64.dll ..\build\package\* File ..\x64\Release\Notepad--.exe #IfFileExists C:\Windows\SysWOW64\vcomp140.dll +2 0 File ..\x64\Release\vcomp140.dll SetRegView 64 # Register the application (e.g. cmd> start notepadnext) WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\App Paths\Notepad--" "" "$INSTDIR\Notepad--.exe" # Register 'Open With' menu suggestion. No real good documentation for this. https://stackoverflow.com/a/62783311 WriteRegStr SHCTX "Software\Classes\Notepad--\shell" "" "open" WriteRegStr SHCTX "Software\Classes\Notepad--\shell\open\command" "" "$\"$INSTDIR\Notepad--.exe$\" $\"%1$\"" WriteRegStr SHCTX "Software\Classes\.txt\OpenWithProgids" "Notepad--" "" WriteUninstaller "$INSTDIR\uninstall.exe" !insertmacro MULTIUSER_RegistryAddInstallInfo ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 IfErrors +3 0 IntFmt $0 "0x%08X" $0 WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Notepad--" "EstimatedSize" "$0" SectionEnd # ----------------------------------------------- ${MementoSection} "Desktop Shortcut" SEC_DESKTOP_SHORTCUT CreateShortCut "$DESKTOP\Notepad--.lnk" "$INSTDIR\Notepad--.exe" ${MementoSectionEnd} Section "-Remove Desktop Shortcut" SEC_REMOVE_DESKTOP_SHORTCUT Delete "$DESKTOP\Notepad--.lnk" SectionEnd # ----------------------------------------------- ${MementoSection} "Start Menu Shortcut" SEC_START_MENU_SHORTCUT CreateShortCut "$SMPROGRAMS\Notepad--.lnk" "$INSTDIR\Notepad--.exe" ${MementoSectionEnd} Section "-Start Menu Shortcut" SEC_REMOVE_START_MENU_SHORTCUT Delete "$SMPROGRAMS\Notepad--.lnk" SectionEnd # ----------------------------------------------- ${MementoSection} "Context Menu" SEC_CONTEXT_MENU SetRegView 64 WriteRegStr SHCTX "Software\Classes\*\shell\Notepad--" "" "Edit with Notepad--" WriteRegStr SHCTX "Software\Classes\*\shell\Notepad--" "Icon" "$INSTDIR\Notepad--.exe" WriteRegStr SHCTX "Software\Classes\*\shell\Notepad--\command" "" "$\"$INSTDIR\Notepad--.exe$\" $\"%1$\"" ${MementoSectionEnd} Section "-Context Menu" SEC_REMOVE_CONTEXT_MENU SetRegView 64 DeleteRegKey SHCTX "Software\Classes\*\shell\Notepad--" SectionEnd # ----------------------------------------------- #${MementoSection} "Auto Updater" SEC_AUTO_UPDATER # SetRegView 64 # SetOutPath $INSTDIR # File ..\build\package\libcrypto-1_1-x64.dll ..\build\package\libssl-1_1-x64.dll # WriteRegDWORD SHCTX "Software\NotepadNext\NotepadNext\" "AutoUpdate" 1 #${MementoSectionEnd} #Section "-Auto Updater" SEC_REMOVE_AUTO_UPDATER # SetRegView 64 # Disable the auto update, if there was an existing install the DLLs may hang around but that's fine for now # WriteRegDWORD SHCTX "Software\NotepadNext\NotepadNext\" "AutoUpdate" 0 #SectionEnd # ----------------------------------------------- #Section ".txt" Ndd #DetailPrint "关联 txt 文件..." #SectionIn 1 #WriteRegStr HKCR ".txt" "" "Ndd.file" #WriteRegStr HKCR "Ndd.file" "" "文本文件 (.txt)" #WriteRegStr HKCR "Ndd.file\DefaultIcon" "" "$INSTDIR\Notepad--.exe,0" #WriteRegStr HKCR "Ndd.file\shell" "" "" #WriteRegStr HKCR "Ndd.file\shell\open" "" "" #WriteRegStr HKCR "Ndd.file\shell\open\command" "" '"$INSTDIR\Notepad--.exe" "%1"' #SectionEnd ${MementoSectionDone} Function .onSelChange ${If} ${SectionIsSelected} ${SEC_DESKTOP_SHORTCUT} !insertmacro UnselectSection ${SEC_REMOVE_DESKTOP_SHORTCUT} ${Else} !insertmacro SelectSection ${SEC_REMOVE_DESKTOP_SHORTCUT} ${EndIf} ${If} ${SectionIsSelected} ${SEC_START_MENU_SHORTCUT} !insertmacro UnselectSection ${SEC_REMOVE_START_MENU_SHORTCUT} ${Else} !insertmacro SelectSection ${SEC_REMOVE_START_MENU_SHORTCUT} ${EndIf} ${If} ${SectionIsSelected} ${SEC_CONTEXT_MENU} !insertmacro UnselectSection ${SEC_REMOVE_CONTEXT_MENU} ${Else} !insertmacro SelectSection ${SEC_REMOVE_CONTEXT_MENU} ${EndIf} #${If} ${SectionIsSelected} ${SEC_AUTO_UPDATER} # !insertmacro UnselectSection ${SEC_REMOVE_AUTO_UPDATER} #${Else} # !insertmacro SelectSection ${SEC_REMOVE_AUTO_UPDATER} #${EndIf} FunctionEnd Section "Uninstall" SetRegView 64 RMDir /r $INSTDIR # Desktop shortcut Delete "$DESKTOP\Notepad--.lnk" # Start Menu shortcut Delete "$SMPROGRAMS\Notepad--.lnk" # Context menu registry DeleteRegKey SHCTX "Software\Classes\*\shell\Notepad--" # Remove application registration DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\App Paths\Notepad--.exe" "" "$INSTDIR\Notepad--.exe" # Custom configurations DeleteRegKey SHCTX "Software\Notepad--\" # Remove 'Open With' menu suggestion DeleteRegValue SHCTX "Software\Classes\.txt\OpenWithProgids" "Notepad--" DeleteRegKey SHCTX "Software\Classes\Notepad--" #DeleteRegKey HKCR ".txt" "" "Ndd.file" !insertmacro MULTIUSER_RegistryRemoveInstallInfo SectionEnd ================================================ FILE: src/installer/newinstall.iss ================================================ ; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Notepad--" #define MyAppVersion "1.17.2" #define MyAppPublisher "nddԴ֯" #define MyAppURL "https://gitee.com/cxasm/notepad--" #define MyAppExeName "Notepad--.exe" #define MyAppAssocName "nddfile" #define MyAppAssocExt ".txt" #define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt [Setup] ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{FA6189F1-03B8-44A2-BE8E-F6CD8E7857B6} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} ArchitecturesInstallIn64BitMode=x64 DefaultDirName={autopf}\{#MyAppName} ChangesAssociations=yes DisableProgramGroupPage=yes ; Uncomment the following line to run in non administrative install mode (install for current user only.) ;PrivilegesRequired=lowest PrivilegesRequiredOverridesAllowed=dialog OutputDir=D:\CCNotePad\installer OutputBaseFilename=Notepad--v1.17.2-Installer SetupIconFile=D:\CCNotePad\Resources\edit\global\ndd.ico Compression=lzma SolidCompression=yes WizardStyle=modern [Languages] Name: "ChineseSimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "D:\CCNotePad\x64\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: "D:\CCNotePad\x64\Release\vcomp140.dll"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Registry] Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0" Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1""" Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: "" Root: HKA; Subkey: "Software\Classes\*\shell\Notepad--"; ValueType: string; ValueName: ""; ValueData: "Edit with Notepad--"; Flags: uninsdeletekey Root: HKA; Subkey: "Software\Classes\*\shell\Notepad--"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#MyAppExeName}""" Root: HKA; Subkey: "Software\Classes\*\shell\Notepad--\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1""" ; [Icons] Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent ================================================ FILE: src/installer/newinstall_dync.iss ================================================ ; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Notepad--" #define MyAppVersion "1.23.2" #define MyAppDesc MyAppName + MyAppVersion + "(Ndd)" #define MyAppPublisher "nddԴ֯" #define MyAppURL "https://gitee.com/cxasm/notepad--" #define MyAppExeName "Notepad--.exe" #define MyAppAssocName "nddfile" #define MyAppAssocExt ".txt" #define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt #define MyAppAssocExt1 ".ini" #define MyAppAssocExt2 ".log" #define MyAppAssocExt3 ".sh" #define MyAppAssocExt4 ".h" #define MyAppAssocExt5 ".c" #define MyAppAssocExt6 ".cpp" #define MyAppAssocExt7 ".py" #define MyAppAssocExt8 ".xml" #define MyAppAssocExt9 ".def" #define MyAppAssocExt10 ".json" #define MyAppAssocExt11 ".pro" #define MyAppAssocExt12 ".csv" [Setup] ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{FA6189F1-03B8-44A2-BE8E-F6CD8E7857B6} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} ArchitecturesInstallIn64BitMode=x64 DefaultDirName={autopf}\{#MyAppName} ChangesAssociations=yes DisableProgramGroupPage=yes ; Uncomment the following line to run in non administrative install mode (install for current user only.) ;PrivilegesRequired=lowest PrivilegesRequiredOverridesAllowed=dialog OutputDir=D:\CCNotePad\installer OutputBaseFilename=Notepad--v1.22.0-Installer SetupIconFile=D:\CCNotePad\Resources\edit\global\ndd.ico Compression=lzma SolidCompression=yes WizardStyle=modern [Languages] Name: "ChineseSimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "D:\CCNotePad\x64\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion Source: "D:\CCNotePad\x64\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Registry] Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: main Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt1}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue ; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt2}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt3}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt4}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt5}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt6}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt7}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt8}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt9}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt10}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt11}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue; Components: ass Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey; Components: main Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"; Components: main Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; Components: main Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}"; ValueType: string; ValueName: ""; ValueData: ""; Flags: uninsdeletekey; Components: main Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: ""; Flags: uninsdeletekey; Components: main ;Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; Flags: uninsdeletekey; Components: main Root: HKA; Subkey: "Software\Classes\*\shell\Notepad--"; ValueType: string; ValueName: ""; ValueData: "Edit with Notepad--"; Flags: uninsdeletekey; Components: main Root: HKA; Subkey: "Software\Classes\*\shell\Notepad--"; ValueType: string; ValueName: "Icon"; ValueData: """{app}\{#MyAppExeName}""" ; Components: main Root: HKA; Subkey: "Software\Classes\*\shell\Notepad--\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1""" ; Components: main [Components] Name: "main"; Description: "{#MyAppDesc}"; Types: full compact custom; Flags: fixed Name: "ass"; Description: "򿪳ı"; Types: full [Icons] Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent ================================================ FILE: src/installer/utils.nsh ================================================ # Stolen from https://github.com/Drizin/NsisMultiUser/blob/f6a4865a6045ca1334c099359b23e2b7342fa7de/Demos/Common/Utils.nsh !define ERROR_ALREADY_EXISTS 0x000000b7 !define ERROR_ACCESS_DENIED 0x5 !macro CheckSingleInstanceFunc UNINSTALLER_PREFIX ; parameters: ; $0 - TYPE - "Setup" or "Application" ; $1 - SCOPE - "Global" or "Local" (default if empty) ; $2 - MUTEX_NAME - unique mutex name Function ${UNINSTALLER_PREFIX}CheckSingleInstance Push $3 Push $4 Push $5 ${if} $1 == "" StrCpy $1 "Local" ${endif} ${if} $0 == "Setup" StrCpy $5 "The setup of ${PRODUCT_NAME}" ${else} StrCpy $5 "${PRODUCT_NAME}" ${endif} try: System::Call 'kernel32::CreateMutex(i 0, i 0, t "$1\$2") i .r3 ?e' Pop $4 ; the stack contains the result of GetLastError ${if} $0 == "Application" ${andif} $3 <> 0 System::Call 'kernel32::CloseHandle(i $3)' ; close the Application mutex ${endif} ${if} $4 = ${ERROR_ALREADY_EXISTS} ${orif} $4 = ${ERROR_ACCESS_DENIED} ; ERROR_ACCESS_DENIED means the mutex was created by another user and we don't have access to open it, so application is running ; will display NSIS taskbar button, no way to hide it before GUIInit, $HWNDPARENT is 0 MessageBox MB_RETRYCANCEL|MB_ICONSTOP "$5 is already running.$\r$\nPlease, close all instances of it and click Retry to continue, or Cancel to exit." /SD IDCANCEL IDCANCEL cancel System::Call 'kernel32::CloseHandle(i $3)' ; for next CreateMutex call to succeed Goto try cancel: Quit ; will SetErrorLevel 2 - Installation aborted by script ${endif} Pop $5 Pop $4 Pop $3 FunctionEnd !macroend !macro CheckSingleInstance TYPE SCOPE MUTEX_NAME Push $0 Push $1 Push $2 StrCpy $0 "${TYPE}" StrCpy $1 "${SCOPE}" StrCpy $2 "${MUTEX_NAME}" !ifndef __UNINSTALL__ Call CheckSingleInstance !else Call un.CheckSingleInstance !endif Pop $2 Pop $1 Pop $0 !macroend !insertmacro CheckSingleInstanceFunc "" ; Stolen from https://github.com/notepad-plus-plus/notepad-plus-plus/blob/6892bcbf3a6f7477beffd4941730a32a3c3b4a74/PowerEditor/installer/nsisInclude/tools.nsh#L49 !macro CheckIfRunning un Function ${un}CheckIfRunning Check: System::Call 'kernel32::OpenMutex(i 0x100000, b 0, t "Notepad--Mutex") i .R0' IntCmp $R0 0 NotRunning System::Call 'kernel32::CloseHandle(i $R0)' MessageBox MB_RETRYCANCEL|MB_DEFBUTTON1|MB_ICONSTOP "Notepad-- is currently running.$\r$\nPlease, close all instances of it and click Retry to continue, or Cancel to exit." IDRETRY Retry IDCANCEL Cancel Retry: Goto Check Cancel: Quit NotRunning: FunctionEnd !macroend ================================================ FILE: src/langextset.cpp ================================================ #include "langextset.h" #include "scintillaeditview.h" #include "extlexermanager.h" #include "ccnotepad.h" #include #include #include #include int ITEM_CHANGED = Qt::UserRole; int ITEM_LEX_ID = Qt::UserRole + 1; //Ӧ﷨lexer ID int ITEM_LEX_EXT_OLD_VALUE = Qt::UserRole + 2; //Ӧ﷨EXTļľֵ LangExtSet::LangExtSet(QWidget *parent) : QMainWindow(parent), m_isChanged(false) { ui.setupUi(this); ui.langTableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); initLangName(); connect(ui.langTableWidget, &QTableWidget::itemChanged, this, &LangExtSet::slot_itemChanged); connect(ui.langTableWidget, &QTableWidget::currentItemChanged, this, &LangExtSet::slot_currentItemChanged); } LangExtSet::~LangExtSet() {} void LangExtSet::initLangName() { int langId = 0; QMap extLangMap; ExtLexerManager::getInstance()->getExtlistByLangTag(extLangMap); for (int i = 0; i <= L_TXT; ++i) { if (i == L_GLOBAL) { continue; } QsciLexer* pLexer = ScintillaEditView::createLexer(i); if (nullptr != pLexer) { QString langName = pLexer->lexerTag(); QTableWidgetItem* item = new QTableWidgetItem(langName); item->setFlags(item->flags() & ~Qt::ItemIsEditable); item->setData(ITEM_LEX_ID, QVariant(i)); ui.langTableWidget->insertRow(langId); ui.langTableWidget->setItem(langId, 0, item); QStringList extList; if (extLangMap.contains(langName)) { extList = extLangMap.value(langName); } QTableWidgetItem* item1 = new QTableWidgetItem(extList.join(',')); item1->setData(ITEM_CHANGED, QVariant(false)); //Ѿֵ޸ĺԱʵʱ޸ڴеĸĶ item1->setData(ITEM_LEX_EXT_OLD_VALUE, QVariant(extList)); ui.langTableWidget->setItem(langId, 1, item1); delete pLexer; ++langId; } } ui.langTableWidget->sortItems(0, Qt::AscendingOrder); } void LangExtSet::slot_itemChanged(QTableWidgetItem* item) { item->setData(ITEM_CHANGED, QVariant(true)); slot_currentItemChanged(item, nullptr); if (!m_isChanged) { m_isChanged = true; } } void LangExtSet::slot_currentItemChanged(QTableWidgetItem* current, QTableWidgetItem* previous) { if (current != nullptr) { int row = current->row(); QTableWidgetItem* tagItem = ui.langTableWidget->item(row, 0); QTableWidgetItem* extItem = ui.langTableWidget->item(row, 1); if (tagItem != nullptr && extItem != nullptr) { ui.plainTextEdit->setPlainText(tr("current lang: %1 \next file suffix is : %2\nDouble-click a column item to modify the syntax association file.").arg(tagItem->text()).arg(extItem->text())); } } } void LangExtSet::slot_save() { if (!m_isChanged) { ui.statusBar->showMessage(tr("Not change, no need save !"), 10000); return; } int rowNums = ui.langTableWidget->rowCount(); QString userLangFile = QString("notepad/tag_ext"); QSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile); qs.setIniCodec("UTF-8"); for (int i = 0; i < rowNums; ++i) { QTableWidgetItem* item = ui.langTableWidget->item(i, 1); if (item != nullptr && item->data(ITEM_CHANGED).toBool()) { QTableWidgetItem* langItem = ui.langTableWidget->item(i, 0); if (langItem != nullptr) { QString langTag = langItem->text(); int lexId = langItem->data(ITEM_LEX_ID).toInt(); QStringList extList = item->text().split(','); for (int i = extList.size() - 1; i >= 0; --i) { if (extList.at(i).isEmpty()) { extList.removeAt(i); } } qs.setValue(langTag, extList); QString langLexerTag = QString("%1_lexId").arg(langTag); qs.setValue(langLexerTag, lexId); //ǸļǸڴ棬ʵʱЧ QStringList oldExtList = item->data(ITEM_LEX_EXT_OLD_VALUE).toStringList(); updataExtLexerManager(langTag, lexId, oldExtList, extList); //ֵΪܲرʱٴ޸ item->setData(ITEM_LEX_EXT_OLD_VALUE, QVariant(extList)); } } } qs.sync(); m_isChanged = false; ui.statusBar->showMessage(tr("Save Finished !"), 10000); } //ExtLexerManagertagֵ void LangExtSet::updataExtLexerManager(QString tag, int lexId, QStringList & oldExtList, QStringList & newExtList) { //Ѿɵֱɾ for (int i = 0; i < oldExtList.size(); ++i) { ExtLexerManager::getInstance()->remove(oldExtList.at(i)); } //µ¼һ for (int i = 0; i < newExtList.size(); ++i) { FileExtLexer v; v.ext = newExtList.at(i); v.id = (LangType)lexId; ExtLexerManager::getInstance()->addNewExtType(v.ext, v.id, tag); } } //ļĹ׺﷨ void LangExtSet::loadExtRelevanceToMagr() { QString userLangFile = QString("notepad/tag_ext");//Զв.ַдҪ QSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile); qs.setIniCodec("UTF-8"); if (!QFile::exists(qs.fileName())) { return; } QStringList keylist = qs.allKeys(); QString langTag; QStringList extList; QString key_id; int lexid = 0; for (int i = 0; i < keylist.size(); ++i) { langTag = keylist.at(i); if (langTag.endsWith("_lexId")) { continue; } key_id = QString("%1_lexId").arg(langTag); extList = qs.value(langTag).toStringList(); lexid = qs.value(key_id).toInt(); for (int j = 0; j < extList.size(); ++j) { FileExtLexer v; v.ext = extList.at(j); v.id = (LangType)lexid; ExtLexerManager::getInstance()->addNewExtType(v.ext, v.id, langTag); } } } void LangExtSet::closeEvent(QCloseEvent* e) { if (m_isChanged) { if (QMessageBox::Yes == QMessageBox::question(this, tr("Save Change"), tr("Configuration has been modified. Do you want to save it?"))) { slot_save(); } } } ================================================ FILE: src/langextset.h ================================================ #pragma once #include #include "ui_langextset.h" class LangExtSet : public QMainWindow { Q_OBJECT public: LangExtSet(QWidget *parent = nullptr); ~LangExtSet(); static void loadExtRelevanceToMagr(); private: void initLangName(); void updataExtLexerManager(QString tag, int lexId, QStringList& oldExtList, QStringList& newExtList); protected: void closeEvent(QCloseEvent* e); private slots: void slot_itemChanged(QTableWidgetItem* item); void slot_currentItemChanged(QTableWidgetItem* current, QTableWidgetItem* previous); void slot_save(); private: Ui::LangExtSetClass ui; bool m_isChanged; }; ================================================ FILE: src/langextset.ui ================================================ LangExtSetClass 0 0 809 504 LangExtSet 3 3 3 3 Language File Suffix 16777215 100 Qt::Horizontal 40 20 Save Close Qt::Horizontal 40 20 TopToolBarArea false pushButton clicked() LangExtSetClass slot_save() 374 466 394 509 pushButton_2 clicked() LangExtSetClass close() 467 467 529 479 slot_save() ================================================ FILE: src/langstyledefine.cpp ================================================ #include "langstyledefine.h" #include "userlexdef.h" #include "extlexermanager.h" #include #include #include #include #include #include QString LangStyleDefine::s_userLangDirPath = ""; LangStyleDefine::LangStyleDefine(QWidget *parent): QMainWindow(parent) { ui.setupUi(this); loadUserLangs(); connect(ui.curDefineLangCb, QOverload::of(&QComboBox::currentIndexChanged), this, &LangStyleDefine::slot_langsChange); } LangStyleDefine::~LangStyleDefine() {} //isLoadToUI是否加载显示到当前UI界面 bool LangStyleDefine::readLangSetFile(QString langName, bool isLoadToUI) { QString userLangFile = QString("notepad/userlang/%1").arg(langName);//自定义语言中不能有.字符,否则可能有错,后续要检查 QSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile); qs.setIniCodec("UTF-8"); qDebug() << qs.fileName(); if (!qs.contains("mz")) { return false; } if (isLoadToUI) { //自定义语言格式。 //mz:ndd //name:xxx //mother:xxx none/cpp/html 就三种 //ext:xx xx xx 文件关联后缀名 //keword:xxx ui.keyWordEdit->setPlainText(qs.value("keyword").toString()); qDebug() << qs.value("keyword").toString(); ui.extNameLe->setText(qs.value("ext").toString()); qDebug() << qs.value("ext").toString(); ui.motherLangCb->setCurrentText(qs.value("mother").toString()); } return true; } //查找既有的用户自定义语言配置 void LangStyleDefine::loadUserLangs() { s_userLangDirPath = getUserLangDirPath(); //遍历文件夹 QDir dir_file(s_userLangDirPath); //dir_file.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);//获取当前所有文件 QFileInfoList list_file = dir_file.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks, QDir::Name); bool isFirst = true; bool readOk = true; for (int i = 0; i < list_file.size(); ++i) { //将当前目录中所有文件添加到treewidget中 QFileInfo fileInfo = list_file.at(i); //这个文件是ext和tag的映射文件,不做配置解析 if (fileInfo.baseName() == "ext_tag") { continue; } if (isFirst) { readOk = readLangSetFile(fileInfo.baseName(), true); if (readOk) { isFirst = false; } } else { readOk = readLangSetFile(fileInfo.baseName(), false); } if (readOk) { ui.curDefineLangCb->addItem(fileInfo.baseName()); } } } void LangStyleDefine::slot_new() { QString name = QInputDialog::getText(this, tr("Create New Languages"), tr("Please Input Languages Name")); if (!name.isEmpty()) { if (-1 != name.indexOf(".")) { QMessageBox::warning(this, tr("Name Error"), tr("Name can not contains char '.' ")); return; } disconnect(ui.curDefineLangCb, QOverload::of(&QComboBox::currentIndexChanged), this, &LangStyleDefine::slot_langsChange); ui.curDefineLangCb->addItem(name); ui.curDefineLangCb->setCurrentIndex(ui.curDefineLangCb->count()-1); ui.extNameLe->clear(); ui.motherLangCb->setCurrentIndex(0); ui.keyWordEdit->clear(); connect(ui.curDefineLangCb, QOverload::of(&QComboBox::currentIndexChanged), this, &LangStyleDefine::slot_langsChange); } } void LangStyleDefine::slot_save() { if (ui.extNameLe->text().trimmed().isEmpty()) { QMessageBox::warning(this, tr("Ext is empty"), tr("input ext file tyle. Split with space char")); return; } if (ui.keyWordEdit->toPlainText().trimmed().isEmpty()) { QMessageBox::warning(this, tr("Keyword is empty"), tr("input Keyword. Split with space char")); return; } QString newLangName = ui.curDefineLangCb->currentText().trimmed(); if (newLangName.isEmpty()) { QMessageBox::warning(this, tr("Language name is empty"), tr("Select Definition Language Text")); return; } QString keywords = ui.keyWordEdit->toPlainText().trimmed(); int motherLangs = ui.motherLangCb->currentIndex(); motherLangs += LangType::L_USER_TXT; UserLexDef *pCppLexer = new UserLexDef(this); pCppLexer->setMotherLang(UserLangMother(motherLangs)); pCppLexer->setExtFileTypes(ui.extNameLe->text().trimmed()); pCppLexer->setKeyword(keywords); pCppLexer->writeUserSettings(newLangName); //把新语言tagName,和关联ext单独存放起来。后面只读取一个文件就能获取所有,避免遍历慢 QString extsFile = QString("notepad/userlang/ext_tag");//ext_tag是存在所有tag ext的文件 QSettings qs(QSettings::IniFormat, QSettings::UserScope, extsFile); qs.setIniCodec("UTF-8"); QStringList extList = ui.extNameLe->text().trimmed().split(" "); extList.append(QString::number(motherLangs)); //最后一个是mother lexer qs.setValue(newLangName, extList); //更新当前ExtLexerManager::getInstance()。如果不更新,就要重启软件才能生效 for (int i = 0, s = extList.size(); i < s; ++i) { ExtLexerManager::getInstance()->addNewExtType(extList.at(i), LangType(motherLangs), newLangName); } ui.statusBar->showMessage(tr("Save %1 language finished !").arg(newLangName), 10000); } void LangStyleDefine::slot_langsChange(int index) { QString name = ui.curDefineLangCb->currentText(); ui.keyWordEdit->clear(); ui.extNameLe->clear(); ui.motherLangCb->setCurrentIndex(0); readLangSetFile(name,true); } //删除当前的语言 void LangStyleDefine::slot_delete() { QString name = ui.curDefineLangCb->currentText(); //删除该语言 if (QMessageBox::Yes != QMessageBox::question(this, tr("Delete Language"), tr("Are you sure delete user define lanuage %1").arg(name))) { return; } { QString userLangFile = QString("notepad/userlang/%1").arg(name);//自定义语言中不能有.字符,否则可能有错,后续要检查 QSettings qs(QSettings::IniFormat, QSettings::UserScope, userLangFile); qs.setIniCodec("UTF-8"); //删除userlang下面的tag.ini QFile::remove(qs.fileName()); } { //把新语言在ext_tag中的关联文件记录也删除 QString extsFile = QString("notepad/userlang/ext_tag");//ext_tag是存在所有tag ext的文件 QSettings qs(QSettings::IniFormat, QSettings::UserScope, extsFile); qs.setIniCodec("UTF-8"); QStringList extList = qs.value(name).toStringList(); //更新当前ExtLexerManager::getInstance()。如果不更新,就要重启软件才能生效 for (int i = 0, s = extList.size(); i < s; ++i) { ExtLexerManager::getInstance()->remove(extList.at(i)); } qs.remove(name); } { //如果存在自定义的配置,也删除掉 QString cfgPath = QString("notepad/%1").arg(name); QSettings qs(QSettings::IniFormat, QSettings::UserScope, cfgPath); if (QFile::exists(qs.fileName())) { QFile::remove(qs.fileName()); } } ui.curDefineLangCb->removeItem(ui.curDefineLangCb->currentIndex()); ui.statusBar->showMessage(tr("Delete %1 language finished !").arg(name), 10000); } ================================================ FILE: src/langstyledefine.h ================================================ #pragma once #include #include "ui_langstyledefine.h" #include "rcglobal.h" class LangStyleDefine : public QMainWindow { Q_OBJECT public: LangStyleDefine(QWidget *parent = nullptr); ~LangStyleDefine(); private : void loadUserLangs(); bool readLangSetFile(QString langName, bool isLoadToUI=false); private slots: void slot_new(); void slot_save(); void slot_langsChange(int index); void slot_delete(); private: Ui::LangStyleDefineClass ui; static QString s_userLangDirPath; }; ================================================ FILE: src/langstyledefine.ui ================================================ LangStyleDefineClass 0 0 843 575 LangStyleDefine 3 6 3 3 300 16777215 Setting 3 3 3 3 3 6 Definition Language Mother Language None Cpp Delete New Create Save Close Expand File Name: 256 js cs (split with space) Qt::Vertical 20 40 Input Key Words 3 3 3 3 3 6 0 0 843 23 TopToolBarArea false newBt clicked() LangStyleDefineClass slot_new() 131 503 318 547 saveBt clicked() LangStyleDefineClass slot_save() 155 532 273 551 saveAsBt clicked() LangStyleDefineClass close() 249 520 429 544 delBt clicked() LangStyleDefineClass slot_delete() 275 491 539 546 slot_new() slot_save() slot_delete() ================================================ FILE: src/linux/usr/share/applications/NotePad--.desktop ================================================ [Desktop Entry] Version=1.0 Name=NotePad-- Name[zh_CN]=NotePad-- Comment=NotePad-- 是一个国产跨平台、简单的文本编辑器。 Type=Application Exec=NotePad-- %F Icon=/usr/share/icons/hicolor/128x128/apps/notepad--.png Categories=Development;Office; Terminal=false MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-patch;text/x-adasrc;text/x-chdr;text/x-csrc;text/css;application/x-desktop;text/x-patch;text/x-fortran;text/html;text/x-java;text/x-tex;text/x-makefile;text/x-objcsrc;text/x-pascal;application/x-perl;application/x-perl;application/x-php;text/vnd.wap.wml;text/x-python;application/x-ruby;text/sgml;application/xml;model/vrml;image/svg+xml;application/json; # Generated from the DesktopGenerater component of the z-Tools toolkit ================================================ FILE: src/linux/usr/share/licenses/notepad--/LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ================================================ FILE: src/linux/usr/share/metainfo/io.gitee.cxasm.notepad--.metainfo.xml ================================================ io.gitee.cxasm.notepad-- Notepad-- Notepad-- MIT GPL-2.0-or-later

notepad--是一个国产跨平台、简单的文本编辑器,是替换notepad++的一种选择。其内置强大的代码对比功能,让你丢掉付费的beyond compare。

io.gitee.cxasm.notepad--.desktop
================================================ FILE: src/macpro/RealCompare.pro ================================================ TEMPLATE = app LANGUAGE = C++ TARGET = Notepad-- CONFIG += qt warn_on Release QT += core gui widgets concurrent network macextras HEADERS += *.h \ cceditor/ccnotepad.h \ cceditor/filemanager.h SOURCES += *.cpp *.cc \ cceditor/ccnotepad.cpp \ cceditor/filemanager.cpp FORMS += *.ui \ cceditor/ccnotepad.ui RESOURCES += RealCompare.qrc INCLUDEPATH += qscint/src INCLUDEPATH += qscint/src/Qsci INCLUDEPATH += qscint/scintilla/include INCLUDEPATH += cceditor DEFINES += QSCINTILLA_DLL TRANSLATIONS += realcompare_zh.ts win32 { if(contains(QMAKE_HOST.arch, x86_64)){ CONFIG(Debug, Debug|Release){ DESTDIR = x64/Debug LIBS += -Lx64/Debug LIBS += -lqmyedit_qt5d }else{ DESTDIR = x64/Release LIBS += -Lx64/Release LIBS += -lqmyedit_qt5 } } } win32{ if(contains(QMAKE_HOST.arch, x86_64)){ if(CONFIG(Debug, Debug|Release)){ LIBS += -Llib64/Debug -llibprotobufd }else{ LIBS += -Llib64/Release -llibprotobuf } }else{ if(CONFIG(Debug, Debug|Release)){ LIBS += -Llib32/Debug -llibprotobufd }else{ LIBS += -Llib32/Release -llibprotobuf } } } unix{ if(CONFIG(Debug, Debug|Release)){ LIBS += -L/Users/yinzuowei/work/CCNotePad/lib -lprotobuf LIBS += -L/Users/yinzuowei/work/CCNotePad/x64/Debug -lqmyedit_qt5_debug }else{ LIBS += -L/Users/yinzuowei/work/CCNotePad/lib -lprotobuf LIBS += -L/Users/yinzuowei/work/CCNotePad/x64/Release -lqmyedit_qt5 DESTDIR = x64/Release #QMAKE_CXXFLAGS += -fopenmp -O2 #LIBS += -lgomp -lpthread } } win32 { INCLUDEPATH += f://protobuf-3.11.4/src } unix { INCLUDEPATH +=/Users/yinzuowei/work/protobuf-3.11.4/output/include } RC_FILE += RealCompare.rc ICON = mac.icns DISTFILES += \ RealCompare.rc ================================================ FILE: src/main.cpp ================================================ #include "ccnotepad.h" #include "nddsetting.h" #include "styleset.h" #include #include #include #include #include #include #include #include #include #ifdef Q_OS_UNIX #include #include #include #include #include #endif #ifdef Q_OS_WIN #pragma comment(lib, "user32.lib") #if _DEBUG #pragma comment(lib, "qmyedit_qt5d.lib") #else #pragma comment(lib, "qmyedit_qt5.lib") #endif #include const ULONG_PTR CUSTOM_TYPE = 10000; const ULONG_PTR OPEN_NOTEPAD_TYPE = 10001; const ULONG_PTR CUSTOM_TYPE_FILE_LINENUM = 10002; bool s_isAdminAuth = false; #endif const QString c_strTitle = "Ndd"; #ifdef Q_OS_UNIX #if defined(Q_OS_MAC) QSharedMemory shared("CCNotebook123");;//mac下面后面带一个版本号,避免新的打不开 #else QSharedMemory shared("CCNotebook"); #endif QSharedMemory nppShared("notepad--"); static void sig_usr(int signo) { if(signo == SIGUSR1) { qlonglong winId; shared.lock(); memcpy(&winId,shared.data(),sizeof(qlonglong)); shared.unlock(); QWidget *pMain = QWidget::find((WId)winId); CCNotePad* pNotePad = dynamic_cast(pMain); if(pNotePad != nullptr) { QString filePath((char*)nppShared.data()+4); if(!filePath.isEmpty()) { pNotePad->openFile(filePath); } pNotePad->activateWindow(); pNotePad->showNormal(); qDebug() << "sig_usr" << filePath; } } } #endif #ifdef Q_OS_MAC static void openfile(QString filePath) { qlonglong winId; shared.lock(); memcpy(&winId,shared.data(),sizeof(qlonglong)); shared.unlock(); QWidget *pMain = QWidget::find((WId)winId); CCNotePad* pNotePad = dynamic_cast(pMain); if(pNotePad != nullptr) { if(!filePath.isEmpty()) { pNotePad->openFile(filePath); } pNotePad->activateWindow(); pNotePad->showNormal(); } } class MyApplication : public QApplication { public: MyApplication(int &argc, char **argv) : QApplication(argc, argv) { } bool event(QEvent *event) { if (event->type() == QEvent::FileOpen) { QFileOpenEvent *openEvent = static_cast(event); qDebug() << "Open file" << openEvent->file(); s_openfile = openEvent->file(); openfile(s_openfile); } return QApplication::event(event); } QString s_openfile; }; #endif int main(int argc, char *argv[]) { //可以防止某些屏幕下的字体拥挤重叠问题。暂时屏蔽,不使用qt方法,使用windows自带方案 // 发现windows自带方案模糊。//发现下面打开后,在win10上反而效果不好,界面会变得很大,默认还是不开启的好。 //QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); //QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); //QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor); #ifdef Q_OS_MAC MyApplication a(argc, argv); #else QApplication a(argc, argv); #endif //不能开启,开启后相对路径打开文件失败 //QDir::setCurrent(QCoreApplication::applicationDirPath()); #if defined(Q_OS_UNIX) QApplication::setStyle(QStyleFactory::create("fusion")); #endif a.setApplicationDisplayName(c_strTitle); a.setApplicationName(c_strTitle); QStringList arguments = QCoreApplication::arguments(); //目前就三种 //1) ndd filepath //2) ndd filepath -n linenum //3) ndd -multi filepath //只有 1 2 需要处理短路径 if ((arguments.size() == 2) || (arguments.size() == 4)) { QFileInfo fi(arguments[1]); if (fi.isRelative()) { QString absDir = QDir::currentPath(); //获取绝对路径 arguments[1] = QString("%1/%2").arg(absDir).arg(arguments.at(1)); } } #ifdef uos QFont font("Noto Sans CJK SC,9,-1,5,50,0,0,0,0,0,Regular", 9); QApplication::setFont(font); #endif #ifdef Q_OS_MAC //这里的字体大小,务必要和查找结果框的高度匹配,否则会结构字体拥挤 QFont font("Courier New,11,-1,5,50,0,0,0,0,0,Regular", 11); // qDebug() << "font name mac"; QApplication::setFont(font); // qDebug() << QApplication::font().toString(); #endif bool isGotoLine = false; #ifdef Q_OS_WIN QSharedMemory shared("ccnotepad"); if (arguments.size() > 2) { //如果是多开请求,这种是从管理员权限申请后重开过来的 if (arguments[1] == QString("-muti")) { s_isAdminAuth = true; QString title = QString(u8"%1 管理员").arg(c_strTitle); a.setApplicationDisplayName(title); //删除-muti这个参数 arguments.removeAt(1); //管理员不占用共享标志。这样的目的是,当管理员窗口存在时 //打开原来的文件,原来的文件可以占用共享标志,作为主窗口打开。 //管理员窗口永远不做主窗口打开 goto authAdmin; } else if ((arguments.size() == 4) && arguments[2] == QString("-n")) { //使用的是 file -n lineNums 方式。目前只有windows下支持 xxxfile -n linenum的格式 isGotoLine = true; } } #else if ((arguments.size() == 4) && (arguments[2] == QString("-n"))) { //使用的是 file -n lineNums 方式。目前只有windows下支持 xxxfile -n linenum的格式 isGotoLine = true; } #endif //attach成功表示已经存在该内存了,表示当前存在实例 if (shared.attach())//共享内存被占用则直接返回 { //发现在文件中如果存在空格时,参数不止1个,所以不能单纯用2个参数表示 if (arguments.size() > 1) { #if defined(Q_OS_WIN) int tryTimes = 0; do { qlonglong hwndId; shared.lock(); memcpy(&hwndId, shared.data(), sizeof(qlonglong)); shared.unlock(); HWND hwnd = (HWND)hwndId; if (::IsWindow(hwnd)) { if (!isGotoLine) { //就是ndd filepath的命令行格式 //去掉第一个参数,后续的参数拼接起来。其实参数中间有空格还是需要使用""引用起来,避免空格参数分隔为多个 arguments.takeFirst(); QString filename = arguments.join(""); QByteArray data = filename.toUtf8(); COPYDATASTRUCT copydata; copydata.dwData = CUSTOM_TYPE; //自定义类型 copydata.lpData = data.data(); //数据大小 copydata.cbData = data.size(); // 指向数据的指针 ::SendMessage(hwnd, WM_COPYDATA, reinterpret_cast(nullptr), reinterpret_cast(©data)); } else { //是 filepath -n linenums 方式。不考虑filepath含有空格的情况,因为前面做了严格判断 QString para = QString("%1|%2").arg(arguments[1]).arg(arguments[3]); QByteArray data = para.toUtf8(); COPYDATASTRUCT copydata; copydata.dwData = CUSTOM_TYPE_FILE_LINENUM; //自定义类型 copydata.lpData = data.data(); //数据大小 copydata.cbData = data.size(); // 指向数据的指针 ::SendMessage(hwnd, WM_COPYDATA, reinterpret_cast(nullptr), reinterpret_cast(©data)); } break; } else { //20230304 右键多个文件同时打开,比如3个。此时只有第1个可获取锁,其余2个均走这里。 //因为第个还没有来的及写入hwnd。此时不要goto drop_old。等一下再重试 QThread::sleep(1); ++tryTimes; //2次识别后,没法了,只能通过继续往下走。 //失败了,此时说明前一个窗口极可能状态错误了。如果不处理,则再也打不开程序了 if (tryTimes > 2) { goto drop_old; } } } while (true); #elif defined (Q_OS_MAC) { //mac下面不需要,有他自身的机制保证 } #else pid_t pid; arguments.takeFirst(); QString filename = arguments.join(""); QByteArray data = filename.toUtf8(); nppShared.attach(); nppShared.lock(); memcpy(&pid, nppShared.data(), sizeof(pid_t)); memset((char*)nppShared.data()+sizeof(pid_t),0, 1024-sizeof(pid_t)); memcpy((char*)nppShared.data()+sizeof(pid_t),data.data(),data.size()); nppShared.unlock(); //if kill failed, then open a new process if(0 != kill(pid,SIGUSR1)) { goto unix_goon; } #endif } else if (arguments.size() == 1) { #if defined(Q_OS_WIN) //把窗口设置到最前 qlonglong hwndId; shared.lock(); memcpy(&hwndId, shared.data(), sizeof(qlonglong)); shared.unlock(); HWND hwnd = (HWND)hwndId; if (::IsWindow(hwnd)) { QString filename("open"); QByteArray data = filename.toUtf8(); COPYDATASTRUCT copydata; copydata.dwData = OPEN_NOTEPAD_TYPE; //自定义类型 copydata.lpData = data.data(); //数据大小 copydata.cbData = data.size(); // 指向数据的指针 ::SendMessage(hwnd, WM_COPYDATA, reinterpret_cast(nullptr), reinterpret_cast(©data)); } else { //失败了,此时说明前一个窗口极可能状态错误了。如果不处理,则再也打不开程序了 //继续新开一个窗口,放弃之前的旧内容 goto drop_old; } #elif defined (Q_OS_MAC) { //mac下面不需要,有他自身的机制保证 } #else pid_t pid; nppShared.attach(); nppShared.lock(); memcpy(&pid, nppShared.data(), sizeof(pid_t)); memset((char*)nppShared.data()+sizeof(pid_t),0, 1024-sizeof(pid_t)); nppShared.unlock(); qDebug()<<"empty file send"; if(0 != kill(pid,SIGUSR1)) { goto unix_goon; } #endif } return 0; } #if defined(Q_OS_WIN) shared.create(32); #elif defined (Q_OS_MAC) { //mac下面不需要,有他自身的机制保证。当程序已经在线时,再打开程序,系统会自动调用已经存在的程序出现 //不需要使用类似linux下面的机制。 shared.create(32); nppShared.create(32); } #else unix_goon: shared.create(32); nppShared.create(2048); if(signal(SIGUSR1,sig_usr) == SIG_ERR) { qDebug()<<"linux create sign failed"; } #endif #if defined(Q_OS_WIN) authAdmin: drop_old: #endif //20221009发现有小概率出现窗口没有,但是进程还在的诡异问题,加个保护一下 QApplication::setQuitOnLastWindowClosed(true); NddSetting::init(); int id = NddSetting::getKeyValueFromNumSets(SKIN_KEY); StyleSet::setSkin(id); CCNotePad *pMainNotepad = new CCNotePad(true); pMainNotepad->setAttribute(Qt::WA_DeleteOnClose); pMainNotepad->setShareMem(&shared); pMainNotepad->quickshow(); pMainNotepad->syncCurSkinToMenu(id); #ifdef Q_OS_WIN //HWND hwnd = ::FindWindowA("Qt5QWindowIcon", "CCNotebook"); //发现hwnd就是和effectiveWinId相等的,不需要查询了 //管理员可以多开,暂时不把管理员的权限作为主窗口,因为其他用户没有权限右键菜单发送消息给管理员窗口去打开文件 if (!s_isAdminAuth) { qlonglong winId = (qlonglong)pMainNotepad->effectiveWinId(); shared.lock(); memcpy(shared.data(), &winId, sizeof(qlonglong)); shared.unlock(); } #else qlonglong winId = (qlonglong)pMainNotepad->effectiveWinId(); shared.lock(); memcpy(shared.data(), &winId, sizeof(qlonglong)); shared.unlock(); nppShared.attach(); //get proceess id to share memory pid_t pid = getpid(); nppShared.lock(); memcpy(nppShared.data(), &pid, sizeof(pid_t)); nppShared.unlock(); #endif // Q_OS_WIN //恢复上次关闭时的文件 #ifdef Q_OS_WIN if (!s_isAdminAuth) { if (0 == pMainNotepad->restoreLastFiles() && (arguments.size() == 1)) { pMainNotepad->initTabNewOne(); } } #else if (0 == pMainNotepad->restoreLastFiles()) { pMainNotepad->initTabNewOne(); } #endif if (arguments.size() == 2) { #ifdef Q_OS_WIN if (!s_isAdminAuth) { pMainNotepad->openFile(arguments[1]); } else { //如果是管理员,还不能直接打开文件,需要恢复之前文件的修改内容 //恢复不了,再直接打开 pMainNotepad->tryRestoreFile(arguments[1]); } #else pMainNotepad->openFile(arguments[1]); #endif } else if (isGotoLine) { //是filepath -n xxx 格式。 bool ok = true; int lineNum = arguments[3].toInt(&ok); if (!ok) { lineNum = -1; } pMainNotepad->openFile(arguments[1], lineNum); } #ifdef Q_OS_WIN pMainNotepad->checkAppFont(); #endif a.exec(); NddSetting::close(); return 0; } ================================================ FILE: src/markdownview.cpp ================================================ #include "markdownview.h" MarkdownView::MarkdownView(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); } MarkdownView::~MarkdownView() { } void MarkdownView::viewMarkdown(QString& text) { ui.textEdit->setMarkdown(text); } ================================================ FILE: src/markdownview.h ================================================ #pragma once #include #include "ui_markdownview.h" class MarkdownView : public QMainWindow { Q_OBJECT public: MarkdownView(QWidget *parent = nullptr); ~MarkdownView(); void viewMarkdown(QString& text); private: Ui::MarkdownViewClass ui; }; ================================================ FILE: src/markdownview.ui ================================================ MarkdownViewClass 0 0 1134 712 MarkdownView 3 3 3 3 3 true 0 0 1134 23 TopToolBarArea false ================================================ FILE: src/md5hash.cpp ================================================ #include "md5hash.h" #include "ccnotepad.h" #include "ctipwin.h" #include #include #include #include Md5hash::Md5hash(QWidget *parent) : QWidget(parent), m_isFile(false) { ui.setupUi(this); m_btGroup.addButton(ui.md4RadioBt, 0); m_btGroup.addButton(ui.md5RadioBt, 1); m_btGroup.addButton(ui.sha1RadioBt, 2); m_btGroup.addButton(ui.sha256RadioBt, 4); m_btGroup.addButton(ui.sha3RadioBt, 12); m_btGroup.addButton(ui.kec256RadioBt, 8); #if (QT_VERSION <= QT_VERSION_CHECK(5,15,0)) connect(&m_btGroup, QOverload::of(&QButtonGroup::buttonClicked), this, &Md5hash::on_methodIdChange); #else connect(&m_btGroup, &QButtonGroup::idClicked, this, &Md5hash::on_methodIdChange); #endif connect(ui.srcTextEdit,&QPlainTextEdit::textChanged,this,&Md5hash::on_hash); } Md5hash::~Md5hash() {} void Md5hash::slot_select() { QFileDialog fd(this, QString(), CCNotePad::s_lastOpenDirPath); fd.setFileMode(QFileDialog::ExistingFile); m_fileList.clear(); if (fd.exec() == QDialog::Accepted) //ɹִ { m_fileList = fd.selectedFiles(); //ļб if (!m_fileList.isEmpty()) { m_isFile = true; ui.srcTextEdit->setPlainText(m_fileList.join("\n")); } } else { fd.close(); } } void Md5hash::on_methodIdChange(int id) { on_hash(); } void Md5hash::on_hash() { QCryptographicHash::Algorithm method = QCryptographicHash::Md5; if (ui.md5RadioBt->isChecked()) { method = QCryptographicHash::Md5; } else if (ui.md4RadioBt->isChecked()) { method = QCryptographicHash::Md4; } else if (ui.sha1RadioBt->isChecked()) { method = QCryptographicHash::Sha1; } else if (ui.sha256RadioBt->isChecked()) { method = QCryptographicHash::Sha256; } else if (ui.sha3RadioBt->isChecked()) { method = QCryptographicHash::Sha3_256; } else if (ui.kec256RadioBt->isChecked()) { method = QCryptographicHash::Keccak_256; } //ı if (!m_isFile) { QString text = ui.srcTextEdit->toPlainText(); QByteArray data = text.toUtf8(); if (!text.isEmpty()) { QByteArray result = QCryptographicHash::hash(data, method); ui.hashTextEdit->setPlainText(result.toHex()); } } else { QCryptographicHash fileHash(method); QByteArray rs; QList result; for (int i = 0; i < m_fileList.size(); ++i) { rs.clear(); QFile file(m_fileList.at(i)); if (file.open(QIODevice::ReadOnly)) { if (fileHash.addData(&file)) { rs = fileHash.result(); result.append(rs.toHex()); } else { result.append("Error Null"); } file.close(); } else { result.append("Error Null"); } } for (int i = 0; i < result.size(); ++i) { QString info = QString("File %1 cyp hash is \n%2").arg(m_fileList.at(i)).arg(QString(result.at(i))); ui.hashTextEdit->appendPlainText(info); } m_isFile = false; } } void Md5hash::on_copyClipboard() { if (!ui.hashTextEdit->toPlainText().isEmpty()) { QClipboard* clipboard = QApplication::clipboard(); clipboard->setText(ui.hashTextEdit->toPlainText()); CTipWin::showTips(this, tr("Copy to clipboard Finished!"), 1200); } } ================================================ FILE: src/md5hash.h ================================================ #pragma once #include #include #include "ui_md5hash.h" class Md5hash : public QWidget { Q_OBJECT public: Md5hash(QWidget *parent = nullptr); ~Md5hash(); private slots: void slot_select(); void on_hash(); void on_methodIdChange(int id); void on_copyClipboard(); private: Ui::Md5hashClass ui; QButtonGroup m_btGroup; QStringList m_fileList; bool m_isFile; }; ================================================ FILE: src/md5hash.ui ================================================ Md5hashClass 0 0 560 436 Md5hash 3 3 Copy Text Or Select File select Algorithm Md4 Sha1 Sha3_256 Md5 true Sha256 Keccak_256 0 0 16777215 80 Qt::Horizontal 40 20 Copy to Clipboard Close toolButton clicked() Md5hashClass slot_select() 534 19 552 239 cancelBt clicked() Md5hashClass close() 503 412 338 430 pushButton clicked() Md5hashClass on_copyClipboard() 393 415 539 430 slot_select() on_copyClipboard() ================================================ FILE: src/mystyle.qss ================================================ /*设置垂直滚动条基本样式*/ QScrollBar:vertical { width: 10px; background: rgba(0,0,0,0%); margin: 0px,0px,0px,0px; /*留出9px给上面和下面的箭头*/ padding-top: 9px; padding-bottom: 9px; } QScrollBar::handle:vertical { width: 10px; background: rgba(0,0,0,25%); /*滚动条两端变成椭圆 */ border-radius: 4px; min-height: 20; } QScrollBar::handle:vertical:hover { width: 10px; /*鼠标放到滚动条上的时候,颜色变深*/ background: rgba(0,0,0,50%); border-radius: 4px; min-height: 20; } /*这个应该是设置下箭头的,3.png就是箭头*/ QScrollBar::add-line:vertical { height: 9px; width: 10px; border-image: url(:/Resources/img/3.png); subcontrol-position: bottom; } /*设置上箭头 */ QScrollBar::sub-line:vertical { height: 9px; width: 10px; border-image: url(:/Resources/img/1.png); subcontrol-position: top; } /*当鼠标放到下箭头上的时候 */ QScrollBar::add-line:vertical:hover { height: 9px; width: 10px; border-image: url(:/Resources/img/4.png); subcontrol-position: bottom; } /*当鼠标放到下箭头上的时候*/ QScrollBar::sub-line:vertical:hover { height: 9px; width: 10px; border-image: url(:/Resources/img/2.png); subcontrol-position: top; } /*当滚动条滚动的时候,上面的部分和下面的部分*/ QScrollBar::sub-page:vertical { background: rgba(0,0,0,10%); border-radius: 4px; } QScrollBar::add-page:vertical { background: rgba(0,0,0,10%); border-radius: 4px; } /*设置水平滚动条基本样式*/ QScrollBar:horizontal { height: 10px; background: rgba(0,0,0,0%); margin: 0px,0px,0px,0px; /*留出9px给上面和下面的箭头*/ padding-left: 9px; padding-right: 9px; } QScrollBar::handle:horizontal { height: 10px; background: rgba(0,0,0,25%); /*滚动条两端变成椭圆 */ border-radius: 4px; min-height: 20; } QScrollBar::handle:horizontal:hover { height: 10px; /*鼠标放到滚动条上的时候,颜色变深*/ background: rgba(0,0,0,50%); border-radius: 4px; min-height: 20; } /*这个应该是设置下箭头的,3.png就是箭头*/ QScrollBar::add-line:horizontal { height: 10px; width: 10px; border-image: url(:/Resources/img/5.png); subcontrol-position: right; } /*设置上箭头 */ QScrollBar::sub-line:horizontal { height: 10px; width: 10px; border-image: url(:/Resources/img/6.png); subcontrol-position: left; } QMainWindow::separator { height:1px; margin: 0px; padding: 0px; background:#FF0000; } QDockWidget{ border:0px solid red; } QDockWidget::title { background:#f0f0f0; padding-top:0px; } ================================================ FILE: src/mytreeview.cpp ================================================ #include "mytreeview.h" MyTreeView::MyTreeView(QWidget *parent) : QTreeView(parent) {} MyTreeView::~MyTreeView() {} void MyTreeView::getSelectedIndexes(QModelIndexList & selectList) { selectList = this->selectedIndexes(); } ================================================ FILE: src/mytreeview.h ================================================ #pragma once #include #include class MyTreeView : public QTreeView { public: MyTreeView(QWidget *parent); ~MyTreeView(); void getSelectedIndexes(QModelIndexList& selectList); }; ================================================ FILE: src/nddpluginapi.cpp ================================================ #include "nddpluginapi.h" #include "ccnotepad.h" NddPluginApi::NddPluginApi(QObject *parent) : QObject(parent) {} NddPluginApi::~NddPluginApi() {} void NddPluginApi::setMainNotePad(QWidget * pWidget) { m_mainNotePad = pWidget; } //עʵʷصScintillaEditView QsciScintilla* NddPluginApi::getCurrentEidtHandle() { CCNotePad* pNotepad = dynamic_cast(m_mainNotePad); if (pNotepad != nullptr) { return pNotepad->getCurEditView(); } return nullptr; } ================================================ FILE: src/nddpluginapi.h ================================================ #pragma once #include #include #include //๩еãҪ֤ABIԡ //ζţɾеĺͳԱ;ᵼ²޷ݡ //ʹó麯֮κ麯 //һӦһöͻ class QsciScintilla; class NddPluginApi : public QObject { Q_OBJECT public: NddPluginApi(QObject *parent); ~NddPluginApi(); //ȡǰ༭ĶһҪÿζ̬ȡҲ⣬һQsciScintilla޸ģDzABIݡ //ҪĶIJ֡ void setMainNotePad(QWidget* pWidget); //ǰ༭󣬾ͿԶ̬ˡǰQsciScintilla಻޸ġ QsciScintilla* getCurrentEidtHandle(); //ijԱҪرСģһ˳Ͳ޸ġֻӡɾ public: //ʹö̬вĴݡʹpublicݳԱ QMap m_parameter; QWidget* m_mainNotePad; }; ================================================ FILE: src/nddsetting.cpp ================================================ #include "nddsetting.h" #include #include #include #include #include #include #include static short version_num = 29; //1.22.0 是29 //配置文件是否存在。如果初始化失败,则不存在 bool NddSetting::s_isExistDb = false; int NddSetting::s_reference = 0; bool NddSetting::s_isContentChanged = false; QSettings* NddSetting::s_nddSet = nullptr; QSettings* NddSetting::s_nddDelaySet = nullptr; //如果key不存在,则新增key-value。存在:返回true bool NddSetting::checkNoExistAdd(QString key, QVariant& value) { //每次新加字段后,这里要检查一下,不存在则新增 if (!s_nddSet->contains(key)) { s_nddSet->setValue(key, value); if (!s_isContentChanged) { s_isContentChanged = true; } return false; } return true; } //20220402这里隐含了一个前置条件:数据库句柄是在主线程创建的,最好不要在子线程中调用。 //避免因为跨线程访问和多线程冲突访问引发的闪退问题。所以最好配置文件的读写都在主线程中进行 void NddSetting::init() { ++s_reference; //如果已经初始化过了,则直接返回 if (s_isExistDb) { return; } QString settingDir = QString("notepad/nddsets"); QSettings qs(QSettings::IniFormat, QSettings::UserScope, settingDir); QString qsSetPath = qs.fileName(); s_nddSet = new QSettings(QSettings::IniFormat, QSettings::UserScope, settingDir); s_nddSet->setIniCodec("UTF-8"); bool initOk = true; auto initNddSet = []() { QString key = "signdate"; //QString date = QDate::currentDate().toString(QString("yyyy/M/d")); //不写今天的时间,否则第一次运行,无条件不会发送心跳。 //直接写一个过去的时间,让第一次运行,总是要签到 addKeyValueToSets(key, "2022/2/20"); QString str; //tab的长度,默认为4 addKeyValueToNumSets("tablens", 4); //space replace tab空格替换tab,默认0, 1为true,0为false addKeyValueToNumSets("tabnouse", 0); addKeyValueToSets("mac", "0"); addKeyValueToNumSets("padtimes", 0); addKeyValueToNumSets("serverip", 0); //是否高亮不同处背景 addKeyValueToNumSets("hexhigh", 1); addKeyValueToNumSets(VERSION, version_num); //皮肤id addKeyValueToNumSets(SKIN_KEY, 0); //语言index 0:自动选择 1:中文 2 英文 addKeyValueToNumSets(LANGS_KEY, 0); //开启自动换行 addKeyValueToNumSets(AUTOWARP_KEY, 0); //开启自动缩进 addKeyValueToNumSets(INDENT_KEY, 0); //显示空白。0都不显示 1 单显示空格 2 单显示行尾 3 都显示 addKeyValueToNumSets(SHOWSPACE_KEY, 0); //最大文本文件的门限。默认100M.(50-600) addKeyValueToNumSets(MAX_BIG_TEXT, 100); addKeyValueToSets(SOFT_KEY, "0"); addKeyValueToNumSets(RESTORE_CLOSE_FILE, 1); //0 24 1 36 2 48 addKeyValueToNumSets(ICON_SIZE, 1); addKeyValueToNumSets(ZOOMVALUE, 100); addKeyValueToNumSets(FINDRESULTPOS, Qt::BottomDockWidgetArea); addKeyValueToNumSets(FILELISTPOS, Qt::LeftDockWidgetArea); //默认0不显示 addKeyValueToNumSets(FILELISTSHOW, 0); //默认显示工具栏 addKeyValueToNumSets(TOOLBARSHOW, 1); //打开网页,默认不勾选,资源耗费多 addKeyValueToNumSets(SHOWWEBADDR, 0); //查找结果框的默认字体大小 addKeyValueToNumSets(FIND_RESULT_FONT_SIZE, 14); }; if (!s_nddSet->contains(VERSION)) { //不存在走初始化流程 initNddSet(); s_isContentChanged = true; } else { do { { QVariant v(VERSION); if (checkNoExistAdd(VERSION, v)) { //如果存在,而且版本是最新,不需要走后面自动检查流程了 int curVersion = s_nddSet->value(VERSION).toInt(); if (curVersion == version_num) { break; } else if (curVersion < version_num) { //更新版本到最新 updataKeyValueFromNumSets(VERSION, version_num); } } } //每次新加字段后,这里要检查一下,不存在则新增 { QVariant v(1); checkNoExistAdd(SKIN_KEY, v); } { QVariant langs(0); checkNoExistAdd(LANGS_KEY, langs); } { QVariant v(0); checkNoExistAdd(AUTOWARP_KEY, v); } { QVariant v(0); checkNoExistAdd(INDENT_KEY, v); } { QVariant v(0); checkNoExistAdd(SHOWSPACE_KEY, v); } { QVariant v(100); checkNoExistAdd(MAX_BIG_TEXT, v); } { QVariant v(0); checkNoExistAdd(SOFT_STATUS, v); } { QVariant v("0"); checkNoExistAdd(SOFT_KEY, v); } { QVariant v(1); checkNoExistAdd(RESTORE_CLOSE_FILE, v); } { QVariant v(1); checkNoExistAdd(ICON_SIZE, v); } { QVariant v(100); checkNoExistAdd(ZOOMVALUE, v); } { QVariant v(Qt::BottomDockWidgetArea); checkNoExistAdd(FINDRESULTPOS, v); } { QVariant v(Qt::LeftDockWidgetArea); checkNoExistAdd(FILELISTPOS, v); } { QVariant v(0); checkNoExistAdd(FILELISTSHOW, v); } { QVariant v(1); checkNoExistAdd(TOOLBARSHOW, v); } { QVariant v(0); checkNoExistAdd(SHOWWEBADDR, v); } { QVariant v(14); checkNoExistAdd(FIND_RESULT_FONT_SIZE, v); } { QVariant v(0); checkNoExistAdd(LAST_ACTION_TAB_INDEX, v); } } while (false); } s_isExistDb = initOk; } //写一个总的获取配置的接口,避免以后每个字段都需要写一个读写接口 QString NddSetting::getKeyValueFromSets(QString key) { return s_nddSet->value(key,"").toString(); } bool NddSetting::updataKeyValueFromSets(QString key, QString value) { s_nddSet->setValue(key,value); s_isContentChanged = true; return true; } //写一个总的获取配置的接口,避免以后每个字段都需要写一个读写接口 QByteArray NddSetting::getKeyByteArrayValue(QString key) { return s_nddSet->value(key, "").toByteArray(); } void NddSetting::updataKeyByteArrayValue(QString key, QByteArray& value) { s_nddSet->setValue(key, QVariant(value)); s_isContentChanged = true; } //第一次加一条记录,用于初始化 void NddSetting::addKeyValueToSets(QString key, QString value) { s_nddSet->setValue(key, QVariant(value)); } //写一个总的获取配置的接口,避免以后每个字段都需要写一个读写接口.0做默认值,外部最好不用0做初始化值 int NddSetting::getKeyValueFromNumSets(const QString key) { QVariant v = s_nddSet->value(key, QVariant(0)); return v.toInt(); } bool NddSetting::updataKeyValueFromNumSets(const QString key, int value) { s_nddSet->setValue(key, QVariant(value)); return true; } //第一次加一条记录,用于初始化 void NddSetting::addKeyValueToNumSets(QString key, int value) { s_nddSet->setValue(key, QVariant(value)); } void NddSetting::close() { if (s_reference > 0) { --s_reference; if (s_reference == 0) { s_isExistDb = false; //做一次真正的保存 if (s_isContentChanged) { s_nddSet->sync(); delete s_nddSet; s_nddSet = nullptr; s_isContentChanged = false; } //在这里保存一下子窗口的位置。不排除有可能子窗口还在,主窗口已经退出的情况,不过问题不大。 if (s_nddDelaySet != nullptr) { s_nddDelaySet->sync(); s_nddDelaySet = nullptr; } } } } //子窗口的位置,单独放在一个winpos.ini文件中,而且启动程序时,不需要读取,可避免启动时拖慢速度 QByteArray NddSetting::getWinPos(QString key) { nddDelaySetInit(); return s_nddDelaySet->value(key, "").toByteArray(); } void NddSetting::updataWinPos(QString key, QByteArray& value) { nddDelaySetInit(); s_nddDelaySet->setValue(key, QVariant(value)); } void NddSetting::nddDelaySetInit() { if (s_nddDelaySet == nullptr) { QString settingDir = QString("notepad/delayset"); QSettings qs(QSettings::IniFormat, QSettings::UserScope, settingDir); QString qsSetPath = qs.fileName(); s_nddDelaySet = new QSettings(QSettings::IniFormat, QSettings::UserScope, settingDir); s_nddDelaySet->setIniCodec("UTF-8"); } } //写一个总的获取配置的接口,避免以后每个字段都需要写一个读写接口 QString NddSetting::getKeyValueFromDelaySets(QString key) { nddDelaySetInit(); return s_nddDelaySet->value(key, "").toString(); } bool NddSetting::updataKeyValueFromDelaySets(QString key, QString value) { nddDelaySetInit(); s_nddDelaySet->setValue(key, value); s_isContentChanged = true; return true; } //写一个总的获取配置的接口,避免以后每个字段都需要写一个读写接口 int NddSetting::getKeyValueFromDelayNumSets(QString key) { nddDelaySetInit(); return s_nddDelaySet->value(key, "").toInt(); } bool NddSetting::updataKeyValueFromDelayNumSets(QString key, int value) { nddDelaySetInit(); s_nddDelaySet->setValue(key, value); s_isContentChanged = true; return true; } ================================================ FILE: src/nddsetting.h ================================================ #pragma once #include #include static QString SKIN_KEY = "skinid"; static QString LANGS_KEY = "langs"; static QString AUTOWARP_KEY = "warp"; static QString INDENT_KEY = "indent"; static QString SHOWSPACE_KEY = "blank"; static QString MAX_BIG_TEXT = "maxtsize"; static QString SOFT_STATUS = "rstatus"; static QString SOFT_KEY = "rkey"; static QString RESTORE_CLOSE_FILE = "restore"; //恢复关闭时打开的文件 static QString PRO_DIR = "prodir";//放置配置文件的路径 //static QString RESTORE_SIZE = "rsize";//保存关闭时的大小 static QString WIN_POS = "pos";//保存关闭是的大小 static QString ICON_SIZE = "iconsize";//图标大小 static QString ZOOMVALUE = "zoom"; //放大倍数 static QString VERSION = "version";//当前版本 static QString FINDRESULTPOS = "findpos";//查找窗口悬浮的位置 static QString FILELISTPOS = "filepos";//文件列表悬浮框的位置 static QString FILELISTSHOW = "showfilelist"; //文件列表框是否显示 static QString TOOLBARSHOW = "showbar"; //是否显示工具栏 static QString FINDWINSIZE = "findwinsize";//保存查找框的大小。150%放大时界面永久。保留避免每次手动调整 static QString SHOWWEBADDR = "showweb";//高亮web地址,双击网页打开 static QString FIND_RESULT_FONT_SIZE = "frfs";//查找结果的默认字体大小,默认为14 static QString LAST_ACTION_TAB_INDEX = "lati";//上次关闭时,当前激活的tab标签页序号 static QString RECENT_OPEN_FILE = "recentopenfile"; static QString LAST_OPEN_DIR = "lastdir"; static QString CLEAR_OPENFILE_ON_CLOSE = "clearopenfile"; //关闭时清空历史文件 //下面这个是winpos.ini中的key,避免单个文件太大,拖慢启动速度 static QString BATCH_FIND_REPLACE_POS = "bfpos";//批量查找替换窗口的大小 class NddSetting { public: static bool checkNoExistAdd(QString key, QVariant & value); static void init(); static QString getKeyValueFromSets(QString key); static bool updataKeyValueFromSets(QString key, QString value); static QByteArray getKeyByteArrayValue(QString key); static void updataKeyByteArrayValue(QString key, QByteArray & value); static void addKeyValueToSets(QString key, QString value); static int getKeyValueFromNumSets(const QString key); static bool updataKeyValueFromNumSets(const QString key, int value); static void addKeyValueToNumSets(QString key, int value); static void close(); static QByteArray getWinPos(QString key); static void updataWinPos(QString key, QByteArray& value); static QString getKeyValueFromDelaySets(QString key); static bool updataKeyValueFromDelaySets(QString key, QString value); static int getKeyValueFromDelayNumSets(QString key); static bool updataKeyValueFromDelayNumSets(QString key, int value); static bool isDbExist() { return s_isExistDb; } private: static void nddDelaySetInit(); private: static bool s_isExistDb; static bool s_isContentChanged; static int s_reference; static QSettings* s_nddSet; //基本和s_nddSet一样,不过在启动的时候,不需要读取该文件。加快启动速度 //启动完毕后,其他操作触发加载该文件 static QSettings* s_nddDelaySet; }; ================================================ FILE: src/ndstyleditemdelegate.cpp ================================================ #include "ndstyleditemdelegate.h" #include #include #include #include #include NdStyledItemDelegate::NdStyledItemDelegate(QObject *parent) : QStyledItemDelegate(parent), m_defaultFontSize(14) { } NdStyledItemDelegate::~NdStyledItemDelegate() { } void NdStyledItemDelegate::setFontSize(int size) { m_defaultFontSize = size; } //ʹָ֧ıʽ void NdStyledItemDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const { QStyleOptionViewItem viewOption(option); initStyleOption(&viewOption, index); if (option.state.testFlag(QStyle::State_HasFocus)) viewOption.state = viewOption.state ^ QStyle::State_HasFocus; // ... ʡ // ʾıΪգʹĬʽ QStyle *pStyle = viewOption.widget ? viewOption.widget->style() : QApplication::style(); QTextDocument doc; //ⲿ޸Сڲиı޸Ļơ if (m_defaultFontSize != 14) { viewOption.text.replace("font-size:14px",QString("font-size:%1px").arg(m_defaultFontSize)); } doc.setHtml(viewOption.text); viewOption.text.clear(); pStyle->drawControl(QStyle::CE_ItemViewItem, &viewOption, painter, viewOption.widget); QAbstractTextDocumentLayout::PaintContext paintContext; QRect textRect = pStyle->subElementRect(QStyle::SE_ItemViewItemText, &viewOption); painter->save(); // 任ϽΪԭ painter->translate(textRect.topLeft()); // HTML painter->setClipRect(textRect.translated(-textRect.topLeft())); doc.documentLayout()->draw(painter, paintContext); painter->restore(); } ================================================ FILE: src/ndstyleditemdelegate.h ================================================ #pragma once #include class NdStyledItemDelegate : public QStyledItemDelegate { Q_OBJECT public: NdStyledItemDelegate(QObject *parent); virtual ~NdStyledItemDelegate(); void setFontSize(int size); protected: void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; private: int m_defaultFontSize; }; ================================================ FILE: src/optionsview.cpp ================================================ #include "optionsview.h" #include "doctypelistview.h" #include "texteditsetwin.h" #include "ccnotepad.h" OptionsView::OptionsView(QWidget* pNotepadWin, QWidget *parent) : QWidget(parent), m_pNotepadWin(pNotepadWin) { ui.setupUi(this); //只在文件对比中出现;在编辑框模式下不出现,这个关联文件容易误解。 if (pNotepadWin == nullptr) { DocTypeListView* p = new DocTypeListView(this); ui.stackedWidget->addWidget(p); //文件关联 file correlation ui.optionListWidget->addItem(tr("File Correlation")); } ui.optionListWidget->addItem(tr("Compare File Types")); TextEditSetWin* p2 = new TextEditSetWin(this); p2->setNotePadWin(pNotepadWin); ui.stackedWidget->addWidget(p2); ui.optionListWidget->addItem(tr("Text And Fonts")); connect(ui.optionListWidget, &QListWidget::currentRowChanged, this, &OptionsView::slot_curRowChanged); connect(p2, &TextEditSetWin::sendTabFormatChange, this, &OptionsView::sendTabFormatChange); connect(p2, &TextEditSetWin::signProLangFontChange, this, &OptionsView::signProLangFontChange); } OptionsView::~OptionsView() { } void OptionsView::slot_curRowChanged(int row) { if (row < ui.stackedWidget->count()) { ui.stackedWidget->setCurrentIndex(row); } } void OptionsView::slot_ok() { close(); } ================================================ FILE: src/optionsview.h ================================================ #pragma once #include #include "ui_optionsview.h" class OptionsView : public QWidget { Q_OBJECT public: OptionsView(QWidget* pNotepadWin, QWidget *parent = Q_NULLPTR); ~OptionsView(); signals: void sendTabFormatChange(bool, bool); //void signTxtFontChange(QFont& font); void signProLangFontChange(QFont& font); private slots: void slot_curRowChanged(int row); void slot_ok(); private: Ui::OptionsView ui; QWidget* m_pNotepadWin; }; ================================================ FILE: src/optionsview.ui ================================================ OptionsView 0 0 761 483 OptionsView :/Resources/img/main.png:/Resources/img/main.png Options 2 2 2 2 2 0 0 160 16777215 Ok -1 okBt clicked() OptionsView slot_ok() 80 451 144 477 slot_ok() ================================================ FILE: src/plugin/helloworld/CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.16) project(helloworld) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Concurrent Network PrintSupport XmlPatterns) add_definitions(-D_UNICODE -DUNICODE) file(GLOB UI_SRC ${PROJECT_SOURCE_DIR}/*.ui) file(GLOB SRC ${PROJECT_SOURCE_DIR}/*.cpp) file(GLOB MOC_HEADER ${PROJECT_SOURCE_DIR}/*.h) # add_executable(${PROJECT_NAME} ${IS_WIN} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc) add_library(${PROJECT_NAME} SHARED ${SRC} ${UI_SRC} ${MOC_HEADER}) target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/../../include ${PROJECT_SOURCE_DIR}/../../qscint/src ${PROJECT_SOURCE_DIR}/../../qscint/src/Qsci ${PROJECT_SOURCE_DIR}/../../qscint/scintilla/src ${PROJECT_SOURCE_DIR}/../../qscint/scintilla/include ${PROJECT_SOURCE_DIR}/../../qscint/scintilla/lexlib ${PROJECT_SOURCE_DIR}/../../qscint/scintilla/boostregex ) target_link_libraries(${PROJECT_NAME} qscint Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network Qt5::PrintSupport Qt5::XmlPatterns) # if(NOT DEFINED ${notepad--_BINARY_DIR}) # set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # set(LIBRARY_OUTPUT_PATH ${notepad--_BINARY_DIR}/bin/plugin) # set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # endif() ================================================ FILE: src/plugin/helloworld/helloworld.pro ================================================ TEMPLATE = lib LANGUAGE = C++ CONFIG += qt warn_on Release QT += core gui widgets HEADERS += *.h SOURCES += *.cpp FORMS += *.ui INCLUDEPATH += ../../include INCLUDEPATH += ../../qscint/src INCLUDEPATH += ../../qscint/src/Qsci win32 { if(contains(QMAKE_HOST.arch, x86_64)){ CONFIG(Debug, Debug|Release){ DESTDIR = ../../x64/Debug/plugin LIBS += -L../../x64/Debug LIBS += -lqmyedit_qt5d }else{ DESTDIR = ../../x64/Release/plugin LIBS += -L../../x64/Release LIBS += -lqmyedit_qt5 } } } unix { UI_DIR = .ui MOC_DIR = .moc OBJECTS_DIR = .obj } ================================================ FILE: src/plugin/helloworld/helloworldexport.cpp ================================================ #include #include #include #include #include #include "qttestclass.h" #ifdef WIN32 #include #endif #define NDD_EXPORTDLL #if defined(Q_OS_WIN) #if defined(NDD_EXPORTDLL) #define NDD_EXPORT __declspec(dllexport) #else #define NDD_EXPORT __declspec(dllimport) #endif #else #define NDD_EXPORT __attribute__((visibility("default"))) #endif #ifdef __cplusplus extern "C" { #endif NDD_EXPORT bool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData); NDD_EXPORT int NDD_PROC_MAIN(QWidget* pNotepad, const QString& strFileName, std::functiongetCurEdit, std::function pluginCallBack, NDD_PROC_DATA* procData); #ifdef __cplusplus } #endif static NDD_PROC_DATA s_procData; static QWidget* s_pMainNotepad = nullptr; std::function s_getCurEdit; std::function s_invokeMainFun; bool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData) { if(pProcData == NULL) { return false; } pProcData->m_strPlugName = QObject::tr("Hello World Plug"); pProcData->m_strComment = QObject::tr(u8"不需要创建二级菜单的插件例子"); pProcData->m_version = QString("v1.0"); pProcData->m_auther = QString("zuowei.yin"); pProcData->m_menuType = 0; return true; } //则点击菜单栏按钮时,会自动调用到该插件的入口点函数。 //pNotepad:就是CCNotepad的主界面指针 //strFileName:当前插件DLL的全路径,如果不关心,则可以不使用 //getCurEdit:从NDD主程序传递过来的仿函数,通过该函数获取当前编辑框操作对象QsciScintilla //s_invokeMainFun: 可以回调NDD主程序中的功能函数,比如创建新文件功能等,根据需要可实时扩展。 //pProcData:如果pProcData->m_menuType = 0 ,则该指针为空;如果pProcData->m_menuType = 1,则该指针有值。目前需要关心s_procData.m_rootMenu //开发者可以在该菜单下面,自行创建二级菜单 int NDD_PROC_MAIN(QWidget* pNotepad, const QString &strFileName, std::functiongetCurEdit, std::function pluginCallBack, NDD_PROC_DATA* pProcData) { QsciScintilla* pEdit = getCurEdit(); if (pEdit == nullptr) { return -1; } //务必拷贝一份pProcData,在外面会释放。 if (pProcData != nullptr) { s_procData = *pProcData; } s_pMainNotepad = pNotepad; s_getCurEdit = getCurEdit; s_invokeMainFun = pluginCallBack; //如果pProcData->m_menuType = 1;是自己要创建二级菜单的场景。则通过s_procData.m_rootMenu 获取该插件的菜单根节点。 //插件开发者自行在s_procData.m_rootMenu下添加新的二级菜单项目 //做一个简单的转大写的操作 QtTestClass* p = new QtTestClass(pNotepad,pEdit); //主窗口关闭时,子窗口也关闭。避免空指针操作 p->setWindowFlag(Qt::Window); p->show(); return 0; } #ifdef WIN32 BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; case DLL_PROCESS_DETACH: if (NULL == lpvReserved) { //做全局回收工作 } break; } return TRUE; } #else void onDllUnload(void) { //做全局回收工作 } #endif ================================================ FILE: src/plugin/helloworld/qttestclass.cpp ================================================ #include "qttestclass.h" #include QtTestClass::QtTestClass(QWidget *parent, QsciScintilla* pEdit) : QWidget(parent) { ui.setupUi(this); m_pEdit = pEdit; } QtTestClass::~QtTestClass() {} void QtTestClass::on_upper() { QString text = m_pEdit->text(); text = text.toUpper(); m_pEdit->setText(text); } void QtTestClass::on_lower() { QString text = m_pEdit->text(); text = text.toLower(); m_pEdit->setText(text); } ================================================ FILE: src/plugin/helloworld/qttestclass.h ================================================ #pragma once #include #include "ui_qttestclass.h" class QsciScintilla; class QtTestClass : public QWidget { Q_OBJECT public: QtTestClass(QWidget *parent, QsciScintilla* pEdit); ~QtTestClass(); private slots: void on_upper(); void on_lower(); private: Ui::QtTestClassClass ui; QsciScintilla* m_pEdit; }; ================================================ FILE: src/plugin/helloworld/qttestclass.ui ================================================ QtTestClassClass 0 0 544 251 QtTestClass 这是一个插件例子,把当前文档全部变成大写字母。 请给我们提交插件! TransUpper TransLower Close pushButton_2 clicked() QtTestClassClass close() 435 188 446 246 upperBt clicked() QtTestClassClass on_upper() 177 181 187 247 lowerBt clicked() QtTestClassClass on_lower() 296 182 323 244 on_upper() on_lower() ================================================ FILE: src/plugin/test/test.cpp ================================================ #include #include #include #include #include #include #ifdef WIN32 #include #endif #define NDD_EXPORTDLL #if defined(Q_OS_WIN) #if defined(NDD_EXPORTDLL) #define NDD_EXPORT __declspec(dllexport) #else #define NDD_EXPORT __declspec(dllimport) #endif #else #define NDD_EXPORT __attribute__((visibility("default"))) #endif #ifdef __cplusplus extern "C" { #endif NDD_EXPORT bool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData); NDD_EXPORT int NDD_PROC_MAIN(QWidget* pNotepad, const QString& strFileName, std::functiongetCurEdit, std::function pluginCallBack, NDD_PROC_DATA* procData); #ifdef __cplusplus } #endif static NDD_PROC_DATA s_procData; static QWidget* s_pMainNotepad = nullptr; std::function s_getCurEdit; std::function s_invokeMainFun; bool NDD_PROC_IDENTIFY(NDD_PROC_DATA* pProcData) { if(pProcData == NULL) { return false; } pProcData->m_strPlugName = QObject::tr("Create Second Menu Plug"); pProcData->m_strComment = QObject::tr(u8"创建二级菜单的插件例子"); pProcData->m_version = QString("v1.0"); pProcData->m_auther = QString("zuowei.yin"); pProcData->m_menuType = 1; return true; } //则点击菜单栏按钮时,会自动调用到该插件的入口点函数。 //pNotepad:就是CCNotepad的主界面指针 //strFileName:当前插件DLL的全路径,如果不关心,则可以不使用 //getCurEdit:从NDD主程序传递过来的仿函数,通过该函数获取当前编辑框操作对象QsciScintilla //pProcData:如果pProcData->m_menuType = 0 ,则该指针为空;如果pProcData->m_menuType = 1,则该指针有值。目前需要关心s_procData.m_rootMenu //s_invokeMainFun: 可以回调NDD主程序中的功能函数,比如创建新文件功能等,根据需要可实时扩展。 //开发者可以在该菜单下面,自行创建二级菜单.更详细的例子,请见jstool min插件。 int NDD_PROC_MAIN(QWidget* pNotepad, const QString& strFileName, std::functiongetCurEdit, std::function pluginCallBack, NDD_PROC_DATA* pProcData) { //务必拷贝一份pProcData,在外面会释放。 if (pProcData != nullptr) { s_procData = *pProcData; } else { return -1; } s_pMainNotepad = pNotepad; s_getCurEdit = getCurEdit; //如果pProcData->m_menuType = 1;是自己要创建二级菜单的场景。则通过s_procData.m_rootMenu 获取该插件的菜单根节点。 //插件开发者自行在s_procData.m_rootMenu下添加新的二级菜单项目 QAction* pAction = new QAction(s_procData.m_strPlugName, s_procData.m_rootMenu); s_procData.m_rootMenu->addAction(pAction); pAction->setText("Secondary Menu Example"); return 0; } ================================================ FILE: src/plugin/test/test.pro ================================================ TEMPLATE = lib LANGUAGE = C++ CONFIG += qt warn_on QT += core gui widgets HEADERS += *.h SOURCES += *.cpp FORMS += *.ui INCLUDEPATH += ../../include INCLUDEPATH += ../../qscint/src INCLUDEPATH += ../../qscint/src/Qsci win32 { if(contains(QMAKE_HOST.arch, x86_64)){ CONFIG(Debug, Debug|Release){ DESTDIR = ../../x64/Debug/Plugin LIBS += -L../../x64/Debug LIBS += -lqmyedit_qt5d }else{ DESTDIR = ../../x64/Release/Plugin LIBS += -L../../x64/Release LIBS += -lqmyedit_qt5 } } } unix { UI_DIR = .ui MOC_DIR = .moc OBJECTS_DIR = .obj } ================================================ FILE: src/plugin.cpp ================================================ #include "plugin.h" #include #include #include #include bool loadApplication(const QString& strFileName, NDD_PROC_DATA* pProcData) { QLibrary lib(strFileName); NDD_PROC_IDENTIFY_CALLBACK procCallBack; procCallBack = (NDD_PROC_IDENTIFY_CALLBACK)lib.resolve("NDD_PROC_IDENTIFY"); if (procCallBack == NULL) { return false; } if (!procCallBack(pProcData)) { return false; } pProcData->m_strFilePath = strFileName; return true; } int loadProc(const QString& strDirOut, std::function funcallback, QMenu* pUserData) { int nReturn = 0; QStringList list; QDir dir; dir.setPath(strDirOut); QString strDir, strName; QStringList strFilter; strDir = dir.absolutePath(); strDir += QDir::separator(); #if defined(Q_OS_WIN) strFilter << "*.dll"; #else strFilter << "lib*.so"; #endif list = dir.entryList(strFilter, QDir::Files | QDir::Readable, QDir::Name); QStringList::Iterator it = list.begin(); for (; it != list.end(); ++it) { NDD_PROC_DATA procData; strName = *it; strName = strDir + strName; if (!loadApplication(strName, &procData)) { continue; } funcallback(procData, pUserData); nReturn++; } return nReturn; } ================================================ FILE: src/plugin.h ================================================ #pragma once #include "pluginGl.h" #include class QMenu; class QsciScintilla; class QWidget; typedef int (*NDD_PROC_MAIN_CALLBACK)(QWidget* parent, const QString& strFileName, std::functiongetCurEdit, std::function, NDD_PROC_DATA* procData); int loadProc(const QString& strDirOut, std::function funcallback, QMenu* pUserData); ================================================ FILE: src/pluginGl.h ================================================ #pragma once #include #include struct ndd_proc_data { QString m_strPlugName; // ѡд QString m_strFilePath; //lib ȫ·ѡڲд,򴫵 QString m_strComment; //˵д QString m_version; //汾롣ѡд QString m_auther;//ơѡд int m_menuType;//˵͡0ʹö˵ 1˵д QMenu* m_rootMenu;//m_menuType = 1˵ĵֵַnullptr ڲд򴫵 ndd_proc_data(): m_rootMenu(nullptr), m_menuType(0) { } }; //#define NDD_PROC_IDENTIFY ("nddProc") typedef struct ndd_proc_data NDD_PROC_DATA; typedef bool (*NDD_PROC_IDENTIFY_CALLBACK)(NDD_PROC_DATA* pProcData); typedef void (*NDD_PROC_FOUND_CALLBACK)(NDD_PROC_DATA* pProcData, void* pUserData); ================================================ FILE: src/pluginmgr.cpp ================================================ #include "pluginmgr.h" #include "rcglobal.h" PluginMgr::PluginMgr(QWidget *parent, QList& pluginList) : QMainWindow(parent) { ui.setupUi(this); ui.pluginTable->horizontalHeader()->setStretchLastSection(true); ui.pluginTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); ui.pluginTable->horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents); //ui.pluginTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); init(pluginList); } PluginMgr::~PluginMgr() {} void PluginMgr::init(QList& pluginList) { ui.pluginTable->clearContents(); ui.pluginTable->setRowCount(0); for (int i = 0; i < pluginList.size(); ++i) { ui.pluginTable->insertRow(i); NDD_PROC_DATA v = pluginList.at(i); ui.pluginTable->setItem(i, 0, new QTableWidgetItem(v.m_strPlugName)); ui.pluginTable->setItem(i, 1, new QTableWidgetItem(v.m_version)); ui.pluginTable->setItem(i, 2, new QTableWidgetItem(v.m_auther)); ui.pluginTable->setItem(i, 3, new QTableWidgetItem(v.m_strComment)); ui.pluginTable->setItem(i, 4, new QTableWidgetItem(v.m_strFilePath)); } } void PluginMgr::slot_openPluginDir() { QString strDir = qApp->applicationDirPath(); QString path = QString("%1/plugin").arg(strDir); showFileInExplorer(path); } ================================================ FILE: src/pluginmgr.h ================================================ #pragma once #include #include "ui_pluginmgr.h" #include "pluginGl.h" class PluginMgr : public QMainWindow { Q_OBJECT public: PluginMgr(QWidget *parent, QList& pluginList); ~PluginMgr(); private: void init(QList& pluginList); private slots: void slot_openPluginDir(); private: Ui::PluginMgrClass ui; }; ================================================ FILE: src/pluginmgr.ui ================================================ PluginMgrClass 0 0 974 488 PluginMgr 3 3 3 Name Version Auther Comment Path Qt::Horizontal 40 20 Plugin Dir Close Qt::Horizontal 40 20 0 0 974 23 TopToolBarArea false cancelBt clicked() PluginMgrClass close() 539 449 637 461 pluginDirBt clicked() PluginMgrClass slot_openPluginDir() 453 453 463 490 slot_openPluginDir() ================================================ FILE: src/progresswin.cpp ================================================ #include "progresswin.h" #include #include ProgressWin::ProgressWin(QWidget *parent) : QDialog(parent), m_curStep(0),m_isCancel(false) { ui.setupUi(this); } ProgressWin::~ProgressWin() { } void ProgressWin::info(QString text) { ui.output->append(text); } void ProgressWin::setTotalSteps(int step) { ui.progressBar->setValue(0); ui.progressBar->setMaximum(step); m_curStep = 0; } void ProgressWin::moveStep(bool isRest) { ++m_curStep; ui.progressBar->setValue(m_curStep); ui.progressBar->update(); if (isRest) { QCoreApplication::processEvents(); } } int ProgressWin::getTotalStep() { return ui.progressBar->maximum(); } void ProgressWin::setStep(int step) { ui.progressBar->setValue(step); ui.progressBar->update(); m_curStep = step; //QCoreApplication::processEvents(); } bool ProgressWin::isCancel() { return m_isCancel; } void ProgressWin::setCancel() { m_isCancel = true; emit quitClick(); } void ProgressWin::closeEvent(QCloseEvent* e) { e->ignore(); } void ProgressWin::slot_quitBt() { if (QMessageBox::Yes != QMessageBox::question(this, tr("Notice"), tr("Are you sure to cancel?"))) { return; } m_isCancel = true; emit quitClick(); } ================================================ FILE: src/progresswin.h ================================================ #pragma once #include #include #include "ui_progresswin.h" class ProgressWin : public QDialog { Q_OBJECT public: ProgressWin(QWidget *parent = Q_NULLPTR); virtual ~ProgressWin(); void info(QString text); void setTotalSteps(int step); void moveStep(bool isRest = false); int getTotalStep(); void setStep(int step); bool isCancel(); void setCancel(); protected: void closeEvent(QCloseEvent* e) override; public slots: void slot_quitBt(); signals: void quitClick(); private: Ui::ProgressWin ui; int m_curStep; bool m_isCancel; }; ================================================ FILE: src/progresswin.ui ================================================ ProgressWin Qt::WindowModal 0 0 553 176 work progress :/Resources/edit/global/ndd.ico:/Resources/edit/global/ndd.ico 3 3 3 3 3 Qt::ScrollBarAlwaysOff current progress 0 Qt::Horizontal 40 20 true Cancel Qt::Horizontal 40 20 quitBt clicked() ProgressWin slot_quitBt() 343 178 364 175 slot_quitBt() ================================================ FILE: src/qscidisplaywindow.cpp ================================================ #include "qscidisplaywindow.h" #include "MediatorDisplay.h" #include "textfind.h" #include "common.h" #include "styleset.h" #include "rcglobal.h" #include #include #include #include #include #include QsciDisplayWindow::QsciDisplayWindow(QWidget *parent):QsciScintilla(parent), m_textFindWin(nullptr), m_preFirstLineNum(0), m_isShowFindItem(true), m_hasHighlight(false) { //20210815 左右行同步还有问题,暂时不屏蔽,不实现 connect(this->verticalScrollBar(), &QScrollBar::valueChanged, this, &QsciDisplayWindow::slot_scrollYValueChange); connect(this->horizontalScrollBar(), &QScrollBar::valueChanged, this, &QsciDisplayWindow::slot_scrollXValueChange); setAcceptDrops(false); m_findStartPos = 0; m_findEndPos = 0; m_findCurPos = 0; m_pScintillaFunc = (SCINTILLA_FUNC)this->SendScintillaPtrResult(SCI_GETDIRECTFUNCTION); m_pScintillaPtr = (SCINTILLA_PTR)this->SendScintillaPtrResult(SCI_GETDIRECTPOINTER); if (!m_pScintillaFunc) { throw std::runtime_error("ScintillaEditView::init : SCI_GETDIRECTFUNCTION message failed"); } if (!m_pScintillaPtr) { throw std::runtime_error("ScintillaEditView::init : SCI_GETDIRECTPOINTER message failed"); } //这个无比要设置false,否则双击后高亮单词,拷贝时会拷贝多个选择。 execute(SCI_SETMULTIPLESELECTION, true); execute(SCI_SETMULTIPASTE, 1); execute(SCI_SETADDITIONALCARETSVISIBLE, false); execute(SCI_SETSELFORE, true, 0x0); execute(SCI_SETSELBACK, true, 0x00ffff); //QColor foldfgColor(StyleSet::foldfgColor); //QColor foldbgColor(StyleSet::foldbgColor);//默认0xff,0xff,0xff ////通过fold发现,尽量使用qscint的功能,因为他做了大量封装和简化 //setFolding(BoxedTreeFoldStyle, 2); //setFoldMarginColors(foldfgColor, foldbgColor); //setMarginsBackgroundColor(StyleSet::marginsBackgroundColor); //0xea, 0xf7, 0xff //默认0xf0f0f0 //双击后同样的字段进行高亮 execute(SCI_INDICSETSTYLE, SCE_UNIVERSAL_FOUND_STYLE_SMART, INDIC_ROUNDBOX); execute(SCI_INDICSETALPHA, SCE_UNIVERSAL_FOUND_STYLE_SMART, 100); execute(SCI_INDICSETUNDER, SCE_UNIVERSAL_FOUND_STYLE_SMART, false); execute(SCI_INDICSETFORE, SCE_UNIVERSAL_FOUND_STYLE_SMART, 0x00ff00); setStyleOptions(); //开启后可以保证长行在滚动条下完整显示 execute(SCI_SETSCROLLWIDTHTRACKING, true); connect(this, &QsciScintilla::selectionChanged, this, &QsciDisplayWindow::slot_clearHightWord, Qt::QueuedConnection); connect(this, &QsciDisplayWindow::delayWork, this, &QsciDisplayWindow::slot_delayWork, Qt::QueuedConnection); } QsciDisplayWindow::~QsciDisplayWindow() { if (m_textFindWin != nullptr) { delete m_textFindWin; m_textFindWin = nullptr; } } void QsciDisplayWindow::setFoldColor(int margin, QColor fgClack, QColor bkColor) { SendScintilla(SCI_MARKERSETFORE, margin, fgClack); SendScintilla(SCI_MARKERSETBACK, margin, bkColor); } void QsciDisplayWindow::setStyleOptions() { //if (StyleSet::m_curStyleId != BLACK_SE) //{ setMarginsForegroundColor(QColor(0x80, 0x80, 0x80)); //默认0x80, 0x80, 0x80 //} //else //{ // setMarginsForegroundColor(QColor(0xde, 0xde, 0xde)); //默认0x80, 0x80, 0x80 //} //setMarginsBackgroundColor(StyleSet::marginsBackgroundColor); //setFoldMarginColors(StyleSet::marginsBackgroundColor, StyleSet::marginsBackgroundColor); setMarginsBackgroundColor(0xf0f0f0); setFoldMarginColors(0xf0f0f0, 0xf0f0f0); { //setCaretLineBackgroundColor(QColor(0xe8e8ff)); setCaretLineBackgroundColor(QColor(0xFAF9DE)); setMatchedBraceForegroundColor(QColor(191, 141, 255)); setMatchedBraceBackgroundColor(QColor(222, 222, 222)); setCaretForegroundColor(QColor(0, 0, 0)); setFoldColor(SC_MARKNUM_FOLDEROPEN, QColor(Qt::white), QColor(128, 128, 128)); setFoldColor(SC_MARKNUM_FOLDER, QColor(Qt::white), QColor(128, 128, 128)); setFoldColor(SC_MARKNUM_FOLDERSUB, QColor(Qt::white), QColor(128, 128, 128)); setFoldColor(SC_MARKNUM_FOLDERTAIL, QColor(Qt::white), QColor(128, 128, 128)); setFoldColor(SC_MARKNUM_FOLDEREND, QColor(Qt::white), QColor(128, 128, 128)); setFoldColor(SC_MARKNUM_FOLDEROPENMID, QColor(Qt::white), QColor(128, 128, 128)); setFoldColor(SC_MARKNUM_FOLDERMIDTAIL, QColor(Qt::white), QColor(128, 128, 128)); } } void QsciDisplayWindow::setIsShowFindItem(bool v) { m_isShowFindItem = v; } sptr_t QsciDisplayWindow::execute(quint32 Msg, uptr_t wParam, sptr_t lParam) const { try { return (m_pScintillaFunc) ? m_pScintillaFunc(m_pScintillaPtr, Msg, wParam, lParam) : -1; } catch (...) { return -1; } }; void QsciDisplayWindow::mouseDoubleClickEvent(QMouseEvent * e) { QsciScintilla::mouseDoubleClickEvent(e); if (hasSelectedText()) { emit delayWork(); } } void QsciDisplayWindow::clearIndicator(int indicatorNumber) { size_t docStart = 0; size_t docEnd = length(); execute(SCI_SETINDICATORCURRENT, indicatorNumber); execute(SCI_INDICATORCLEARRANGE, docStart, docEnd - docStart); }; const int MAXLINEHIGHLIGHT = 400; void QsciDisplayWindow::slot_clearHightWord() { if (m_hasHighlight) { m_hasHighlight = false; clearIndicator(SCE_UNIVERSAL_FOUND_STYLE_SMART); } } void QsciDisplayWindow::highlightViewWithWord(QString & word2Hilite) { int originalStartPos = execute(SCI_GETTARGETSTART); int originalEndPos = execute(SCI_GETTARGETEND); int firstLine = static_cast(this->execute(SCI_GETFIRSTVISIBLELINE)); int nbLineOnScreen = this->execute(SCI_LINESONSCREEN); int nbLines = std::min(nbLineOnScreen, MAXLINEHIGHLIGHT) + 1; int lastLine = firstLine + nbLines; int startPos = 0; int endPos = 0; auto currentLine = firstLine; int prevDocLineChecked = -1; //invalid start auto searchMark = [this](int &startPos, int &endPos, QByteArray &word2Mark) { int targetStart = 0; int targetEnd = 0; long lens = word2Mark.length(); while (targetStart >= 0) { execute(SCI_SETTARGETRANGE, startPos, endPos); targetStart = SendScintilla(SCI_SEARCHINTARGET, lens, word2Mark.data()); if (targetStart == -1 || targetStart == -2) break; targetEnd = int(this->execute(SCI_GETTARGETEND)); if (targetEnd > endPos) { //we found a result but outside our range, therefore do not process it break; } int foundTextLen = targetEnd - targetStart; if (foundTextLen > 0) { this->execute(SCI_SETINDICATORCURRENT, SCE_UNIVERSAL_FOUND_STYLE_SMART); this->execute(SCI_INDICATORFILLRANGE, targetStart, foundTextLen); } if (targetStart + foundTextLen == endPos) break; startPos = targetStart + foundTextLen; } }; QByteArray whatMark = word2Hilite.toUtf8(); SendScintilla(SCI_SETSEARCHFLAGS, SCFIND_REGEXP | SCFIND_MATCHCASE | SCFIND_WHOLEWORD | SCFIND_REGEXP_SKIPCRLFASONE); for (; currentLine < lastLine; ++currentLine) { int docLine = static_cast(this->execute(SCI_DOCLINEFROMVISIBLE, currentLine)); if (docLine == prevDocLineChecked) continue; //still on same line (wordwrap) prevDocLineChecked = docLine; startPos = static_cast(this->execute(SCI_POSITIONFROMLINE, docLine)); endPos = static_cast(this->execute(SCI_POSITIONFROMLINE, docLine + 1)); if (endPos == -1) { //past EOF endPos = this->length() - 1; searchMark(startPos, endPos, whatMark); break; } else { searchMark(startPos, endPos, whatMark); } } m_hasHighlight = true; // restore the original targets to avoid conflicts with the search/replace functions this->execute(SCI_SETTARGETRANGE, originalStartPos, originalEndPos); } void QsciDisplayWindow::slot_delayWork() { if (!hasSelectedText()) { return; } QString word = selectedText(); if (!word.isEmpty()) { highlightViewWithWord(word); } #if 0 if (!hasSelectedText()) { return; } QString word = selectedText(); if (!word.isEmpty()) { QVectorresultPos; resultPos.reserve(50); int firstLine = execute(SCI_GETFIRSTVISIBLELINE); int nbLineOnScreen = execute(SCI_LINESONSCREEN); int nbLines = std::min(nbLineOnScreen, MAXLINEHIGHLIGHT) + 1; int lastLine = firstLine + nbLines; long startPos = execute(SCI_POSITIONFROMLINE, firstLine); long endPos = execute(SCI_POSITIONFROMLINE, lastLine); if (endPos == -1) { endPos = execute(SCI_GETLENGTH); } int curpos = execute(SCI_GETCURRENTPOS); int mainSelect = 1; struct Sci_TextToFind findOptions; findOptions.chrg.cpMin = startPos; findOptions.chrg.cpMax = endPos; std::string wordStr = word.toStdString(); findOptions.lpstrText = wordStr.c_str(); int pos = execute(SCI_FINDTEXT, SCFIND_MATCHCASE | SCFIND_WHOLEWORD, reinterpret_cast(&findOptions)); while (pos != -1) { resultPos.append(pos); if (pos <= curpos) { mainSelect = resultPos.size(); } findOptions.chrg.cpMin = findOptions.chrgText.cpMax; pos = execute(SCI_FINDTEXT, SCFIND_MATCHCASE | SCFIND_WHOLEWORD, reinterpret_cast(&findOptions)); } for (int i = 0, size = resultPos.size(); i < size; ++i) { execute(SCI_ADDSELECTION, resultPos.at(i), resultPos.at(i) + word.size()); } if (!resultPos.isEmpty()) { execute(SCI_SETMAINSELECTION, mainSelect - 1); } } #endif } void QsciDisplayWindow::setMediator(MediatorDisplay* mediator) { m_mediator = mediator; } //滚动条值变化后的槽函数。一旦滚动则会出发这里,发送消息给中介,让中介去同步另外一方 void QsciDisplayWindow::slot_scrollYValueChange(int value) { if (m_direction == RC_LEFT) { if (m_mediator->getLeftScrollValue() != value) { m_mediator->setLeftScrollValue(value); } } else { if (m_mediator->getRightScrollValue() != value) { m_mediator->setRightScrollValue(value); } } autoAdjustLineWidth(value); slot_delayWork(); //qDebug("-- dir s n %d %d", m_direction, contentY()); } //根据现有滚动条来决定是否更新屏幕线宽长度。每滚动2000个单位必须调整line宽 void QsciDisplayWindow::autoAdjustLineWidth(int xScrollValue) { if (std::abs(xScrollValue - m_preFirstLineNum) > 400) { m_preFirstLineNum = xScrollValue; updateLineNumberWidth(); } } void QsciDisplayWindow::updateLineNumberWidth() { auto linesVisible = execute(SCI_LINESONSCREEN); if (linesVisible) { int nbDigits = 0; auto firstVisibleLineVis = execute(SCI_GETFIRSTVISIBLELINE); auto lastVisibleLineVis = linesVisible + firstVisibleLineVis + 1; auto lastVisibleLineDoc = execute(SCI_DOCLINEFROMVISIBLE, lastVisibleLineVis); nbDigits = nbDigitsFromNbLines(lastVisibleLineDoc); nbDigits = nbDigits < 4 ? 4 : nbDigits; auto pixelWidth = 8 + nbDigits * execute(SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast("8")); execute(SCI_SETMARGINWIDTHN, MARGIN_LINE_NUM, pixelWidth); } } //X方向滚动条值变化后的槽函数。一旦滚动则会出发这里,发送消息给中介,让中介去同步另外一方 void QsciDisplayWindow::slot_scrollXValueChange(int value) { if (m_direction == RC_LEFT) { if (m_mediator->getLeftScrollXValue() != value) { m_mediator->setLeftScrollXValue(value); } } else { if (m_mediator->getRightScrollXValue() != value) { m_mediator->setRightScrollXValue(value); } } //qDebug("-- dir s n %d %d", m_direction, contentY()); } void QsciDisplayWindow::setDirection(RC_DIRECTION direction) { m_direction = direction; } int QsciDisplayWindow::getCurVerticalScrollValue() { return this->verticalScrollBar()->value(); } void QsciDisplayWindow::contextUserDefineMenuEvent(QMenu* menu) { //QAction* action; if (menu != nullptr) { menu->addAction(tr("Find Text"), this, SLOT(slot_findText())); menu->addAction(tr("Show File in Explorer"), this, SLOT(slot_showFileInExplorer())); menu->addAction(tr("Save As ..."), this, &QsciDisplayWindow::sign_saveAsFile); } menu->show(); } void QsciDisplayWindow::inputMethodEvent(QInputMethodEvent* event) { if (!event->preeditString().isEmpty()) { return; } QsciScintilla::inputMethodEvent(event); } void QsciDisplayWindow::slot_findText() { if (m_isShowFindItem) { if (m_textFindWin == nullptr) { m_textFindWin = new TextFind(m_direction); connect(m_textFindWin, &TextFind::signFindFile, this, &QsciDisplayWindow::slot_FindTextWithPara); m_textFindWin->activateWindow(); m_textFindWin->show(); } else { m_textFindWin->activateWindow(); m_textFindWin->showNormal(); } m_findCurPos = 0; } else { //不使用这里的查找,直接发信号到外面 emit sign_find(); } } void QsciDisplayWindow::slot_FindTextWithPara(int prevOrNext, QString text) { std::string str = text.toStdString(); int length = SendScintilla(SCI_GETLENGTH); if (length > 0) { if (prevOrNext == 1) { SendScintilla(SCI_SETTARGETSTART, m_findCurPos); SendScintilla(SCI_SETTARGETEND, length); int ret = SendScintilla(SCI_SEARCHINTARGET, str.length(), str.c_str()); if (ret >= 0) { m_findCurPos = ret + str.length(); SendScintilla(SCI_GOTOPOS, ret); SendScintilla(SCI_SETSELECTION, ret, ret + str.length()); } else { QMessageBox::information(this, tr("Not Find"), tr("Not Find Next!")); m_textFindWin->activateWindow(); } } else if (prevOrNext == 0) { SendScintilla(SCI_SETTARGETSTART, m_findCurPos); SendScintilla(SCI_SETTARGETEND, 0); int ret = SendScintilla(SCI_SEARCHINTARGET, str.length(), str.c_str()); if (ret >= 0) { m_findCurPos = ret - 1; SendScintilla(SCI_GOTOPOS, ret); SendScintilla(SCI_SETSELECTION, ret, ret + str.length()); } else { QMessageBox::information(this, tr("Not Find"), tr("Not Find Prev!")); m_textFindWin->activateWindow(); } } } } //定位到文件夹 void QsciDisplayWindow::slot_showFileInExplorer() { showFileInExplorer(m_filePath); } ================================================ FILE: src/qscidisplaywindow.h ================================================ #pragma once #include #include #include #include #include #include #include #include #include "rcglobal.h" class MediatorDisplay; class BlockUserData; class TextFind; typedef sptr_t(*SCINTILLA_FUNC) (sptr_t ptr, unsigned int, uptr_t, sptr_t); typedef sptr_t SCINTILLA_PTR; class QsciDisplayWindow : public QsciScintilla { Q_OBJECT public: QsciDisplayWindow(QWidget *parent); virtual ~QsciDisplayWindow(); void setIsShowFindItem(bool v); sptr_t execute(quint32 Msg, uptr_t wParam = 0, sptr_t lParam = 0) const; void setMediator(MediatorDisplay* mediator); void setDirection(RC_DIRECTION direction); //获取当前垂直进度条的滚动位置 int getCurVerticalScrollValue(); QString getFilePath() { return m_filePath; } void setFilePath(QString v) { m_filePath = v; } void autoAdjustLineWidth(int xScrollValue); signals: void delayWork(); void sign_find(bool v=true); void sign_saveAsFile(); private slots: void slot_delayWork(); public slots: void slot_showFileInExplorer(); void slot_scrollYValueChange(int value); void slot_scrollXValueChange(int value); void slot_findText(); void slot_FindTextWithPara(int prevOrNext, QString text); protected: void contextUserDefineMenuEvent(QMenu* menu) override; void inputMethodEvent(QInputMethodEvent* event) override; void mouseDoubleClickEvent(QMouseEvent *e) override; void clearIndicator(int indicatorNumber); void slot_clearHightWord(); void highlightViewWithWord(QString & word2Hilite); void updateLineNumberWidth(); void setStyleOptions(); void setFoldColor(int margin, QColor fgClack, QColor bkColor); private: RC_DIRECTION m_direction; MediatorDisplay* m_mediator; QString m_filePath; TextFind* m_textFindWin; int m_findStartPos; int m_findCurPos; int m_findEndPos; int m_preFirstLineNum; SCINTILLA_FUNC m_pScintillaFunc = nullptr; SCINTILLA_PTR m_pScintillaPtr = 0; bool m_isShowFindItem; bool m_hasHighlight; }; ================================================ FILE: src/qscint/CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.16) project(qscint CXX) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets PrintSupport) aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC) aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/lexers SRC) aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/lexlib SRC) aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/src SRC) aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/boostregex SRC) file(GLOB MOC_HEADER ${PROJECT_SOURCE_DIR}/src/Qsci/*.h) #message(${MOC_HEADER}) add_library(${PROJECT_NAME} STATIC ${SRC} ${MOC_HEADER}) # add_definitions(-DQSCINTILLA_MAKE_DLL) # add_library(${PROJECT_NAME} SHARED ${SRC} ${MOC_HEADER}) target_compile_definitions(${PROJECT_NAME} PRIVATE SCINTILLA_QT SCI_LEXER INCLUDE_DEPRECATED_FEATURES) target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/scintilla/lexlib ${PROJECT_SOURCE_DIR}/scintilla/boostregex ) target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src/Qsci ${PROJECT_SOURCE_DIR}/scintilla/src ${PROJECT_SOURCE_DIR}/scintilla/include) target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network Qt5::PrintSupport) if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "qmyedit_qt5") else() set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "qmyedit_qt5d") endif() # if(NOT DEFINED ${notepad--_BINARY_DIR}) # set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # set(LIBRARY_OUTPUT_PATH ${notepad--_BINARY_DIR}/bin/plugin) # set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${notepad--_BINARY_DIR}/bin/plugin) # endif() ================================================ FILE: src/qscint/ChangeLog ================================================ 2021-03-04 Phil Thompson * NEWS: Released as v2.12.1. [c1e9b5f091d6] [2.12.1] <2.12-maint> * rb-product.toml: Fixed the PyQt dependencies. [c7af7dfff891] <2.12-maint> 2021-03-02 Phil Thompson * NEWS: Updated the NEWS file. [811ff4c9ffb2] <2.12-maint> 2021-02-27 Phil Thompson * Python/pyproject-qt5.toml, Python/pyproject-qt6.toml: Fixed the project dependencies. [f84410807305] <2.12-maint> * rb-product, rb-product.toml: Updated the product file. [266fa5c4525a] <2.12-maint> 2021-02-22 Phil Thompson * .hgtags: Added tag 2.12.0 for changeset 1cfa1f74a2a6 [a3df8b831652] * NEWS: Released as v2.12.0. [1cfa1f74a2a6] [2.12.0] * NEWS: Updated the NEWS file. [15c838b76bbb] 2021-02-21 Phil Thompson * Python/project.py: Fixed project.py so that it will use an embedded QScintilla library when being built from an sdist. [71cc17f4adb2] * qt/qscintilla.pro: Added missing .h files from qscintilla.pro. [c932fdd83a5e] 2021-02-19 Phil Thompson * Python/pyproject-qt5.toml: Reverted the name of the Qt5 Python bindings PyPI project because a new name would cause significant problems. [c318f3bd3474] 2021-02-18 Phil Thompson * Python/pyproject-qt5.toml, Python/pyproject-qt6.toml, Python/sip/qsciscintillabase.sip: Fixed the Python bindings for PyQt6. [e48e4f400215] * lib/README.doc: Re-ordered the section in the main page of the docs. [35fd189ea5da] 2021-02-17 Phil Thompson * Python/project.py, Python/pyproject-qt5.toml, Python/pyproject- qt6.toml, Python/pyproject.toml, Python/sip/qscimod5.sip, Python/sip/qscimod6.sip, Python/sip/qscimodcommon.sip, lib/README.doc, qt/features/qscintilla2.prf, qt/features_staticlib/qscintilla2.prf: Update the building of the Python bindings from a full source package. [124c17880e06] 2021-02-15 Phil Thompson * lib/README.doc, lib/qscintilla.dxy: Some documentation fixes. [81cc3ac8a8df] * qt/PlatQt.cpp: Fixed a regression in building against Qt5. [4e87186ec216] * qt/InputMethod.cpp, qt/MacPasteboardMime.cpp, qt/PlatQt.cpp, qt/SciAccessibility.cpp, qt/qsciapis.cpp, qt/qscicommandset.cpp, qt/qsciglobal.h, qt/qscilexer.cpp, qt/qscimacro.cpp, qt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciprinter.h, qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp: Initial port to Qt6. [b88e78ec2ca3] 2021-02-14 Phil Thompson * Python/configure-old.py, Python/configure.py, Python/pyproject.toml, Python/sip/qscimod4.sip, designer-Qt4Qt5/designer.pro, designer- Qt4Qt5/qscintillaplugin.cpp, designer-Qt4Qt5/qscintillaplugin.h, designer/designer.pro, designer/qscintillaplugin.cpp, designer/qscintillaplugin.h, example-Qt4Qt5/application.pro, example-Qt4Qt5/application.qrc, example-Qt4Qt5/images/copy.png, example-Qt4Qt5/images/cut.png, example-Qt4Qt5/images/new.png, example-Qt4Qt5/images/open.png, example-Qt4Qt5/images/paste.png, example-Qt4Qt5/images/save.png, example-Qt4Qt5/main.cpp, example- Qt4Qt5/mainwindow.cpp, example-Qt4Qt5/mainwindow.h, example/application.pro, example/application.qrc, example/images/copy.png, example/images/cut.png, example/images/new.png, example/images/open.png, example/images/paste.png, example/images/save.png, example/main.cpp, example/mainwindow.cpp, example/mainwindow.h, lib/README.doc, lib/ed.py, lib/pyproject.toml, qt/InputMethod.cpp, qt/ListBoxQt.cpp, qt/MacPasteboardMime.cpp, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/ScintillaQt.cpp, qt/qsciglobal.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Removed support for Qt4. [dad7e9b4d62e] * Merged the 2.11-maint branch. [8c1814ec889a] 2020-11-23 Phil Thompson * .hgtags: Added tag 2.11.6 for changeset c262a7a02f6d [a12ce93c13bf] <2.11-maint> * NEWS: Released as v2.11.6. [c262a7a02f6d] [2.11.6] <2.11-maint> * NEWS: Updated the NEWS file. [0f32bcb43dd3] <2.11-maint> 2020-10-22 Phil Thompson * qt/features/qscintilla2.prf, qt/features_staticlib/qscintilla2.prf, qt/qscintilla.pro: Fixes for building for iOS with recent versions of Qt. [aea84882d372] <2.11-maint> 2020-10-20 Phil Thompson * Python/project.py: Added the --qsci-translations-dir option to sip-wheel. [df77754750b3] <2.11-maint> 2020-10-19 Phil Thompson * qsci/api/python/Python-3.9.api: Added the .api file for Python v3.9. [bff51b8043e2] <2.11-maint> * .hgignore: Updated .hgignore for the current build naming convention. [b659680b3f24] <2.11-maint> 2020-10-11 Phil Thompson * qt/qsciscintilla.cpp: Fixed the display of non-latin1 call tips. [f9fa57df2fbb] <2.11-maint> 2020-09-17 Phil Thompson * Python/project.py, lib/pyproject.toml: Require PyQt-builder v1.6 as we no longer specify the sip module and ABI. [0e989cce12ea] <2.11-maint> 2020-08-22 Phil Thompson * Python/project.py: Set the name of the sip module explicitly. [a6b6fd548cf3] <2.11-maint> 2020-06-30 Phil Thompson * example-Qt4Qt5/main.cpp, example-Qt4Qt5/mainwindow.cpp, example- Qt4Qt5/mainwindow.h: Updated the copyright notices on the example. [8937c1d51479] <2.11-maint> 2020-06-09 Phil Thompson * .hgtags: Added tag 2.11.5 for changeset 36bf61975fe2 [7e336947e75e] <2.11-maint> * NEWS: Released as v2.11.5. [36bf61975fe2] [2.11.5] <2.11-maint> * NEWS, Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip: Fixed the Python signatures of the QsciAbstractAPIs and QsciAPIs ctors. [80aeec9058bf] <2.11-maint> 2020-05-09 Phil Thompson * Python/project.py, lib/pyproject.toml: The minimum ABI version is 12.8 which requires SIP v5.3. [c0e8e2e7e485] <2.11-maint> 2020-04-11 Phil Thompson * lib/pyproject.toml: We know that The Python binding swill be able to use SIP v6. [4f1f5381fb69] <2.11-maint> 2020-04-10 Phil Thompson * NEWS: Updated the NEWS file. [2ef898e42a1e] <2.11-maint> * Python/project.py, lib/pyproject.toml: Include the bundled .api files in wheels. [ded23cd63255] <2.11-maint> 2020-02-08 Phil Thompson * lib/pyproject.toml: Fixed METADATA for commercial wheels. [efc053939949] <2.11-maint> 2019-12-18 Phil Thompson * .hgtags: Added tag 2.11.4 for changeset b9eb589b0dab [3f3722aac2ad] <2.11-maint> * NEWS: Released as v2.11.4. [b9eb589b0dab] [2.11.4] <2.11-maint> * lib/pyproject.toml: Fixed requires-dist for commercial wheels. [53c08faf43ff] <2.11-maint> 2019-11-02 Phil Thompson * .hgtags: Added tag 2.11.3 for changeset 989462577f67 [3f6d7cf0fc4b] <2.11-maint> * NEWS: Released as v2.11.3. [989462577f67] [2.11.3] <2.11-maint> * NEWS: Updated the NEWS file. [2075344b2124] <2.11-maint> 2019-10-03 Phil Thompson * lib/pyproject.toml: Fixed the name of PEP 566. [e435d3af1587] <2.11-maint> * lib/pyproject.toml: Requires PyQt-builder v1. [9502a2b46a2b] <2.11-maint> 2019-10-01 Phil Thompson * lib/pyproject.toml: Fixed the name of the PyQt-builder project. [efe96da72b1f] <2.11-maint> 2019-09-23 Phil Thompson * Python/project.py: Fixes for changes in the sip v5 API. [a79acd2cdd94] <2.11-maint> 2019-09-14 Phil Thompson * lib/pyproject.toml: Added the requires-dist meta-data. [941784a50fad] <2.11-maint> 2019-09-07 Phil Thompson * NEWS: Updated the NEWS file. [6c83ad469a4e] <2.11-maint> * lib/pyproject.toml: Temporarily set the version of PyQt-builder required to be v0.1. [734461946ff0] <2.11-maint> 2019-09-06 Phil Thompson * Python/project.py: Fixes for relative path options. [e7bc21d4cb25] <2.11-maint> 2019-09-05 Phil Thompson * Python/project.py: Added the options to build the bindings from a locally installed copy of the library. [54094e26d201] <2.11-maint> 2019-09-04 Phil Thompson * Python/configure-old.py, Python/configure.py, Python/project.py, designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, qt/qscintilla.pro: Removed the code to change the install_name on macOS. [c88922cb4dee] <2.11-maint> * Python/configure.py, qt/qscintilla.pro: Fixed the install_name of the .dylib on macOS so that it is relative to @rpath. [010c78f5da88] <2.11-maint> * Python/config-tests/cfgtest_Qsci.cpp: Fixed the configuration test. [c00c4195e8fc] <2.11-maint> * METADATA.in, Python/README, Python/config-tests/cfgtest_Qsci.cpp, Python/configure-old.py, Python/configure.py, Python/project.py, lib/README, lib/pyproject.toml, qt/qscintilla.pro: Added support for sip-build. [20e39552153c] <2.11-maint> 2019-08-30 Phil Thompson * METADATA.in, lib/README: Updated the meta-data description. [7681c13103f2] <2.11-maint> 2019-08-21 Phil Thompson * METADATA.in: Updated the link to the docs for PyPI. [ab14aecc07de] <2.11-maint> 2019-07-04 Phil Thompson * qt/qscilexercss.cpp: Fixed the styling of CSS comments. [9b2dd132b868] <2.11-maint> 2019-06-25 Phil Thompson * .hgtags: Added tag 2.11.2 for changeset 9a9bab556970 [e39e215312b4] <2.11-maint> * NEWS: Released as v2.11.2. [9a9bab556970] [2.11.2] <2.11-maint> * qsci/api/python/Python-3.8.api: Added the .api file for Python v3.8. [4bc9c6baa011] <2.11-maint> * NEWS: Updated the NEWS file. [38685401d592] <2.11-maint> 2019-05-31 Phil Thompson * qt/PlatQt.cpp: Fixes to allow compilation with WASM. [71be3fd818c8] <2.11-maint> 2019-05-15 Phil Thompson * qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Fixed selection-related issues on macOS (and probably Windows) triggered by the use of additional selections. [47aaec2fa37c] <2.11-maint> 2019-05-09 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: QsciScintilla::findMatchingBrace() is now part of the public API. [b1973ad12f82] <2.11-maint> 2019-03-13 Phil Thompson * NEWS, qt/qsciscintilla.cpp: QsciScintilla::clear() now clears the undo history to be consistent with Qt and setText(). [b013bbaed4a5] <2.11-maint> 2019-02-12 Phil Thompson * .hgtags: Added tag 2.11.1 for changeset bebf741baff8 [c09e91f304b8] <2.11-maint> * NEWS: Released as v2.11.1. [bebf741baff8] [2.11.1] <2.11-maint> * NEWS: Updated the NEWS file. [9f2dd3438ac3] <2.11-maint> * Python/configure-old.py, Python/configure.py, designer- Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, qt/qscintilla.pro: Bumped the major version number of the library because of the SendScintilla() signature change. [c2fe34e11899] <2.11-maint> * Python/sip/qsciscintillabase.sip, qt/qscimacro.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Fixed a regression in QsciScintilla::insert(). The signature of QsciScintillaBase::SendScintilla(unigned int, unsigned long, const char *) has changed so that the second argument is now uintptr_t. This may require code changes. [b62eb7f29de4] <2.11-maint> 2019-02-11 Phil Thompson * NEWS: Updated the NEWS file. [9768dbe05f64] <2.11-maint> * qt/qsciscintillabase.cpp: Fixed the marginRightClicked() signal. [6a6efafbefd6] <2.11-maint> * qt/qscintilla.pro: Bumped the library version number. [a4ee797a9df9] <2.11-maint> 2019-02-04 Phil Thompson * .hgtags: Added tag 2.11 for changeset 2610e30b0914 [f83b4fbdd928] * NEWS: Released as v2.11. [2610e30b0914] [2.11] 2018-12-21 Phil Thompson * METADATA.in: Corrected the wheel meta-data version. [593a629d46f5] 2018-12-15 Phil Thompson * NEWS: Updated the NEWS file. [992f3cb597c4] 2018-11-24 Phil Thompson * qt/qscintilla_de.qm, qt/qscintilla_de.ts: Updated German translations from Detlev. [f293bafecde8] 2018-11-17 Phil Thompson * qt/ScintillaQt.h: Fixed the Linux build. [3ec0608d1744] * qt/SciClasses.cpp, qt/SciClasses.h: Removed the redundant explicit handling of the Esc key in popup lists. [a3d596e37561] * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::cancelFind(). [520cda104a4b] 2018-11-13 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added support for Cxx11 regular expressions to findFirst() and findFirstInSelection(). [9c022f775241] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added the remaining new API calls. [03f9682f7d6c] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added the new wrap indent mode. [4a786cbfd975] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added the style metadata messages. [e3e38b577a1f] * NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintillabase.h: Added the SCN_AUTOCSELECTIONCHANGE() signal. [156c8e0c6fb7] * NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintillabase.h: Added the new SCN_USERLISTSELECTION() signal overload. [031270944f93] * NEWS, Python/sip/qsciscintillabase.sip, qt/qscilexer.cpp, qt/qsciscintillabase.h: Added the character/code unit functions. [ff2e92ed2890] * qt/qscilexer.cpp, qt/qscilexer.h, qt/qscintilla.pro, qt/qsciscintilla.cpp: Don't use the deprecated style bits API calls. [2d1cf2b1019f] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added support for the new gradient indicators. [02e7b6ba2fdb] 2018-11-12 Phil Thompson * NEWS, Python/sip/qscilexerdiff.sip, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts: Updates to the diff lexer. [fb8a0cb48593] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added the symbolic names for the new lexers. [b8d4fab81221] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Implemented the SCN_URIDROPPED signal. [242bb09d23ea] * qt/qsciscintillabase.h: Documented SCN_DWELLSTART and SCN_DWELLEND. [8750296d855d] * qt/PlatQt.cpp: Removed some unused platform methods. [70c01135aa8d] * qt/InputMethod.cpp, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/SciNamespace.h, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp: Removed the support for the optional Scintilla namespace. [33998bb1d26a] 2018-11-11 Phil Thompson * BACKPORTING, License.txt, LongTermDownload.html, NEWS, README, check.mak, checkdeps.mak, cocoa/InfoBar.mm, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/QuartzTextLayout.h, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/Info.plist, cocoa/ScintillaFramework/Scinti llaFramework.xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/ScintillaView.mm, cppcheck.suppress, curses/Makefile, curses/README.md, curses/ScintillaCurses.cxx, curses/ScintillaCurses.h, curses/THANKS.md, curses/jinx/Makefile, curses/jinx/jinx.c, delbin.bat, doc/Design.html, doc/LPegLexer.html, doc/SciCoding.html, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/StyleMetadata.html, doc/index.html, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/ScintillaGTK.h, gtk/ScintillaGTKAccessible.cxx, gtk/ScintillaGTKAccessible.h, gtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla- marshal.h, gtk/scintilla-marshal.list, include/ILexer.h, include/ILoader.h, include/Platform.h, include/SciLexer.h, include/Sci_Position.h, include/Scintilla.h, include/Scintilla.iface, lexers/LexA68k.cxx, lexers/LexAPDL.cxx, lexers/LexASY.cxx, lexers/LexAU3.cxx, lexers/LexAVE.cxx, lexers/LexAVS.cxx, lexers/LexAbaqus.cxx, lexers/LexAda.cxx, lexers/LexAsm.cxx, lexers/LexAsn1.cxx, lexers/LexBaan.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexBatch.cxx, lexers/LexBibTeX.cxx, lexers/LexBullant.cxx, lexers/LexCLW.cxx, lexers/LexCOBOL.cxx, lexers/LexCPP.cxx, lexers/LexCSS.cxx, lexers/LexCaml.cxx, lexers/LexCmake.cxx, lexers/LexCoffeeScript.cxx, lexers/LexConf.cxx, lexers/LexCrontab.cxx, lexers/LexCsound.cxx, lexers/LexD.cxx, lexers/LexDMAP.cxx, lexers/LexDMIS.cxx, lexers/LexDiff.cxx, lexers/LexECL.cxx, lexers/LexEDIFACT.cxx, lexers/LexEScript.cxx, lexers/LexEiffel.cxx, lexers/LexErlang.cxx, lexers/LexErrorList.cxx, lexers/LexFlagship.cxx, lexers/LexForth.cxx, lexers/LexFortran.cxx, lexers/LexGAP.cxx, lexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx, lexers/LexHex.cxx, lexers/LexIndent.cxx, lexers/LexInno.cxx, lexers/LexJSON.cxx, lexers/LexKVIrc.cxx, lexers/LexKix.cxx, lexers/LexLPeg.cxx, lexers/LexLaTeX.cxx, lexers/LexLisp.cxx, lexers/LexLout.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx, lexers/LexMPT.cxx, lexers/LexMSSQL.cxx, lexers/LexMagik.cxx, lexers/LexMake.cxx, lexers/LexMarkdown.cxx, lexers/LexMatlab.cxx, lexers/LexMaxima.cxx, lexers/LexMetapost.cxx, lexers/LexModula.cxx, lexers/LexMySQL.cxx, lexers/LexNimrod.cxx, lexers/LexNsis.cxx, lexers/LexNull.cxx, lexers/LexOScript.cxx, lexers/LexOpal.cxx, lexers/LexPB.cxx, lexers/LexPLM.cxx, lexers/LexPO.cxx, lexers/LexPOV.cxx, lexers/LexPS.cxx, lexers/LexPascal.cxx, lexers/LexPerl.cxx, lexers/LexPowerPro.cxx, lexers/LexPowerShell.cxx, lexers/LexProgress.cxx, lexers/LexProps.cxx, lexers/LexPython.cxx, lexers/LexR.cxx, lexers/LexRebol.cxx, lexers/LexRegistry.cxx, lexers/LexRuby.cxx, lexers/LexRust.cxx, lexers/LexSAS.cxx, lexers/LexSML.cxx, lexers/LexSQL.cxx, lexers/LexSTTXT.cxx, lexers/LexScriptol.cxx, lexers/LexSmalltalk.cxx, lexers/LexSorcus.cxx, lexers/LexSpecman.cxx, lexers/LexSpice.cxx, lexers/LexStata.cxx, lexers/LexTACL.cxx, lexers/LexTADS3.cxx, lexers/LexTAL.cxx, lexers/LexTCL.cxx, lexers/LexTCMD.cxx, lexers/LexTeX.cxx, lexers/LexTxt2tags.cxx, lexers/LexVB.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx, lexers/LexVisualProlog.cxx, lexers/LexYAML.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h, lexlib/CharacterCategory.cxx, lexlib/CharacterCategory.h, lexlib/CharacterSet.cxx, lexlib/CharacterSet.h, lexlib/DefaultLexer.cxx, lexlib/DefaultLexer.h, lexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerBase.h, lexlib/LexerModule.cxx, lexlib/LexerModule.h, lexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h, lexlib/LexerSimple.cxx, lexlib/LexerSimple.h, lexlib/OptionSet.h, lexlib/PropSetSimple.cxx, lexlib/PropSetSimple.h, lexlib/SparseState.h, lexlib/StringCopy.h, lexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h, lexlib/WordList.cxx, lexlib/WordList.h, lib/README.doc, qt/InputMethod.cpp, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/SciClasses.h, qt/SciNamespace.h, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h, scripts/Face.py, scripts/FileGenerator.py, scripts/GenerateCaseConvert.py, scripts/HFacer.py, scripts/HeaderCheck.py, scripts/HeaderOrder.txt, scripts/LexGen.py, scripts/ScintillaData.py, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CallTip.h, src/CaseConvert.cxx, src/CaseConvert.h, src/CaseFolder.cxx, src/CaseFolder.h, src/Catalogue.cxx, src/Catalogue.h, src/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h, src/ContractionState.cxx, src/ContractionState.h, src/DBCS.cxx, src/DBCS.h, src/Decoration.cxx, src/Decoration.h, src/Document.cxx, src/Document.h, src/EditModel.cxx, src/EditModel.h, src/EditView.cxx, src/EditView.h, src/Editor.cxx, src/Editor.h, src/ElapsedPeriod.h, src/ExternalLexer.cxx, src/ExternalLexer.h, src/FontQuality.h, src/Indicator.cxx, src/Indicator.h, src/IntegerRectangle.h, src/KeyMap.cxx, src/KeyMap.h, src/LineMarker.cxx, src/LineMarker.h, src/MarginView.cxx, src/MarginView.h, src/Partitioning.h, src/PerLine.cxx, src/PerLine.h, src/Position.h, src/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx, src/RESearch.h, src/RunStyles.cxx, src/RunStyles.h, src/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx, src/Selection.h, src/SparseVector.h, src/SplitVector.h, src/Style.cxx, src/Style.h, src/UniConversion.cxx, src/UniConversion.h, src/UnicodeFromUTF8.h, src/UniqueString.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/README, test/ScintillaCallable.py, test/XiteWin.py, test/lexTests.py, test/performanceTests.py, test/simpleTests.py, test/test_lexlua.lua, test/unit/Sci.natvis, test/unit/UnitTester.cxx, test/unit/UnitTester.vcxproj, test/unit/catch.hpp, test/unit/makefile, test/unit/test.mak, test/unit/testCellBuffer.cxx, test/unit/testCharClassify.cxx, test/unit/testContractionState.cxx, test/unit/testDecoration.cxx, test/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx, test/unit/testSparseState.cxx, test/unit/testSparseVector.cxx, test/unit/testSplitVector.cxx, test/unit/testUniConversion.cxx, test/unit/testUnicodeFromUTF8.cxx, test/unit/testWordList.cxx, test/unit/unitTest.cxx, version.txt, win32/CheckD2D.cxx, win32/HanjaDic.cxx, win32/HanjaDic.h, win32/PlatWin.cxx, win32/PlatWin.h, win32/SciLexer.vcxproj, win32/ScintRes.rc, win32/ScintillaDLL.cxx, win32/ScintillaWin.cxx, win32/ScintillaWin.h, win32/deps.mak, win32/makefile, win32/scintilla.mak: The v3.10.1 based code will now build - otherwise untested. [cb6d486795ec] 2018-11-05 Phil Thompson * NEWS: Updated the NEWS file. [a99dfcd91f84] * qt/qscintilla_cs.ts, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts: Updated the translation files. [1529479f8a31] * Python/configure.py, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qscilexerpython.cpp, qt/qscintilla.pro, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Merged the 2.10-maint branch with the trunk. [5fcc66abfca0] 2018-10-01 Phil Thompson * .hgtags: Added tag 2.10.8 for changeset 57c8b6076899 [b565980f962b] <2.10-maint> * NEWS: Released as v2.10.8. [57c8b6076899] [2.10.8] <2.10-maint> 2018-09-30 Phil Thompson * NEWS: Updated the NEWS file. [345f597a4a90] <2.10-maint> 2018-08-02 Phil Thompson * qt/SciAccessibility.cpp: More accessibility fixes. [2cc2d6865762] <2.10-maint> * qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/qscintilla.pro: Refactored the accessibility support to use less of the Qt stuff which doesn't handle CR-LF end-of-lines. [8b2d6e3e73d8] <2.10-maint> 2018-07-15 Phil Thompson * NEWS: Updated the NEWS file. [fc1deaccc716] <2.10-maint> 2018-06-29 Phil Thompson * .hgtags: Added tag 2.10.7 for changeset 60598a703fd4 [8828f9ad7dc6] <2.10-maint> * NEWS: Released as v2.10.7. [60598a703fd4] [2.10.7] <2.10-maint> * NEWS: Updated the NEWS file. [92edf18019ec] <2.10-maint> 2018-06-25 Phil Thompson * NEWS, Python/sip/qsciscintillabase.sip: Tweaked the signature of the QscoScintillaBase::SCN_MACRORECORD() signal so that it matches what Qt uses so that the signal test passes. [bfcd9319329a] <2.10-maint> 2018-06-23 Phil Thompson * .hgtags: Added tag 2.10.6 for changeset dc0993c72a05 [9c774d0a9694] <2.10-maint> * NEWS: Released as v2.10.6. [dc0993c72a05] [2.10.6] <2.10-maint> 2018-06-22 Phil Thompson * .hgtags: Added tag 2.10.5 for changeset f35b3a43a241 [8cf5694ca328] <2.10-maint> * NEWS: Released as v2.10.5. [f35b3a43a241] [2.10.5] <2.10-maint> 2018-06-21 Phil Thompson * NEWS: Updated the NEWS file. [12cb1a2f5ec6] <2.10-maint> 2018-06-19 Phil Thompson * NEWS, Python/sip/qscistyle.sip, qt/qscistyle.cpp, qt/qscistyle.h: Added setStyle() to QsciStyle. [cf5281041224] <2.10-maint> 2018-06-16 Phil Thompson * qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated Spanish translations from Jaime Seuma. [a479b9f5436f] <2.10-maint> 2018-06-09 Phil Thompson * qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm: Updated German translations from Detlev. [f69379899fb3] <2.10-maint> 2018-06-04 Phil Thompson * NEWS, Python/configure.py: Implemented support for the .dist-info directory. [387aa9bf6ad8] <2.10-maint> 2018-06-03 Phil Thompson * NEWS, Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp, qt/ScintillaQt.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Fixes for font changes caused by dragging to a different display. [27b1f435e27a] <2.10-maint> 2018-05-29 Phil Thompson * qt/PlatQt.cpp: Disable to macOS use of integer font metrics for Qt5 as it is (probably) specific to Qt4. [c32fe0c4e55d] <2.10-maint> * qt/PlatQt.cpp: Fixed cursor positioning when using a secondary display with different scaling to the primary. [20420b7c4a4d] <2.10-maint> 2018-05-22 Phil Thompson * qt/qscilexerverilog.cpp: Fix the handling of the 'fold.verilog.flags' property in the Verilog lexer. [9b698ba38c2b] <2.10-maint> 2018-05-16 Phil Thompson * qt/qscilexerverilog.cpp, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts: Added the missing descriptions of inactive styles in the Verilog lexer. [4be691232e03] <2.10-maint> 2018-05-15 Phil Thompson * qt/qscilexer.h: Updated the QsciLexer::keywords() documentation to point out that sets are numbered from 1. [5954b91e7ec1] <2.10-maint> 2018-04-26 Phil Thompson * Python/sip/qscilexeredifact.sip, qt/qscilexeredifact.cpp, qt/qscilexeredifact.h: Added some default colours to the EDIFACT lexer. [175598286833] <2.10-maint> 2018-04-20 Phil Thompson * NEWS, Python/sip/qscilexeredifact.sip, qt/qscilexeredifact.cpp, qt/qscilexeredifact.h, qt/qscintilla.pro, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts: Added the QsciLexerEDIFACT class. [c1e31857f3e7] <2.10-maint> * qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: If the context menu is invoked when the cursor is outside the selection then the selection is cleared and the cursor moved to where the mouse was clicked. [7d230dad9379] <2.10-maint> 2018-04-19 Phil Thompson * Python/sip/qsciscintilla.sip, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Control-wheel up/down will now zoom in and out. [ba0049fe03b6] <2.10-maint> 2018-04-11 Phil Thompson * qt/PlatQt.cpp, qt/qsciabstractapis.cpp, qt/qscilexerpython.cpp, qt/qscilexerxml.cpp, qt/qsciscintilla.cpp: Removed warning messages about unused variables. [c2008ef93ee0] <2.10-maint> * qt/qscicommandset.cpp: Fixed the saving of alternative keys in the settings. [687470e937c1] <2.10-maint> * qt/ScintillaQt.cpp, qt/qsciapis.cpp, qt/qsciscintilla.cpp: Various stylistic changes to eliminate some warning messages. [dc753169870e] <2.10-maint> 2018-04-10 Phil Thompson * .hgtags: Added tag 2.10.4 for changeset 24cb0edc89a9 [05ada666e2cf] <2.10-maint> * NEWS: Released as v2.10.4. [24cb0edc89a9] [2.10.4] <2.10-maint> * qt/SciAccessibility.cpp: Fixed the retrieval of accessibility attributes. [e430a7dd7818] <2.10-maint> 2018-04-07 Phil Thompson * qt/qscilexer.cpp: Use STYLE_MAX to define the maximum number of styles. [23ca0cad0227] <2.10-maint> 2018-03-11 Phil Thompson * qt/qscintilla.pro: Force QT_NO_ACCESSIBILITY when building against Qt4. [b65f48ec1852] <2.10-maint> 2018-02-27 Phil Thompson * .hgtags: Added tag 2.10.3 for changeset bc769d6fcf53 [279625f1d8c9] <2.10-maint> * NEWS: Released as v2.10.3. [bc769d6fcf53] [2.10.3] <2.10-maint> * rb-product: Updated the PyQt5 wheel dependency. [7cef6e297ddf] <2.10-maint> * NEWS: Updated the NEWS file. [1e073e29eca4] <2.10-maint> 2018-02-10 Phil Thompson * qsci/api/python/Python-3.7.api: Added the API file for Python v3.70b1. [6d0032674462] <2.10-maint> 2018-02-07 Phil Thompson * qt/qsciscintilla.cpp: Fix the hotspot active background colour. [45cfd8c68394] <2.10-maint> * qt/SciAccessibility.cpp, qt/SciAccessibility.h: Completed the accessibility support. [2af3a5b045fa] <2.10-maint> 2018-02-06 Phil Thompson * qt/SciAccessibility.cpp, qt/SciAccessibility.h: Implemented all of the accessible interface except for attributes(). [434539a243dc] <2.10-maint> * qt/SciAccessibility.cpp: Implemented more of the accessible interface. [e8f3df5442cc] <2.10-maint> * qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/ScintillaQt.cpp: Implemented more of the accessible interface. [fb26d9fdba27] <2.10-maint> 2018-02-05 Phil Thompson * qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/ScintillaQt.cpp, qt/qsciscintillabase.cpp: More accessibility progress. [ea2432348b49] <2.10-maint> * qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/ScintillaQt.cpp: Some progress on accessibility. [055345b62d7b] <2.10-maint> * qt/qscintilla.pro: Updated the version of the shared library. [fb50133f8770] <2.10-maint> 2018-02-04 Phil Thompson * qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp: Added the stubs for accessibility support. [61e00a4f944f] <2.10-maint> * qt/SciAccessibility.cpp, qt/SciAccessibility.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp: Added the stubs for accessibility support. [8f2f20b663f1] * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts: Updated the .ts files. [7630e7c16a42] * Python/sip/qscilexerpython.sip, qt/qscilexerpython.cpp, qt/qscilexerpython.h: Added the DoubleQuotedFString, SingleQuotedFString, TripleSingleQuotedFString and TripleDoubleQuotedFString styles to QsciLexerPython. [69a152791250] * Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::setCaretLineFrameWidth(). [61ed51375157] * Python/sip/qscicommand.sip: Added ReverseLines to the Python bindings. [132758b054dc] * qt/qscicommand.h: Added ReverseLines to QsciCommand::Command. [1cecbd08c177] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added SCLEX_INDENT, SCI_GETCARETLINEFRAME, SCI_SETCARETLINEFRAME, SCI_SETACCESSIBILITY, SCI_GETACCESSIBILITY and SCI_LINEREVERSE. [4a5c2bea7d34] 2018-02-03 Phil Thompson * Python/configure-old.py, Python/configure.py, designer- Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, qt/ScintillaQt.h, qt/qscintilla.pro: Fixes to build with the latest code. [262ad022e5b6] * README, cocoa/InfoBar.mm, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/Info.plist, cocoa/ScintillaFramework/Scinti llaFramework.xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.h, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaTest/English.lproj/MainMenu.xib, cocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/ScintillaView.mm, cppcheck.suppress, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/ScintillaGTK.h, gtk/ScintillaGTKAccessible.cxx, gtk/ScintillaGTKAccessible.h, gtk/deps.mak, gtk/makefile, include/Platform.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, lexers/LexAsm.cxx, lexers/LexBaan.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexCPP.cxx, lexers/LexD.cxx, lexers/LexDMIS.cxx, lexers/LexDiff.cxx, lexers/LexEDIFACT.cxx, lexers/LexErrorList.cxx, lexers/LexFortran.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx, lexers/LexIndent.cxx, lexers/LexJSON.cxx, lexers/LexLaTeX.cxx, lexers/LexLua.cxx, lexers/LexMatlab.cxx, lexers/LexPerl.cxx, lexers/LexPowerShell.cxx, lexers/LexProgress.cxx, lexers/LexProps.cxx, lexers/LexPython.cxx, lexers/LexRegistry.cxx, lexers/LexRust.cxx, lexers/LexSQL.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx, lexers/LexVisualProlog.cxx, lexers/LexYAML.cxx, lexlib/Accessor.cxx, lexlib/CharacterCategory.cxx, lexlib/CharacterCategory.h, lexlib/CharacterSet.cxx, lexlib/CharacterSet.h, lexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerModule.cxx, lexlib/LexerModule.h, lexlib/LexerNoExceptions.cxx, lexlib/LexerSimple.cxx, lexlib/PropSetSimple.cxx, lexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/WordList.cxx, scripts/FileGenerator.py, scripts/HeaderOrder.txt, scripts/LexGen.py, scripts/ScintillaData.py, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CallTip.h, src/CaseConvert.cxx, src/CaseFolder.h, src/Catalogue.cxx, src/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h, src/ContractionState.cxx, src/ContractionState.h, src/Decoration.cxx, src/Decoration.h, src/Document.cxx, src/Document.h, src/EditModel.cxx, src/EditModel.h, src/EditView.cxx, src/EditView.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/ExternalLexer.h, src/Indicator.cxx, src/KeyMap.cxx, src/LineMarker.cxx, src/LineMarker.h, src/MarginView.cxx, src/MarginView.h, src/Partitioning.h, src/PerLine.cxx, src/PerLine.h, src/Position.h, src/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx, src/RESearch.h, src/RunStyles.cxx, src/RunStyles.h, src/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx, src/Selection.h, src/SparseVector.h, src/SplitVector.h, src/Style.cxx, src/Style.h, src/UniConversion.cxx, src/UniConversion.h, src/UniqueString.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/gi/Scintilla- filtered.h, test/unit/testCellBuffer.cxx, test/unit/testCharClassify.cxx, test/unit/testContractionState.cxx, test/unit/testDecoration.cxx, test/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx, test/unit/testSparseState.cxx, test/unit/testSparseVector.cxx, test/unit/testSplitVector.cxx, test/unit/testUnicodeFromUTF8.cxx, version.txt, win32/HanjaDic.cxx, win32/PlatWin.cxx, win32/SciLexer.vcxproj, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak: Rebased on Scintilla v3.7.6. [4822c10e2b59] * Merged the 2.10-maint branch into the trunk. [64e6e4c3471d] 2017-11-23 Phil Thompson * .hgtags: Added tag 2.10.2 for changeset bdfb9584af36 [d127fc44d4c4] <2.10-maint> * NEWS: Released as v2.10.2. [bdfb9584af36] [2.10.2] <2.10-maint> * qt/qscintilla.pro: Bumed the .so minor version. [4bb28057d3c2] <2.10-maint> 2017-11-13 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added setScrollWidth() , scrollWidth, setScrollWidthTracking() and scrollWidthTracking() to QsciScintilla. [c6e64e99cb12] <2.10-maint> 2017-11-01 Phil Thompson * qt/qsciscintilla.cpp: Fixed the handling of UTF8 call tips. [7aa9b863f330] <2.10-maint> 2017-07-04 Phil Thompson * qt/qscintilla.pro: Fixed case sensitivity of a couple of file names. [e9d9b80fd61b] <2.10-maint> * .hgignore: Ignore the new-style build directory. [6c20c6b41705] <2.10-maint> 2017-07-03 Phil Thompson * .hgtags: Added tag 2.10.1 for changeset 20e0e2d419ba [d6eba6c9e5ce] <2.10-maint> * NEWS: Released as v2.10.1. [20e0e2d419ba] [2.10.1] <2.10-maint> * rb-product: Updated the PyQt5 dependency to v5.9. [83200ee6b295] <2.10-maint> 2017-05-24 Phil Thompson * lib/README.doc: Updated the docs regarding use of build options supported by Scintilla. [fe6e73057d9e] <2.10-maint> 2017-05-15 Phil Thompson * Python/sip/qscilexer.sip, Python/sip/qscilexeravs.sip, Python/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip, Python/sip/qscilexercoffeescript.sip, Python/sip/qscilexercpp.sip, Python/sip/qscilexercss.sip, Python/sip/qscilexerd.sip, Python/sip/qscilexerfortran77.sip, Python/sip/qscilexerhtml.sip, Python/sip/qscilexerlua.sip, Python/sip/qscilexerpascal.sip, Python/sip/qscilexerperl.sip, Python/sip/qscilexerpostscript.sip, Python/sip/qscilexerpov.sip, Python/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip, Python/sip/qscilexerspice.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexertcl.sip, Python/sip/qscilexerverilog.sip, Python/sip/qscilexervhdl.sip: Added the lexer-specific re-implementations of previously internal methods to the Python bindings. [e8402392cedc] <2.10-maint> 2017-03-22 Phil Thompson * qt/qscintilla.pro: Enabled explicit C++11 support for Linux for old versions of GCC. [e0e0b344ccf1] <2.10-maint> 2017-03-16 Phil Thompson * qt/qscilexer.cpp: Changed the default macOS font to Menlo 12pt as it has bold etc. [39d69e37d352] <2.10-maint> * qt/qscilexer.cpp: Changed the default font on macOS to Monaco 12pt. [9030535e2457] <2.10-maint> * Python/configure.py: Fixed the rpath change of the Python bindings on macOS. [dd45e695812a] <2.10-maint> 2017-02-22 Phil Thompson * qt/qscintilla.pro: Fixed the .pro file so that debug builds match the features file. [1aedd0c6eeda] <2.10-maint> 2017-02-20 Phil Thompson * .hgtags: Added tag 2.10 for changeset 6c07847b2835 [2442f8d2df34] * NEWS: Released as v2.10. [6c07847b2835] [2.10] * qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm: Updated the .qm files. [3b3c5924e746] * qt/qscintilla_fr.ts: Partial updated French translations from Alan Garny. [ca2d6917015e] 2017-02-17 Phil Thompson * Python/sip/qsciscintillabase.sip: Added /Transfer/ to the scroll bar replacement functions. [49cf7181402a] 2017-02-15 Phil Thompson * qt/qscintilla_de.ts: Updated German translations from Detlev. [51cca6073075] 2017-02-14 Phil Thompson * qt/qscintilla_es.ts: Updated Spanish translations from Jaime Seuma. [0e30abdd0907] 2017-02-13 Phil Thompson * designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, qt/qscintilla.pro: Removed the 'release' option from all CONFIG lines. [0901267a8e49] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added replaceHorizontalScrollBar() and replaceVerticalScrollBar() to QsciScintillaBase. [bb7efd26b8b3] * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts: Updated the translation files. [76c23d751930] 2017-01-21 Phil Thompson * Python/sip/qscilexermarkdown.sip, qt/qscilexerjson.cpp, qt/qscilexermarkdown.cpp, qt/qscilexermarkdown.h: Updated the Markdown lexer with the latest settings from Detlev. [9e9992a4e9f7] 2017-01-17 Phil Thompson * qt/qsciapis.cpp: Fixed problems with auto-completion lists where contexts and image identifiers were getting lost. [039599ba1b85] 2017-01-16 Phil Thompson * designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro: Fixed the example and designer plugin .pro files for the change library name. [d6c564089958] * lib/README.doc: Updated website links to https. [18a7013d4f8b] * qt/qsciabstractapis.h, qt/qsciapis.h, qt/qscicommand.h, qt/qscicommandset.h, qt/qscidocument.h, qt/qsciglobal.h, qt/qscilexer.h, qt/qscilexeravs.h, qt/qscilexerbash.h, qt/qscilexerbatch.h, qt/qscilexercmake.h, qt/qscilexercoffeescript.h, qt/qscilexercpp.h, qt/qscilexercsharp.h, qt/qscilexercss.h, qt/qscilexercustom.h, qt/qscilexerd.h, qt/qscilexerdiff.h, qt/qscilexerfortran.h, qt/qscilexerfortran77.h, qt/qscilexerhtml.h, qt/qscilexeridl.h, qt/qscilexerjava.h, qt/qscilexerjavascript.h, qt/qscilexerjson.h, qt/qscilexerlua.h, qt/qscilexermakefile.h, qt/qscilexermarkdown.h, qt/qscilexermatlab.h, qt/qscilexeroctave.h, qt/qscilexerpascal.h, qt/qscilexerperl.h, qt/qscilexerpo.h, qt/qscilexerpostscript.h, qt/qscilexerpov.h, qt/qscilexerproperties.h, qt/qscilexerpython.h, qt/qscilexerruby.h, qt/qscilexerspice.h, qt/qscilexersql.h, qt/qscilexertcl.h, qt/qscilexertex.h, qt/qscilexerverilog.h, qt/qscilexervhdl.h, qt/qscilexerxml.h, qt/qscilexeryaml.h, qt/qscimacro.h, qt/qsciprinter.h, qt/qsciscintilla.h, qt/qsciscintillabase.h, qt/qscistyle.h, qt/qscistyledtext.h: Removed all the __APPLE__ C++ linkages. [ecd39912cb9b] * NEWS, Python/sip/qscilexer.sip, qt/qscilexer.h: The previously internal methods of QsciLexer are now part of the public API and are exposed to Python. [4791eae227c6] * NEWS, Python/configure.py, qt/features/qscintilla2.prf, qt/features_staticlib/qscintilla2.prf, qt/qscintilla.pro: The name of the library now embeds the major version of Qt so that Qt4 and Qt5 libraries can be installed in the same directory. [b501dcc67049] * NEWS, Python/sip/qsciscintilla.sip, qt/qscilexercustom.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Implemented QscScintilla::bytes() and a corresponding text() overload mainly for the use of QsciLexerCustom::styleText() implementations. [ed7a5a072695] 2017-01-15 Phil Thompson * Python/sip/qsciscintillabase.sip: Updated the sub-class convertor code. [ee4e6efa0576] * NEWS, Python/sip/qscilexermarkdown.sip, Python/sip/qscimodcommon.sip, qt/qscilexermarkdown.cpp, qt/qscilexermarkdown.h, qt/qscintilla.pro: Added the QsciLexerMarkdown class. [0b5e03e0b64f] 2017-01-11 Phil Thompson * NEWS, Python/sip/qscilexerjson.sip, Python/sip/qscimodcommon.sip, qt/qscilexerjson.cpp, qt/qscilexerjson.h, qt/qscintilla.pro: Implemented QsciLexerJSON. [bb5118a2b0cb] 2017-01-05 Phil Thompson * NEWS, Python/sip/qscilexercoffeescript.sip, qt/qscilexercoffeescript.cpp, qt/qscilexercoffeescript.h: Added InstanceProperty to QsciLexerCoffeeScript. [2a6987f4c3c3] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Implemented the new notifications. [12ba81979751] 2017-01-04 Phil Thompson * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added the low-level popup options. [6a6fccaf8adf] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added support for multiple edge columns. [761b940d39c6] 2017-01-03 Phil Thompson * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added the low-level idle styling support. [fe8c747abb81] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added the low-level support for fold text. [3afaaf7830c6] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Updates to the low-level target support. [709bfb578a28] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added support for the additional indicators. [fb7bcbfc6c96] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added some more low-level constants. [d19d12e79c31] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added support for setting the margin background colour. Added support for setting the number of margins. [407db46c80a6] * qt/qscilexercustom.cpp, qt/qscilexercustom.h: Fixed QsciLexerCustom::startStyling() now that the 2nd argument isn't used. [2d4cc3cdb123] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added support for visible whitespace in indentations only. Added support for tab drawing modes. [1ef385e510b8] * qt/InputMethod.cpp: Updated the inputMethodEvent() implementation. [f0060458bd73] 2017-01-02 Phil Thompson * qt/InputMethod.cpp, qt/ScintillaQt.cpp, qt/ScintillaQt.h: Fixed compilation bugs with SCI_NAMESPACE defined. [ef072ff5da5e] * lib/README.doc: Minor documentation updates. [f89ceb95b9c5] * qt/qsciscintillabase.cpp: Fixed compilation bugs. [8fdfb9bca00d] * CONTRIBUTING, Python/configure-old.py, Python/configure.py, README, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/Info.plist, cocoa/ ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj, coc oa/ScintillaFramework/ScintillaFramework.xcodeproj/project.xcworkspa ce/contents.xcworkspacedata, cocoa/ScintillaFramework/ScintillaFrame work.xcodeproj/xcshareddata/xcschemes/Scintilla.xcscheme, cocoa/ScintillaFramework/module.modulemap, cocoa/ScintillaTest/AppController.h, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaTest/English.lproj/MainMenu.xib, cocoa/ScintillaTest/Info.plist, cocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/S cintillaTest/ScintillaTest.xcodeproj/project.xcworkspace/contents.xc workspacedata, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, cocoa/checkbuildosx.sh, cppcheck.suppress, delcvs.bat, designer- Qt4Qt5/designer.pro, doc/Design.html, doc/Icons.html, doc/Lexer.txt, doc/Privacy.html, doc/SciCoding.html, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/ScintillaUsage.html, doc/index.html, example- Qt4Qt5/application.pro, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/ScintillaGTK.h, gtk/ScintillaGTKAccessible.cxx, gtk/ScintillaGTKAccessible.h, gtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla- marshal.h, gtk/scintilla-marshal.list, include/ILexer.h, include/Platform.h, include/SciLexer.h, include/Sci_Position.h, include/Scintilla.h, include/Scintilla.iface, include/ScintillaWidget.h, lexers/LexA68k.cxx, lexers/LexAPDL.cxx, lexers/LexASY.cxx, lexers/LexAU3.cxx, lexers/LexAVE.cxx, lexers/LexAVS.cxx, lexers/LexAbaqus.cxx, lexers/LexAda.cxx, lexers/LexAsm.cxx, lexers/LexAsn1.cxx, lexers/LexBaan.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexBatch.cxx, lexers/LexBibTeX.cxx, lexers/LexBullant.cxx, lexers/LexCLW.cxx, lexers/LexCOBOL.cxx, lexers/LexCPP.cxx, lexers/LexCSS.cxx, lexers/LexCaml.cxx, lexers/LexCmake.cxx, lexers/LexCoffeeScript.cxx, lexers/LexConf.cxx, lexers/LexCrontab.cxx, lexers/LexCsound.cxx, lexers/LexD.cxx, lexers/LexDMAP.cxx, lexers/LexDMIS.cxx, lexers/LexDiff.cxx, lexers/LexECL.cxx, lexers/LexEDIFACT.cxx, lexers/LexEScript.cxx, lexers/LexEiffel.cxx, lexers/LexErlang.cxx, lexers/LexErrorList.cxx, lexers/LexFlagship.cxx, lexers/LexForth.cxx, lexers/LexFortran.cxx, lexers/LexGAP.cxx, lexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx, lexers/LexHex.cxx, lexers/LexInno.cxx, lexers/LexJSON.cxx, lexers/LexKVIrc.cxx, lexers/LexKix.cxx, lexers/LexLaTeX.cxx, lexers/LexLisp.cxx, lexers/LexLout.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx, lexers/LexMPT.cxx, lexers/LexMSSQL.cxx, lexers/LexMagik.cxx, lexers/LexMake.cxx, lexers/LexMarkdown.cxx, lexers/LexMatlab.cxx, lexers/LexMetapost.cxx, lexers/LexModula.cxx, lexers/LexMySQL.cxx, lexers/LexNimrod.cxx, lexers/LexNsis.cxx, lexers/LexNull.cxx, lexers/LexOScript.cxx, lexers/LexOpal.cxx, lexers/LexOthers.cxx, lexers/LexPB.cxx, lexers/LexPLM.cxx, lexers/LexPO.cxx, lexers/LexPOV.cxx, lexers/LexPS.cxx, lexers/LexPascal.cxx, lexers/LexPerl.cxx, lexers/LexPowerPro.cxx, lexers/LexPowerShell.cxx, lexers/LexProgress.cxx, lexers/LexProps.cxx, lexers/LexPython.cxx, lexers/LexR.cxx, lexers/LexRebol.cxx, lexers/LexRegistry.cxx, lexers/LexRuby.cxx, lexers/LexRust.cxx, lexers/LexSML.cxx, lexers/LexSQL.cxx, lexers/LexSTTXT.cxx, lexers/LexScriptol.cxx, lexers/LexSmalltalk.cxx, lexers/LexSorcus.cxx, lexers/LexSpecman.cxx, lexers/LexSpice.cxx, lexers/LexTACL.cxx, lexers/LexTADS3.cxx, lexers/LexTAL.cxx, lexers/LexTCL.cxx, lexers/LexTCMD.cxx, lexers/LexTeX.cxx, lexers/LexTxt2tags.cxx, lexers/LexVB.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx, lexers/LexVisualProlog.cxx, lexers/LexYAML.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h, lexlib/CharacterSet.cxx, lexlib/CharacterSet.h, lexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerBase.h, lexlib/LexerModule.cxx, lexlib/LexerModule.h, lexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h, lexlib/LexerSimple.cxx, lexlib/LexerSimple.h, lexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h, lexlib/WordList.cxx, lexlib/WordList.h, qt/qscintilla.pro, scripts/Face.py, scripts/FileGenerator.py, scripts/GenerateCaseConvert.py, scripts/HeaderCheck.py, scripts/HeaderOrder.txt, scripts/LexGen.py, scripts/ScintillaData.py, src/AutoComplete.cxx, src/CallTip.cxx, src/CaseConvert.cxx, src/CaseConvert.h, src/CaseFolder.cxx, src/Catalogue.cxx, src/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h, src/ContractionState.cxx, src/ContractionState.h, src/Decoration.cxx, src/Document.cxx, src/Document.h, src/EditModel.cxx, src/EditModel.h, src/EditView.cxx, src/EditView.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/Indicator.cxx, src/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/LineMarker.cxx, src/MarginView.cxx, src/PerLine.cxx, src/Position.h, src/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx, src/RESearch.h, src/RunStyles.cxx, src/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx, src/Selection.h, src/SparseVector.h, src/SplitVector.h, src/Style.cxx, src/Style.h, src/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, test/ScintillaCallable.py, test/XiteQt.py, test/XiteWin.py, test/examples/perl-test- 5220delta.pl, test/examples/perl-test-5220delta.pl.styled, test/examples/perl-test-sub-prototypes.pl, test/examples/perl-test- sub-prototypes.pl.styled, test/gi/Scintilla-0.1.gir.good, test/gi /Scintilla-filtered.h, test/gi/filter-scintilla-h.py, test/gi/gi- test.py, test/gi/makefile, test/lexTests.py, test/simpleTests.py, test/unit/Sci.natvis, test/unit/UnitTester.cxx, test/unit/UnitTester.vcxproj, test/unit/makefile, test/unit/test.mak, test/unit/testCellBuffer.cxx, test/unit/testContractionState.cxx, test/unit/testDecoration.cxx, test/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx, test/unit/testSparseState.cxx, test/unit/testSparseVector.cxx, test/unit/testSplitVector.cxx, test/unit/testWordList.cxx, version.txt, win32/HanjaDic.cxx, win32/HanjaDic.h, win32/PlatWin.cxx, win32/SciLexer.vcxproj, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak: Initial merge of Scintilla v3.7.2. [abbfc844caaa] * lib/LICENSE.commercial.short, lib/LICENSE.gpl, lib/LICENSE.gpl.short: Updated the copyright notices. [10d2ba70b9d0] * Makefile, build.py: Merged the v2.9 maintenance branch. [8c0c0a19a3c8] 2016-12-25 Phil Thompson * .hgtags: Added tag 2.9.4 for changeset 06e486532f86 [a0e7ce41b57a] <2.9-maint> * NEWS: Released as v2.9.4. [06e486532f86] [2.9.4] <2.9-maint> 2016-12-24 Phil Thompson * qsci/api/python/Python-3.6.api: Added the .api file for Python v3.6. [4af5841ab5d2] <2.9-maint> 2016-11-07 Phil Thompson * qt/qsciscintillabase.cpp: Updated a comment to explain why setting custom scrollbars doesn't work. [757ca3bbc419] <2.9-maint> 2016-10-25 Phil Thompson * Python/configure.py: Fixed configure.py for Python v2. [6d784269a812] <2.9-maint> 2016-10-23 Phil Thompson * Python/sip/qscimod4.sip, Python/sip/qscimod5.sip: Explicitly %Import the QtCore module so that it is imported in the .pyi file. [fec61f546e2b] <2.9-maint> 2016-09-26 Phil Thompson * lib/README.doc: Removed some (possibly out of date) information about installation on macOS. [c793591a8192] <2.9-maint> * qt/InputMethod.cpp: Disable the hack for handling null input method method events on Windows as there are reports that this breaks character composition. [42977285ae81] <2.9-maint> 2016-09-25 Phil Thompson * qt/qsciscintilla.cpp: Fixed a Qt warning about a too large red value in a QColor. [f9af82c24301] <2.9-maint> 2016-09-23 Phil Thompson * rb-product: Added the minimum PyQt5 wheel version to the product file. [11d2fb4dc51a] <2.9-maint> 2016-09-10 Phil Thompson * Python/configure.py, rb-product: Updated the handling of the minimum SIP version. [1e50ffa9dac1] <2.9-maint> 2016-09-09 Phil Thompson * Python/sip/qscimod5.sip: The limited API is now used for the Python bindings. [a2b8118a4483] <2.9-maint> 2016-08-08 Phil Thompson * Makefile, build.py: Removed the old internal build system. [522e8b386eef] <2.9-maint> 2016-07-25 Phil Thompson * METADATA.in: Removed the Obsoletes tag from METADATA. [fbf9aa05d0b4] <2.9-maint> * .hgtags: Added tag 2.9.3 for changeset 19c9752958b7 [fb5cd006685f] <2.9-maint> * NEWS: Released as v2.9.3. [19c9752958b7] [2.9.3] <2.9-maint> 2016-07-19 Phil Thompson * METADATA.in: Updated METADATA. [aa51b27d9baf] <2.9-maint> 2016-06-21 Phil Thompson * build.py, lib/qscintilla.dxy: Simplify the generation of the doxygen documentation. [12575460cd55] <2.9-maint> * rb-product, rbproduct.py: Replaced the product plugin with a product file. [846ad54d791e] <2.9-maint> 2016-06-10 Phil Thompson * qt/ScintillaQt.cpp, qt/qscintilla.pro: Fixed a flicker problem on OS X. [c1482a759dc0] <2.9-maint> 2016-05-12 Phil Thompson * METADATA.in, rbproduct.py: Try to prevent the GPL and commercial versions being installed at the same time. (Although it doesn't seem to work.) [826424d291a2] <2.9-maint> * METADATA.in, rbproduct.py: Configure the PKG-INFO meta-data according to the license. [e3243207aa15] <2.9-maint> 2016-05-10 Phil Thompson * rbproduct.py: More changes to the product plugin required by rbtools. [437e6032e4df] <2.9-maint> 2016-05-09 Phil Thompson * rbproduct.py: Updated the product plugin for the latest rbtools changes. [393cae59af91] <2.9-maint> 2016-04-22 Phil Thompson * METADATA.in: Updated the meta-data now that Linux wheels are available from PyPI. [40f18e066c6f] <2.9-maint> 2016-04-18 Phil Thompson * .hgtags: Added tag 2.9.2 for changeset 15888f3e91ce [5cd132938309] <2.9-maint> * NEWS: Released as v2.9.2. [15888f3e91ce] [2.9.2] <2.9-maint> * Python/sip/qsciscintillabase.sip: Remove all deprecated /DocType/ annotations. [b9d570ab642a] <2.9-maint> 2016-04-17 Phil Thompson * rbproduct.py: Locate the static library on Windows. [dd8c14dace83] <2.9-maint> * rbproduct.py: Fixed a typo. [baf5c942f528] <2.9-maint> * rbproduct.py: Add any pre-installed .api files to the wheel. [cf7b6302ae83] <2.9-maint> * rbproduct.py: Exploit verbose mode in the product plugin. [da743c037880] <2.9-maint> * rbproduct.py: Fixed permissions of the product plugin. [6fac075e0b88] <2.9-maint> 2016-04-16 Phil Thompson * Makefile: Updated the clean target. [692b14f48ade] <2.9-maint> * rbproduct.py: The wheel now includes translations and API files. [bf911094e537] <2.9-maint> * METADATA.in, Makefile, Python/configure.py, build.py, rbproduct.py: Added the initial support for creating wheels. [da0a5d22e864] <2.9-maint> * Makefile, build.py: Added the --omit-license-tag option to build.py. Added the dist- wheel-gpl target to the master Makefile. [a63c245de735] <2.9-maint> 2016-04-15 Phil Thompson * Python/configure-old.py, Python/configure.py, build.py, qt/features/qscintilla2.prf, qt/features_staticlib/qscintilla2.prf, qt/qsciglobal.h, qt/qscintilla.pro: Symbols are now hidden if possible on all platforms. Improved the handling of QSCINTILLA_DLL so it should be completely automatic. Removed the --no-dll option to configure.py. [e35caca29dd6] <2.9-maint> 2016-03-25 Phil Thompson * Python/configure-old.py, build.py: Use the new naming standards for development versions. [21d2f882320a] <2.9-maint> 2016-03-14 Phil Thompson * Python/configure.py, build.py: The configure.py boilerplate code is applied automatically. [848f3fca41c0] <2.9-maint> 2016-03-13 Phil Thompson * Python/configure.py: Updated the configure.py boilerplate. [b3fd404a1134] <2.9-maint> 2016-03-07 Phil Thompson * Python/configure.py: Added support for PEP 484 stub files to configure.py. [9316fed27503] <2.9-maint> 2015-12-15 Phil Thompson * Makefile: Switched the internal build system to Python v3.5. [5215e7f3116e] <2.9-maint> 2015-10-28 Phil Thompson * Python/configure.py: Handle PATH components that are enclosed in quotes. [d0f19b69ce26] <2.9-maint> 2015-10-24 Phil Thompson * .hgtags: Added tag 2.9.1 for changeset 9bd39be91ef8 [c71bd22d6ccf] <2.9-maint> * NEWS: Released as v2.9.1. [9bd39be91ef8] [2.9.1] <2.9-maint> 2015-10-17 Phil Thompson * qt/qsciscintilla.cpp: Fixed the handling of the keypad modifier. [e363cc2c347f] <2.9-maint> 2015-09-18 Phil Thompson * qsci/api/python/Python-3.5.api: Added the .api file for Python v3.5. [5b4e58de4663] <2.9-maint> 2015-09-10 Phil Thompson * Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip: Fixed the Python binding for QsciAbstractAPIs::updateAutoCompletionList(). [53f2939a3b29] <2.9-maint> 2015-09-08 Phil Thompson * Python/configure.py: Use win32-msvc2015 for Python v3.5 and later. [2f264662e2c7] <2.9-maint> 2015-09-01 Phil Thompson * qt/qsciscintilla.cpp: Fixed the restyling of a document displayed in multiple editors. [9309f264ab57] <2.9-maint> 2015-08-24 Phil Thompson * qt/qscintilla.pro, qt/qsciscintilla.cpp: Fixed a problem starting a call tip when the auto-completion list is displayed. Bumped the library version. [2ec2115ea4d2] <2.9-maint> 2015-07-12 Phil Thompson * designer-Qt4Qt5/qscintillaplugin.h: Fixed a warning message when compiling against Qt v5.5.0. [3ff05a0ef88d] <2.9-maint> 2015-07-09 Phil Thompson * Python/configure.py: Update QMAKE_RPATHDIR rather than set it. [045c64a7e65c] <2.9-maint> 2015-06-24 Phil Thompson * Python/configure.py: Set QMAKE_RPATHDIR for Qt v5.5 on OS X. [b83394e4a676] <2.9-maint> 2015-05-26 Phil Thompson * Python/configure.py: Fixed the backstop handling in the Python bindings configuration script and bumped the version number. [1ab1dd7ea495] <2.9-maint> 2015-05-02 Phil Thompson * qt/qscintilla.pro: Use QT_HOST_DATA for the .prf destination with Qt v5. Removed all Qt v3 support from the .pro file. [63c0391624a8] <2.9-maint> 2015-04-20 Phil Thompson * .hgtags: Added tag 2.9 for changeset 41ee8162fa81 [9817b0a7a4f7] * NEWS: Released as v2.9. [41ee8162fa81] [2.9] 2015-04-14 Phil Thompson * qt/qsciscintillabase.cpp: Fixed a problem notifying when focus is lost to another application widget. [41734678234e] 2015-04-06 Phil Thompson * qt/qsciscintillabase.cpp: Fixed a crash when deleting an instance. [eb936ad1f826] 2015-04-05 Phil Thompson * qt/qsciscintilla.cpp: Fixed a problem applying a lexer's styles that manifested itself by the wrong style being applied to line numbers when using a custom lexer. [c91009909b8e] 2015-04-04 Phil Thompson * qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated Spanish translations from Jaime. [d94218e7d47d] * qt/ScintillaQt.h: Fixed some header file dependencies. [f246e863957f] * qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm: Updated German translations from Detlev. [01f3be277e14] 2015-04-03 Phil Thompson * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts: Updated the .ts translation files. [659fb035d1c4] 2015-04-02 Phil Thompson * qt/qsciapis.cpp: Fixed a problem displaying call-tips when auto-completion is enabled. [82ec45421a3d] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.h, qt/qsciscintillabase.h: Exposed the remaining new features. [6e84b61268c5] 2015-04-01 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Exposing new Scintilla functionality. [e0965dc46693] 2015-03-31 Phil Thompson * qt/qscilexerverilog.cpp, qt/qscilexerverilog.h: Enabled the new styling features of QsciLexerVerilog. [5be65189b15f] * NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h: Completed the updates to QsciLexerCPP. [a8e24b727d82] * NEWS, Python/sip/qscilexercpp.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexerverilog.sip, Python/sip/qscilexervhdl.sip, Python/sip/qsciscintillabase.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexerverilog.cpp, qt/qscilexerverilog.h, qt/qscilexervhdl.cpp, qt/qscilexervhdl.h, qt/qsciscintillabase.h: Updated existing lexers with new styles. [768f8ff280e1] 2015-03-30 Phil Thompson * qt/qsciapis.cpp: Make sure call tips don't include image types. [d0830816cda4] * qt/ScintillaQt.cpp, qt/ScintillaQt.h: Fixed the horizontal scrollbar issues, particularly with long lines. [db8501c0803f] 2015-03-29 Phil Thompson * qt/ScintillaQt.cpp: Updated the paste support. [42ad3657d52e] * qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp: Added support for idle processing. [ff277e910df7] 2015-03-27 Phil Thompson * NEWS: Updated the NEWS file. [64766fb4c800] * qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Add support for fine tickers. [3e9b89430dc0] 2015-03-26 Phil Thompson * Makefile, Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip, Python/sip/qscicommandset.sip, Python/sip/qscilexer.sip, Python/sip/qscilexeravs.sip, Python/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip, Python/sip/qscilexercmake.sip, Python/sip/qscilexercoffeescript.sip, Python/sip/qscilexercpp.sip, Python/sip/qscilexercsharp.sip, Python/sip/qscilexercss.sip, Python/sip/qscilexercustom.sip, Python/sip/qscilexerd.sip, Python/sip/qscilexerdiff.sip, Python/sip/qscilexerfortran.sip, Python/sip/qscilexerfortran77.sip, Python/sip/qscilexerhtml.sip, Python/sip/qscilexeridl.sip, Python/sip/qscilexerjava.sip, Python/sip/qscilexerjavascript.sip, Python/sip/qscilexerlua.sip, Python/sip/qscilexermakefile.sip, Python/sip/qscilexermatlab.sip, Python/sip/qscilexeroctave.sip, Python/sip/qscilexerpascal.sip, Python/sip/qscilexerperl.sip, Python/sip/qscilexerpo.sip, Python/sip/qscilexerpostscript.sip, Python/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip, Python/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip, Python/sip/qscilexerspice.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexertcl.sip, Python/sip/qscilexertex.sip, Python/sip/qscilexerverilog.sip, Python/sip/qscilexervhdl.sip, Python/sip/qscilexerxml.sip, Python/sip/qscilexeryaml.sip, Python/sip/qscimacro.sip, Python/sip/qscimod3.sip, Python/sip/qscimod4.sip, Python/sip/qscimod5.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, build.py, designer-Qt3/designer.pro, designer- Qt3/qscintillaplugin.cpp, example-Qt3/application.cpp, example- Qt3/application.h, example-Qt3/application.pro, example- Qt3/fileopen.xpm, example-Qt3/fileprint.xpm, example- Qt3/filesave.xpm, example-Qt3/main.cpp, lib/README, lib/README.doc, lib/qscintilla.dxy, qt/InputMethod.cpp, qt/ListBoxQt.cpp, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/SciClasses.h, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciabstractapis.cpp, qt/qsciabstractapis.h, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscicommandset.cpp, qt/qscicommandset.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexeravs.cpp, qt/qscilexeravs.h, qt/qscilexerbash.cpp, qt/qscilexerbash.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qscilexercmake.cpp, qt/qscilexercmake.h, qt/qscilexercoffeescript.cpp, qt/qscilexercoffeescript.h, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercsharp.cpp, qt/qscilexercsharp.h, qt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexercustom.cpp, qt/qscilexercustom.h, qt/qscilexerd.cpp, qt/qscilexerd.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h, qt/qscilexerfortran.cpp, qt/qscilexerfortran.h, qt/qscilexerfortran77.cpp, qt/qscilexerfortran77.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexeridl.cpp, qt/qscilexeridl.h, qt/qscilexerjava.cpp, qt/qscilexerjava.h, qt/qscilexerjavascript.cpp, qt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h, qt/qscilexermakefile.cpp, qt/qscilexermakefile.h, qt/qscilexermatlab.cpp, qt/qscilexermatlab.h, qt/qscilexeroctave.cpp, qt/qscilexeroctave.h, qt/qscilexerpascal.cpp, qt/qscilexerpascal.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpo.cpp, qt/qscilexerpo.h, qt/qscilexerpostscript.cpp, qt/qscilexerpostscript.h, qt/qscilexerpov.cpp, qt/qscilexerpov.h, qt/qscilexerproperties.cpp, qt/qscilexerproperties.h, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h, qt/qscilexerspice.cpp, qt/qscilexerspice.h, qt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertcl.cpp, qt/qscilexertcl.h, qt/qscilexertex.cpp, qt/qscilexertex.h, qt/qscilexerverilog.cpp, qt/qscilexerverilog.h, qt/qscilexervhdl.cpp, qt/qscilexervhdl.h, qt/qscilexerxml.cpp, qt/qscilexerxml.h, qt/qscilexeryaml.cpp, qt/qscilexeryaml.h, qt/qscimacro.cpp, qt/qscimacro.h, qt/qsciprinter.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h, qt/qscistyle.cpp, qt/qscistyledtext.h: Removed all support for Qt3 and PyQt3. [b33b2f06716e] * Python/configure-old.py, Python/configure.py, designer- Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro: The updated code now compiles. [35d05076c62f] * cocoa/InfoBar.h, cocoa/InfoBar.mm, cocoa/InfoBarCommunicator.h, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/QuartzTextLayout.h, cocoa/QuartzTextStyle.h, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework .xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.h, cocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, cocoa/checkbuildosx.sh, cppcheck.suppress, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/index.html, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, include/Platform.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, lexers/LexAbaqus.cxx, lexers/LexAsm.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexBibTeX.cxx, lexers/LexCPP.cxx, lexers/LexCmake.cxx, lexers/LexCoffeeScript.cxx, lexers/LexDMAP.cxx, lexers/LexDMIS.cxx, lexers/LexECL.cxx, lexers/LexEScript.cxx, lexers/LexForth.cxx, lexers/LexFortran.cxx, lexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx, lexers/LexHex.cxx, lexers/LexKix.cxx, lexers/LexLua.cxx, lexers/LexMarkdown.cxx, lexers/LexMatlab.cxx, lexers/LexModula.cxx, lexers/LexMySQL.cxx, lexers/LexOthers.cxx, lexers/LexPS.cxx, lexers/LexPerl.cxx, lexers/LexRegistry.cxx, lexers/LexRuby.cxx, lexers/LexRust.cxx, lexers/LexSQL.cxx, lexers/LexScriptol.cxx, lexers/LexSpecman.cxx, lexers/LexTCL.cxx, lexers/LexTCMD.cxx, lexers/LexTxt2tags.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx, lexers/LexVisualProlog.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h, lexlib/CharacterCategory.cxx, lexlib/CharacterSet.cxx, lexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerModule.cxx, lexlib/LexerModule.h, lexlib/LexerNoExceptions.cxx, lexlib/LexerSimple.cxx, lexlib/LexerSimple.h, lexlib/PropSetSimple.cxx, lexlib/SparseState.h, lexlib/StringCopy.h, lexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h, lexlib/WordList.cxx, lexlib/WordList.h, lib/README.doc, qt/qscintilla.pro, scripts/GenerateCaseConvert.py, scripts/GenerateCharacterCategory.py, scripts/HFacer.py, scripts/HeaderOrder.txt, scripts/LexGen.py, scripts/ScintillaData.py, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CaseConvert.cxx, src/CaseFolder.cxx, src/Catalogue.cxx, src/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx, src/ContractionState.cxx, src/ContractionState.h, src/Decoration.cxx, src/Decoration.h, src/Document.cxx, src/Document.h, src/EditModel.cxx, src/EditModel.h, src/EditView.cxx, src/EditView.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/ExternalLexer.h, src/FontQuality.h, src/Indicator.cxx, src/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/LineMarker.cxx, src/LineMarker.h, src/MarginView.cxx, src/MarginView.h, src/Partitioning.h, src/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx, src/RESearch.h, src/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx, src/Selection.h, src/SplitVector.h, src/Style.cxx, src/Style.h, src/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/XiteQt.py, test/XiteWin.py, test/lexTests.py, test/simpleTests.py, test/unit/LICENSE_1_0.txt, test/unit/README, test/unit/SciTE.properties, test/unit/catch.hpp, test/unit/makefile, test/unit/test.mak, test/unit/testCellBuffer.cxx, test/unit/testCharClassify.cxx, test/unit/testContractionState.cxx, test/unit/testDecoration.cxx, test/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx, test/unit/testSparseState.cxx, test/unit/testSplitVector.cxx, test/unit/testUnicodeFromUTF8.cxx, test/unit/unitTest.cxx, version.txt, win32/HanjaDic.cxx, win32/HanjaDic.h, win32/PlatWin.cxx, win32/PlatWin.h, win32/SciLexer.vcxproj, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak: Added the initial import of Scintilla v3.5.4. [025db9484942] * lib/GPL_EXCEPTION.TXT, lib/GPL_EXCEPTION_ADDENDUM.TXT, lib/LICENSE.GPL2, lib/LICENSE.GPL3, lib/OPENSOURCE-NOTICE.TXT, qt/qscintilla_ru.qm, qt/qscintilla_ru.ts: Merged the 2.8-maint branch into the default. [efe1067a091a] 2015-03-19 Phil Thompson * qt/qsciscintilla.cpp: Fixed QsciScintilla::clearMarginText(). [885b972e38df] <2.8-maint> 2015-02-14 Phil Thompson * Makefile, Python/configure.py: Installing into a virtual env should now work. The internal build system supports sip5. [62d128cc92de] <2.8-maint> 2015-02-08 Phil Thompson * Python/configure.py: Use sip5 if available. [6f5e4b0dae8f] <2.8-maint> 2015-01-02 Phil Thompson * Python/configure.py, lib/LICENSE.commercial.short, lib/LICENSE.gpl, lib/LICENSE.gpl.short, qt/InputMethod.cpp: Updated the copyright notices. [50b9b459dc48] <2.8-maint> * Python/configure-old.py: Fixed configure-old.py for previews. [7ff9140391e4] <2.8-maint> 2014-12-22 Phil Thompson * build.py, lib/LICENSE.GPL3, lib/LICENSE.commercial.short, lib/LICENSE.gpl, lib/LICENSE.gpl.short: More license tweaks. [f3e84d697877] <2.8-maint> * build.py, lib/GPL_EXCEPTION.TXT, lib/GPL_EXCEPTION_ADDENDUM.TXT, lib/LICENSE.GPL2, lib/LICENSE.gpl.short, lib/OPENSOURCE-NOTICE.TXT, lib/README.doc: Aligned the GPL licensing with Qt. [aa58ba575cac] <2.8-maint> 2014-12-21 Phil Thompson * lib/LICENSE.commercial: Updated the commercial license to v4.0. [fd91beaa78dd] <2.8-maint> 2014-11-16 Phil Thompson * build.py: A source package now includes a full ChangeLog. [ba92c1d5c839] <2.8-maint> 2014-09-11 Phil Thompson * .hgtags: Added tag 2.8.4 for changeset e18756e8cf86 [e7f7a594518d] <2.8-maint> * .hgignore, NEWS: Released as v2.8.4. [e18756e8cf86] [2.8.4] <2.8-maint> 2014-09-04 Phil Thompson * NEWS: Updated the NEWS file. [e4e3562b54cb] <2.8-maint> 2014-09-03 Phil Thompson * Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added the missing SCI_SETHOTSPOTSINGLELINE to QsciScintillaBase. Added resetHotspotForegroundColor(), resetHotspotBackgroundColor(), setHotspotForegroundColor(), setHotspotBackgroundColor(), setHotspotUnderline() and setHotspotWrap() to QsciScintilla. [2da018f7e48c] <2.8-maint> 2014-07-31 Phil Thompson * qt/qsciscintilla.cpp: Attempted to improve the auto-indentation behaviour so that the indentation of a line is maintained if a new line has been inserted above by pressing enter at the start of the line. [aafc4a7247fb] <2.8-maint> 2014-07-11 Phil Thompson * Python/configure.py: Fixed the installation of the .api file. [aae8494847ff] <2.8-maint> 2014-07-10 Phil Thompson * Python/configure.py, designer-Qt4Qt5/designer.pro, qt/qscintilla.pro: Fixes to work around QTBUG-39300. Fix when building with a configuration file. [1051e8c260fd] <2.8-maint> 2014-07-03 Phil Thompson * .hgtags: Added tag 2.8.3 for changeset e9cb8530f97f [bb531051c8f3] <2.8-maint> * NEWS: Released as v2.8.3. [e9cb8530f97f] [2.8.3] <2.8-maint> 2014-07-01 Phil Thompson * Python/configure.py: Fixed a cut-and-paste bug in configure.py. [5f7c4c6c9a29] <2.8-maint> * Python/configure.py: Updated to the latest build system boilerplate. [ee0b9a647e7a] <2.8-maint> 2014-06-30 Phil Thompson * Makefile, Python/configure.py: Updates to the build system and the latest boilerplate configure.py. [8485111172c7] <2.8-maint> 2014-06-19 Phil Thompson * qt/qscilexercoffeescript.cpp, qt/qscintilla.pro, qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_es.ts, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm, qt/qscintilla_ru.ts: Updated CoffeeScript keywords and German translations from Detlev. Updated Spanish translations from Jaime. Removed the Russian translations as none were current. [978fe16935c4] <2.8-maint> 2014-06-15 Phil Thompson * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the translation source files. [440ab56f1863] <2.8-maint> 2014-06-09 Phil Thompson * Python/sip/qscilexercoffeescript.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciscintillabase.sip: Added QsciLexerCoffeeScript to the Python bindings. [36a6e2123a69] <2.8-maint> * qt/qscilexercoffeescript.h: QsciLexerCoffeeScript property setters are no longer virtual slots. [eef97550eb16] <2.8-maint> * qt/qscilexercoffeescript.cpp, qt/qscilexercoffeescript.h, qt/qscintilla.pro: Added the QsciLexerCoffeeScript class. [0cf56e9cd32a] <2.8-maint> 2014-06-03 Phil Thompson * Python/configure.py: Fixes for Python v2.6. [9b7b5393f228] <2.8-maint> 2014-06-01 Phil Thompson * Python/configure.py: Fixed a regression in configure.py when using the -n or -o options. [f7b1c9821894] <2.8-maint> 2014-05-29 Phil Thompson * qt/PlatQt.cpp, qt/qsciscintillabase.cpp: Fixes for Qt3. [4d0a54024b52] <2.8-maint> * qt/PlatQt.cpp, qt/qscilexer.cpp, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qscistyle.cpp: Font sizes are now handled as floating point values rather than integers. [ea017cc2b198] <2.8-maint> 2014-05-26 Phil Thompson * .hgtags: Added tag 2.8.2 for changeset 5aab3ae01e0e [6cc6eec7c440] <2.8-maint> * NEWS: Released as v2.8.2. [5aab3ae01e0e] [2.8.2] <2.8-maint> * Python/sip/qsciscintillabase.sip: Updated the sub-class converter code. [9b276dae576d] <2.8-maint> * Makefile: Internal build system fixes. [b29b24829b0b] <2.8-maint> 2014-05-24 Phil Thompson * Makefile, Python/configure.py: Fixed some build regressions with PyQt4. [175b657ad031] <2.8-maint> 2014-05-18 Phil Thompson * Makefile: Updates to the top-level Makefile for the latest Android tools. [405fb3eb5473] <2.8-maint> 2014-05-17 Phil Thompson * Makefile: Added the PyQt4 against Qt5 on the iPhone simulator build target. [c31ae5795eec] <2.8-maint> 2014-05-16 Phil Thompson * Makefile, Python/configure.py: Use the PyQt .sip files in sysroot when cross-compiling. [5d8e8b8ddfe5] <2.8-maint> * Makefile, Python/configure.py: Replaced pyqt_sip_flags with pyqt_disabled_features in the configuration file. [f209403c183b] <2.8-maint> 2014-05-15 Phil Thompson * Makefile, Python/sip/qscimod5.sip: The PyQt5 bindings now run on the iOS simulator. [056871b18335] <2.8-maint> * Makefile, Python/configure.py: Building the Python bindings for the iOS simulator now works. [9dfcea4447b8] <2.8-maint> * Makefile: Updated the main Makefile for the Qt v5.2 iOS support. [a619fd411878] <2.8-maint> 2014-05-14 Phil Thompson * Python/configure.py: Don't create the .api file if it isn't going to be installed. [79db1145e882] <2.8-maint> 2014-05-12 Phil Thompson * Python/configure.py: Added the --sysroot, --no-sip-files and --no-qsci-api options to configure.py. [10642d7deba9] <2.8-maint> 2014-05-05 Phil Thompson * Makefile: Updated the internal build system for the combined iOS/Android Qt installation. [9097d3096b70] <2.8-maint> 2014-05-04 Phil Thompson * qt/qscintilla_de.qm, qt/qscintilla_de.ts: Updated German translations from Detlev. [d4f631ee3aaf] <2.8-maint> * qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated Spanish translations from Jaime Seuma. [51350008c8a4] <2.8-maint> 2014-04-30 Phil Thompson * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the .ts files. [4c5f88b22952] <2.8-maint> 2014-04-29 Phil Thompson * Python/sip/qscilexerpo.sip, Python/sip/qscimodcommon.sip, qt/qscilexerpo.cpp, qt/qscilexerpo.h, qt/qscintilla.pro: Added the QsciLexerPO class. [d42e44550d80] <2.8-maint> * Python/sip/qscilexeravs.sip, Python/sip/qscimodcommon.sip, qt/qscilexeravs.cpp, qt/qscilexeravs.h, qt/qscintilla.pro: Added the QsciLexerAVS class. [ed6edb6ec205] <2.8-maint> 2014-04-27 Phil Thompson * Python/configure.py: Fixes for the refactored configure.py. [21b9fa66338e] <2.8-maint> * Python/configure.py: Initial refactoring of configure.py so that it is implemented as configurable (and reusable) boilerplate. [615d75a88db9] <2.8-maint> 2014-04-24 Phil Thompson * Python/sip/qsciscintilla.sip, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: setEnabled() now implements the expected visual effects. [3e4254394b08] <2.8-maint> 2014-03-22 Phil Thompson * Python/configure.py: Fixed the handling of the --pyqt-sip-flags option. Restored the specification of the Python library directory for Windows. [3ea496d62b9f] <2.8-maint> * Python/configure.py, qt/features/qscintilla2.prf, qt/qscintilla.pro: Added the --pyqt-sip-flags to configure.py to avoid having to introspect PyQt. Fixed the .prf file for OS/X. Tweaks to configure.py so that a configuration file will use the same names as PyQt5. [77ff3a21d00a] <2.8-maint> 2014-03-21 Phil Thompson * Makefile, lib/README.doc, qt/qscintilla.pro: Changes to the .pro file to build a static library without having to edit it. [f82637449276] <2.8-maint> 2014-03-17 Phil Thompson * qt/PlatQt.cpp, qt/qsciscintillabase.cpp: Fixed building against Qt v5.0.x. [d68e28068b67] <2.8-maint> 2014-03-14 Phil Thompson * .hgtags: Added tag 2.8.1 for changeset 6bb7ab27c958 [dfd473e8336b] <2.8-maint> * NEWS: Released as v2.8.1. [6bb7ab27c958] [2.8.1] <2.8-maint> * qt/SciClasses.cpp: Fixed the display of UTF-8 call tips. [3f0ca7ba60a0] <2.8-maint> 2014-03-12 Phil Thompson * qsci/api/python/Python-3.4.api: Added the .api file for Python v3.4. [3db067b6dcec] <2.8-maint> 2014-03-05 Phil Thompson * qt/PlatQt.cpp: Revised attempt at the outline of alpha rectangles in case Qt ignore the alpha of the pen. [86ab8898503e] <2.8-maint> * qt/PlatQt.cpp: Fixed the setting of the pen when drawing alpha rectangles. [3f4ff2e8aca3] <2.8-maint> 2014-02-09 Phil Thompson * Python/configure.py: The Python module now has the correct install name on OS/X. [eec8c704418a] <2.8-maint> 2014-02-04 Phil Thompson * qt/qscicommand.cpp, qt/qscicommand.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Fixed a problem entering non-ASCII characters that clashed with Scintilla's SCK_* values. Key_Enter, Key_Backtab, Key_Super_L, Key_Super_R and Key_Menu are now valid QsciCommand keys. [94aec4f075df] <2.8-maint> 2014-01-31 Phil Thompson * qt/qsciscintilla.cpp: Make sure the editor is active after a selection of a user list entry. [e0f2106777d0] <2.8-maint> 2014-01-23 Phil Thompson * qt/SciClasses.cpp: On Linux, single clicking on an item in an auto-completion list now just selects the itemm (rather than inserting the item) to be consistent with other platforms. [d916bbbf6517] <2.8-maint> * qt/qsciscintillabase.cpp: Fix the handling of the auto-completion list when losing focus. [a67b51ac8611] <2.8-maint> 2014-01-22 Phil Thompson * qt/InputMethod.cpp, qt/qsciscintillabase.cpp: Fixed building against Qt4. [bf0a5f984fc1] <2.8-maint> 2014-01-19 Phil Thompson * NEWS: Updated the NEWS file. [da2a76da712e] <2.8-maint> 2014-01-18 Phil Thompson * qt/InputMethod.cpp: Another attempt to fix input events on losing focus. [6de3ab62fade] <2.8-maint> * lib/README.doc: Added the qmake integration section to the docs. [2918e4760c36] <2.8-maint> 2014-01-07 Phil Thompson * Makefile: Added Android to the internal build system. [3be74b3e89e9] <2.8-maint> 2014-01-06 Phil Thompson * qt/InputMethod.cpp, qt/qsciscintillabase.cpp: Newlines can now be entered on iOS. [8d23447dbd4d] <2.8-maint> 2014-01-05 Phil Thompson * qt/InputMethod.cpp: See if we can detect a input methdo event generated when losing focus and not to clear the selection. [8e4216289efe] <2.8-maint> 2014-01-04 Phil Thompson * Python/sip/qsciprinter.sip: The Python bindings now respect the PyQt_Printer feature. [c3106f715803] <2.8-maint> 2014-01-03 Phil Thompson * qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added support for software input panels with Qt v5. [d4499b61ff04] <2.8-maint> * qt/qsciscintilla.cpp: Disable input methods when read-only (rather than non-UTF8) to be consistent with Qt. [f8817d4a47e3] <2.8-maint> * qt/qscintilla.pro, qt/qsciprinter.h: Fixed the .pro file so that QT_NO_PRINTER is set properly and removed the workaround. [b5a6709d814a] <2.8-maint> 2014-01-02 Phil Thompson * qt/PlatQt.cpp: Finally fixed buffered drawing on retina displays. [f8d23103df70] <2.8-maint> * qt/PlatQt.cpp, qt/qsciscintillabase.cpp: Fixes for buffered drawing on retina displays. (Not yet correct, but close.) [a3b36be44112] <2.8-maint> * Makefile: Changed the build system for the example on the iOS simulator so that qmake is only used to generate the .xcodeproj file. [179dbf5ba385] <2.8-maint> * Makefile: Added the building of the example to the main Makefile. [aec2ac3ac591] <2.8-maint> * Makefile: Added iOS simulator targets to the build system. [72af8241b261] <2.8-maint> * Makefile, build.py, lib/LICENSE.GPL2, lib/LICENSE.GPL3, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short, qt/InputMethod.cpp: Updated copyright notices. [f21e016499fe] <2.8-maint> * qt/MacPasteboardMime.cpp, qt/qsciprinter.cpp, qt/qsciprinter.h, qt/qsciscintillabase.cpp: Fixes for building for iOS. [46d25e648b4a] <2.8-maint> 2013-12-31 Phil Thompson * Python/configure.py, build.py, designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, lib/README.doc, qt/features/qscintilla2.prf, qt/qscintilla.pro: Implemented the qscintilla2.prf feature file and updated everything to use it. [c3bfef1a55ad] <2.8-maint> 2013-12-29 Phil Thompson * qt/ScintillaQt.h: Added some additional header file dependencies. [7ec67eced9de] <2.8-maint> 2013-12-21 Phil Thompson * qt/MacPasteboardMime.cpp, qt/ScintillaQt.cpp: Fixes for building against Qt3. [f25cbda736fd] <2.8-maint> 2013-12-16 Phil Thompson * designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro: Updated the plugin and example .pro files to work around the qmake incompatibilities introduced in Qt v5.2.0. [a14729b2702d] <2.8-maint> 2013-12-15 Phil Thompson * qt/qsciscintillabase.cpp: Fixed the previous fix. [6c322fa1b20f] <2.8-maint> 2013-12-14 Phil Thompson * qt/PlatQt.cpp, qt/qsciscintillabase.cpp: Backed out the attempted fix for retina displays at it needs more work. As a workaround buffered writes are disabled if a retina display is detected. [a1f648d1025e] <2.8-maint> 2013-12-13 Phil Thompson * qt/qscintilla.pro: Enabled exceptions in the .pro file. [6e07131f6741] <2.8-maint> 2013-12-12 Phil Thompson * qt/PlatQt.cpp: Create pixmaps for buffered drawing using the same pixel ratio as the actual device. [f4f706006071] <2.8-maint> 2013-12-09 Phil Thompson * qt/qscilexeroctave.cpp: Updated the keywords defined for the Octave lexer. [9ccf1c74f266] <2.8-maint> 2013-12-06 Phil Thompson * qt/ScintillaQt.cpp: More scrollbar fixes. [194a2142c9b6] <2.8-maint> 2013-12-05 Phil Thompson * qt/ScintillaQt.cpp, qt/qscintilla.pro: Fixes to the scrollbar visibility handling. [5e8a96258ab0] <2.8-maint> 2013-12-04 Phil Thompson * qt/PlatQt.cpp: Fixed the implementation of SurfaceImpl::LogPixelsY() (even though it is never called). [9ef0387cfc08] <2.8-maint> 2013-11-08 Phil Thompson * .hgtags: Added tag 2.8 for changeset 562785a5f685 [fc52bfaa75c4] * NEWS: Released as v2.8. [562785a5f685] [2.8] 2013-11-05 Phil Thompson * qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated Spanish translations from Jaime Seuma. [e7a128a28157] 2013-11-04 Phil Thompson * NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qscilexerpascal.cpp, qt/qsciscintillabase.h: Added support for the new v3.3.6 features to the low-level API. [e553c1263387] * Makefile, NEWS, cocoa/Framework.mk, cocoa/InfoBar.mm, cocoa/PlatCocoa.mm, cocoa/SciTest.mk, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework .xcodeproj/project.pbxproj, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, cocoa/checkbuildosx.sh, cocoa/common.mk, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile, include/ILexer.h, include/Platform.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, lexers/LexCPP.cxx, lexers/LexCoffeeScript.cxx, lexers/LexOthers.cxx, lexers/LexPascal.cxx, lexers/LexPerl.cxx, lexers/LexRust.cxx, lexers/LexSQL.cxx, lexers/LexVisualProlog.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h, lexlib/WordList.cxx, lib/README.doc, qt/qscintilla.pro, src/Catalogue.cxx, src/Document.cxx, src/Editor.cxx, src/ScintillaBase.cxx, src/ScintillaBase.h, src/ViewStyle.cxx, src/ViewStyle.h, test/XiteQt.py, test/simpleTests.py, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak: Merged Scintilla v3.3.6. [ada0941dec52] 2013-10-07 Phil Thompson * qt/qscintilla_de.qm, qt/qscintilla_de.ts: Updated German translations from Detlev. [6c0af6af651c] * Makefile, build.py, qt/MacPasteboardMime.cpp, qt/qscintilla.pro, qt/qsciscintillabase.cpp: Reinstated support for rectangular selections on OS/X for Qt v5.2 and later. [dbfdf7be4793] 2013-10-04 Phil Thompson * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the translation source files. [7ed4bf7ed4e7] * qt/qscilexercpp.cpp: Added missing descriptions to the C++ lexer settings. [55d7627bb129] 2013-10-01 Phil Thompson * designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro: Fixed the building of the Designer plugin and the example for OS/X. [a67f71b06d3c] * NEWS, Python/sip/qsciscintillabase.sip, qt/InputMethod.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added the remaining non-provisional Scintilla v3.3.5 features to the low-level API. [4e8d0b46ebc0] * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the translation source files. [4beefc0d95ec] * NEWS, Python/sip/qscilexercpp.sip, Python/sip/qsciscintillabase.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qsciscintillabase.h: Updated the lexers for Scintilla v3.3.5. [fc901a2a491f] 2013-09-30 Phil Thompson * Python/configure-old.py, Python/configure.py, README, cocoa/InfoBar.mm, cocoa/PlatCocoa.mm, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework .xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaTest/English.lproj/MainMenu.xib, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, cppcheck.suppress, delbin.bat, designer-Qt4Qt5/designer.pro, doc/Lexer.txt, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/index.html, example- Qt4Qt5/application.pro, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, include/Face.py, include/HFacer.py, include/ILexer.h, include/Platform.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, lexers/LexA68k.cxx, lexers/LexAU3.cxx, lexers/LexAVE.cxx, lexers/LexAda.cxx, lexers/LexAsm.cxx, lexers/LexAsn1.cxx, lexers/LexBash.cxx, lexers/LexBullant.cxx, lexers/LexCOBOL.cxx, lexers/LexCPP.cxx, lexers/LexCoffeeScript.cxx, lexers/LexConf.cxx, lexers/LexCrontab.cxx, lexers/LexCsound.cxx, lexers/LexD.cxx, lexers/LexECL.cxx, lexers/LexForth.cxx, lexers/LexGAP.cxx, lexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx, lexers/LexInno.cxx, lexers/LexKVIrc.cxx, lexers/LexLaTeX.cxx, lexers/LexLisp.cxx, lexers/LexLout.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx, lexers/LexMPT.cxx, lexers/LexMSSQL.cxx, lexers/LexMatlab.cxx, lexers/LexModula.cxx, lexers/LexMySQL.cxx, lexers/LexNsis.cxx, lexers/LexOpal.cxx, lexers/LexOthers.cxx, lexers/LexPO.cxx, lexers/LexPerl.cxx, lexers/LexPowerShell.cxx, lexers/LexPython.cxx, lexers/LexR.cxx, lexers/LexRuby.cxx, lexers/LexSTTXT.cxx, lexers/LexScriptol.cxx, lexers/LexSpice.cxx, lexers/LexTCMD.cxx, lexers/LexYAML.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h, lexlib/CharacterCategory.cxx, lexlib/CharacterCategory.h, lexlib/CharacterSet.cxx, lexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerModule.cxx, lexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h, lexlib/LexerSimple.cxx, lexlib/OptionSet.h, lexlib/PropSetSimple.cxx, lexlib/PropSetSimple.h, lexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/SubStyles.h, lexlib/WordList.cxx, lexlib/WordList.h, lib/README.doc, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp, scripts/Face.py, scripts/FileGenerator.py, scripts/GenerateCaseConvert.py, scripts/GenerateCharacterCategory.py, scripts/HFacer.py, scripts/LexGen.py, scripts/ScintillaData.py, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CallTip.h, src/CaseConvert.cxx, src/CaseConvert.h, src/CaseFolder.cxx, src/CaseFolder.h, src/Catalogue.cxx, src/CellBuffer.cxx, src/CellBuffer.h, src/ContractionState.cxx, src/Decoration.cxx, src/Decoration.h, src/Document.cxx, src/Document.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/FontQuality.h, src/Indicator.cxx, src/KeyMap.cxx, src/KeyMap.h, src/LexGen.py, src/LineMarker.cxx, src/LineMarker.h, src/Partitioning.h, src/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx, src/RESearch.h, src/RunStyles.cxx, src/RunStyles.h, src/SVector.h, src/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx, src/SplitVector.h, src/Style.cxx, src/Style.h, src/UniConversion.cxx, src/UniConversion.h, src/UnicodeFromUTF8.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/README, test/ScintillaCallable.py, test/XiteQt.py, test/XiteWin.py, test/examples/x.lua, test/examples/x.lua.styled, test/examples/x.pl, test/examples/x.pl.styled, test/examples/x.rb, test/examples/x.rb.styled, test/lexTests.py, test/performanceTests.py, test/simpleTests.py, test/unit/testCharClassify.cxx, test/unit/testContractionState.cxx, test/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx, test/unit/testSplitVector.cxx, version.txt, win32/PlatWin.cxx, win32/PlatWin.h, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak: Initial merge of Scintilla v3.3.5. [40933b62f5ed] 2013-09-14 Phil Thompson * Python/configure-ng.py, Python/configure.py, designer- Qt4/designer.pro, designer-Qt4/qscintillaplugin.cpp, designer- Qt4/qscintillaplugin.h: Merged the 2.7-maint branch with the trunk. [7288d97c54b0] 2013-08-17 Phil Thompson * Python/sip/qsciscintillabase.sip: Fixed a missing const in the .sip files. [8b0425b87953] <2.7-maint> 2013-06-27 Phil Thompson * NEWS, Python/configure-old.py, Python/configure.py, Python/sip/qsciscintillabase.sip, designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, qt/InputMethod.cpp, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added support for input methods. [b97af619044b] <2.7-maint> 2013-06-16 Phil Thompson * .hgtags: Added tag 2.7.2 for changeset 9ecd14550589 [2b1f187f29c6] <2.7-maint> * NEWS: Released as v2.7.2. [9ecd14550589] [2.7.2] <2.7-maint> 2013-06-12 Phil Thompson * Python/configure.py: Fixed a configure.py bug. [cb062c6f9189] <2.7-maint> 2013-05-07 Phil Thompson * Makefile, Python/configure.py: Fixes for the PyQt5 support. [0714ef531ead] <2.7-maint> * Makefile, NEWS, Python/configure.py, Python/sip/qscimod5.sip, lib/README.doc: Added support for building against PyQt5. [c982ff1b86f7] <2.7-maint> 2013-05-05 Phil Thompson * build.py: Changed the format of the name of a snapshot to match other packages. [d1f87bbc8377] <2.7-maint> 2013-05-04 Phil Thompson * qt/PlatQt.cpp: Significantly improved the performance of measuring the width of text so that very long lines (100,000 characters) can be handled. [5c88dc344f69] <2.7-maint> 2013-04-08 Phil Thompson * Python/configure.py: configure.py now issues a more explicit error message if QtCore cannot be imported. [4d0097b1ff05] <2.7-maint> * Python/configure.py: Fixed a qmake warning message from configure.py. [2363c96edeb0] <2.7-maint> 2013-04-02 Phil Thompson * qt/qsciscintilla.cpp, qt/qsciscintilla.h: The default EOL mode on OS/X is now EolUnix. Clarified the documentation for EolMode. [a436460d0300] <2.7-maint> 2013-03-15 Phil Thompson * Python/configure.py: Further fixes for configure.py. [78fa6fef2c76] <2.7-maint> 2013-03-13 Phil Thompson * qt/qscilexer.h: Clarified the description of QSciLexer::description(). [688b482379e3] <2.7-maint> * Python/configure.py: Fixed the last (trivial) change. [0a3494ba669a] <2.7-maint> 2013-03-12 Phil Thompson * Python/configure.py: configure.py now gives the user more information about the copy of sip being used. [5c3be581d62b] <2.7-maint> 2013-03-07 Phil Thompson * Python/configure.py: On OS/X configure.py will explicitly set the qmake spec to macx-g++ (Qt4) or macx-clang (Qt5) if the default might be macx-xcode. Added the --spec option to configure.py. [36a9bf2fbebd] <2.7-maint> 2013-03-05 Phil Thompson * Python/configure.py: Minor cosmetic tweaks to configure.py. [296cd10747b7] <2.7-maint> * qt/PlatQt.cpp, qt/SciClasses.cpp, qt/qscicommandset.cpp, qt/qscintilla.pro, qt/qsciscintillabase.cpp: Removed the remaining uses of Q_WS_* for Qt v5. [7fafd5c09eea] <2.7-maint> 2013-03-01 Phil Thompson * .hgtags: Added tag 2.7.1 for changeset 2583dc3dbc8d [0674c291eab4] <2.7-maint> * NEWS: Released as v2.7.1. [2583dc3dbc8d] [2.7.1] <2.7-maint> 2013-02-28 Phil Thompson * lexlib/CharacterSet.h: Re-applied a fix to the underlying code thay got lost when Scintilla v3.23 was merged. [ee9eeec7d796] <2.7-maint> 2013-02-26 Phil Thompson * qt/qsciapis.cpp: A fix for the regression introduced with the previous fix. [154428cebb5e] <2.7-maint> 2013-02-19 Phil Thompson * NEWS, qt/qsciapis.cpp, qt/qscintilla.pro: Fixed an autocompletion bug where there are entries Foo.* and FooBar. [620d72d86980] <2.7-maint> 2013-02-06 Phil Thompson * Python/configure.py: configure.py fixes for Linux. [031b5b767926] <2.7-maint> * Python/configure.py: Added the --sip-incdir and --pyqt-sipdir options to configure.py and other fixes for building on Windows. [517a3d0243fd] <2.7-maint> * Makefile, NEWS: Updated the NEWS file. [eb00e08e1950] <2.7-maint> * Makefile, Python/configure.py: Fixed configure.py for Qt5. [7ddb5bf2030c] <2.7-maint> * Python/configure-ng.py, Python/configure-old.py, Python/configure.py, build.py, lib/README.doc: Completed configure-ng.py and renamed it configure.py. The old configure.py is now called configure-old.py. [8d58b2899080] <2.7-maint> 2013-02-05 Phil Thompson * Python/configure-ng.py: configure-ng.py now uses -fno-exceptions on Linux and OS/X. configure-ng.py now hides unneeded symbols on Linux. [391e4f56b009] <2.7-maint> * Python/configure-ng.py: configure-ng.py will now install the .sip and .api files. [e228d58a670c] <2.7-maint> * Python/configure-ng.py: configure-ng.py will now create a Makefile that will build the Python module. [cb47ace62a70] <2.7-maint> 2013-02-02 Phil Thompson * qt/qsciglobal.h: Use Q_OS_WIN for compatibility for Qt5. [da752cf4510a] <2.7-maint> 2013-01-29 Phil Thompson * designer-Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro: Use macx rather than mac in the .pro files. [ee818a367df7] <2.7-maint> 2012-12-21 Phil Thompson * Python/configure-ng.py, Python/configure.py, designer- Qt4Qt5/designer.pro, example-Qt4Qt5/application.pro, lib/README.doc, qt/qscintilla.pro: Various OS/X fixes so that setting DYLD_LIBRARY_PATH isn't necessary. [e7854b8b01e3] <2.7-maint> 2012-12-19 Phil Thompson * build.py, designer-Qt4/designer.pro, designer- Qt4/qscintillaplugin.cpp, designer-Qt4/qscintillaplugin.h, designer- Qt4Qt5/designer.pro, designer-Qt4Qt5/qscintillaplugin.cpp, designer- Qt4Qt5/qscintillaplugin.h, lib/README.doc: Updated the Designer plugin for Qt5. [77f575c87ebb] <2.7-maint> 2012-12-08 Phil Thompson * .hgtags: Added tag 2.7 for changeset 9bab1e7b02e3 [5600138109ce] * NEWS: Released as v2.7. [9bab1e7b02e3] [2.7] 2012-12-07 Phil Thompson * qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated Spanish translations from Jaime. [b188c942422c] * NEWS: Updated the NEWS file regarding Qt v5-rc1. [be9e6b928921] 2012-12-02 Phil Thompson * qt/qsciscintilla.cpp: A final(?) fix for scroll bars and annotations. [378f28e5b4b2] * Python/configure-ng.py: More build system changes. [f53fc8743ff1] 2012-11-29 Phil Thompson * Python/configure-ng.py: More configure script changes. [434c9b3185a5] * Python/configure-ng.py: More work on the new configure script. [3a044732b799] * qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm: Updated German translations from Detlev. [9dab221845ca] 2012-11-28 Phil Thompson * Python/configure-ng.py, build.py: Added the start of the SIP v5 compatible build script. [781d2af60cfc] 2012-11-27 Phil Thompson * Python/configure.py: Fixed the handling of the 'linux' platform in the Python bindings. [835d5e3be69e] 2012-11-26 Phil Thompson * qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Worked around Scintilla bugs related to scroll bars and annotations. [edc190ecc6fc] * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the translation files. [ec754f87a735] * NEWS, Python/sip/qscilexercss.sip, qt/qscilexercss.cpp, qt/qscilexercss.h: Updated the CSS lexer for Scintilla v3.23. [011fba6d668d] * qt/qscilexercpp.h: Fixed a couple of documentation typos. [7c2d04c76bd6] * NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h: Updated the C++ lexer for Scintilla v3.23. [ad93ee355639] 2012-11-24 Phil Thompson * Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h: Updated the styles for the C++ lexer. [153429503998] 2012-11-23 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added CallTipsPosition, callTipsPosition() and setCallTipsPosition(). [7e5602869fee] * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.h: Added SquigglePixmapIndicator to QsciScintilla::IndicatorStyle. [ad98a5396151] * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added WrapFlagInMargin to QsciScintilla::WrapVisualFlag. [a38c75c45fb3] * NEWS, qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qscistyle.cpp: Created a back door to pass the Qt weight of a font avoiding lossy conversions between Qt weights and Scintilla weights. The default behaviour is now SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE which is a change but reflects what people really expect. [78ce86e97ad3] 2012-11-21 Phil Thompson * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Updated the constants from Scintilla v3.23. [a3a0768af999] * NEWS, Python/configure.py, include/Platform.h, lib/README.doc, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/ScintillaQt.cpp, qt/qscintilla.pro, src/ExternalLexer.h, src/XPM.cxx, src/XPM.h: Updated the platform support so that it compiles (but untested). [abae8e56a6ea] 2012-11-20 Phil Thompson * cocoa/InfoBar.h, cocoa/InfoBar.mm, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/QuartzTextStyle.h, cocoa/QuartzTextStyleAttribute.h, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/English.lproj/InfoPlist.strings, cocoa/Scin tillaFramework/ScintillaFramework.xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaTest/English.lproj/InfoPlist.strings, cocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, cocoa/checkbuildosx.sh, delbin.bat, delcvs.bat, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/annotations.png, doc/index.html, doc/styledmargin.png, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile, include/Face.py, include/ILexer.h, include/Platform.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, include/ScintillaWidget.h, lexers/LexAVS.cxx, lexers/LexAda.cxx, lexers/LexAsm.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexCPP.cxx, lexers/LexCSS.cxx, lexers/LexCoffeeScript.cxx, lexers/LexD.cxx, lexers/LexECL.cxx, lexers/LexFortran.cxx, lexers/LexHTML.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx, lexers/LexMPT.cxx, lexers/LexNsis.cxx, lexers/LexOScript.cxx, lexers/LexOthers.cxx, lexers/LexPO.cxx, lexers/LexPascal.cxx, lexers/LexPerl.cxx, lexers/LexRuby.cxx, lexers/LexSQL.cxx, lexers/LexScriptol.cxx, lexers/LexSpice.cxx, lexers/LexTADS3.cxx, lexers/LexTCL.cxx, lexers/LexTCMD.cxx, lexers/LexVHDL.cxx, lexers/LexVisualProlog.cxx, lexers/LexYAML.cxx, lexlib/CharacterSet.h, lexlib/LexAccessor.h, lexlib/PropSetSimple.cxx, macosx/ExtInput.cxx, macosx/ExtInput.h, macosx/PlatMacOSX.cxx, macosx/PlatMacOSX.h, macosx/QuartzTextLayout.h, macosx/QuartzTextStyle.h, macosx/QuartzTextStyleAttribute.h, macosx/SciTest/English.lproj/InfoPlist.strings, macosx/SciTest/English.lproj/main.xib, macosx/SciTest/Info.plist, macosx/SciTest/SciTest.xcode/project.pbxproj, macosx/SciTest/SciTest_Prefix.pch, macosx/SciTest/main.cpp, macosx/SciTest/version.plist, macosx/ScintillaCallTip.cxx, macosx/ScintillaCallTip.h, macosx/ScintillaListBox.cxx, macosx/ScintillaListBox.h, macosx/ScintillaMacOSX.cxx, macosx/ScintillaMacOSX.h, macosx/TCarbonEvent.cxx, macosx/TCarbonEvent.h, macosx/TRect.h, macosx/TView.cxx, macosx/TView.h, macosx/deps.mak, macosx/makefile, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CallTip.h, src/Catalogue.cxx, src/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h, src/Decoration.cxx, src/Document.cxx, src/Document.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.h, src/FontQuality.h, src/Indicator.cxx, src/Indicator.h, src/LexGen.py, src/LineMarker.cxx, src/LineMarker.h, src/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx, src/RunStyles.cxx, src/SciTE.properties, src/ScintillaBase.cxx, src/ScintillaBase.h, src/SplitVector.h, src/Style.cxx, src/Style.h, src/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/README, test/examples/x.cxx, test/examples/x.cxx.styled, test/lexTests.py, test/simpleTests.py, test/unit/makefile, test/unit/testCharClassify.cxx, test/unit/testRunStyles.cxx, tgzsrc, version.txt, win32/CheckD2D.cxx, win32/PlatWin.cxx, win32/PlatWin.h, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak, zipsrc.bat: Initial merge of Scintilla v3.23. [b116f361ac01] * example-Qt4/application.pro, example-Qt4/application.qrc, example- Qt4/images/copy.png, example-Qt4/images/cut.png, example- Qt4/images/new.png, example-Qt4/images/open.png, example- Qt4/images/paste.png, example-Qt4/images/save.png, example- Qt4/main.cpp, example-Qt4/mainwindow.cpp, example-Qt4/mainwindow.h: Merged the 2.6 maintenance branch with the trunk. [0bf4f7453c68] 2012-11-14 Phil Thompson * Makefile, example-Qt4Qt5/application.pro, qt/qsciscintillabase.cpp: Fixed the linking of the example on OS/X. [e1d1f43fae71] <2.6-maint> 2012-11-12 Phil Thompson * Makefile, qt/PlatQt.cpp, qt/qscimacro.cpp, qt/qsciscintilla.cpp, qt/qscistyle.cpp: Removed all calls that are deprecated in Qt5. The build system now supports cross-compilation to the Raspberry Pi. [afef9d2b3ab1] <2.6-maint> 2012-11-02 Phil Thompson * qt/qscilexersql.h: Added comments to the QsciLexerSQL documentation stating that additional keywords must be defined using lower case. [79a9274b77c3] <2.6-maint> 2012-10-09 Phil Thompson * NEWS, lib/ed.py, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added a replace option to the test editor's find commands. Finished implementing findFirstInSelection(). [80df6cc89bae] <2.6-maint> * lib/ed.py: Added the Find, Find in Selection and Find Next actions to the test editor. [4aad56aedbea] <2.6-maint> 2012-10-03 Phil Thompson * lib/ed.py: Added an internal copy of the hackable Python test editor. [a67a6fe99937] <2.6-maint> 2012-09-27 Phil Thompson * lib/gen_python3_api.py, qsci/api/python/Python-3.3.api: Fixed the gen_python3_api.py script to be able to exclude module hierachies. Added the API file for Python v3.3. [06bbb2d1c227] <2.6-maint> 2012-09-22 Phil Thompson * qt/ListBoxQt.cpp: Fixed a problem building against versions of Qt4 prior to v4.7. [7bf93d60a50b] <2.6-maint> 2012-09-18 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added setOverwriteMode() and overwriteMode() to QsciScintilla. [1affc53d2d88] <2.6-maint> 2012-09-14 Phil Thompson * qt/qsciscintillabase.cpp: Disable the use of QMacPasteboardMime for Qt v5-beta1. [a6625d5928c6] <2.6-maint> 2012-08-24 Phil Thompson * qt/qscilexerperl.cpp, qt/qscilexerperl.h: Fixed auto-indentation for Perl. [5eb1d97f95d6] <2.6-maint> 2012-08-13 Phil Thompson * lexlib/CharacterSet.h: Removed an incorrect assert() in the main Scintilla code. [1aaf5e09d4b2] <2.6-maint> 2012-08-09 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::wordAtLineIndex(). [0c5d77aef4f7] <2.6-maint> 2012-07-19 Phil Thompson * qt/qscintilla.pro, qt/qsciscintillabase.cpp: Fixed key handling on Linux with US international layout which generates non-ASCII sequences for quote characters. [061ab2c5bea3] <2.6-maint> 2012-06-20 Phil Thompson * .hgtags: Added tag 2.6.2 for changeset f9d3d982c20f [a5bb033cd9e0] <2.6-maint> * NEWS: Released as v2.6.2. [f9d3d982c20f] [2.6.2] <2.6-maint> 2012-06-19 Phil Thompson * qt/qsciscintillabase.cpp: Fixed pasting of text in UTF8 mode (and hopefully Latin1 mode as well). [6df653daef18] <2.6-maint> * qt/qsciscintillabase.cpp: Rectangular selections are now always encoded as plain/text with an explicit, and separate, marker to indicate that it is rectangular. [012a0b2ca89f] <2.6-maint> 2012-06-09 Phil Thompson * qt/qsciscintillabase.cpp: Used the Mac method of marking rectangular selections as the '\0' Scintilla hack just doesn't work with Qt. [75020a35b5eb] <2.6-maint> * qt/qscintilla.pro: Bumped the library version number. [12f21729e254] <2.6-maint> 2012-06-07 Phil Thompson * qt/qsciscintillabase.cpp: Improved the support for rectangular selections and the interoperability with other Scintilla based editors. [a42942b57fb7] <2.6-maint> * qt/qsciscintillabase.cpp: Fixed the middle button pasting of rectangular selections. [db58aa6c6d7d] <2.6-maint> * qt/qscidocument.cpp: Fixed a bug that seemed to mean the initial EOL mode was always UNIX. [88561cd29a60] <2.6-maint> * qt/qsciscintillabase.cpp: Line endings are properly translated when dropping text. [d21994584e87] <2.6-maint> 2012-06-04 Phil Thompson * Makefile, qt/qsciprinter.h: The Python bindings now build against Qt5. [ff2a74e5aec2] <2.6-maint> 2012-04-04 Phil Thompson * Makefile, NEWS, build.py, example-Qt4/application.pro, example- Qt4/application.qrc, example-Qt4/images/copy.png, example- Qt4/images/cut.png, example-Qt4/images/new.png, example- Qt4/images/open.png, example-Qt4/images/paste.png, example- Qt4/images/save.png, example-Qt4/main.cpp, example- Qt4/mainwindow.cpp, example-Qt4/mainwindow.h, example- Qt4Qt5/application.pro, example-Qt4Qt5/application.qrc, example- Qt4Qt5/images/copy.png, example-Qt4Qt5/images/cut.png, example- Qt4Qt5/images/new.png, example-Qt4Qt5/images/open.png, example- Qt4Qt5/images/paste.png, example-Qt4Qt5/images/save.png, example- Qt4Qt5/main.cpp, example-Qt4Qt5/mainwindow.cpp, example- Qt4Qt5/mainwindow.h, lib/LICENSE.GPL2, lib/LICENSE.GPL3, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short, lib/README, lib/README.doc, lib/qscintilla.dxy, qt/PlatQt.cpp, qt/qscintilla.pro: Ported to Qt v5. [ff3710487c3e] <2.6-maint> 2012-04-02 Phil Thompson * qt/qsciapis.cpp: Worked around an obscure Qt (or compiler) bug when handling call tips. [e6c7edcfdfb9] <2.6-maint> 2012-03-04 Phil Thompson * Python/sip/qscilexer.sip, Python/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip, Python/sip/qscilexercpp.sip, Python/sip/qscilexercss.sip, Python/sip/qscilexerd.sip, Python/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip, Python/sip/qscilexermakefile.sip, Python/sip/qscilexerperl.sip, Python/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip, Python/sip/qscilexertex.sip, Python/sip/qscilexerverilog.sip, qt/qscilexer.h, qt/qscilexerbash.h, qt/qscilexerbatch.h, qt/qscilexercpp.h, qt/qscilexercss.h, qt/qscilexerd.h, qt/qscilexerdiff.h, qt/qscilexerhtml.h, qt/qscilexermakefile.h, qt/qscilexerperl.h, qt/qscilexerpov.h, qt/qscilexerproperties.h, qt/qscilexertex.h, qt/qscilexerverilog.h: QSciLexer::wordCharacters() is now part of the public API. [933ef6a11ee6] <2.6-maint> 2012-02-23 Phil Thompson * qt/qscilexercpp.h: Updated the documentation for QsciLexerCpp::keywords() so that it describes which sets are supported. [4e0cb0250dad] <2.6-maint> 2012-02-21 Phil Thompson * qt/qscintilla.pro, src/Document.cxx: Some Scintilla fixes for the SCI_NAMESPACE support. [611ffd016585] <2.6-maint> 2012-02-10 Phil Thompson * .hgtags: Added tag 2.6.1 for changeset 47d8fdf44946 [aa843f471972] <2.6-maint> * NEWS: Updated the NEWS file. Released as v2.6.1. [47d8fdf44946] [2.6.1] <2.6-maint> 2012-01-26 Phil Thompson * qt/qsciscintilla.cpp: Don't implement shortcut overrides for the standard context menu shortcuts. Instead leave it to the check against bound keys. [e8ccaf398640] <2.6-maint> 2012-01-19 Phil Thompson * qt/qsciapis.cpp: APIs now allow for whitespace between the end of a word and the opening parenthesis of the argument list. [b09b25f38411] <2.6-maint> 2012-01-11 Phil Thompson * qt/SciClasses.cpp: Fixed the handling of auto-completion lists on Windows. [131138b43c85] <2.6-maint> 2011-12-07 Phil Thompson * Python/sip/qscicommandset.sip, qt/qscicommandset.cpp, qt/qscicommandset.h, qt/qscintilla.pro: Improved the Qt v3 port so that the signatures don't need to be changed. Bumped the .so version number. [3171bb05b1d8] <2.6-maint> 2011-12-06 Phil Thompson * Makefile, NEWS, Python/sip/qscicommandset.sip, include/Platform.h, qt/ListBoxQt.cpp, qt/qscicommandset.cpp, qt/qscicommandset.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h, src/XPM.cxx: Fixed building against Qt v3. [74df75a62f5c] <2.6-maint> 2011-11-21 Phil Thompson * NEWS, include/Platform.h, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/SciClasses.h, qt/SciNamespace.h, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added support for SCI_NAMESPACE to allow all internal Scintilla classes to be placed in the Scintilla namespace. [ab7857131e35] <2.6-maint> 2011-11-11 Phil Thompson * .hgtags: Added tag 2.6 for changeset 8b119c4f69d0 [1a5dd31e773e] * NEWS, lib/README.doc: Updated the NEWS file. Updated the introductory documentation. Released as v2.6. [8b119c4f69d0] [2.6] 2011-11-07 Phil Thompson * NEWS, Python/sip/qscicommandset.sip, Python/sip/qsciscintilla.sip, qt/qscicommandset.cpp, qt/qscicommandset.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciCommandSet::boundTo(). Ordinary keys and those bound to commands now override any shortcuts. [ba98bc555aca] 2011-10-28 Phil Thompson * qt/qscintilla_de.qm, qt/qscintilla_de.ts: More updated German translations from Detlev. [9ff20df1997b] 2011-10-27 Phil Thompson * qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_es.ts, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm: Updated Spanish translations from Jaime. Updated German translations from Detlev. [4903315d96b1] 2011-10-23 Phil Thompson * Python/sip/qscicommand.sip: Fixed SelectAll in the Python bindings. [b6f0a46e0eac] * qt/ScintillaQt.cpp, qt/qsciscintillabase.cpp: Fixed drag and drop (specifically so that copying works on OS/X again). [6ab90cb63b2b] 2011-10-22 Phil Thompson * qt/PlatQt.cpp: Fixed a display bug with kerned fonts. [a746e319d9cd] * qt/qsciscintilla.cpp: The foreground and background colours of selected text are now taken from the application palette. [7f6c34ad8d27] * NEWS: Updated the NEWS file. [1717c6d59b12] * Python/sip/qsciscintilla.sip, qt/qscicommand.h, qt/qscicommandset.cpp, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Renamed QsciCommand::SelectDocument to SelectAll. Added QsciScintilla::createStandardContextMenu(). [c42fa7e83b07] 2011-10-21 Phil Thompson * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the .ts files. [92d0b6ddf371] * qt/qscicommandset.cpp: Completed the OS/X specific key bindings. [964fa889b807] 2011-10-20 Phil Thompson * qt/qscicommandset.cpp, qt/qsciscintillabase.cpp: Fixed the support for SCMOD_META. Started to add the correct OS/X key bindings as the default. [0073fa86a5a0] * Python/sip/qscicommand.sip, qt/qscicommand.h, qt/qscicommandset.cpp: All available commands are now defined in the standard command set. [7c7b81b55f0e] * Python/sip/qscicommand.sip, qt/qscicommand.h: Completed the QsciCommand::Command documentation. Added the members to QsciCommand.Command in the Python bindings. [0ca6ff576c21] 2011-10-18 Phil Thompson * NEWS, Python/sip/qscicommandset.sip, qt/qscicommand.h, qt/qscicommandset.cpp, qt/qscicommandset.h: Added QsciCommandSet::find(). [e75565018b90] * NEWS, Python/sip/qscicommand.sip, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qscicommand.cpp, qt/qscicommand.h, qt/qscicommandset.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added Command, command() and execute() to QsciCommand. Backed out the high level support for moving the selection up and down. [4852ee57353e] 2011-10-17 Phil Thompson * qt/qscilexersql.cpp: Fix for the changed fold at else property in the SQL lexer. [e65a458cd9d8] * NEWS, Python/sip/qscilexerpython.sip, qt/qscilexerpython.cpp, qt/qscilexerpython.h: Added highlightSubidentifiers() and setHighlightSubidentifiers() to the Python lexer. [b397695bc2ab] * NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h: Added support for triple quoted strings to the C++ lexer. [687d04948c5d] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added low level support for identifiers, scrolling to the start and end. Added low and hight level support for moving the selection up and down. [3ac1ccfad039] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added low and high level support for margin options. [f3cd3244cecd] 2011-10-14 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Updated the brace matching support to handle indicators. [7e4a4d3529a8] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added SCI_SETEMPTYSELECTION. [879b97c676a4] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Updated the support for indicators. [b3643569a827] * NEWS, Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added SCI_MARKERSETBACKSELECTED and SCI_MARKERENABLEHIGHLIGHT. [7127ee82d128] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added low and high-level support for RGBA images (ie. QImage). [7707052913ef] 2011-10-13 Phil Thompson * NEWS, Python/sip/qscilexerlua.sip, qt/qscilexerlua.cpp, qt/qscilexerlua.h: Updated the Lua lexer. [710e50d5692c] * NEWS, Python/sip/qscilexerperl.sip, qt/qscilexerperl.cpp, qt/qscilexerperl.h: Updated the Perl lexer. [6d16e2e9354b] 2011-10-11 Phil Thompson * Python/configure.py, cocoa/ScintillaCallTip.h, cocoa/ScintillaCallTip.mm, cocoa/ScintillaListBox.h, cocoa/ScintillaListBox.mm, cocoa/res/info_bar_bg.png, cocoa/res/mac_cursor_busy.png, cocoa/res/mac_cursor_flipped.png, macosx/SciTest/English.lproj/InfoPlist.strings, macosx/SciTest/English.lproj/main.nib/classes.nib, macosx/SciTest/English.lproj/main.nib/info.nib, macosx/SciTest/English.lproj/main.nib/objects.xib, macosx/SciTest/English.lproj/main.xib, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/qscintilla.pro, src/XPM.cxx, src/XPM.h: Some fixes left over from the merge of v2.29. Added support for RGBA images so that the merged version compiles. [16c6831c337f] * cocoa/InfoBar.mm, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/QuartzTextLayout.h, cocoa/QuartzTextStyle.h, cocoa/QuartzTextStyleAttribute.h, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework .xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, doc/SciCoding.html, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile, include/Platform.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, lexers/LexAU3.cxx, lexers/LexCOBOL.cxx, lexers/LexCPP.cxx, lexers/LexConf.cxx, lexers/LexHTML.cxx, lexers/LexInno.cxx, lexers/LexLua.cxx, lexers/LexMagik.cxx, lexers/LexMarkdown.cxx, lexers/LexMatlab.cxx, lexers/LexModula.cxx, lexers/LexOthers.cxx, lexers/LexPerl.cxx, lexers/LexPowerPro.cxx, lexers/LexPython.cxx, lexers/LexSQL.cxx, lexers/LexTeX.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx, lexlib/Accessor.cxx, lexlib/CharacterSet.h, lexlib/PropSetSimple.cxx, lexlib/SparseState.h, lexlib/StyleContext.h, lexlib/WordList.cxx, macosx/PlatMacOSX.cxx, macosx/PlatMacOSX.h, macosx/SciTest/SciTest.xcode/project.pbxproj, macosx/ScintillaMacOSX.h, macosx/makefile, src/CallTip.cxx, src/ContractionState.cxx, src/ContractionState.h, src/Decoration.cxx, src/Document.cxx, src/Document.h, src/Editor.cxx, src/Editor.h, src/Indicator.cxx, src/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/LexGen.py, src/LineMarker.cxx, src/LineMarker.h, src/PerLine.cxx, src/PositionCache.cxx, src/PositionCache.h, src/RESearch.cxx, src/RunStyles.cxx, src/RunStyles.h, src/ScintillaBase.cxx, src/Style.cxx, src/Style.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, src/XPM.h, test/XiteMenu.py, test/XiteWin.py, test/examples/x.html, test/examples/x.html.styled, test/performanceTests.py, test/simpleTests.py, test/unit/testContractionState.cxx, test/unit/testRunStyles.cxx, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/scintilla.mak: Merged Scintilla v2.29. [750c2c3cef72] * Merged the v2.5 maintenance branch back into the trunk. [eab39863675f] 2011-06-24 Phil Thompson * qt/qscilexer.cpp, qt/qscilexerbash.cpp, qt/qscilexerbatch.cpp, qt/qscilexercmake.cpp, qt/qscilexercpp.cpp, qt/qscilexercsharp.cpp, qt/qscilexercss.cpp, qt/qscilexerd.cpp, qt/qscilexerfortran77.cpp, qt/qscilexerhtml.cpp, qt/qscilexerjavascript.cpp, qt/qscilexerlua.cpp, qt/qscilexermakefile.cpp, qt/qscilexermatlab.cpp, qt/qscilexerpascal.cpp, qt/qscilexerperl.cpp, qt/qscilexerpostscript.cpp, qt/qscilexerpov.cpp, qt/qscilexerproperties.cpp, qt/qscilexerpython.cpp, qt/qscilexerruby.cpp, qt/qscilexerspice.cpp, qt/qscilexersql.cpp, qt/qscilexertcl.cpp, qt/qscilexerverilog.cpp, qt/qscilexervhdl.cpp, qt/qscilexerxml.cpp, qt/qscilexeryaml.cpp: Changed the default fonts for MacOS so that they are larger and similar to the Windows defaults. [9c37c180ba8d] <2.5-maint> * build.py: Fixed the build system for MacOS as the development platform. [3352479980c5] <2.5-maint> 2011-05-13 Phil Thompson * lib/README.doc: Updated the licensing information in the main documentation. [d31c561e0b7c] <2.5-maint> * lib/LICENSE.GPL2, lib/LICENSE.GPL3, lib/LICENSE.gpl.short: Removed some out of date links from the license information. Updated the dates of some copyright notices. [a84451464396] <2.5-maint> 2011-05-10 Phil Thompson * Makefile, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added the optional posix flag to QsciScintilla::findFirst(). [ad6064227d06] <2.5-maint> 2011-04-29 Phil Thompson * Python/configure.py, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qscistyle.cpp, qt/qscistyle.h, qt/qscistyledtext.cpp, qt/qscistyledtext.h: Fixed problems with QsciStyle and QsciStyledText when used with more than one QsciScintilla instance. [8bac389fb7ae] <2.5-maint> 2011-04-22 Phil Thompson * qt/qsciglobal.h: Changed the handling of QT_BEGIN_NAMESPACE etc. as it isn't defined in early versions of Qt v4. [595c8c6cdfd2] <2.5-maint> 2011-04-17 Phil Thompson * .hgtags: Added tag 2.5.1 for changeset c8648c2c0c7f [298153b3d40e] <2.5-maint> * NEWS: Released as v2.5.1. [c8648c2c0c7f] [2.5.1] <2.5-maint> 2011-04-16 Phil Thompson * qt/qscintilla_de.ts, qt/qscintilla_es.ts: Updated translations from Detlev and Jaime. [9436bea546c9] <2.5-maint> 2011-04-14 Phil Thompson * qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm: Updated the compiled translation files. [c5d39aca8f51] <2.5-maint> 2011-04-13 Phil Thompson * Python/sip/qscilexermatlab.sip, Python/sip/qscilexeroctave.sip, Python/sip/qscimodcommon.sip: Added Python bindings for QsciLexerMatlab abd QsciLexerOctave. [22d0ed0fab2a] <2.5-maint> * NEWS, qt/qscilexermatlab.cpp, qt/qscilexermatlab.h, qt/qscilexeroctave.cpp, qt/qscilexeroctave.h, qt/qscintilla.pro, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Added QsciLexerMatlab and QsciLexerOctave. [40d3053334de] <2.5-maint> 2011-04-09 Phil Thompson * Merged the font strategy fix from the trunk. [d270e1b107d2] <2.5-maint> * NEWS: Updated the NEWS file. [8f32ff4cdd1f] <2.5-maint> 2011-04-07 Phil Thompson * qt/PlatQt.cpp, qt/qscintilla.pro: Fixed the handling of the font quality setting so that the default behavior (particularly on Windows) is the same as earlier versions. [87ae98d2674b] 2011-03-29 Phil Thompson * .hgtags: Added tag 2.5 for changeset 9d94a76f783e [e4807fd91f6c] * NEWS: Released as v2.5. [9d94a76f783e] [2.5] 2011-03-28 Phil Thompson * NEWS, Python/configure.py: Added support for the protected-is-public hack to configure.py. [beee52b8e10a] 2011-03-27 Phil Thompson * qt/PlatQt.cpp: Fixed an OS/X build problem. [ac7f1d3c9abe] 2011-03-26 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added replaceSelectedText() to QsciScintilla. [3c00a19d6571] 2011-03-25 Phil Thompson * Python/configure.py, Python/sip/qsciapis.sip, Python/sip/qscilexer.sip, Python/sip/qscilexercustom.sip, Python/sip/qscimod4.sip, Python/sip/qsciprinter.sip, Python/sip/qsciscintilla.sip, Python/sip/qscistyle.sip, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexercustom.cpp, qt/qscilexercustom.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qscistyle.cpp, qt/qscistyle.h: Went through the API making sure all optional arguments had consistent and meaningful names. Enabled keyword support in the Python bindings. [d60fa45e40b7] 2011-03-23 Phil Thompson * qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated German translations from Detlev. Updated Spanish translations from Jaime. [f64c97749375] 2011-03-21 Phil Thompson * lexers/LexModula.cxx, lexlib/SparseState.h, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts, test/unit/testSparseState.cxx, vcbuild/SciLexer.dsp: Updated the translation files. Updated the repository for the new and removed Scintilla v2.25 files. [6eb77ba7c57c] * NEWS, Python/sip/qscilexercpp.sip, Python/sip/qsciscintillabase.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscintilla.pro, qt/qsciscintillabase.h: Added support for raw string to the C++ lexer. [f83112ced877] * NEWS, cocoa/Framework.mk, cocoa/PlatCocoa.mm, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/ScintillaFramework .xcodeproj/project.pbxproj, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx, gtk/makefile, include/Platform.h, include/SciLexer.h, include/Scintilla.iface, lexers/LexAsm.cxx, lexers/LexBasic.cxx, lexers/LexCPP.cxx, lexers/LexD.cxx, lexers/LexFortran.cxx, lexers/LexOthers.cxx, lexlib/CharacterSet.h, lib/README.doc, macosx/SciTest/main.cpp, src/AutoComplete.cxx, src/Catalogue.cxx, src/Document.cxx, src/Editor.cxx, src/LexGen.py, test/unit/makefile, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/scintilla.mak, win32/scintilla_vc6.mak: Merged Scintilla v2.25. [e01dec109182] 2011-03-14 Phil Thompson * qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated Spanish translations from Jaime Seuma. [b83a3ca4f3e6] 2011-03-12 Phil Thompson * qt/qscintilla_de.qm, qt/qscintilla_de.ts: Updated German translations from Detlev. [e5729134a47b] 2011-03-11 Phil Thompson * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the translation source files. [51e8ee8b1ba9] * NEWS, Python/sip/qscilexercpp.sip, qt/qscilexercpp.cpp, qt/qscilexercpp.h: Added support for the inactive styles of QsciLexerCPP. [59b566d322af] * qt/qscilexercpp.cpp, qt/qscilexercpp.h: Inlined all existing property getters in QsciLexerCPP. [1117e5105e5e] 2011-03-10 Phil Thompson * qt/qsciscintilla.cpp: Fixed QsciScintilla::setContractedFolds() so that it actually updates the display to show the new state. [5079f59a0103] * NEWS, Python/sip/qscilexerhtml.sip, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h: Updated QsciLexerHTML. [0707f4bc7855] * NEWS, Python/sip/qscilexerproperties.sip, qt/qscilexerproperties.cpp, qt/qscilexerproperties.h: Updated QsciLexerProperties. [1dfe5e2d4913] * NEWS, Python/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexertcl.sip, Python/sip/qscilexertex.sip, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerruby.h, qt/qscilexersql.h, qt/qscilexertcl.h, qt/qscilexertex.cpp, qt/qscilexertex.h: Updated QsciLexerPython. [bc96868a1a6f] * NEWS, Python/sip/qscilexerruby.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexertcl.sip, Python/sip/qscilexertex.sip, qt/qscilexerruby.cpp, qt/qscilexerruby.h, qt/qscilexersql.h, qt/qscilexertcl.h, qt/qscilexertex.h: The new lexer property setters are no longer virtual slots. [c3e88383e8d3] * qt/qscilexersql.cpp, qt/qscilexersql.h: Restored the default behaviour of setFoldCompact() for QsciLexerSQL. [c74aef0f7eb4] * NEWS, Python/sip/qscilexertcl.sip, qt/qscilexersql.h, qt/qscilexertcl.cpp, qt/qscilexertcl.h: Updated QsciLexerTCL. [43a150bb40d5] * NEWS, Python/sip/qscilexertex.sip, qt/qscilexertex.cpp, qt/qscilexertex.h: Updated QsciLexerTeX. [1457935cee44] * qt/qscintilla_cs.qm, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_es.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm: Updated German translations from Detlev. [ad4a4bd4855b] 2011-03-08 Phil Thompson * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the .ts translation files. [8d70033d07e2] * NEWS, Python/sip/qscilexersql.sip, qt/qscilexersql.cpp, qt/qscilexersql.h: Updated QsciLexerSQL. [8bc79d109c88] * NEWS, Python/sip/qscilexercss.sip, qt/qscilexercss.cpp, qt/qscilexercss.h: Updated QsciLexerCSS. [f3adcb31b1a9] * NEWS, Python/sip/qscilexerd.sip, qt/qscilexerd.cpp, qt/qscilexerd.h: Updated QsciLexerD. [82d8a6561943] * Python/sip/qscilexerlua.sip, qt/qscilexerlua.cpp, qt/qscilexerlua.h: Updated QsciLexerLua. [103f5881c642] * NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintillabase.h: Added support for the QsciScintillaBase::SCN_HOTSPOTRELEASECLICK() signal. [1edd56e105cd] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for SCLEX_MARKDOWN, SCLEX_TXT2TAGS and SCLEX_A68K. [de92a613cea7] * Python/sip/qsciscintillabase.sip, qt/qscicommand.cpp, qt/qsciscintilla.cpp, qt/qsciscintillabase.h: Added support for SCMOD_SUPER as the Qt Meta key modifier. [24e745cddeea] * NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Updated the QsciScintillaBase::SCN_UPDATEUI() signal. Added low- level support for SC_MOD_LEXERSTATE. [0a341fcb0545] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for the updated property functions. [f33d9c271992] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for SCI_GETLEXERLANGUAGE and SCI_PRIVATELEXERCALL. [ac69f8c2ef3b] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for the new stick caret options. [693ac6c68e6f] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for SCI_AUTOCGETCURRENTTEXT. [2634827cdb4e] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for SC_SEL_THIN. [4225a944dc14] * qt/qsciscintilla.cpp: Folding now works again. [3972053c646e] 2011-03-07 Phil Thompson * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for SCI_VERTICALCENTRECARET. [92d5ecb154d1] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added setContractedFolds() and contractedFolds() to QsciScintilla. [46eb254c6200] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for SCI_CHANGELEXERSTATE. [edd899d77aa7] * Python/sip/qsciscintillabase.sip, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added low-level support for SCI_CHARPOSITIONFROMPOINT and SCI_CHARPOSITIONFROMPOINTCLOSE. [5a000cf4bfba] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added low-level support for multiple selections. [dedda8cbf413] * Python/sip/qsciscintillabase.sip, qt/qsciscintillabase.h: Added SCI_GETTAG. [775d0058f00e] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added QsciScintilla::setFirstVisibleLine(). [8b662ffe3fb6] * Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp, qt/qsciscintillabase.h: Added low-level support for setting the font quality. [933e8b01eda6] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added high-level support for line wrap indentation modes. [1faa3b2fa31e] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added high-level support for extra ascent and descent space. Added high-level support for whitespace size, foreground and background. [537c551a79ef] * Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp, qt/qsciscintillabase.h: Updated the low level support for cursors. [2ce685a89697] * NEWS, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.h, qt/qsciscintillabase.h: Updated the support for markers and added FullRectangle, LeftRectangle and Underline to the MarkerSymbol enum. [4c626f8189bf] 2011-03-06 Phil Thompson * NEWS, Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Rectangular selections are now fully supported. The signatures of toMimeData() and fromMimeData() have changed. [397948f42b2e] * NEWS: Updated the NEWS file. [bc75b98210f2] * .hgignore: Added the .hgignore file. [77312a36220e] * qt/qsciscintilla.cpp: Removed the workaround for the broken annotations in Scintilla v1.78. [70ab4c4b7c66] * qt/ListBoxQt.cpp: Fixed a regression when displaying an auto-completion list. [c38d4b97a1ca] 2011-03-04 Phil Thompson * qt/ListBoxQt.cpp, qt/PlatQt.cpp, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp: Completed the merge of Scintilla v2.24. [6890939e2da6] * build.py, qt/qscintilla.pro: More build system changes. [3e9deec76c02] * qt/qscintilla.pro, qt/qsciscintilla.cpp: Updated the .pro file for the changed files and directory structure in v2.24. [274cb7017857] * License.txt, README, bin/empty.txt, cocoa/Framework.mk, cocoa/InfoBar.h, cocoa/InfoBar.mm, cocoa/InfoBarCommunicator.h, cocoa/PlatCocoa.h, cocoa/PlatCocoa.mm, cocoa/QuartzTextLayout.h, cocoa/QuartzTextStyle.h, cocoa/QuartzTextStyleAttribute.h, cocoa/SciTest.mk, cocoa/ScintillaCallTip.h, cocoa/ScintillaCallTip.mm, cocoa/ScintillaCocoa.h, cocoa/ScintillaCocoa.mm, cocoa/ScintillaFramework/Info.plist, cocoa/ ScintillaFramework/ScintillaFramework.xcodeproj/project.pbxproj, cocoa/ScintillaFramework/Scintilla_Prefix.pch, cocoa/ScintillaListBox.h, cocoa/ScintillaListBox.mm, cocoa/ScintillaTest/AppController.h, cocoa/ScintillaTest/AppController.mm, cocoa/ScintillaTest/English.lproj/MainMenu.xib, cocoa/ScintillaTest/Info.plist, cocoa/ScintillaTest/Scintilla- Info.plist, cocoa/ScintillaTest/ScintillaTest.xcodeproj/project.pbxproj, cocoa/ScintillaTest/ScintillaTest_Prefix.pch, cocoa/ScintillaTest/TestData.sql, cocoa/ScintillaTest/main.m, cocoa/ScintillaView.h, cocoa/ScintillaView.mm, cocoa/common.mk, delbin.bat, delcvs.bat, doc/Design.html, doc/Lexer.txt, doc/SciBreak.jpg, doc/SciCoding.html, doc/SciRest.jpg, doc/SciTEIco.png, doc/SciWord.jpg, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/ScintillaUsage.html, doc/Steps.html, doc/index.html, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla- marshal.h, gtk/scintilla-marshal.list, gtk/scintilla.mak, include/Accessor.h, include/Face.py, include/HFacer.py, include/ILexer.h, include/KeyWords.h, include/Platform.h, include/PropSet.h, include/SString.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, include/ScintillaWidget.h, include/WindowAccessor.h, lexers/LexA68k.cxx, lexers/LexAPDL.cxx, lexers/LexASY.cxx, lexers/LexAU3.cxx, lexers/LexAVE.cxx, lexers/LexAbaqus.cxx, lexers/LexAda.cxx, lexers/LexAsm.cxx, lexers/LexAsn1.cxx, lexers/LexBaan.cxx, lexers/LexBash.cxx, lexers/LexBasic.cxx, lexers/LexBullant.cxx, lexers/LexCLW.cxx, lexers/LexCOBOL.cxx, lexers/LexCPP.cxx, lexers/LexCSS.cxx, lexers/LexCaml.cxx, lexers/LexCmake.cxx, lexers/LexConf.cxx, lexers/LexCrontab.cxx, lexers/LexCsound.cxx, lexers/LexD.cxx, lexers/LexEScript.cxx, lexers/LexEiffel.cxx, lexers/LexErlang.cxx, lexers/LexFlagship.cxx, lexers/LexForth.cxx, lexers/LexFortran.cxx, lexers/LexGAP.cxx, lexers/LexGui4Cli.cxx, lexers/LexHTML.cxx, lexers/LexHaskell.cxx, lexers/LexInno.cxx, lexers/LexKix.cxx, lexers/LexLisp.cxx, lexers/LexLout.cxx, lexers/LexLua.cxx, lexers/LexMMIXAL.cxx, lexers/LexMPT.cxx, lexers/LexMSSQL.cxx, lexers/LexMagik.cxx, lexers/LexMarkdown.cxx, lexers/LexMatlab.cxx, lexers/LexMetapost.cxx, lexers/LexMySQL.cxx, lexers/LexNimrod.cxx, lexers/LexNsis.cxx, lexers/LexOpal.cxx, lexers/LexOthers.cxx, lexers/LexPB.cxx, lexers/LexPLM.cxx, lexers/LexPOV.cxx, lexers/LexPS.cxx, lexers/LexPascal.cxx, lexers/LexPerl.cxx, lexers/LexPowerPro.cxx, lexers/LexPowerShell.cxx, lexers/LexProgress.cxx, lexers/LexPython.cxx, lexers/LexR.cxx, lexers/LexRebol.cxx, lexers/LexRuby.cxx, lexers/LexSML.cxx, lexers/LexSQL.cxx, lexers/LexScriptol.cxx, lexers/LexSmalltalk.cxx, lexers/LexSorcus.cxx, lexers/LexSpecman.cxx, lexers/LexSpice.cxx, lexers/LexTACL.cxx, lexers/LexTADS3.cxx, lexers/LexTAL.cxx, lexers/LexTCL.cxx, lexers/LexTeX.cxx, lexers/LexTxt2tags.cxx, lexers/LexVB.cxx, lexers/LexVHDL.cxx, lexers/LexVerilog.cxx, lexers/LexYAML.cxx, lexlib/Accessor.cxx, lexlib/Accessor.h, lexlib/CharacterSet.cxx, lexlib/CharacterSet.h, lexlib/LexAccessor.h, lexlib/LexerBase.cxx, lexlib/LexerBase.h, lexlib/LexerModule.cxx, lexlib/LexerModule.h, lexlib/LexerNoExceptions.cxx, lexlib/LexerNoExceptions.h, lexlib/LexerSimple.cxx, lexlib/LexerSimple.h, lexlib/OptionSet.h, lexlib/PropSetSimple.cxx, lexlib/PropSetSimple.h, lexlib/StyleContext.cxx, lexlib/StyleContext.h, lexlib/WordList.cxx, lexlib/WordList.h, lib/README.doc, macosx/PlatMacOSX.cxx, macosx/SciTest/SciTest.xcode/project.pbxproj, macosx/ScintillaMacOSX.cxx, macosx/ScintillaMacOSX.h, macosx/deps.mak, macosx/makefile, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CallTip.h, src/Catalogue.cxx, src/Catalogue.h, src/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h, src/CharacterSet.h, src/ContractionState.cxx, src/ContractionState.h, src/Decoration.h, src/Document.cxx, src/Document.h, src/DocumentAccessor.cxx, src/DocumentAccessor.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/ExternalLexer.h, src/FontQuality.h, src/Indicator.cxx, src/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/KeyWords.cxx, src/LexAPDL.cxx, src/LexASY.cxx, src/LexAU3.cxx, src/LexAVE.cxx, src/LexAbaqus.cxx, src/LexAda.cxx, src/LexAsm.cxx, src/LexAsn1.cxx, src/LexBaan.cxx, src/LexBash.cxx, src/LexBasic.cxx, src/LexBullant.cxx, src/LexCLW.cxx, src/LexCOBOL.cxx, src/LexCPP.cxx, src/LexCSS.cxx, src/LexCaml.cxx, src/LexCmake.cxx, src/LexConf.cxx, src/LexCrontab.cxx, src/LexCsound.cxx, src/LexD.cxx, src/LexEScript.cxx, src/LexEiffel.cxx, src/LexErlang.cxx, src/LexFlagship.cxx, src/LexForth.cxx, src/LexFortran.cxx, src/LexGAP.cxx, src/LexGen.py, src/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexHaskell.cxx, src/LexInno.cxx, src/LexKix.cxx, src/LexLisp.cxx, src/LexLout.cxx, src/LexLua.cxx, src/LexMMIXAL.cxx, src/LexMPT.cxx, src/LexMSSQL.cxx, src/LexMagik.cxx, src/LexMatlab.cxx, src/LexMetapost.cxx, src/LexMySQL.cxx, src/LexNimrod.cxx, src/LexNsis.cxx, src/LexOpal.cxx, src/LexOthers.cxx, src/LexPB.cxx, src/LexPLM.cxx, src/LexPOV.cxx, src/LexPS.cxx, src/LexPascal.cxx, src/LexPerl.cxx, src/LexPowerPro.cxx, src/LexPowerShell.cxx, src/LexProgress.cxx, src/LexPython.cxx, src/LexR.cxx, src/LexRebol.cxx, src/LexRuby.cxx, src/LexSML.cxx, src/LexSQL.cxx, src/LexScriptol.cxx, src/LexSmalltalk.cxx, src/LexSorcus.cxx, src/LexSpecman.cxx, src/LexSpice.cxx, src/LexTACL.cxx, src/LexTADS3.cxx, src/LexTAL.cxx, src/LexTCL.cxx, src/LexTeX.cxx, src/LexVB.cxx, src/LexVHDL.cxx, src/LexVerilog.cxx, src/LexYAML.cxx, src/LineMarker.cxx, src/LineMarker.h, src/Partitioning.h, src/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx, src/PositionCache.h, src/PropSet.cxx, src/RESearch.cxx, src/RESearch.h, src/RunStyles.cxx, src/SVector.h, src/SciTE.properties, src/ScintillaBase.cxx, src/ScintillaBase.h, src/Selection.cxx, src/Selection.h, src/SplitVector.h, src/Style.cxx, src/Style.h, src/StyleContext.cxx, src/StyleContext.h, src/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h, src/WindowAccessor.cxx, src/XPM.cxx, src/XPM.h, test/MessageNumbers.py, test/README, test/XiteMenu.py, test/XiteWin.py, test/examples/x.asp, test/examples/x.asp.styled, test/examples/x.cxx, test/examples/x.cxx.styled, test/examples/x.d, test/examples/x.d.styled, test/examples/x.html, test/examples/x.html.styled, test/examples/x.php, test/examples/x.php.styled, test/examples/x.py, test/examples/x.py.styled, test/examples/x.vb, test/examples/x.vb.styled, test/lexTests.py, test/performanceTests.py, test/simpleTests.py, test/unit/README, test/unit/SciTE.properties, test/unit/makefile, test/unit/testContractionState.cxx, test/unit/testPartitioning.cxx, test/unit/testRunStyles.cxx, test/unit/testSplitVector.cxx, test/unit/unitTest.cxx, test/xite.py, vcbuild/SciLexer.dsp, version.txt, win32/Margin.cur, win32/PlatWin.cxx, win32/PlatformRes.h, win32/SciTE.properties, win32/ScintRes.rc, win32/Scintilla.def, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak, zipsrc.bat: Merged Scintilla v2.24. [59ca27407fd9] 2011-03-03 Phil Thompson * Python/configure.py, qt/qscintilla.pro: Updated the .so version number to 6.0.0. [8ebe3f1fccd4] * Makefile: Switched the build system to Qt v4.7.2. [47f653394ef0] * .hgtags, lib/README.svn: Merged the v2.4 maintenance branch. [d00b7d9115d1] * qsci/api/python/Python-3.2.api: Added an API file for Python v3.2. [8cc94408b710] <2.4-maint> 2011-02-23 Phil Thompson * qt/qsciscintillabase.cpp: On X11 the control modifier is now used (instead of alt) to trigger a rectangular selection. [4bea3b8b8271] <2.4-maint> 2011-02-22 Phil Thompson * qt/qscimacro.cpp: Fixed a bug with Qt4 when loading a macro that meant that a macro may not have a terminating '\0'. [bbec6ef96cd2] <2.4-maint> 2011-02-06 Phil Thompson * lib/LICENSE.commercial.short, lib/LICENSE.gpl.short: Updated the copyright notices. [f386964f3853] <2.4-maint> * Python/sip/qsciscintilla.sip, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Deprecated setAutoCompletionShowSingle(), added setAutoCompletionUseSingle(). Deprecated autoCompletionShowSingle(), added autoCompletionUseSingle(). [7dae1a33b74b] <2.4-maint> * qt/qsciscintilla.cpp, qt/qsciscintilla.h: QsciScintilla::setAutoCompletionCaseSensitivity() is no longer ignored if a lexer has been set. [92d3c5f7b825] <2.4-maint> * qt/qscintilla.pro, qt/qsciscintillabase.cpp: Translate Key_Backtab to Shift-Key_Tab before passing to Scintilla. [fc2d75b26ef8] <2.4-maint> 2011-01-06 Phil Thompson * qt/qscintilla_es.ts: Updated Spanish translations from Jaime Seuma. [8921e85723a1] <2.4-maint> 2010-12-24 Phil Thompson * qt/qsciscintilla.h: Fixed a documentation typo. [1b951cf8838a] <2.4-maint> 2010-12-23 Phil Thompson * .hgtags: Added tag 2.4.6 for changeset 1884d76f35b0 [696037b84e26] <2.4-maint> * NEWS: Released as v2.4.6. [1884d76f35b0] [2.4.6] <2.4-maint> 2010-12-21 Phil Thompson * qt/qsciscintilla.cpp: Auto-completion words from documents are now ignored if they are already included from APIs. [db48fbf19e7c] <2.4-maint> * qt/SciClasses.cpp: Make sure call tips are redrawn afer being clicked on. [497ad4605ae3] <2.4-maint> 2010-11-23 Phil Thompson * NEWS, Python/sip/qsciscintilla.sip, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added support for indicators to the high-level API. See the NEWS file for the details. [8673b7890874] <2.4-maint> 2010-11-15 Phil Thompson * Python/configure.py: Added the --no-timestamp option to configure.py. [61d1b5d28e21] <2.4-maint> * qsci/api/python/Python-2.7.api: Added the API file for Python v2.7. [5b2c77e7150a] <2.4-maint> 2010-11-09 Phil Thompson * Makefile, qt/PlatQt.cpp: Applied a fix for calculating character widths under OS/X. Switched the build system to Qt v4.7.1. [47a4eff86efa] <2.4-maint> 2010-11-08 Phil Thompson * qt/qscilexercpp.h: Fixed a bug in the documentation of QsciLexerCPP.GlobalClass. [3cada289b329] <2.4-maint> 2010-10-24 Phil Thompson * qt/SciClasses.h, qt/ScintillaQt.h, qt/qscicommandset.h, qt/qsciglobal.h, qt/qscilexer.h, qt/qsciprinter.h, qt/qsciscintilla.h, qt/qsciscintillabase.h: Added support for QT_BEGIN_NAMESPACE and QT_END_NAMESPACE. [a80f0df49f6c] <2.4-maint> 2010-10-23 Phil Thompson * qt/qscintilla_de.qm, qt/qscintilla_de.ts: Updated German translations from Detlev. [693d3adf3c3f] <2.4-maint> 2010-10-21 Phil Thompson * Makefile, Python/sip/qscilexerproperties.sip, qt/qscilexerproperties.cpp, qt/qscilexerproperties.h, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Added support for the Key style to QsciLexerProperties. [0b2e86015862] <2.4-maint> 2010-08-31 Phil Thompson * .hgtags: Added tag 2.4.5 for changeset f3f3936e5b86 [84bb1b0d0674] <2.4-maint> * NEWS: Released as v2.4.5. [f3f3936e5b86] [2.4.5] <2.4-maint> 2010-08-21 Phil Thompson * NEWS: Updated the NEWS file. [80afe6b1504a] <2.4-maint> 2010-08-20 Phil Thompson * Python/sip/qsciscintillabase.sip: With Python v3, the QsciScintillaBase.SendScintilla() overloads that take char * arguments now require them to be bytes objects and no longer allow them to be str objects. [afa9ac3c487d] <2.4-maint> 2010-08-14 Phil Thompson * Python/sip/qsciscintillabase.sip: Reverted the addition of the /Encoding/ annotations to SendScintilla() as it is (probably) not the right solution. [4cb625284e4f] <2.4-maint> * qt/qsciscintilla.cpp: The entries in user and auto-completion lists should now support UTF-8. [112d71cec57a] <2.4-maint> * Python/sip/qsciscintillabase.sip: The QsciScintillaBase.SendScintilla() Python overloads will now accept unicode strings that can be encoded to UTF-8. [2f21b97985f2] <2.4-maint> 2010-07-22 Phil Thompson * qt/qscilexerhtml.cpp, qt/qscilexerhtml.h: Implemented QsciLexerHTML::autoCompletionFillups() to change the fillups to "/>". [8d9c1aad1349] <2.4-maint> * qt/qsciscintilla.cpp: Fixed a regression, and the original bug, in QsciScintilla::clearAnnotations(). [fd8746ae2198] <2.4-maint> * qt/qscistyle.cpp: QsciStyle now auto-allocates style numbers from 63 rather than STYLE_MAX because Scintilla only initially creates enough storage for that number of styles. [7c69b0a4ee5b] <2.4-maint> 2010-07-15 Phil Thompson * qt/qscilexerverilog.cpp, qt/qscintilla.pro: Fixed a bug in QsciLexerVerilog that meant that the Keyword style was being completely ignored. [09e28404476a] <2.4-maint> 2010-07-12 Phil Thompson * .hgtags: Added tag 2.4.4 for changeset c61a49005995 [4c98368d9bea] <2.4-maint> * NEWS: Released as v2.4.4. [c61a49005995] [2.4.4] <2.4-maint> 2010-06-08 Phil Thompson * Makefile, qt/qsciscintillabase.cpp: Pop-lists now get removed when the main widget loses focus. [169fa07f52ab] <2.4-maint> 2010-06-05 Phil Thompson * qt/ScintillaQt.cpp: Changed SCN_MODIFIED to deal with text being NULL. [68148fa857ab] <2.4-maint> 2010-06-03 Phil Thompson * qt/ScintillaQt.cpp: The SCN_MODIFIED signal now tries to make sure that the text passed is valid. [90e3461f410f] <2.4-maint> 2010-04-22 Phil Thompson * qt/qsciscintilla.cpp, qt/qsciscintilla.h: QsciScintilla::markerDefine() now allows existing markers to be redefined if an explicit marker number is given. [63f1a7a1d8e2] <2.4-maint> * qt/ScintillaQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Fixed the drag and drop behaviour so that a move automatically turns into a copy when the mouse leaves the widget. [4dab09799716] <2.4-maint> 2010-04-21 Phil Thompson * qt/PlatQt.cpp, qt/ScintillaQt.cpp: Fixed build problems against Qt v3. [71168072ac9b] <2.4-maint> * Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added QsciScintillaBase::fromMimeData(). [b86a15672079] <2.4-maint> * Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Renamed QsciScintillaBase::createMimeData() to toMimeData(). [6f5837334dde] <2.4-maint> 2010-04-20 Phil Thompson * Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added QsciScintillaBase::canInsertFromMimeData(). [bbba2c1799ef] <2.4-maint> * Python/sip/qsciscintillabase.sip, qt/ScintillaQt.cpp, qt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added QsciScintillaBase::createMimeData(). [b2c3e3a9b43d] <2.4-maint> 2010-03-17 Phil Thompson * .hgtags: Added tag 2.4.3 for changeset 786429e0227d [1931843aec48] <2.4-maint> * NEWS, build.py: Fixed the generation of the change log after tagging a release. Updated the NEWS file. Released as v2.4.3. [786429e0227d] [2.4.3] <2.4-maint> 2010-02-23 Phil Thompson * qt/qsciscintilla.cpp, qt/qsciscintilla.h: Reverted the setting of the alpha component in setMarkerForegroundColor() (at least until SC_MARK_UNDERLINE is supported). [111da2e01c5e] <2.4-maint> * qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Fixed the very broken support for the alpha component with Qt4. [b1d73c7f447b] <2.4-maint> * Python/sip/qsciscintilla.sip, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::clearFolds() to clear all current folds (typically prior to disabling folding). [4f4266da1962] <2.4-maint> 2010-02-15 Phil Thompson * Makefile: Switched the build system to Qt v4.6.2. [f023013b79e4] <2.4-maint> 2010-02-07 Phil Thompson * qt/qscidocument.cpp: Fixed a bug in the handling of multiple views of a document. [8b4aa000df1c] <2.4-maint> 2010-01-31 Phil Thompson * Makefile, build.py: Minor tidy ups for the internal build system. [c3a41d195b8a] <2.4-maint> 2010-01-30 Phil Thompson * Makefile, Python/configure.py, build.py, lib/README.doc, lib/README.svn, lib/qscintilla.dxy, qt/qsciglobal.h: Changes to the internal build system required by the migration to Mercurial. [607e474dfd28] <2.4-maint> 2010-01-29 phil * .hgtags: Import from SVN. [49d5a0d80211] 2010-01-20 phil * Makefile, NEWS: Updated the build system to Qt v4.6.1. Released as v2.4.2. [73732e5bae08] [2.4.2] <2.4-maint> 2010-01-18 phil * qt/qscintilla_es.qm, qt/qscintilla_es.ts: Updated Spanish translations from Jaime Seuma. [3b911e69696d] <2.4-maint> 2010-01-15 phil * Python/configure.py: The Python bindings now check for SIP v4.10. [8d5f4957a07c] <2.4-maint> * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_es.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the .ts files. [15c647ac0c42] <2.4-maint> * NEWS, build.py: Fixed the build system for Qt v3 and v4 prior to v4.5. [1b5bea85a3bf] <2.4-maint> 2010-01-14 phil * NEWS, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short: Released as v2.4.1. [a04b69746aa6] [2.4.1] <2.4-maint> 2009-12-22 phil * lib/gen_python3_api.py, qsci/api/python/Python-3.1.api: Added the API file for Python v3.1. [116c24ab58b2] <2.4-maint> * NEWS, Python/configure.py: Added support for automatically generated docstrings. [3d316b4f222b] <2.4-maint> 2009-12-11 phil * Makefile, qt/PlatQt.cpp: Fixed a performance problem when displaying very long lines. [d3fe67ad2eb5] <2.4-maint> 2009-11-01 phil * qt/qsciapis.cpp: Fixed a possible crash in the handling of call tips. [6248caa24fec] <2.4-maint> * qt/SciClasses.cpp: Applied the workaround for the autocomplete focus bug under Gnome's window manager which (appears) to work with current versions of Qt across all platforms. [f709f1518e70] <2.4-maint> * Makefile, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Make sure a lexer is fully detached when a QScintilla instance is destroyed. [db47764231d2] <2.4-maint> 2009-08-19 phil * lib/LICENSE.gpl.short, qt/qscintilla_de.qm, qt/qscintilla_de.ts: Updated German translations from Detlev. [458b60ec031e] <2.4-maint> 2009-08-09 phil * Python/sip/qscilexerverilog.sip, Python/sip/qscimodcommon.sip, qt/qscilexerverilog.cpp, qt/qscilexerverilog.h, qt/qscintilla.pro: Added the QsciLexerVerilog class. [86b2aceac88c] <2.4-maint> * Makefile, Python/sip/qscilexerspice.sip, Python/sip/qscimodcommon.sip, lib/LICENSE.commercial, lib /OPENSOURCE-NOTICE.TXT, lib/README.doc, qt/qscilexerspice.cpp, qt/qscilexerspice.h, qt/qscintilla.pro: Added the QsciLexerSpice class. [56532ec00839] <2.4-maint> 2009-06-05 phil * NEWS, lib/LICENSE.commercial: Released as v2.4. [612b1bcb8223] [2.4] 2009-06-03 phil * NEWS, qt/qscistyledtext.h: Fixed a bug building on Qt v3. [88ebc67fdff4] 2009-05-30 phil * qt/ScintillaQt.cpp: Applied a fix for copying UTF-8 text to the X clipboard from Lars Reichelt. [e59fa72c2e2d] 2009-05-27 phil * qt/qscilexercustom.h: Fixed a missing forward declaration in qscilexercustom.h. [0018449ee6aa] 2009-05-25 phil * qt/qscilexercustom.cpp: Don't ask the custom lexer to style zero characters. [6ae021232f4f] 2009-05-19 phil * NEWS, qt/qscintilla.pro, qt/qscintilla_cs.qm, qt/qscintilla_es.qm, qt/qscintilla_es.ts, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm: Added Spanish translations from Jaime Seuma. [0cdbee8db9af] * qt/qsciscintilla.cpp: A minor fix for ancient C++ compilers. [0523c3a0e0aa] 2009-05-18 phil * NEWS, Python/sip/qscilexer.sip, Python/sip/qscilexercustom.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexercustom.cpp, qt/qscilexercustom.h, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::annotation(). Added QsciLexerCustom (completely untested) and supporting changes to QsciLexer. [382d5b86f600] 2009-05-17 phil * qt/qscintilla_cs.ts, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated translations from Detlev. [0b8c8438e464] 2009-05-09 phil * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added support for text margins. [be9db7d41b50] * qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qscistyledtext.cpp, qt/qscistyledtext.h: Debugged the support for annotations. Tidied up the QString to Scintilla string conversions. [573199665222] 2009-05-08 phil * NEWS, Python/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip, Python/sip/qscistyle.sip, Python/sip/qscistyledtext.sip, qt/qscicommand.h, qt/qscimacro.h, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qscistyle.cpp, qt/qscistyle.h, qt/qscistyledtext.cpp, qt/qscistyledtext.h: Implemented the rest of the annotation API - still needs debugging. [7f23400d2416] 2009-05-07 phil * NEWS, qt/qscintilla.pro, qt/qscistyle.cpp, qt/qscistyle.h: Added the QsciStyle class. [bf8e3e02071e] 2009-05-06 phil * qt/qsciscintillabase.cpp: Fixed the key event handling when the text() is empty and the key() should be used - only seems to happen with OS/X. [868a146b019f] 2009-05-03 phil * Makefile, NEWS, Python/configure.py, Python/sip/qscicommand.sip, Python/sip/qscicommandset.sip, Python/sip/qscilexer.sip, Python/sip/qscilexercpp.sip, Python/sip/qscilexercss.sip, Python/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip, Python/sip/qscilexerpascal.sip, Python/sip/qscilexerperl.sip, Python/sip/qscilexerpython.sip, Python/sip/qscilexerxml.sip, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, README, UTF-8-demo.txt, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/annotations.png, doc/index.html, doc/styledmargin.png, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, gtk/scintilla.mak, include/Face.py, include/HFacer.py, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, include/ScintillaWidget.h, lib/LICENSE.commercial, macosx/PlatMacOSX.cxx, macosx/makefile, qt/PlatQt.cpp, qt/ScintillaQt.cpp, qt/qsciapis.cpp, qt/qscidocument.cpp, qt/qscidocument.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexerpascal.cpp, qt/qscilexerpascal.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerxml.cpp, qt/qscilexerxml.h, qt/qscintilla.pro, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h, src/CellBuffer.cxx, src/CellBuffer.h, src/Document.cxx, src/Document.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/Indicator.cxx, src/Indicator.h, src/KeyWords.cxx, src/LexAU3.cxx, src/LexAbaqus.cxx, src/LexAsm.cxx, src/LexBash.cxx, src/LexCOBOL.cxx, src/LexCPP.cxx, src/LexCSS.cxx, src/LexD.cxx, src/LexFortran.cxx, src/LexGen.py, src/LexHTML.cxx, src/LexHaskell.cxx, src/LexInno.cxx, src/LexLua.cxx, src/LexMySQL.cxx, src/LexNimrod.cxx, src/LexNsis.cxx, src/LexOthers.cxx, src/LexPascal.cxx, src/LexPerl.cxx, src/LexPowerPro.cxx, src/LexProgress.cxx, src/LexPython.cxx, src/LexRuby.cxx, src/LexSML.cxx, src/LexSQL.cxx, src/LexSorcus.cxx, src/LexTACL.cxx, src/LexTADS3.cxx, src/LexTAL.cxx, src/LexTeX.cxx, src/LexVerilog.cxx, src/LexYAML.cxx, src/PerLine.cxx, src/PerLine.h, src/PositionCache.cxx, src/RESearch.cxx, src/RESearch.h, src/RunStyles.h, src/SciTE.properties, src/ScintillaBase.cxx, src/SplitVector.h, src/UniConversion.cxx, src/ViewStyle.cxx, src/ViewStyle.h, vcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak: Merged the v2.3 branch onto the trunk. [1bb3d2b01123] 2008-09-20 phil * Makefile, NEWS, lib/README.doc: Released as v2.3. [8fd73a9a9d66] [2.3] 2008-09-17 phil * NEWS, Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::apiContext() for further open up the auto- completion and call tips support. [a6291ea6dd37] 2008-09-16 phil * Python/configure.py, lib/gen_python_api.py, qsci/api/python/Python-2.6.api, qt/qsciapis.h: Added the API file for Python v2.6rc1. Fixed a typo in the help for the Python bindings configure.py. [ac10be3cc7fb] 2008-09-03 phil * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the i18n .ts files. [b73beac06e0f] 2008-09-01 phil * lib/README.doc: Updated the Windows installation notes to cover the need to manually install the DLL when using Qt3. [17019ebfab36] * lib/README.doc, qt/qsciscintilla.cpp: Fixed a regression in the highlighting of call tip arguments. Updated the Windows installation notes to say that any header files installed from a previous build should first be removed. [cb3f27b93323] 2008-08-31 phil * NEWS, Python/configure.py, Python/sip/qsciabstractapis.sip, Python/sip/qsciapis.sip, Python/sip/qscilexer.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciscintillabase.sip, qt/qsciabstractapis.cpp, qt/qsciabstractapis.h, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added the QsciAbstractAPIs class to allow applications to provide their own implementation of APIs. [eb5a8a602e5d] * Makefile, Python/configure.py, Python/sip/qscilexerfortran.sip, Python/sip/qscilexerfortran77.sip, Python/sip/qscilexerpascal.sip, Python/sip/qscilexerpostscript.sip, Python/sip/qscilexertcl.sip, Python/sip/qscilexerxml.sip, Python/sip/qscilexeryaml.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, build.py, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile, gtk/scintilla.mak, include/Platform.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, lib/LICENSE.commercial, lib/README.doc, lib/qscintilla.dxy, macosx/ExtInput.cxx, macosx/ExtInput.h, macosx/PlatMacOSX.cxx, macosx/PlatMacOSX.h, macosx/QuartzTextLayout.h, macosx/QuartzTextStyle.h, macosx/QuartzTextStyleAttribute.h, macosx/ScintillaMacOSX.cxx, macosx/ScintillaMacOSX.h, macosx/TView.cxx, macosx/makefile, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/qscilexerfortran.cpp, qt/qscilexerfortran.h, qt/qscilexerfortran77.cpp, qt/qscilexerfortran77.h, qt/qscilexerhtml.cpp, qt/qscilexerlua.cpp, qt/qscilexerlua.h, qt/qscilexerpascal.cpp, qt/qscilexerpascal.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpostscript.cpp, qt/qscilexerpostscript.h, qt/qscilexertcl.cpp, qt/qscilexertcl.h, qt/qscilexerxml.cpp, qt/qscilexerxml.h, qt/qscilexeryaml.cpp, qt/qscilexeryaml.h, qt/qscimacro.cpp, qt/qscimacro.h, qt/qscintilla.pro, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.h, src/CellBuffer.cxx, src/Editor.cxx, src/Editor.h, src/KeyWords.cxx, src/LexCPP.cxx, src/LexGen.py, src/LexMagik.cxx, src/LexMatlab.cxx, src/LexPerl.cxx, src/LexPowerShell.cxx, src/LineMarker.cxx, src/RunStyles.cxx, src/RunStyles.h, vcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak: Merged the v2.2 maintenance branch. [cd784c60bcc7] 2008-02-27 phil * NEWS, build.py, lib/GPL_EXCEPTION.TXT, lib/LICENSE.GPL2, lib/LICENSE.GPL3, lib/LICENSE.commercial, lib/LICENSE.commercial.short, lib/LICENSE.gpl, lib/LICENSE.gpl.short, lib/OPENSOURCE-NOTICE.TXT: Updated the licenses to be in line with the the current Qt licenses, including GPL v3. Released as v2.2. [a039ca791129] [2.2] 2008-02-23 phil * Makefile, qt/PlatQt.cpp: Switched to Qt v4.3.4. Further tweaks for Windows64 support. [3ae9686f38e6] 2008-02-22 phil * Makefile, NEWS, Python/sip/qsciscintillabase.sip, qt/PlatQt.cpp, qt/ScintillaQt.cpp, qt/qscidocument.cpp, qt/qscimacro.cpp, qt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Several fixes for Windows64 support based on a patch from Randall Frank. [2c753ee01c42] 2008-02-09 phil * Python/configure.py, lib/README.doc, qt/qscintilla.pro: It's no longer necessary to set DYLD_LIBRARY_PATH when using the Python bindings. [d1098424aed1] 2008-02-03 phil * Python/sip/qscilexerruby.sip: Added the missing QsciLexerRuby.Error to the Python bindings. [0b4f06a30251] 2008-01-20 phil * designer-Qt4/qscintillaplugin.cpp, designer-Qt4/qscintillaplugin.h: Fixed a problem with the Qt4 Designer plugin on Leopard. [5450a1bc62df] 2008-01-11 phil * qt/SciClasses.cpp, qt/qsciscintillabase.cpp: Hopefully fixed shortcuts and accelerators when the autocompletion list is displayed. [8304a1f4e36b] 2008-01-06 phil * qt/SciClasses.cpp: Hopefully fixed a bug stopping normal typing when the autocompletion list is being displayed. [2db0cc8fa158] 2008-01-03 phil * lib/LICENSE.commercial.short, lib/LICENSE.gpl, lib/LICENSE.gpl.short, lib/README.doc, qt/qsciscintillabase.cpp: Fixed a Qt3 compilation bug. Updated the copyright notices. [cf238f41fb54] 2007-12-30 phil * qt/SciClasses.cpp, qt/SciClasses.h, qt/qsciscintillabase.cpp: Hopefully fixed the problems with the auto-completion popup on all platforms (not tested on Mac). [585aa7e4e59f] 2007-12-29 phil * qt/SciClasses.cpp: Remove the use of the internal Tooltip widget flag so that the X11 auto-completion list now has the same problems as the Windows version. (Prior to fixing the problem properly.) [93d584d099db] 2007-12-23 phil * qt/ScintillaQt.cpp: Fixed DND problems with Qt4. [23f8c1a7c4c7] * qt/qsciscintilla.cpp: Fix from Detlev for an infinite loop caused by calling getCursorPosition() when Scintilla reports a position past the end of the text. [dd99ade93fa6] 2007-12-05 phil * qt/qscilexerperl.cpp, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Fixed a silly typo in the updated Perl lexer. [0e290eb71572] * qt/qscintilla_de.qm: Updated German translations from Detlev. [e820d3c167f5] * Makefile: Switched the internal build system to Qt v4.3.3. [df2d877e2422] 2007-12-04 phil * qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the translation source files. [1fb11f16d750] * Python/sip/qscilexerperl.sip, Python/sip/qsciscintillabase.sip, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile, gtk/scintilla.mak, include/Platform.h, include/PropSet.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, lib/README.svn, macosx/PlatMacOSX.cxx, macosx/ScintillaMacOSX.h, macosx/makefile, qt/PlatQt.cpp, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintillabase.h, src/CellBuffer.cxx, src/CellBuffer.h, src/ContractionState.cxx, src/ContractionState.h, src/Document.cxx, src/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx, src/Editor.h, src/KeyWords.cxx, src/LexAPDL.cxx, src/LexASY.cxx, src/LexAU3.cxx, src/LexAbaqus.cxx, src/LexBash.cxx, src/LexCPP.cxx, src/LexGen.py, src/LexHTML.cxx, src/LexHaskell.cxx, src/LexMetapost.cxx, src/LexOthers.cxx, src/LexPerl.cxx, src/LexPython.cxx, src/LexR.cxx, src/LexSQL.cxx, src/LexTeX.cxx, src/LexYAML.cxx, src/Partitioning.h, src/PositionCache.cxx, src/PositionCache.h, src/PropSet.cxx, src/RunStyles.cxx, src/RunStyles.h, src/ScintillaBase.cxx, src/SplitVector.h, src/ViewStyle.cxx, src/ViewStyle.h, vcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak: Merged Scintilla v1.75. [8009a4d7275a] 2007-11-17 phil * qt/SciClasses.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Bug fixes for selectAll() and getCursorPosition() from Baz Walter. [80eecca239b4] 2007-10-24 phil * qt/qsciscintilla.cpp: Fixed folding for HTML. [bb6fb6065e30] 2007-10-14 phil * build.py, lib/GPL_EXCEPTION.TXT, lib/GPL_EXCEPTION_ADDENDUM.TXT, lib/LICENSE.gpl, lib/OPENSOURCE-NOTICE.TXT, qt/qscicommandset.cpp: Control characters that are not bound to commands (or shortcuts) now default to doing nothing (rather than inserting the character into the text). Aligned the GPL license with Trolltech's exceptions. [148432c68762] 2007-10-12 phil * src/LexHTML.cxx: Fixed the Scintilla HTML lexer's handling of characters >= 0x80. [c4e271ce8e96] 2007-10-05 phil * qt/qsciscintillabase.cpp: Used NoSystemBackground rather than OpaquePaintEvent to eliminate flicker. [01a22c66304d] 2007-10-04 phil * Makefile, qt/qsciscintillabase.cpp: Fixed a flashing effect visible with a non-standard background. Switched to Qt v4.3.2. [781c58fcba96] 2007-09-23 phil * qt/qsciapis.h, qt/qscicommand.h, qt/qscicommandset.h, qt/qscidocument.h, qt/qsciglobal.h, qt/qscilexer.h, qt/qscilexerbash.h, qt/qscilexerbatch.h, qt/qscilexercmake.h, qt/qscilexercpp.h, qt/qscilexercsharp.h, qt/qscilexercss.h, qt/qscilexerd.h, qt/qscilexerdiff.h, qt/qscilexerhtml.h, qt/qscilexeridl.h, qt/qscilexerjava.h, qt/qscilexerjavascript.h, qt/qscilexerlua.h, qt/qscilexermakefile.h, qt/qscilexerperl.h, qt/qscilexerpov.h, qt/qscilexerproperties.h, qt/qscilexerpython.h, qt/qscilexerruby.h, qt/qscilexersql.h, qt/qscilexertex.h, qt/qscilexervhdl.h, qt/qscimacro.h, qt/qsciprinter.h, qt/qsciscintilla.h, qt/qsciscintillabase.h: Made the recent portabilty changes Mac specific as AIX has a problem with them. [0de605d4079f] 2007-09-16 phil * qt/qscilexer.cpp: A lexer's default colour, paper and font are now written to and read from the settings. [45277fc76ace] 2007-09-15 phil * lib/README.doc, qt/qsciapis.h, qt/qscicommand.h, qt/qscicommandset.h, qt/qscidocument.h, qt/qsciglobal.h, qt/qscilexer.h, qt/qscilexerbash.h, qt/qscilexerbatch.h, qt/qscilexercmake.h, qt/qscilexercpp.h, qt/qscilexercsharp.h, qt/qscilexercss.h, qt/qscilexerd.h, qt/qscilexerdiff.h, qt/qscilexerhtml.h, qt/qscilexeridl.h, qt/qscilexerjava.h, qt/qscilexerjavascript.h, qt/qscilexerlua.h, qt/qscilexermakefile.h, qt/qscilexerperl.h, qt/qscilexerpov.h, qt/qscilexerproperties.h, qt/qscilexerpython.h, qt/qscilexerruby.h, qt/qscilexersql.h, qt/qscilexertex.h, qt/qscilexervhdl.h, qt/qscimacro.h, qt/qsciprinter.h, qt/qsciscintilla.h, qt/qsciscintillabase.h: Fixed the MacOS build problems when using the binary installer version of Qt. [e059a923a447] * lib/LICENSE.commercial.short, qt/PlatQt.cpp: Added the missing WaitMouseMoved() implementation on MacOS. [78d1c8fc37c0] 2007-09-10 phil * qt/qsciscintilla.cpp, qt/qsciscintilla.h: QsciScintilla::setFont() now calls QWidget::setFont() so that font() returns the expected value. [fd4f577c60ea] 2007-09-02 phil * qt/qsciscintilla.cpp: Fixed problems which the font size of STYLE_DEFAULT not being updated when the font of style 0 was changed. Hopefully this fixes the problems with edge columns and indentation guides. [ddeccb6f64a0] 2007-08-12 phil * Makefile, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short, qt/qscintilla.pro: Applied .pro file fix from Dirk Mueller to add a proper install rule. [a3a2e49f1042] 2007-07-22 phil * qt/qscilexer.cpp: Made sure that the backgound colour of areas of the widget with no text is updated when QsciLexer.setDefaultPaper() is called. [065558d2430b] 2007-07-09 phil * qt/qsciscintilla.cpp, qt/qsciscintilla.h: Explicitly set the style for STYLE_DEFAULT when setting a lexer. [a95fc3357771] 2007-06-30 phil * Python/sip/qsciscintillabase.sip, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, gtk/scintilla.mak, include/Accessor.h, include/HFacer.py, include/KeyWords.h, include/Platform.h, include/PropSet.h, include/SString.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, include/WindowAccessor.h, macosx/PlatMacOSX.cxx, macosx/PlatMacOSX.h, macosx/QuartzTextLayout.h, macosx/QuartzTextStyle.h, macosx/QuartzTextStyleAttribute.h, macosx/SciTest/English.lproj/InfoPlist.strings, macosx/SciTest/English.lproj/main.nib/classes.nib, macosx/SciTest/English.lproj/main.nib/info.nib, macosx/SciTest/English.lproj/main.nib/objects.xib, macosx/SciTest/Info.plist, macosx/SciTest/SciTest.xcode/project.pbxproj, macosx/SciTest/SciTest_Prefix.pch, macosx/SciTest/main.cpp, macosx/SciTest/version.plist, macosx/ScintillaCallTip.cxx, macosx/ScintillaCallTip.h, macosx/ScintillaListBox.cxx, macosx/ScintillaListBox.h, macosx/ScintillaMacOSX.cxx, macosx/ScintillaMacOSX.h, macosx/TCarbonEvent.cxx, macosx/TCarbonEvent.h, macosx/TRect.h, macosx/TView.cxx, macosx/TView.h, macosx/deps.mak, macosx/makefile, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintillabase.h, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CallTip.h, src/CellBuffer.cxx, src/CellBuffer.h, src/CharacterSet.h, src/ContractionState.cxx, src/ContractionState.h, src/Decoration.cxx, src/Decoration.h, src/Document.cxx, src/Document.h, src/DocumentAccessor.cxx, src/DocumentAccessor.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/ExternalLexer.h, src/Indicator.cxx, src/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/KeyWords.cxx, src/LexAPDL.cxx, src/LexAU3.cxx, src/LexAVE.cxx, src/LexAda.cxx, src/LexAsm.cxx, src/LexAsn1.cxx, src/LexBaan.cxx, src/LexBash.cxx, src/LexBasic.cxx, src/LexBullant.cxx, src/LexCLW.cxx, src/LexCPP.cxx, src/LexCSS.cxx, src/LexCaml.cxx, src/LexCmake.cxx, src/LexConf.cxx, src/LexCrontab.cxx, src/LexCsound.cxx, src/LexD.cxx, src/LexEScript.cxx, src/LexEiffel.cxx, src/LexErlang.cxx, src/LexFlagship.cxx, src/LexForth.cxx, src/LexFortran.cxx, src/LexGAP.cxx, src/LexGen.py, src/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexHaskell.cxx, src/LexInno.cxx, src/LexKix.cxx, src/LexLisp.cxx, src/LexLout.cxx, src/LexLua.cxx, src/LexMMIXAL.cxx, src/LexMPT.cxx, src/LexMSSQL.cxx, src/LexMatlab.cxx, src/LexMetapost.cxx, src/LexNsis.cxx, src/LexOpal.cxx, src/LexOthers.cxx, src/LexPB.cxx, src/LexPLM.cxx, src/LexPOV.cxx, src/LexPS.cxx, src/LexPascal.cxx, src/LexPerl.cxx, src/LexProgress.cxx, src/LexPython.cxx, src/LexRebol.cxx, src/LexRuby.cxx, src/LexSQL.cxx, src/LexScriptol.cxx, src/LexSmalltalk.cxx, src/LexSpecman.cxx, src/LexSpice.cxx, src/LexTADS3.cxx, src/LexTCL.cxx, src/LexTeX.cxx, src/LexVB.cxx, src/LexVHDL.cxx, src/LexVerilog.cxx, src/LexYAML.cxx, src/LineMarker.cxx, src/LineMarker.h, src/Partitioning.h, src/PositionCache.cxx, src/PositionCache.h, src/PropSet.cxx, src/RESearch.cxx, src/RESearch.h, src/RunStyles.cxx, src/RunStyles.h, src/SVector.h, src/ScintillaBase.cxx, src/ScintillaBase.h, src/SplitVector.h, src/Style.cxx, src/Style.h, src/StyleContext.cxx, src/StyleContext.h, src/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h, src/WindowAccessor.cxx, src/XPM.cxx, src/XPM.h, vcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak, zipsrc.bat: Merged Scintilla v1.74. [04dee9c2424f] * Python/sip/qscilexerpython.sip, build.py, qt/qscilexer.cpp, qt/qscilexerbash.cpp, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscintilla.pro: Fixed comment folding in the Bash lexer. A style is properly restored when read from QSettings. Removed ./Qsci from the qmake INCLUDEPATH. Removed the Scintilla version number from generated filenames. Used fully qualified enum names in the Python lexer so that the QMetaObject is correct. [6b27a5b211e0] 2007-06-01 phil * NEWS: Released as v2.1. [9976edafc5c1] [2.1] 2007-05-30 phil * Makefile: Switched the internal build system to Qt v4.3.0. [49284aa376ef] * NEWS, Python/configure.py, Python/sip/qscilexer.sip, Python/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip, Python/sip/qscilexercmake.sip, Python/sip/qscilexercpp.sip, Python/sip/qscilexercsharp.sip, Python/sip/qscilexercss.sip, Python/sip/qscilexerd.sip, Python/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip, Python/sip/qscilexeridl.sip, Python/sip/qscilexerjavascript.sip, Python/sip/qscilexerlua.sip, Python/sip/qscilexermakefile.sip, Python/sip/qscilexerperl.sip, Python/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip, Python/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexertex.sip, Python/sip/qscilexervhdl.sip, Python/sip/qscimodcommon.sip, build.py, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexerbash.cpp, qt/qscilexerbash.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qscilexercmake.cpp, qt/qscilexercmake.h, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercsharp.cpp, qt/qscilexercsharp.h, qt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerd.cpp, qt/qscilexerd.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexeridl.cpp, qt/qscilexeridl.h, qt/qscilexerjavascript.cpp, qt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h, qt/qscilexermakefile.cpp, qt/qscilexermakefile.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp, qt/qscilexerpov.h, qt/qscilexerproperties.cpp, qt/qscilexerproperties.h, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h, qt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp, qt/qscilexertex.h, qt/qscilexervhdl.cpp, qt/qscilexervhdl.h, qt/qscintilla.pro: Lexers now remember their style settings. A lexer no longer has to be the current lexer when changing a style's color, end-of-line fill, font or paper. The color(), eolFill(), font() and paper() methods of QsciLexer now return the current values for a style rather than the default values. The setDefaultColor(), setDefaultFont() and setDefaultPaper() methods of QsciLexer are no longer slots and no longer virtual. The defaultColor(), defaultFont() and defaultPaper() methods of QsciLexer are no longer virtual. The color(), eolFill(), font() and paper() methods of all QsciLexer derived classes (except for QsciLexer itself) have been renamed defaultColor(), defaultEolFill(), defaultFont() and defaultPaper() respectively. [38aeee2a5a36] 2007-05-28 phil * qt/qsciscintilla.cpp: Set the number of style bits after we've set the lexer. [84cda9af5b00] * Python/configure.py: Fixed the handling of the %Timeline in the Python bindings. [4b3146d1a236] 2007-05-27 phil * Python/sip/qsciscintillabase.sip: Updated the sub-class convertor code in the Python bindings for the Cmake and VHDL lexers. [6ab6570728a2] 2007-05-26 phil * NEWS: Updated the NEWS file. Released as v2.0. [eec9914d8211] [2.0] 2007-05-19 phil * Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added basic input method support for Qt4 so that accented characters now work. (Although there is still a font problem - at least a text colour problem.) [6b41f3694999] * qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintillabase.cpp: Fixed building against Qt v3. [9e9ba05de0fb] 2007-05-17 phil * qt/qsciscintilla.cpp: Fixed an autocompletion problem where an empty list was being displayed. [c7214274017c] 2007-05-16 phil * qt/qsciscintilla.cpp: Fixed a bug where autocompleting from the document was looking for preceeding non-word characters as well. [3ee6fd746d49] * qt/qsciscintilla.cpp: Fixed silly typo that broke call tips. [05213a8933c2] 2007-05-09 phil * qt/qsciscintilla.cpp: Fiex an autocompletion bug for words that only had preceding whitespace. [a8f3339e02c6] * Python/configure.py, lib/gen_python_api.py, qsci/api/python/Python-2.4.api, qsci/api/python/Python-2.5.api, qt/qsciapis.cpp, qt/qsciapis.h: Call tips shouldn't now get confused with commas in the text after the argument list. The included API files for Python should now be complete and properly exclude anything beginning with an underscore. The Python bindings configure.py can now install the API file in a user supplied directory. [c7e93dc918de] * qt/qscintilla_cs.qm, qt/qscintilla_fr.qm, qt/qscintilla_pt_br.qm, qt/qscintilla_ru.qm: Ran lrelease on the project. [c3ce60078221] * Makefile, qt/qscintilla_cs.ts, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Updated the internal build system to Qt v4.3.0rc1. Ran lupdate on the project. [6a86e71a4e26] 2007-05-08 phil * Python/sip/qsciscintilla.sip, qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Call tips will now show all the tips for a function (in all scopes) if the current context/scope isn't known. [cbebccc205c7] * Python/sip/qsciscintilla.sip, qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added callTipsStyle() and setCallTipsStyle() to QsciScintilla. [59d453b5da8c] 2007-05-07 phil * qt/qsciscintilla.cpp, qt/qsciscintilla.h: Autocompletion from documents should now work the same as QScintilla v1. The only difference is that the list does not contain the preceding context so it is consistent with autocompletion from APIs. [46de719d325e] * qt/qscintilla.pro, qt/qscintilla_cs.qm, qt/qscintilla_cs.ts: Added the Czech translations from Zdenek Bohm. [139fd9aee405] 2007-04-30 phil * Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::wordCharacters(). [d6e56986a031] 2007-04-29 phil * Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Added lots of consts to QsciScintilla getter methods. [4aaffa8611ba] * Python/configure.py, Python/sip/qsciscintilla.sip, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added caseSensitive() and isWordCharacter() to QsciScintilla. Updated translations from Detlev. [64223bf97266] 2007-04-10 phil * Python/sip/qscilexercmake.sip, Python/sip/qscilexervhdl.sip, Python/sip/qscimodcommon.sip, qt/qscilexercmake.cpp, qt/qscilexercmake.h, qt/qscilexervhdl.cpp, qt/qscilexervhdl.h, qt/qscintilla.pro: Added the QsciLexerVHDL class. [10029339786f] * Python/sip/qscilexercmake.sip, Python/sip/qscimodcommon.sip, qt/qscilexercmake.cpp, qt/qscilexercmake.h, qt/qscintilla.pro: Added the QsciLexerCmake class. [c1c911246f75] 2007-04-09 phil * qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Finished call tip support. [b8c717297392] 2007-04-07 phil * qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Some refactoring in preparation for getting call tips working. [6cb925653a80] 2007-04-06 phil * qt/qsciscintilla.cpp: Fixed autoindenting. [8d7b93ee4d9e] 2007-04-05 phil * qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp: Fixed autocompletion so that it works with lexers that don't define word separators, and lexers that are case insensitive. [66634cf13685] 2007-04-04 phil * qt/ScintillaQt.cpp, qt/qsciscintilla.cpp: Fixed the horizontal scrollbar when word wrapping. [021ea1fe8468] 2007-04-03 phil * Python/configure.py, Python/sip/qsciscintillabase.sip, delcvs.bat, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/index.html, gtk/makefile, gtk/scintilla.mak, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, qt/ScintillaQt.cpp, qt/qscintilla.pro, qt/qsciscintillabase.h, src/Document.cxx, src/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx, src/Editor.h, src/ExternalLexer.h, src/KeyWords.cxx, src/LexAU3.cxx, src/LexBash.cxx, src/LexCmake.cxx, src/LexHTML.cxx, src/LexLua.cxx, src/LexMSSQL.cxx, src/LexOthers.cxx, src/LexTADS3.cxx, src/PropSet.cxx, src/RESearch.cxx, src/RESearch.h, src/SplitVector.h, vcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak: Merged Scintilla v1.73. [2936af6fc62d] 2007-03-18 phil * Makefile, Python/sip/qscilexerd.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciscintillabase.sip, qt/qscilexerd.cpp, qt/qscilexerd.h, qt/qscintilla.pro, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_pt_br.ts, qt/qscintilla_ru.ts: Switched the internal build system to Qt v4.2.3. Added the D lexer support from Detlev. [667e9b81ab4f] 2007-03-04 phil * Makefile, example-Qt4/mainwindow.cpp, qt/PlatQt.cpp, qt/qsciscintilla.cpp: Fixed a bug in default font handling. Removed use of QIODevice::Text in the example as it is unnecessary and a performance hog. Moved the internal Qt3 build system to Qt v3.3.8. Auto-indentation should now work (as badly) as it did with QScintilla v1. [4d3ad4d1f295] 2007-01-17 phil * Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h: Added defaultPreparedName() to QsciAPIs. [2a3c872122dd] * designer-Qt4/qscintillaplugin.cpp: Fixed the Qt4 Designer plugin include file value. [ea7cb8634ad2] 2007-01-16 phil * Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h: Added cancelPreparation() and apiPreparationCancelled() to QsciAPIs. [2d7dd00e3bc0] * Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, build.py, lib/LICENSE.commercial.short, lib/LICENSE.gpl.short, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Updated the copyright notices. Added selectionToEol() and setSelectionToEol() to QsciScintilla. Added the other 1.72 changes to the low level API. [ddcf2d43cf31] * doc/SciBreak.jpg, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/makefile, gtk/scintilla.mak, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, qt/ScintillaQt.h, src/CellBuffer.cxx, src/CellBuffer.h, src/ContractionState.cxx, src/Document.cxx, src/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx, src/Editor.h, src/KeyWords.cxx, src/LexCPP.cxx, src/LexD.cxx, src/LexGen.py, src/LexHTML.cxx, src/LexInno.cxx, src/LexLua.cxx, src/LexMatlab.cxx, src/LexNsis.cxx, src/LexOthers.cxx, src/LexRuby.cxx, src/LexTADS3.cxx, src/Partitioning.h, src/ScintillaBase.cxx, src/SplitVector.h, src/StyleContext.h, src/ViewStyle.cxx, src/ViewStyle.h, vcbuild/SciLexer.dsp, version.txt, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak: Merged Scintilla v1.72, but any new features are not yet exploited. [dcdfde9050a2] 2007-01-09 phil * Python/configure.py: Fixed bug in configure.py when the -p flag wasn't specified. [50dc69f2b20d] 2007-01-04 phil * Python/configure.py, Python/sip/qscilexer.sip, qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp: Backported to Qt v3. Note that this will probably break again in the future when call tips are redone. [3bcc4826fc73] 2007-01-02 phil * Python/configure.py, lib/gen_python_api.py, qsci/api/python/Python-2.4.api, qsci/api/python/Python-2.5.api, qt/qsciapis.cpp: Added the Python v2.4 and v2.5 API files. Added the generation of the QScintilla2.api file. [49beb92ca721] 2007-01-01 phil * Python/sip/qsciscintilla.sip, qt/qscilexer.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added autoCompletionFillupsEnabled() and setAutoCompletionFillupsEnabled() to QsciScintilla. Updated the Python bindings. [7aa946010e9d] * Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h: Implemented loadPrepared() and savePrepared() in QsciAPIs. Added isPrepared() to QsciAPIs. Updated the Python bindings. [4c5e3d80fec7] * Python/sip/qsciapis.sip, qt/qsciapis.cpp, qt/qsciapis.h: Added installAPIFiles() and stubs for loadPrepared() and savePrepared() to QsciAPIs. [93f4dd7222a1] * Python/sip/qsciapis.sip: Added the missing qsciapis.sip file. [064b524acc93] * Python/sip/qscilexer.sip, Python/sip/qscimodcommon.sip, lib/qscintilla.dxy, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexer.cpp, qt/qscilexer.h: Fixed the generation of the API documentation. Added apis() and setAPIs() to QsciLexer. Removed apiAdd(), apiClear(), apiLoad(), apiRemove(), apiProcessingStarted() and apiProcessingFinished() from QsciLexer. Added apiPreparationStarted() and apiPreparationFinished() to QsciAPIs. Made QsciAPIs part of the API again. Updated the Python bindings. [851d133b12ff] 2006-12-20 phil * Makefile, qt/qsciapis.cpp, qt/qsciapis.h: Updated the internal build system to Qt v4.2.2. More work on auto- completion. [d4542220e7a2] 2006-11-26 phil * qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: More work on the auto-completion code. [37b2d0d2b154] 2006-11-22 phil * qt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Changed the handling of case sensitivity in auto-completion lists. Lexers now say if they are case sensitive. [b1932fba61ec] 2006-11-17 phil * Makefile, Python/configure.py, Python/sip/qscicommand.sip, Python/sip/qscicommandset.sip, Python/sip/qscidocument.sip, Python/sip/qscilexer.sip, Python/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip, Python/sip/qscilexercpp.sip, Python/sip/qscilexercsharp.sip, Python/sip/qscilexercss.sip, Python/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip, Python/sip/qscilexeridl.sip, Python/sip/qscilexerjava.sip, Python/sip/qscilexerjavascript.sip, Python/sip/qscilexerlua.sip, Python/sip/qscilexermakefile.sip, Python/sip/qscilexerperl.sip, Python/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip, Python/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexertex.sip, Python/sip/qscimacro.sip, Python/sip/qsciprinter.sip, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase.sip, TODO, build.py, designer-Qt3/qscintillaplugin.cpp, designer- Qt4/qscintillaplugin.cpp, example-Qt3/application.cpp, example- Qt4/mainwindow.cpp, qt/PlatQt.cpp, qt/ScintillaQt.cpp, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscicommand.cpp, qt/qscicommand.h, qt/qscicommandset.cpp, qt/qscicommandset.h, qt/qscidocument.cpp, qt/qscidocument.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexerbash.cpp, qt/qscilexerbash.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercsharp.cpp, qt/qscilexercsharp.h, qt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexeridl.cpp, qt/qscilexeridl.h, qt/qscilexerjava.cpp, qt/qscilexerjava.h, qt/qscilexerjavascript.cpp, qt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h, qt/qscilexermakefile.cpp, qt/qscilexermakefile.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp, qt/qscilexerpov.h, qt/qscilexerproperties.cpp, qt/qscilexerproperties.h, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h, qt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp, qt/qscilexertex.h, qt/qscimacro.cpp, qt/qscimacro.h, qt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciprinter.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Fixed the name of the generated source packages. Reorganised so that the header files are in a separate sub-directory. Updated the designer plugins and examples for the changing in header file structure. More work on autocompletion. Basic functionality is there, but no support for the "current context" yet. [312e74140bb8] 2006-11-04 phil * designer-Qt4/qscintillaplugin.cpp: Designer plugin fixes for Qt4 from DavidB. [920f7af8bec6] 2006-11-03 phil * qt/qscilexer.cpp: Fixed QsciLexer::setPaper() so that it also sets the background colour of the default style. [fcab00732d97] 2006-10-21 phil * Makefile, qt/qsciapis.cpp, qt/qsciapis.h, qt/qsciscintilla.cpp: Switched the internal build system to Qt v3.3.7 and v4.2.1. Portability fixes for Qt3. [512b57958ea4] 2006-10-20 phil * Makefile, build.py, include/Platform.h, lib/README.doc, qt/PlatQt.cpp, qt/qscimacro.cpp, qt/qscintilla.pro, qt/qsciscintilla.cpp: Renamed the base package QScintilla2. Platform portability fixes from Ulli. The qsci data directory is now installed (where API files will be kept). [2a61d65842fb] 2006-10-13 phil * Python/sip/qsciscintilla.sip, qt/qscintilla.pro, qt/qscintilla_pt_br.qm, qt/qscintilla_pt_br.ts, qt/qscintilla_ptbr.qm, qt/qscintilla_ptbr.ts, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added QsciScintilla::linesChanged() from Detlev. Removed QsciScintilla::markerChanged(). Renamed the Brazilian Portugese translation files. [5b23de72e063] * Makefile, Python/sip/qscilexer.sip, qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/ScintillaQt.cpp, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added apiRemove(), apiProcessingStarted() and apiProcessingFinished() to QsciLexer. [ef2cb95b868a] 2006-10-08 phil * qt/qsciscintilla.cpp, qt/qsciscintilla.h: Reset the text and paper colours and font when removing a lexer. [08ac85b34d80] * qt/qsciscintilla.cpp: Fixed Qt3 specific problem with most recent changes. [e4ba06e01a1e] 2006-10-06 phil * Python/sip/qsciapis.sip, Python/sip/qscilexer.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciscintilla.sip, qt/ListBoxQt.cpp, qt/SciClasses.cpp, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscilexerbash.cpp, qt/qscilexerbash.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercsharp.h, qt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexeridl.h, qt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h, qt/qscilexermakefile.cpp, qt/qscilexermakefile.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp, qt/qscilexerpov.h, qt/qscilexerproperties.cpp, qt/qscilexerproperties.h, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h, qt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp, qt/qscilexertex.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Made QsciAPIs an internal class and instead added apiAdd(), apiClear() and apiLoad() to QsciLexer. Replaced setAutoCompletionStartCharacters() with setAutoCompletionWordSeparators() in QsciScintilla. Removed autoCompletionFillupsEnabled(), setAutoCompletionFillupsEnabled(), setAutoCompletionAPIs() and setCallTipsAPIs() from QsciScintilla. Added AcsNone to QsciScintilla::AutoCompletionSource. Horizontal scrollbars are displayed as needed in autocompletion lists. Added QsciScintilla::lexer(). Fixed setFont(), setColor(), setEolFill() and setPaper() in QsciLexer so that they handle all styles as documented. Removed all occurences of QString::null. Fixed the problem with indentation guides not changing when the size of a space changed. Added the QsciScintilla::markerChanged() signal. Updated the Python bindings. [9ae22e152365] 2006-10-01 phil * qt/PlatQt.cpp: Fixed a silly line drawing bug. [0f9f5c22421a] 2006-09-30 phil * qt/qscintilla.pro: Fixes for building on Windows and MacOS/X. [c16bc6aeba20] 2006-09-29 phil * example-Qt4/application.pro, qt/PlatQt.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp: Fixed the documentation bug in QsciScintilla::insert(). Fixed the mouse shape changing properly. Fixed the drawing of fold markers. [08af64d93094] 2006-09-23 phil * lib/README: Improved the README for the pedants amongst us. [683bdb9a84fc] * designer-Qt4/designer.pro, designer-Qt4/qscintillaplugin.cpp, designer-Qt4/qscintillaplugin.h: The Qt4 Designer plugin now loads - thanks to DavidB. [feb5a3618df6] 2006-09-16 phil * build.py, designer-Qt3/designer.pro, designer- Qt3/qscintillaplugin.cpp, designer-Qt4/designer.pro, designer- Qt4/qscintillaplugin.cpp, designer/designer.pro, designer/qscintillaplugin.cpp, lib/README.doc, qt/qsciscintilla.h: Fixed the Qt3 designer plugin. Added the Qt4 designer plugin based on Andrius Ozelis's work. (But it doesn't load for me - does anybody else have a problem?) [3a0873ed5ff0] 2006-09-09 phil * Python/sip/qsciscintilla.sip, qt/qsciscintilla.cpp, qt/qsciscintilla.h: QsciScintilla's setFont(), setColor() and setPaper() now work as expected when there is no lexer (and have no effect if there is a lexer). [65cc713d9ecb] 2006-08-28 phil * qt/ListBoxQt.cpp, qt/PlatQt.cpp: Fixed a crash when double-clicking on an auto-completion list entry. [d8eecfc59ca2] 2006-08-27 phil * Python/sip/qsciscintillabase.sip, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/index.html, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, qt/ScintillaQt.cpp, qt/qsciscintillabase.h, src/Editor.cxx, src/LexCPP.cxx, src/LexPerl.cxx, src/LexVB.cxx, src/StyleContext.h, version.txt, win32/ScintRes.rc, win32/ScintillaWin.cxx: Merged Scintilla v1.71. The SCN_DOUBLECLICK() signal now passes the line and position of the click. [81c852fed943] 2006-08-17 phil * Python/sip/qsciscintilla.sip, qt/ScintillaQt.cpp: Fixed pasting when Unicode mode is set. [9d4a7ccef6f4] * build.py: Fixed the internal build system leaving SVN remnants around. [96c36a0e94ac] 2006-07-30 phil * NEWS, Python/sip/qsciscintilla.sip, qt/qscicommand.h, qt/qscicommandset.h, qt/qsciscintilla.cpp, qt/qsciscintilla.h: Added autoCompletionFillupsEnabled() and setAutoCompletionFillupsEnabled() to QsciScintilla. Don't auto- complete numbers. Removed QsciCommandList. [e9886e5da7c3] 2006-07-29 phil * lib/README.doc, qt/PlatQt.cpp: Debugged the Qt3 backport - all seems to work. [1e743e050599] * Python/configure.py, Python/sip/qscimod3.sip, Python/sip/qsciscintillabase.sip, Python/sip/qsciscintillabase4.sip, build.py, lib/README, lib/README.doc, lib/qscintilla.dxy, qt/qsciscintillabase.h: The PyQt3 bindings now work. Updated the documentation and build system for both Qt3 and Qt4. [f4fa8a9a35c0] 2006-07-28 phil * Python/sip/qscimodcommon.sip, Python/sip/qsciscintillabase4.sip, Python/sip/qscitypes.sip, example-Qt3/application.cpp, example- Qt3/application.h, example-Qt3/application.pro, qt/qscicommand.cpp, qt/qscicommandset.cpp, qt/qscidocument.cpp, qt/qscimacro.cpp, qt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h, qt/qscitypes.h: Backed out the QscoTypes namespace now that the Qt3/4 source code has been consolidated. [372c37fa8b9c] * qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_ptbr.ts, qt/qscintilla_ru.ts, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h, qt/qsciscintillabase3.cpp, qt/qsciscintillabase3.h, qt/qsciscintillabase4.cpp, qt/qsciscintillabase4.h: Integated the Qt3 and Qt4 source files. [4ee1fcf04cd9] * Makefile, build.py, lib/README.doc, lib/qscintilla.dxy, qt/qscintilla.pro, qt/qsciscintillabase.h, qt/qsciscintillabase3.cpp, qt/qsciscintillabase3.h, qt/qsciscintillabase4.cpp, qt/qsciscintillabase4.h: The Qt3 port now compiles, but otherwise untested. [da227e07e729] * Python/sip/qscimacro.sip, lib/README.doc, lib/qscintilla.dxy, qt/PlatQt.cpp, qt/qscilexermakefile.cpp, qt/qscimacro.cpp, qt/qscimacro.h, qt/qscintilla.pro, qt/qsciscintillabase.h, qt/qsciscintillabase3.cpp, qt/qsciscintillabase3.h, qt/qsciscintillabase4.cpp, qt/qsciscintillabase4.h: Changes to QsciMacro so that it has a more consistent API across Qt3 and Qt4. Backported to Qt3 - doesn't yet build because Qt3 qmake doesn't understand the preprocessor. [910b415ec4a8] 2006-07-27 phil * build.py, designer/qscintillaplugin.cpp, example-Qt3/README, example-Qt4/README, lib/README, lib/README.doc, lib/qscintilla.dxy, qt/qscintilla.pro: Updated the documentation. [7774f3e87003] 2006-07-26 phil * Makefile, Python/configure.py, Python/qsciapis.sip, Python/qscicommand.sip, Python/qscicommandset.sip, Python/qscidocument.sip, Python/qscilexer.sip, Python/qscilexerbash.sip, Python/qscilexerbatch.sip, Python/qscilexercpp.sip, Python/qscilexercsharp.sip, Python/qscilexercss.sip, Python/qscilexerdiff.sip, Python/qscilexerhtml.sip, Python/qscilexeridl.sip, Python/qscilexerjava.sip, Python/qscilexerjavascript.sip, Python/qscilexerlua.sip, Python/qscilexermakefile.sip, Python/qscilexerperl.sip, Python/qscilexerpov.sip, Python/qscilexerproperties.sip, Python/qscilexerpython.sip, Python/qscilexerruby.sip, Python/qscilexersql.sip, Python/qscilexertex.sip, Python/qscimacro.sip, Python/qscimod4.sip, Python/qscimodcommon.sip, Python/qsciprinter.sip, Python/qsciscintilla.sip, Python/qsciscintillabase4.sip, Python/qscitypes.sip, Python/sip/qsciapis.sip, Python/sip/qscicommand.sip, Python/sip/qscicommandset.sip, Python/sip/qscidocument.sip, Python/sip/qscilexer.sip, Python/sip/qscilexerbash.sip, Python/sip/qscilexerbatch.sip, Python/sip/qscilexercpp.sip, Python/sip/qscilexercsharp.sip, Python/sip/qscilexercss.sip, Python/sip/qscilexerdiff.sip, Python/sip/qscilexerhtml.sip, Python/sip/qscilexeridl.sip, Python/sip/qscilexerjava.sip, Python/sip/qscilexerjavascript.sip, Python/sip/qscilexerlua.sip, Python/sip/qscilexermakefile.sip, Python/sip/qscilexerperl.sip, Python/sip/qscilexerpov.sip, Python/sip/qscilexerproperties.sip, Python/sip/qscilexerpython.sip, Python/sip/qscilexerruby.sip, Python/sip/qscilexersql.sip, Python/sip/qscilexertex.sip, Python/sip/qscimacro.sip, Python/sip/qscimod4.sip, Python/sip/qscimodcommon.sip, Python/sip/qsciprinter.sip, Python/sip/qsciscintilla.sip, Python/sip/qsciscintillabase4.sip, Python/sip/qscitypes.sip, build.py, lib/LICENSE.edu, lib/LICENSE.edu.short, lib/README.MacOS: Changed the build system to add the Python bindings. [8a56c38c418b] * Python/configure.py, Python/qscicommandset.sip, Python/qscilexerruby.sip, Python/qscilexertex.sip, Python/qscimod4.sip, Python/qsciscintilla.sip, Python/qsciscintillabase4.sip, Python/qscitypes.sip: Debugged the Python bindings - not yet part of the snapshots. [8e348d9c7d38] 2006-07-25 phil * Python/qsciapis.sip, Python/qscicommand.sip, Python/qscicommandset.sip, Python/qscidocument.sip, Python/qscilexer.sip, Python/qscilexerbash.sip, Python/qscilexerbatch.sip, Python/qscilexercpp.sip, Python/qscilexercsharp.sip, Python/qscilexercss.sip, Python/qscilexerdiff.sip, Python/qscilexerhtml.sip, Python/qscilexeridl.sip, Python/qscilexerjava.sip, Python/qscilexerjavascript.sip, Python/qscilexerlua.sip, Python/qscilexermakefile.sip, Python/qscilexerperl.sip, Python/qscilexerpov.sip, Python/qscilexerproperties.sip, Python/qscilexerpython.sip, Python/qscilexerruby.sip, Python/qscilexersql.sip, Python/qscilexertex.sip, Python/qscimacro.sip, Python/qscimod4.sip, Python/qscimodcommon.sip, Python/qsciprinter.sip, Python/qsciscintilla.sip, Python/qsciscintillabase4.sip, Python/qscitypes.sip, qt/qsciapis.h, qt/qsciglobal.h, qt/qscilexer.h, qt/qscilexerbash.h, qt/qscilexercpp.h, qt/qscilexerperl.h, qt/qscilexerpython.h, qt/qscilexersql.h, qt/qsciprinter.h, qt/qsciscintilla.h: Ported the .sip files from v1. (Not yet part of the snapshot.) [c03807f9fbab] * Makefile, qt/qscintilla-Qt4.pro, qt/qscintilla.pro: The .pro file should now work with both Qt v3 and v4. [c99aec4ce73d] * Makefile, qt/qscintilla-Qt4.pro, qt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h, qt/qsciscintillabase4.cpp, qt/qsciscintillabase4.h: Some file reorganisation for when the backport to Qt3 is done. [c97fb1bdc0e5] * qt/qscicommand.cpp, qt/qscicommandset.cpp, qt/qscidocument.cpp, qt/qscimacro.cpp, qt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciscintilla.cpp, qt/qsciscintilla.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h, qt/qscitypes.h: Moved the Scintilla API enums out of QsciScintillaBase and into the new QsciTypes namespace. [6de0ac19e4df] * qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Triple clicking now works. [8ef632d89147] 2006-07-23 phil * qt/qsciscintillabase.cpp: Fixed incorrect selection after dropping text. [4c62275c39f4] * qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp: Dropping text seems (mostly) to work. [7acc97948229] 2006-07-22 phil * qt/PlatQt.cpp, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Scrollbars now work. The context menu now works. The clipboard and mouse selection now works. Dragging to external windows now works (but not dropping). [73995ec258cd] 2006-07-18 phil * example-Qt4/mainwindow.cpp, example-Qt4/mainwindow.h, qt/PlatQt.cpp, qt/qextscintillalexerbash.cxx, qt/qextscintillalexerbash.h, qt/qextscintillalexerbatch.cxx, qt/qextscintillalexerbatch.h, qt/qextscintillalexercpp.cxx, qt/qextscintillalexercpp.h, qt/qextscintillalexercsharp.cxx, qt/qextscintillalexercsharp.h, qt/qextscintillalexercss.cxx, qt/qextscintillalexercss.h, qt/qextscintillalexerdiff.cxx, qt/qextscintillalexerdiff.h, qt/qextscintillalexerhtml.cxx, qt/qextscintillalexerhtml.h, qt/qextscintillalexeridl.cxx, qt/qextscintillalexeridl.h, qt/qextscintillalexerjava.cxx, qt/qextscintillalexerjava.h, qt/qextscintillalexerjavascript.cxx, qt/qextscintillalexerjavascript.h, qt/qextscintillalexerlua.cxx, qt/qextscintillalexerlua.h, qt/qextscintillalexermakefile.cxx, qt/qextscintillalexermakefile.h, qt/qextscintillalexerperl.cxx, qt/qextscintillalexerperl.h, qt/qextscintillalexerpov.cxx, qt/qextscintillalexerpov.h, qt/qextscintillalexerproperties.cxx, qt/qextscintillalexerproperties.h, qt/qextscintillalexerpython.cxx, qt/qextscintillalexerpython.h, qt/qextscintillalexerruby.cxx, qt/qextscintillalexerruby.h, qt/qextscintillalexersql.cxx, qt/qextscintillalexersql.h, qt/qextscintillalexertex.cxx, qt/qextscintillalexertex.h, qt/qextscintillamacro.cxx, qt/qextscintillamacro.h, qt/qextscintillaprinter.cxx, qt/qextscintillaprinter.h, qt/qsciapis.h, qt/qscicommand.h, qt/qscilexer.h, qt/qscilexerbash.cpp, qt/qscilexerbash.h, qt/qscilexerbatch.cpp, qt/qscilexerbatch.h, qt/qscilexercpp.cpp, qt/qscilexercpp.h, qt/qscilexercsharp.cpp, qt/qscilexercsharp.h, qt/qscilexercss.cpp, qt/qscilexercss.h, qt/qscilexerdiff.cpp, qt/qscilexerdiff.h, qt/qscilexerhtml.cpp, qt/qscilexerhtml.h, qt/qscilexeridl.cpp, qt/qscilexeridl.h, qt/qscilexerjava.cpp, qt/qscilexerjava.h, qt/qscilexerjavascript.cpp, qt/qscilexerjavascript.h, qt/qscilexerlua.cpp, qt/qscilexerlua.h, qt/qscilexermakefile.cpp, qt/qscilexermakefile.h, qt/qscilexerperl.cpp, qt/qscilexerperl.h, qt/qscilexerpov.cpp, qt/qscilexerpov.h, qt/qscilexerproperties.cpp, qt/qscilexerproperties.h, qt/qscilexerpython.cpp, qt/qscilexerpython.h, qt/qscilexerruby.cpp, qt/qscilexerruby.h, qt/qscilexersql.cpp, qt/qscilexersql.h, qt/qscilexertex.cpp, qt/qscilexertex.h, qt/qscimacro.cpp, qt/qscimacro.h, qt/qscintilla.pro, qt/qsciprinter.cpp, qt/qsciprinter.h, qt/qsciscintilla.h: Ported the rest of the API to Qt4. Finished porting the example to Qt4. [de0ede6bbcf5] 2006-07-17 phil * qt/qextscintilla.cxx, qt/qextscintilla.h, qt/qextscintillaapis.cxx, qt/qextscintillaapis.h, qt/qextscintillacommand.cxx, qt/qextscintillacommand.h, qt/qextscintillacommandset.cxx, qt/qextscintillacommandset.h, qt/qextscintilladocument.cxx, qt/qextscintilladocument.h, qt/qextscintillalexer.cxx, qt/qextscintillalexer.h, qt/qsciapis.cpp, qt/qsciapis.h, qt/qscicommand.cpp, qt/qscicommand.h, qt/qscicommandset.cpp, qt/qscicommandset.h, qt/qscidocument.cpp, qt/qscidocument.h, qt/qscilexer.cpp, qt/qscilexer.h, qt/qscintilla.pro, qt/qsciscintilla.cpp, qt/qsciscintilla.h: More porting to Qt4 - just the lexers remaining. [07158797bcf2] * qt/ListBoxQt.cpp, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/ScintillaQt.cpp, qt/qscintilla.pro, qt/qsciscintillabase.cpp: Further Qt4 changes so that Q3Support is no longer needed. [cb3ca2aee49e] * qt/ListBoxQt.cpp, qt/ListBoxQt.h, qt/PlatQt.cpp, qt/SciClasses.cpp, qt/SciClasses.h, qt/SciListBox.cxx, qt/SciListBox.h, qt/ScintillaQt.cpp, qt/ScintillaQt.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Ported the auto-completion list implementation to Qt4. [1d0d07f7ba3b] 2006-07-16 phil * qt/PlatQt.cpp, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Drawing now seems Ok. Keyboard support now seems Ok. Start of the mouse support. [20a223c3f57e] 2006-07-12 phil * include/Platform.h, qt/PlatQt.cpp, qt/ScintillaQt.cpp: Painting now seems to happen only within paint events - but incorrectly. [a60a10298391] * qt/PlatQt.cpp, qt/PlatQt.cxx, qt/ScintillaQt.cpp, qt/ScintillaQt.cxx, qt/ScintillaQt.h, qt/qscintilla.pro: Recoded the implementation of surfaces so that painters are only active during paint events. Not yet debugged. [d0d91ae8e514] * build.py, qt/PlatQt.cxx, qt/ScintillaQt.cxx, qt/ScintillaQt.h, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Recoded the handling of key presses so that it doesn't use any Qt3 specific features and should be backported to QScintilla v1. It also should work better in Unicode mode. [c2b96d686ee6] 2006-07-11 phil * Makefile, build.py, example-Qt3/README, example-Qt3/application.cpp, example-Qt3/application.h, example-Qt3/application.pro, example- Qt3/fileopen.xpm, example-Qt3/fileprint.xpm, example- Qt3/filesave.xpm, example-Qt3/main.cpp, example-Qt4/README, example- Qt4/application.pro, example-Qt4/application.qrc, example- Qt4/images/copy.png, example-Qt4/images/cut.png, example- Qt4/images/new.png, example-Qt4/images/open.png, example- Qt4/images/paste.png, example-Qt4/images/save.png, example- Qt4/main.cpp, example-Qt4/mainwindow.cpp, example-Qt4/mainwindow.h, example/README, example/application.cpp, example/application.h, example/application.pro, example/fileopen.xpm, example/fileprint.xpm, example/filesave.xpm, example/main.cpp, qt/PlatQt.cxx, qt/SciListBox.cxx, qt/SciListBox.h, qt/ScintillaQt.cxx, qt/ScintillaQt.h, qt/qextscintilla.cxx, qt/qextscintillabase.cxx, qt/qextscintillabase.h, qt/qextscintillaglobal.h, qt/qsciglobal.h, qt/qscintilla.pro, qt/qsciscintillabase.cpp, qt/qsciscintillabase.h: Whole raft of changes starting QScintilla2. [7f0bd20f2f83] 2006-07-09 phil * qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_fr.ts, qt/qscintilla_ptbr.ts, qt/qscintilla_ru.ts: Updated translations from Detlev. [c04c167d802e] 2006-07-08 phil * NEWS, qt/qextscintilla.cxx, qt/qextscintilla.h: Added QextScintilla::isCallTipActive(). [1f7dcb40db25] * lib/LICENSE.commercial.short, lib/LICENSE.edu.short, lib/LICENSE.gpl.short, qt/qextscintilla.cxx: Changed the autoindentation to be slightly cleverer when handling Python. If a lexer does not define block end words then a block start word is ignored unless it is the last significant word in a line. [d5813c13f5da] 2006-07-02 phil * qt/PlatQt.cxx: Possibly fixed a possible problem with double clicking under Windows. [271141bb2b43] * NEWS, qt/ScintillaQt.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h: Added setWrapVisualFlags(), WrapMode::WrapCharacter, WrapVisualFlag to QextScintilla. The layout cache is now set according to the wrap mode. Setting a wrap mode now disables the horizontal scrollbar. [a498b86e7999] 2006-07-01 phil * NEWS, qt/qextscintilla.cxx, qt/qextscintilla.h: Added cancelList(), firstVisibleLine(), isListActive(), showUserList(), textHeight() and userListActivated() to QextScintilla. [058c7be4bdfe] * qt/qextscintilla.cxx: Auto-completion changed so that subsequent start characters cause the list to be re-created (containing a subset of the previous one). [5b534658e638] 2006-06-28 phil * NEWS, qt/SciListBox.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h, qt/qextscintillaapis.cxx, qt/qextscintillaapis.h, qt/qextscintillalexer.cxx, qt/qextscintillalexer.h, qt/qextscintillalexerpython.cxx, qt/qextscintillalexerpython.h: Handle Key_Enter the same as Key_Return. QextScintilla::foldAll() can now optionally fold all child fold points. Added autoCompleteFromAll() and setAutoCompletionStartCharacters() to QextScintilla. Vastly improved the way auto-completion and call tips work. [8b0472aaed61] 2006-06-25 phil * qt/qextscintilla.cxx, qt/qextscintillabase.cxx, qt/qextscintillalexer.cxx: The default fore and background colours now default to the application palette rather than being hardcoded to black and white. [6cb6b5bef5fc] * NEWS, qt/qextscintilla.cxx, qt/qextscintilla.h, qt/qextscintillalexer.cxx, qt/qextscintillalexer.h: Added defaultColor() and setDefaultColor() to QextScintillaLexer. Added color() and setColor() to QextScintilla. Renamed eraseColor() and setEraseColor() to paper() and setPaper() in QextScintilla. [c1fbfc192235] * NEWS, qt/SciListBox.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h, qt/qextscintillaapis.cxx, qt/qextscintillaapis.h, qt/qextscintillabase.h, qt/qextscintillalexer.cxx, qt/qextscintillalexer.h: Added a couple of extra SendScintilla overloads. One is needed for PyQt because of the change in SIP's handling of unsigned values. The other is needed to solve C++ problems caused by the first. Autocompletion list entries from APIs may now contain spaces. Added defaultPaper() and setDefaultPaper() to QextScintillaLexer. Added eraseColor() and setEraseColor() to QextScintilla. [34f527ca0f99] 2006-06-21 phil * qt/qextscintilla.cxx, qt/qextscintillalexer.cxx, qt/qextscintillalexer.h, qt/qextscintillalexerhtml.cxx, qt/qextscintillalexerhtml.h: Removed QextScintillaLexer::styleBits() now that SCI_GETSTYLEBITSNEEDED is available. [1c6837500560] * NEWS, qt/PlatQt.cxx, qt/qextscintilla.cxx, qt/qextscintilla.h: QextScintilla::setSelectionBackgroundColor(), QextScintilla::setMarkerBackgroundColor() and QextScintilla::setCaretLineBackgroundColor() now respect the alpha component. [48bae1fffe85] 2006-06-20 phil * NEWS, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/index.html, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, include/Scintilla.h, include/Scintilla.iface, qt/qextscintillabase.h, qt/qextscintillalexerpython.h, src/Editor.cxx, src/Editor.h, src/ViewStyle.cxx, src/ViewStyle.h, version.txt, win32/ScintRes.rc, win32/ScintillaWin.cxx: Merged Scintilla v1.70. [03ac3edd5dd2] 2006-06-19 phil * qt/qextscintillabase.h, qt/qextscintillalexerlua.h, qt/qextscintillalexerruby.cxx, qt/qextscintillalexerruby.h, qt/qextscintillalexersql.h: Significant, and incompatible, updates to the QextScintillaLexerRuby class. [0484fe132d0c] * src/PropSet.cxx: Fix for qsort helpers linkage from Ulli. (Patch sent upstream.) [2307adf67045] 2006-06-18 phil * qt/qextscintillalexerpython.cxx, qt/qextscintillalexerpython.h: Ctrl-D is now duplicate selection rather than duplicate line. Updated the Python lexer to add support for hightlighted identifiers and decorators. [52ca24a722ac] * qt/qextscintillabase.h, qt/qextscintillacommandset.cxx, qt/qextscintillalexer.h, qt/qextscintillalexerbash.h, qt/qextscintillalexerbatch.h, qt/qextscintillalexercpp.h, qt/qextscintillalexercsharp.h, qt/qextscintillalexercss.h, qt/qextscintillalexerhtml.h, qt/qextscintillalexeridl.h, qt/qextscintillalexerjava.h, qt/qextscintillalexerjavascript.h, qt/qextscintillalexerlua.h, qt/qextscintillalexerperl.h, qt/qextscintillalexerpov.h, qt/qextscintillalexerpython.h, qt/qextscintillalexerruby.h, qt/qextscintillalexersql.h, qt/qextscintillalexertex.h, qt/qscintilla.pro: Added the Scintilla 1.69 extensions to the low level API. [e89b98aaaa33] * .repoman, build.py, doc/Icons.html, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/index.html, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, gtk/scintilla.mak, include/HFacer.py, include/KeyWords.h, include/Platform.h, include/PropSet.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, include/ScintillaWidget.h, qt/PlatQt.cxx, qt/ScintillaQt.h, qt/qscintilla.pro, src/CallTip.cxx, src/CallTip.h, src/CellBuffer.cxx, src/CellBuffer.h, src/CharClassify.cxx, src/CharClassify.h, src/ContractionState.cxx, src/Document.cxx, src/Document.h, src/DocumentAccessor.cxx, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/Indicator.cxx, src/KeyMap.cxx, src/KeyWords.cxx, src/LexAU3.cxx, src/LexBash.cxx, src/LexBasic.cxx, src/LexCPP.cxx, src/LexCaml.cxx, src/LexCsound.cxx, src/LexEiffel.cxx, src/LexGen.py, src/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexInno.cxx, src/LexLua.cxx, src/LexMSSQL.cxx, src/LexOpal.cxx, src/LexOthers.cxx, src/LexPOV.cxx, src/LexPython.cxx, src/LexRuby.cxx, src/LexSQL.cxx, src/LexSpice.cxx, src/LexTCL.cxx, src/LexVB.cxx, src/LineMarker.h, src/PropSet.cxx, src/RESearch.cxx, src/RESearch.h, src/ScintillaBase.cxx, src/StyleContext.h, src/ViewStyle.cxx, src/ViewStyle.h, src/XPM.cxx, vcbuild/SciLexer.dsp, version.txt, win32/PlatWin.cxx, win32/ScintRes.rc, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak: Removed the redundant .repoman file. Synced with Scintilla v1.69 with only the minimal changes needed to compile it. [6774f137c5a1] 2006-06-17 phil * .repoman, License.txt, Makefile, NEWS, README, TODO, bin/empty.txt, build.py, delbin.bat, delcvs.bat, designer/designer.pro, designer/qscintillaplugin.cpp, doc/Design.html, doc/Lexer.txt, doc/SciBreak.jpg, doc/SciCoding.html, doc/SciRest.jpg, doc/SciTEIco.png, doc/SciWord.jpg, doc/ScintillaDoc.html, doc/ScintillaDownload.html, doc/ScintillaHistory.html, doc/ScintillaRelated.html, doc/ScintillaToDo.html, doc/ScintillaUsage.html, doc/Steps.html, doc/index.html, example/README, example/application.cpp, example/application.h, example/application.pro, example/fileopen.xpm, example/fileprint.xpm, example/filesave.xpm, example/main.cpp, gtk/Converter.h, gtk/PlatGTK.cxx, gtk/ScintillaGTK.cxx, gtk/deps.mak, gtk/makefile, gtk/scintilla-marshal.c, gtk/scintilla- marshal.h, gtk/scintilla-marshal.list, gtk/scintilla.mak, include/Accessor.h, include/Face.py, include/HFacer.py, include/KeyWords.h, include/Platform.h, include/PropSet.h, include/SString.h, include/SciLexer.h, include/Scintilla.h, include/Scintilla.iface, include/ScintillaWidget.h, include/WindowAccessor.h, lib/LICENSE.commercial, lib/LICENSE.commercial.short, lib/LICENSE.edu, lib/LICENSE.edu.short, lib/LICENSE.gpl, lib/LICENSE.gpl.short, lib/README, lib/README.MacOS, lib/qscintilla.dxy, qt/PlatQt.cxx, qt/SciListBox.cxx, qt/SciListBox.h, qt/ScintillaQt.cxx, qt/ScintillaQt.h, qt/qextscintilla.cxx, qt/qextscintilla.h, qt/qextscintillaapis.cxx, qt/qextscintillaapis.h, qt/qextscintillabase.cxx, qt/qextscintillabase.h, qt/qextscintillacommand.cxx, qt/qextscintillacommand.h, qt/qextscintillacommandset.cxx, qt/qextscintillacommandset.h, qt/qextscintilladocument.cxx, qt/qextscintilladocument.h, qt/qextscintillaglobal.h, qt/qextscintillalexer.cxx, qt/qextscintillalexer.h, qt/qextscintillalexerbash.cxx, qt/qextscintillalexerbash.h, qt/qextscintillalexerbatch.cxx, qt/qextscintillalexerbatch.h, qt/qextscintillalexercpp.cxx, qt/qextscintillalexercpp.h, qt/qextscintillalexercsharp.cxx, qt/qextscintillalexercsharp.h, qt/qextscintillalexercss.cxx, qt/qextscintillalexercss.h, qt/qextscintillalexerdiff.cxx, qt/qextscintillalexerdiff.h, qt/qextscintillalexerhtml.cxx, qt/qextscintillalexerhtml.h, qt/qextscintillalexeridl.cxx, qt/qextscintillalexeridl.h, qt/qextscintillalexerjava.cxx, qt/qextscintillalexerjava.h, qt/qextscintillalexerjavascript.cxx, qt/qextscintillalexerjavascript.h, qt/qextscintillalexerlua.cxx, qt/qextscintillalexerlua.h, qt/qextscintillalexermakefile.cxx, qt/qextscintillalexermakefile.h, qt/qextscintillalexerperl.cxx, qt/qextscintillalexerperl.h, qt/qextscintillalexerpov.cxx, qt/qextscintillalexerpov.h, qt/qextscintillalexerproperties.cxx, qt/qextscintillalexerproperties.h, qt/qextscintillalexerpython.cxx, qt/qextscintillalexerpython.h, qt/qextscintillalexerruby.cxx, qt/qextscintillalexerruby.h, qt/qextscintillalexersql.cxx, qt/qextscintillalexersql.h, qt/qextscintillalexertex.cxx, qt/qextscintillalexertex.h, qt/qextscintillamacro.cxx, qt/qextscintillamacro.h, qt/qextscintillaprinter.cxx, qt/qextscintillaprinter.h, qt/qscintilla.pro, qt/qscintilla_de.qm, qt/qscintilla_de.ts, qt/qscintilla_fr.qm, qt/qscintilla_fr.ts, qt/qscintilla_ptbr.qm, qt/qscintilla_ptbr.ts, qt/qscintilla_ru.qm, qt/qscintilla_ru.ts, src/AutoComplete.cxx, src/AutoComplete.h, src/CallTip.cxx, src/CallTip.h, src/CellBuffer.cxx, src/CellBuffer.h, src/ContractionState.cxx, src/ContractionState.h, src/Document.cxx, src/Document.h, src/DocumentAccessor.cxx, src/DocumentAccessor.h, src/Editor.cxx, src/Editor.h, src/ExternalLexer.cxx, src/ExternalLexer.h, src/Indicator.cxx, src/Indicator.h, src/KeyMap.cxx, src/KeyMap.h, src/KeyWords.cxx, src/LexAPDL.cxx, src/LexAU3.cxx, src/LexAVE.cxx, src/LexAda.cxx, src/LexAsm.cxx, src/LexAsn1.cxx, src/LexBaan.cxx, src/LexBash.cxx, src/LexBasic.cxx, src/LexBullant.cxx, src/LexCLW.cxx, src/LexCPP.cxx, src/LexCSS.cxx, src/LexCaml.cxx, src/LexConf.cxx, src/LexCrontab.cxx, src/LexCsound.cxx, src/LexEScript.cxx, src/LexEiffel.cxx, src/LexErlang.cxx, src/LexFlagship.cxx, src/LexForth.cxx, src/LexFortran.cxx, src/LexGen.py, src/LexGui4Cli.cxx, src/LexHTML.cxx, src/LexHaskell.cxx, src/LexKix.cxx, src/LexLisp.cxx, src/LexLout.cxx, src/LexLua.cxx, src/LexMMIXAL.cxx, src/LexMPT.cxx, src/LexMSSQL.cxx, src/LexMatlab.cxx, src/LexMetapost.cxx, src/LexNsis.cxx, src/LexOthers.cxx, src/LexPB.cxx, src/LexPOV.cxx, src/LexPS.cxx, src/LexPascal.cxx, src/LexPerl.cxx, src/LexPython.cxx, src/LexRebol.cxx, src/LexRuby.cxx, src/LexSQL.cxx, src/LexScriptol.cxx, src/LexSmalltalk.cxx, src/LexSpecman.cxx, src/LexTADS3.cxx, src/LexTeX.cxx, src/LexVB.cxx, src/LexVHDL.cxx, src/LexVerilog.cxx, src/LexYAML.cxx, src/LineMarker.cxx, src/LineMarker.h, src/PropSet.cxx, src/RESearch.cxx, src/RESearch.h, src/SVector.h, src/SciTE.properties, src/ScintillaBase.cxx, src/ScintillaBase.h, src/Style.cxx, src/Style.h, src/StyleContext.cxx, src/StyleContext.h, src/UniConversion.cxx, src/UniConversion.h, src/ViewStyle.cxx, src/ViewStyle.h, src/WindowAccessor.cxx, src/XPM.cxx, src/XPM.h, tgzsrc, vcbuild/SciLexer.dsp, version.txt, win32/Margin.cur, win32/PlatWin.cxx, win32/PlatformRes.h, win32/SciTE.properties, win32/ScintRes.rc, win32/Scintilla.def, win32/ScintillaWin.cxx, win32/deps.mak, win32/makefile, win32/scintilla.mak, win32/scintilla_vc6.mak, zipsrc.bat: First import of QScintilla [0521804cd44a] ================================================ FILE: src/qscint/LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ================================================ FILE: src/qscint/NEWS ================================================ v2.12.1 4th March 2021 - Packaging bug fixes. v2.12.0 23rd February 2021 - Added support for Qt6. - Removed support for Qt4 and Qt5 earlier than v5.11.0. - sdists are now provided. v2.11.6 23rd November 2020 - Added the --qsci-translations-dir option to sip-wheel. - Added the .api file for Python v3.9. - Build system changes. - Bug fixes. v2.11.5 10th June 2020 - The bundled .api files are now included in Python wheels if the QScintilla.api file is enabled. - Bug fixes. v2.11.4 19th December 2019 - An administrative release with no code changes. v2.11.3 3rd November 2019 - Added support for SIP v5. - On macOS the install name of the C++ library is now relative to @rpath. v2.11.2 26th June 2019 - Added QsciScintilla::findMatchingBrace(). - QsciScintiila::clear() is no longer undoable and instead clears the undo history. - Added support for building with WASM. - Added the .api file for Python v3.8. - Bug fixes. v2.11.1 14th February 2019 - There is a small (but potentially incompatible) change to the signature of a QsciScintillaBase::SendScintilla() overload which may require an explicit cast to be added. - Bug fixes. v2.11 10th February 2019 - Based on Scintilla v3.10.1. - Added setCaretLineFrameWidth() to QsciScintilla. - The findFirst() and findFirstInSelection() methods of QsciScintilla now support Cxx11 regular expressions. - Added cancelFind() to QsciScintilla. - Added GradientIndicator and CentreGradientIndicator to QsciScintilla::IndicatorStyle. - Added WrapIndentDeeplyIndented to QsciScintilla::WrapIndentMode. - Added ReverseLines to QsciCommand::Command. - Deprecated QsciLexer::styleBitsNeeded(). - Added the AddingPatchAdded, RemovingPatchAdded, AddingPatchRemoved and RemovingPatchRemoved styles to QsciLexerDiff. - Added the DoubleQuotedFString, SingleQuotedFString, TripleSingleQuotedFString and TripleDoubleQuotedFString styles to QsciLexerPython. - Added SCLEX_INDENT, SCLEX_MAXIMA and SCLEX_STATA to QsciScintillaBase. - Added SCI_SETACCESSIBILITY, SCI_GETACCESSIBILITY, SCI_GETCARETLINEFRAME, SCI_SETCARETLINEFRAME, SCI_SETCOMMANDEVENTS, SCI_GETCOMMANDEVENTS, SCI_LINEREVERSE and SCI_GETMOVEEXTENDSSELECTION to QsciScintillaBase. - Added SCI_GETLINECHARACTERINDEX, SCI_ALLOCATELINECHARACTERINDEX, SCI_RELEASELINECHARACTERINDEX, SCI_LINEFROMINDEXPOSITION, SCI_INDEXPOSITIONFROMLINE, SCI_COUNTCODEUNITS and SCI_POSITIONRELATIVECODEUNITS to QsciScintillaBase. - Added SC_LINECHARACTERINDEX_NONE, SC_LINECHARACTERINDEX_UTF32 and SC_LINECHARACTERINDEX_UTF16 to QsciScintillaBase. - Added SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE, SCI_TAGSOFSTYLE and SCI_DESCRIPTIONOFSTYLE to QsciScintillaBase. - Added the SCN_AUTOCSELECTIONCHANGE and SCN_URIDROPPED() signals to QsciScintillaBase. - Added the overloaded SCN_USERLISTSELECTION() signal to QsciScintillaBase. - Added INDIC_GRADIENT and INDIC_GRADIENTCENTRE to QsciScintillaBase. - Added SC_PRINT_SCREENCOLOURS to QsciScintillaBase. - Added SC_WRAPINDENT_DEEPINDENT to QsciScintillaBase. - Added SCI_GETDOCUMENTOPTIONS, SC_DOCUMENTOPTION_DEFAULT, SC_DOCUMENTOPTION_STYLES_NONE and SC_DOCUMENTOPTION_TEXT_LARGE to QsciScintillaBase. v2.10.8 1st October 2018 - Bug fixes. v2.10.7 2nd July 2018 - Bug fixes. v2.10.6 24th June 2018 - A pseudo-release to create a version number for updated Python wheels. v2.10.5 23rd June 2018 - Added the QsciLexerEDIFACT class. - Added setStyle() to QsciStyle. - Control-wheel scroll will now zoom in and out of the document. - Buffered drawing is now disabled by default. - The Python bindings create a PEP 376 .dist-info directory on installation that provides version information for dependent packages and allows pip to uninstall. - Added the --no-dist-info option to the Python bindings' configure.py. - Bug fixes. v2.10.4 10th April 2018 - Bug fixes. v2.10.3 26th February 2018 - Added accessibility support. - Added the API file for Python v3.7. v2.10.2 23rd November 2017 - Added setScrollWidth() , scrollWidth, setScrollWidthTracking() and scrollWidthTracking() to QsciScintilla. - Bug fixes. v2.10.1 3rd July 2017 - Changed the default font on macOS to Menlo 12pt. - Added previously internal lexer methods to the Python bindings. v2.10 20th February 2017 - Based on Scintilla v3.7.2. - Added the QsciLexerJSON class. - Added the QsciLexerMarkdown class. - Added replaceHorizontalScrollBar() and replaceVerticalScrollBar() to QsciScintillaBase. - Added bytes() and a corresponding text() overload to QsciScintilla. - Added EdgeMultipleLines to QsciScintilla::EdgeMode. - Added addEdgeColumn() and clearEdgeColumns() to QsciScintilla. - Added the marginRightClicked() signal to QsciScintilla. - Added SymbolMarginColor to QsciScintilla::MarginType. - Added setMarginBackgroundColor() and marginBackgroundColor() to QsciScintilla. - Added setMargins() and margins() to QsciScintilla. - Added TriangleIndicator and TriangleCharacterIndicator to QsciScintilla::IndicatorStyle. - Added WsVisibleOnlyInIndent to QsciScintilla::WhitespaceVisibility. - Added TabDrawMode, setTabDrawMode() and tabDrawMode() to QsciScintilla. - Added InstanceProperty to QsciLexerCoffeeScript. - Added EDGE_MULTILINE to QsciScintillaBase. - Added INDIC_POINT and INDIC_POINTCHARACTER to QsciScintillaBase. - Added SC_AC_FILLUP, SC_AC_DOUBLECLICK, SC_AC_TAB, SC_AC_NEWLINE and SC_AC_COMMAND to QsciScintillaBase. - Added SC_CASE_CAMEL to QsciScintillaBase. - Added SC_CHARSET_CYRILLIC and SC_CHARSET_OEM866 to QsciScintillaBase. - Added SC_FOLDDISPLAYTEXT_HIDDEN, SC_FOLDDISPLAYTEXT_STANDARD and SC_FOLDDISPLAYTEXT_BOXED to QsciScintillaBase. - Added SC_IDLESTYLING_NONE, SC_IDLESTYLING_TOVISIBLE, SC_IDLESTYLING_AFTERVISIBLE and SC_IDLESTYLING_ALL to QsciScintillaBase. - Added SC_MARGIN_COLOUR to QsciScintillaBase. - Added SC_POPUP_NEVER, SC_POPUP_ALL and SC_POPUP_TEXT to QsciScintillaBase. - Added SCI_FOLDDISPLAYTEXTSETSTYLE and SCI_TOGGLEFOLDSHOWTEXT to QsciScintillaBase. - Added SCI_GETIDLESTYLING and SCI_SETIDLESTYLING to QsciScintillaBase. - Added SCI_GETMARGINBACKN and SCI_SETMARGINBACKN to QsciScintillaBase. - Added SCI_GETMARGINS and SCI_SETMARGINS to QsciScintillaBase. - Added SCI_GETMOUSEWHEELCAPTURES and SCI_SETMOUSEWHEELCAPTURES to QsciScintillaBase. - Added SCI_GETTABDRAWMODE and SCI_SETTABDRAWMODE to QsciScintillaBase. - Added SCI_ISRANGEWORD to QsciScintillaBase. - Added SCI_MULTIEDGEADDLINE and SCI_MULTIEDGECLEARALL to QsciScintillaBase. - Added SCI_MULTIPLESELECTADDNEXT and SCI_MULTIPLESELECTADDEACH to QsciScintillaBase. - Added SCI_TARGETWHOLEDOCUMENT to QsciScintillaBase. - Added SCLEX_JSON and SCLEX_EDIFACT to QsciScintillaBase. - Added SCTD_LONGARROW and SCTD_STRIKEOUT to QsciScintillaBase. - Added SCVS_NOWRAPLINESTART to QsciScintillaBase. - Added SCWS_VISIBLEONLYININDENT to QsciScintillaBase. - Added STYLE_FOLDDISPLAYTEXT to QsciScintillaBase. - Added the SCN_AUTOCCOMPLETED() signal to QsciScintillaBase. - Added the overloaded SCN_AUTOCSELECTION() and SCN_USERLISTSELECTION() signals to QsciScintillaBase. - Added the SCN_MARGINRIGHTCLICK() signal to QsciScintillaBase. - Renamed SCI_GETTARGETRANGE to SCI_GETTARGETTEXT in QsciScintillaBase. - Removed SCI_GETKEYSUNICODE and SCI_SETKEYSUNICODE to QsciScintillaBase. - The autoCompletionFillups(), autoCompletionWordSeparators(), blockEnd(), blockLookback(), blockStart(), blockStartKeyword(), braceStyle(), caseSensitive(), indentationGuideView() and defaultStyle() methods of QsciLexer are no longer marked as internal and are exposed to Python so that they may be used by QsciLexerCustom sub-classes. - The name of the library has been changed to include the major version number of the version of Qt it is built against (ie. 4 or 5). v2.9.4 25th December 2016 - Added the .api file for Python v3.6. - Bug fixes. v2.9.3 25th July 2016 - Bug fixes. v2.9.2 18th April 2016 - Added support for a PEP 484 stub file for the Python extension module. v2.9.1 24th October 2015 - Added the .api file for Python v3.5. - Bug fixes. v2.9 20th April 2015 - Based on Scintilla v3.5.4. - Added UserLiteral, InactiveUserLiteral, TaskMarker, InactiveTaskMarker, EscapeSequence, InactiveEscapeSequence, setHighlightBackQuotedStrings(), highlightBackQuotedStrings(), setHighlightEscapeSequences(), highlightEscapeSequences(), setVerbatimStringEscapeSequencesAllowed() and verbatimStringEscapeSequencesAllowed() to QsciLexerCPP. - Added CommentKeyword, DeclareInputPort, DeclareOutputPort, DeclareInputOutputPort, PortConnection and the inactive versions of all styles to QsciLexerVerilog. - Added CommentBlock to QsciLexerVHDL. - Added AnnotationIndented to QsciScintilla::AnnotationDisplay. - Added FullBoxIndicator, ThickCompositionIndicator, ThinCompositionIndicator and TextColorIndicator to QsciScintilla::IndicatorStyle. - Added setIndicatorHoverForegroundColor() and setIndicatorHoverStyle() to QsciScintilla. - Added Bookmark to QsciScintilla::MarkerSymbol. - Added WrapWhitespace to QsciScintilla::WrapMode. - Added SCLEX_AS, SCLEX_BIBTEX, SCLEX_DMAP, SCLEX_DMIS, SCLEX_IHEX, SCLEX_REGISTRY, SCLEX_SREC and SCLEX_TEHEX to QsciScintillaBase. - Added SCI_CHANGEINSERTION to QsciScintillaBase. - Added SCI_CLEARTABSTOPS, SCI_ADDTABSTOP and SCI_GETNEXTTABSTOP to QsciScintillaBase. - Added SCI_GETIMEINTERACTION, SCI_SETIMEINTERACTION, SC_IME_WINDOWED and SC_IME_INLINE to QsciScintillaBase. - Added SC_MARK_BOOKMARK to QsciScintillaBase. - Added INDIC_COMPOSITIONTHIN, INDIC_FULLBOX, INDIC_TEXTFORE, INDIC_IME, INDIC_IME_MAX, SC_INDICVALUEBIT, SC_INDICVALUEMASK, SC_INDICFLAG_VALUEBEFORE, SCI_INDICSETHOVERSTYLE, SCI_INDICGETHOVERSTYLE, SCI_INDICSETHOVERFORE, SCI_INDICGETHOVERFORE, SCI_INDICSETFLAGS and SCI_INDICGETFLAGS to QsciScintillaBase. - Added SCI_SETTARGETRANGE and SCI_GETTARGETRANGE to QsciScintillaBase. - Added SCFIND_CXX11REGEX to QsciScintillaBase. - Added SCI_CALLTIPSETPOSSTART to QsciScintillaBase. - Added SC_FOLDFLAG_LINESTATE to QsciScintillaBase. - Added SC_WRAP_WHITESPACE to QsciScintillaBase. - Added SC_PHASES_ONE, SC_PHASES_TWO, SC_PHASES_MULTIPLE, SCI_GETPHASESDRAW and SCI_SETPHASESDRAW to QsciScintillaBase. - Added SC_STATUS_OK, SC_STATUS_FAILURE, SC_STATUS_BADALLOC, SC_STATUS_WARN_START and SC_STATUS_WARNREGEX to QsciScintillaBase. - Added SC_MULTIAUTOC_ONCE, SC_MULTIAUTOC_EACH, SCI_AUTOCSETMULTI and SCI_AUTOCGETMULTI to QsciScintillaBase. - Added ANNOTATION_INDENTED to QsciScintillaBase. - Added SCI_DROPSELECTIONN to QsciScintillaBase. - Added SC_TECHNOLOGY_DIRECTWRITERETAIN and SC_TECHNOLOGY_DIRECTWRITEDC to QsciScintillaBase. - Added SC_LINE_END_TYPE_DEFAULT, SC_LINE_END_TYPE_UNICODE, SCI_GETLINEENDTYPESSUPPORTED, SCI_SETLINEENDTYPESALLOWED, SCI_GETLINEENDTYPESALLOWED and SCI_GETLINEENDTYPESACTIVE to QsciScintillaBase. - Added SCI_ALLOCATESUBSTYLES, SCI_GETSUBSTYLESSTART, SCI_GETSUBSTYLESLENGTH, SCI_GETSTYLEFROMSUBSTYLE, SCI_GETPRIMARYSTYLEFROMSTYLE, SCI_FREESUBSTYLES, SCI_SETIDENTIFIERS, SCI_DISTANCETOSECONDARYSTYLES and SCI_GETSUBSTYLEBASES to QsciScintillaBase. - Added SC_MOD_INSERTCHECK and SC_MOD_CHANGETABSTOPS to QsciScintillaBase. - Qt v3 and PyQt v3 are no longer supported. v2.8.4 11th September 2014 - Added setHotspotForegroundColor(), resetHotspotForegroundColor(), setHotspotBackgroundColor(), resetHotspotBackgroundColor(), setHotspotUnderline() and setHotspotWrap() to QsciScintilla. - Added SCI_SETHOTSPOTSINGLELINE to QsciScintillaBase. - Bug fixes. v2.8.3 3rd July 2014 - Added the QsciLexerCoffeeScript class. - Font sizes are now handled as floating point values rather than integers. - Bug fixes. v2.8.2 26th May 2014 - Added the QsciLexerAVS class. - Added the QsciLexerPO class. - Added the --sysroot, --no-sip-files and --no-qsci-api options to the Python bindings' configure.py. - Cross-compilation (specifically to iOS and Android) is now supported. - configure.py has been refactored and relicensed so that it can be used as a template for wrapping other bindings. - Bug fixes. v2.8.1 14th March 2014 - Added support for iOS and Android. - Added support for retina displays. - A qscintilla2.prf file is installed so that application .pro files only need to add CONFIG += qscintilla2. - Updated the keywords recognised by the Octave lexer. - Bug fixes. v2.8 9th November 2013 - Based on Scintilla v3.3.6. - Added the SCN_FOCUSIN() and SCN_FOCUSOUT() signals to QsciScintillaBase. - Added PreProcessorCommentLineDoc and InactivePreProcessorCommentLineDoc to QsciLexerCPP. - Added SCLEX_LITERATEHASKELL, SCLEX_KVIRC, SCLEX_RUST and SCLEX_STTXT to QsciScintillaBase. - Added ThickCompositionIndicator to QsciScintilla::IndicatorStyle. - Added INDIC_COMPOSITIONTHICK to QsciScintillaBase. - Added SC_FOLDACTION_CONTRACT, SC_FOLDACTION_EXPAND and SC_FOLDACTION_TOGGLE to QsciScintillaBase. - Added SCI_FOLDLINE, SCI_FOLDCHILDREN, SCI_EXPANDCHILDREN and SCI_FOLDALL to QsciScintillaBase. - Added SC_AUTOMATICFOLD_SHOW, SC_AUTOMATICFOLD_CLICK and SC_AUTOMATICFOLD_CHANGE to QsciScintillaBase. - Added SCI_SETAUTOMATICFOLD and SCI_GETAUTOMATICFOLD to QsciScintillaBase. - Added SC_ORDER_PRESORTED, SC_ORDER_PERFORMSORT and SC_ORDER_CUSTOM to QsciScintillaBase. - Added SCI_AUTOCSETORDER and SCI_AUTOCGETORDER to QsciScintillaBase. - Added SCI_POSITIONRELATIVE to QsciScintillaBase. - Added SCI_RELEASEALLEXTENDEDSTYLES and SCI_ALLOCATEEXTENDEDSTYLES to QsciScintillaBase. - Added SCI_SCROLLRANGE to QsciScintillaBase. - Added SCI_SETCARETLINEVISIBLEALWAYS and SCI_GETCARETLINEVISIBLEALWAYS to QsciScintillaBase. - Added SCI_SETMOUSESELECTIONRECTANGULARSWITCH and SCI_GETMOUSESELECTIONRECTANGULARSWITCH to QsciScintillaBase. - Added SCI_SETREPRESENTATION, SCI_GETREPRESENTATION and SCI_CLEARREPRESENTATION to QsciScintillaBase. - Input methods are now properly supported. v2.7.2 16th June 2013 - The build script for the Python bindings now has a --pyqt argument for specifying PyQt4 or PyQt5. - The default EOL mode on OS/X is now EolUnix. - Bug fixes. v2.7.1 1st March 2013 - Added support for the final release of Qt v5. - The build script for the Python bindings should now work with SIP v5. - Bug fixes. v2.7 8th December 2012 - Based on Scintilla v3.2.3. - Added support for Qt v5-rc1. - Added HashQuotedString, InactiveHashQuotedString, PreProcessorComment, InactivePreProcessorComment, setHighlightHashQuotedStrings() and highlightHashQuotedStrings() to QsciLexerCpp. - Added Variable, setHSSLanguage(), HSSLanguage(), setLessLanguage(), LessLanguage(), setSCCSLanguage() and SCCSLanguage() to QsciLexerCSS. - Added setOverwriteMode() and overwriteMode() to QsciScintilla. - Added wordAtLineIndex() to QsciScintilla. - Added findFirstInSelection() to QsciScintilla. - Added CallTipsPosition, callTipsPosition() and setCallTipsPosition() to QsciScintilla. - Added WrapFlagInMargin to QsciScintilla::WrapVisualFlag. - Added SquigglePixmapIndicator to QsciScintilla::IndicatorStyle. - The weight of a font (rather than whether it is just bold or not) is now respected. - Added SCLEX_AVS, SCLEX_COFFEESCRIPT, SCLEX_ECL, SCLEX_OSCRIPT, SCLEX_TCMD and SCLEX_VISUALPROLOG to QsciScintillaBase. - Added SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE and SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE to QsciScintillaBase. - Added SC_FONT_SIZE_MULTIPLIER to QsciScintillaBase. - Added SC_WEIGHT_NORMAL, SC_WEIGHT_SEMIBOLD and SC_WEIGHT_BOLD to QsciScintillaBase. - Added SC_WRAPVISUALFLAG_MARGIN to QsciScintillaBase. - Added INDIC_SQUIGGLEPIXMAP to QsciScintillaBase. - Added SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR, SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR, SCI_CALLTIPSETPOSITION, SCI_COUNTCHARACTERS, SCI_CREATELOADER, SCI_DELETERANGE, SCI_FINDINDICATORFLASH, SCI_FINDINDICATORHIDE, SCI_FINDINDICATORSHOW, SCI_GETALLLINESVISIBLE, SCI_GETGAPPOSITION, SCI_GETPUNCTUATIONCHARS, SCI_GETRANGEPOINTER, SCI_GETSELECTIONEMPTY, SCI_GETTECHNOLOGY, SCI_GETWHITESPACECHARS, SCI_GETWORDCHARS, SCI_RGBAIMAGESETSCALE, SCI_SETPUNCTUATIONCHARS, SCI_SETTECHNOLOGY, SCI_STYLESETSIZEFRACTIONAL, SCI_STYLEGETSIZEFRACTIONAL, SCI_STYLESETWEIGHT and SCI_STYLEGETWEIGHT to QsciScintillaBase. - Removed SCI_GETUSEPALETTE and SCI_SETUSEPALETTE from QsciScintillaBase. - Bug fixes. v2.6.2 20th June 2012 - Added support for Qt v5-alpha. - QsciLexer::wordCharacters() is now part of the public API. - Bug fixes. v2.6.1 10th February 2012 - Support SCI_NAMESPACE to enable all internal Scintilla classes to be put into the Scintilla namespace. - APIs now allow for spaces between the end of a word and the opening parenthesis. - Building against Qt v3 is fixed. v2.6 11th November 2011 - Based on Scintilla v2.29. - Added Command, command() and execute() to QsciCommand. - Added boundTo() and find() to QsciCommandSet. - Added createStandardContextMenu() to QsciScintilla. - Added StraightBoxIndicator, DashesIndicator, DotsIndicator, SquiggleLowIndicator and DotBoxIndicator to QsciScintilla::IndicatorStyle. - Added markerDefine() to QsciScintilla. - Added MoNone, MoSublineSelect, marginOptions() and setMarginOptions() to QsciScintilla. - Added registerImage() to QsciScintilla. - Added setIndicatorOutlineColor() to QsciScintilla. - Added setMatchedBraceIndicator(), resetMatchedBraceIndicator(), setUnmatchedBraceIndicator() and resetUnmatchedBraceIndicator() to QsciScintilla. - Added highlightTripleQuotedStrings() and setHighlightTripleQuotedStrings() to QsciLexerCpp. - Added Label to QsciLexerLua. - Added DoubleQuotedStringVar, Translation, RegexVar, SubstitutionVar, BackticksVar, DoubleQuotedHereDocumentVar, BacktickHereDocumentVar, QuotedStringQQVar, QuotedStringQXVar, QuotedStringQRVar, setFoldAtElse() and foldAtElse() to QsciLexerPerl. - Added highlightSubidentifiers() and setHighlightSubidentifiers() to QsciLexerPython. - Added INDIC_STRAIGHTBOX, INDIC_DASH, INDIC_DOTS, INDIC_SQUIGGLELOW and INDIC_DOTBOX to QsciScintillaBase. - Added SC_MARGINOPTION_NONE and SC_MARGINOPTION_SUBLINESELECT to QsciScintillaBase. - Added SC_MARK_RGBAIMAGE to QsciScintillaBase. - Added SCI_BRACEBADLIGHTINDICATOR, SCI_BRACEHIGHLIGHTINDICATOR, SCI_GETIDENTIFIER, SCI_GETMARGINOPTIONS, SCI_INDICGETOUTLINEALPHA, SCI_INDICSETOUTLINEALPHA, SCI_MARKERDEFINERGBAIMAGE, SCI_MARKERENABLEHIGHLIGHT, SCI_MARKERSETBACKSELECTED, SCI_MOVESELECTEDLINESDOWN, SCI_MOVESELECTEDLINESUP, SCI_REGISTERRGBAIMAGE, SCI_RGBAIMAGESETHEIGHT, SCI_RGBAIMAGESETWIDTH, SCI_SCROLLTOEND, SCI_SCROLLTOSTART, SCI_SETEMPTYSELECTION, SCI_SETIDENTIFIER and SCI_SETMARGINOPTIONS to QsciScintillaBase. v2.5.1 17th April 2011 - Added QsciLexerMatlab and QsciLexerOctave. v2.5 29th March 2011 - Based on Scintilla v2.25. - Rectangular selections are now fully supported and compatible with SciTE. - The signature of the fromMimeData() and toMimeData() methods of QsciScintillaBase have changed incompatibly in order to support rectangular selections. - Added QsciScintilla::setAutoCompletionUseSingle() to replace the now deprecated setAutoCompletionShowSingle(). - Added QsciScintilla::autoCompletionUseSingle() to replace the now deprecated autoCompletionShowSingle(). - QsciScintilla::setAutoCompletionCaseSensitivity() is no longer ignored if a lexer has been set. - Added FullRectangle, LeftRectangle and Underline to the QsciScintilla::MarkerSymbol enum. - Added setExtraAscent(), extraAscent(), setExtraDescent() and extraDescent() to QsciScintilla. - Added setWhitespaceSize() and whitespaceSize() to QsciScintilla. - Added replaceSelectedText() to QsciScintilla. - Added setWhitespaceBackgroundColor() and setWhitespaceForegroundColor() to QsciScintilla. - Added setWrapIndentMode() and wrapIndentMode() to QsciScintilla. - Added setFirstVisibleLine() to QsciScintilla. - Added setContractedFolds() and contractedFolds() to QsciScintilla. - Added the SCN_HOTSPOTRELEASECLICK() signal to QsciScintillaBase. - The signature of the QsciScintillaBase::SCN_UPDATEUI() signal has changed. - Added the RawString and inactive styles to QsciLexerCPP. - Added MediaRule to QsciLexerCSS. - Added BackquoteString, RawString, KeywordSet5, KeywordSet6 and KeywordSet7 to QsciLexerD. - Added setDjangoTemplates(), djangoTemplates(), setMakoTemplates() and makoTemplates() to QsciLexerHTML. - Added KeywordSet5, KeywordSet6, KeywordSet7 and KeywordSet8 to QsciLexerLua. - Added setInitialSpaces() and initialSpaces() to QsciLexerProperties. - Added setFoldCompact(), foldCompact(), setStringsOverNewlineAllowed() and stringsOverNewlineAllowed() to QsciLexerPython. - Added setFoldComments(), foldComments(), setFoldCompact() and foldCompact() to QsciLexerRuby. - Added setFoldComments() and foldComments(), and removed setFoldCompact() and foldCompact() from QsciLexerTCL. - Added setFoldComments(), foldComments(), setFoldCompact(), foldCompact(), setProcessComments(), processComments(), setProcessIf(), and processIf() to QsciLexerTeX. - Added QuotedIdentifier, setDottedWords(), dottedWords(), setFoldAtElse(), foldAtElse(), setFoldOnlyBegin(), foldOnlyBegin(), setHashComments(), hashComments(), setQuotedIdentifiers() and quotedIdentifiers() to QsciLexerSQL. - The Python bindings now allow optional arguments to be specified as keyword arguments. - The Python bindings will now build using the protected-is-public hack if possible. v2.4.6 23rd December 2010 - Added support for indicators to the high-level API, i.e. added the IndicatorStyle enum, the clearIndicatorRange(), fillIndicatorRange(), indicatorDefine(), indicatorDrawUnder(), setIndicatorDrawUnder() and setIndicatorForegroundColor methods, and the indicatorClicked() and indicatorReleased() signals to QsciScintilla. - Added support for the Key style in QsciLexerProperties. - Added an API file for Python v2.7. - Added the --no-timestamp command line option to the Python bindings' configure.py. v2.4.5 31st August 2010 - A bug fix release. v2.4.4 12th July 2010 - Added the canInsertFromMimeData(), fromMimeData() and toMimeData() methods to QsciScintillaBase. - QsciScintilla::markerDefine() now allows existing markers to be redefined. v2.4.3 17th March 2010 - Added clearFolds() to QsciScintilla. v2.4.2 20th January 2010 - Updated Spanish translations from Jaime Seuma. - Fixed compilation problems with Qt v3 and Qt v4 prior to v4.5. v2.4.1 14th January 2010 - Added the QsciLexerSpice and QsciLexerVerilog classes. - Significant performance improvements when handling long lines. - The Python bindings include automatically generated docstrings by default. - Added an API file for Python v3. v2.4 5th June 2009 - Based on Scintilla v1.78. - Added the QsciLexerCustom, QsciStyle and QsciStyledText classes. - Added annotate(), annotation(), clearAnnotations(), setAnnotationDisplay() and annotationDisplay() to QsciScintilla. - Added setMarginText(), clearMarginText(), setMarginType() and marginType() to QsciScintilla. - Added QsciLexer::lexerId() so that container lexers can be implemented. - Added editor() and styleBitsNeeded() to QsciLexer. - Added setDollarsAllowed() and dollarsAllowed() to QsciLexerCPP. - Added setFoldScriptComments(), foldScriptComments(), setFoldScriptHeredocs() and foldScriptHeredocs() to QsciLexerHTML. - Added setSmartHighlighting() and smartHighlighting() to QsciLexerPascal. (Note that the Scintilla Pascal lexer has changed so that any saved colour and font settings will not be properly restored.) - Added setFoldPackages(), foldPackages(), setFoldPODBlocks() and foldPODBlocks() to QsciLexerPerl. - Added setV2UnicodeAllowed(), v2UnicodeAllowed(), setV3BinaryOctalAllowed(), v3BinaryOctalAllowed(), setV3BytesAllowed and v3BytesAllowed() to QsciLexerPython. - Added setScriptsStyled() and scriptsStyled() to QsciLexerXML. - Added Spanish translations from Jaime Seuma. v2.3.2 17th November 2008 - A bug fix release. v2.3.1 6th November 2008 - Based on Scintilla v1.77. - Added the read() and write() methods to QsciScintilla to allow a file to be read and written while minimising the conversions. - Added the positionFromLineIndex() and lineIndexFromPosition() methods to QsciScintilla to convert between a Scintilla character address and a QScintilla character address. - Added QsciScintilla::wordAtPoint() to return the word at the given screen coordinates. - QSciScintilla::setSelection() now allows the carat to be left at either the start or the end of the selection. - 'with' is now treated as a keyword by the Python lexer. v2.3 20th September 2008 - Based on Scintilla v1.76. - The new QsciAbstractAPIs class allows applications to replace the default implementation of the language APIs used for auto-completion lists and call tips. - Added QsciScintilla::apiContext() to allow applications to determine the context used for auto-completion and call tips. - Added the QsciLexerFortran, QsciLexerFortran77, QsciLexerPascal, QsciLexerPostScript, QsciLexerTCL, QsciLexerXML and QsciLexerYAML classes. - QsciScintilla::setFolding() will now accept an optional margin number. v2.2 27th February 2008 - Based on Scintilla v1.75. - A lexer's default colour, paper and font are now written to and read from the settings. - Windows64 is now supported. - The signature of the QsciScintillaBase::SCN_MACRORECORD() signal has changed slightly. - Changed the licensing to match the current Qt licenses, including GPL v3. v2.1 1st June 2007 - A slightly revised API, incompatible with QScintilla v2.0. - Lexers now remember their style settings. A lexer no longer has to be the current lexer when changing a style's color, end-of-line fill, font or paper. - The color(), eolFill(), font() and paper() methods of QsciLexer now return the current values for a style rather than the default values. - The setDefaultColor(), setDefaultFont() and setDefaultPaper() methods of QsciLexer are no longer slots and no longer virtual. - The defaultColor(), defaultFont() and defaultPaper() methods of QsciLexer are no longer virtual. - The color(), eolFill(), font() and paper() methods of all QsciLexer derived classes (except for QsciLexer itself) have been renamed defaultColor(), defaultEolFill(), defaultFont() and defaultPaper() respectively. v2.0 26th May 2007 - A revised API, incompatible with QScintilla v1. - Hugely improved autocompletion and call tips support. - Supports both Qt v3 and Qt v4. - Includes Python bindings. ================================================ FILE: src/qscint/Python/README ================================================ QScintilla - Python Bindings for the QScintilla Programmers Editor Widget ========================================================================= QScintilla is a port to Qt of the Scintilla programmers editor widget. It supports the traditional low-level Scintilla API and implements a high-level API covering such things as auto-completion, code folding and lexer configuration. These Python bindings implement a single extension module that sits on top of PyQt5 and wraps both the low-level and high-level APIs. Author ------ QScintilla is copyright (c) Riverbank Computing Limited. Its homepage is https://www.riverbankcomputing.com/software/qscintilla/. Support may be obtained from the QScintilla mailing list at https://www.riverbankcomputing.com/mailman/listinfo/qscintilla/. License ------- QScintilla is released under the GPL v3 license and under a commercial license that allows for the development of proprietary applications. Documentation ------------- The documentation for the latest release can be found `here `__. Installation ------------ The GPL version of QScintilla can be installed from PyPI:: pip install QScintilla The wheels include a statically linked copy of the QScintilla C++ library. ``pip`` will also build and install the bindings from the sdist package but Qt's ``qmake`` tool must be on ``PATH``. The ``sip-install`` tool will also install the bindings from the sdist package but will allow you to configure many aspects of the installation. ================================================ FILE: src/qscint/Python/config-tests/cfgtest_Qsci.cpp ================================================ #include #include #include #include int main(int argc, char **argv) { QCoreApplication app(argc, argv); QFile outf(argv[1]); if (!outf.open(QIODevice::WriteOnly|QIODevice::Truncate|QIODevice::Text)) return 1; QTextStream out(&outf); out << QSCINTILLA_VERSION << '\n'; out << QSCINTILLA_VERSION_STR << '\n'; return 0; } ================================================ FILE: src/qscint/Python/project.py ================================================ # This is the build script for the QScintilla Python bindings. # # Copyright (c) 2021 Riverbank Computing Limited # # This file is part of QScintilla. # # This file may be used under the terms of the GNU General Public License # version 3.0 as published by the Free Software Foundation and appearing in # the file LICENSE included in the packaging of this file. Please review the # following information to ensure the GNU General Public License version 3.0 # requirements will be met: http://www.gnu.org/copyleft/gpl.html. # # If you do not wish to use this file under the terms of the GPL version 3.0 # then you may purchase a commercial license. For more information contact # info@riverbankcomputing.com. # # This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE # WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. import os from pyqtbuild import PyQtBindings, PyQtProject from sipbuild import Option class QScintilla(PyQtProject): """ The QScintilla project. """ def __init__(self): """ Initialise the project. """ super().__init__() self.bindings_factories = [Qsci] # If there is a 'src' subdirectory then we are part of an sdist rather # than a full source distribution. If part of an sdist then the # QScintilla source is compiled along with the bindings. Otherwise an # external (ie. already built) QScintilla library is used (which may be # static or dynamic). self.qsci_external_lib = not os.path.isdir('src') def apply_user_defaults(self, tool): """ Set default values for user options that haven't been set yet. """ super().apply_user_defaults(tool) if not self.qsci_external_lib: # If a directory to install the .api files was given then add the # bundled .api files as well. if self.api_dir: self.wheel_includes.append( ('qsci/api/python/*.api', self.api_dir)) if self.qsci_translations_dir: self.wheel_includes.append( ('src/*.qm', self.qsci_translations_dir)) def get_options(self): """ Return the list of configurable options. """ options = super().get_options() # The directory within the wheel to install the translation files to. options.append( Option('qsci_translations_dir', help="the QScintilla translation files will be installed in DIR", metavar="DIR", tools=['wheel'])) return options class Qsci(PyQtBindings): """ The Qsci bindings. """ def __init__(self, project): """ Initialise the bindings. """ if project.qsci_external_lib: qmake_CONFIG = ['qscintilla2'] else: qmake_CONFIG = [] super().__init__(project, 'Qsci', qmake_CONFIG=qmake_CONFIG) def apply_user_defaults(self, tool): """ Set default values for user options that haven't been set yet. """ project = self.project qt6 = (project.builder.qt_version >= 0x060000) # Set the name of the .sip file now that we know the Qt version number. self.sip_file = 'qscimod6.sip' if qt6 else 'qscimod5.sip' if self.project.qsci_external_lib: if self.qsci_features_dir is not None: os.environ['QMAKEFEATURES'] = os.path.abspath( self.qsci_features_dir) if self.qsci_include_dir is not None: self.include_dirs.append( os.path.abspath(self.qsci_include_dir)) if self.qsci_library_dir is not None: self.library_dirs.append( os.path.abspath(self.qsci_library_dir)) else: # We configure CONFIG and QT textually because it's too late to # update qmake_CONFIG and qmake_QT. self.builder_settings.append('QT += widgets') if project.py_platform != 'ios': self.builder_settings.append('QT += printsupport') if project.py_platform in ('darwin', 'ios') and not qt6: self.builder_settings.append('QT += macextras') self.builder_settings.append( 'CONFIG += warn_off thread exceptions') self.define_macros.extend( ['SCINTILLA_QT', 'SCI_LEXER', 'INCLUDE_DEPRECATED_FEATURES']) self._add_internal_lib_sources() super().apply_user_defaults(tool) def get_options(self): """ Return the list of configurable options. """ options = super().get_options() if self.project.qsci_external_lib: # The directory containing the features file. options.append( Option('qsci_features_dir', help="the qscintilla2.prf features file is in DIR", metavar="DIR")) # The directory containing the include directory. options.append( Option('qsci_include_dir', help="the Qsci include file directory is in DIR", metavar="DIR")) # The directory containing the library. options.append( Option('qsci_library_dir', help="the QScintilla library is in DIR", metavar="DIR")) return options def handle_test_output(self, test_output): """ Handle the output from the external test program and return True if the bindings are buildable. """ project = self.project installed_version = int(test_output[0]) installed_version_str = test_output[1] if project.version != installed_version: project.progress( "QScintilla v{0} is required but QScintilla v{1} is " "installed.".format(project.version_str, installed_version_str)) return False return True def is_buildable(self): """ Return True if the bindings are buildable. """ # We need to check the compatibility of an external QScintilla library. if self.project.qsci_external_lib: return super().is_buildable() return True def _add_dir_sources(self, dname): """ Add the headers and sources from a particular directory. """ for fn in os.listdir(dname): if fn.endswith('.h'): self.headers.append(os.path.join(dname, fn)) elif fn.endswith('.cpp'): self.sources.append(os.path.join(dname, fn)) def _add_internal_lib_sources(self): """ Add to the lists of include directories, header files and source files to build the QScintilla library. """ include_dirs = ['src'] for dn in ('include', 'lexers', 'lexlib', 'src'): include_dirs.append(os.path.join('scintilla', dn)) self._add_dir_sources(os.path.join('src', 'Qsci')) for dn in include_dirs: self._add_dir_sources(dn) self.include_dirs.extend(include_dirs) ================================================ FILE: src/qscint/Python/pyproject-qt5.toml ================================================ # Specify the build system. [build-system] requires = ["sip >=6.0.2, <7", "PyQt-builder >=1.6, <2"] build-backend = "sipbuild.api" # Specify the PEP 566 metadata for the project. [tool.sip.metadata] name = "QScintilla" version = "2.12.1" summary = "Python bindings for the QScintilla programmers editor widget" home-page = "https://www.riverbankcomputing.com/software/qscintilla/" author = "Riverbank Computing Limited" author-email = "info@riverbankcomputing.com" license = "GPL v3" description-file = "README" requires-dist = "PyQt5 (>=5.15.4)" ================================================ FILE: src/qscint/Python/pyproject-qt6.toml ================================================ # Specify the build system. [build-system] requires = ["sip >=6.0.2, <7", "PyQt-builder >=1.6, <2"] build-backend = "sipbuild.api" # Specify the PEP 566 metadata for the project. [tool.sip.metadata] name = "PyQt6-QScintilla" version = "2.12.1" summary = "Python bindings for the QScintilla programmers editor widget" home-page = "https://www.riverbankcomputing.com/software/qscintilla/" author = "Riverbank Computing Limited" author-email = "info@riverbankcomputing.com" license = "GPL v3" description-file = "README" requires-dist = "PyQt6 (>=6.0.3)" ================================================ FILE: src/qscint/Python/sip/qsciabstractapis.sip ================================================ // This is the SIP interface definition for QsciAbstractAPIs. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciAbstractAPIs : QObject { %TypeHeaderCode #include %End public: QsciAbstractAPIs(QsciLexer *lexer /TransferThis/); virtual ~QsciAbstractAPIs(); QsciLexer *lexer() const; virtual void updateAutoCompletionList(const QStringList &context, QStringList &list /In, Out/) = 0; virtual void autoCompletionSelected(const QString &selection); virtual QStringList callTips(const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList &shifts) = 0; private: QsciAbstractAPIs(const QsciAbstractAPIs &); }; ================================================ FILE: src/qscint/Python/sip/qsciapis.sip ================================================ // This is the SIP interface definition for QsciAPIs. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciAPIs : QsciAbstractAPIs { %TypeHeaderCode #include %End public: QsciAPIs(QsciLexer *lexer /TransferThis/); virtual ~QsciAPIs(); void add(const QString &entry); void clear(); bool load(const QString &fname); void remove(const QString &entry); void prepare(); void cancelPreparation(); QString defaultPreparedName() const; bool isPrepared(const QString &filename = QString()) const; bool loadPrepared(const QString &filename = QString()); bool savePrepared(const QString &filename = QString()) const; virtual bool event(QEvent *e); QStringList installedAPIFiles() const; virtual void updateAutoCompletionList(const QStringList &context, QStringList &list /In, Out/); virtual void autoCompletionSelected(const QString &selection); virtual QStringList callTips(const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList &shifts); signals: void apiPreparationCancelled(); void apiPreparationStarted(); void apiPreparationFinished(); private: QsciAPIs(const QsciAPIs &); }; ================================================ FILE: src/qscint/Python/sip/qscicommand.sip ================================================ // This is the SIP interface definition for QsciCommand. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciCommand { %TypeHeaderCode #include %End public: enum Command { LineDown, LineDownExtend, LineDownRectExtend, LineScrollDown, LineUp, LineUpExtend, LineUpRectExtend, LineScrollUp, ScrollToStart, ScrollToEnd, VerticalCentreCaret, ParaDown, ParaDownExtend, ParaUp, ParaUpExtend, CharLeft, CharLeftExtend, CharLeftRectExtend, CharRight, CharRightExtend, CharRightRectExtend, WordLeft, WordLeftExtend, WordRight, WordRightExtend, WordLeftEnd, WordLeftEndExtend, WordRightEnd, WordRightEndExtend, WordPartLeft, WordPartLeftExtend, WordPartRight, WordPartRightExtend, Home, HomeExtend, HomeRectExtend, HomeDisplay, HomeDisplayExtend, HomeWrap, HomeWrapExtend, VCHome, VCHomeExtend, VCHomeRectExtend, VCHomeWrap, VCHomeWrapExtend, LineEnd, LineEndExtend, LineEndRectExtend, LineEndDisplay, LineEndDisplayExtend, LineEndWrap, LineEndWrapExtend, DocumentStart, DocumentStartExtend, DocumentEnd, DocumentEndExtend, PageUp, PageUpExtend, PageUpRectExtend, PageDown, PageDownExtend, PageDownRectExtend, StutteredPageUp, StutteredPageUpExtend, StutteredPageDown, StutteredPageDownExtend, Delete, DeleteBack, DeleteBackNotLine, DeleteWordLeft, DeleteWordRight, DeleteWordRightEnd, DeleteLineLeft, DeleteLineRight, LineDelete, LineCut, LineCopy, LineTranspose, LineDuplicate, SelectAll, MoveSelectedLinesUp, MoveSelectedLinesDown, SelectionDuplicate, SelectionLowerCase, SelectionUpperCase, SelectionCut, SelectionCopy, Paste, EditToggleOvertype, Newline, Formfeed, Tab, Backtab, Cancel, Undo, Redo, ZoomIn, ZoomOut, ReverseLines, }; Command command() const; void execute(); void setKey(int key); void setAlternateKey(int altkey); int key() const; int alternateKey() const; static bool validKey(int key); QString description() const; private: QsciCommand(QsciScintilla *qs, Command cmd, int key, int altkey, const char *desc); QsciCommand(const QsciCommand &); }; ================================================ FILE: src/qscint/Python/sip/qscicommandset.sip ================================================ // This is the SIP interface definition for the QsciCommandSet. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciCommandSet { %TypeHeaderCode #include %End public: bool readSettings(QSettings &qs, const char *prefix = "/Scintilla"); bool writeSettings(QSettings &qs, const char *prefix = "/Scintilla"); QList &commands(); void clearKeys(); void clearAlternateKeys(); QsciCommand *boundTo(int key) const; QsciCommand *find(QsciCommand::Command command) const; private: QsciCommandSet(QsciScintilla *qs); ~QsciCommandSet(); QsciCommandSet(const QsciCommandSet &); }; ================================================ FILE: src/qscint/Python/sip/qscidocument.sip ================================================ // This is the SIP interface definition for QsciDocument. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciDocument { %TypeHeaderCode #include %End public: QsciDocument(); virtual ~QsciDocument(); QsciDocument(const QsciDocument &); }; ================================================ FILE: src/qscint/Python/sip/qscilexer.sip ================================================ // This is the SIP interface definition for QsciLexer. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexer : QObject { %TypeHeaderCode #include %End public: QsciLexer(QObject *parent /TransferThis/ = 0); virtual ~QsciLexer(); virtual const char *language() const = 0; virtual const char *lexer() const; virtual int lexerId() const; QsciAbstractAPIs *apis() const; virtual const char *autoCompletionFillups() const /Encoding="None"/; virtual QStringList autoCompletionWordSeparators() const; int autoIndentStyle(); virtual const char *blockEnd(int *style = 0) const /Encoding="None"/; virtual int blockLookback() const; virtual const char *blockStart(int *style = 0) const /Encoding="None"/; virtual const char *blockStartKeyword(int *style = 0) const /Encoding="None"/; virtual int braceStyle() const; virtual bool caseSensitive() const; virtual QColor color(int style) const; virtual bool eolFill(int style) const; virtual QFont font(int style) const; virtual int indentationGuideView() const; virtual const char *keywords(int set) const; virtual QString description(int style) const = 0; virtual QColor paper(int style) const; QColor defaultColor() const; virtual QColor defaultColor(int style) const; virtual bool defaultEolFill(int style) const; QFont defaultFont() const; virtual QFont defaultFont(int style) const; QColor defaultPaper() const; virtual QColor defaultPaper(int style) const; virtual int defaultStyle() const; QsciScintilla *editor() const; virtual void refreshProperties(); void setAPIs(QsciAbstractAPIs *apis); void setDefaultColor(const QColor &c); void setDefaultFont(const QFont &f); void setDefaultPaper(const QColor &c); virtual int styleBitsNeeded() const; virtual const char *wordCharacters() const; bool readSettings(QSettings &qs, const char *prefix = "/Scintilla"); bool writeSettings(QSettings &qs, const char *prefix = "/Scintilla") const; public slots: virtual void setAutoIndentStyle(int autoindentstyle); virtual void setColor(const QColor &c, int style = -1); virtual void setEolFill(bool eolfill, int style = -1); virtual void setFont(const QFont &f, int style = -1); virtual void setPaper(const QColor &c, int style = -1); signals: void colorChanged(const QColor &c, int style); void eolFillChanged(bool eolfilled, int style); void fontChanged(const QFont &f, int style); void paperChanged(const QColor &c, int style); void propertyChanged(const char *prop, const char *val); protected: virtual bool readProperties(QSettings &qs, const QString &prefix); virtual bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexer(const QsciLexer &); }; ================================================ FILE: src/qscint/Python/sip/qscilexeravs.sip ================================================ // This is the SIP interface definition for QsciLexerAVS. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerAVS : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, BlockComment, NestedBlockComment, LineComment, Number, Operator, Identifier, String, TripleString, Keyword, Filter, Plugin, Function, ClipProperty, KeywordSet6 }; QsciLexerAVS(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerAVS(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; int braceStyle() const; void refreshProperties(); bool foldComments() const; bool foldCompact() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerAVS(const QsciLexerAVS &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerbash.sip ================================================ // This is the SIP interface definition for QsciLexerBash. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerBash : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Error, Comment, Number, Keyword, DoubleQuotedString, SingleQuotedString, Operator, Identifier, Scalar, ParameterExpansion, Backticks, HereDocumentDelimiter, SingleQuotedHereDocument }; QsciLexerBash(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerBash(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; int braceStyle() const; void refreshProperties(); bool foldComments() const; bool foldCompact() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerBash(const QsciLexerBash &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerbatch.sip ================================================ // This is the SIP interface definition for QsciLexerBatch. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerBatch : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Keyword, Label, HideCommandChar, ExternalCommand, Variable, Operator }; QsciLexerBatch(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerBatch(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; bool caseSensitive() const; private: QsciLexerBatch(const QsciLexerBatch &); }; ================================================ FILE: src/qscint/Python/sip/qscilexercmake.sip ================================================ // This is the SIP interface definition for QsciLexerCMake. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerCMake : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, String, StringLeftQuote, StringRightQuote, Function, Variable, Label, KeywordSet3, BlockWhile, BlockForeach, BlockIf, BlockMacro, StringVariable, Number }; QsciLexerCMake(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerCMake(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; void refreshProperties(); bool foldAtElse() const; public slots: virtual void setFoldAtElse(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerCMake(const QsciLexerCMake &); }; ================================================ FILE: src/qscint/Python/sip/qscilexercoffeescript.sip ================================================ // This is the SIP interface definition for QsciLexerCoffeeScript. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerCoffeeScript : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, CommentLine, CommentDoc, Number, Keyword, DoubleQuotedString, SingleQuotedString, UUID, PreProcessor, Operator, Identifier, UnclosedString, VerbatimString, Regex, CommentLineDoc, KeywordSet2, CommentDocKeyword, CommentDocKeywordError, GlobalClass, CommentBlock, BlockRegex, BlockRegexComment, InstanceProperty, }; QsciLexerCoffeeScript(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerCoffeeScript(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; QStringList autoCompletionWordSeparators() const; const char *blockEnd(int *style = 0) const /Encoding="None"/; const char *blockStart(int *style = 0) const /Encoding="None"/; const char *blockStartKeyword(int *style = 0) const /Encoding="None"/; int braceStyle() const; void refreshProperties(); bool dollarsAllowed() const; void setDollarsAllowed(bool allowed); bool foldComments() const; void setFoldComments(bool fold); bool foldCompact() const; void setFoldCompact(bool fold); bool stylePreprocessor() const; void setStylePreprocessor(bool style); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerCoffeeScript(const QsciLexerCoffeeScript &); }; ================================================ FILE: src/qscint/Python/sip/qscilexercpp.sip ================================================ // This is the SIP interface definition for QsciLexerCPP. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerCPP : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, InactiveDefault, Comment, InactiveComment, CommentLine, InactiveCommentLine, CommentDoc, InactiveCommentDoc, Number, InactiveNumber, Keyword, InactiveKeyword, DoubleQuotedString, InactiveDoubleQuotedString, SingleQuotedString, InactiveSingleQuotedString, UUID, InactiveUUID, PreProcessor, InactivePreProcessor, Operator, InactiveOperator, Identifier, InactiveIdentifier, UnclosedString, InactiveUnclosedString, VerbatimString, InactiveVerbatimString, Regex, InactiveRegex, CommentLineDoc, InactiveCommentLineDoc, KeywordSet2, InactiveKeywordSet2, CommentDocKeyword, InactiveCommentDocKeyword, CommentDocKeywordError, InactiveCommentDocKeywordError, GlobalClass, InactiveGlobalClass, RawString, InactiveRawString, TripleQuotedVerbatimString, InactiveTripleQuotedVerbatimString, HashQuotedString, InactiveHashQuotedString, PreProcessorComment, InactivePreProcessorComment, PreProcessorCommentLineDoc, InactivePreProcessorCommentLineDoc, UserLiteral, InactiveUserLiteral, TaskMarker, InactiveTaskMarker, EscapeSequence, InactiveEscapeSequence, }; QsciLexerCPP(QObject *parent /TransferThis/ = 0, bool caseInsensitiveKeywords = false); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; QStringList autoCompletionWordSeparators() const; const char *blockEnd(int *style = 0) const /Encoding="None"/; const char *blockStart(int *style = 0) const /Encoding="None"/; const char *blockStartKeyword(int *style = 0) const /Encoding="None"/; int braceStyle() const; void refreshProperties(); bool foldAtElse() const; bool foldComments() const; bool foldCompact() const; bool foldPreprocessor() const; bool stylePreprocessor() const; void setDollarsAllowed(bool allowed); bool dollarsAllowed() const; void setHighlightTripleQuotedStrings(bool enable); bool highlightTripleQuotedStrings() const; void setHighlightHashQuotedStrings(bool enable); bool highlightHashQuotedStrings() const; void setHighlightBackQuotedStrings(bool enabled); bool highlightBackQuotedStrings() const; void setHighlightEscapeSequences(bool enabled); bool highlightEscapeSequences() const; void setVerbatimStringEscapeSequencesAllowed(bool allowed); bool verbatimStringEscapeSequencesAllowed() const; public slots: virtual void setFoldAtElse(bool fold); virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); virtual void setFoldPreprocessor(bool fold); virtual void setStylePreprocessor(bool style); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerCPP(const QsciLexerCPP &); }; ================================================ FILE: src/qscint/Python/sip/qscilexercsharp.sip ================================================ // This is the SIP interface definition for QsciLexerCSharp. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerCSharp : QsciLexerCPP { %TypeHeaderCode #include %End public: QsciLexerCSharp(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerCSharp(); const char *language() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; private: QsciLexerCSharp(const QsciLexerCSharp &); }; ================================================ FILE: src/qscint/Python/sip/qscilexercss.sip ================================================ // This is the SIP interface definition for QsciLexerCSS. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerCSS : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Tag, ClassSelector, PseudoClass, UnknownPseudoClass, Operator, CSS1Property, UnknownProperty, Value, Comment, IDSelector, Important, AtRule, DoubleQuotedString, SingleQuotedString, CSS2Property, Attribute, CSS3Property, PseudoElement, ExtendedCSSProperty, ExtendedPseudoClass, ExtendedPseudoElement, MediaRule, Variable, }; QsciLexerCSS(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerCSS(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; const char *blockEnd(int *style = 0) const /Encoding="None"/; void refreshProperties(); bool foldComments() const; bool foldCompact() const; void setHSSLanguage(bool enable); bool HSSLanguage() const; void setLessLanguage(bool enable); bool LessLanguage() const; void setSCSSLanguage(bool enable); bool SCSSLanguage() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerCSS(const QsciLexerCSS &); }; ================================================ FILE: src/qscint/Python/sip/qscilexercustom.sip ================================================ // This is the SIP interface definition for QsciLexerCustom. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerCustom : QsciLexer { %TypeHeaderCode #include %End public: QsciLexerCustom(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerCustom(); virtual void setEditor(QsciScintilla *editor); virtual int styleBitsNeeded() const; void setStyling(int length, int style); void setStyling(int length, const QsciStyle &style); void startStyling(int pos, int styleBits = 0); virtual void styleText(int start, int end) = 0; private: QsciLexerCustom(const QsciLexerCustom &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerd.sip ================================================ // This is the SIP interface definition for QsciLexerD. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerD : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, CommentLine, CommentDoc, CommentNested, Number, Keyword, KeywordSecondary, KeywordDoc, Typedefs, String, UnclosedString, Character, Operator, Identifier, CommentLineDoc, CommentDocKeyword, CommentDocKeywordError, BackquoteString, RawString, KeywordSet5, KeywordSet6, KeywordSet7, }; QsciLexerD(QObject *parent /TransferThis/ = 0); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; QStringList autoCompletionWordSeparators() const; const char *blockEnd(int *style = 0) const /Encoding="None"/; const char *blockStart(int *style = 0) const /Encoding="None"/; const char *blockStartKeyword(int *style = 0) const /Encoding="None"/; int braceStyle() const; void refreshProperties(); bool foldAtElse() const; bool foldComments() const; bool foldCompact() const; public slots: virtual void setFoldAtElse(bool fold); virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerD(const QsciLexerD &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerdiff.sip ================================================ // This is the SIP interface definition for QsciLexerDiff. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerDiff : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Command, Header, Position, LineRemoved, LineAdded, LineChanged, AddingPatchAdded, RemovingPatchAdded, AddingPatchRemoved, RemovingPatchRemoved, }; QsciLexerDiff(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerDiff(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QString description(int style) const; const char *wordCharacters() const; private: QsciLexerDiff(const QsciLexerDiff &); }; ================================================ FILE: src/qscint/Python/sip/qscilexeredifact.sip ================================================ // This is the SIP interface definition for QsciLexerEDIFACT. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerEDIFACT : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, SegmentStart, SegmentEnd, ElementSeparator, CompositeSeparator, ReleaseSeparator, UNASegmentHeader, UNHSegmentHeader, BadSegment }; QsciLexerEDIFACT(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerEDIFACT(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QString description(int style) const; private: QsciLexerEDIFACT(const QsciLexerEDIFACT &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerfortran.sip ================================================ // This is the SIP interface definition for QsciLexerFortran. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerFortran : QsciLexerFortran77 { %TypeHeaderCode #include %End public: QsciLexerFortran(QObject *parent /TransferThis/ = 0); const char *language() const; const char *lexer() const; const char *keywords(int set) const; private: QsciLexerFortran(const QsciLexerFortran &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerfortran77.sip ================================================ // This is the SIP interface definition for QsciLexerFortran77. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerFortran77 : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Number, SingleQuotedString, DoubleQuotedString, UnclosedString, Operator, Identifier, Keyword, IntrinsicFunction, ExtendedFunction, PreProcessor, DottedOperator, Label, Continuation, }; QsciLexerFortran77(QObject *parent /TransferThis/ = 0); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; int braceStyle() const; void refreshProperties(); bool foldCompact() const; public slots: virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerFortran77(const QsciLexerFortran77 &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerhtml.sip ================================================ // This is the SIP interface definition for QsciLexerHTML. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerHTML : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Tag, UnknownTag, Attribute, UnknownAttribute, HTMLNumber, HTMLDoubleQuotedString, HTMLSingleQuotedString, OtherInTag, HTMLComment, Entity, XMLTagEnd, XMLStart, XMLEnd, Script, ASPAtStart, ASPStart, CDATA, PHPStart, HTMLValue, ASPXCComment, SGMLDefault, SGMLCommand, SGMLParameter, SGMLDoubleQuotedString, SGMLSingleQuotedString, SGMLError, SGMLSpecial, SGMLEntity, SGMLComment, SGMLParameterComment, SGMLBlockDefault, JavaScriptStart, JavaScriptDefault, JavaScriptComment, JavaScriptCommentLine, JavaScriptCommentDoc, JavaScriptNumber, JavaScriptWord, JavaScriptKeyword, JavaScriptDoubleQuotedString, JavaScriptSingleQuotedString, JavaScriptSymbol, JavaScriptUnclosedString, JavaScriptRegex, ASPJavaScriptStart, ASPJavaScriptDefault, ASPJavaScriptComment, ASPJavaScriptCommentLine, ASPJavaScriptCommentDoc, ASPJavaScriptNumber, ASPJavaScriptWord, ASPJavaScriptKeyword, ASPJavaScriptDoubleQuotedString, ASPJavaScriptSingleQuotedString, ASPJavaScriptSymbol, ASPJavaScriptUnclosedString, ASPJavaScriptRegex, VBScriptStart, VBScriptDefault, VBScriptComment, VBScriptNumber, VBScriptKeyword, VBScriptString, VBScriptIdentifier, VBScriptUnclosedString, ASPVBScriptStart, ASPVBScriptDefault, ASPVBScriptComment, ASPVBScriptNumber, ASPVBScriptKeyword, ASPVBScriptString, ASPVBScriptIdentifier, ASPVBScriptUnclosedString, PythonStart, PythonDefault, PythonComment, PythonNumber, PythonDoubleQuotedString, PythonSingleQuotedString, PythonKeyword, PythonTripleSingleQuotedString, PythonTripleDoubleQuotedString, PythonClassName, PythonFunctionMethodName, PythonOperator, PythonIdentifier, ASPPythonStart, ASPPythonDefault, ASPPythonComment, ASPPythonNumber, ASPPythonDoubleQuotedString, ASPPythonSingleQuotedString, ASPPythonKeyword, ASPPythonTripleSingleQuotedString, ASPPythonTripleDoubleQuotedString, ASPPythonClassName, ASPPythonFunctionMethodName, ASPPythonOperator, ASPPythonIdentifier, PHPDefault, PHPDoubleQuotedString, PHPSingleQuotedString, PHPKeyword, PHPNumber, PHPVariable, PHPComment, PHPCommentLine, PHPDoubleQuotedVariable, PHPOperator }; QsciLexerHTML(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerHTML(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; const char *autoCompletionFillups() const /Encoding="None"/; bool caseSensitive() const; void refreshProperties(); bool caseSensitiveTags() const; void setDjangoTemplates(bool enable); bool djangoTemplates() const; bool foldCompact() const; bool foldPreprocessor() const; void setFoldScriptComments(bool fold); bool foldScriptComments() const; void setFoldScriptHeredocs(bool fold); bool foldScriptHeredocs() const; void setMakoTemplates(bool enable); bool makoTemplates() const; public slots: virtual void setFoldCompact(bool fold); virtual void setFoldPreprocessor(bool fold); virtual void setCaseSensitiveTags(bool sens); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerHTML(const QsciLexerHTML &); }; ================================================ FILE: src/qscint/Python/sip/qscilexeridl.sip ================================================ // This is the SIP interface definition for QsciLexerIDL. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerIDL : QsciLexerCPP { %TypeHeaderCode #include %End public: QsciLexerIDL(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerIDL(); const char *language() const; QColor defaultColor(int style) const; const char *keywords(int set) const; QString description(int style) const; private: QsciLexerIDL(const QsciLexerIDL &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerjava.sip ================================================ // This is the SIP interface definition for QsciLexerJava. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerJava : QsciLexerCPP { %TypeHeaderCode #include %End public: QsciLexerJava(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerJava(); const char *language() const; const char *keywords(int set) const; private: QsciLexerJava(const QsciLexerJava &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerjavascript.sip ================================================ // This is the SIP interface definition for QsciLexerJavaScript. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerJavaScript : QsciLexerCPP { %TypeHeaderCode #include %End public: QsciLexerJavaScript(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerJavaScript(); const char *language() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; private: QsciLexerJavaScript(const QsciLexerJavaScript &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerjson.sip ================================================ // This is the SIP interface definition for QsciLexerJSON. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerJSON : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Number, String, UnclosedString, Property, EscapeSequence, CommentLine, CommentBlock, Operator, IRI, IRICompact, Keyword, KeywordLD, Error, }; QsciLexerJSON(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerJSON(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; void refreshProperties(); void setHighlightComments(bool highlight); bool highlightComments() const; void setHighlightEscapeSequences(bool highlight); bool highlightEscapeSequences() const; void setFoldCompact(bool fold); bool foldCompact() const; protected: bool readProperties(QSettings &qs,const QString &prefix); bool writeProperties(QSettings &qs,const QString &prefix) const; private: QsciLexerJSON(const QsciLexerJSON &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerlua.sip ================================================ // This is the SIP interface definition for QsciLexerLua. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerLua : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, LineComment, Number, Keyword, String, Character, LiteralString, Preprocessor, Operator, Identifier, UnclosedString, BasicFunctions, StringTableMathsFunctions, CoroutinesIOSystemFacilities, KeywordSet5, KeywordSet6, KeywordSet7, KeywordSet8, Label, }; QsciLexerLua(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerLua(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; QStringList autoCompletionWordSeparators() const; const char *blockStart(int *style = 0) const /Encoding="None"/; int braceStyle() const; void refreshProperties(); bool foldCompact() const; public slots: virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerLua(const QsciLexerLua &); }; ================================================ FILE: src/qscint/Python/sip/qscilexermakefile.sip ================================================ // This is the SIP interface definition for QsciLexerMakefile. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerMakefile : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Preprocessor, Variable, Operator, Target, Error }; QsciLexerMakefile(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerMakefile(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; QString description(int style) const; const char *wordCharacters() const; private: QsciLexerMakefile(const QsciLexerMakefile &); }; ================================================ FILE: src/qscint/Python/sip/qscilexermarkdown.sip ================================================ // This is the SIP interface definition for QsciLexerMarkdown. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerMarkdown : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Special, StrongEmphasisAsterisks, StrongEmphasisUnderscores, EmphasisAsterisks, EmphasisUnderscores, Header1, Header2, Header3, Header4, Header5, Header6, Prechar, UnorderedListItem, OrderedListItem, BlockQuote, StrikeOut, HorizontalRule, Link, CodeBackticks, CodeDoubleBackticks, CodeBlock, }; QsciLexerMarkdown(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerMarkdown(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; QString description(int style) const; private: QsciLexerMarkdown(const QsciLexerMarkdown &); }; ================================================ FILE: src/qscint/Python/sip/qscilexermatlab.sip ================================================ // This is the SIP interface definition for QsciLexerMatlab. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerMatlab : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Command, Number, Keyword, SingleQuotedString, Operator, Identifier, DoubleQuotedString }; QsciLexerMatlab(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerMatlab(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; const char *keywords(int set) const; QString description(int style) const; private: QsciLexerMatlab(const QsciLexerMatlab &); }; ================================================ FILE: src/qscint/Python/sip/qscilexeroctave.sip ================================================ // This is the SIP interface definition for QsciLexerOctave. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerOctave : QsciLexerMatlab { %TypeHeaderCode #include %End public: QsciLexerOctave(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerOctave(); const char *language() const; const char *lexer() const; const char *keywords(int set) const; private: QsciLexerOctave(const QsciLexerOctave &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerpascal.sip ================================================ // This is the SIP interface definition for QsciLexerPascal. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerPascal : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Identifier, Comment, CommentParenthesis, CommentLine, PreProcessor, PreProcessorParenthesis, Number, HexNumber, Keyword, SingleQuotedString, UnclosedString, Character, Operator, Asm, }; QsciLexerPascal(QObject *parent /TransferThis/ = 0); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; QStringList autoCompletionWordSeparators() const; const char *blockEnd(int *style = 0) const /Encoding="None"/; const char *blockStart(int *style = 0) const /Encoding="None"/; const char *blockStartKeyword(int *style = 0) const /Encoding="None"/; int braceStyle() const; void refreshProperties(); bool foldComments() const; bool foldCompact() const; bool foldPreprocessor() const; void setSmartHighlighting(bool enabled); bool smartHighlighting() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); virtual void setFoldPreprocessor(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerPascal(const QsciLexerPascal &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerperl.sip ================================================ // This is the SIP interface definition for QsciLexerPerl. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerPerl : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Error, Comment, POD, Number, Keyword, DoubleQuotedString, SingleQuotedString, Operator, Identifier, Scalar, Array, Hash, SymbolTable, Regex, Substitution, Backticks, DataSection, HereDocumentDelimiter, SingleQuotedHereDocument, DoubleQuotedHereDocument, BacktickHereDocument, QuotedStringQ, QuotedStringQQ, QuotedStringQX, QuotedStringQR, QuotedStringQW, PODVerbatim, SubroutinePrototype, FormatIdentifier, FormatBody, DoubleQuotedStringVar, Translation, RegexVar, SubstitutionVar, BackticksVar, DoubleQuotedHereDocumentVar, BacktickHereDocumentVar, QuotedStringQQVar, QuotedStringQXVar, QuotedStringQRVar, }; QsciLexerPerl(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerPerl(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; QStringList autoCompletionWordSeparators() const; const char *blockEnd(int *style = 0) const /Encoding="None"/; const char *blockStart(int *style = 0) const /Encoding="None"/; int braceStyle() const; void refreshProperties(); bool foldComments() const; bool foldCompact() const; void setFoldAtElse(bool fold); bool foldAtElse() const; void setFoldPackages(bool fold); bool foldPackages() const; void setFoldPODBlocks(bool fold); bool foldPODBlocks() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerPerl(const QsciLexerPerl &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerpo.sip ================================================ // This is the SIP interface definition for QsciLexerPO. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerPO : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, MessageId, MessageIdText, MessageString, MessageStringText, MessageContext, MessageContextText, Fuzzy, ProgrammerComment, Reference, Flags, MessageIdTextEOL, MessageStringTextEOL, MessageContextTextEOL }; QsciLexerPO(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerPO(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; QString description(int style) const; void refreshProperties(); bool foldComments() const; bool foldCompact() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerPO(const QsciLexerPO &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerpostscript.sip ================================================ // This is the SIP interface definition for QsciLexerPostScript. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerPostScript : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, DSCComment, DSCCommentValue, Number, Name, Keyword, Literal, ImmediateEvalLiteral, ArrayParenthesis, DictionaryParenthesis, ProcedureParenthesis, Text, HexString, Base85String, BadStringCharacter }; QsciLexerPostScript(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerPostScript(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; int braceStyle() const; void refreshProperties(); bool tokenize() const; int level() const; bool foldCompact() const; bool foldAtElse() const; public slots: virtual void setTokenize(bool tokenize); virtual void setLevel(int level); virtual void setFoldCompact(bool fold); virtual void setFoldAtElse(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerPostScript(const QsciLexerPostScript &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerpov.sip ================================================ // This is the SIP interface definition for QsciLexerPOV. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerPOV : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, CommentLine, Number, Operator, Identifier, String, UnclosedString, Directive, BadDirective, ObjectsCSGAppearance, TypesModifiersItems, PredefinedIdentifiers, PredefinedFunctions, KeywordSet6, KeywordSet7, KeywordSet8 }; QsciLexerPOV(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerPOV(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; int braceStyle() const; void refreshProperties(); bool foldComments() const; bool foldCompact() const; bool foldDirectives() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); virtual void setFoldDirectives(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerPOV(const QsciLexerPOV &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerproperties.sip ================================================ // This is the SIP interface definition for QsciLexerProperties. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerProperties : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Section, Assignment, DefaultValue, Key }; QsciLexerProperties(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerProperties(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; QString description(int style) const; const char *wordCharacters() const; void refreshProperties(); bool foldCompact() const; void setInitialSpaces(bool enable); bool initialSpaces() const; public slots: virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerProperties(const QsciLexerProperties &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerpython.sip ================================================ // This is the SIP interface definition for QsciLexerPython. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerPython : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Number, DoubleQuotedString, SingleQuotedString, Keyword, TripleSingleQuotedString, TripleDoubleQuotedString, ClassName, FunctionMethodName, Operator, Identifier, CommentBlock, UnclosedString, HighlightedIdentifier, Decorator, DoubleQuotedFString, SingleQuotedFString, TripleSingleQuotedFString, TripleDoubleQuotedFString, }; enum IndentationWarning { NoWarning, Inconsistent, TabsAfterSpaces, Spaces, Tabs }; QsciLexerPython(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerPython(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; QStringList autoCompletionWordSeparators() const; int blockLookback() const; const char *blockStart(int *style = 0) const /Encoding="None"/; int braceStyle() const; int indentationGuideView() const; void refreshProperties(); bool foldComments() const; void setFoldCompact(bool fold); bool foldCompact() const; bool foldQuotes() const; QsciLexerPython::IndentationWarning indentationWarning() const; void setHighlightSubidentifiers(bool enabled); bool highlightSubidentifiers() const; void setStringsOverNewlineAllowed(bool allowed); bool stringsOverNewlineAllowed() const; void setV2UnicodeAllowed(bool allowed); bool v2UnicodeAllowed() const; void setV3BinaryOctalAllowed(bool allowed); bool v3BinaryOctalAllowed() const; void setV3BytesAllowed(bool allowed); bool v3BytesAllowed() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldQuotes(bool fold); virtual void setIndentationWarning(QsciLexerPython::IndentationWarning warn); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerPython(const QsciLexerPython &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerruby.sip ================================================ // This is the SIP interface definition for QsciLexerRuby. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerRuby : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Error, Comment, POD, Number, Keyword, DoubleQuotedString, SingleQuotedString, ClassName, FunctionMethodName, Operator, Identifier, Regex, Global, Symbol, ModuleName, InstanceVariable, ClassVariable, Backticks, DataSection, HereDocumentDelimiter, HereDocument, PercentStringq, PercentStringQ, PercentStringx, PercentStringr, PercentStringw, DemotedKeyword, Stdin, Stdout, Stderr }; QsciLexerRuby(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerRuby(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int) const; QString description(int style) const; const char *blockEnd(int *style = 0) const /Encoding="None"/; const char *blockStart(int *style = 0) const /Encoding="None"/; const char *blockStartKeyword(int *style = 0) const /Encoding="None"/; int braceStyle() const; void refreshProperties(); void setFoldComments(bool fold); bool foldComments() const; void setFoldCompact(bool fold); bool foldCompact() const; protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerRuby(const QsciLexerRuby &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerspice.sip ================================================ // This is the SIP interface definition for QsciLexerSpice. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerSpice : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Identifier, Command, Function, Parameter, Number, Delimiter, Value, Comment }; QsciLexerSpice(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerSpice(); const char *language() const; const char *lexer() const; const char *keywords(int set) const; QColor defaultColor(int style) const; QFont defaultFont(int style) const; QString description(int style) const; int braceStyle() const; private: QsciLexerSpice(const QsciLexerSpice &); }; ================================================ FILE: src/qscint/Python/sip/qscilexersql.sip ================================================ // This is the SIP interface definition for QsciLexerSQL. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerSQL : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, CommentLine, CommentDoc, Number, Keyword, DoubleQuotedString, SingleQuotedString, PlusKeyword, PlusPrompt, Operator, Identifier, PlusComment, CommentLineHash, CommentDocKeyword, CommentDocKeywordError, KeywordSet5, KeywordSet6, KeywordSet7, KeywordSet8, QuotedIdentifier, QuotedOperator, }; QsciLexerSQL(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerSQL(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; int braceStyle() const; void refreshProperties(); bool backslashEscapes() const; void setDottedWords(bool enable); bool dottedWords() const; void setFoldAtElse(bool fold); bool foldAtElse() const; bool foldComments() const; bool foldCompact() const; void setFoldOnlyBegin(bool fold); bool foldOnlyBegin() const; void setHashComments(bool enable); bool hashComments() const; void setQuotedIdentifiers(bool enable); bool quotedIdentifiers() const; public slots: virtual void setBackslashEscapes(bool enable); virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerSQL(const QsciLexerSQL &); }; ================================================ FILE: src/qscint/Python/sip/qscilexertcl.sip ================================================ // This is the SIP interface definition for QsciLexerTCL. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerTCL : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, CommentLine, Number, QuotedKeyword, QuotedString, Operator, Identifier, Substitution, SubstitutionBrace, Modifier, ExpandKeyword, TCLKeyword, TkKeyword, ITCLKeyword, TkCommand, KeywordSet6, KeywordSet7, KeywordSet8, KeywordSet9, CommentBox, CommentBlock }; QsciLexerTCL(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerTCL(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; int braceStyle() const; void refreshProperties(); void setFoldComments(bool fold); bool foldComments() const; protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerTCL(const QsciLexerTCL &); }; ================================================ FILE: src/qscint/Python/sip/qscilexertex.sip ================================================ // This is the SIP interface definition for QsciLexerTeX. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerTeX : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Special, Group, Symbol, Command, Text }; QsciLexerTeX(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerTeX(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; void refreshProperties(); void setFoldComments(bool fold); bool foldComments() const; void setFoldCompact(bool fold); bool foldCompact() const; void setProcessComments(bool enable); bool processComments() const; void setProcessIf(bool enable); bool processIf() const; protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerTeX(const QsciLexerTeX &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerverilog.sip ================================================ // This is the SIP interface definition for QsciLexerVerilog. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerVerilog : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, InactiveDefault, Comment, InactiveComment, CommentLine, InactiveCommentLine, CommentBang, InactiveCommentBang, Number, InactiveNumber, Keyword, InactiveKeyword, String, InactiveString, KeywordSet2, InactiveKeywordSet2, SystemTask, InactiveSystemTask, Preprocessor, InactivePreprocessor, Operator, InactiveOperator, Identifier, InactiveIdentifier, UnclosedString, InactiveUnclosedString, UserKeywordSet, InactiveUserKeywordSet, CommentKeyword, InactiveCommentKeyword, DeclareInputPort, InactiveDeclareInputPort, DeclareOutputPort, InactiveDeclareOutputPort, DeclareInputOutputPort, InactiveDeclareInputOutputPort, PortConnection, InactivePortConnection, }; QsciLexerVerilog(QObject *parent /TransferThis/ = 0); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; const char *wordCharacters() const; int braceStyle() const; void refreshProperties(); void setFoldAtElse(bool fold); bool foldAtElse() const; void setFoldComments(bool fold); bool foldComments() const; void setFoldCompact(bool fold); bool foldCompact() const; void setFoldPreprocessor(bool fold); bool foldPreprocessor() const; void setFoldAtModule(bool fold); bool foldAtModule() const; protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerVerilog(const QsciLexerVerilog &); }; ================================================ FILE: src/qscint/Python/sip/qscilexervhdl.sip ================================================ // This is the SIP interface definition for QsciLexerVHDL. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerVHDL : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, CommentLine, Number, String, Operator, Identifier, UnclosedString, Keyword, StandardOperator, Attribute, StandardFunction, StandardPackage, StandardType, KeywordSet7, CommentBlock }; QsciLexerVHDL(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerVHDL(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; int braceStyle() const; void refreshProperties(); bool foldComments() const; bool foldCompact() const; bool foldAtElse() const; bool foldAtBegin() const; bool foldAtParenthesis() const; public slots: virtual void setFoldComments(bool fold); virtual void setFoldCompact(bool fold); virtual void setFoldAtElse(bool fold); virtual void setFoldAtBegin(bool fold); virtual void setFoldAtParenthesis(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerVHDL(const QsciLexerVHDL &); }; ================================================ FILE: src/qscint/Python/sip/qscilexerxml.sip ================================================ // This is the SIP interface definition for QsciLexerXML. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerXML : QsciLexerHTML { %TypeHeaderCode #include %End public: QsciLexerXML(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerXML(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; void refreshProperties(); void setScriptsStyled(bool styled); bool scriptsStyled() const; protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerXML(const QsciLexerXML &); }; ================================================ FILE: src/qscint/Python/sip/qscilexeryaml.sip ================================================ // This is the SIP interface definition for QsciLexerYAML. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciLexerYAML : QsciLexer { %TypeHeaderCode #include %End public: enum { Default, Comment, Identifier, Keyword, Number, Reference, DocumentDelimiter, TextBlockMarker, SyntaxErrorMarker, Operator }; QsciLexerYAML(QObject *parent /TransferThis/ = 0); virtual ~QsciLexerYAML(); const char *language() const; const char *lexer() const; QColor defaultColor(int style) const; bool defaultEolFill(int style) const; QFont defaultFont(int style) const; QColor defaultPaper(int style) const; const char *keywords(int set) const; QString description(int style) const; void refreshProperties(); bool foldComments() const; public slots: virtual void setFoldComments(bool fold); protected: bool readProperties(QSettings &qs, const QString &prefix); bool writeProperties(QSettings &qs, const QString &prefix) const; private: QsciLexerYAML(const QsciLexerYAML &); }; ================================================ FILE: src/qscint/Python/sip/qscimacro.sip ================================================ // This is the SIP interface definition for QsciMacro. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciMacro : QObject { %TypeHeaderCode #include %End public: QsciMacro(QsciScintilla *parent /TransferThis/); QsciMacro(const QString &asc, QsciScintilla *parent /TransferThis/); virtual ~QsciMacro(); void clear(); bool load(const QString &asc); QString save() const; public slots: virtual void play(); virtual void startRecording(); virtual void endRecording(); private: QsciMacro(const QsciMacro &); }; ================================================ FILE: src/qscint/Python/sip/qscimod5.sip ================================================ // This is the SIP interface definition for the Qsci module of PyQt5. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. %Module(name=PyQt5.Qsci, keyword_arguments="Optional", use_limited_api=True) %Include qscimodcommon.sip ================================================ FILE: src/qscint/Python/sip/qscimod6.sip ================================================ // This is the SIP interface definition for the Qsci module of PyQt6. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. %Module(name=PyQt6.Qsci, keyword_arguments="Optional", use_limited_api=True) %Include qscimodcommon.sip ================================================ FILE: src/qscint/Python/sip/qscimodcommon.sip ================================================ // This is the SIP interface definition for the parts of the Qsci module common // to PyQt5 and PyQt6. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. %Copying Copyright (c) 2021 Riverbank Computing Limited This file is part of QScintilla. This file may be used under the terms of the GNU General Public License version 3.0 as published by the Free Software Foundation and appearing in the file LICENSE included in the packaging of this file. Please review the following information to ensure the GNU General Public License version 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html. If you do not wish to use this file under the terms of the GPL version 3.0 then you may purchase a commercial license. For more information contact info@riverbankcomputing.com. This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. %End %Import QtCore/QtCoremod.sip %Import QtGui/QtGuimod.sip %Import QtWidgets/QtWidgetsmod.sip %If (PyQt_Printer) %Import QtPrintSupport/QtPrintSupportmod.sip %End const int QSCINTILLA_VERSION; const char *QSCINTILLA_VERSION_STR; %Include qsciscintillabase.sip %Include qsciscintilla.sip %Include qsciabstractapis.sip %Include qsciapis.sip %Include qscicommand.sip %Include qscicommandset.sip %Include qscidocument.sip %Include qscilexer.sip %Include qscilexeravs.sip %Include qscilexerbash.sip %Include qscilexerbatch.sip %Include qscilexercmake.sip %Include qscilexercoffeescript.sip %Include qscilexercpp.sip %Include qscilexercsharp.sip %Include qscilexercss.sip %Include qscilexercustom.sip %Include qscilexerd.sip %Include qscilexerdiff.sip %Include qscilexerfortran.sip %Include qscilexerfortran77.sip %Include qscilexerhtml.sip %Include qscilexeridl.sip %Include qscilexerjava.sip %Include qscilexerjavascript.sip %Include qscilexerjson.sip %Include qscilexerlua.sip %Include qscilexermakefile.sip %Include qscilexermarkdown.sip %Include qscilexermatlab.sip %Include qscilexeroctave.sip %Include qscilexerpascal.sip %Include qscilexerperl.sip %Include qscilexerpostscript.sip %Include qscilexerpo.sip %Include qscilexerpov.sip %Include qscilexerproperties.sip %Include qscilexerpython.sip %Include qscilexerruby.sip %Include qscilexerspice.sip %Include qscilexersql.sip %Include qscilexertcl.sip %Include qscilexertex.sip %Include qscilexerverilog.sip %Include qscilexervhdl.sip %Include qscilexerxml.sip %Include qscilexeryaml.sip %Include qscimacro.sip %Include qsciprinter.sip %Include qscistyle.sip %Include qscistyledtext.sip ================================================ FILE: src/qscint/Python/sip/qsciprinter.sip ================================================ // This is the SIP interface definition for QsciPrinter. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. %If (PyQt_Printer) class QsciPrinter : QPrinter { %TypeHeaderCode #include %End public: QsciPrinter(QPrinter::PrinterMode mode = QPrinter::ScreenResolution); virtual ~QsciPrinter(); virtual void formatPage(QPainter &painter, bool drawing, QRect &area, int pagenr); int magnification() const; virtual void setMagnification(int magnification); virtual int printRange(QsciScintillaBase *qsb, int from = -1, int to = -1); QsciScintilla::WrapMode wrapMode() const; virtual void setWrapMode(QsciScintilla::WrapMode); private: QsciPrinter(const QsciPrinter &); }; %End ================================================ FILE: src/qscint/Python/sip/qsciscintilla.sip ================================================ // This is the SIP interface definition for QsciScintilla. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciScintilla : QsciScintillaBase { %TypeHeaderCode #include %End public: enum { AiMaintain, AiOpening, AiClosing }; enum AnnotationDisplay { AnnotationHidden, AnnotationStandard, AnnotationBoxed, AnnotationIndented, }; enum AutoCompletionSource { AcsNone, AcsAll, AcsDocument, AcsAPIs }; enum AutoCompletionUseSingle { AcusNever, AcusExplicit, AcusAlways }; enum BraceMatch { NoBraceMatch, StrictBraceMatch, SloppyBraceMatch }; enum CallTipsPosition { CallTipsBelowText, CallTipsAboveText, }; enum CallTipsStyle { CallTipsNone, CallTipsNoContext, CallTipsNoAutoCompletionContext, CallTipsContext }; enum EdgeMode { EdgeNone, EdgeLine, EdgeBackground, EdgeMultipleLines, }; enum EolMode { EolWindows, EolUnix, EolMac }; enum FoldStyle { NoFoldStyle, PlainFoldStyle, CircledFoldStyle, BoxedFoldStyle, CircledTreeFoldStyle, BoxedTreeFoldStyle }; enum IndicatorStyle { PlainIndicator, SquiggleIndicator, TTIndicator, DiagonalIndicator, StrikeIndicator, HiddenIndicator, BoxIndicator, RoundBoxIndicator, StraightBoxIndicator, FullBoxIndicator, DashesIndicator, DotsIndicator, SquiggleLowIndicator, DotBoxIndicator, SquigglePixmapIndicator, ThickCompositionIndicator, ThinCompositionIndicator, TextColorIndicator, TriangleIndicator, TriangleCharacterIndicator, GradientIndicator, CentreGradientIndicator, }; enum { MoNone, MoSublineSelect, }; enum MarginType { SymbolMargin, SymbolMarginDefaultForegroundColor, SymbolMarginDefaultBackgroundColor, NumberMargin, TextMargin, TextMarginRightJustified, SymbolMarginColor, }; enum MarkerSymbol { Circle, Rectangle, RightTriangle, SmallRectangle, RightArrow, Invisible, DownTriangle, Minus, Plus, VerticalLine, BottomLeftCorner, LeftSideSplitter, BoxedPlus, BoxedPlusConnected, BoxedMinus, BoxedMinusConnected, RoundedBottomLeftCorner, LeftSideRoundedSplitter, CircledPlus, CircledPlusConnected, CircledMinus, CircledMinusConnected, Background, ThreeDots, ThreeRightArrows, FullRectangle, LeftRectangle, Underline, Bookmark }; enum TabDrawMode { TabLongArrow, TabStrikeOut, }; enum WhitespaceVisibility { WsInvisible, WsVisible, WsVisibleAfterIndent, WsVisibleOnlyInIndent, }; enum WrapMode { WrapNone, WrapWord, WrapCharacter, WrapWhitespace, }; enum WrapVisualFlag { WrapFlagNone, WrapFlagByText, WrapFlagByBorder, WrapFlagInMargin, }; enum WrapIndentMode { WrapIndentFixed, WrapIndentSame, WrapIndentIndented, WrapIndentDeeplyIndented, }; QsciScintilla(QWidget *parent /TransferThis/ = 0); virtual ~QsciScintilla(); virtual QStringList apiContext(int pos, int &context_start, int &last_word_start); void annotate(int line, const QString &text, int style); void annotate(int line, const QString &text, const QsciStyle &style); void annotate(int line, const QsciStyledText &text); void annotate(int line, const QList &text); QString annotation(int line) const; AnnotationDisplay annotationDisplay() const; void clearAnnotations(int line = -1); bool autoCompletionCaseSensitivity() const; bool autoCompletionFillupsEnabled() const; bool autoCompletionReplaceWord() const; bool autoCompletionShowSingle() const; AutoCompletionSource autoCompletionSource() const; int autoCompletionThreshold() const; AutoCompletionUseSingle autoCompletionUseSingle() const; bool autoIndent() const; bool backspaceUnindents() const; void beginUndoAction(); BraceMatch braceMatching() const; QByteArray bytes(int start, int end) const; CallTipsPosition callTipsPosition() const; CallTipsStyle callTipsStyle() const; int callTipsVisible() const; void cancelFind(); void cancelList(); bool caseSensitive() const; void clearRegisteredImages(); QColor color() const; QList contractedFolds() const; void convertEols(EolMode mode); QMenu *createStandardContextMenu() /Factory/; QsciDocument document() const; void endUndoAction(); QColor edgeColor() const; int edgeColumn() const; EdgeMode edgeMode() const; EolMode eolMode() const; bool eolVisibility() const; int extraAscent() const; int extraDescent() const; virtual bool findFirst(const QString &expr, bool re, bool cs, bool wo, bool wrap, bool forward = true, int line = -1, int index = -1, bool show = true, bool posix = false, bool cxx11 = false); virtual bool findFirstInSelection(const QString &expr, bool re, bool cs, bool wo, bool forward = true, bool show = true, bool posix = false, bool cxx11 = false); virtual bool findNext(); bool findMatchingBrace(long &brace, long &other, BraceMatch mode); int firstVisibleLine() const; FoldStyle folding() const; void getCursorPosition(int *line, int *index) const; void getSelection(int *lineFrom, int *indexFrom, int *lineTo, int *indexTo) const; bool hasSelectedText() const; int indentation(int line) const; bool indentationGuides() const; bool indentationsUseTabs() const; int indentationWidth() const; void clearIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber); void fillIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber); int indicatorDefine(IndicatorStyle style, int indicatorNumber = -1); bool indicatorDrawUnder(int indicatorNumber) const; bool isCallTipActive() const; bool isListActive() const; bool isModified() const; bool isReadOnly() const; bool isRedoAvailable() const; bool isUndoAvailable() const; bool isUtf8() const; bool isWordCharacter(char ch) const; int lineAt(const QPoint &pos) const; void lineIndexFromPosition(int position, int *line, int *index) const; int lineLength(int line) const; int lines() const; int length() const; QsciLexer *lexer() const; QColor marginBackgroundColor(int margin) const; bool marginLineNumbers(int margin) const; int marginMarkerMask(int margin) const; int marginOptions() const; bool marginSensitivity(int margin) const; MarginType marginType(int margin) const; int marginWidth(int margin) const; int margins() const; int markerDefine(MarkerSymbol sym, int markerNumber = -1); int markerDefine(char ch, int markerNumber = -1); int markerDefine(const QPixmap &pm, int markerNumber = -1); int markerDefine(const QImage &im, int markerNumber = -1); int markerAdd(int linenr, int markerNumber); unsigned markersAtLine(int linenr) const; void markerDelete(int linenr, int markerNumber = -1); void markerDeleteAll(int markerNumber = -1); void markerDeleteHandle(int mhandle); int markerLine(int mhandle) const; int markerFindNext(int linenr, unsigned mask) const; int markerFindPrevious(int linenr, unsigned mask) const; bool overwriteMode() const; QColor paper() const; int positionFromLineIndex(int line, int index) const; bool read(QIODevice *io) /ReleaseGIL/; virtual void recolor(int start = 0, int end = -1); void registerImage(int id, const QPixmap &pm); void registerImage(int id, const QImage &im); virtual void replace(const QString &replaceStr); void resetFoldMarginColors(); void resetHotspotBackgroundColor(); void resetHotspotForegroundColor(); int scrollWidth() const; void setScrollWidth(int pixelWidth); bool scrollWidthTracking() const; void setScrollWidthTracking(bool enabled); void setFoldMarginColors(const QColor &fore, const QColor &back); void setAnnotationDisplay(AnnotationDisplay display); void setAutoCompletionFillupsEnabled(bool enabled); void setAutoCompletionFillups(const char *fillups); void setAutoCompletionWordSeparators(const QStringList &separators); void setCallTipsBackgroundColor(const QColor &col); void setCallTipsForegroundColor(const QColor &col); void setCallTipsHighlightColor(const QColor &col); void setCallTipsPosition(CallTipsPosition position); void setCallTipsStyle(CallTipsStyle style); void setCallTipsVisible(int nr); void setContractedFolds(const QList &folds); void setDocument(const QsciDocument &document); void addEdgeColumn(int colnr, const QColor &col); void clearEdgeColumns(); void setEdgeColor(const QColor &col); void setEdgeColumn(int colnr); void setEdgeMode(EdgeMode mode); void setFirstVisibleLine(int linenr); void setFont(const QFont &f); void setHotspotBackgroundColor(const QColor &col); void setHotspotForegroundColor(const QColor &col); void setHotspotUnderline(bool enable); void setHotspotWrap(bool enable); void setIndicatorDrawUnder(bool under, int indicatorNumber = -1); void setIndicatorForegroundColor(const QColor &col, int indicatorNumber = -1); void setIndicatorHoverForegroundColor(const QColor &col, int indicatorNumber = -1); void setIndicatorHoverStyle(IndicatorStyle style, int indicatorNumber = -1); void setIndicatorOutlineColor(const QColor &col, int indicatorNumber = -1); void setMarginBackgroundColor(int margin, const QColor &col); void setMarginOptions(int options); void setMarginText(int line, const QString &text, int style); void setMarginText(int line, const QString &text, const QsciStyle &style); void setMarginText(int line, const QsciStyledText &text); void setMarginText(int line, const QList &text); void setMarginType(int margin, MarginType type); void clearMarginText(int line = -1); void setMargins(int margins); void setMarkerBackgroundColor(const QColor &col, int markerNumber = -1); void setMarkerForegroundColor(const QColor &col, int markerNumber = -1); void setMatchedBraceBackgroundColor(const QColor &col); void setMatchedBraceForegroundColor(const QColor &col); void setMatchedBraceIndicator(int indicatorNumber); void resetMatchedBraceIndicator(); void setUnmatchedBraceBackgroundColor(const QColor &col); void setUnmatchedBraceForegroundColor(const QColor &col); void setUnmatchedBraceIndicator(int indicatorNumber); void resetUnmatchedBraceIndicator(); void setWrapVisualFlags(WrapVisualFlag endFlag, WrapVisualFlag startFlag = QsciScintilla::WrapFlagNone, int indent = 0); QString selectedText() const; bool selectionToEol() const; void setSelectionToEol(bool filled); void setExtraAscent(int extra); void setExtraDescent(int extra); void setOverwriteMode(bool overwrite); void setWhitespaceBackgroundColor(const QColor &col); void setWhitespaceForegroundColor(const QColor &col); void setWhitespaceSize(int size); void setWrapIndentMode(WrapIndentMode mode); void showUserList(int id, const QStringList &list); QsciCommandSet *standardCommands() const; void setTabDrawMode(TabDrawMode mode); TabDrawMode tabDrawMode() const; bool tabIndents() const; int tabWidth() const; QString text() const; QString text(int line) const; QString text(int start, int end) const; int textHeight(int linenr) const; int whitespaceSize() const; WhitespaceVisibility whitespaceVisibility() const; QString wordAtLineIndex(int line, int index) const; QString wordAtPoint(const QPoint &point) const; const char *wordCharacters() const; WrapMode wrapMode() const; WrapIndentMode wrapIndentMode() const; bool write(QIODevice *io) const /ReleaseGIL/; public slots: virtual void append(const QString &text); virtual void autoCompleteFromAll(); virtual void autoCompleteFromAPIs(); virtual void autoCompleteFromDocument(); virtual void callTip(); virtual void clear(); virtual void copy(); virtual void cut(); virtual void ensureCursorVisible(); virtual void ensureLineVisible(int line); virtual void foldAll(bool children = false); virtual void foldLine(int line); virtual void indent(int line); virtual void insert(const QString &text); virtual void insertAt(const QString &text, int line, int index); virtual void moveToMatchingBrace(); virtual void paste(); virtual void redo(); virtual void removeSelectedText(); virtual void replaceSelectedText(const QString &text); virtual void resetSelectionBackgroundColor(); virtual void resetSelectionForegroundColor(); virtual void selectAll(bool select = true); virtual void selectToMatchingBrace(); virtual void setAutoCompletionCaseSensitivity(bool cs); virtual void setAutoCompletionReplaceWord(bool replace); virtual void setAutoCompletionShowSingle(bool single); virtual void setAutoCompletionSource(AutoCompletionSource source); virtual void setAutoCompletionThreshold(int thresh); virtual void setAutoCompletionUseSingle(AutoCompletionUseSingle single); virtual void setAutoIndent(bool autoindent); virtual void setBraceMatching(BraceMatch bm); virtual void setBackspaceUnindents(bool unindent); virtual void setCaretForegroundColor(const QColor &col); virtual void setCaretLineBackgroundColor(const QColor &col); virtual void setCaretLineFrameWidth(int width); virtual void setCaretLineVisible(bool enable); virtual void setCaretWidth(int width); virtual void setColor(const QColor &col); virtual void setCursorPosition(int line, int index); virtual void setEolMode(EolMode mode); virtual void setEolVisibility(bool visible); virtual void setFolding(FoldStyle fold, int margin=2); void clearFolds(); virtual void setIndentation(int line, int indentation); virtual void setIndentationGuides(bool enable); virtual void setIndentationGuidesBackgroundColor(const QColor &col); virtual void setIndentationGuidesForegroundColor(const QColor &col); virtual void setIndentationsUseTabs(bool tabs); virtual void setIndentationWidth(int width); virtual void setLexer(QsciLexer *lexer = 0); virtual void setMarginsBackgroundColor(const QColor &col); virtual void setMarginsFont(const QFont &f); virtual void setMarginsForegroundColor(const QColor &col); virtual void setMarginLineNumbers(int margin, bool lnrs); virtual void setMarginMarkerMask(int margin, int mask); virtual void setMarginSensitivity(int margin, bool sens); virtual void setMarginWidth(int margin, int width); virtual void setMarginWidth(int margin, const QString &s); virtual void setModified(bool m); virtual void setPaper(const QColor &c); virtual void setReadOnly(bool ro); virtual void setSelection(int lineFrom, int indexFrom, int lineTo, int indexTo); virtual void setSelectionBackgroundColor(const QColor &col); virtual void setSelectionForegroundColor(const QColor &col); virtual void setTabIndents(bool indent); virtual void setTabWidth(int width); virtual void setText(const QString &text); virtual void setUtf8(bool cp); virtual void setWhitespaceVisibility(WhitespaceVisibility mode); virtual void setWrapMode(WrapMode mode); virtual void undo(); virtual void unindent(int line); virtual void zoomIn(int range); virtual void zoomIn(); virtual void zoomOut(int range); virtual void zoomOut(); virtual void zoomTo(int size); signals: void cursorPositionChanged(int line, int index); void copyAvailable(bool yes); void indicatorClicked(int line, int index, Qt::KeyboardModifiers state); void indicatorReleased(int line, int index, Qt::KeyboardModifiers state); void linesChanged(); void marginClicked(int margin, int line, Qt::KeyboardModifiers state); void marginRightClicked(int margin, int line, Qt::KeyboardModifiers state); void modificationAttempted(); void modificationChanged(bool m); void selectionChanged(); void textChanged(); void userListActivated(int id, const QString &string); protected: virtual bool event(QEvent *event); virtual void changeEvent(QEvent *event); virtual void contextMenuEvent(QContextMenuEvent *event); virtual void wheelEvent(QWheelEvent *event); private: QsciScintilla(const QsciScintilla &); }; ================================================ FILE: src/qscint/Python/sip/qsciscintillabase.sip ================================================ // This is the SIP interface definition for QsciScintillaBase. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciScintillaBase : QAbstractScrollArea { %TypeHeaderCode #include %End public: enum { SCI_START, SCI_OPTIONAL_START, SCI_LEXER_START, SCI_ADDTEXT, SCI_ADDSTYLEDTEXT, SCI_INSERTTEXT, SCI_CLEARALL, SCI_CLEARDOCUMENTSTYLE, SCI_GETLENGTH, SCI_GETCHARAT, SCI_GETCURRENTPOS, SCI_GETANCHOR, SCI_GETSTYLEAT, SCI_REDO, SCI_SETUNDOCOLLECTION, SCI_SELECTALL, SCI_SETSAVEPOINT, SCI_GETSTYLEDTEXT, SCI_CANREDO, SCI_MARKERLINEFROMHANDLE, SCI_MARKERDELETEHANDLE, SCI_GETUNDOCOLLECTION, SCI_GETVIEWWS, SCI_SETVIEWWS, SCI_POSITIONFROMPOINT, SCI_POSITIONFROMPOINTCLOSE, SCI_GOTOLINE, SCI_GOTOPOS, SCI_SETANCHOR, SCI_GETCURLINE, SCI_GETENDSTYLED, SCI_CONVERTEOLS, SCI_GETEOLMODE, SCI_SETEOLMODE, SCI_STARTSTYLING, SCI_SETSTYLING, SCI_GETBUFFEREDDRAW, SCI_SETBUFFEREDDRAW, SCI_SETTABWIDTH, SCI_GETTABWIDTH, SCI_SETCODEPAGE, SCI_MARKERDEFINE, SCI_MARKERSETFORE, SCI_MARKERSETBACK, SCI_MARKERADD, SCI_MARKERDELETE, SCI_MARKERDELETEALL, SCI_MARKERGET, SCI_MARKERNEXT, SCI_MARKERPREVIOUS, SCI_MARKERDEFINEPIXMAP, SCI_SETMARGINTYPEN, SCI_GETMARGINTYPEN, SCI_SETMARGINWIDTHN, SCI_GETMARGINWIDTHN, SCI_SETMARGINMASKN, SCI_GETMARGINMASKN, SCI_SETMARGINSENSITIVEN, SCI_GETMARGINSENSITIVEN, SCI_SETMARGINCURSORN, SCI_GETMARGINCURSORN, SCI_STYLECLEARALL, SCI_STYLESETFORE, SCI_STYLESETBACK, SCI_STYLESETBOLD, SCI_STYLESETITALIC, SCI_STYLESETSIZE, SCI_STYLESETFONT, SCI_STYLESETEOLFILLED, SCI_STYLERESETDEFAULT, SCI_STYLESETUNDERLINE, SCI_STYLESETCASE, SCI_STYLESETCHARACTERSET, SCI_SETSELFORE, SCI_SETSELBACK, SCI_SETCARETFORE, SCI_ASSIGNCMDKEY, SCI_CLEARCMDKEY, SCI_CLEARALLCMDKEYS, SCI_SETSTYLINGEX, SCI_STYLESETVISIBLE, SCI_GETCARETPERIOD, SCI_SETCARETPERIOD, SCI_SETWORDCHARS, SCI_BEGINUNDOACTION, SCI_ENDUNDOACTION, SCI_INDICSETSTYLE, SCI_INDICGETSTYLE, SCI_INDICSETFORE, SCI_INDICGETFORE, SCI_SETWHITESPACEFORE, SCI_SETWHITESPACEBACK, SCI_SETWHITESPACESIZE, SCI_GETWHITESPACESIZE, SCI_SETSTYLEBITS, SCI_GETSTYLEBITS, SCI_SETLINESTATE, SCI_GETLINESTATE, SCI_GETMAXLINESTATE, SCI_GETCARETLINEVISIBLE, SCI_SETCARETLINEVISIBLE, SCI_GETCARETLINEBACK, SCI_SETCARETLINEBACK, SCI_STYLESETCHANGEABLE, SCI_AUTOCSHOW, SCI_AUTOCCANCEL, SCI_AUTOCACTIVE, SCI_AUTOCPOSSTART, SCI_AUTOCCOMPLETE, SCI_AUTOCSTOPS, SCI_AUTOCSETSEPARATOR, SCI_AUTOCGETSEPARATOR, SCI_AUTOCSELECT, SCI_AUTOCSETCANCELATSTART, SCI_AUTOCGETCANCELATSTART, SCI_AUTOCSETFILLUPS, SCI_AUTOCSETCHOOSESINGLE, SCI_AUTOCGETCHOOSESINGLE, SCI_AUTOCSETIGNORECASE, SCI_AUTOCGETIGNORECASE, SCI_USERLISTSHOW, SCI_AUTOCSETAUTOHIDE, SCI_AUTOCGETAUTOHIDE, SCI_AUTOCSETDROPRESTOFWORD, SCI_AUTOCGETDROPRESTOFWORD, SCI_SETINDENT, SCI_GETINDENT, SCI_SETUSETABS, SCI_GETUSETABS, SCI_SETLINEINDENTATION, SCI_GETLINEINDENTATION, SCI_GETLINEINDENTPOSITION, SCI_GETCOLUMN, SCI_SETHSCROLLBAR, SCI_GETHSCROLLBAR, SCI_SETINDENTATIONGUIDES, SCI_GETINDENTATIONGUIDES, SCI_SETHIGHLIGHTGUIDE, SCI_GETHIGHLIGHTGUIDE, SCI_GETLINEENDPOSITION, SCI_GETCODEPAGE, SCI_GETCARETFORE, SCI_GETREADONLY, SCI_SETCURRENTPOS, SCI_SETSELECTIONSTART, SCI_GETSELECTIONSTART, SCI_SETSELECTIONEND, SCI_GETSELECTIONEND, SCI_SETPRINTMAGNIFICATION, SCI_GETPRINTMAGNIFICATION, SCI_SETPRINTCOLOURMODE, SCI_GETPRINTCOLOURMODE, SCI_FINDTEXT, SCI_FORMATRANGE, SCI_GETFIRSTVISIBLELINE, SCI_GETLINE, SCI_GETLINECOUNT, SCI_SETMARGINLEFT, SCI_GETMARGINLEFT, SCI_SETMARGINRIGHT, SCI_GETMARGINRIGHT, SCI_GETMODIFY, SCI_SETSEL, SCI_GETSELTEXT, SCI_GETTEXTRANGE, SCI_HIDESELECTION, SCI_POINTXFROMPOSITION, SCI_POINTYFROMPOSITION, SCI_LINEFROMPOSITION, SCI_POSITIONFROMLINE, SCI_LINESCROLL, SCI_SCROLLCARET, SCI_REPLACESEL, SCI_SETREADONLY, SCI_NULL, SCI_CANPASTE, SCI_CANUNDO, SCI_EMPTYUNDOBUFFER, SCI_UNDO, SCI_CUT, SCI_COPY, SCI_PASTE, SCI_CLEAR, SCI_SETTEXT, SCI_GETTEXT, SCI_GETTEXTLENGTH, SCI_GETDIRECTFUNCTION, SCI_GETDIRECTPOINTER, SCI_SETOVERTYPE, SCI_GETOVERTYPE, SCI_SETCARETWIDTH, SCI_GETCARETWIDTH, SCI_SETTARGETSTART, SCI_GETTARGETSTART, SCI_SETTARGETEND, SCI_GETTARGETEND, SCI_REPLACETARGET, SCI_REPLACETARGETRE, SCI_SEARCHINTARGET, SCI_SETSEARCHFLAGS, SCI_GETSEARCHFLAGS, SCI_CALLTIPSHOW, SCI_CALLTIPCANCEL, SCI_CALLTIPACTIVE, SCI_CALLTIPPOSSTART, SCI_CALLTIPSETHLT, SCI_CALLTIPSETBACK, SCI_CALLTIPSETFORE, SCI_CALLTIPSETFOREHLT, SCI_AUTOCSETMAXWIDTH, SCI_AUTOCGETMAXWIDTH, SCI_AUTOCSETMAXHEIGHT, SCI_AUTOCGETMAXHEIGHT, SCI_CALLTIPUSESTYLE, SCI_VISIBLEFROMDOCLINE, SCI_DOCLINEFROMVISIBLE, SCI_SETFOLDLEVEL, SCI_GETFOLDLEVEL, SCI_GETLASTCHILD, SCI_GETFOLDPARENT, SCI_SHOWLINES, SCI_HIDELINES, SCI_GETLINEVISIBLE, SCI_SETFOLDEXPANDED, SCI_GETFOLDEXPANDED, SCI_TOGGLEFOLD, SCI_ENSUREVISIBLE, SCI_SETFOLDFLAGS, SCI_ENSUREVISIBLEENFORCEPOLICY, SCI_WRAPCOUNT, SCI_SETTABINDENTS, SCI_GETTABINDENTS, SCI_SETBACKSPACEUNINDENTS, SCI_GETBACKSPACEUNINDENTS, SCI_SETMOUSEDWELLTIME, SCI_GETMOUSEDWELLTIME, SCI_WORDSTARTPOSITION, SCI_WORDENDPOSITION, SCI_SETWRAPMODE, SCI_GETWRAPMODE, SCI_SETLAYOUTCACHE, SCI_GETLAYOUTCACHE, SCI_SETSCROLLWIDTH, SCI_GETSCROLLWIDTH, SCI_TEXTWIDTH, SCI_SETENDATLASTLINE, SCI_GETENDATLASTLINE, SCI_TEXTHEIGHT, SCI_SETVSCROLLBAR, SCI_GETVSCROLLBAR, SCI_APPENDTEXT, SCI_GETTWOPHASEDRAW, SCI_SETTWOPHASEDRAW, SCI_AUTOCGETTYPESEPARATOR, SCI_AUTOCSETTYPESEPARATOR, SCI_TARGETFROMSELECTION, SCI_LINESJOIN, SCI_LINESSPLIT, SCI_SETFOLDMARGINCOLOUR, SCI_SETFOLDMARGINHICOLOUR, SCI_MARKERSETBACKSELECTED, SCI_MARKERENABLEHIGHLIGHT, SCI_LINEDOWN, SCI_LINEDOWNEXTEND, SCI_LINEUP, SCI_LINEUPEXTEND, SCI_CHARLEFT, SCI_CHARLEFTEXTEND, SCI_CHARRIGHT, SCI_CHARRIGHTEXTEND, SCI_WORDLEFT, SCI_WORDLEFTEXTEND, SCI_WORDRIGHT, SCI_WORDRIGHTEXTEND, SCI_HOME, SCI_HOMEEXTEND, SCI_LINEEND, SCI_LINEENDEXTEND, SCI_DOCUMENTSTART, SCI_DOCUMENTSTARTEXTEND, SCI_DOCUMENTEND, SCI_DOCUMENTENDEXTEND, SCI_PAGEUP, SCI_PAGEUPEXTEND, SCI_PAGEDOWN, SCI_PAGEDOWNEXTEND, SCI_EDITTOGGLEOVERTYPE, SCI_CANCEL, SCI_DELETEBACK, SCI_TAB, SCI_BACKTAB, SCI_NEWLINE, SCI_FORMFEED, SCI_VCHOME, SCI_VCHOMEEXTEND, SCI_ZOOMIN, SCI_ZOOMOUT, SCI_DELWORDLEFT, SCI_DELWORDRIGHT, SCI_LINECUT, SCI_LINEDELETE, SCI_LINETRANSPOSE, SCI_LOWERCASE, SCI_UPPERCASE, SCI_LINESCROLLDOWN, SCI_LINESCROLLUP, SCI_DELETEBACKNOTLINE, SCI_HOMEDISPLAY, SCI_HOMEDISPLAYEXTEND, SCI_LINEENDDISPLAY, SCI_LINEENDDISPLAYEXTEND, SCI_MOVECARETINSIDEVIEW, SCI_LINELENGTH, SCI_BRACEHIGHLIGHT, SCI_BRACEBADLIGHT, SCI_BRACEMATCH, SCI_GETVIEWEOL, SCI_SETVIEWEOL, SCI_GETDOCPOINTER, SCI_SETDOCPOINTER, SCI_SETMODEVENTMASK, SCI_GETEDGECOLUMN, SCI_SETEDGECOLUMN, SCI_GETEDGEMODE, SCI_SETEDGEMODE, SCI_GETEDGECOLOUR, SCI_SETEDGECOLOUR, SCI_SEARCHANCHOR, SCI_SEARCHNEXT, SCI_SEARCHPREV, SCI_LINESONSCREEN, SCI_USEPOPUP, SCI_SELECTIONISRECTANGLE, SCI_SETZOOM, SCI_GETZOOM, SCI_CREATEDOCUMENT, SCI_ADDREFDOCUMENT, SCI_RELEASEDOCUMENT, SCI_GETMODEVENTMASK, SCI_SETFOCUS, SCI_GETFOCUS, SCI_SETSTATUS, SCI_GETSTATUS, SCI_SETMOUSEDOWNCAPTURES, SCI_GETMOUSEDOWNCAPTURES, SCI_SETCURSOR, SCI_GETCURSOR, SCI_SETCONTROLCHARSYMBOL, SCI_GETCONTROLCHARSYMBOL, SCI_WORDPARTLEFT, SCI_WORDPARTLEFTEXTEND, SCI_WORDPARTRIGHT, SCI_WORDPARTRIGHTEXTEND, SCI_SETVISIBLEPOLICY, SCI_DELLINELEFT, SCI_DELLINERIGHT, SCI_SETXOFFSET, SCI_GETXOFFSET, SCI_CHOOSECARETX, SCI_GRABFOCUS, SCI_SETXCARETPOLICY, SCI_SETYCARETPOLICY, SCI_LINEDUPLICATE, SCI_REGISTERIMAGE, SCI_SETPRINTWRAPMODE, SCI_GETPRINTWRAPMODE, SCI_CLEARREGISTEREDIMAGES, SCI_STYLESETHOTSPOT, SCI_SETHOTSPOTACTIVEFORE, SCI_SETHOTSPOTACTIVEBACK, SCI_SETHOTSPOTACTIVEUNDERLINE, SCI_SETHOTSPOTSINGLELINE, SCI_PARADOWN, SCI_PARADOWNEXTEND, SCI_PARAUP, SCI_PARAUPEXTEND, SCI_POSITIONBEFORE, SCI_POSITIONAFTER, SCI_COPYRANGE, SCI_COPYTEXT, SCI_SETSELECTIONMODE, SCI_GETSELECTIONMODE, SCI_GETLINESELSTARTPOSITION, SCI_GETLINESELENDPOSITION, SCI_LINEDOWNRECTEXTEND, SCI_LINEUPRECTEXTEND, SCI_CHARLEFTRECTEXTEND, SCI_CHARRIGHTRECTEXTEND, SCI_HOMERECTEXTEND, SCI_VCHOMERECTEXTEND, SCI_LINEENDRECTEXTEND, SCI_PAGEUPRECTEXTEND, SCI_PAGEDOWNRECTEXTEND, SCI_STUTTEREDPAGEUP, SCI_STUTTEREDPAGEUPEXTEND, SCI_STUTTEREDPAGEDOWN, SCI_STUTTEREDPAGEDOWNEXTEND, SCI_WORDLEFTEND, SCI_WORDLEFTENDEXTEND, SCI_WORDRIGHTEND, SCI_WORDRIGHTENDEXTEND, SCI_SETWHITESPACECHARS, SCI_SETCHARSDEFAULT, SCI_AUTOCGETCURRENT, SCI_ALLOCATE, SCI_HOMEWRAP, SCI_HOMEWRAPEXTEND, SCI_LINEENDWRAP, SCI_LINEENDWRAPEXTEND, SCI_VCHOMEWRAP, SCI_VCHOMEWRAPEXTEND, SCI_LINECOPY, SCI_FINDCOLUMN, SCI_GETCARETSTICKY, SCI_SETCARETSTICKY, SCI_TOGGLECARETSTICKY, SCI_SETWRAPVISUALFLAGS, SCI_GETWRAPVISUALFLAGS, SCI_SETWRAPVISUALFLAGSLOCATION, SCI_GETWRAPVISUALFLAGSLOCATION, SCI_SETWRAPSTARTINDENT, SCI_GETWRAPSTARTINDENT, SCI_MARKERADDSET, SCI_SETPASTECONVERTENDINGS, SCI_GETPASTECONVERTENDINGS, SCI_SELECTIONDUPLICATE, SCI_SETCARETLINEBACKALPHA, SCI_GETCARETLINEBACKALPHA, SCI_SETWRAPINDENTMODE, SCI_GETWRAPINDENTMODE, SCI_MARKERSETALPHA, SCI_GETSELALPHA, SCI_SETSELALPHA, SCI_GETSELEOLFILLED, SCI_SETSELEOLFILLED, SCI_STYLEGETFORE, SCI_STYLEGETBACK, SCI_STYLEGETBOLD, SCI_STYLEGETITALIC, SCI_STYLEGETSIZE, SCI_STYLEGETFONT, SCI_STYLEGETEOLFILLED, SCI_STYLEGETUNDERLINE, SCI_STYLEGETCASE, SCI_STYLEGETCHARACTERSET, SCI_STYLEGETVISIBLE, SCI_STYLEGETCHANGEABLE, SCI_STYLEGETHOTSPOT, SCI_GETHOTSPOTACTIVEFORE, SCI_GETHOTSPOTACTIVEBACK, SCI_GETHOTSPOTACTIVEUNDERLINE, SCI_GETHOTSPOTSINGLELINE, SCI_BRACEHIGHLIGHTINDICATOR, SCI_BRACEBADLIGHTINDICATOR, SCI_SETINDICATORCURRENT, SCI_GETINDICATORCURRENT, SCI_SETINDICATORVALUE, SCI_GETINDICATORVALUE, SCI_INDICATORFILLRANGE, SCI_INDICATORCLEARRANGE, SCI_INDICATORALLONFOR, SCI_INDICATORVALUEAT, SCI_INDICATORSTART, SCI_INDICATOREND, SCI_INDICSETUNDER, SCI_INDICGETUNDER, SCI_SETCARETSTYLE, SCI_GETCARETSTYLE, SCI_SETPOSITIONCACHE, SCI_GETPOSITIONCACHE, SCI_SETSCROLLWIDTHTRACKING, SCI_GETSCROLLWIDTHTRACKING, SCI_DELWORDRIGHTEND, SCI_COPYALLOWLINE, SCI_GETCHARACTERPOINTER, SCI_INDICSETALPHA, SCI_INDICGETALPHA, SCI_SETEXTRAASCENT, SCI_GETEXTRAASCENT, SCI_SETEXTRADESCENT, SCI_GETEXTRADESCENT, SCI_MARKERSYMBOLDEFINED, SCI_MARGINSETTEXT, SCI_MARGINGETTEXT, SCI_MARGINSETSTYLE, SCI_MARGINGETSTYLE, SCI_MARGINSETSTYLES, SCI_MARGINGETSTYLES, SCI_MARGINTEXTCLEARALL, SCI_MARGINSETSTYLEOFFSET, SCI_MARGINGETSTYLEOFFSET, SCI_SETMARGINOPTIONS, SCI_ANNOTATIONSETTEXT, SCI_ANNOTATIONGETTEXT, SCI_ANNOTATIONSETSTYLE, SCI_ANNOTATIONGETSTYLE, SCI_ANNOTATIONSETSTYLES, SCI_ANNOTATIONGETSTYLES, SCI_ANNOTATIONGETLINES, SCI_ANNOTATIONCLEARALL, SCI_ANNOTATIONSETVISIBLE, SCI_ANNOTATIONGETVISIBLE, SCI_ANNOTATIONSETSTYLEOFFSET, SCI_ANNOTATIONGETSTYLEOFFSET, SCI_SETEMPTYSELECTION, SCI_GETMARGINOPTIONS, SCI_INDICSETOUTLINEALPHA, SCI_INDICGETOUTLINEALPHA, SCI_ADDUNDOACTION, SCI_CHARPOSITIONFROMPOINT, SCI_CHARPOSITIONFROMPOINTCLOSE, SCI_SETMULTIPLESELECTION, SCI_GETMULTIPLESELECTION, SCI_SETADDITIONALSELECTIONTYPING, SCI_GETADDITIONALSELECTIONTYPING, SCI_SETADDITIONALCARETSBLINK, SCI_GETADDITIONALCARETSBLINK, SCI_SCROLLRANGE, SCI_GETSELECTIONS, SCI_CLEARSELECTIONS, SCI_SETSELECTION, SCI_ADDSELECTION, SCI_SETMAINSELECTION, SCI_GETMAINSELECTION, SCI_SETSELECTIONNCARET, SCI_GETSELECTIONNCARET, SCI_SETSELECTIONNANCHOR, SCI_GETSELECTIONNANCHOR, SCI_SETSELECTIONNCARETVIRTUALSPACE, SCI_GETSELECTIONNCARETVIRTUALSPACE, SCI_SETSELECTIONNANCHORVIRTUALSPACE, SCI_GETSELECTIONNANCHORVIRTUALSPACE, SCI_SETSELECTIONNSTART, SCI_GETSELECTIONNSTART, SCI_SETSELECTIONNEND, SCI_GETSELECTIONNEND, SCI_SETRECTANGULARSELECTIONCARET, SCI_GETRECTANGULARSELECTIONCARET, SCI_SETRECTANGULARSELECTIONANCHOR, SCI_GETRECTANGULARSELECTIONANCHOR, SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE, SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE, SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE, SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE, SCI_SETVIRTUALSPACEOPTIONS, SCI_GETVIRTUALSPACEOPTIONS, SCI_SETRECTANGULARSELECTIONMODIFIER, SCI_GETRECTANGULARSELECTIONMODIFIER, SCI_SETADDITIONALSELFORE, SCI_SETADDITIONALSELBACK, SCI_SETADDITIONALSELALPHA, SCI_GETADDITIONALSELALPHA, SCI_SETADDITIONALCARETFORE, SCI_GETADDITIONALCARETFORE, SCI_ROTATESELECTION, SCI_SWAPMAINANCHORCARET, SCI_SETADDITIONALCARETSVISIBLE, SCI_GETADDITIONALCARETSVISIBLE, SCI_AUTOCGETCURRENTTEXT, SCI_SETFONTQUALITY, SCI_GETFONTQUALITY, SCI_SETFIRSTVISIBLELINE, SCI_SETMULTIPASTE, SCI_GETMULTIPASTE, SCI_GETTAG, SCI_CHANGELEXERSTATE, SCI_CONTRACTEDFOLDNEXT, SCI_VERTICALCENTRECARET, SCI_MOVESELECTEDLINESUP, SCI_MOVESELECTEDLINESDOWN, SCI_SETIDENTIFIER, SCI_GETIDENTIFIER, SCI_RGBAIMAGESETWIDTH, SCI_RGBAIMAGESETHEIGHT, SCI_MARKERDEFINERGBAIMAGE, SCI_REGISTERRGBAIMAGE, SCI_SCROLLTOSTART, SCI_SCROLLTOEND, SCI_STARTRECORD, SCI_STOPRECORD, SCI_SETLEXER, SCI_GETLEXER, SCI_COLOURISE, SCI_SETPROPERTY, SCI_SETKEYWORDS, SCI_SETLEXERLANGUAGE, SCI_LOADLEXERLIBRARY, SCI_GETPROPERTY, SCI_GETPROPERTYEXPANDED, SCI_GETPROPERTYINT, SCI_GETSTYLEBITSNEEDED, SCI_GETLEXERLANGUAGE, SCI_PRIVATELEXERCALL, SCI_PROPERTYNAMES, SCI_PROPERTYTYPE, SCI_DESCRIBEPROPERTY, SCI_DESCRIBEKEYWORDSETS, SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR, SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR, SCI_AUTOCSETMULTI, SCI_AUTOCGETMULTI, SCI_CALLTIPSETPOSITION, SCI_CALLTIPSETPOSSTART, SCI_COUNTCHARACTERS, SCI_CREATELOADER, SCI_DELETERANGE, SCI_FINDINDICATORFLASH, SCI_FINDINDICATORHIDE, SCI_FINDINDICATORSHOW, SCI_GETALLLINESVISIBLE, SCI_GETGAPPOSITION, SCI_GETPUNCTUATIONCHARS, SCI_GETRANGEPOINTER, SCI_GETSELECTIONEMPTY, SCI_GETTECHNOLOGY, SCI_GETWHITESPACECHARS, SCI_GETWORDCHARS, SCI_RGBAIMAGESETSCALE, SCI_SETPUNCTUATIONCHARS, SCI_SETTECHNOLOGY, SCI_STYLESETSIZEFRACTIONAL, SCI_STYLEGETSIZEFRACTIONAL, SCI_STYLESETWEIGHT, SCI_STYLEGETWEIGHT, SCI_FOLDLINE, SCI_FOLDCHILDREN, SCI_EXPANDCHILDREN, SCI_FOLDALL, SCI_SETAUTOMATICFOLD, SCI_GETAUTOMATICFOLD, SCI_AUTOCSETORDER, SCI_AUTOCGETORDER, SCI_POSITIONRELATIVE, SCI_DROPSELECTIONN, SCI_CHANGEINSERTION, SCI_GETPHASESDRAW, SCI_SETPHASESDRAW, SCI_CLEARTABSTOPS, SCI_ADDTABSTOP, SCI_GETNEXTTABSTOP, SCI_GETIMEINTERACTION, SCI_SETIMEINTERACTION, SCI_INDICSETHOVERSTYLE, SCI_INDICGETHOVERSTYLE, SCI_INDICSETHOVERFORE, SCI_INDICGETHOVERFORE, SCI_INDICSETFLAGS, SCI_INDICGETFLAGS, SCI_SETTARGETRANGE, SCI_GETTARGETTEXT, SCI_RELEASEALLEXTENDEDSTYLES, SCI_ALLOCATEEXTENDEDSTYLES, SCI_SETMOUSESELECTIONRECTANGULARSWITCH, SCI_GETMOUSESELECTIONRECTANGULARSWITCH, SCI_GETCARETLINEVISIBLEALWAYS, SCI_SETCARETLINEVISIBLEALWAYS, SCI_SETLINEENDTYPESALLOWED, SCI_GETLINEENDTYPESALLOWED, SCI_GETLINEENDTYPESACTIVE, SCI_SETREPRESENTATION, SCI_GETREPRESENTATION, SCI_CLEARREPRESENTATION, SCI_GETLINEENDTYPESSUPPORTED, SCI_ALLOCATESUBSTYLES, SCI_GETSUBSTYLESSTART, SCI_GETSUBSTYLESLENGTH, SCI_GETSTYLEFROMSUBSTYLE, SCI_GETPRIMARYSTYLEFROMSTYLE, SCI_FREESUBSTYLES, SCI_SETIDENTIFIERS, SCI_DISTANCETOSECONDARYSTYLES, SCI_GETSUBSTYLEBASES, SCI_GETLINECHARACTERINDEX, SCI_ALLOCATELINECHARACTERINDEX, SCI_RELEASELINECHARACTERINDEX, SCI_LINEFROMINDEXPOSITION, SCI_INDEXPOSITIONFROMLINE, SCI_COUNTCODEUNITS, SCI_POSITIONRELATIVECODEUNITS, SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE, SCI_TAGSOFSTYLE, SCI_DESCRIPTIONOFSTYLE, SCI_GETMOVEEXTENDSSELECTION, SCI_SETCOMMANDEVENTS, SCI_GETCOMMANDEVENTS, SCI_GETDOCUMENTOPTIONS, SCI_SETIDLESTYLING, SCI_GETIDLESTYLING, SCI_SETMARGINBACKN, SCI_GETMARGINBACKN, SCI_SETMARGINS, SCI_GETMARGINS, SCI_SETMOUSEWHEELCAPTURES, SCI_GETMOUSEWHEELCAPTURES, SCI_GETTABDRAWMODE, SCI_SETTABDRAWMODE, SCI_ISRANGEWORD, SCI_TARGETWHOLEDOCUMENT, SCI_FOLDDISPLAYTEXTSETSTYLE, SCI_TOGGLEFOLDSHOWTEXT, SCI_MULTIEDGEADDLINE, SCI_MULTIEDGECLEARALL, SCI_MULTIPLESELECTADDNEXT, SCI_MULTIPLESELECTADDEACH, SCI_SETACCESSIBILITY, SCI_GETACCESSIBILITY, SCI_SETCARETLINEFRAME, SCI_GETCARETLINEFRAME, SCI_LINEREVERSE, }; enum { SC_AC_FILLUP, SC_AC_DOUBLECLICK, SC_AC_TAB, SC_AC_NEWLINE, SC_AC_COMMAND, }; enum { SC_ALPHA_TRANSPARENT, SC_ALPHA_OPAQUE, SC_ALPHA_NOALPHA, }; enum { SC_CARETSTICKY_OFF, SC_CARETSTICKY_ON, SC_CARETSTICKY_WHITESPACE, }; enum { SC_DOCUMENTOPTION_DEFAULT, SC_DOCUMENTOPTION_STYLES_NONE, SC_DOCUMENTOPTION_TEXT_LARGE, }; enum { SC_EFF_QUALITY_MASK, SC_EFF_QUALITY_DEFAULT, SC_EFF_QUALITY_NON_ANTIALIASED, SC_EFF_QUALITY_ANTIALIASED, SC_EFF_QUALITY_LCD_OPTIMIZED, }; enum { SC_IDLESTYLING_NONE, SC_IDLESTYLING_TOVISIBLE, SC_IDLESTYLING_AFTERVISIBLE, SC_IDLESTYLING_ALL, }; enum { SC_IME_WINDOWED, SC_IME_INLINE, }; enum { SC_LINECHARACTERINDEX_NONE, SC_LINECHARACTERINDEX_UTF32, SC_LINECHARACTERINDEX_UTF16, }; enum { SC_MARGINOPTION_NONE, SC_MARGINOPTION_SUBLINESELECT, }; enum { SC_MULTIAUTOC_ONCE, SC_MULTIAUTOC_EACH, }; enum { SC_MULTIPASTE_ONCE, SC_MULTIPASTE_EACH, }; enum { SC_POPUP_NEVER, SC_POPUP_ALL, SC_POPUP_TEXT, }; enum { SC_SEL_STREAM, SC_SEL_RECTANGLE, SC_SEL_LINES, SC_SEL_THIN, }; enum { SC_STATUS_OK, SC_STATUS_FAILURE, SC_STATUS_BADALLOC, SC_STATUS_WARN_START, SC_STATUS_WARNREGEX, }; enum { SC_TYPE_BOOLEAN, SC_TYPE_INTEGER, SC_TYPE_STRING, }; enum { SC_UPDATE_CONTENT, SC_UPDATE_SELECTION, SC_UPDATE_V_SCROLL, SC_UPDATE_H_SCROLL, }; enum { SC_WRAPVISUALFLAG_NONE, SC_WRAPVISUALFLAG_END, SC_WRAPVISUALFLAG_START, SC_WRAPVISUALFLAG_MARGIN, }; enum { SC_WRAPVISUALFLAGLOC_DEFAULT, SC_WRAPVISUALFLAGLOC_END_BY_TEXT, SC_WRAPVISUALFLAGLOC_START_BY_TEXT }; enum { SCTD_LONGARROW, SCTD_STRIKEOUT, }; enum { SCVS_NONE, SCVS_RECTANGULARSELECTION, SCVS_USERACCESSIBLE, SCVS_NOWRAPLINESTART, }; enum { SCWS_INVISIBLE, SCWS_VISIBLEALWAYS, SCWS_VISIBLEAFTERINDENT, SCWS_VISIBLEONLYININDENT, }; enum { SC_EOL_CRLF, SC_EOL_CR, SC_EOL_LF }; enum { SC_CP_DBCS, SC_CP_UTF8 }; enum { SC_MARK_CIRCLE, SC_MARK_ROUNDRECT, SC_MARK_ARROW, SC_MARK_SMALLRECT, SC_MARK_SHORTARROW, SC_MARK_EMPTY, SC_MARK_ARROWDOWN, SC_MARK_MINUS, SC_MARK_PLUS, SC_MARK_VLINE, SC_MARK_LCORNER, SC_MARK_TCORNER, SC_MARK_BOXPLUS, SC_MARK_BOXPLUSCONNECTED, SC_MARK_BOXMINUS, SC_MARK_BOXMINUSCONNECTED, SC_MARK_LCORNERCURVE, SC_MARK_TCORNERCURVE, SC_MARK_CIRCLEPLUS, SC_MARK_CIRCLEPLUSCONNECTED, SC_MARK_CIRCLEMINUS, SC_MARK_CIRCLEMINUSCONNECTED, SC_MARK_BACKGROUND, SC_MARK_DOTDOTDOT, SC_MARK_ARROWS, SC_MARK_PIXMAP, SC_MARK_FULLRECT, SC_MARK_LEFTRECT, SC_MARK_AVAILABLE, SC_MARK_UNDERLINE, SC_MARK_RGBAIMAGE, SC_MARK_BOOKMARK, SC_MARK_CHARACTER }; enum { SC_MARKNUM_FOLDEREND, SC_MARKNUM_FOLDEROPENMID, SC_MARKNUM_FOLDERMIDTAIL, SC_MARKNUM_FOLDERTAIL, SC_MARKNUM_FOLDERSUB, SC_MARKNUM_FOLDER, SC_MARKNUM_FOLDEROPEN, SC_MASK_FOLDERS }; enum { SC_MARGIN_SYMBOL, SC_MARGIN_NUMBER, SC_MARGIN_BACK, SC_MARGIN_FORE, SC_MARGIN_TEXT, SC_MARGIN_RTEXT, SC_MARGIN_COLOUR, }; enum { STYLE_DEFAULT, STYLE_LINENUMBER, STYLE_BRACELIGHT, STYLE_BRACEBAD, STYLE_CONTROLCHAR, STYLE_INDENTGUIDE, STYLE_CALLTIP, STYLE_FOLDDISPLAYTEXT, STYLE_LASTPREDEFINED, STYLE_MAX }; enum { SC_CHARSET_ANSI, SC_CHARSET_DEFAULT, SC_CHARSET_BALTIC, SC_CHARSET_CHINESEBIG5, SC_CHARSET_EASTEUROPE, SC_CHARSET_GB2312, SC_CHARSET_GREEK, SC_CHARSET_HANGUL, SC_CHARSET_MAC, SC_CHARSET_OEM, SC_CHARSET_RUSSIAN, SC_CHARSET_OEM866, SC_CHARSET_CYRILLIC, SC_CHARSET_SHIFTJIS, SC_CHARSET_SYMBOL, SC_CHARSET_TURKISH, SC_CHARSET_JOHAB, SC_CHARSET_HEBREW, SC_CHARSET_ARABIC, SC_CHARSET_VIETNAMESE, SC_CHARSET_THAI, SC_CHARSET_8859_15, }; enum { SC_CASE_MIXED, SC_CASE_UPPER, SC_CASE_LOWER, SC_CASE_CAMEL, }; enum { SC_IV_NONE, SC_IV_REAL, SC_IV_LOOKFORWARD, SC_IV_LOOKBOTH }; enum { INDIC_PLAIN, INDIC_SQUIGGLE, INDIC_TT, INDIC_DIAGONAL, INDIC_STRIKE, INDIC_HIDDEN, INDIC_BOX, INDIC_ROUNDBOX, INDIC_STRAIGHTBOX, INDIC_DASH, INDIC_DOTS, INDIC_SQUIGGLELOW, INDIC_DOTBOX, INDIC_SQUIGGLEPIXMAP, INDIC_COMPOSITIONTHICK, INDIC_COMPOSITIONTHIN, INDIC_FULLBOX, INDIC_TEXTFORE, INDIC_POINT, INDIC_POINTCHARACTER, INDIC_GRADIENT, INDIC_GRADIENTCENTRE, INDIC_IME, INDIC_IME_MAX, INDIC_CONTAINER, INDIC_MAX, INDIC0_MASK, INDIC1_MASK, INDIC2_MASK, INDICS_MASK, SC_INDICVALUEBIT, SC_INDICVALUEMASK, SC_INDICFLAG_VALUEBEFORE, }; enum { SC_PRINT_NORMAL, SC_PRINT_INVERTLIGHT, SC_PRINT_BLACKONWHITE, SC_PRINT_COLOURONWHITE, SC_PRINT_COLOURONWHITEDEFAULTBG, SC_PRINT_SCREENCOLOURS, }; enum { SCFIND_WHOLEWORD, SCFIND_MATCHCASE, SCFIND_WORDSTART, SCFIND_REGEXP, SCFIND_POSIX, SCFIND_CXX11REGEX, }; enum { SC_FOLDDISPLAYTEXT_HIDDEN, SC_FOLDDISPLAYTEXT_STANDARD, SC_FOLDDISPLAYTEXT_BOXED, }; enum { SC_FOLDLEVELBASE, SC_FOLDLEVELWHITEFLAG, SC_FOLDLEVELHEADERFLAG, SC_FOLDLEVELNUMBERMASK }; enum { SC_FOLDFLAG_LINEBEFORE_EXPANDED, SC_FOLDFLAG_LINEBEFORE_CONTRACTED, SC_FOLDFLAG_LINEAFTER_EXPANDED, SC_FOLDFLAG_LINEAFTER_CONTRACTED, SC_FOLDFLAG_LEVELNUMBERS, SC_FOLDFLAG_LINESTATE, }; enum { SC_LINE_END_TYPE_DEFAULT, SC_LINE_END_TYPE_UNICODE, }; enum { SC_TIME_FOREVER }; enum { SC_WRAP_NONE, SC_WRAP_WORD, SC_WRAP_CHAR, SC_WRAP_WHITESPACE, }; enum { SC_WRAPINDENT_FIXED, SC_WRAPINDENT_SAME, SC_WRAPINDENT_INDENT, SC_WRAPINDENT_DEEPINDENT, }; enum { SC_CACHE_NONE, SC_CACHE_CARET, SC_CACHE_PAGE, SC_CACHE_DOCUMENT }; enum { SC_PHASES_ONE = 0, SC_PHASES_TWO = 1, SC_PHASES_MULTIPLE = 2, }; enum { ANNOTATION_HIDDEN, ANNOTATION_STANDARD, ANNOTATION_BOXED, ANNOTATION_INDENTED, }; enum { EDGE_NONE, EDGE_LINE, EDGE_BACKGROUND, EDGE_MULTILINE, }; enum { SC_CURSORNORMAL, SC_CURSORARROW, SC_CURSORWAIT, SC_CURSORREVERSEARROW }; enum { UNDO_MAY_COALESCE, }; enum { VISIBLE_SLOP, VISIBLE_STRICT }; enum { CARET_SLOP, CARET_STRICT, CARET_JUMPS, CARET_EVEN }; enum { CARETSTYLE_INVISIBLE, CARETSTYLE_LINE, CARETSTYLE_BLOCK }; enum { SC_MOD_INSERTTEXT, SC_MOD_DELETETEXT, SC_MOD_CHANGESTYLE, SC_MOD_CHANGEFOLD, SC_PERFORMED_USER, SC_PERFORMED_UNDO, SC_PERFORMED_REDO, SC_MULTISTEPUNDOREDO, SC_LASTSTEPINUNDOREDO, SC_MOD_CHANGEMARKER, SC_MOD_BEFOREINSERT, SC_MOD_BEFOREDELETE, SC_MULTILINEUNDOREDO, SC_STARTACTION, SC_MOD_CHANGEINDICATOR, SC_MOD_CHANGELINESTATE, SC_MOD_CHANGEMARGIN, SC_MOD_CHANGEANNOTATION, SC_MOD_CONTAINER, SC_MOD_LEXERSTATE, SC_MOD_INSERTCHECK, SC_MOD_CHANGETABSTOPS, SC_MODEVENTMASKALL }; enum { SCK_DOWN, SCK_UP, SCK_LEFT, SCK_RIGHT, SCK_HOME, SCK_END, SCK_PRIOR, SCK_NEXT, SCK_DELETE, SCK_INSERT, SCK_ESCAPE, SCK_BACK, SCK_TAB, SCK_RETURN, SCK_ADD, SCK_SUBTRACT, SCK_DIVIDE, SCK_WIN, SCK_RWIN, SCK_MENU }; enum { SCMOD_NORM, SCMOD_SHIFT, SCMOD_CTRL, SCMOD_ALT, SCMOD_SUPER, SCMOD_META, }; enum { SCLEX_CONTAINER, SCLEX_NULL, SCLEX_PYTHON, SCLEX_CPP, SCLEX_HTML, SCLEX_XML, SCLEX_PERL, SCLEX_SQL, SCLEX_VB, SCLEX_PROPERTIES, SCLEX_ERRORLIST, SCLEX_MAKEFILE, SCLEX_BATCH, SCLEX_LATEX, SCLEX_LUA, SCLEX_DIFF, SCLEX_CONF, SCLEX_PASCAL, SCLEX_AVE, SCLEX_ADA, SCLEX_LISP, SCLEX_RUBY, SCLEX_EIFFEL, SCLEX_EIFFELKW, SCLEX_TCL, SCLEX_NNCRONTAB, SCLEX_BULLANT, SCLEX_VBSCRIPT, SCLEX_ASP, SCLEX_PHP, SCLEX_BAAN, SCLEX_MATLAB, SCLEX_SCRIPTOL, SCLEX_ASM, SCLEX_CPPNOCASE, SCLEX_FORTRAN, SCLEX_F77, SCLEX_CSS, SCLEX_POV, SCLEX_LOUT, SCLEX_ESCRIPT, SCLEX_PS, SCLEX_NSIS, SCLEX_MMIXAL, SCLEX_CLW, SCLEX_CLWNOCASE, SCLEX_LOT, SCLEX_YAML, SCLEX_TEX, SCLEX_METAPOST, SCLEX_POWERBASIC, SCLEX_FORTH, SCLEX_ERLANG, SCLEX_OCTAVE, SCLEX_MSSQL, SCLEX_VERILOG, SCLEX_KIX, SCLEX_GUI4CLI, SCLEX_SPECMAN, SCLEX_AU3, SCLEX_APDL, SCLEX_BASH, SCLEX_ASN1, SCLEX_VHDL, SCLEX_CAML, SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_HASKELL, SCLEX_PHPSCRIPT, SCLEX_TADS3, SCLEX_REBOL, SCLEX_SMALLTALK, SCLEX_FLAGSHIP, SCLEX_CSOUND, SCLEX_FREEBASIC, SCLEX_INNOSETUP, SCLEX_OPAL, SCLEX_SPICE, SCLEX_D, SCLEX_CMAKE, SCLEX_GAP, SCLEX_PLM, SCLEX_PROGRESS, SCLEX_ABAQUS, SCLEX_ASYMPTOTE, SCLEX_R, SCLEX_MAGIK, SCLEX_POWERSHELL, SCLEX_MYSQL, SCLEX_PO, SCLEX_TAL, SCLEX_COBOL, SCLEX_TACL, SCLEX_SORCUS, SCLEX_POWERPRO, SCLEX_NIMROD, SCLEX_SML, SCLEX_MARKDOWN, SCLEX_TXT2TAGS, SCLEX_A68K, SCLEX_MODULA, SCLEX_COFFEESCRIPT, SCLEX_TCMD, SCLEX_AVS, SCLEX_ECL, SCLEX_OSCRIPT, SCLEX_VISUALPROLOG, SCLEX_LITERATEHASKELL, SCLEX_STTXT, SCLEX_KVIRC, SCLEX_RUST, SCLEX_DMAP, SCLEX_AS, SCLEX_DMIS, SCLEX_REGISTRY, SCLEX_BIBTEX, SCLEX_SREC, SCLEX_IHEX, SCLEX_TEHEX, SCLEX_JSON, SCLEX_EDIFACT, SCLEX_INDENT, SCLEX_MAXIMA, SCLEX_STATA, SCLEX_SAS, }; enum { SC_WEIGHT_NORMAL, SC_WEIGHT_SEMIBOLD, SC_WEIGHT_BOLD, }; enum { SC_TECHNOLOGY_DEFAULT, SC_TECHNOLOGY_DIRECTWRITE, SC_TECHNOLOGY_DIRECTWRITERETAIN, SC_TECHNOLOGY_DIRECTWRITEDC, }; enum { SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE, SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE, }; enum { SC_FONT_SIZE_MULTIPLIER, }; enum { SC_FOLDACTION_CONTRACT, SC_FOLDACTION_EXPAND, SC_FOLDACTION_TOGGLE, }; enum { SC_AUTOMATICFOLD_SHOW, SC_AUTOMATICFOLD_CLICK, SC_AUTOMATICFOLD_CHANGE, }; enum { SC_ORDER_PRESORTED, SC_ORDER_PERFORMSORT, SC_ORDER_CUSTOM, }; explicit QsciScintillaBase(QWidget *parent /TransferThis/ = 0); virtual ~QsciScintillaBase(); %ConvertToSubClassCode static struct class_graph { const char *name; sipTypeDef **type; int yes, no; } graph[] = { {sipName_QsciLexer, &sipType_QsciLexer, 4, 1}, {sipName_QsciAbstractAPIs, &sipType_QsciAbstractAPIs, 43, 2}, {sipName_QsciMacro, &sipType_QsciMacro, -1, 3}, {sipName_QsciScintillaBase, &sipType_QsciScintillaBase, 44, -1}, {sipName_QsciLexerSQL, &sipType_QsciLexerSQL, -1, 5}, {sipName_QsciLexerMakefile, &sipType_QsciLexerMakefile, -1, 6}, {sipName_QsciLexerAVS, &sipType_QsciLexerAVS, -1, 7}, {sipName_QsciLexerDiff, &sipType_QsciLexerDiff, -1, 8}, {sipName_QsciLexerPython, &sipType_QsciLexerPython, -1, 9}, {sipName_QsciLexerPO, &sipType_QsciLexerPO, -1, 10}, {sipName_QsciLexerCoffeeScript, &sipType_QsciLexerCoffeeScript, -1, 11}, {sipName_QsciLexerPostScript, &sipType_QsciLexerPostScript, -1, 12}, {sipName_QsciLexerPOV, &sipType_QsciLexerPOV, -1, 13}, {sipName_QsciLexerRuby, &sipType_QsciLexerRuby, -1, 14}, {sipName_QsciLexerJSON, &sipType_QsciLexerJSON, -1, 15}, {sipName_QsciLexerVerilog, &sipType_QsciLexerVerilog, -1, 16}, {sipName_QsciLexerProperties, &sipType_QsciLexerProperties, -1, 17}, {sipName_QsciLexerCMake, &sipType_QsciLexerCMake, -1, 18}, {sipName_QsciLexerD, &sipType_QsciLexerD, -1, 19}, {sipName_QsciLexerLua, &sipType_QsciLexerLua, -1, 20}, {sipName_QsciLexerPerl, &sipType_QsciLexerPerl, -1, 21}, {sipName_QsciLexerBash, &sipType_QsciLexerBash, -1, 22}, {sipName_QsciLexerFortran77, &sipType_QsciLexerFortran77, 36, 23}, {sipName_QsciLexerVHDL, &sipType_QsciLexerVHDL, -1, 24}, {sipName_QsciLexerCSS, &sipType_QsciLexerCSS, -1, 25}, {sipName_QsciLexerSpice, &sipType_QsciLexerSpice, -1, 26}, {sipName_QsciLexerBatch, &sipType_QsciLexerBatch, -1, 27}, {sipName_QsciLexerHTML, &sipType_QsciLexerHTML, 37, 28}, {sipName_QsciLexerCustom, &sipType_QsciLexerCustom, -1, 29}, {sipName_QsciLexerMatlab, &sipType_QsciLexerMatlab, 38, 30}, {sipName_QsciLexerPascal, &sipType_QsciLexerPascal, -1, 31}, {sipName_QsciLexerTCL, &sipType_QsciLexerTCL, -1, 32}, {sipName_QsciLexerMarkdown, &sipType_QsciLexerMarkdown, -1, 33}, {sipName_QsciLexerTeX, &sipType_QsciLexerTeX, -1, 34}, {sipName_QsciLexerCPP, &sipType_QsciLexerCPP, 39, 35}, {sipName_QsciLexerYAML, &sipType_QsciLexerYAML, -1, -1}, {sipName_QsciLexerFortran, &sipType_QsciLexerFortran, -1, -1}, {sipName_QsciLexerXML, &sipType_QsciLexerXML, -1, -1}, {sipName_QsciLexerOctave, &sipType_QsciLexerOctave, -1, -1}, {sipName_QsciLexerCSharp, &sipType_QsciLexerCSharp, -1, 40}, {sipName_QsciLexerJavaScript, &sipType_QsciLexerJavaScript, -1, 41}, {sipName_QsciLexerIDL, &sipType_QsciLexerIDL, -1, 42}, {sipName_QsciLexerJava, &sipType_QsciLexerJava, -1, -1}, {sipName_QsciAPIs, &sipType_QsciAPIs, -1, -1}, {sipName_QsciScintilla, &sipType_QsciScintilla, -1, -1}, }; int i = 0; sipType = NULL; do { struct class_graph *cg = &graph[i]; if (cg->name != NULL && sipCpp->inherits(cg->name)) { sipType = *cg->type; i = cg->yes; } else i = cg->no; } while (i >= 0); %End static QsciScintillaBase *pool(); void replaceHorizontalScrollBar(QScrollBar *scrollBar /Transfer/); void replaceVerticalScrollBar(QScrollBar *scrollBar /Transfer/); long SendScintilla(unsigned int msg, unsigned long wParam = 0, long lParam = 0) const; long SendScintilla(unsigned int msg, unsigned long wParam, void *lParam) const; long SendScintilla(unsigned int msg, unsigned long wParam, const char *lParam /Encoding="None"/) const; %MethodCode sipRes = sipCpp->SendScintilla(a0, static_cast(a1), a2); %End long SendScintilla(unsigned int msg, const char *lParam /Encoding="None"/); const long SendScintilla(unsigned int msg, const char *wParam /Encoding="None"/, const char *lParam /Encoding="None"/) const; long SendScintilla(unsigned int msg, long wParam) const; //long SendScintilla(unsigned int msg, int wParam) const; long SendScintilla(unsigned int msg, long cpMin, long cpMax, char *lpstrText /Encoding="None"/) const; long SendScintilla(unsigned int msg, unsigned long wParam, const QColor &col) const; long SendScintilla(unsigned int msg, const QColor &col) const; long SendScintilla(unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &rc, long cpMin, long cpMax) const; long SendScintilla(unsigned int msg, unsigned long wParam, const QPixmap &lParam) const; long SendScintilla(unsigned int msg, unsigned long wParam, const QImage &lParam) const; void *SendScintillaPtrResult(unsigned int msg) const; signals: void QSCN_SELCHANGED(bool yes); void SCEN_CHANGE(); void SCN_AUTOCCANCELLED(); void SCN_AUTOCCHARDELETED(); void SCN_AUTOCCOMPLETED(const char *selection, int position, int ch, int method); void SCN_AUTOCSELECTION(const char *selection, int position, int ch, int method); void SCN_AUTOCSELECTION(const char *selection, int position); void SCN_AUTOCSELECTIONCHANGE(const char *selection, int id, int position); void SCN_CALLTIPCLICK(int direction); void SCN_CHARADDED(int charadded); void SCN_DOUBLECLICK(int position, int line, int modifiers); void SCN_DWELLEND(int, int, int); void SCN_DWELLSTART(int, int, int); void SCN_FOCUSIN(); void SCN_FOCUSOUT(); void SCN_HOTSPOTCLICK(int position, int modifiers); void SCN_HOTSPOTDOUBLECLICK(int position, int modifiers); void SCN_HOTSPOTRELEASECLICK(int position, int modifiers); void SCN_INDICATORCLICK(int position, int modifiers); void SCN_INDICATORRELEASE(int position, int modifiers); void SCN_MACRORECORD(unsigned int, ulong, void *); void SCN_MARGINCLICK(int position, int modifiers, int margin); void SCN_MARGINRIGHTCLICK(int position, int modifiers, int margin); void SCN_MODIFIED(int, int, const char *, int, int, int, int, int, int, int); void SCN_MODIFYATTEMPTRO(); void SCN_NEEDSHOWN(int, int); void SCN_PAINTED(); void SCN_SAVEPOINTLEFT(); void SCN_SAVEPOINTREACHED(); void SCN_STYLENEEDED(int position); void SCN_URIDROPPED(const QUrl &url); void SCN_UPDATEUI(int updated); void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method, int position); void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method); void SCN_USERLISTSELECTION(const char *selection, int id); void SCN_ZOOM(); protected: virtual bool canInsertFromMimeData(const QMimeData *source) const; virtual QByteArray fromMimeData(const QMimeData *source, bool &rectangular) const; virtual QMimeData *toMimeData(const QByteArray &text, bool rectangular) const; virtual void changeEvent(QEvent *e); virtual void contextMenuEvent(QContextMenuEvent *e); virtual void dragEnterEvent(QDragEnterEvent *e); virtual void dragLeaveEvent(QDragLeaveEvent *e); virtual void dragMoveEvent(QDragMoveEvent *e); virtual void dropEvent(QDropEvent *e); virtual void focusInEvent(QFocusEvent *e); virtual void focusOutEvent(QFocusEvent *e); virtual bool focusNextPrevChild(bool next); virtual void keyPressEvent(QKeyEvent *e); virtual void inputMethodEvent(QInputMethodEvent *e); virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const; virtual void mouseDoubleClickEvent(QMouseEvent *e); virtual void mouseMoveEvent(QMouseEvent *e); virtual void mousePressEvent(QMouseEvent *e); virtual void mouseReleaseEvent(QMouseEvent *e); virtual void paintEvent(QPaintEvent *e); virtual void resizeEvent(QResizeEvent *e); virtual void scrollContentsBy(int dx, int dy); private: QsciScintillaBase(const QsciScintillaBase &); }; ================================================ FILE: src/qscint/Python/sip/qscistyle.sip ================================================ // This is the SIP interface definition for QsciStyle. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciStyle { %TypeHeaderCode #include %End public: enum TextCase { OriginalCase, UpperCase, LowerCase }; QsciStyle(int style = -1); QsciStyle(int style, const QString &description, const QColor &color, const QColor &paper, const QFont &font, bool eolFill = false); void setStyle(int style); int style() const; void setDescription(const QString &description); QString description() const; void setColor(const QColor &color); QColor color() const; void setPaper(const QColor &paper); QColor paper() const; void setFont(const QFont &font); QFont font() const; void setEolFill(bool fill); bool eolFill() const; void setTextCase(TextCase text_case); TextCase textCase() const; void setVisible(bool visible); bool visible() const; void setChangeable(bool changeable); bool changeable() const; void setHotspot(bool hotspot); bool hotspot() const; void refresh(); }; ================================================ FILE: src/qscint/Python/sip/qscistyledtext.sip ================================================ // This is the SIP interface definition for QsciStyledText. // // Copyright (c) 2021 Riverbank Computing Limited // // This file is part of QScintilla. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QsciStyledText { %TypeHeaderCode #include %End public: QsciStyledText(const QString &text, int style); QsciStyledText(const QString &text, const QsciStyle &style); const QString &text(); int style() const; }; ================================================ FILE: src/qscint/doc/README.doc ================================================ /*! \mainpage QScintilla - a Port to Qt v5 and Qt v6 of Scintilla

Introduction

QScintilla is a port to Qt of the Scintilla editing component. As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code:
  • syntax styling with support for over 70 languages
  • error indicators
  • code completion
  • call tips
  • code folding
  • margins can contain markers like those used in debuggers to indicate breakpoints and the current line.
  • recordable macros
  • multiple views
  • printing.
QScintilla is a port or Scintilla to the Qt GUI toolkit from The Qt Company and runs on any operating system supported by Qt (eg. Windows, Linux, macOS, iOS and Android). QScintilla works with Qt v5 and v6. QScintilla also includes language bindings for Python. These require that PyQt v5 or v6 is also installed. This version of QScintilla is based on Scintilla v3.10.1.

Licensing

QScintilla is available under the GNU General Public License v3 and the Riverbank Commercial License. The commercial license allows closed source applications using QScintilla to be developed and distributed. At the moment the commercial version of QScintilla is bundled with, but packaged separately from, the commercial version of PyQt. The Scintilla code within QScintilla is released under the following license:
 License for Scintilla and SciTE

 Copyright 1998-2003 by Neil Hodgson 

 All Rights Reserved

 Permission to use, copy, modify, and distribute this software and its
 documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
 both that copyright notice and this permission notice appear in
 supporting documentation.

 NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY
 SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
 OR PERFORMANCE OF THIS SOFTWARE.

Installation

As supplied QScintilla will be built as a shared library/DLL and installed in the same directories as the Qt libraries and include files. If you wish to build a static version of the library then pass CONFIG+=staticlib on the qmake command line. If you want to make more significant changes to the configuration then edit the file qscintilla.pro in the src directory. If you do make changes, specifically to the names of the installation directories or the name of the library, then you may also need to update the src/features/qscintilla2.prf file. See your qmake documentation for more details. To build and install QScintilla, run:
    cd src
    qmake
    make
    make install
If you have multiple versions of Qt installed then make sure you use the correct version of qmake. The underlying Scintilla code may support additional compile-time options. These can be configured by passing appropriate arguments to qmake. For example, if you have an old C++ compiler that does not have a working std::regex then invoke qmake as follows:
    qmake DEFINES+=NO_CXX11_REGEX=1

Installation on Windows

Before compiling QScintilla on Windows you should remove the Qsci directory containing the QScintilla header files from any previous installation. This is because the Makefile generated by qmake will find these older header files instead of the new ones. Depending on the compiler you are using you may need to run nmake rather than make. If you have built a Windows DLL then you probably also want to run:
    copy %%QTDIR%\\lib\\qscintilla2.dll %%QTDIR%\\bin

Integration with qmake

To configure qmake to find your QScintilla installation, add the following line to your application's .pro file:
    CONFIG += qscintilla2

Qt Designer Plugin

QScintilla includes an optional plugin for Qt Designer that allows QScintilla instances to be included in GUI designs just like any other Qt widget. To build the plugin on all platforms, make sure QScintilla is installed and then run (as root or administrator):
    cd designer
    qmake
    make
    make install
On Windows (and depending on the compiler you are using) you may need to run nmake rather than make.

Example Application

The example application provided is a port of the standard Qt application example with the QsciScintilla class being used instead of Qt's QTextEdit class. The example does not demonstrate all of the extra features of QScintilla. To build the example, run:
    cd example
    qmake
    make
On Windows (and depending on the compiler you are using) you may need to run nmake rather than make.

Python Bindings

The Python bindings are in the Python sub-directory. You must have either PyQt5 or PyQt6 already installed and PyQt-builder. QScintilla must also already be built and installed. The Python sub-directory contains a pyproject-qt5.toml file and a pyproject-qt6.toml file. If you are building for PyQt5 and Qt v5 then you must copy the pyproject-qt5.toml file to pyproject.toml. If instead you are building for PyQt6 and Qt v6 then you must copy the pyproject-qt6.toml file to pyproject.toml. To build and install the bindings, run:
    cd Python
    sip-install
*/ ================================================ FILE: src/qscint/doc/Scintilla/Design.html ================================================ Scintilla and SciTE
Scintilla icon Scintilla Component Design

Top level structure

Scintilla consists of three major layers of C++ code

  • Portability Library
  • Core Code
  • Platform Events and API

The primary purpose of this structure is to separate the platform dependent code from the platform independent core code. This makes it easier to port Scintilla to a new platform and ensures that most readers of the code do not have to deal with platform details. To minimise portability problems and avoid code bloat, a conservative subset of C++ is used in Scintilla with no exception handling, run time type information or use of the standard C++ library and with limited use of templates.

The currently supported platforms, Windows, GTK+/Linux, Cocoa and wxWidgets are fairly similar in many ways. Each has windows, menus and bitmaps. These features generally work in similar ways so each has a way to move a window or draw a red line. Sometimes one platform requires a sequence of calls rather than a single call. At other times, the differences are more profound. Reading the Windows clipboard occurs synchronously but reading the GTK+ clipboard requires a request call that will be asynchronously answered with a message containing the clipboard data. The wxWidgets platform is available from the wxWidgets site


Portability Library

This is a fairly small and thin layer over the platform's native capabilities.

The portability library is defined in Platform.h and is implemented once for each platform. PlatWin.cxx defines the Windows variants of the methods and PlatGTK.cxx the GTK+ variants.

Several of the classes here hold platform specific object identifiers and act as proxies to these platform objects. Most client code can thus manipulate the platform objects without caring which is the current platform. Sometimes client code needs access to the underlying object identifiers and this is provided by the GetID method. The underlying types of the platform specific identifiers are typedefed to common names to allow them to be transferred around in client code where needed.

Point, PRectangle

These are simple classes provided to hold the commonly used geometric primitives. A PRectangle follows the Mac / Windows convention of not including its bottom and right sides instead of including all its sides as is normal in GTK+. It is not called Rectangle as this may be the name of a macro on Windows.

ColourDesired

This is a simple class holding an expected colour. It is internally represented as a single 32 bit integer in BGR format with 8 bits per colour, but also provides a convenient API to fetch each component separately. As a platform might not be able to represent the exact desired colour if it doesn't have 24 bit depth available, it might not actually represent the exact desired colour but select a best fit that it can actually render.

Font

Font holds a platform specific font identifier - HFONT for Windows, PangoFontDescription* for GTK+. It does not own the identifier and so will not delete the platform font object in its destructor. Client code should call Destroy at appropriate times.

Surface

Surface is an abstraction over each platform's concept of somewhere that graphical drawing operations can be done. It may wrap an already created drawing place such as a window or be used to create a bitmap that can be drawn into and later copied onto another surface. On Windows it wraps a HDC and possibly a HBITMAP. On GTK+ it wraps a cairo_surface_t*. Other platform specific objects are created (and correctly destroyed) whenever required to perform drawing actions.

Drawing operations provided include drawing filled and unfilled polygons, lines, rectangles, ellipses and text. The height and width of text as well as other details can be measured. Operations can be clipped to a rectangle. Most of the calls are stateless with all parameters being passed at each call. The exception to this is line drawing which is performed by calling MoveTo and then LineTo.

Window

Window acts as a proxy to a platform window allowing operations such as showing, moving, redrawing, and destroying to be performed. It contains a platform specific window identifier - HWND for Windows, GtkWidget* for GTK+.

ListBox

ListBox is a subclass of Window and acts as a proxy to a platform listbox adding methods for operations such as adding, retrieving, and selecting items.

Menu

Menu is a small helper class for constructing popup menus. It contains the platform specific menu identifier - HMENU for Windows, GtkMenu* for GTK+. Most of the work in constructing menus requires access to platform events and so is done in the Platform Events and API layer.

Platform

The Platform class is used to access the facilities of the platform. System wide parameters such as double click speed and chrome colour are available from Platform. Utility functions such as DebugPrintf are also available from Platform.

Core Code

The bulk of Scintilla's code is platform independent. This is made up of the CellBuffer, ContractionState, Document, Editor, Indicator, LineMarker, Style, ViewStyle, KeyMap, ScintillaBase, CallTip, and AutoComplete primary classes.

CellBuffer

A CellBuffer holds text and styling information, the undo stack, the assignment of line markers to lines, and the fold structure.

A cell contains a character byte and its associated style byte. The current state of the cell buffer is the sequence of cells that make up the text and a sequence of line information containing the starting position of each line and any markers assigned to each line.

The undo stack holds a sequence of actions on the cell buffer. Each action is one of a text insertion, a text deletion or an undo start action. The start actions are used to group sequences of text insertions and deletions together so they can be undone together. To perform an undo operation, each insertion or deletion is undone in reverse sequence. Similarly, redo reapplies each action to the buffer in sequence. Whenever a character is inserted in the buffer either directly through a call such as InsertString or through undo or redo, its styling byte is initially set to zero. Client code is responsible for styling each character whenever convenient. Styling information is not stored in undo actions.

Document

A document contains a CellBuffer and deals with some higher level abstractions such as words, DBCS character sequences and line end character sequences. It is responsible for managing the styling process and for notifying other objects when changes occur to the document.

Editor

The Editor object is central to Scintilla. It is responsible for displaying a document and responding to user actions and requests from the container. It uses ContractionState, Indicator, LineMarker, Style, and ViewStyle objects to display the document and a KeyMap class to map key presses to functions. The visibility of each line is kept in the ContractionState which is also responsible for mapping from display lines to documents lines and vice versa.

There may be multiple Editor objects attached to one Document object. Changes to a document are broadcast to the editors through the DocWatcher mechanism.

ScintillaBase

ScintillaBase is a subclass of Editor and adds extra windowing features including display of calltips, autocompletion lists and context menus. These features use CallTip and AutoComplete objects. This class is optional so a lightweight implementation of Scintilla may bypass it if the added functionality is not required.

Platform Events and API

Each platform uses different mechanisms for receiving events. On Windows, events are received through messages and COM. On GTK+, callback functions are used.

For each platform, a class is derived from ScintillaBase (and thus from Editor). This is ScintillaWin on Windows and ScintillaGTK on GTK+. These classes are responsible for connecting to the platforms event mechanism and also to implement some virtual methods in Editor and ScintillaBase which are different on the platforms. For example, this layer has to support this difference between the synchronous Windows clipboard and the asynchronous GTK+ clipboard.

The external API is defined in this layer as each platform has different preferred styles of API - messages on Windows and function calls on GTK+. This also allows multiple APIs to be defined on a platform. The currently available API on GTK+ is similar to the Windows API and does not follow platform conventions well. A second API could be implemented here that did follow platform conventions.

================================================ FILE: src/qscint/doc/Scintilla/Icons.html ================================================ Scintilla icons
Scintilla icon Scintilla and SciTE

Icons

These images may be used under the same license as Scintilla.

Drawn by Iago Rubio, Philippe Lhoste, and Neil Hodgson.

zip format (70K)

For autocompletion lists For margin markers
12x12 16x16 24x24 32x32
================================================ FILE: src/qscint/doc/Scintilla/LPegLexer.html ================================================ Lua LPeg Lexers
Scintilla icon Scintilla

Lua LPeg Lexers

Scintilla's LPeg lexer adds dynamic Lua LPeg lexers to Scintilla. It is the quickest way to add new or customized syntax highlighting and code folding for programming languages to any Scintilla-based text editor or IDE.

Features

  • Support for over 100 programming languages.
  • Easy lexer embedding for multi-language lexers.
  • Universal color themes.
  • Comparable speed to native Scintilla lexers.

Enabling and Configuring the LPeg Lexer

Scintilla is not compiled with the LPeg lexer enabled by default (it is present, but empty). You need to manually enable it with the LPEG_LEXER flag when building Scintilla and its lexers. You also need to build and link the Lua source files contained in Scintilla's lua/src/ directory to lexers/LexLPeg.cxx. If your application has its own copy of Lua, you can ignore Scintilla's copy and link to yours.

At this time, only the GTK, curses, and MinGW32 (for win32) platform makefiles facilitate enabling the LPeg lexer. For example, when building Scintilla, run make LPEG_LEXER=1. User contributions to facilitate this for the other platforms is encouraged.

When Scintilla is compiled with the LPeg lexer enabled, and after selecting it as the lexer to use via SCI_SETLEXER or SCI_SETLEXERLANGUAGE, the following property must be set via SCI_SETPROPERTY:

lexer.lpeg.home The directory containing the Lua lexers. This is the path where you included Scintilla's lexlua/ directory in your application's installation location.

The following properties are optional and may or may not be set:

lexer.lpeg.color.theme The color theme to use. Color themes are located in the lexlua/themes/ directory. Currently supported themes are light, dark, scite, and curses. Your application can define colors and styles manually through Scintilla properties. The theme files have examples.
fold For Lua lexers that have a folder, folding is turned on if fold is set to 1. The default is 0.
fold.by.indentation For Lua lexers that do not have a folder, if fold.by.indentation is set to 1, folding is done based on indentation level (like Python). The default is 0.
fold.line.comments If fold.line.comments is set to 1, multiple, consecutive line comments are folded, and only the top-level comment is shown. There is a small performance penalty for large source files when this option and folding are enabled. The default is 0.
fold.on.zero.sum.lines If fold.on.zero.sum.lines is set to 1, lines that contain both an ending and starting fold point are marked as fold points. For example, the C line } else { would be marked as a fold point. The default is 0.

Using the LPeg Lexer

Your application communicates with the LPeg lexer using Scintilla's SCI_PRIVATELEXERCALL API. The operation constants recognized by the LPeg lexer are based on Scintilla's existing named constants. Note that some of the names of the operations do not make perfect sense. This is a tradeoff in order to reuse Scintilla's existing constants.

In the descriptions that follow, SCI_PRIVATELEXERCALL(int operation, void *pointer) means you would call Scintilla like SendScintilla(sci, SCI_PRIVATELEXERCALL, operation, pointer);

Usage Example

The curses platform demo, jinx, has a C-source example for using the LPeg lexer. Additionally, here is a pseudo-code example:


    init_app() {
      sci = scintilla_new()
    }

    create_doc() {
      doc = SendScintilla(sci, SCI_CREATEDOCUMENT, 0, 0)
      SendScintilla(sci, SCI_SETDOCPOINTER, 0, doc)
      SendScintilla(sci, SCI_SETLEXERLANGUAGE, 0, "lpeg")
      home = "/home/mitchell/app/lua_lexers"
      SendScintilla(sci, SCI_SETPROPERTY, "lexer.lpeg.home", home)
      SendScintilla(sci, SCI_SETPROPERTY, "lexer.lpeg.color.theme", "light")
      fn = SendScintilla(sci, SCI_GETDIRECTFUNCTION, 0, 0)
      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_GETDIRECTFUNCTION, fn)
      psci = SendScintilla(sci, SCI_GETDIRECTPOINTER, 0, 0)
      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETDOCPOINTER, psci)
      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETLEXERLANGUAGE, "lua")
    }

    set_lexer(lang) {
      psci = SendScintilla(sci, SCI_GETDIRECTPOINTER, 0, 0)
      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETDOCPOINTER, psci)
      SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETLEXERLANGUAGE, lang)
    }
    
SCI_PRIVATELEXERCALL(SCI_CHANGELEXERSTATE, lua_State *L)
SCI_PRIVATELEXERCALL(SCI_GETDIRECTFUNCTION, int SciFnDirect)
SCI_PRIVATELEXERCALL(SCI_GETLEXERLANGUAGE, char *languageName) → int
SCI_PRIVATELEXERCALL(SCI_GETSTATUS, char *errorMessage) → int
SCI_PRIVATELEXERCALL(int styleNum, char *styleName) → int
SCI_PRIVATELEXERCALL(SCI_SETDOCPOINTER, int sci)
SCI_PRIVATELEXERCALL(SCI_SETLEXERLANGUAGE, languageName)

SCI_PRIVATELEXERCALL(SCI_CHANGELEXERSTATE, lua_State *L)
Tells the LPeg lexer to use L as its Lua state instead of creating a separate state.

L must have already opened the "base", "string", "table", "package", and "lpeg" libraries. If L is a Lua 5.1 state, it must have also opened the "io" library.

The LPeg lexer will create a single lexer package (that can be used with Lua's require function), as well as a number of other variables in the LUA_REGISTRYINDEX table with the "sci_" prefix.

Rather than including the path to Scintilla's Lua lexers in the package.path of the given Lua state, set the "lexer.lpeg.home" property instead. The LPeg lexer uses that property to find and load lexers.

Usage:


    lua = luaL_newstate()
    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_CHANGELEXERSTATE, lua)
    

SCI_PRIVATELEXERCALL(SCI_GETDIRECTFUNCTION, SciFnDirect)
Tells the LPeg lexer the address of SciFnDirect, the function that handles Scintilla messages.

Despite the name SCI_GETDIRECTFUNCTION, it only notifies the LPeg lexer what the value of SciFnDirect obtained from SCI_GETDIRECTFUNCTION is. It does not return anything. Use this if you would like to have the LPeg lexer set all Lua lexer styles automatically. This is useful for maintaining a consistent color theme. Do not use this if your application maintains its own color theme.

If you use this call, it must be made once for each Scintilla document that was created using Scintilla's SCI_CREATEDOCUMENT. You must also use the SCI_SETDOCPOINTER LPeg lexer API call.

Usage:


    fn = SendScintilla(sci, SCI_GETDIRECTFUNCTION, 0, 0)
    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_GETDIRECTFUNCTION, fn)
    

See also: SCI_SETDOCPOINTER

SCI_PRIVATELEXERCALL(SCI_GETLEXERLANGUAGE, char *languageName) → int
Returns the length of the string name of the current Lua lexer or stores the name into the given buffer. If the buffer is long enough, the name is terminated by a 0 character.

For parent lexers with embedded children or child lexers embedded into parents, the name is in "lexer/current" format, where "lexer" is the actual lexer's name and "current" is the parent or child lexer at the current caret position. In order for this to work, you must have called SCI_GETDIRECTFUNCTION and SCI_SETDOCPOINTER.

SCI_PRIVATELEXERCALL(SCI_GETSTATUS, char *errorMessage) → int
Returns the length of the error message of the LPeg lexer or Lua lexer error that occurred (if any), or stores the error message into the given buffer.

If no error occurred, the returned message will be empty.

Since the LPeg lexer does not throw errors as they occur, errors can only be handled passively. Note that the LPeg lexer does print all errors to stderr.

Usage:


    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_GETSTATUS, errmsg)
    if (strlen(errmsg) > 0) { /* handle error */ }
    

SCI_PRIVATELEXERCALL(int styleNum, char *styleName) → int
Returns the length of the token name associated with the given style number or stores the style name into the given buffer. If the buffer is long enough, the string is terminated by a 0 character.

Usage:


    style = SendScintilla(sci, SCI_GETSTYLEAT, pos, 0)
    SendScintilla(sci, SCI_PRIVATELEXERCALL, style, token)
    // token now contains the name of the style at pos
    

SCI_PRIVATELEXERCALL(SCI_SETDOCPOINTER, int sci)
Tells the LPeg lexer the address of the Scintilla window (obtained via Scintilla's SCI_GETDIRECTPOINTER) currently in use.

Despite the name SCI_SETDOCPOINTER, it has no relationship to Scintilla documents.

Use this call only if you are using the SCI_GETDIRECTFUNCTION LPeg lexer API call. It must be made before each call to the SCI_SETLEXERLANGUAGE LPeg lexer API call.

Usage:


    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETDOCPOINTER, sci)
    

See also: SCI_GETDIRECTFUNCTION, SCI_SETLEXERLANGUAGE

SCI_PRIVATELEXERCALL(SCI_SETLEXERLANGUAGE, const char *languageName)
Sets the current Lua lexer to languageName.

If you are having the LPeg lexer set the Lua lexer styles automatically, make sure you call the SCI_SETDOCPOINTER LPeg lexer API first.

Usage:


    SendScintilla(sci, SCI_PRIVATELEXERCALL, SCI_SETLEXERLANGUAGE, "lua")
    

See also: SCI_SETDOCPOINTER

Writing Lua Lexers

Lexers highlight the syntax of source code. Scintilla (the editing component behind Textadept) traditionally uses static, compiled C++ lexers which are notoriously difficult to create and/or extend. On the other hand, Lua makes it easy to to rapidly create new lexers, extend existing ones, and embed lexers within one another. Lua lexers tend to be more readable than C++ lexers too.

Lexers are Parsing Expression Grammars, or PEGs, composed with the Lua LPeg library. The following table comes from the LPeg documentation and summarizes all you need to know about constructing basic LPeg patterns. This module provides convenience functions for creating and working with other more advanced patterns and concepts.

Operator Description
lpeg.P(string) Matches string literally.
lpeg.P(n) Matches exactly n characters.
lpeg.S(string) Matches any character in set string.
lpeg.R("xy") Matches any character between range x and y.
patt^n Matches at least n repetitions of patt.
patt^-n Matches at most n repetitions of patt.
patt1 * patt2 Matches patt1 followed by patt2.
patt1 + patt2 Matches patt1 or patt2 (ordered choice).
patt1 - patt2 Matches patt1 if patt2 does not match.
-patt Equivalent to ("" - patt).
#patt Matches patt but consumes no input.

The first part of this document deals with rapidly constructing a simple lexer. The next part deals with more advanced techniques, such as custom coloring and embedding lexers within one another. Following that is a discussion about code folding, or being able to tell Scintilla which code blocks are "foldable" (temporarily hideable from view). After that are instructions on how to use Lua lexers with the aforementioned Textadept editor. Finally there are comments on lexer performance and limitations.

Lexer Basics

The lexlua/ directory contains all lexers, including your new one. Before attempting to write one from scratch though, first determine if your programming language is similar to any of the 100+ languages supported. If so, you may be able to copy and modify that lexer, saving some time and effort. The filename of your lexer should be the name of your programming language in lower case followed by a .lua extension. For example, a new Lua lexer has the name lua.lua.

Note: Try to refrain from using one-character language names like "c", "d", or "r". For example, Lua lexers for those languages are named "ansi_c", "dmd", and "rstats", respectively.

New Lexer Template

There is a lexlua/template.txt file that contains a simple template for a new lexer. Feel free to use it, replacing the '?'s with the name of your lexer. Consider this snippet from the template:


    -- ? LPeg lexer.

    local lexer = require('lexer')
    local token, word_match = lexer.token, lexer.word_match
    local P, R, S = lpeg.P, lpeg.R, lpeg.S

    local lex = lexer.new('?')

    -- Whitespace.
    local ws = token(lexer.WHITESPACE, lexer.space^1)
    lex:add_rule('whitespace', ws)

    [...]

    return lex
    

The first 3 lines of code simply define often used convenience variables. The fourth and last lines define and return the lexer object Scintilla uses; they are very important and must be part of every lexer. The fifth line defines something called a "token", an essential building block of lexers. You will learn about tokens shortly. The sixth line defines a lexer grammar rule, which you will learn about later, as well as token styles. (Be aware that it is common practice to combine these two lines for short rules.) Note, however, the local prefix in front of variables, which is needed so-as not to affect Lua's global environment. All in all, this is a minimal, working lexer that you can build on.

Tokens

Take a moment to think about your programming language's structure. What kind of key elements does it have? In the template shown earlier, one predefined element all languages have is whitespace. Your language probably also has elements like comments, strings, and keywords. Lexers refer to these elements as "tokens". Tokens are the fundamental "building blocks" of lexers. Lexers break down source code into tokens for coloring, which results in the syntax highlighting familiar to you. It is up to you how specific your lexer is when it comes to tokens. Perhaps only distinguishing between keywords and identifiers is necessary, or maybe recognizing constants and built-in functions, methods, or libraries is desirable. The Lua lexer, for example, defines 11 tokens: whitespace, keywords, built-in functions, constants, built-in libraries, identifiers, strings, comments, numbers, labels, and operators. Even though constants, built-in functions, and built-in libraries are subsets of identifiers, Lua programmers find it helpful for the lexer to distinguish between them all. It is perfectly acceptable to just recognize keywords and identifiers.

In a lexer, tokens consist of a token name and an LPeg pattern that matches a sequence of characters recognized as an instance of that token. Create tokens using the lexer.token() function. Let us examine the "whitespace" token defined in the template shown earlier:


    local ws = token(lexer.WHITESPACE, lexer.space^1)
    

At first glance, the first argument does not appear to be a string name and the second argument does not appear to be an LPeg pattern. Perhaps you expected something like:


    local ws = token('whitespace', S('\t\v\f\n\r ')^1)
    

The lexer module actually provides a convenient list of common token names and common LPeg patterns for you to use. Token names include lexer.DEFAULT, lexer.WHITESPACE, lexer.COMMENT, lexer.STRING, lexer.NUMBER, lexer.KEYWORD, lexer.IDENTIFIER, lexer.OPERATOR, lexer.ERROR, lexer.PREPROCESSOR, lexer.CONSTANT, lexer.VARIABLE, lexer.FUNCTION, lexer.CLASS, lexer.TYPE, lexer.LABEL, lexer.REGEX, and lexer.EMBEDDED. Patterns include lexer.any, lexer.ascii, lexer.extend, lexer.alpha, lexer.digit, lexer.alnum, lexer.lower, lexer.upper, lexer.xdigit, lexer.cntrl, lexer.graph, lexer.print, lexer.punct, lexer.space, lexer.newline, lexer.nonnewline, lexer.nonnewline_esc, lexer.dec_num, lexer.hex_num, lexer.oct_num, lexer.integer, lexer.float, and lexer.word. You may use your own token names if none of the above fit your language, but an advantage to using predefined token names is that your lexer's tokens will inherit the universal syntax highlighting color theme used by your text editor.

Example Tokens

So, how might you define other tokens like keywords, comments, and strings? Here are some examples.

Keywords

Instead of matching n keywords with n P('keyword_n') ordered choices, use another convenience function: lexer.word_match(). It is much easier and more efficient to write word matches like:


    local keyword = token(lexer.KEYWORD, lexer.word_match[[
      keyword_1 keyword_2 ... keyword_n
    ]])

    local case_insensitive_keyword = token(lexer.KEYWORD, lexer.word_match([[
      KEYWORD_1 keyword_2 ... KEYword_n
    ]], true))

    local hyphened_keyword = token(lexer.KEYWORD, lexer.word_match[[
      keyword-1 keyword-2 ... keyword-n
    ]])
    

In order to more easily separate or categorize keyword sets, you can use Lua line comments within keyword strings. Such comments will be ignored. For example:


    local keyword = token(lexer.KEYWORD, lexer.word_match[[
      -- Version 1 keywords.
      keyword_11, keyword_12 ... keyword_1n
      -- Version 2 keywords.
      keyword_21, keyword_22 ... keyword_2n
      ...
      -- Version N keywords.
      keyword_m1, keyword_m2 ... keyword_mn
    ]])
    

Comments

Line-style comments with a prefix character(s) are easy to express with LPeg:


    local shell_comment = token(lexer.COMMENT, '#' * lexer.nonnewline^0)
    local c_line_comment = token(lexer.COMMENT,
                                 '//' * lexer.nonnewline_esc^0)
    

The comments above start with a '#' or "//" and go to the end of the line. The second comment recognizes the next line also as a comment if the current line ends with a '\' escape character.

C-style "block" comments with a start and end delimiter are also easy to express:


    local c_comment = token(lexer.COMMENT,
                            '/*' * (lexer.any - '*/')^0 * P('*/')^-1)
    

This comment starts with a "/*" sequence and contains anything up to and including an ending "*/" sequence. The ending "*/" is optional so the lexer can recognize unfinished comments as comments and highlight them properly.

Strings

It is tempting to think that a string is not much different from the block comment shown above in that both have start and end delimiters:


    local dq_str = '"' * (lexer.any - '"')^0 * P('"')^-1
    local sq_str = "'" * (lexer.any - "'")^0 * P("'")^-1
    local simple_string = token(lexer.STRING, dq_str + sq_str)
    

However, most programming languages allow escape sequences in strings such that a sequence like "\"" in a double-quoted string indicates that the '"' is not the end of the string. The above token incorrectly matches such a string. Instead, use the lexer.delimited_range() convenience function.


    local dq_str = lexer.delimited_range('"')
    local sq_str = lexer.delimited_range("'")
    local string = token(lexer.STRING, dq_str + sq_str)
    

In this case, the lexer treats '\' as an escape character in a string sequence.

Numbers

Most programming languages have the same format for integer and float tokens, so it might be as simple as using a couple of predefined LPeg patterns:


    local number = token(lexer.NUMBER, lexer.float + lexer.integer)
    

However, some languages allow postfix characters on integers.


    local integer = P('-')^-1 * (lexer.dec_num * S('lL')^-1)
    local number = token(lexer.NUMBER, lexer.float + lexer.hex_num + integer)
    

Your language may need other tweaks, but it is up to you how fine-grained you want your highlighting to be. After all, you are not writing a compiler or interpreter!

Rules

Programming languages have grammars, which specify valid token structure. For example, comments usually cannot appear within a string. Grammars consist of rules, which are simply combinations of tokens. Recall from the lexer template the lexer.add_rule() call, which adds a rule to the lexer's grammar:


    lex:add_rule('whitespace', ws)
    

Each rule has an associated name, but rule names are completely arbitrary and serve only to identify and distinguish between different rules. Rule order is important: if text does not match the first rule added to the grammar, the lexer tries to match the second rule added, and so on. Right now this lexer simply matches whitespace tokens under a rule named "whitespace".

To illustrate the importance of rule order, here is an example of a simplified Lua lexer:


    lex:add_rule('whitespace', token(lexer.WHITESPACE, ...))
    lex:add_rule('keyword', token(lexer.KEYWORD, ...))
    lex:add_rule('identifier', token(lexer.IDENTIFIER, ...))
    lex:add_rule('string', token(lexer.STRING, ...))
    lex:add_rule('comment', token(lexer.COMMENT, ...))
    lex:add_rule('number', token(lexer.NUMBER, ...))
    lex:add_rule('label', token(lexer.LABEL, ...))
    lex:add_rule('operator', token(lexer.OPERATOR, ...))
    

Note how identifiers come after keywords. In Lua, as with most programming languages, the characters allowed in keywords and identifiers are in the same set (alphanumerics plus underscores). If the lexer added the "identifier" rule before the "keyword" rule, all keywords would match identifiers and thus incorrectly highlight as identifiers instead of keywords. The same idea applies to function, constant, etc. tokens that you may want to distinguish between: their rules should come before identifiers.

So what about text that does not match any rules? For example in Lua, the '!' character is meaningless outside a string or comment. Normally the lexer skips over such text. If instead you want to highlight these "syntax errors", add an additional end rule:


    lex:add_rule('whitespace', ws)
    ...
    lex:add_rule('error', token(lexer.ERROR, lexer.any))
    

This identifies and highlights any character not matched by an existing rule as a lexer.ERROR token.

Even though the rules defined in the examples above contain a single token, rules may consist of multiple tokens. For example, a rule for an HTML tag could consist of a tag token followed by an arbitrary number of attribute tokens, allowing the lexer to highlight all tokens separately. That rule might look something like this:


    lex:add_rule('tag', tag_start * (ws * attributes)^0 * tag_end^-1)
    

Note however that lexers with complex rules like these are more prone to lose track of their state, especially if they span multiple lines.

Summary

Lexers primarily consist of tokens and grammar rules. At your disposal are a number of convenience patterns and functions for rapidly creating a lexer. If you choose to use predefined token names for your tokens, you do not have to define how the lexer highlights them. The tokens will inherit the default syntax highlighting color theme your editor uses.

Advanced Techniques

Styles and Styling

The most basic form of syntax highlighting is assigning different colors to different tokens. Instead of highlighting with just colors, Scintilla allows for more rich highlighting, or "styling", with different fonts, font sizes, font attributes, and foreground and background colors, just to name a few. The unit of this rich highlighting is called a "style". Styles are simply strings of comma-separated property settings. By default, lexers associate predefined token names like lexer.WHITESPACE, lexer.COMMENT, lexer.STRING, etc. with particular styles as part of a universal color theme. These predefined styles include lexer.STYLE_CLASS, lexer.STYLE_COMMENT, lexer.STYLE_CONSTANT, lexer.STYLE_ERROR, lexer.STYLE_EMBEDDED, lexer.STYLE_FUNCTION, lexer.STYLE_IDENTIFIER, lexer.STYLE_KEYWORD, lexer.STYLE_LABEL, lexer.STYLE_NUMBER, lexer.STYLE_OPERATOR, lexer.STYLE_PREPROCESSOR, lexer.STYLE_REGEX, lexer.STYLE_STRING, lexer.STYLE_TYPE, lexer.STYLE_VARIABLE, and lexer.STYLE_WHITESPACE. Like with predefined token names and LPeg patterns, you may define your own styles. At their core, styles are just strings, so you may create new ones and/or modify existing ones. Each style consists of the following comma-separated settings:

Setting Description
font:name The name of the font the style uses.
size:int The size of the font the style uses.
[not]bold Whether or not the font face is bold.
weight:int The weight or boldness of a font, between 1 and 999.
[not]italics Whether or not the font face is italic.
[not]underlined Whether or not the font face is underlined.
fore:color The foreground color of the font face.
back:color The background color of the font face.
[not]eolfilled Does the background color extend to the end of the line?
case:char The case of the font ('u': upper, 'l': lower, 'm': normal).
[not]visible Whether or not the text is visible.
[not]changeable Whether the text is changeable or read-only.

Specify font colors in either "#RRGGBB" format, "0xBBGGRR" format, or the decimal equivalent of the latter. As with token names, LPeg patterns, and styles, there is a set of predefined color names, but they vary depending on the current color theme in use. Therefore, it is generally not a good idea to manually define colors within styles in your lexer since they might not fit into a user's chosen color theme. Try to refrain from even using predefined colors in a style because that color may be theme-specific. Instead, the best practice is to either use predefined styles or derive new color-agnostic styles from predefined ones. For example, Lua "longstring" tokens use the existing lexer.STYLE_STRING style instead of defining a new one.

Example Styles

Defining styles is pretty straightforward. An empty style that inherits the default theme settings is simply an empty string:


    local style_nothing = ''
    

A similar style but with a bold font face looks like this:


    local style_bold = 'bold'
    

If you want the same style, but also with an italic font face, define the new style in terms of the old one:


    local style_bold_italic = style_bold..',italics'
    

This allows you to derive new styles from predefined ones without having to rewrite them. This operation leaves the old style unchanged. Thus if you had a "static variable" token whose style you wanted to base off of lexer.STYLE_VARIABLE, it would probably look like:


    local style_static_var = lexer.STYLE_VARIABLE..',italics'
    

The color theme files in the lexlua/themes/ folder give more examples of style definitions.

Token Styles

Lexers use the lexer.add_style() function to assign styles to particular tokens. Recall the token definition and from the lexer template:


    local ws = token(lexer.WHITESPACE, lexer.space^1)
    lex:add_rule('whitespace', ws)
    

Why is a style not assigned to the lexer.WHITESPACE token? As mentioned earlier, lexers automatically associate tokens that use predefined token names with a particular style. Only tokens with custom token names need manual style associations. As an example, consider a custom whitespace token:


    local ws = token('custom_whitespace', lexer.space^1)
    

Assigning a style to this token looks like:


    lex:add_style('custom_whitespace', lexer.STYLE_WHITESPACE)
    

Do not confuse token names with rule names. They are completely different entities. In the example above, the lexer associates the "custom_whitespace" token with the existing style for lexer.WHITESPACE tokens. If instead you prefer to color the background of whitespace a shade of grey, it might look like:


    local custom_style = lexer.STYLE_WHITESPACE..',back:$(color.grey)'
    lex:add_style('custom_whitespace', custom_style)
    

Notice that the lexer peforms Scintilla-style "$()" property expansion. You may also use "%()". Remember to refrain from assigning specific colors in styles, but in this case, all user color themes probably define the "color.grey" property.

Line Lexers

By default, lexers match the arbitrary chunks of text passed to them by Scintilla. These chunks may be a full document, only the visible part of a document, or even just portions of lines. Some lexers need to match whole lines. For example, a lexer for the output of a file "diff" needs to know if the line started with a '+' or '-' and then style the entire line accordingly. To indicate that your lexer matches by line, create the lexer with an extra parameter:


    local lex = lexer.new('?', {lex_by_line = true})
    

Now the input text for the lexer is a single line at a time. Keep in mind that line lexers do not have the ability to look ahead at subsequent lines.

Embedded Lexers

Lexers embed within one another very easily, requiring minimal effort. In the following sections, the lexer being embedded is called the "child" lexer and the lexer a child is being embedded in is called the "parent". For example, consider an HTML lexer and a CSS lexer. Either lexer stands alone for styling their respective HTML and CSS files. However, CSS can be embedded inside HTML. In this specific case, the CSS lexer is the "child" lexer with the HTML lexer being the "parent". Now consider an HTML lexer and a PHP lexer. This sounds a lot like the case with CSS, but there is a subtle difference: PHP embeds itself into HTML while CSS is embedded in HTML. This fundamental difference results in two types of embedded lexers: a parent lexer that embeds other child lexers in it (like HTML embedding CSS), and a child lexer that embeds itself into a parent lexer (like PHP embedding itself in HTML).

Parent Lexer

Before embedding a child lexer into a parent lexer, the parent lexer needs to load the child lexer. This is done with the lexer.load() function. For example, loading the CSS lexer within the HTML lexer looks like:


    local css = lexer.load('css')
    

The next part of the embedding process is telling the parent lexer when to switch over to the child lexer and when to switch back. The lexer refers to these indications as the "start rule" and "end rule", respectively, and are just LPeg patterns. Continuing with the HTML/CSS example, the transition from HTML to CSS is when the lexer encounters a "style" tag with a "type" attribute whose value is "text/css":


    local css_tag = P('<style') * P(function(input, index)
      if input:find('^[^>]+type="text/css"', index) then
        return index
      end
    end)
    

This pattern looks for the beginning of a "style" tag and searches its attribute list for the text "type="text/css"". (In this simplified example, the Lua pattern does not consider whitespace between the '=' nor does it consider that using single quotes is valid.) If there is a match, the functional pattern returns a value instead of nil. In this case, the value returned does not matter because we ultimately want to style the "style" tag as an HTML tag, so the actual start rule looks like this:


    local css_start_rule = #css_tag * tag
    

Now that the parent knows when to switch to the child, it needs to know when to switch back. In the case of HTML/CSS, the switch back occurs when the lexer encounters an ending "style" tag, though the lexer should still style the tag as an HTML tag:


    local css_end_rule = #P('</style>') * tag
    

Once the parent loads the child lexer and defines the child's start and end rules, it embeds the child with the lexer.embed() function:


    lex:embed(css, css_start_rule, css_end_rule)
    

Child Lexer

The process for instructing a child lexer to embed itself into a parent is very similar to embedding a child into a parent: first, load the parent lexer into the child lexer with the lexer.load() function and then create start and end rules for the child lexer. However, in this case, call lexer.embed() with switched arguments. For example, in the PHP lexer:


    local html = lexer.load('html')
    local php_start_rule = token('php_tag', '<?php ')
    local php_end_rule = token('php_tag', '?>')
    lex:add_style('php_tag', lexer.STYLE_EMBEDDED)
    html:embed(lex, php_start_rule, php_end_rule)
    

Lexers with Complex State

A vast majority of lexers are not stateful and can operate on any chunk of text in a document. However, there may be rare cases where a lexer does need to keep track of some sort of persistent state. Rather than using lpeg.P function patterns that set state variables, it is recommended to make use of Scintilla's built-in, per-line state integers via lexer.line_state. It was designed to accommodate up to 32 bit flags for tracking state. lexer.line_from_position() will return the line for any position given to an lpeg.P function pattern. (Any positions derived from that position argument will also work.)

Writing stateful lexers is beyond the scope of this document.

Code Folding

When reading source code, it is occasionally helpful to temporarily hide blocks of code like functions, classes, comments, etc. This is the concept of "folding". In many Scintilla-based editors, such as Textadept, little indicators in the editor margins appear next to code that can be folded at places called "fold points". When the user clicks an indicator, the editor hides the code associated with the indicator until the user clicks the indicator again. The lexer specifies these fold points and what code exactly to fold.

The fold points for most languages occur on keywords or character sequences. Examples of fold keywords are "if" and "end" in Lua and examples of fold character sequences are '{', '}', "/*", and "*/" in C for code block and comment delimiters, respectively. However, these fold points cannot occur just anywhere. For example, lexers should not recognize fold keywords that appear within strings or comments. The lexer.add_fold_point() function allows you to conveniently define fold points with such granularity. For example, consider C:


    lex:add_fold_point(lexer.OPERATOR, '{', '}')
    lex:add_fold_point(lexer.COMMENT, '/*', '*/')
    

The first assignment states that any '{' or '}' that the lexer recognized as an lexer.OPERATOR token is a fold point. Likewise, the second assignment states that any "/*" or "*/" that the lexer recognizes as part of a lexer.COMMENT token is a fold point. The lexer does not consider any occurrences of these characters outside their defined tokens (such as in a string) as fold points. How do you specify fold keywords? Here is an example for Lua:


    lex:add_fold_point(lexer.KEYWORD, 'if', 'end')
    lex:add_fold_point(lexer.KEYWORD, 'do', 'end')
    lex:add_fold_point(lexer.KEYWORD, 'function', 'end')
    lex:add_fold_point(lexer.KEYWORD, 'repeat', 'until')
    

If your lexer has case-insensitive keywords as fold points, simply add a case_insensitive_fold_points = true option to lexer.new(), and specify keywords in lower case.

If your lexer needs to do some additional processing in order to determine if a token is a fold point, pass a function that returns an integer to lex:add_fold_point(). Returning 1 indicates the token is a beginning fold point and returning -1 indicates the token is an ending fold point. Returning 0 indicates the token is not a fold point. For example:


    local function fold_strange_token(text, pos, line, s, symbol)
      if ... then
        return 1 -- beginning fold point
      elseif ... then
        return -1 -- ending fold point
      end
      return 0
    end

    lex:add_fold_point('strange_token', '|', fold_strange_token)
    

Any time the lexer encounters a '|' that is a "strange_token", it calls the fold_strange_token function to determine if '|' is a fold point. The lexer calls these functions with the following arguments: the text to identify fold points in, the beginning position of the current line in the text to fold, the current line's text, the position in the current line the fold point text starts at, and the fold point text itself.

Fold by Indentation

Some languages have significant whitespace and/or no delimiters that indicate fold points. If your lexer falls into this category and you would like to mark fold points based on changes in indentation, create the lexer with a fold_by_indentation = true option:


    local lex = lexer.new('?', {fold_by_indentation = true})
    

Using Lexers

Textadept

Put your lexer in your ~/.textadept/lexers/ directory so you do not overwrite it when upgrading Textadept. Also, lexers in this directory override default lexers. Thus, Textadept loads a user lua lexer instead of the default lua lexer. This is convenient for tweaking a default lexer to your liking. Then add a file type for your lexer if necessary.

Migrating Legacy Lexers

Legacy lexers are of the form:


    local l = require('lexer')
    local token, word_match = l.token, l.word_match
    local P, R, S = lpeg.P, lpeg.R, lpeg.S

    local M = {_NAME = '?'}

    [... token and pattern definitions ...]

    M._rules = {
      {'rule', pattern},
      [...]
    }

    M._tokenstyles = {
      'token' = 'style',
      [...]
    }

    M._foldsymbols = {
      _patterns = {...},
      ['token'] = {['start'] = 1, ['end'] = -1},
      [...]
    }

    return M
    

While such legacy lexers will be handled just fine without any changes, it is recommended that you migrate yours. The migration process is fairly straightforward:

  1. Replace all instances of l with lexer, as it's better practice and results in less confusion.
  2. Replace local M = {_NAME = '?'} with local lex = lexer.new('?'), where ? is the name of your legacy lexer. At the end of the lexer, change return M to return lex.
  3. Instead of defining rules towards the end of your lexer, define your rules as you define your tokens and patterns using lex:add_rule().
  4. Similarly, any custom token names should have their styles immediately defined using lex:add_style().
  5. Convert any table arguments passed to lexer.word_match() to a space-separated string of words.
  6. Replace any calls to lexer.embed(M, child, ...) and lexer.embed(parent, M, ...) with lex:embed(child, ...) and parent:embed(lex, ...), respectively.
  7. Define fold points with simple calls to lex:add_fold_point(). No need to mess with Lua patterns anymore.
  8. Any legacy lexer options such as M._FOLDBYINDENTATION, M._LEXBYLINE, M._lexer, etc. should be added as table options to lexer.new().
  9. Any external lexer rule fetching and/or modifications via lexer._RULES should be changed to use lexer.get_rule() and lexer.modify_rule().

As an example, consider the following sample legacy lexer:


    local l = require('lexer')
    local token, word_match = l.token, l.word_match
    local P, R, S = lpeg.P, lpeg.R, lpeg.S

    local M = {_NAME = 'legacy'}

    local ws = token(l.WHITESPACE, l.space^1)
    local comment = token(l.COMMENT, '#' * l.nonnewline^0)
    local string = token(l.STRING, l.delimited_range('"'))
    local number = token(l.NUMBER, l.float + l.integer)
    local keyword = token(l.KEYWORD, word_match{'foo', 'bar', 'baz'})
    local custom = token('custom', P('quux'))
    local identifier = token(l.IDENTIFIER, l.word)
    local operator = token(l.OPERATOR, S('+-*/%^=<>,.()[]{}'))

    M._rules = {
      {'whitespace', ws},
      {'keyword', keyword},
      {'custom', custom},
      {'identifier', identifier},
      {'string', string},
      {'comment', comment},
      {'number', number},
      {'operator', operator}
    }

    M._tokenstyles = {
      'custom' = l.STYLE_KEYWORD..',bold'
    }

    M._foldsymbols = {
      _patterns = {'[{}]'},
      [l.OPERATOR] = {['{'] = 1, ['}'] = -1}
    }

    return M
    

Following the migration steps would yield:


    local lexer = require('lexer')
    local token, word_match = lexer.token, lexer.word_match
    local P, R, S = lpeg.P, lpeg.R, lpeg.S

    local lex = lexer.new('legacy')

    lex:add_rule('whitespace', token(lexer.WHITESPACE, lexer.space^1))
    lex:add_rule('keyword', token(lexer.KEYWORD, word_match[[foo bar baz]]))
    lex:add_rule('custom', token('custom', P('quux')))
    lex:add_style('custom', lexer.STYLE_KEYWORD..',bold')
    lex:add_rule('identifier', token(lexer.IDENTIFIER, lexer.word))
    lex:add_rule('string', token(lexer.STRING, lexer.delimited_range('"')))
    lex:add_rule('comment', token(lexer.COMMENT, '#' * lexer.nonnewline^0))
    lex:add_rule('number', token(lexer.NUMBER, lexer.float + lexer.integer))
    lex:add_rule('operator', token(lexer.OPERATOR, S('+-*/%^=<>,.()[]{}')))

    lex:add_fold_point(lexer.OPERATOR, '{', '}')

    return lex
    

Considerations

Performance

There might be some slight overhead when initializing a lexer, but loading a file from disk into Scintilla is usually more expensive. On modern computer systems, I see no difference in speed between Lua lexers and Scintilla's C++ ones. Optimize lexers for speed by re-arranging lexer.add_rule() calls so that the most common rules match first. Do keep in mind that order matters for similar rules.

In some cases, folding may be far more expensive than lexing, particularly in lexers with a lot of potential fold points. If your lexer is exhibiting signs of slowness, try disabling folding your text editor first. If that speeds things up, you can try reducing the number of fold points you added, overriding lexer.fold() with your own implementation, or simply eliminating folding support from your lexer.

Limitations

Embedded preprocessor languages like PHP cannot completely embed in their parent languages in that the parent's tokens do not support start and end rules. This mostly goes unnoticed, but code like


    <div id="<?php echo $id; ?>">
    

will not style correctly.

Troubleshooting

Errors in lexers can be tricky to debug. Lexers print Lua errors to io.stderr and _G.print() statements to io.stdout. Running your editor from a terminal is the easiest way to see errors as they occur.

Risks

Poorly written lexers have the ability to crash Scintilla (and thus its containing application), so unsaved data might be lost. However, I have only observed these crashes in early lexer development, when syntax errors or pattern errors are present. Once the lexer actually starts styling text (either correctly or incorrectly, it does not matter), I have not observed any crashes.

Acknowledgements

Thanks to Peter Odding for his lexer post on the Lua mailing list that inspired me, and thanks to Roberto Ierusalimschy for LPeg.

Lua lexer module API fields

lexer.CLASS (string)

The token name for class tokens.

lexer.COMMENT (string)

The token name for comment tokens.

lexer.CONSTANT (string)

The token name for constant tokens.

lexer.DEFAULT (string)

The token name for default tokens.

lexer.ERROR (string)

The token name for error tokens.

lexer.FOLD_BASE (number)

The initial (root) fold level.

lexer.FOLD_BLANK (number)

Flag indicating that the line is blank.

lexer.FOLD_HEADER (number)

Flag indicating the line is fold point.

lexer.FUNCTION (string)

The token name for function tokens.

lexer.IDENTIFIER (string)

The token name for identifier tokens.

lexer.KEYWORD (string)

The token name for keyword tokens.

lexer.LABEL (string)

The token name for label tokens.

lexer.NUMBER (string)

The token name for number tokens.

lexer.OPERATOR (string)

The token name for operator tokens.

lexer.PREPROCESSOR (string)

The token name for preprocessor tokens.

lexer.REGEX (string)

The token name for regex tokens.

lexer.STRING (string)

The token name for string tokens.

lexer.STYLE_BRACEBAD (string)

The style used for unmatched brace characters.

lexer.STYLE_BRACELIGHT (string)

The style used for highlighted brace characters.

lexer.STYLE_CALLTIP (string)

The style used by call tips if buffer.call_tip_use_style is set. Only the font name, size, and color attributes are used.

lexer.STYLE_CLASS (string)

The style typically used for class definitions.

lexer.STYLE_COMMENT (string)

The style typically used for code comments.

lexer.STYLE_CONSTANT (string)

The style typically used for constants.

lexer.STYLE_CONTROLCHAR (string)

The style used for control characters. Color attributes are ignored.

lexer.STYLE_DEFAULT (string)

The style all styles are based off of.

lexer.STYLE_EMBEDDED (string)

The style typically used for embedded code.

lexer.STYLE_ERROR (string)

The style typically used for erroneous syntax.

lexer.STYLE_FOLDDISPLAYTEXT (string)

The style used for fold display text.

lexer.STYLE_FUNCTION (string)

The style typically used for function definitions.

lexer.STYLE_IDENTIFIER (string)

The style typically used for identifier words.

lexer.STYLE_INDENTGUIDE (string)

The style used for indentation guides.

lexer.STYLE_KEYWORD (string)

The style typically used for language keywords.

lexer.STYLE_LABEL (string)

The style typically used for labels.

lexer.STYLE_LINENUMBER (string)

The style used for all margins except fold margins.

lexer.STYLE_NUMBER (string)

The style typically used for numbers.

lexer.STYLE_OPERATOR (string)

The style typically used for operators.

lexer.STYLE_PREPROCESSOR (string)

The style typically used for preprocessor statements.

lexer.STYLE_REGEX (string)

The style typically used for regular expression strings.

lexer.STYLE_STRING (string)

The style typically used for strings.

lexer.STYLE_TYPE (string)

The style typically used for static types.

lexer.STYLE_VARIABLE (string)

The style typically used for variables.

lexer.STYLE_WHITESPACE (string)

The style typically used for whitespace.

lexer.TYPE (string)

The token name for type tokens.

lexer.VARIABLE (string)

The token name for variable tokens.

lexer.WHITESPACE (string)

The token name for whitespace tokens.

lexer.alnum (pattern)

A pattern that matches any alphanumeric character ('A'-'Z', 'a'-'z', '0'-'9').

lexer.alpha (pattern)

A pattern that matches any alphabetic character ('A'-'Z', 'a'-'z').

lexer.any (pattern)

A pattern that matches any single character.

lexer.ascii (pattern)

A pattern that matches any ASCII character (codes 0 to 127).

lexer.cntrl (pattern)

A pattern that matches any control character (ASCII codes 0 to 31).

lexer.dec_num (pattern)

A pattern that matches a decimal number.

lexer.digit (pattern)

A pattern that matches any digit ('0'-'9').

lexer.extend (pattern)

A pattern that matches any ASCII extended character (codes 0 to 255).

lexer.float (pattern)

A pattern that matches a floating point number.

lexer.fold_level (table, Read-only)

Table of fold level bit-masks for line numbers starting from zero. Fold level masks are composed of an integer level combined with any of the following bits:

  • lexer.FOLD_BASE The initial fold level.
  • lexer.FOLD_BLANK The line is blank.
  • lexer.FOLD_HEADER The line is a header, or fold point.

lexer.graph (pattern)

A pattern that matches any graphical character ('!' to '~').

lexer.hex_num (pattern)

A pattern that matches a hexadecimal number.

lexer.indent_amount (table, Read-only)

Table of indentation amounts in character columns, for line numbers starting from zero.

lexer.integer (pattern)

A pattern that matches either a decimal, hexadecimal, or octal number.

lexer.line_state (table)

Table of integer line states for line numbers starting from zero. Line states can be used by lexers for keeping track of persistent states.

lexer.lower (pattern)

A pattern that matches any lower case character ('a'-'z').

lexer.newline (pattern)

A pattern that matches any set of end of line characters.

lexer.nonnewline (pattern)

A pattern that matches any single, non-newline character.

lexer.nonnewline_esc (pattern)

A pattern that matches any single, non-newline character or any set of end of line characters escaped with '\'.

lexer.oct_num (pattern)

A pattern that matches an octal number.

lexer.path (string)

The path used to search for a lexer to load. Identical in format to Lua's package.path string. The default value is package.path.

lexer.print (pattern)

A pattern that matches any printable character (' ' to '~').

lexer.property (table)

Map of key-value string pairs.

lexer.property_expanded (table, Read-only)

Map of key-value string pairs with $() and %() variable replacement performed in values.

lexer.property_int (table, Read-only)

Map of key-value pairs with values interpreted as numbers, or 0 if not found.

lexer.punct (pattern)

A pattern that matches any punctuation character ('!' to '/', ':' to '@', '[' to ''', '{' to '~').

lexer.space (pattern)

A pattern that matches any whitespace character ('\t', '\v', '\f', '\n', '\r', space).

lexer.style_at (table, Read-only)

Table of style names at positions in the buffer starting from 1.

lexer.upper (pattern)

A pattern that matches any upper case character ('A'-'Z').

lexer.word (pattern)

A pattern that matches a typical word. Words begin with a letter or underscore and consist of alphanumeric and underscore characters.

lexer.xdigit (pattern)

A pattern that matches any hexadecimal digit ('0'-'9', 'A'-'F', 'a'-'f').

Lua lexer module API functions

lexer.add_fold_point (lexer, token_name, start_symbol, end_symbol)

Adds to lexer lexer a fold point whose beginning and end tokens are string token_name tokens with string content start_symbol and end_symbol, respectively. In the event that start_symbol may or may not be a fold point depending on context, and that additional processing is required, end_symbol may be a function that ultimately returns 1 (indicating a beginning fold point), -1 (indicating an ending fold point), or 0 (indicating no fold point). That function is passed the following arguments:

  • text: The text being processed for fold points.
  • pos: The position in text of the beginning of the line currently being processed.
  • line: The text of the line currently being processed.
  • s: The position of start_symbol in line.
  • symbol: start_symbol itself.

Fields:

  • lexer: The lexer to add a fold point to.
  • token_name: The token name of text that indicates a fold point.
  • start_symbol: The text that indicates the beginning of a fold point.
  • end_symbol: Either the text that indicates the end of a fold point, or a function that returns whether or not start_symbol is a beginning fold point (1), an ending fold point (-1), or not a fold point at all (0).

Usage:

  • lex:add_fold_point(lexer.OPERATOR, '{', '}')
  • lex:add_fold_point(lexer.KEYWORD, 'if', 'end')
  • lex:add_fold_point(lexer.COMMENT, '#', lexer.fold_line_comments('#'))
  • lex:add_fold_point('custom', function(text, pos, line, s, symbol) ... end)

lexer.add_rule (lexer, id, rule)

Adds pattern rule identified by string id to the ordered list of rules for lexer lexer.

Fields:

  • lexer: The lexer to add the given rule to.
  • id: The id associated with this rule. It does not have to be the same as the name passed to token().
  • rule: The LPeg pattern of the rule.

See also:

lexer.add_style (lexer, token_name, style)

Associates string token_name in lexer lexer with Scintilla style string style. Style strings are comma-separated property settings. Available property settings are:

  • font:name: Font name.
  • size:int: Font size.
  • bold or notbold: Whether or not the font face is bold.
  • weight:int: Font weight (between 1 and 999).
  • italics or notitalics: Whether or not the font face is italic.
  • underlined or notunderlined: Whether or not the font face is underlined.
  • fore:color: Font face foreground color in "#RRGGBB" or 0xBBGGRR format.
  • back:color: Font face background color in "#RRGGBB" or 0xBBGGRR format.
  • eolfilled or noteolfilled: Whether or not the background color extends to the end of the line.
  • case:char: Font case ('u' for uppercase, 'l' for lowercase, and 'm' for mixed case).
  • visible or notvisible: Whether or not the text is visible.
  • changeable or notchangeable: Whether or not the text is changeable or read-only.

Property settings may also contain "$(property.name)" expansions for properties defined in Scintilla, theme files, etc.

Fields:

  • lexer: The lexer to add a style to.
  • token_name: The name of the token to associated with the style.
  • style: A style string for Scintilla.

Usage:

  • lex:add_style('longstring', lexer.STYLE_STRING)
  • lex:add_style('deprecated_function', lexer.STYLE_FUNCTION..',italics')
  • lex:add_style('visible_ws', lexer.STYLE_WHITESPACE..',back:$(color.grey)')

lexer.delimited_range (chars, single_line, no_escape, balanced)

Creates and returns a pattern that matches a range of text bounded by chars characters. This is a convenience function for matching more complicated delimited ranges like strings with escape characters and balanced parentheses. single_line indicates whether or not the range must be on a single line, no_escape indicates whether or not to ignore '\' as an escape character, and balanced indicates whether or not to handle balanced ranges like parentheses and requires chars to be composed of two characters.

Fields:

  • chars: The character(s) that bound the matched range.
  • single_line: Optional flag indicating whether or not the range must be on a single line.
  • no_escape: Optional flag indicating whether or not the range end character may be escaped by a '\' character.
  • balanced: Optional flag indicating whether or not to match a balanced range, like the "%b" Lua pattern. This flag only applies if chars consists of two different characters (e.g. "()").

Usage:

  • local dq_str_escapes = lexer.delimited_range('"')
  • local dq_str_noescapes = lexer.delimited_range('"', false, true)
  • local unbalanced_parens = lexer.delimited_range('()')
  • local balanced_parens = lexer.delimited_range('()', false, false, true)

Return:

  • pattern

See also:

lexer.embed (lexer, child, start_rule, end_rule)

Embeds child lexer child in parent lexer lexer using patterns start_rule and end_rule, which signal the beginning and end of the embedded lexer, respectively.

Fields:

  • lexer: The parent lexer.
  • child: The child lexer.
  • start_rule: The pattern that signals the beginning of the embedded lexer.
  • end_rule: The pattern that signals the end of the embedded lexer.

Usage:

  • html:embed(css, css_start_rule, css_end_rule)
  • html:embed(lex, php_start_rule, php_end_rule) -- from php lexer

lexer.fold (lexer, text, start_pos, start_line, start_level)

Determines fold points in a chunk of text text using lexer lexer, returning a table of fold levels associated with line numbers. text starts at position start_pos on line number start_line with a beginning fold level of start_level in the buffer.

Fields:

  • lexer: The lexer to fold text with.
  • text: The text in the buffer to fold.
  • start_pos: The position in the buffer text starts at, starting at zero.
  • start_line: The line number text starts on.
  • start_level: The fold level text starts on.

Return:

  • table of fold levels associated with line numbers.

lexer.fold_line_comments (prefix)

Returns a fold function (to be passed to lexer.add_fold_point()) that folds consecutive line comments that start with string prefix.

Fields:

  • prefix: The prefix string defining a line comment.

Usage:

  • lex:add_fold_point(lexer.COMMENT, '--', lexer.fold_line_comments('--'))
  • lex:add_fold_point(lexer.COMMENT, '//', lexer.fold_line_comments('//'))

lexer.get_rule (lexer, id)

Returns the rule identified by string id.

Fields:

  • lexer: The lexer to fetch a rule from.
  • id: The id of the rule to fetch.

Return:

  • pattern

lexer.last_char_includes (s)

Creates and returns a pattern that verifies that string set s contains the first non-whitespace character behind the current match position.

Fields:

  • s: String character set like one passed to lpeg.S().

Usage:

  • local regex = lexer.last_char_includes('+-*!%^&|=,([{') * lexer.delimited_range('/')

Return:

  • pattern

lexer.lex (lexer, text, init_style)

Lexes a chunk of text text (that has an initial style number of init_style) using lexer lexer, returning a table of token names and positions.

Fields:

  • lexer: The lexer to lex text with.
  • text: The text in the buffer to lex.
  • init_style: The current style. Multiple-language lexers use this to determine which language to start lexing in.

Return:

  • table of token names and positions.

lexer.line_from_position (pos)

Returns the line number of the line that contains position pos, which starts from 1.

Fields:

  • pos: The position to get the line number of.

Return:

  • number

lexer.load (name, alt_name, cache)

Initializes or loads and returns the lexer of string name name. Scintilla calls this function in order to load a lexer. Parent lexers also call this function in order to load child lexers and vice-versa. The user calls this function in order to load a lexer when using this module as a Lua library.

Fields:

  • name: The name of the lexing language.
  • alt_name: The alternate name of the lexing language. This is useful for embedding the same child lexer with multiple sets of start and end tokens.
  • cache: Flag indicating whether or not to load lexers from the cache. This should only be true when initially loading a lexer (e.g. not from within another lexer for embedding purposes). The default value is false.

Return:

  • lexer object

lexer.modify_rule (lexer, id, rule)

Replaces in lexer lexer the existing rule identified by string id with pattern rule.

Fields:

  • lexer: The lexer to modify.
  • id: The id associated with this rule.
  • rule: The LPeg pattern of the rule.

lexer.nested_pair (start_chars, end_chars)

Returns a pattern that matches a balanced range of text that starts with string start_chars and ends with string end_chars. With single-character delimiters, this function is identical to delimited_range(start_chars..end_chars, false, true, true).

Fields:

  • start_chars: The string starting a nested sequence.
  • end_chars: The string ending a nested sequence.

Usage:

  • local nested_comment = lexer.nested_pair('/*', '*/')

Return:

  • pattern

See also:

lexer.new (name, opts)

Creates a returns a new lexer with the given name.

Fields:

  • name: The lexer's name.
  • opts: Table of lexer options. Options currently supported:
    • lex_by_line: Whether or not the lexer only processes whole lines of text (instead of arbitrary chunks of text) at a time. Line lexers cannot look ahead to subsequent lines. The default value is false.
    • fold_by_indentation: Whether or not the lexer does not define any fold points and that fold points should be calculated based on changes in line indentation. The default value is false.
    • case_insensitive_fold_points: Whether or not fold points added via lexer.add_fold_point() ignore case. The default value is false.
    • inherit: Lexer to inherit from. The default value is nil.

Usage:

  • lexer.new('rhtml', {inherit = lexer.load('html')})

lexer.starts_line (patt)

Creates and returns a pattern that matches pattern patt only at the beginning of a line.

Fields:

  • patt: The LPeg pattern to match on the beginning of a line.

Usage:

  • local preproc = token(lexer.PREPROCESSOR, lexer.starts_line('#') * lexer.nonnewline^0)

Return:

  • pattern

lexer.token (name, patt)

Creates and returns a token pattern with token name name and pattern patt. If name is not a predefined token name, its style must be defined via lexer.add_style().

Fields:

  • name: The name of token. If this name is not a predefined token name, then a style needs to be assiciated with it via lexer.add_style().
  • patt: The LPeg pattern associated with the token.

Usage:

  • local ws = token(lexer.WHITESPACE, lexer.space^1)
  • local annotation = token('annotation', '@' * lexer.word)

Return:

  • pattern

lexer.word_match (words, case_insensitive, word_chars)

Creates and returns a pattern that matches any single word in string words. case_insensitive indicates whether or not to ignore case when matching words. This is a convenience function for simplifying a set of ordered choice word patterns. If words is a multi-line string, it may contain Lua line comments (--) that will ultimately be ignored.

Fields:

  • words: A string list of words separated by spaces.
  • case_insensitive: Optional boolean flag indicating whether or not the word match is case-insensitive. The default value is false.
  • word_chars: Unused legacy parameter.

Usage:

  • local keyword = token(lexer.KEYWORD, word_match[[foo bar baz]])
  • local keyword = token(lexer.KEYWORD, word_match([[foo-bar foo-baz bar-foo bar-baz baz-foo baz-bar]], true))

Return:

  • pattern

Supported Languages

Scintilla has Lua lexers for all of the languages below. Languages denoted by a * have native folders. For languages without native folding support, folding based on indentation can be used if fold.by.indentation is enabled.

  1. Actionscript*
  2. Ada
  3. ANTLR*
  4. APDL*
  5. APL
  6. Applescript
  7. ASM* (NASM)
  8. ASP*
  9. AutoIt
  10. AWK*
  11. Batch*
  12. BibTeX*
  13. Boo
  14. C*
  15. C++*
  16. C#*
  17. ChucK
  18. CMake*
  19. Coffeescript
  20. ConTeXt*
  21. CSS*
  22. CUDA*
  23. D*
  24. Dart*
  25. Desktop Entry
  26. Diff
  27. Django*
  28. Dockerfile
  29. Dot*
  30. Eiffel*
  31. Elixir
  32. Erlang*
  33. F#
  34. Faust
  35. Fish*
  36. Forth
  37. Fortran
  38. GAP*
  39. gettext
  40. Gherkin
  41. GLSL*
  42. Gnuplot
  43. Go*
  44. Groovy*
  45. Gtkrc*
  46. Haskell
  47. HTML*
  48. Icon*
  49. IDL
  50. Inform
  51. ini
  52. Io*
  53. Java*
  54. Javascript*
  55. JSON*
  56. JSP*
  57. LaTeX*
  58. Ledger
  59. LESS*
  60. LilyPond
  61. Lisp*
  62. Literate Coffeescript
  63. Logtalk
  64. Lua*
  65. Makefile
  66. Man Page
  67. Markdown
  68. MATLAB*
  69. MoonScript
  70. Myrddin
  71. Nemerle*
  72. Nim
  73. NSIS
  74. Objective-C*
  75. OCaml
  76. Pascal
  77. Perl*
  78. PHP*
  79. PICO-8*
  80. Pike*
  81. PKGBUILD*
  82. Postscript
  83. PowerShell*
  84. Prolog
  85. Properties
  86. Pure
  87. Python
  88. R
  89. rc*
  90. REBOL*
  91. Rexx*
  92. ReStructuredText*
  93. RHTML*
  94. Ruby*
  95. Ruby on Rails*
  96. Rust*
  97. Sass*
  98. Scala*
  99. Scheme*
  100. Shell*
  101. Smalltalk*
  102. Standard ML
  103. SNOBOL4
  104. SQL
  105. TaskPaper
  106. Tcl*
  107. TeX*
  108. Texinfo*
  109. TOML
  110. Vala*
  111. VBScript
  112. vCard*
  113. Verilog*
  114. VHDL
  115. Visual Basic
  116. Windows Script File*
  117. XML*
  118. Xtend*
  119. YAML

Code Contributors

  • Alejandro Baez
  • Alex Saraci
  • Brian Schott
  • Carl Sturtivant
  • Chris Emerson
  • Christian Hesse
  • David B. Lamkins
  • Heck Fy
  • Jason Schindler
  • Jeff Stone
  • Joseph Eib
  • Joshua Krämer
  • Klaus Borges
  • Larry Hynes
  • M Rawash
  • Marc André Tanner
  • Markus F.X.J. Oberhumer
  • Martin Morawetz
  • Michael Forney
  • Michael T. Richter
  • Michel Martens
  • Murray Calavera
  • Neil Hodgson
  • Olivier Guibé
  • Peter Odding
  • Piotr Orzechowski
  • Richard Philips
  • Robert Gieseke
  • Roberto Ierusalimschy
  • S. Gilles
  • Stéphane Rivière
  • Tymur Gubayev
  • Wolfgang Seeberg
================================================ FILE: src/qscint/doc/Scintilla/Lexer.txt ================================================ How to write a scintilla lexer A lexer for a particular language determines how a specified range of text shall be colored. Writing a lexer is relatively straightforward because the lexer need only color given text. The harder job of determining how much text actually needs to be colored is handled by Scintilla itself, that is, the lexer's caller. Parameters The lexer for language LLL has the following prototype: static void ColouriseLLLDoc ( unsigned int startPos, int length, int initStyle, WordList *keywordlists[], Accessor &styler); The styler parameter is an Accessor object. The lexer must use this object to access the text to be colored. The lexer gets the character at position i using styler.SafeGetCharAt(i); The startPos and length parameters indicate the range of text to be recolored; the lexer must determine the proper color for all characters in positions startPos through startPos+length. The initStyle parameter indicates the initial state, that is, the state at the character before startPos. States also indicate the coloring to be used for a particular range of text. Note: the character at StartPos is assumed to start a line, so if a newline terminates the initStyle state the lexer should enter its default state (or whatever state should follow initStyle). The keywordlists parameter specifies the keywords that the lexer must recognize. A WordList class object contains methods that simplify the recognition of keywords. Present lexers use a helper function called classifyWordLLL to recognize keywords. These functions show how to use the keywordlists parameter to recognize keywords. This documentation will not discuss keywords further. The lexer code The task of a lexer can be summarized briefly: for each range r of characters that are to be colored the same, the lexer should call styler.ColourTo(i, state) where i is the position of the last character of the range r. The lexer should set the state variable to the coloring state of the character at position i and continue until the entire text has been colored. Note 1: the styler (Accessor) object remembers the i parameter in the previous calls to styler.ColourTo, so the single i parameter suffices to indicate a range of characters. Note 2: As a side effect of calling styler.ColourTo(i,state), the coloring states of all characters in the range are remembered so that Scintilla may set the initStyle parameter correctly on future calls to the lexer. Lexer organization There are at least two ways to organize the code of each lexer. Present lexers use what might be called a "character-based" approach: the outer loop iterates over characters, like this: lengthDoc = startPos + length ; for (unsigned int i = startPos; i < lengthDoc; i++) { chNext = styler.SafeGetCharAt(i + 1); << handle special cases >> switch(state) { // Handlers examine only ch and chNext. // Handlers call styler.ColorTo(i,state) if the state changes. case state_1: << handle ch in state 1 >> case state_2: << handle ch in state 2 >> ... case state_n: << handle ch in state n >> } chPrev = ch; } styler.ColourTo(lengthDoc - 1, state); An alternative would be to use a "state-based" approach. The outer loop would iterate over states, like this: lengthDoc = startPos+lenth ; for ( unsigned int i = startPos ;; ) { char ch = styler.SafeGetCharAt(i); int new_state = 0 ; switch ( state ) { // scanners set new_state if they set the next state. case state_1: << scan to the end of state 1 >> break ; case state_2: << scan to the end of state 2 >> break ; case default_state: << scan to the next non-default state and set new_state >> } styler.ColourTo(i, state); if ( i >= lengthDoc ) break ; if ( ! new_state ) { ch = styler.SafeGetCharAt(i); << set state based on ch in the default state >> } } styler.ColourTo(lengthDoc - 1, state); This approach might seem to be more natural. State scanners are simpler than character scanners because less needs to be done. For example, there is no need to test for the start of a C string inside the scanner for a C comment. Also this way makes it natural to define routines that could be used by more than one scanner; for example, a scanToEndOfLine routine. However, the special cases handled in the main loop in the character-based approach would have to be handled by each state scanner, so both approaches have advantages. These special cases are discussed below. Special case: Lead characters Lead bytes are part of DBCS processing for languages such as Japanese using an encoding such as Shift-JIS. In these encodings, extended (16-bit) characters are encoded as a lead byte followed by a trail byte. Lead bytes are rarely of any lexical significance, normally only being allowed within strings and comments. In such contexts, lexers should ignore ch if styler.IsLeadByte(ch) returns TRUE. Note: UTF-8 is simpler than Shift-JIS, so no special handling is applied for it. All UTF-8 extended characters are >= 128 and none are lexically significant in programming languages which, so far, use only characters in ASCII for operators, comment markers, etc. Special case: Folding Folding may be performed in the lexer function. It is better to use a separate folder function as that avoids some troublesome interaction between styling and folding. The folder function will be run after the lexer function if folding is enabled. The rest of this section explains how to perform folding within the lexer function. During initialization, lexers that support folding set bool fold = styler.GetPropertyInt("fold"); If folding is enabled in the editor, fold will be TRUE and the lexer should call: styler.SetLevel(line, level); at the end of each line and just before exiting. The line parameter is simply the count of the number of newlines seen. It's initial value is styler.GetLine(startPos) and it is incremented (after calling styler.SetLevel) whenever a newline is seen. The level parameter is the desired indentation level in the low 12 bits, along with flag bits in the upper four bits. The indentation level depends on the language. For C++, it is incremented when the lexer sees a '{' and decremented when the lexer sees a '}' (outside of strings and comments, of course). The following flag bits, defined in Scintilla.h, may be set or cleared in the flags parameter. The SC_FOLDLEVELWHITEFLAG flag is set if the lexer considers that the line contains nothing but whitespace. The SC_FOLDLEVELHEADERFLAG flag indicates that the line is a fold point. This normally means that the next line has a greater level than present line. However, the lexer may have some other basis for determining a fold point. For example, a lexer might create a header line for the first line of a function definition rather than the last. The SC_FOLDLEVELNUMBERMASK mask denotes the level number in the low 12 bits of the level param. This mask may be used to isolate either flags or level numbers. For example, the C++ lexer contains the following code when a newline is seen: if (fold) { int lev = levelPrev; // Set the "all whitespace" bit if the line is blank. if (visChars == 0) lev |= SC_FOLDLEVELWHITEFLAG; // Set the "header" bit if needed. if ((levelCurrent > levelPrev) && (visChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; styler.SetLevel(lineCurrent, lev); // reinitialize the folding vars describing the present line. lineCurrent++; visChars = 0; // Number of non-whitespace characters on the line. levelPrev = levelCurrent; } The following code appears in the C++ lexer just before exit: // Fill in the real level of the next line, keeping the current flags // as they will be filled in later. if (fold) { // Mask off the level number, leaving only the previous flags. int flagsNext = styler.LevelAt(lineCurrent); flagsNext &= ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } Don't worry about performance The writer of a lexer may safely ignore performance considerations: the cost of redrawing the screen is several orders of magnitude greater than the cost of function calls, etc. Moreover, Scintilla performs all the important optimizations; Scintilla ensures that a lexer will be called only to recolor text that actually needs to be recolored. Finally, it is not necessary to avoid extra calls to styler.ColourTo: the sytler object buffers calls to ColourTo to avoid multiple updates of the screen. Page contributed by Edward K. Ream ================================================ FILE: src/qscint/doc/Scintilla/Privacy.html ================================================ Privacy Policy
Scintilla icon Scintilla and SciTE

Privacy Policy for scintilla.org

Information Collected

Logs are collected to allow analysis of which pages are viewed. The advertisements collect viewing information through Google Analytics which is used by Google and advertisers. No personally identifiable information is collected by scintilla.org.

External Links

Other web sites are linked to from this site. These web sites have their own privacy policies which may differ significantly to those of scintilla.org.

Cookies

A cookie is a text file placed on the hard drive of a computer by some web pages which is used to remember when a particular user returns to that site. The advertisements shown on the main pages may use cookies.

Contact

This web site is the responsibility of Neil Hodgson. Most queries about the site contents should go to one of the mailing lists mentioned on the main pages. Queries about the privacy policy may be sent to neilh @ scintilla.org.

Changes to this Policy

This policy may change. If it does then this page will be updated and the date at the bottom will change.

This policy was last updated 2 June 2015.

================================================ FILE: src/qscint/doc/Scintilla/SciCoding.html ================================================ Scintilla and SciTE Code Style Preferences
Scintilla icon Scintilla and SciTE

Code Style

Introduction

The source code of Scintilla and SciTE follow my preferences. Some of these decisions are arbitrary and based on my sense of aesthetics but its good to have all the code look the same even if its not exactly how everyone would prefer.

Code that does not follow these conventions will be accepted, but will be modified as time goes by to fit the conventions. Scintilla code follows the conventions more closely than SciTE except for lexers which are relatively independent modules. Lexers that are maintained by others are left as they are submitted except that warnings will be fixed so the whole project can compile cleanly.

The AStyle formatting program with '-taOHUKk3 -M8' arguments formats code in much the right way although there are a few bugs in AStyle.

Language features

Design goals for Scintilla and SciTE include portability to currently available C++ compilers on diverse platforms with high performance and low resource usage. Scintilla has stricter portability requirements to SciTE as it may be ported to low capability platforms. Scintilla code must build with C++03 which can be checked with "g++ --std=gnu++03". SciTE can use C++11 features that are widely available from g++ 4.6, MSVC 2012 and clang 3.4 compilers.

To achieve portability, only a subset of C++ features are used. Exceptions and templates may be used but, since Scintilla can be used from C as well as C++, exceptions may not be thrown out of Scintilla and all exceptions should be caught before returning from Scintilla. Run-time type information adds to memory use so is turned off. A 'Scintilla' name space is used. This helps with name clashes on OS X.

The goto statement is not used because of bad memories from my first job maintaining FORTRAN programs. The union feature is not used as it can lead to non-type-safe value access.

The SCI_METHOD preprocessor definition should be used when implementing interfaces which include it like ILexer and only there.

Headers should always be included in the same order as given by the scripts/HeaderOrder.txt file.

Casting

Do not use old C style casts like (char *)s. Instead use the most strict form of C++ cast possible like const_cast<char *>(s). Use static_cast and const_cast where possible rather than reinterpret_cast.

The benefit to using the new style casts is that they explicitly detail what evil is occurring and act as signals that something potentially unsafe is being done.

Code that treats const seriously is easier to reason about both for humans and compilers, so use const parameters and avoid const_cast.

Warnings

To help ensure code is well written and portable, it is compiled with almost all warnings turned on. This sometimes results in warnings about code that is completely good (false positives) but changing the code to avoid the warnings is generally fast and has little impact on readability.

Initialise all variables and minimise the scope of variables. If a variable is defined just before its use then it can't be misused by code before that point. Use loop declarations that are compatible with both the C++ standard and currently available compilers.

Allocation

Memory exhaustion can occur in many Scintilla methods. This should be checked for and handled but once it has happened, it is very difficult to do anything as Scintilla's data structures may be in an inconsistent state. Fixed length buffers are often used as these are simple and avoid the need to worry about memory exhaustion but then require that buffer lengths are respected.

The C++ new and delete operators are preferred over C's malloc and free as new and delete are type safe.

Bracketing

Start brackets, '{', should be located on the line of the control structure they start and end brackets, '}', should be at the indented start of a line. When there is an else clause, this occurs on the same line as the '}'. This format uses less lines than alternatives, allowing more code to be seen on screen. Fully bracketed control structures are preferred because this makes it more likely that modifications will be correct and it allows Scintilla's folder to work. No braces on returned expressions as return is a keyword, not a function call.

bool fn(int a) {
        
if (a) {
                
s();
                
t();
        
} else {
                
u();
        
}
        
return !a;
}

Spacing

Spaces on both sides of '=' and comparison operators and no attempt to line up '='. No space before or after '(', when used in calls, but a space after every ','. No spaces between tokens in short expressions but may be present in longer expressions. Space before '{'. No space before ';'. No space after '*' when used to mean pointer and no space after '[' or ']'. One space between keywords and '('.

void StoreConditionally(int c, const char *s) {
        
if (c && (baseSegment == trustSegment["html"])) {
                
baseSegment = s+1;
                
Store(s, baseSegment, "html");
        
}
}

Names

Identifiers use mixed case and no underscores. Class, function and method names start with an uppercase letter and use further upper case letters to distinguish words. Variables start with a lower case letter and use upper case letters to distinguish words. Loop counters and similar variables can have simple names like 'i'. Function calls should be differentiated from method calls with an initial '::' global scope modifier.

class StorageZone {
public:
        
void Store(const char *s) {
                
Media *mediaStore = ::GetBaseMedia(zoneDefault);
                
for (int i=mediaStore->cursor; mediaStore[i], i++) {
                        
mediaStore->Persist(s[i]);
                
}
        
}
};

Submitting a lexer

Add a public feature request to the Feature Request Tracker.

Send all the modified and new files as full text (not patches) in an archive (.zip or .tgz).

Define all of the lexical states in a modified Scintilla.iface.

Ensure there are no warnings under the compiler you use. Warnings from other compilers will be noted on the feature request.

sc.ch is an int: do not pass this around as a char.

The ctype functions like isalnum and isdigit only work on ASCII (0..127) and may cause undefined behaviour including crashes if used on other values. Check with IsASCII before calling is*.

Functions, structs and classes in lexers should be in an unnamed namespace (see LexCPP) or be marked "static" so they will not leak into other lexers.

If you copy from an existing lexer, remove any code that is not needed since it makes it more difficult to maintain and review.

When modifying an existing lexer, try to maintain as much compatibility as possible. Do not renumber lexical styles as current client code may be built against the earlier values.

Properties

Properties provided by a new lexer should follow the naming conventions and should include a comment suitable for showing to end users. The convention is for properties that control styling to be named lexer.<lexername>.* and those that control folding to be named fold.<lexername>.*. Examples are "lexer.python.literals.binary" and "fold.haskell.imports".

The properties "fold" and "fold.comment" are generic and can be used by any lexer.

See LexPython for examples of properties in an object lexer and LexHTML for a functional lexer.

================================================ FILE: src/qscint/doc/Scintilla/ScintillaDoc.html ================================================ Scintilla Documentation
Scintilla icon Scintilla

Scintilla Documentation

Last edited 6 June 2018 NH

There is an overview of the internal design of Scintilla.
Some notes on using Scintilla.
How to use the Scintilla Edit Control on Windows.
A simple sample using Scintilla from C++ on Windows.
A simple sample using Scintilla from Visual Basic.
Bait is a tiny sample using Scintilla on GTK+.
A detailed description of how to write a lexer, including a discussion of folding.
How to implement a lexer in the container.
How to implement folding.
Beginner's Guide to lexing and folding.
How to write lexers in Lua.
The coding style used in Scintilla and SciTE is worth following if you want to contribute code to Scintilla but is not compulsory.

Introduction

The Windows version of Scintilla is a Windows Control. As such, its primary programming interface is through Windows messages. Early versions of Scintilla emulated much of the API defined by the standard Windows Edit and RichEdit controls but those APIs are now deprecated in favour of Scintilla's own, more consistent API. In addition to messages performing the actions of a normal Edit control, Scintilla allows control of syntax styling, folding, markers, autocompletion and call tips.

The GTK+ version also uses messages in a similar way to the Windows version. This is different to normal GTK+ practice but made it easier to implement rapidly.

Scintilla also builds with Cocoa on OS X, with Qt, and with curses, and follows the conventions of those platforms.

Scintilla does not properly support right-to-left languages like Arabic and Hebrew. While text in these languages may appear correct, it is not possible to interact with this text as is normal with other editing components.

This documentation describes the individual messages and notifications used by Scintilla. It does not describe how to link them together to form a useful editor. For now, the best way to work out how to develop using Scintilla is to see how SciTE uses it. SciTE exercises most of Scintilla's facilities.

In the descriptions that follow, the messages are described as function calls with zero, one or two arguments. These two arguments are the standard wParam and lParam familiar to Windows programmers. These parameters are integers that are large enough to hold pointers, and the return value is also an integer large enough to contain a pointer. Although the commands only use the arguments described, because all messages have two arguments whether Scintilla uses them or not, it is strongly recommended that any unused arguments are set to 0. This allows future enhancement of messages without the risk of breaking existing code. Common argument types are:

bool Arguments expect the values 0 for false and 1 for true.
int Arguments are 32-bit or 64-bit signed integers depending on the platform. Equivalent to intptr_t.
const char * Arguments point at text that is being passed to Scintilla but not modified. The text may be zero terminated or another argument may specify the character count, the description will make this clear.
char * Arguments point at text buffers that Scintilla will fill with text. In some cases, another argument will tell Scintilla the buffer size. In others, you must make sure that the buffer is big enough to hold the requested text. If a NULL pointer (0) is passed then, for SCI_* calls, the length that should be allocated, not including any terminating NUL, is returned. Some calls (marked "NUL-terminated") add a NUL character to the result but other calls do not: to generically handle both types, allocate one more byte than indicated and set it to NUL.
colour Colours are set using the RGB format (Red, Green, Blue). The intensity of each colour is set in the range 0 to 255. If you have three such intensities, they are combined as: red | (green << 8) | (blue << 16). If you set all intensities to 255, the colour is white. If you set all intensities to 0, the colour is black. When you set a colour, you are making a request. What you will get depends on the capabilities of the system and the current screen mode.
alpha Translucency is set using an alpha value. Alpha ranges from 0 (SC_ALPHA_TRANSPARENT) which is completely transparent to 255 (SC_ALPHA_OPAQUE) which is opaque. The value 256 (SC_ALPHA_NOALPHA) is opaque and uses code that is not alpha-aware and may be faster. Not all platforms support translucency and only some Scintilla features implement translucency. The default alpha value for most features is SC_ALPHA_NOALPHA.
<unused> This is an unused argument. Setting it to 0 will ensure compatibility with future enhancements.

Contents

scrolling
Text retrieval and modification Searching and replacing Overtype
Cut, copy and paste Error handling Undo and Redo
Selection and information By character or UTF-16 code unit Multiple Selection and Virtual Space
Scrolling and automatic White space Cursor
Mouse capture Line endings Words
Styling Style definition Caret, selection, and hotspot styles
Character representations Margins Annotations
Other settings Brace highlighting Tabs and Indentation Guides
Markers Indicators Autocompletion
User lists Call tips Keyboard commands
Key bindings Popup edit menu Macro recording
Printing Direct access Multiple views
Background loading and saving Folding Line wrapping
Zooming Long lines Accessibility
Lexer Lexer objects Notifications
Images GTK+ Provisional messages
Deprecated messages Edit messages never supported by Scintilla Removed features
Building Scintilla

Messages with names of the form SCI_SETxxxxx often have a companion SCI_GETxxxxx. To save tedious repetition, if the SCI_GETxxxxx message returns the value set by the SCI_SETxxxxx message, the SET routine is described and the GET routine is left to your imagination.

Text retrieval and modification

Each byte in a Scintilla document is associated with a byte of styling information. The combination of a character byte and a style byte is called a cell. Style bytes are interpreted an index into an array of styles.

In this document, 'character' normally refers to a byte even when multi-byte characters are used. Lengths measure the numbers of bytes, not the amount of characters in those bytes.

Positions within the Scintilla document refer to a character or the gap before that character. The first character in a document is 0, the second 1 and so on. If a document contains nLen characters, the last character is numbered nLen-1. The caret exists between character positions and can be located from before the first character (0) to after the last character (nLen).

There are places where the caret can not go where two character bytes make up one character. This occurs when a DBCS character from a language like Japanese is included in the document or when line ends are marked with the CP/M standard of a carriage return followed by a line feed. The INVALID_POSITION constant (-1) represents an invalid position within the document.

All lines of text in Scintilla are the same height, and this height is calculated from the largest font in any current style. This restriction is for performance; if lines differed in height then calculations involving positioning of text would require the text to be styled first.

SCI_GETTEXT(int length, char *text) → int
SCI_SETTEXT(<unused>, const char *text)
SCI_SETSAVEPOINT
SCI_GETLINE(int line, char *text) → int
SCI_REPLACESEL(<unused>, const char *text)
SCI_SETREADONLY(bool readOnly)
SCI_GETREADONLY → bool
SCI_GETTEXTRANGE(<unused>, Sci_TextRange *tr) → int
SCI_ALLOCATE(int bytes)
SCI_ADDTEXT(int length, const char *text)
SCI_ADDSTYLEDTEXT(int length, cell *c)
SCI_APPENDTEXT(int length, const char *text)
SCI_INSERTTEXT(int pos, const char *text)
SCI_CHANGEINSERTION(int length, const char *text)
SCI_CLEARALL
SCI_DELETERANGE(int start, int lengthDelete)
SCI_CLEARDOCUMENTSTYLE
SCI_GETCHARAT(int pos) → int
SCI_GETSTYLEAT(int pos) → int
SCI_GETSTYLEDTEXT(<unused>, Sci_TextRange *tr) → int
SCI_RELEASEALLEXTENDEDSTYLES
SCI_ALLOCATEEXTENDEDSTYLES(int numberStyles) → int
SCI_TARGETASUTF8(<unused>, char *s) → int
SCI_ENCODEDFROMUTF8(const char *utf8, char *encoded) → int
SCI_SETLENGTHFORENCODE(int bytes)

SCI_GETTEXT(int length, char *text NUL-terminated) → int
This returns length-1 characters of text from the start of the document plus one terminating 0 character. To collect all the text in a document, use SCI_GETLENGTH to get the number of characters in the document (nLen), allocate a character buffer of length nLen+1 bytes, then call SCI_GETTEXT(nLen+1, char *text). If the text argument is 0 then the length that should be allocated to store the entire document is returned. If you then save the text, you should use SCI_SETSAVEPOINT to mark the text as unmodified.

See also: SCI_GETSELTEXT, SCI_GETCURLINE, SCI_GETLINE, SCI_GETSTYLEDTEXT, SCI_GETTEXTRANGE

SCI_SETTEXT(<unused>, const char *text)
This replaces all the text in the document with the zero terminated text string you pass in.

SCI_SETSAVEPOINT
This message tells Scintilla that the current state of the document is unmodified. This is usually done when the file is saved or loaded, hence the name "save point". As Scintilla performs undo and redo operations, it notifies the container that it has entered or left the save point with SCN_SAVEPOINTREACHED and SCN_SAVEPOINTLEFT notification messages, allowing the container to know if the file should be considered dirty or not.

See also: SCI_EMPTYUNDOBUFFER, SCI_GETMODIFY

SCI_GETLINE(int line, char *text) → int
This fills the buffer defined by text with the contents of the nominated line (lines start at 0). The buffer is not terminated by a 0 character. It is up to you to make sure that the buffer is long enough for the text, use SCI_LINELENGTH(int line). The returned value is the number of characters copied to the buffer. The returned text includes any end of line characters. If you ask for a line number outside the range of lines in the document, 0 characters are copied. If the text argument is 0 then the length that should be allocated to store the entire line is returned.

See also: SCI_GETCURLINE, SCI_GETSELTEXT, SCI_GETTEXTRANGE, SCI_GETSTYLEDTEXT, SCI_GETTEXT

SCI_REPLACESEL(<unused>, const char *text)
The currently selected text between the anchor and the current position is replaced by the 0 terminated text string. If the anchor and current position are the same, the text is inserted at the caret position. The caret is positioned after the inserted text and the caret is scrolled into view.

SCI_SETREADONLY(bool readOnly)
SCI_GETREADONLY → bool
These messages set and get the read-only flag for the document. If you mark a document as read only, attempts to modify the text cause the SCN_MODIFYATTEMPTRO notification.

SCI_GETTEXTRANGE(<unused>, Sci_TextRange *tr) → int
This collects the text between the positions cpMin and cpMax and copies it to lpstrText (see struct Sci_TextRange in Scintilla.h). If cpMax is -1, text is returned to the end of the document. The text is 0 terminated, so you must supply a buffer that is at least 1 character longer than the number of characters you wish to read. The return value is the length of the returned text not including the terminating 0.

See also: SCI_GETSELTEXT, SCI_GETLINE, SCI_GETCURLINE, SCI_GETSTYLEDTEXT, SCI_GETTEXT

SCI_GETSTYLEDTEXT(<unused>, Sci_TextRange *tr) → int
This collects styled text into a buffer using two bytes for each cell, with the character at the lower address of each pair and the style byte at the upper address. Characters between the positions cpMin and cpMax are copied to lpstrText (see struct Sci_TextRange in Scintilla.h). Two 0 bytes are added to the end of the text, so the buffer that lpstrText points at must be at least 2*(cpMax-cpMin)+2 bytes long. No check is made for sensible values of cpMin or cpMax. Positions outside the document return character codes and style bytes of 0.

See also: SCI_GETSELTEXT, SCI_GETLINE, SCI_GETCURLINE, SCI_GETTEXTRANGE, SCI_GETTEXT

SCI_ALLOCATE(int bytes)
Allocate a document buffer large enough to store a given number of bytes. The document will not be made smaller than its current contents.

SCI_ADDTEXT(int length, const char *text)
This inserts the first length characters from the string text at the current position. This will include any 0's in the string that you might have expected to stop the insert operation. The current position is set at the end of the inserted text, but it is not scrolled into view.

SCI_ADDSTYLEDTEXT(int length, cell *c)
This behaves just like SCI_ADDTEXT, but inserts styled text.

SCI_APPENDTEXT(int length, const char *text)
This adds the first length characters from the string text to the end of the document. This will include any 0's in the string that you might have expected to stop the operation. The current selection is not changed and the new text is not scrolled into view.

SCI_INSERTTEXT(int pos, const char *text)
This inserts the zero terminated text string at position pos or at the current position if pos is -1. If the current position is after the insertion point then it is moved along with its surrounding text but no scrolling is performed.

SCI_CHANGEINSERTION(int length, const char *text)
This may only be called from a SC_MOD_INSERTCHECK notification handler and will change the text being inserted to that provided.

SCI_CLEARALL
Unless the document is read-only, this deletes all the text.

SCI_DELETERANGE(int start, int lengthDelete)
Deletes a range of text in the document.

SCI_CLEARDOCUMENTSTYLE
When wanting to completely restyle the document, for example after choosing a lexer, the SCI_CLEARDOCUMENTSTYLE can be used to clear all styling information and reset the folding state.

SCI_GETCHARAT(int pos) → int
This returns the character at pos in the document or 0 if pos is negative or past the end of the document.

SCI_GETSTYLEAT(int pos) → int
This returns the style at pos in the document, or 0 if pos is negative or past the end of the document.

SCI_RELEASEALLEXTENDEDSTYLES
SCI_ALLOCATEEXTENDEDSTYLES(int numberStyles) → int
Extended styles are used for features like textual margins and annotations as well as internally by Scintilla. They are outside the range 0..255 used for the styles bytes associated with document bytes. These functions manage the use of extended styles to ensures that components cooperate in defining styles. SCI_RELEASEALLEXTENDEDSTYLES releases any extended styles allocated by the container. SCI_ALLOCATEEXTENDEDSTYLES allocates a range of style numbers after the byte style values and returns the number of the first allocated style. Ranges for margin and annotation styles should be allocated before calling SCI_MARGINSETSTYLEOFFSET or SCI_ANNOTATIONSETSTYLEOFFSET.

Sci_TextRange and Sci_CharacterRange
These structures are defined to be exactly the same shape as the Win32 TEXTRANGE and CHARRANGE, so that older code that treats Scintilla as a RichEdit will work.

In a future release the type Sci_PositionCR will be redefined to be 64-bits when Scintilla is built for 64-bits on all platforms.

typedef long Sci_PositionCR;

struct Sci_CharacterRange {
    Sci_PositionCR cpMin;
    Sci_PositionCR cpMax;
};

struct Sci_TextRange {
    struct Sci_CharacterRange chrg;
    char *lpstrText;
};

Specific to GTK+, Cocoa and Windows only: Access to encoded text

SCI_TARGETASUTF8(<unused>, char *s) → int
This method retrieves the value of the target encoded as UTF-8 which is the default encoding of GTK+ so is useful for retrieving text for use in other parts of the user interface, such as find and replace dialogs. The length of the encoded text in bytes is returned. Cocoa uses UTF-16 which is easily converted from UTF-8 so this method can be used to perform the more complex work of transcoding from the various encodings supported.

SCI_ENCODEDFROMUTF8(const char *utf8, char *encoded) → int
SCI_SETLENGTHFORENCODE(int bytes)
SCI_ENCODEDFROMUTF8 converts a UTF-8 string into the document's encoding which is useful for taking the results of a find dialog, for example, and receiving a string of bytes that can be searched for in the document. Since the text can contain nul bytes, the SCI_SETLENGTHFORENCODE method can be used to set the length that will be converted. If set to -1, the length is determined by finding a nul byte. The length of the converted string is returned.

Searching

There are methods to search for text and for regular expressions. Most applications should use SCI_SEARCHINTARGET as the basis for their search implementations. Other calls augment this or were implemented before SCI_SEARCHINTARGET.

The base regular expression support is limited and should only be used for simple cases and initial development. The C++ runtime <regex> library may be used by setting the SCFIND_CXX11REGEX search flag. The C++11 <regex> support may be disabled by compiling Scintilla with NO_CXX11_REGEX defined. A different regular expression library can be integrated into Scintilla or can be called from the container using direct access to the buffer contents through SCI_GETCHARACTERPOINTER.

Search and replace using the target

Searching can be performed within the target range with SCI_SEARCHINTARGET, which uses a counted string to allow searching for null characters. It returns the position of the start of the matching text range or -1 for failure, in which case the target is not moved. The flags used by SCI_SEARCHINTARGET such as SCFIND_MATCHCASE, SCFIND_WHOLEWORD, SCFIND_WORDSTART, and SCFIND_REGEXP can be set with SCI_SETSEARCHFLAGS.

SCI_SETTARGETSTART(int start)
SCI_GETTARGETSTART → position
SCI_SETTARGETEND(int end)
SCI_GETTARGETEND → position
SCI_SETTARGETRANGE(int start, int end)
SCI_TARGETFROMSELECTION
SCI_TARGETWHOLEDOCUMENT
SCI_SETSEARCHFLAGS(int searchFlags)
SCI_GETSEARCHFLAGS → int
SCI_SEARCHINTARGET(int length, const char *text) → int
SCI_GETTARGETTEXT(<unused>, char *text) → int
SCI_REPLACETARGET(int length, const char *text) → int
SCI_REPLACETARGETRE(int length, const char *text) → int
SCI_GETTAG(int tagNumber, char *tagValue) → int

SCI_SETTARGETSTART(int start)
SCI_GETTARGETSTART → position
SCI_SETTARGETEND(int end)
SCI_GETTARGETEND → position
SCI_SETTARGETRANGE(int start, int end)
These functions set and return the start and end of the target. When searching you can set start greater than end to find the last matching text in the target rather than the first matching text. The target is also set by a successful SCI_SEARCHINTARGET.

SCI_TARGETFROMSELECTION
Set the target start and end to the start and end positions of the selection.

SCI_TARGETWHOLEDOCUMENT
Set the target start to the start of the document and target end to the end of the document.

SCI_SETSEARCHFLAGS(int searchFlags)
SCI_GETSEARCHFLAGS → int
These get and set the searchFlags used by SCI_SEARCHINTARGET. There are several option flags including a simple regular expression search.

SCI_SEARCHINTARGET(int length, const char *text) → int
This searches for the first occurrence of a text string in the target defined by SCI_SETTARGETSTART and SCI_SETTARGETEND. The text string is not zero terminated; the size is set by length. The search is modified by the search flags set by SCI_SETSEARCHFLAGS. If the search succeeds, the target is set to the found text and the return value is the position of the start of the matching text. If the search fails, the result is -1.

SCI_GETTARGETTEXT(<unused>, char *text) → int
Retrieve the value in the target.

SCI_REPLACETARGET(int length, const char *text) → int
If length is -1, text is a zero terminated string, otherwise length sets the number of character to replace the target with. After replacement, the target range refers to the replacement text. The return value is the length of the replacement string.
Note that the recommended way to delete text in the document is to set the target to the text to be removed, and to perform a replace target with an empty string.

SCI_REPLACETARGETRE(int length, const char *text) → int
This replaces the target using regular expressions. If length is -1, text is a zero terminated string, otherwise length is the number of characters to use. The replacement string is formed from the text string with any sequences of \1 through \9 replaced by tagged matches from the most recent regular expression search. \0 is replaced with all the matched text from the most recent search. After replacement, the target range refers to the replacement text. The return value is the length of the replacement string.

SCI_GETTAG(int tagNumber, char *tagValue NUL-terminated) → int
Discover what text was matched by tagged expressions in a regular expression search. This is useful if the application wants to interpret the replacement string itself.

See also: SCI_FINDTEXT

searchFlags
Several of the search routines use flag options, which include a simple regular expression search. Combine the flag options by adding them:

SCFIND_MATCHCASE A match only occurs with text that matches the case of the search string.
SCFIND_WHOLEWORD A match only occurs if the characters before and after are not word characters as defined by SCI_SETWORDCHARS.
SCFIND_WORDSTART A match only occurs if the character before is not a word character as defined by SCI_SETWORDCHARS.
SCFIND_REGEXP The search string should be interpreted as a regular expression. Uses Scintilla's base implementation unless combined with SCFIND_CXX11REGEX.
SCFIND_POSIX Treat regular expression in a more POSIX compatible manner by interpreting bare ( and ) for tagged sections rather than \( and \). Has no effect when SCFIND_CXX11REGEX is set.
SCFIND_CXX11REGEX This flag may be set to use C++11 <regex> instead of Scintilla's basic regular expressions. If the regular expression is invalid then -1 is returned and status is set to SC_STATUS_WARN_REGEX. The ECMAScript flag is set on the regex object and UTF-8 documents will exhibit Unicode-compliant behaviour. For MSVC, where wchar_t is 16-bits, the reular expression ".." will match a single astral-plane character. There may be other differences between compilers. Must also have SCFIND_REGEXP set.

In a regular expression, using Scintilla's base implementation, special characters interpreted are:

. Matches any character
\( This marks the start of a region for tagging a match.
\) This marks the end of a tagged region.
\n Where n is 1 through 9 refers to the first through ninth tagged region when replacing. For example, if the search string was Fred\([1-9]\)XXX and the replace string was Sam\1YYY, when applied to Fred2XXX this would generate Sam2YYY. \0 refers to all of the matching text.
\< This matches the start of a word using Scintilla's definitions of words.
\> This matches the end of a word using Scintilla's definition of words.
\x This allows you to use a character x that would otherwise have a special meaning. For example, \[ would be interpreted as [ and not as the start of a character set.
[...] This indicates a set of characters, for example, [abc] means any of the characters a, b or c. You can also use ranges, for example [a-z] for any lower case character.
[^...] The complement of the characters in the set. For example, [^A-Za-z] means any character except an alphabetic character.
^ This matches the start of a line (unless used inside a set, see above).
$ This matches the end of a line.
* This matches 0 or more times. For example, Sa*m matches Sm, Sam, Saam, Saaam and so on.
+ This matches 1 or more times. For example, Sa+m matches Sam, Saam, Saaam and so on.

Regular expressions will only match ranges within a single line, never matching over multiple lines.

When using SCFIND_CXX11REGEX more features are available, generally similar to regular expression support in JavaScript. See the documentation of your C++ runtime for details on what is supported.

SCI_FINDTEXT(int searchFlags, Sci_TextToFind *ft) → position
SCI_SEARCHANCHOR
SCI_SEARCHNEXT(int searchFlags, const char *text) → int
SCI_SEARCHPREV(int searchFlags, const char *text) → int

SCI_FINDTEXT(int searchFlags, Sci_TextToFind *ft) → position
This message searches for text in the document. It does not use or move the current selection. The searchFlags argument controls the search type, which includes regular expression searches.

You can search backwards to find the previous occurrence of a search string by setting the end of the search range before the start.

The Sci_TextToFind structure is defined in Scintilla.h; set chrg.cpMin and chrg.cpMax with the range of positions in the document to search. You can search backwards by setting chrg.cpMax less than chrg.cpMin. Set the lpstrText member of Sci_TextToFind to point at a zero terminated text string holding the search pattern. If your language makes the use of Sci_TextToFind difficult, you should consider using SCI_SEARCHINTARGET instead.

The return value is -1 if the search fails or the position of the start of the found text if it succeeds. The chrgText.cpMin and chrgText.cpMax members of Sci_TextToFind are filled in with the start and end positions of the found text.

See also: SCI_SEARCHINTARGET

Sci_TextToFind
This structure is defined to have exactly the same shape as the Win32 structure FINDTEXTEX for old code that treated Scintilla as a RichEdit control.

struct Sci_TextToFind {
    struct Sci_CharacterRange chrg;     // range to search
    const char *lpstrText;                // the search pattern (zero terminated)
    struct Sci_CharacterRange chrgText; // returned as position of matching text
};

SCI_SEARCHANCHOR
SCI_SEARCHNEXT(int searchFlags, const char *text) → int
SCI_SEARCHPREV(int searchFlags, const char *text) → int
These messages provide relocatable search support. This allows multiple incremental interactive searches to be macro recorded while still setting the selection to found text so the find/select operation is self-contained. These three messages send SCN_MACRORECORD notifications if macro recording is enabled.

SCI_SEARCHANCHOR sets the search start point used by SCI_SEARCHNEXT and SCI_SEARCHPREV to the start of the current selection, that is, the end of the selection that is nearer to the start of the document. You should always call this before calling either of SCI_SEARCHNEXT or SCI_SEARCHPREV.

SCI_SEARCHNEXT and SCI_SEARCHPREV search for the next and previous occurrence of the zero terminated search string pointed at by text. The search is modified by the searchFlags.

The return value is -1 if nothing is found, otherwise the return value is the start position of the matching text. The selection is updated to show the matched text, but is not scrolled into view.

See also: SCI_SEARCHINTARGET, SCI_FINDTEXT

Overtype

SCI_SETOVERTYPE(bool overType)
SCI_GETOVERTYPE → bool

SCI_SETOVERTYPE(bool overType)
SCI_GETOVERTYPE → bool
When overtype is enabled, each typed character replaces the character to the right of the text caret. When overtype is disabled, characters are inserted at the caret. SCI_GETOVERTYPE returns true (1) if overtyping is active, otherwise false (0) will be returned. Use SCI_SETOVERTYPE to set the overtype mode.

Cut, copy and paste

SCI_CUT
SCI_COPY
SCI_PASTE
SCI_CLEAR
SCI_CANPASTE → bool
SCI_COPYRANGE(int start, int end)
SCI_COPYTEXT(int length, const char *text)
SCI_COPYALLOWLINE
SCI_SETPASTECONVERTENDINGS(bool convert)
SCI_GETPASTECONVERTENDINGS → bool

SCI_CUT
SCI_COPY
SCI_PASTE
SCI_CLEAR
SCI_CANPASTE → bool
SCI_COPYALLOWLINE
These commands perform the standard tasks of cutting and copying data to the clipboard, pasting from the clipboard into the document, and clearing the document. SCI_CANPASTE returns non-zero if the document isn't read-only and if the selection doesn't contain protected text. If you need a "can copy" or "can cut", use SCI_GETSELECTIONEMPTY(), which will be zero if there are any non-empty selection ranges implying that a copy or cut to the clipboard should work.

GTK+ does not really support SCI_CANPASTE and always returns true unless the document is read-only.

On X, the clipboard is asynchronous and may require several messages between the destination and source applications. Data from SCI_PASTE will not arrive in the document immediately.

SCI_COPYALLOWLINE works the same as SCI_COPY except that if the selection is empty then the current line is copied. On Windows, an extra "MSDEVLineSelect" marker is added to the clipboard which is then used in SCI_PASTE to paste the whole line before the current line.

SCI_COPYRANGE(int start, int end)
SCI_COPYTEXT(int length, const char *text)

SCI_COPYRANGE copies a range of text from the document to the system clipboard and SCI_COPYTEXT copies a supplied piece of text to the system clipboard.

SCI_SETPASTECONVERTENDINGS(bool convert)
SCI_GETPASTECONVERTENDINGS → bool
If this property is set then when text is pasted any line ends are converted to match the document's end of line mode as set with SCI_SETEOLMODE. Defaults to true.

Error handling

SCI_SETSTATUS(int status)
SCI_GETSTATUS → int

SCI_SETSTATUS(int status)
SCI_GETSTATUS → int
If an error occurs, Scintilla may set an internal error number that can be retrieved with SCI_GETSTATUS. To clear the error status call SCI_SETSTATUS(0). Status values from 1 to 999 are errors and status SC_STATUS_WARN_START (1000) and above are warnings. The currently defined statuses are:

SC_STATUS_OK 0 No failures
SC_STATUS_FAILURE 1 Generic failure
SC_STATUS_BADALLOC 2 Memory is exhausted
SC_STATUS_WARN_REGEX 1001 Regular expression is invalid

Undo and Redo

Scintilla has multiple level undo and redo. It will continue to collect undoable actions until memory runs out. Scintilla saves actions that change the document. Scintilla does not save caret and selection movements, view scrolling and the like. Sequences of typing or deleting are compressed into single transactions to make it easier to undo and redo at a sensible level of detail. Sequences of actions can be combined into transactions that are undone as a unit. These sequences occur between SCI_BEGINUNDOACTION and SCI_ENDUNDOACTION messages. These transactions can be nested and only the top-level sequences are undone as units.

SCI_UNDO
SCI_CANUNDO → bool
SCI_EMPTYUNDOBUFFER
SCI_REDO
SCI_CANREDO → bool
SCI_SETUNDOCOLLECTION(bool collectUndo)
SCI_GETUNDOCOLLECTION → bool
SCI_BEGINUNDOACTION
SCI_ENDUNDOACTION
SCI_ADDUNDOACTION(int token, int flags)

SCI_UNDO
SCI_CANUNDO → bool
SCI_UNDO undoes one action, or if the undo buffer has reached a SCI_ENDUNDOACTION point, all the actions back to the corresponding SCI_BEGINUNDOACTION.

SCI_CANUNDO returns 0 if there is nothing to undo, and 1 if there is. You would typically use the result of this message to enable/disable the Edit menu Undo command.

SCI_REDO
SCI_CANREDO → bool
SCI_REDO undoes the effect of the last SCI_UNDO operation.

SCI_CANREDO returns 0 if there is no action to redo and 1 if there are undo actions to redo. You could typically use the result of this message to enable/disable the Edit menu Redo command.

SCI_EMPTYUNDOBUFFER
This command tells Scintilla to forget any saved undo or redo history. It also sets the save point to the start of the undo buffer, so the document will appear to be unmodified. This does not cause the SCN_SAVEPOINTREACHED notification to be sent to the container.

See also: SCI_SETSAVEPOINT

SCI_SETUNDOCOLLECTION(bool collectUndo)
SCI_GETUNDOCOLLECTION → bool
You can control whether Scintilla collects undo information with SCI_SETUNDOCOLLECTION. Pass in true (1) to collect information and false (0) to stop collecting. If you stop collection, you should also use SCI_EMPTYUNDOBUFFER to avoid the undo buffer being unsynchronized with the data in the buffer.

You might wish to turn off saving undo information if you use the Scintilla to store text generated by a program (a Log view) or in a display window where text is often deleted and regenerated.

SCI_BEGINUNDOACTION
SCI_ENDUNDOACTION
Send these two messages to Scintilla to mark the beginning and end of a set of operations that you want to undo all as one operation but that you have to generate as several operations. Alternatively, you can use these to mark a set of operations that you do not want to have combined with the preceding or following operations if they are undone.

SCI_ADDUNDOACTION(int token, int flags)
The container can add its own actions into the undo stack by calling SCI_ADDUNDOACTION and an SCN_MODIFIED notification will be sent to the container with the SC_MOD_CONTAINER flag when it is time to undo (SC_PERFORMED_UNDO) or redo (SC_PERFORMED_REDO) the action. The token argument supplied is returned in the token field of the notification.

For example, if the container wanted to allow undo and redo of a 'toggle bookmark' command then it could call SCI_ADDUNDOACTION(line, 0) each time the command is performed. Then when it receives a notification to undo or redo it toggles a bookmark on the line given by the token field. If there are different types of commands or parameters that need to be stored into the undo stack then the container should maintain a stack of its own for the document and use the current position in that stack as the argument to SCI_ADDUNDOACTION(line). SCI_ADDUNDOACTION commands are not combined together into a single undo transaction unless grouped with SCI_BEGINUNDOACTION and SCI_ENDUNDOACTION.

The flags argument can be UNDO_MAY_COALESCE (1) if the container action may be coalesced along with any insertion and deletion actions into a single compound action, otherwise 0. Coalescing treats coalescible container actions as transparent so will still only group together insertions that look like typing or deletions that look like multiple uses of the Backspace or Delete keys.

Selection and information

Scintilla maintains a selection that stretches between two points, the anchor and the current position. If the anchor and the current position are the same, there is no selected text. Positions in the document range from 0 (before the first character), to the document size (after the last character). If you use messages, there is nothing to stop you setting a position that is in the middle of a CRLF pair, or in the middle of a 2 byte character. However, keyboard commands will not move the caret into such positions.

SCI_GETTEXTLENGTH → int
SCI_GETLENGTH → int
SCI_GETLINECOUNT → int
SCI_LINESONSCREEN → int
SCI_GETMODIFY → bool
SCI_SETSEL(int anchor, int caret)
SCI_GOTOPOS(int caret)
SCI_GOTOLINE(int line)
SCI_SETCURRENTPOS(int caret)
SCI_GETCURRENTPOS → position
SCI_SETANCHOR(int anchor)
SCI_GETANCHOR → position
SCI_SETSELECTIONSTART(int anchor)
SCI_GETSELECTIONSTART → position
SCI_SETSELECTIONEND(int caret)
SCI_GETSELECTIONEND → position
SCI_SETEMPTYSELECTION(int caret)
SCI_SELECTALL
SCI_LINEFROMPOSITION(int pos) → int
SCI_POSITIONFROMLINE(int line) → position
SCI_GETLINEENDPOSITION(int line) → position
SCI_LINELENGTH(int line) → int
SCI_GETCOLUMN(int pos) → int
SCI_FINDCOLUMN(int line, int column) → int
SCI_POSITIONFROMPOINT(int x, int y) → position
SCI_POSITIONFROMPOINTCLOSE(int x, int y) → position
SCI_CHARPOSITIONFROMPOINT(int x, int y) → position
SCI_CHARPOSITIONFROMPOINTCLOSE(int x, int y) → position
SCI_POINTXFROMPOSITION(<unused>, int pos) → int
SCI_POINTYFROMPOSITION(<unused>, int pos) → int
SCI_HIDESELECTION(bool hide)
SCI_GETSELTEXT(<unused>, char *text) → int
SCI_GETCURLINE(int length, char *text) → int
SCI_SELECTIONISRECTANGLE → bool
SCI_SETSELECTIONMODE(int selectionMode)
SCI_GETSELECTIONMODE → int
SCI_GETMOVEEXTENDSSELECTION → bool
SCI_GETLINESELSTARTPOSITION(int line) → position
SCI_GETLINESELENDPOSITION(int line) → position
SCI_MOVECARETINSIDEVIEW
SCI_POSITIONBEFORE(int pos) → position
SCI_POSITIONAFTER(int pos) → position
SCI_TEXTWIDTH(int style, const char *text) → int
SCI_TEXTHEIGHT(int line) → int
SCI_CHOOSECARETX
SCI_MOVESELECTEDLINESUP
SCI_MOVESELECTEDLINESDOWN
SCI_SETMOUSESELECTIONRECTANGULARSWITCH(bool mouseSelectionRectangularSwitch)
SCI_GETMOUSESELECTIONRECTANGULARSWITCH → bool

SCI_GETTEXTLENGTH → int
SCI_GETLENGTH → int
Both these messages return the length of the document in bytes.

SCI_GETLINECOUNT → int
This returns the number of lines in the document. An empty document contains 1 line. A document holding only an end of line sequence has 2 lines.

SCI_LINESONSCREEN → int
This returns the number of complete lines visible on the screen. With a constant line height, this is the vertical space available divided by the line separation. Unless you arrange to size your window to an integral number of lines, there may be a partial line visible at the bottom of the view.

SCI_GETMODIFY → bool
This returns non-zero if the document is modified and 0 if it is unmodified. The modified status of a document is determined by the undo position relative to the save point. The save point is set by SCI_SETSAVEPOINT, usually when you have saved data to a file.

If you need to be notified when the document becomes modified, Scintilla notifies the container that it has entered or left the save point with the SCN_SAVEPOINTREACHED and SCN_SAVEPOINTLEFT notification messages.

SCI_SETSEL(int anchor, int caret)
This message sets both the anchor and the current position. If caret is negative, it means the end of the document. If anchor is negative, it means remove any selection (i.e. set the anchor to the same position as caret). The caret is scrolled into view after this operation.

SCI_GOTOPOS(int caret)
This removes any selection, sets the caret at caret and scrolls the view to make the caret visible, if necessary. It is equivalent to SCI_SETSEL(caret, caret). The anchor position is set the same as the current position.

SCI_GOTOLINE(int line)
This removes any selection and sets the caret at the start of line number line and scrolls the view (if needed) to make it visible. The anchor position is set the same as the current position. If line is outside the lines in the document (first line is 0), the line set is the first or last.

SCI_SETCURRENTPOS(int caret)
This sets the current position and creates a selection between the anchor and the current position. The caret is not scrolled into view.

See also: SCI_SCROLLCARET

SCI_GETCURRENTPOS → position
This returns the current position.

SCI_SETANCHOR(int anchor)
This sets the anchor position and creates a selection between the anchor position and the current position. The caret is not scrolled into view.

See also: SCI_SCROLLCARET

SCI_GETANCHOR → position
This returns the current anchor position.

SCI_SETSELECTIONSTART(int anchor)
SCI_SETSELECTIONEND(int caret)
These set the selection based on the assumption that the anchor position is less than the current position. They do not make the caret visible. The table shows the positions of the anchor and the current position after using these messages.

New value for anchor caret
SCI_SETSELECTIONSTART anchor Max(anchor, current)
SCI_SETSELECTIONEND Min(anchor, caret) caret

See also: SCI_SCROLLCARET

SCI_GETSELECTIONSTART → position
SCI_GETSELECTIONEND → position
These return the start and end of the selection without regard to which end is the current position and which is the anchor. SCI_GETSELECTIONSTART returns the smaller of the current position or the anchor position. SCI_GETSELECTIONEND returns the larger of the two values.

SCI_SETEMPTYSELECTION(int caret)
This removes any selection and sets the caret at caret. The caret is not scrolled into view.

SCI_SELECTALL
This selects all the text in the document. The current position is not scrolled into view.

SCI_LINEFROMPOSITION(int pos) → int
This message returns the line that contains the position pos in the document. The return value is 0 if pos <= 0. The return value is the last line if pos is beyond the end of the document.

SCI_POSITIONFROMLINE(int line) → position
This returns the document position that corresponds with the start of the line. If line is negative, the position of the line holding the start of the selection is returned. If line is greater than the lines in the document, the return value is -1. If line is equal to the number of lines in the document (i.e. 1 line past the last line), the return value is the end of the document.

SCI_GETLINEENDPOSITION(int line) → position
This returns the position at the end of the line, before any line end characters. If line is the last line in the document (which does not have any end of line characters) or greater, the result is the size of the document. If line is negative the result is undefined.

SCI_LINELENGTH(int line) → int
This returns the length of the line, including any line end characters. If line is negative or beyond the last line in the document, the result is 0. If you want the length of the line not including any end of line characters, use SCI_GETLINEENDPOSITION(line) - SCI_POSITIONFROMLINE(line).

SCI_GETSELTEXT(<unused>, char *text NUL-terminated) → int
This copies the currently selected text and a terminating 0 byte to the text buffer. The buffer size should be determined by calling with a NULL pointer for the text argument SCI_GETSELTEXT(0,0). This allows for rectangular and discontiguous selections as well as simple selections. See Multiple Selection for information on how multiple and rectangular selections and virtual space are copied.

See also: SCI_GETCURLINE, SCI_GETLINE, SCI_GETTEXT, SCI_GETSTYLEDTEXT, SCI_GETTEXTRANGE

SCI_GETCURLINE(int length, char *text NUL-terminated) → int
This retrieves the text of the line containing the caret and returns the position within the line of the caret. Pass in char* text pointing at a buffer large enough to hold the text you wish to retrieve and a terminating 0 character. Set length to the length of the buffer which must be at least 1 to hold the terminating 0 character. If the text argument is 0 then the length that should be allocated to store the entire current line is returned.

See also: SCI_GETSELTEXT, SCI_GETLINE, SCI_GETTEXT, SCI_GETSTYLEDTEXT, SCI_GETTEXTRANGE

SCI_SELECTIONISRECTANGLE → bool
This returns 1 if the current selection is in rectangle mode, 0 if not.

SCI_SETSELECTIONMODE(int selectionMode)
SCI_GETSELECTIONMODE → int
The two functions set and get the selection mode, which can be stream (SC_SEL_STREAM=0) or rectangular (SC_SEL_RECTANGLE=1) or by lines (SC_SEL_LINES=2) or thin rectangular (SC_SEL_THIN=3). When set in these modes, regular caret moves will extend or reduce the selection, until the mode is cancelled by a call with same value or with SCI_CANCEL. The get function returns the current mode even if the selection was made by mouse or with regular extended moves. SC_SEL_THIN is the mode after a rectangular selection has been typed into and ensures that no characters are selected.

SCI_GETMOVEEXTENDSSELECTION → bool
This returns 1 if regular caret moves will extend or reduce the selection, 0 if not. SCI_SETSELECTIONMODE toggles this setting between on and off.

SCI_GETLINESELSTARTPOSITION(int line) → position
SCI_GETLINESELENDPOSITION(int line) → position
Retrieve the position of the start and end of the selection at the given line with INVALID_POSITION returned if no selection on this line.

SCI_MOVECARETINSIDEVIEW
If the caret is off the top or bottom of the view, it is moved to the nearest line that is visible to its current position. Any selection is lost.

SCI_POSITIONBEFORE(int pos) → position
SCI_POSITIONAFTER(int pos) → position
These messages return the position before and after another position in the document taking into account the current code page. The minimum position returned is 0 and the maximum is the last position in the document. If called with a position within a multi byte character will return the position of the start/end of that character.

SCI_TEXTWIDTH(int style, const char *text) → int
This returns the pixel width of a string drawn in the given style which can be used, for example, to decide how wide to make the line number margin in order to display a given number of numerals.

SCI_TEXTHEIGHT(int line) → int
This returns the height in pixels of a particular line. Currently all lines are the same height.

SCI_GETCOLUMN(int pos) → int
This message returns the column number of a position pos within the document taking the width of tabs into account. This returns the column number of the last tab on the line before pos, plus the number of characters between the last tab and pos. If there are no tab characters on the line, the return value is the number of characters up to the position on the line. In both cases, double byte characters count as a single character. This is probably only useful with monospaced fonts.

SCI_FINDCOLUMN(int line, int column) → int
This message returns the position of a column on a line taking the width of tabs into account. It treats a multi-byte character as a single column. Column numbers, like lines start at 0.

SCI_POSITIONFROMPOINT(int x, int y) → position
SCI_POSITIONFROMPOINTCLOSE(int x, int y) → position
SCI_POSITIONFROMPOINT finds the closest character position to a point and SCI_POSITIONFROMPOINTCLOSE is similar but returns -1 if the point is outside the window or not close to any characters.

SCI_CHARPOSITIONFROMPOINT(int x, int y) → position
SCI_CHARPOSITIONFROMPOINTCLOSE(int x, int y) → position
SCI_CHARPOSITIONFROMPOINT finds the closest character to a point and SCI_CHARPOSITIONFROMPOINTCLOSE is similar but returns -1 if the point is outside the window or not close to any characters. This is similar to the previous methods but finds characters rather than inter-character positions.

SCI_POINTXFROMPOSITION(<unused>, int pos) → int
SCI_POINTYFROMPOSITION(<unused>, int pos) → int
These messages return the x and y display pixel location of text at position pos in the document.

SCI_HIDESELECTION(bool hide)
The normal state is to make the selection visible by drawing it as set by SCI_SETSELFORE and SCI_SETSELBACK. However, if you hide the selection, it is drawn as normal text.

SCI_CHOOSECARETX
Scintilla remembers the x value of the last position horizontally moved to explicitly by the user and this value is then used when moving vertically such as by using the up and down keys. This message sets the current x position of the caret as the remembered value.

SCI_MOVESELECTEDLINESUP
Move the selected lines up one line, shifting the line above after the selection. The selection will be automatically extended to the beginning of the selection's first line and the end of the selection's last line. If nothing was selected, the line the cursor is currently at will be selected.

SCI_MOVESELECTEDLINESDOWN
Move the selected lines down one line, shifting the line below before the selection. The selection will be automatically extended to the beginning of the selection's first line and the end of the selection's last line. If nothing was selected, the line the cursor is currently at will be selected.

SCI_SETMOUSESELECTIONRECTANGULARSWITCH(bool mouseSelectionRectangularSwitch)
SCI_GETMOUSESELECTIONRECTANGULARSWITCH → bool
Enable or disable the ability to switch to rectangular selection mode while making a selection with the mouse. When this option is turned on, mouse selections in stream mode can be switched to rectangular mode by pressing the corresponding modifier key. They then stick to rectangular mode even when the modifier key is released again. When this option is turned off, mouse selections will always stick to the mode the selection was started in. It is off by default.

By character or UTF-16 code unit

Most Scintilla APIs use byte positions but some applications want to use positions based on counting (UTF-32) characters or (UTF-16) code units or need to communicate with other code written in terms of characters or code units. With only byte positions, this may require examining many bytes to count characters or code units in the document but this may be sped up in some cases by indexing the line starts by character or code unit.

SCI_POSITIONRELATIVE(int pos, int relative) → position
SCI_POSITIONRELATIVECODEUNITS(int pos, int relative) → position
SCI_COUNTCHARACTERS(int start, int end) → int
SCI_COUNTCODEUNITS(int start, int end) → int
SCI_GETLINECHARACTERINDEX → int
SCI_ALLOCATELINECHARACTERINDEX(int lineCharacterIndex)
SCI_RELEASELINECHARACTERINDEX(int lineCharacterIndex)
SCI_LINEFROMINDEXPOSITION(int pos, int lineCharacterIndex) → int
SCI_INDEXPOSITIONFROMLINE(int line, int lineCharacterIndex) → position

SCI_POSITIONRELATIVE(int pos, int relative) → position
Count a number of whole characters before or after the argument position and return that position. The minimum position returned is 0 and the maximum is the last position in the document. If the position goes past the document end then 0 is returned.

SCI_COUNTCHARACTERS(int start, int end) → int
Returns the number of whole characters between two positions.

SCI_POSITIONRELATIVECODEUNITS(int pos, int relative) → position
SCI_COUNTCODEUNITS(int start, int end) → int
These are the UTF-16 versions of SCI_POSITIONRELATIVE and SCI_COUNTCHARACTERS working in terms of UTF-16 code units.

SCI_GETLINECHARACTERINDEX → int
Returns which if any indexes are active. It may be SC_LINECHARACTERINDEX_NONE(0) or one or more of SC_LINECHARACTERINDEX_UTF32(1) if whole characters are indexed or SC_LINECHARACTERINDEX_UTF16(2) if UTF-16 code units are indexed. Character indexes are currently only supported for UTF-8 documents.

SCI_ALLOCATELINECHARACTERINDEX(int lineCharacterIndex)
SCI_RELEASELINECHARACTERINDEX(int lineCharacterIndex)
Allocate or release one or more indexes using same enumeration as SCI_GETLINECHARACTERINDEX. Different aspects of an application may need indexes for different periods and should allocate for those periods. Indexes use additional memory so releasing them can help minimize memory but they also take time to recalculate. Scintilla may also allocate indexes to support features like accessibility or input method editors. Only one index of each type is created for a document at a time.

SCI_LINEFROMINDEXPOSITION(int pos, int lineCharacterIndex) → int
SCI_INDEXPOSITIONFROMLINE(int line, int lineCharacterIndex) → position
The document line of a particular character or code unit may be found by calling SCI_LINEFROMINDEXPOSITION with one of SC_LINECHARACTERINDEX_UTF32(1) or SC_LINECHARACTERINDEX_UTF16(2). The inverse action, finds the starting position of a document line either in characters or code units from the document start by calling SCI_INDEXPOSITIONFROMLINE with the same lineCharacterIndex argument.

Multiple Selection and Virtual Space

SCI_SETMULTIPLESELECTION(bool multipleSelection)
SCI_GETMULTIPLESELECTION → bool
SCI_SETADDITIONALSELECTIONTYPING(bool additionalSelectionTyping)
SCI_GETADDITIONALSELECTIONTYPING → bool
SCI_SETMULTIPASTE(int multiPaste)
SCI_GETMULTIPASTE → int
SCI_SETVIRTUALSPACEOPTIONS(int virtualSpaceOptions)
SCI_GETVIRTUALSPACEOPTIONS → int
SCI_SETRECTANGULARSELECTIONMODIFIER(int modifier)
SCI_GETRECTANGULARSELECTIONMODIFIER → int

SCI_GETSELECTIONS → int
SCI_GETSELECTIONEMPTY → bool
SCI_CLEARSELECTIONS
SCI_SETSELECTION(int caret, int anchor)
SCI_ADDSELECTION(int caret, int anchor)
SCI_DROPSELECTIONN(int selection)
SCI_SETMAINSELECTION(int selection)
SCI_GETMAINSELECTION → int

SCI_SETSELECTIONNCARET(int selection, int caret)
SCI_GETSELECTIONNCARET(int selection) → position
SCI_SETSELECTIONNCARETVIRTUALSPACE(int selection, int space)
SCI_GETSELECTIONNCARETVIRTUALSPACE(int selection) → int
SCI_SETSELECTIONNANCHOR(int selection, int anchor)
SCI_GETSELECTIONNANCHOR(int selection) → position
SCI_SETSELECTIONNANCHORVIRTUALSPACE(int selection, int space)
SCI_GETSELECTIONNANCHORVIRTUALSPACE(int selection) → int
SCI_SETSELECTIONNSTART(int selection, int anchor)
SCI_GETSELECTIONNSTART(int selection) → position
SCI_SETSELECTIONNEND(int selection, int caret)
SCI_GETSELECTIONNEND(int selection) → position

SCI_SETRECTANGULARSELECTIONCARET(int caret)
SCI_GETRECTANGULARSELECTIONCARET → position
SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE(int space)
SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE → int
SCI_SETRECTANGULARSELECTIONANCHOR(int anchor)
SCI_GETRECTANGULARSELECTIONANCHOR → position
SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE(int space)
SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE → int

SCI_SETADDITIONALSELALPHA(alpha alpha)
SCI_GETADDITIONALSELALPHA → int
SCI_SETADDITIONALSELFORE(colour fore)
SCI_SETADDITIONALSELBACK(colour back)
SCI_SETADDITIONALCARETFORE(colour fore)
SCI_GETADDITIONALCARETFORE → colour
SCI_SETADDITIONALCARETSBLINK(bool additionalCaretsBlink)
SCI_GETADDITIONALCARETSBLINK → bool
SCI_SETADDITIONALCARETSVISIBLE(bool additionalCaretsVisible)
SCI_GETADDITIONALCARETSVISIBLE → bool

SCI_SWAPMAINANCHORCARET
SCI_ROTATESELECTION
SCI_MULTIPLESELECTADDNEXT
SCI_MULTIPLESELECTADDEACH

There may be multiple selections active at one time. More selections are made by holding down the Ctrl key while dragging with the mouse. The most recent selection is the main selection and determines which part of the document is shown automatically. Any selection apart from the main selection is called an additional selection. The calls in the previous section operate on the main selection. There is always at least one selection. The selection can be simplified down to just the main selection by SCI_CANCEL which is normally mapped to the Esc key.

Rectangular selections are handled as multiple selections although the original rectangular range is remembered so that subsequent operations may be handled differently for rectangular selections. For example, pasting a rectangular selection places each piece in a vertical column.

Virtual space is space beyond the end of each line. The caret may be moved into virtual space but no real space will be added to the document until there is some text typed or some other text insertion command is used.

When discontiguous selections are copied to the clipboard, each selection is added to the clipboard text in order with no delimiting characters. For rectangular selections the document's line end is added after each line's text. Rectangular selections are always copied from top line to bottom, not in the in order of selection.Virtual space is not copied.

SCI_SETMULTIPLESELECTION(bool multipleSelection)
SCI_GETMULTIPLESELECTION → bool
Enable or disable multiple selection. When multiple selection is disabled, it is not possible to select multiple ranges by holding down the Ctrl key while dragging with the mouse.

SCI_SETADDITIONALSELECTIONTYPING(bool additionalSelectionTyping)
SCI_GETADDITIONALSELECTIONTYPING → bool
Whether typing, new line, cursor left/right/up/down, backspace, delete, home, and end work with multiple selections simultaneously. Also allows selection and word and line deletion commands.

SCI_SETMULTIPASTE(int multiPaste)
SCI_GETMULTIPASTE → int
When pasting into multiple selections, the pasted text can go into just the main selection with SC_MULTIPASTE_ONCE=0 or into each selection with SC_MULTIPASTE_EACH=1. SC_MULTIPASTE_ONCE is the default.

SCI_SETVIRTUALSPACEOPTIONS(int virtualSpaceOptions)
SCI_GETVIRTUALSPACEOPTIONS → int
Virtual space can be enabled or disabled for rectangular selections or in other circumstances or in both. There are three bit flags SCVS_RECTANGULARSELECTION=1, SCVS_USERACCESSIBLE=2, and SCVS_NOWRAPLINESTART=4 which can be set independently. SCVS_NONE=0, the default, disables all use of virtual space.

SCVS_NOWRAPLINESTART prevents left arrow movement and selection from wrapping to the previous line. This is most commonly desired in conjunction with virtual space but is an independent setting so works without virtual space.

SCI_SETRECTANGULARSELECTIONMODIFIER(int modifier)
SCI_GETRECTANGULARSELECTIONMODIFIER → int
On GTK+ and Qt, the key used to indicate that a rectangular selection should be created when combined with a mouse drag can be set. The three possible values are SCMOD_CTRL=2, SCMOD_ALT=4 (default) or SCMOD_SUPER=8. Since SCMOD_ALT may already be used by a window manager, the window manager may need configuring to allow this choice. SCMOD_SUPER is often a system dependent modifier key such as the Left Windows key on a Windows keyboard or the Command key on a Mac.

SCI_GETSELECTIONS → int
Return the number of selections currently active. There is always at least one selection.

SCI_GETSELECTIONEMPTY → bool
Return 1 if every selected range is empty else 0.

SCI_CLEARSELECTIONS
Set a single empty selection at 0 as the only selection.

SCI_SETSELECTION(int caret, int anchor)
Set a single selection from anchor to caret as the only selection.

SCI_ADDSELECTION(int caret, int anchor)
Add a new selection from anchor to caret as the main selection retaining all other selections as additional selections. Since there is always at least one selection, to set a list of selections, the first selection should be added with SCI_SETSELECTION and later selections added with SCI_ADDSELECTION

SCI_DROPSELECTIONN(int selection)
If there are multiple selections, remove the indicated selection. If this was the main selection then make the previous selection the main and if it was the first then the last selection becomes main. If there is only one selection, or there is no selection selection, then there is no effect.

SCI_SETMAINSELECTION(int selection)
SCI_GETMAINSELECTION → int
One of the selections is the main selection which is used to determine what range of text is automatically visible. The main selection may be displayed in different colours or with a differently styled caret. Only an already existing selection can be made main.

SCI_SETSELECTIONNCARET(int selection, int caret)
SCI_GETSELECTIONNCARET(int selection) → position
SCI_SETSELECTIONNCARETVIRTUALSPACE(int selection, int space)
SCI_GETSELECTIONNCARETVIRTUALSPACE(int selection) → int
SCI_SETSELECTIONNANCHOR(int selection, int anchor)
SCI_GETSELECTIONNANCHOR(int selection) → position
SCI_SETSELECTIONNANCHORVIRTUALSPACE(int selection, int space)
SCI_GETSELECTIONNANCHORVIRTUALSPACE(int selection) → int
Set or query the position and amount of virtual space for the caret and anchor of each already existing selection.

SCI_SETSELECTIONNSTART(int selection, int anchor)
SCI_GETSELECTIONNSTART(int selection) → position
SCI_SETSELECTIONNEND(int selection, int caret)
SCI_GETSELECTIONNEND(int selection) → position
Set or query the start and end position of each already existing selection. Mostly of use to query each range for its text. The selection parameter is zero-based.

SCI_SETRECTANGULARSELECTIONCARET(int caret)
SCI_GETRECTANGULARSELECTIONCARET → position
SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE(int space)
SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE → int
SCI_SETRECTANGULARSELECTIONANCHOR(int anchor)
SCI_GETRECTANGULARSELECTIONANCHOR → position
SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE(int space)
SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE → int
Set or query the position and amount of virtual space for the caret and anchor of the rectangular selection. After setting the rectangular selection, this is broken down into multiple selections, one for each line.

SCI_SETADDITIONALSELALPHA(alpha alpha)
SCI_GETADDITIONALSELALPHA → int
SCI_SETADDITIONALSELFORE(colour fore)
SCI_SETADDITIONALSELBACK(colour back)
Modify the appearance of additional selections so that they can be differentiated from the main selection which has its appearance set with SCI_SETSELALPHA, SCI_GETSELALPHA, SCI_SETSELFORE, and SCI_SETSELBACK. SCI_SETADDITIONALSELFORE and SCI_SETADDITIONALSELBACK calls have no effect until SCI_SETSELFORE and SCI_SETSELBACK are called with useSelection*Colour value set to true. Subsequent calls to SCI_SETSELFORE, and SCI_SETSELBACK will overwrite the values set by SCI_SETADDITIONALSEL* functions.

SCI_SETADDITIONALCARETFORE(colour fore)
SCI_GETADDITIONALCARETFORE → colour
SCI_SETADDITIONALCARETSBLINK(bool additionalCaretsBlink)
SCI_GETADDITIONALCARETSBLINK → bool
Modify the appearance of additional carets so that they can be differentiated from the main caret which has its appearance set with SCI_SETCARETFORE, SCI_GETCARETFORE, SCI_SETCARETPERIOD, and SCI_GETCARETPERIOD.

SCI_SETADDITIONALCARETSVISIBLE(bool additionalCaretsVisible)
SCI_GETADDITIONALCARETSVISIBLE → bool
Determine whether to show additional carets (defaults to true).

SCI_SWAPMAINANCHORCARET
SCI_ROTATESELECTION
SCI_MULTIPLESELECTADDNEXT
SCI_MULTIPLESELECTADDEACH
These commands may be assigned to keys to make it possible to manipulate multiple selections. SCI_SWAPMAINANCHORCARET moves the caret to the opposite end of the main selection. SCI_ROTATESELECTION makes the next selection be the main selection.
SCI_MULTIPLESELECTADDNEXT adds the next occurrence of the main selection within the target to the set of selections as main. If the current selection is empty then select word around caret. The current searchFlags are used so the application may choose case sensitivity and word search options.
SCI_MULTIPLESELECTADDEACH is similar to SCI_MULTIPLESELECTADDNEXT but adds multiple occurrences instead of just one.

Scrolling and automatic scrolling

SCI_SETFIRSTVISIBLELINE(int displayLine)
SCI_GETFIRSTVISIBLELINE → int
SCI_SETXOFFSET(int xOffset)
SCI_GETXOFFSET → int
SCI_LINESCROLL(int columns, int lines)
SCI_SCROLLCARET
SCI_SCROLLRANGE(int secondary, int primary)
SCI_SETXCARETPOLICY(int caretPolicy, int caretSlop)
SCI_SETYCARETPOLICY(int caretPolicy, int caretSlop)
SCI_SETVISIBLEPOLICY(int visiblePolicy, int visibleSlop)
SCI_SETHSCROLLBAR(bool visible)
SCI_GETHSCROLLBAR → bool
SCI_SETVSCROLLBAR(bool visible)
SCI_GETVSCROLLBAR → bool
SCI_SETSCROLLWIDTH(int pixelWidth)
SCI_GETSCROLLWIDTH → int
SCI_SETSCROLLWIDTHTRACKING(bool tracking)
SCI_GETSCROLLWIDTHTRACKING → bool
SCI_SETENDATLASTLINE(bool endAtLastLine)
SCI_GETENDATLASTLINE → bool

SCI_SETFIRSTVISIBLELINE(int displayLine)
SCI_GETFIRSTVISIBLELINE → int
These messages retrieve and set the line number of the first visible line in the Scintilla view. The first line in the document is numbered 0. The value is a visible line rather than a document line.

SCI_SETXOFFSET(int xOffset)
SCI_GETXOFFSET → int
The xOffset is the horizontal scroll position in pixels of the start of the text view. A value of 0 is the normal position with the first text column visible at the left of the view.

SCI_LINESCROLL(int columns, int lines)
This will attempt to scroll the display by the number of columns and lines that you specify. Positive line values increase the line number at the top of the screen (i.e. they move the text upwards as far as the user is concerned), Negative line values do the reverse.

The column measure is the width of a space in the default style. Positive values increase the column at the left edge of the view (i.e. they move the text leftwards as far as the user is concerned). Negative values do the reverse.

See also: SCI_SETXOFFSET

SCI_SCROLLCARET
If the current position (this is the caret if there is no selection) is not visible, the view is scrolled to make it visible according to the current caret policy.

SCI_SCROLLRANGE(int secondary, int primary)
Scroll the argument positions and the range between them into view giving priority to the primary position then the secondary position. The behaviour is similar to SCI_SCROLLCARET with the primary position used instead of the caret. An effort is then made to ensure that the secondary position and range between are also visible. This may be used to make a search match visible.

SCI_SETXCARETPOLICY(int caretPolicy, int caretSlop)
SCI_SETYCARETPOLICY(int caretPolicy, int caretSlop)
These set the caret policy. The value of caretPolicy is a combination of CARET_SLOP, CARET_STRICT, CARET_JUMPS and CARET_EVEN.

CARET_SLOP If set, we can define a slop value: caretSlop. This value defines an unwanted zone (UZ) where the caret is... unwanted. This zone is defined as a number of pixels near the vertical margins, and as a number of lines near the horizontal margins. By keeping the caret away from the edges, it is seen within its context. This makes it likely that the identifier that the caret is on can be completely seen, and that the current line is seen with some of the lines following it, which are often dependent on that line.
CARET_STRICT If set, the policy set by CARET_SLOP is enforced... strictly. The caret is centred on the display if caretSlop is not set, and cannot go in the UZ if caretSlop is set.
CARET_JUMPS If set, the display is moved more energetically so the caret can move in the same direction longer before the policy is applied again. '3UZ' notation is used to indicate three time the size of the UZ as a distance to the margin.
CARET_EVEN If not set, instead of having symmetrical UZs, the left and bottom UZs are extended up to right and top UZs respectively. This way, we favour the displaying of useful information: the beginning of lines, where most code reside, and the lines after the caret, for example, the body of a function.

slop strict jumps even Caret can go to the margin On reaching limit (going out of visibility
or going into the UZ) display is...
0 0 0 0 Yes moved to put caret on top/on right
0 0 0 1 Yes moved by one position
0 0 1 0 Yes moved to put caret on top/on right
0 0 1 1 Yes centred on the caret
0 1 - 0 Caret is always on top/on right of display -
0 1 - 1 No, caret is always centred -
1 0 0 0 Yes moved to put caret out of the asymmetrical UZ
1 0 0 1 Yes moved to put caret out of the UZ
1 0 1 0 Yes moved to put caret at 3UZ of the top or right margin
1 0 1 1 Yes moved to put caret at 3UZ of the margin
1 1 - 0 Caret is always at UZ of top/right margin -
1 1 0 1 No, kept out of UZ moved by one position
1 1 1 0 No, kept out of UZ moved to put caret at 3UZ of the margin

SCI_SETVISIBLEPOLICY(int visiblePolicy, int visibleSlop)
This determines how the vertical positioning is determined when SCI_ENSUREVISIBLEENFORCEPOLICY is called. It takes VISIBLE_SLOP and VISIBLE_STRICT flags for the policy parameter. It is similar in operation to SCI_SETYCARETPOLICY(int caretPolicy, int caretSlop).

SCI_SETHSCROLLBAR(bool visible)
SCI_GETHSCROLLBAR → bool
The horizontal scroll bar is only displayed if it is needed for the assumed width. If you never wish to see it, call SCI_SETHSCROLLBAR(0). Use SCI_SETHSCROLLBAR(1) to enable it again. SCI_GETHSCROLLBAR returns the current state. The default state is to display it when needed.

See also: SCI_SETSCROLLWIDTH.

SCI_SETVSCROLLBAR(bool visible)
SCI_GETVSCROLLBAR → bool
By default, the vertical scroll bar is always displayed when required. You can choose to hide or show it with SCI_SETVSCROLLBAR and get the current state with SCI_GETVSCROLLBAR.

See also: SCI_LINESCROLL

SCI_SETSCROLLWIDTH(int pixelWidth)
SCI_GETSCROLLWIDTH → int
For performance, Scintilla does not measure the display width of the document to determine the properties of the horizontal scroll bar. Instead, an assumed width is used. These messages set and get the document width in pixels assumed by Scintilla. The default value is 2000. To ensure the width of the currently visible lines can be scrolled use SCI_SETSCROLLWIDTHTRACKING

SCI_SETSCROLLWIDTHTRACKING(bool tracking)
SCI_GETSCROLLWIDTHTRACKING → bool
If scroll width tracking is enabled then the scroll width is adjusted to ensure that all of the lines currently displayed can be completely scrolled. This mode never adjusts the scroll width to be narrower.

SCI_SETENDATLASTLINE(bool endAtLastLine)
SCI_GETENDATLASTLINE → bool
SCI_SETENDATLASTLINE sets the scroll range so that maximum scroll position has the last line at the bottom of the view (default). Setting this to false allows scrolling one page below the last line.

White space

SCI_SETVIEWWS(int viewWS)
SCI_GETVIEWWS → int
SCI_SETWHITESPACEFORE(bool useSetting, colour fore)
SCI_SETWHITESPACEBACK(bool useSetting, colour back)
SCI_SETWHITESPACESIZE(int size)
SCI_GETWHITESPACESIZE → int
SCI_SETTABDRAWMODE(int tabDrawMode)
SCI_GETTABDRAWMODE → int
SCI_SETEXTRAASCENT(int extraAscent)
SCI_GETEXTRAASCENT → int
SCI_SETEXTRADESCENT(int extraDescent)
SCI_GETEXTRADESCENT → int

SCI_SETVIEWWS(int viewWS)
SCI_GETVIEWWS → int
White space can be made visible which may be useful for languages in which white space is significant, such as Python. Space characters appear as small centred dots and tab characters as light arrows pointing to the right. There are also ways to control the display of end of line characters. The two messages set and get the white space display mode. The viewWS argument can be one of:

SCWS_INVISIBLE 0 The normal display mode with white space displayed as an empty background colour.
SCWS_VISIBLEALWAYS 1 White space characters are drawn as dots and arrows,
SCWS_VISIBLEAFTERINDENT 2 White space used for indentation is displayed normally but after the first visible character, it is shown as dots and arrows.
SCWS_VISIBLEONLYININDENT 3 White space used for indentation is displayed as dots and arrows.

The effect of using any other viewWS value is undefined.

SCI_SETWHITESPACEFORE(bool useSetting, colour fore)
SCI_SETWHITESPACEBACK(bool useSetting, colour back)
By default, the colour of visible white space is determined by the lexer in use. The foreground and/or background colour of all visible white space can be set globally, overriding the lexer's colours with SCI_SETWHITESPACEFORE and SCI_SETWHITESPACEBACK.

SCI_SETWHITESPACESIZE(int size)
SCI_GETWHITESPACESIZE → int
SCI_SETWHITESPACESIZE sets the size of the dots used for mark space characters. The SCI_GETWHITESPACESIZE message retrieves the current size.

SCI_SETTABDRAWMODE(int tabDrawMode)
SCI_GETTABDRAWMODE → int
These two messages get and set how tab characters are drawn when white space is visible. The tabDrawMode argument can be one of:

SCTD_LONGARROW 0 The default mode of an arrow stretching until the tabstop.
SCTD_STRIKEOUT 1 A horizontal line stretching until the tabstop.

The effect of using any other tabDrawMode value is undefined.

SCI_SETEXTRAASCENT(int extraAscent)
SCI_GETEXTRAASCENT → int
SCI_SETEXTRADESCENT(int extraDescent)
SCI_GETEXTRADESCENT → int
Text is drawn with the base of each character on a 'baseline'. The height of a line is found from the maximum that any style extends above the baseline (its 'ascent'), added to the maximum that any style extends below the baseline (its 'descent'). Space may be added to the maximum ascent (SCI_SETEXTRAASCENT) and the maximum descent (SCI_SETEXTRADESCENT) to allow for more space between lines. This may done to make the text easier to read or to accommodate underlines or highlights.

Cursor

SCI_SETCURSOR(int cursorType)
SCI_GETCURSOR → int

SCI_SETCURSOR(int cursorType)
SCI_GETCURSOR → int
The cursor is normally chosen in a context sensitive way, so it will be different over the margin than when over the text. When performing a slow action, you may wish to change to a wait cursor. You set the cursor type with SCI_SETCURSOR. The cursorType argument can be:

SC_CURSORNORMAL -1 The normal cursor is displayed.
SC_CURSORWAIT  4 The wait cursor is displayed when the mouse is over or owned by the Scintilla window.

Cursor values 1 through 7 have defined cursors, but only SC_CURSORWAIT is usefully controllable. Other values of cursorType cause a pointer to be displayed. The SCI_GETCURSOR message returns the last cursor type you set, or SC_CURSORNORMAL (-1) if you have not set a cursor type.

Mouse capture

SCI_SETMOUSEDOWNCAPTURES(bool captures)
SCI_GETMOUSEDOWNCAPTURES → bool
SCI_SETMOUSEWHEELCAPTURES(bool captures)
SCI_GETMOUSEWHEELCAPTURES → bool

SCI_SETMOUSEDOWNCAPTURES(bool captures)
SCI_GETMOUSEDOWNCAPTURES → bool
When the mouse is pressed inside Scintilla, it is captured so future mouse movement events are sent to Scintilla. This behaviour may be turned off with SCI_SETMOUSEDOWNCAPTURES(0).

SCI_SETMOUSEWHEELCAPTURES(bool captures)
SCI_GETMOUSEWHEELCAPTURES → bool
On Windows, Scintilla captures all WM_MOUSEWHEEL messages if it has the focus, even if the mouse pointer is nowhere near the Scintilla editor window. This behavior can be changed with SCI_SETMOUSEWHEELCAPTURES(0) so that Scintilla passes the WM_MOUSEWHEEL messages to its parent window. Scintilla will still react to the mouse wheel if the mouse pointer is over the editor window.

Line endings

Scintilla can handle the major line end conventions and, depending on settings and the current lexer also support additional Unicode line ends.

Scintilla can interpret any of the Macintosh (\r), Unix (\n) and Windows (\r\n) line ends. When the user presses the Enter key, one of these line end strings is inserted into the buffer. The default is \r\n in Windows and \n in Unix, but this can be changed with the SCI_SETEOLMODE message. You can also convert the entire document to one of these line endings with SCI_CONVERTEOLS. Finally, you can choose to display the line endings with SCI_SETVIEWEOL.

For the UTF-8 encoding, three additional Unicode line ends, Next Line (NEL=U+0085), Line Separator (LS=U+2028), and Paragraph Separator (PS=U+2029) may optionally be interpreted when Unicode line ends is turned on and the current lexer also supports Unicode line ends.

SCI_SETEOLMODE(int eolMode)
SCI_GETEOLMODE → int
SCI_CONVERTEOLS(int eolMode)
SCI_SETVIEWEOL(bool visible)
SCI_GETVIEWEOL → bool
SCI_GETLINEENDTYPESSUPPORTED → int
SCI_SETLINEENDTYPESALLOWED(int lineEndBitSet)
SCI_GETLINEENDTYPESALLOWED → int
SCI_GETLINEENDTYPESACTIVE → int

SCI_SETEOLMODE(int eolMode)
SCI_GETEOLMODE → int
SCI_SETEOLMODE sets the characters that are added into the document when the user presses the Enter key. You can set eolMode to one of SC_EOL_CRLF (0), SC_EOL_CR (1), or SC_EOL_LF (2). The SCI_GETEOLMODE message retrieves the current state.

SCI_CONVERTEOLS(int eolMode)
This message changes all the end of line characters in the document to match eolMode. Valid values are: SC_EOL_CRLF (0), SC_EOL_CR (1), or SC_EOL_LF (2).

SCI_SETVIEWEOL(bool visible)
SCI_GETVIEWEOL → bool
Normally, the end of line characters are hidden, but SCI_SETVIEWEOL allows you to display (or hide) them by setting visible true (or false). The visible rendering of the end of line characters is similar to (CR), (LF), or (CR)(LF). SCI_GETVIEWEOL returns the current state.

SCI_GETLINEENDTYPESSUPPORTED → int
SCI_GETLINEENDTYPESSUPPORTED reports the different types of line ends supported by the current lexer. This is a bit set although there is currently only a single choice with either SC_LINE_END_TYPE_DEFAULT (0) or SC_LINE_END_TYPE_UNICODE (1). These values are also used by the other messages concerned with Unicode line ends.

SCI_SETLINEENDTYPESALLOWED(int lineEndBitSet)
SCI_GETLINEENDTYPESALLOWED → int
By default, only the ASCII line ends are interpreted. Unicode line ends may be requested with SCI_SETLINEENDTYPESALLOWED(SC_LINE_END_TYPE_UNICODE) but this will be ineffective unless the lexer also allows you Unicode line ends. SCI_GETLINEENDTYPESALLOWED returns the current state.

SCI_GETLINEENDTYPESACTIVE → int
SCI_GETLINEENDTYPESACTIVE reports the set of line ends currently interpreted by Scintilla. It is SCI_GETLINEENDTYPESSUPPORTED & SCI_GETLINEENDTYPESALLOWED.

Words

There is support for selecting, navigating by, and searching for words.

Words are contiguous sequences of characters from a particular set of characters. 4 categories define words: word, whitespace, punctuation, and line ends with each category having a role in word functions. Double clicking selects the word at that point, which may be a sequence of word, punctuation, or whitespace bytes. Line ends are not selected by double clicking but do act as word separators.

Words are defined in terms of characters and the sets of characters in each category can be customized to an extent. The NUL character (0) is always a space as the APIs to set categories use NUL-terminated strings. For single-byte encodings a category may be assigned to any character (1 to 0xFF). For multi-byte encodings a category may be assigned to characters from 1 to 0x7F with static behaviour from 0x80. For UTF-8, characters from 0x80 will use a category based on their Unicode general category. For Asian encodings, code pages 932, 936, 949, 950, and 1361, characters from 0x80 are treated as word characters.

Identifiers in programming languages are often sequences of words with capitalisation (aCamelCaseIdentifier) or underscores (an_under_bar_ident) used to mark word boundaries. The SCI_WORDPART* commands are used for moving between word parts: SCI_WORDPARTLEFT, SCI_WORDPARTLEFTEXTEND, SCI_WORDPARTRIGHT, and SCI_WORDPARTRIGHTEXTEND.

SCI_WORDENDPOSITION(int pos, bool onlyWordCharacters) → int
SCI_WORDSTARTPOSITION(int pos, bool onlyWordCharacters) → int
SCI_ISRANGEWORD(int start, int end) → bool
SCI_SETWORDCHARS(<unused>, const char *characters)
SCI_GETWORDCHARS(<unused>, char *characters) → int
SCI_SETWHITESPACECHARS(<unused>, const char *characters)
SCI_GETWHITESPACECHARS(<unused>, char *characters) → int
SCI_SETPUNCTUATIONCHARS(<unused>, const char *characters)
SCI_GETPUNCTUATIONCHARS(<unused>, char *characters) → int
SCI_SETCHARSDEFAULT

SCI_WORDENDPOSITION(int pos, bool onlyWordCharacters) → int
SCI_WORDSTARTPOSITION(int pos, bool onlyWordCharacters) → int
These messages return the start and end of words using the same definition of words as used internally within Scintilla. You can set your own list of characters that count as words with SCI_SETWORDCHARS. The position sets the start or the search, which is forwards when searching for the end and backwards when searching for the start.

SCI_ISRANGEWORD(int start, int end) → bool
Is the range start..end a word or set of words? This message checks that start is at a word start transition and that end is at a word end transition. It does not check whether there are any spaces inside the range.

SCI_ISRANGEWORD(int start, int end) → bool

Set onlyWordCharacters to true (1) to stop searching at the first non-word character in the search direction. If onlyWordCharacters is false (0), the first character in the search direction sets the type of the search as word or non-word and the search stops at the first non-matching character. Searches are also terminated by the start or end of the document.

If "w" represents word characters and "." represents non-word characters and "|" represents the position and true or false is the state of onlyWordCharacters:

Initial state end, true end, false start, true start, false
..ww..|..ww.. ..ww..|..ww.. ..ww....|ww.. ..ww..|..ww.. ..ww|....ww..
....ww|ww.... ....wwww|.... ....wwww|.... ....|wwww.... ....|wwww....
..ww|....ww.. ..ww|....ww.. ..ww....|ww.. ..|ww....ww.. ..|ww....ww..
..ww....|ww.. ..ww....ww|.. ..ww....ww|.. ..ww....|ww.. ..ww|....ww..

SCI_SETWORDCHARS(<unused>, const char *characters)
This message defines which characters are members of the word category. The character categories are set to default values before processing this function. For example, if you don't allow '_' in your set of characters use:
SCI_SETWORDCHARS(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");

SCI_GETWORDCHARS(<unused>, char *characters) → int
This fills the characters parameter with all the characters included in words. The characters parameter must be large enough to hold all of the characters. If the characters parameter is 0 then the length that should be allocated to store the entire set is returned.

For multi-byte encodings, this API will not return meaningful values for 0x80 and above.

SCI_SETWHITESPACECHARS(<unused>, const char *characters)
SCI_GETWHITESPACECHARS(<unused>, char *characters) → int
Similar to SCI_SETWORDCHARS, this message allows the user to define which chars Scintilla considers as whitespace. Setting the whitespace chars allows the user to fine-tune Scintilla's behaviour doing such things as moving the cursor to the start or end of a word; for example, by defining punctuation chars as whitespace, they will be skipped over when the user presses ctrl+left or ctrl+right. This function should be called after SCI_SETWORDCHARS as it will reset the whitespace characters to the default set. SCI_GETWHITESPACECHARS behaves similarly to SCI_GETWORDCHARS.

SCI_SETPUNCTUATIONCHARS(<unused>, const char *characters)
SCI_GETPUNCTUATIONCHARS(<unused>, char *characters) → int
Similar to SCI_SETWORDCHARS and SCI_SETWHITESPACECHARS, this message allows the user to define which chars Scintilla considers as punctuation. SCI_GETPUNCTUATIONCHARS behaves similarly to SCI_GETWORDCHARS.

SCI_SETCHARSDEFAULT
Use the default sets of word and whitespace characters. This sets whitespace to space, tab and other characters with codes less than 0x20, with word characters set to alphanumeric and '_'.

Word keyboard commands are:

  • SCI_WORDLEFT
  • SCI_WORDLEFTEXTEND
  • SCI_WORDRIGHT
  • SCI_WORDRIGHTEXTEND
  • SCI_WORDLEFTEND
  • SCI_WORDLEFTENDEXTEND
  • SCI_WORDRIGHTEND
  • SCI_WORDRIGHTENDEXTEND
  • SCI_WORDPARTLEFT
  • SCI_WORDPARTLEFTEXTEND
  • SCI_WORDPARTRIGHT
  • SCI_WORDPARTRIGHTEXTEND
  • SCI_DELWORDLEFT
  • SCI_DELWORDRIGHT
  • SCI_DELWORDRIGHTEND

Styling

The styling messages allow you to assign styles to text. If your styling needs can be met by one of the standard lexers, or if you can write your own, then a lexer is probably the easiest way to style your document. If you choose to use the container to do the styling you can use the SCI_SETLEXER command to select SCLEX_CONTAINER, in which case the container is sent a SCN_STYLENEEDED notification each time text needs styling for display. As another alternative, you might use idle time to style the document. Even if you use a lexer, you might use the styling commands to mark errors detected by a compiler. The following commands can be used.

SCI_GETENDSTYLED → position
SCI_STARTSTYLING(int start, int unused)
SCI_SETSTYLING(int length, int style)
SCI_SETSTYLINGEX(int length, const char *styles)
SCI_SETIDLESTYLING(int idleStyling)
SCI_GETIDLESTYLING → int
SCI_SETLINESTATE(int line, int state)
SCI_GETLINESTATE(int line) → int
SCI_GETMAXLINESTATE → int

SCI_GETENDSTYLED → position
Scintilla keeps a record of the last character that is likely to be styled correctly. This is moved forwards when characters after it are styled and moved backwards if changes are made to the text of the document before it. Before drawing text, this position is checked to see if any styling is needed and, if so, a SCN_STYLENEEDED notification message is sent to the container. The container can send SCI_GETENDSTYLED to work out where it needs to start styling. Scintilla will always ask to style whole lines.

SCI_STARTSTYLING(int start, int unused)
This prepares for styling by setting the styling position start to start at. The unused argument was used in earlier versions but is now ignored. After SCI_STARTSTYLING, send multiple SCI_SETSTYLING messages for each lexical entity to style or send SCI_SETSTYLINGEX to style in blocks.

SCI_SETSTYLING(int length, int style)
This message sets the style of length characters starting at the styling position and then increases the styling position by length, ready for the next call. SCI_STARTSTYLING should be called before the first call to this.

SCI_SETSTYLINGEX(int length, const char *styles)
As an alternative to SCI_SETSTYLING, which applies the same style to each byte, you can use this message which specifies the styles for each of length bytes from the styling position and then increases the styling position by length, ready for the next call. SCI_STARTSTYLING should be called before the first call to this.

SCI_SETIDLESTYLING(int idleStyling)
SCI_GETIDLESTYLING → int
By default, SC_IDLESTYLING_NONE (0), syntax styling is performed for all the currently visible text before displaying it. On very large files, this may make scrolling down slow. With SC_IDLESTYLING_TOVISIBLE (1), a small amount of styling is performed before display and then further styling is performed incrementally in the background as an idle-time task. This may result in the text initially appearing uncoloured and then, some time later, it is coloured. Text after the currently visible portion may be styled in the background with SC_IDLESTYLING_AFTERVISIBLE (2). To style both before and after the visible text in the background use SC_IDLESTYLING_ALL (3).

Since wrapping also needs to perform styling and also uses idle time, this setting has no effect when the document is displayed wrapped.

SCI_SETLINESTATE(int line, int state)
SCI_GETLINESTATE(int line) → int
As well as the 8 bits of lexical state stored for each character there is also an integer stored for each line. This can be used for longer lived parse states such as what the current scripting language is in an ASP page. Use SCI_SETLINESTATE to set the integer value and SCI_GETLINESTATE to get the value. Changing the value produces a SC_MOD_CHANGELINESTATE notification.

SCI_GETMAXLINESTATE → int
This returns the last line that has any line state.

Style definition

While the style setting messages mentioned above change the style numbers associated with text, these messages define how those style numbers are interpreted visually. There are 256 lexer styles that can be set, numbered 0 to STYLE_MAX (255). There are also some predefined numbered styles starting at 32, The following STYLE_* constants are defined.

STYLE_DEFAULT 32 This style defines the attributes that all styles receive when the SCI_STYLECLEARALL message is used.
STYLE_LINENUMBER 33 This style sets the attributes of the text used to display line numbers in a line number margin. The background colour set for this style also sets the background colour for all margins that do not have any folding mask bits set. That is, any margin for which mask & SC_MASK_FOLDERS is 0. See SCI_SETMARGINMASKN for more about masks.
STYLE_BRACELIGHT 34 This style sets the attributes used when highlighting braces with the SCI_BRACEHIGHLIGHT message and when highlighting the corresponding indentation with SCI_SETHIGHLIGHTGUIDE.
STYLE_BRACEBAD 35 This style sets the display attributes used when marking an unmatched brace with the SCI_BRACEBADLIGHT message.
STYLE_CONTROLCHAR 36 This style sets the font used when drawing control characters. Only the font, size, bold, italics, and character set attributes are used and not the colour attributes. See also: SCI_SETCONTROLCHARSYMBOL.
STYLE_INDENTGUIDE 37 This style sets the foreground and background colours used when drawing the indentation guides.
STYLE_CALLTIP 38 Call tips normally use the font attributes defined by STYLE_DEFAULT. Use of SCI_CALLTIPUSESTYLE causes call tips to use this style instead. Only the font face name, font size, foreground and background colours and character set attributes are used.
STYLE_FOLDDISPLAYTEXT 39 This is the style used for drawing text tags attached to folded text.
STYLE_LASTPREDEFINED 39 To make it easier for client code to discover the range of styles that are predefined, this is set to the style number of the last predefined style.
STYLE_MAX 255 This is not a style but is the number of the maximum style that can be set. Styles between STYLE_LASTPREDEFINED and STYLE_MAX may be used.

For each style you can set the font name, size and use of bold, italic and underline, foreground and background colour and the character set. You can also choose to hide text with a given style, display all characters as upper or lower case and fill from the last character on a line to the end of the line (for embedded languages). There is also an experimental attribute to make text read-only.

It is entirely up to you how you use styles. If you want to use syntax colouring you might use style 0 for white space, style 1 for numbers, style 2 for keywords, style 3 for strings, style 4 for preprocessor, style 5 for operators, and so on.

SCI_STYLERESETDEFAULT
SCI_STYLECLEARALL
SCI_STYLESETFONT(int style, const char *fontName)
SCI_STYLEGETFONT(int style, char *fontName) → int
SCI_STYLESETSIZE(int style, int sizePoints)
SCI_STYLEGETSIZE(int style) → int
SCI_STYLESETSIZEFRACTIONAL(int style, int sizeHundredthPoints)
SCI_STYLEGETSIZEFRACTIONAL(int style) → int
SCI_STYLESETBOLD(int style, bool bold)
SCI_STYLEGETBOLD(int style) → bool
SCI_STYLESETWEIGHT(int style, int weight)
SCI_STYLEGETWEIGHT(int style) → int
SCI_STYLESETITALIC(int style, bool italic)
SCI_STYLEGETITALIC(int style) → bool
SCI_STYLESETUNDERLINE(int style, bool underline)
SCI_STYLEGETUNDERLINE(int style) → bool
SCI_STYLESETFORE(int style, colour fore)
SCI_STYLEGETFORE(int style) → colour
SCI_STYLESETBACK(int style, colour back)
SCI_STYLEGETBACK(int style) → colour
SCI_STYLESETEOLFILLED(int style, bool eolFilled)
SCI_STYLEGETEOLFILLED(int style) → bool
SCI_STYLESETCHARACTERSET(int style, int characterSet)
SCI_STYLEGETCHARACTERSET(int style) → int
SCI_STYLESETCASE(int style, int caseVisible)
SCI_STYLEGETCASE(int style) → int
SCI_STYLESETVISIBLE(int style, bool visible)
SCI_STYLEGETVISIBLE(int style) → bool
SCI_STYLESETCHANGEABLE(int style, bool changeable)
SCI_STYLEGETCHANGEABLE(int style) → bool
SCI_STYLESETHOTSPOT(int style, bool hotspot)
SCI_STYLEGETHOTSPOT(int style) → bool

SCI_STYLERESETDEFAULT
This message resets STYLE_DEFAULT to its state when Scintilla was initialised.

SCI_STYLECLEARALL
This message sets all styles to have the same attributes as STYLE_DEFAULT. If you are setting up Scintilla for syntax colouring, it is likely that the lexical styles you set will be very similar. One way to set the styles is to:
1. Set STYLE_DEFAULT to the common features of all styles.
2. Use SCI_STYLECLEARALL to copy this to all styles.
3. Set the style attributes that make your lexical styles different.

SCI_STYLESETFONT(int style, const char *fontName)
SCI_STYLEGETFONT(int style, char *fontName NUL-terminated) → int
SCI_STYLESETSIZE(int style, int sizePoints)
SCI_STYLEGETSIZE(int style) → int
SCI_STYLESETSIZEFRACTIONAL(int style, int sizeHundredthPoints)
SCI_STYLEGETSIZEFRACTIONAL(int style) → int
SCI_STYLESETBOLD(int style, bool bold)
SCI_STYLEGETBOLD(int style) → bool
SCI_STYLESETWEIGHT(int style, int weight)
SCI_STYLEGETWEIGHT(int style) → int
SCI_STYLESETITALIC(int style, bool italic)
SCI_STYLEGETITALIC(int style) → bool
These messages (plus SCI_STYLESETCHARACTERSET) set the font attributes that are used to match the fonts you request to those available.

The fontName is a zero terminated string holding the name of a font. Under Windows, only the first 32 characters of the name are used, the name is decoded as UTF-8, and the name is not case sensitive. For internal caching, Scintilla tracks fonts by name and does care about the casing of font names, so please be consistent. On GTK+, Pango is used to display text and the name is sent directly to Pango without transformation. On Qt, the name is decoded as UTF-8. On Cocoa, the name is decoded as MacRoman.

Sizes can be set to a whole number of points with SCI_STYLESETSIZE or to a fractional point size in hundredths of a point with SCI_STYLESETSIZEFRACTIONAL by multiplying the size by 100 (SC_FONT_SIZE_MULTIPLIER). For example, a text size of 9.4 points is set with SCI_STYLESETSIZEFRACTIONAL(<style>, 940).

The weight or boldness of a font can be set with SCI_STYLESETBOLD or SCI_STYLESETWEIGHT. The weight is a number between 1 and 999 with 1 being very light and 999 very heavy. While any value can be used, fonts often only support between 2 and 4 weights with three weights being common enough to have symbolic names: SC_WEIGHT_NORMAL (400), SC_WEIGHT_SEMIBOLD (600), and SC_WEIGHT_BOLD (700). The SCI_STYLESETBOLD message takes a boolean argument with 0 choosing SC_WEIGHT_NORMAL and 1 SC_WEIGHT_BOLD.

SCI_STYLESETUNDERLINE(int style, bool underline)
SCI_STYLEGETUNDERLINE(int style) → bool
You can set a style to be underlined. The underline is drawn in the foreground colour. All characters with a style that includes the underline attribute are underlined, even if they are white space.

SCI_STYLESETFORE(int style, colour fore)
SCI_STYLEGETFORE(int style) → colour
SCI_STYLESETBACK(int style, colour back)
SCI_STYLEGETBACK(int style) → colour
Text is drawn in the foreground colour. The space in each character cell that is not occupied by the character is drawn in the background colour.

SCI_STYLESETEOLFILLED(int style, bool eolFilled)
SCI_STYLEGETEOLFILLED(int style) → bool
If the last character in the line has a style with this attribute set, the remainder of the line up to the right edge of the window is filled with the background colour set for the last character. This is useful when a document contains embedded sections in another language such as HTML pages with embedded JavaScript. By setting eolFilled to true and a consistent background colour (different from the background colour set for the HTML styles) to all JavaScript styles then JavaScript sections will be easily distinguished from HTML.

SCI_STYLESETCHARACTERSET(int style, int characterSet)
SCI_STYLEGETCHARACTERSET(int style) → int
You can set a style to use a different character set than the default. The places where such characters sets are likely to be useful are comments and literal strings. For example, SCI_STYLESETCHARACTERSET(SCE_C_STRING, SC_CHARSET_RUSSIAN) would ensure that strings in Russian would display correctly in C and C++ (SCE_C_STRING is the style number used by the C and C++ lexer to display literal strings; it has the value 6). This feature works differently on Windows and GTK+.
The default character set is SC_CHARSET_DEFAULT.

SC_CHARSET_ANSI and SC_CHARSET_DEFAULT specify European Windows code page 1252 unless the code page is set.

Character Set Windows GTK+ Cocoa
SC_CHARSET_ANSI ✓ (8859-1)
SC_CHARSET_ARABIC
SC_CHARSET_BALTIC
SC_CHARSET_CHINESEBIG5
SC_CHARSET_DEFAULT ✓ (8859-1) ✓ (8859-1)
SC_CHARSET_EASTEUROPE
SC_CHARSET_GB2312
SC_CHARSET_GREEK
SC_CHARSET_HANGUL
SC_CHARSET_HEBREW
SC_CHARSET_JOHAB
SC_CHARSET_MAC
SC_CHARSET_OEM
SC_CHARSET_RUSSIAN ✓ (cp1251) ✓ (koi8-r) ✓ (cp1251)
SC_CHARSET_SHIFTJIS
SC_CHARSET_SYMBOL
SC_CHARSET_THAI
SC_CHARSET_TURKISH
SC_CHARSET_VIETNAMESE
SC_CHARSET_OEM866 ✓ (cp866)
SC_CHARSET_CYRILLIC ✓ (cp1251) ✓ (cp1251)
SC_CHARSET_8859_15

SCI_STYLESETCASE(int style, int caseVisible)
SCI_STYLEGETCASE(int style) → int
The value of caseVisible determines how text is displayed. You can set upper case (SC_CASE_UPPER, 1) or lower case (SC_CASE_LOWER, 2) or camel case (SC_CASE_CAMEL, 3) or display normally (SC_CASE_MIXED, 0). This does not change the stored text, only how it is displayed.

SCI_STYLESETVISIBLE(int style, bool visible)
SCI_STYLEGETVISIBLE(int style) → bool
Text is normally visible. However, you can completely hide it by giving it a style with the visible set to 0. This could be used to hide embedded formatting instructions or hypertext keywords in HTML or XML. Invisible text may not be deleted by user actions but the application may delete invisible text by calling SCI_DELETERANGE.

SCI_STYLESETCHANGEABLE(int style, bool changeable)
SCI_STYLEGETCHANGEABLE(int style) → bool
This is an experimental and incompletely implemented style attribute. The default setting is changeable set true but when set false it makes text read-only. The user can not move the caret within not-changeable text and not-changeable text may not be deleted by the user. The application may delete not-changeable text by calling SCI_DELETERANGE.

SCI_STYLESETHOTSPOT(int style, bool hotspot)
SCI_STYLEGETHOTSPOT(int style) → bool
This style is used to mark ranges of text that can detect mouse clicks. The cursor changes to a hand over hotspots, and the foreground, and background colours may change and an underline appear to indicate that these areas are sensitive to clicking. This may be used to allow hyperlinks to other documents.

Caret, selection, and hotspot styles

The selection is shown by changing the foreground and/or background colours. If one of these is not set then that attribute is not changed for the selection. The default is to show the selection by changing the background to light grey and leaving the foreground the same as when it was not selected. When there is no selection, the current insertion point is marked by the text caret. This is a vertical line that is normally blinking on and off to attract the users attention.

SCI_SETSELFORE(bool useSetting, colour fore)
SCI_SETSELBACK(bool useSetting, colour back)
SCI_SETSELALPHA(alpha alpha)
SCI_GETSELALPHA → int
SCI_SETSELEOLFILLED(bool filled)
SCI_GETSELEOLFILLED → bool
SCI_SETCARETFORE(colour fore)
SCI_GETCARETFORE → colour
SCI_SETCARETLINEVISIBLE(bool show)
SCI_GETCARETLINEVISIBLE → bool
SCI_SETCARETLINEBACK(colour back)
SCI_GETCARETLINEBACK → colour
SCI_SETCARETLINEBACKALPHA(alpha alpha)
SCI_GETCARETLINEBACKALPHA → int
SCI_SETCARETLINEFRAME(int width)
SCI_GETCARETLINEFRAME → int
SCI_SETCARETLINEVISIBLEALWAYS(bool alwaysVisible)
SCI_GETCARETLINEVISIBLEALWAYS → bool
SCI_SETCARETPERIOD(int periodMilliseconds)
SCI_GETCARETPERIOD → int
SCI_SETCARETSTYLE(int caretStyle)
SCI_GETCARETSTYLE → int
SCI_SETCARETWIDTH(int pixelWidth)
SCI_GETCARETWIDTH → int
SCI_SETHOTSPOTACTIVEFORE(bool useSetting, colour fore)
SCI_GETHOTSPOTACTIVEFORE → colour
SCI_SETHOTSPOTACTIVEBACK(bool useSetting, colour back)
SCI_GETHOTSPOTACTIVEBACK → colour
SCI_SETHOTSPOTACTIVEUNDERLINE(bool underline)
SCI_GETHOTSPOTACTIVEUNDERLINE → bool
SCI_SETHOTSPOTSINGLELINE(bool singleLine)
SCI_GETHOTSPOTSINGLELINE → bool
SCI_SETCARETSTICKY(int useCaretStickyBehaviour)
SCI_GETCARETSTICKY → int
SCI_TOGGLECARETSTICKY

SCI_SETSELFORE(bool useSetting, colour fore)
SCI_SETSELBACK(bool useSetting, colour back)
You can choose to override the default selection colouring with these two messages. The colour you provide is used if you set useSelection*Colour to true. If it is set to false, the default styled colouring is used and the fore or back argument has no effect.

SCI_SETSELALPHA(alpha alpha)
SCI_GETSELALPHA → int
The selection can be drawn translucently in the selection background colour by setting an alpha value.

SCI_SETSELEOLFILLED(bool filled)
SCI_GETSELEOLFILLED → bool
The selection can be drawn up to the right hand border by setting this property.

SCI_SETCARETFORE(colour fore)
SCI_GETCARETFORE → colour
The colour of the caret can be set with SCI_SETCARETFORE and retrieved with SCI_GETCARETFORE.

SCI_SETCARETLINEVISIBLE(bool show)
SCI_GETCARETLINEVISIBLE → bool
SCI_SETCARETLINEBACK(colour back)
SCI_GETCARETLINEBACK → colour
SCI_SETCARETLINEBACKALPHA(alpha alpha)
SCI_GETCARETLINEBACKALPHA → int
SCI_SETCARETLINEFRAME(int width)
SCI_GETCARETLINEFRAME → int
You can choose to make the background colour of the line containing the caret different with these messages. To do this, set the desired background colour with SCI_SETCARETLINEBACK, then use SCI_SETCARETLINEVISIBLE(true) to enable the effect. You can cancel the effect with SCI_SETCARETLINEVISIBLE(false). The two SCI_GETCARET* functions return the state and the colour. This form of background colouring has highest priority when a line has markers that would otherwise change the background colour. The caret line may also be drawn translucently which allows other background colours to show through. This is done by setting the alpha (translucency) value by calling SCI_SETCARETLINEBACKALPHA. When the alpha is not SC_ALPHA_NOALPHA, the caret line is drawn after all other features so will affect the colour of all other features. Alternatively SCI_SETCARETLINEFRAME can be used to display the caret line framed instead of filling the whole background. Set width != 0 to enable this option and width = 0 to disable it.

SCI_SETCARETLINEVISIBLEALWAYS(bool alwaysVisible)
SCI_GETCARETLINEVISIBLEALWAYS → bool
Choose to make the caret line always visible even when the window is not in focus. Default behaviour SCI_SETCARETLINEVISIBLEALWAYS(false) the caret line is only visible when the window is in focus.

SCI_SETCARETPERIOD(int periodMilliseconds)
SCI_GETCARETPERIOD → int
The rate at which the caret blinks can be set with SCI_SETCARETPERIOD which determines the time in milliseconds that the caret is visible or invisible before changing state. Setting the period to 0 stops the caret blinking. The default value is 500 milliseconds. SCI_GETCARETPERIOD returns the current setting.

SCI_SETCARETSTYLE(int caretStyle)
SCI_GETCARETSTYLE → int
The style of the caret can be set with SCI_SETCARETSTYLE to be a line caret (CARETSTYLE_LINE=1), a block caret (CARETSTYLE_BLOCK=2) or to not draw at all (CARETSTYLE_INVISIBLE=0). The default value is the line caret (CARETSTYLE_LINE=1). You can determine the current caret style setting using SCI_GETCARETSTYLE.

The block character draws most combining and multibyte character sequences successfully, though some fonts like Thai Fonts (and possibly others) can sometimes appear strange when the cursor is positioned at these characters, which may result in only drawing a part of the cursor character sequence. This is most notable on Windows platforms.

SCI_SETCARETWIDTH(int pixelWidth)
SCI_GETCARETWIDTH → int
The width of the line caret can be set with SCI_SETCARETWIDTH to a value of 0, 1, 2 or 3 pixels. The default width is 1 pixel. You can read back the current width with SCI_GETCARETWIDTH. A width of 0 makes the caret invisible (added at version 1.50), similar to setting the caret style to CARETSTYLE_INVISIBLE (though not interchangeable). This setting only affects the width of the cursor when the cursor style is set to line caret mode, it does not affect the width for a block caret.

SCI_SETHOTSPOTACTIVEFORE(bool useSetting, colour fore)
SCI_GETHOTSPOTACTIVEFORE → colour
SCI_SETHOTSPOTACTIVEBACK(bool useSetting, colour back)
SCI_GETHOTSPOTACTIVEBACK → colour
SCI_SETHOTSPOTACTIVEUNDERLINE(bool underline)
SCI_GETHOTSPOTACTIVEUNDERLINE → bool
SCI_SETHOTSPOTSINGLELINE(bool singleLine)
SCI_GETHOTSPOTSINGLELINE → bool
While the cursor hovers over text in a style with the hotspot attribute set, the default colouring can be modified and an underline drawn with these settings. Single line mode stops a hotspot from wrapping onto next line.

SCI_SETCARETSTICKY(int useCaretStickyBehaviour)
SCI_GETCARETSTICKY → int
SCI_TOGGLECARETSTICKY
These messages set, get or toggle the caretSticky setting which controls when the last position of the caret on the line is saved.

When set to SC_CARETSTICKY_OFF (0), the sticky flag is off; all text changes (and all caret position changes) will remember the caret's new horizontal position when moving to different lines. This is the default.

When set to SC_CARETSTICKY_ON (1), the sticky flag is on, and the only thing which will cause the editor to remember the horizontal caret position is moving the caret with mouse or keyboard (left/right arrow keys, home/end keys, etc).

When set to SC_CARETSTICKY_WHITESPACE (2), the caret acts like mode 0 (sticky off) except under one special case; when space or tab characters are inserted. (Including pasting only space/tabs -- undo, redo, etc. do not exhibit this behaviour..).

SCI_TOGGLECARETSTICKY switches from SC_CARETSTICKY_ON and SC_CARETSTICKY_WHITESPACE to SC_CARETSTICKY_OFF and from SC_CARETSTICKY_OFF to SC_CARETSTICKY_ON.

Character representations

Some characters, such as control characters and invalid bytes, do not have a visual glyph or use a glyph that is hard to distinguish.

Control characters (characters with codes less than 32, or between 128 and 159 in some encodings) are displayed by Scintilla using their mnemonics inverted in a rounded rectangle. These mnemonics come from the early days of signalling, though some are still used (LF = Line Feed, BS = Back Space, CR = Carriage Return, for example).

For the low 'C0' values: "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", "BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US".

For the high 'C1' values: "PAD", "HOP", "BPH", "NBH", "IND", "NEL", "SSA", "ESA", "HTS", "HTJ", "VTS", "PLD", "PLU", "RI", "SS2", "SS3", "DCS", "PU1", "PU2", "STS", "CCH", "MW", "SPA", "EPA", "SOS", "SGCI", "SCI", "CSI", "ST", "OSC", "PM", "APC".

Invalid bytes are shown in a similar way with an 'x' followed by their value in hexadecimal, like "xFE".

SCI_SETREPRESENTATION(const char *encodedCharacter, const char *representation)
SCI_GETREPRESENTATION(const char *encodedCharacter, char *representation) → int
SCI_CLEARREPRESENTATION(const char *encodedCharacter)
SCI_SETCONTROLCHARSYMBOL(int symbol)
SCI_GETCONTROLCHARSYMBOL → int

SCI_SETREPRESENTATION(const char *encodedCharacter, const char *representation)
SCI_GETREPRESENTATION(const char *encodedCharacter, char *representation NUL-terminated) → int
SCI_CLEARREPRESENTATION(const char *encodedCharacter)
Any character, including those normally displayed as mnemonics may be represented by a string inverted in a rounded rectangle.

For example, the Ohm sign Ω U+2126 looks very similar to the Greek Omega character Ω U+03C9 so, for the UTF-8 encoding, to distinguish the Ohm sign as "U+2126 Ω" this call could be made: SCI_SETREPRESENTATION("\xe2\x84\xa6", "U+2126 \xe2\x84\xa6")

The encodedCharacter parameter is a NUL-terminated string of the bytes for one character in the current encoding. This can not be used to set a representation for multiple-character strings.

The NUL (0) character is a special case since the encodedCharacter parameter is NUL terminated, the NUL character is specified as an empty string.

SCI_SETCONTROLCHARSYMBOL(int symbol)
SCI_GETCONTROLCHARSYMBOL → int
The mnemonics may be replaced by a nominated symbol with an ASCII code in the range 32 to 255. If you set a symbol value less than 32, all control characters are displayed as mnemonics. The symbol you set is rendered in the font of the style set for the character. You can read back the current symbol with the SCI_GETCONTROLCHARSYMBOL message. The default symbol value is 0.

Margins

There may be multiple margins to the left of the text display plus a gap either side of the text. 5 margins are allocated initially numbered from 0 to SC_MAX_MARGIN (4) but this may be changed by calling SCI_SETMARGINS. Each margin can be set to display only symbols, line numbers, or text with SCI_SETMARGINTYPEN. Textual margins may also display symbols. The markers that can be displayed in each margin are set with SCI_SETMARGINMASKN. Any markers not associated with a visible margin will be displayed as changes in background colour in the text. A width in pixels can be set for each margin. Margins with a zero width are ignored completely. You can choose if a mouse click in a margin sends a SCN_MARGINCLICK or SCN_MARGINRIGHTCLICK notification to the container or selects a line of text.

Using a margin number outside the valid range has no effect. By default, margin 0 is set to display line numbers, but is given a width of 0, so it is hidden. Margin 1 is set to display non-folding symbols and is given a width of 16 pixels, so it is visible. Margin 2 is set to display the folding symbols, but is given a width of 0, so it is hidden. Of course, you can set the margins to be whatever you wish.

Styled text margins used to show revision and blame information:

Styled text margins used to show revision and blame information

SCI_SETMARGINS(int margins)
SCI_GETMARGINS → int
SCI_SETMARGINTYPEN(int margin, int marginType)
SCI_GETMARGINTYPEN(int margin) → int
SCI_SETMARGINWIDTHN(int margin, int pixelWidth)
SCI_GETMARGINWIDTHN(int margin) → int
SCI_SETMARGINMASKN(int margin, int mask)
SCI_GETMARGINMASKN(int margin) → int
SCI_SETMARGINSENSITIVEN(int margin, bool sensitive)
SCI_GETMARGINSENSITIVEN(int margin) → bool
SCI_SETMARGINCURSORN(int margin, int cursor)
SCI_GETMARGINCURSORN(int margin) → int
SCI_SETMARGINBACKN(int margin, colour back)
SCI_GETMARGINBACKN(int margin) → colour
SCI_SETMARGINLEFT(<unused>, int pixelWidth)
SCI_GETMARGINLEFT → int
SCI_SETMARGINRIGHT(<unused>, int pixelWidth)
SCI_GETMARGINRIGHT → int
SCI_SETFOLDMARGINCOLOUR(bool useSetting, colour back)
SCI_SETFOLDMARGINHICOLOUR(bool useSetting, colour fore)
SCI_MARGINSETTEXT(int line, const char *text)
SCI_MARGINGETTEXT(int line, char *text) → int
SCI_MARGINSETSTYLE(int line, int style)
SCI_MARGINGETSTYLE(int line) → int
SCI_MARGINSETSTYLES(int line, const char *styles)
SCI_MARGINGETSTYLES(int line, char *styles) → int
SCI_MARGINTEXTCLEARALL
SCI_MARGINSETSTYLEOFFSET(int style)
SCI_MARGINGETSTYLEOFFSET → int
SCI_SETMARGINOPTIONS(int marginOptions)
SCI_GETMARGINOPTIONS → int

SCI_SETMARGINS(int margins)
SCI_GETMARGINS → int
Allocate the number of margins or find the number of margins currently allocated.

SCI_SETMARGINTYPEN(int margin, int marginType)
SCI_GETMARGINTYPEN(int margin) → int
These two routines set and get the type of a margin. The margin argument should be 0, 1, 2, 3 or 4. You can use the predefined constants SC_MARGIN_SYMBOL (0) and SC_MARGIN_NUMBER (1) to set a margin as either a line number or a symbol margin. A margin with application defined text may use SC_MARGIN_TEXT (4) or SC_MARGIN_RTEXT (5) to right justify the text. By convention, margin 0 is used for line numbers and the next two are used for symbols. You can also use the constants SC_MARGIN_BACK (2), SC_MARGIN_FORE (3), and SC_MARGIN_COLOUR (6) for symbol margins that set their background colour to match the STYLE_DEFAULT background and foreground colours or a specified colour.

SCI_SETMARGINWIDTHN(int margin, int pixelWidth)
SCI_GETMARGINWIDTHN(int margin) → int
These routines set and get the width of a margin in pixels. A margin with zero width is invisible. By default, Scintilla sets margin 1 for symbols with a width of 16 pixels, so this is a reasonable guess if you are not sure what would be appropriate. Line number margins widths should take into account the number of lines in the document and the line number style. You could use something like SCI_TEXTWIDTH(STYLE_LINENUMBER, "_99999") to get a suitable width.

SCI_SETMARGINMASKN(int margin, int mask)
SCI_GETMARGINMASKN(int margin) → int
The mask is a 32-bit value. Each bit corresponds to one of 32 logical symbols that can be displayed in a margin that is enabled for symbols. There is a useful constant, SC_MASK_FOLDERS (0xFE000000 or -33554432), that is a mask for the 7 logical symbols used to denote folding. You can assign a wide range of symbols and colours to each of the 32 logical symbols, see Markers for more information. If (mask & SC_MASK_FOLDERS)==0, the margin background colour is controlled by style 33 (STYLE_LINENUMBER).

You add logical markers to a line with SCI_MARKERADD. If a line has an associated marker that does not appear in the mask of any margin with a non-zero width, the marker changes the background colour of the line. For example, suppose you decide to use logical marker 10 to mark lines with a syntax error and you want to show such lines by changing the background colour. The mask for this marker is 1 shifted left 10 times (1<<10) which is 0x400. If you make sure that no symbol margin includes 0x400 in its mask, any line with the marker gets the background colour changed.

To set a non-folding margin 1 use SCI_SETMARGINMASKN(1, ~SC_MASK_FOLDERS) which is the default set by Scintilla. To set a folding margin 2 use SCI_SETMARGINMASKN(2, SC_MASK_FOLDERS). ~SC_MASK_FOLDERS is 0x1FFFFFF in hexadecimal or 33554431 decimal. Of course, you may need to display all 32 symbols in a margin, in which case use SCI_SETMARGINMASKN(margin, -1).

SCI_SETMARGINSENSITIVEN(int margin, bool sensitive)
SCI_GETMARGINSENSITIVEN(int margin) → bool
Each of the five margins can be set sensitive or insensitive to mouse clicks. A click in a sensitive margin sends a SCN_MARGINCLICK or SCN_MARGINRIGHTCLICK notification to the container. Margins that are not sensitive act as selection margins which make it easy to select ranges of lines. By default, all margins are insensitive.

SCI_SETMARGINCURSORN(int margin, int cursor)
SCI_GETMARGINCURSORN(int margin) → int
A reversed arrow cursor is normally shown over all margins. This may be changed to a normal arrow with SCI_SETMARGINCURSORN(margin, SC_CURSORARROW) or restored to a reversed arrow with SCI_SETMARGINCURSORN(margin, SC_CURSORREVERSEARROW).

SCI_SETMARGINBACKN(int margin, colour back)
SCI_GETMARGINBACKN(int margin) → colour
A margin of type SC_MARGIN_COLOUR may have its colour set with SCI_SETMARGINBACKN.

SCI_SETMARGINLEFT(<unused>, int pixelWidth)
SCI_GETMARGINLEFT → int
SCI_SETMARGINRIGHT(<unused>, int pixelWidth)
SCI_GETMARGINRIGHT → int
These messages set and get the width of the blank margin on both sides of the text in pixels. The default is to one pixel on each side.

SCI_SETFOLDMARGINCOLOUR(bool useSetting, colour back)
SCI_SETFOLDMARGINHICOLOUR(bool useSetting, colour fore)
These messages allow changing the colour of the fold margin and fold margin highlight. On Windows the fold margin colour defaults to ::GetSysColor(COLOR_3DFACE) and the fold margin highlight colour to ::GetSysColor(COLOR_3DHIGHLIGHT).

SCI_MARGINSETTEXT(int line, const char *text)
SCI_MARGINGETTEXT(int line, char *text) → int
SCI_MARGINSETSTYLE(int line, int style)
SCI_MARGINGETSTYLE(int line) → int
SCI_MARGINSETSTYLES(int line, const char *styles)
SCI_MARGINGETSTYLES(int line, char *styles) → int
SCI_MARGINTEXTCLEARALL
Text margins are created with the type SC_MARGIN_TEXT or SC_MARGIN_RTEXT. A different string may be set for each line with SCI_MARGINSETTEXT. The whole of the text margin on a line may be displayed in a particular style with SCI_MARGINSETSTYLE or each character may be individually styled with SCI_MARGINSETSTYLES which uses an array of bytes with each byte setting the style of the corresponding text byte similar to SCI_SETSTYLINGEX. Setting a text margin will cause a SC_MOD_CHANGEMARGIN notification to be sent.

Only some style attributes are active in text margins: font, size/sizeFractional, bold/weight, italics, fore, back, and characterSet.

SCI_MARGINSETSTYLEOFFSET(int style)
SCI_MARGINGETSTYLEOFFSET → int
Margin styles may be completely separated from standard text styles by setting a style offset. For example, SCI_MARGINSETSTYLEOFFSET(256) would allow the margin styles to be numbered from 256 up to 511 so they do not overlap styles set by lexers. Each style number set with SCI_MARGINSETSTYLE or SCI_MARGINSETSTYLES has the offset added before looking up the style.

Always call SCI_ALLOCATEEXTENDEDSTYLES before SCI_MARGINSETSTYLEOFFSET and use the result as the argument to SCI_MARGINSETSTYLEOFFSET.

SCI_SETMARGINOPTIONS(int marginOptions)
SCI_GETMARGINOPTIONS → int
Define margin options by enabling appropriate bit flags. At the moment, only one flag is available SC_MARGINOPTION_SUBLINESELECT=1, which controls how wrapped lines are selected when clicking on margin in front of them. If SC_MARGINOPTION_SUBLINESELECT is set only sub line of wrapped line is selected, otherwise whole wrapped line is selected. Margin options are set to SC_MARGINOPTION_NONE=0 by default.

Annotations

Annotations are read-only lines of text underneath each line of editable text. An annotation may consist of multiple lines separated by '\n'. Annotations can be used to display an assembler version of code for debugging or to show diagnostic messages inline or to line up different versions of text in a merge tool.

Annotations count as display lines for the methods SCI_VISIBLEFROMDOCLINE and SCI_DOCLINEFROMVISIBLE

Annotations used for inline diagnostics:

Annotations used for inline diagnostics

SCI_ANNOTATIONSETTEXT(int line, const char *text)
SCI_ANNOTATIONGETTEXT(int line, char *text) → int
SCI_ANNOTATIONSETSTYLE(int line, int style)
SCI_ANNOTATIONGETSTYLE(int line) → int
SCI_ANNOTATIONSETSTYLES(int line, const char *styles)
SCI_ANNOTATIONGETSTYLES(int line, char *styles) → int
SCI_ANNOTATIONGETLINES(int line) → int
SCI_ANNOTATIONCLEARALL
SCI_ANNOTATIONSETVISIBLE(int visible)
SCI_ANNOTATIONGETVISIBLE → int
SCI_ANNOTATIONSETSTYLEOFFSET(int style)
SCI_ANNOTATIONGETSTYLEOFFSET → int

SCI_ANNOTATIONSETTEXT(int line, const char *text)
SCI_ANNOTATIONGETTEXT(int line, char *text) → int
SCI_ANNOTATIONSETSTYLE(int line, int style)
SCI_ANNOTATIONGETSTYLE(int line) → int
SCI_ANNOTATIONSETSTYLES(int line, const char *styles)
SCI_ANNOTATIONGETSTYLES(int line, char *styles) → int
SCI_ANNOTATIONGETLINES(int line) → int
SCI_ANNOTATIONCLEARALL
A different string may be set for each line with SCI_ANNOTATIONSETTEXT. To clear annotations call SCI_ANNOTATIONSETTEXT with a NULL pointer. The whole of the text ANNOTATION on a line may be displayed in a particular style with SCI_ANNOTATIONSETSTYLE or each character may be individually styled with SCI_ANNOTATIONSETSTYLES which uses an array of bytes with each byte setting the style of the corresponding text byte similar to SCI_SETSTYLINGEX. The text must be set first as it specifies how long the annotation is so how many bytes of styling to read. Setting an annotation will cause a SC_MOD_CHANGEANNOTATION notification to be sent.

The number of lines annotating a line can be retrieved with SCI_ANNOTATIONGETLINES. All the lines can be cleared of annotations with SCI_ANNOTATIONCLEARALL which is equivalent to clearing each line (setting to 0) and then deleting other memory used for this feature.

Only some style attributes are active in annotations: font, size/sizeFractional, bold/weight, italics, fore, back, and characterSet.

SCI_ANNOTATIONSETVISIBLE(int visible)
SCI_ANNOTATIONGETVISIBLE → int
Annotations can be made visible in a view and there is a choice of display style when visible. The two messages set and get the annotation display mode. The visible argument can be one of:

ANNOTATION_HIDDEN 0 Annotations are not displayed.
ANNOTATION_STANDARD 1 Annotations are drawn left justified with no adornment.
ANNOTATION_BOXED 2 Annotations are indented to match the text and are surrounded by a box.
ANNOTATION_INDENTED 3 Annotations are indented to match the text.

SCI_ANNOTATIONSETSTYLEOFFSET(int style)
SCI_ANNOTATIONGETSTYLEOFFSET → int
Annotation styles may be completely separated from standard text styles by setting a style offset. For example, SCI_ANNOTATIONSETSTYLEOFFSET(512) would allow the annotation styles to be numbered from 512 up to 767 so they do not overlap styles set by lexers (or margins if margins offset is 256). Each style number set with SCI_ANNOTATIONSETSTYLE or SCI_ANNOTATIONSETSTYLES has the offset added before looking up the style.

Always call SCI_ALLOCATEEXTENDEDSTYLES before SCI_ANNOTATIONSETSTYLEOFFSET and use the result as the argument to SCI_ANNOTATIONSETSTYLEOFFSET.

Other settings

SCI_SETBUFFEREDDRAW(bool buffered)
SCI_GETBUFFEREDDRAW → bool
SCI_SETPHASESDRAW(int phases)
SCI_GETPHASESDRAW → int
SCI_SETTWOPHASEDRAW(bool twoPhase)
SCI_GETTWOPHASEDRAW → bool
SCI_SETTECHNOLOGY(int technology)
SCI_GETTECHNOLOGY → int
SCI_SETFONTQUALITY(int fontQuality)
SCI_GETFONTQUALITY → int
SCI_SETCODEPAGE(int codePage)
SCI_GETCODEPAGE → int
SCI_SETIMEINTERACTION(int imeInteraction)
SCI_GETIMEINTERACTION → int
SCI_GRABFOCUS
SCI_SETFOCUS(bool focus)
SCI_GETFOCUS → bool

To forward a message (WM_XXXX, WPARAM, LPARAM) to Scintilla, you can use SendMessage(hScintilla, WM_XXXX, WPARAM, LPARAM) where hScintilla is the handle to the Scintilla window you created as your editor.

While we are on the subject of forwarding messages in Windows, the top level window should forward any WM_SETTINGCHANGE messages to Scintilla (this is currently used to collect changes to mouse settings, but could be used for other user interface items in the future).

SCI_SETBUFFEREDDRAW(bool buffered)
SCI_GETBUFFEREDDRAW → bool
These messages turn buffered drawing on or off and report the buffered drawing state. Buffered drawing draws each line into a bitmap rather than directly to the screen and then copies the bitmap to the screen. This avoids flickering although it does take longer. The default is for drawing to be buffered on Win32 and GTK+ and to not be buffered on Cocoa and Qt. Buffered drawing is not supported on Cocoa.

Current platforms perform window buffering so it is almost always better for this option to be turned off. For Win32 and GTK+, client code should turn off buffering at initialisation. There are some older platforms and unusual modes where buffering may still be useful.

SCI_SETPHASESDRAW(int phases)
SCI_GETPHASESDRAW → int
There are several orders in which the text area may be drawn offering a trade-off between speed and allowing all pixels of text to be seen even when they overlap other elements.

In single phase drawing (SC_PHASES_ONE) each run of characters in one style is drawn along with its background. If a character overhangs the end of a run, such as in "V_" where the "V" is in a different style from the "_", then this can cause the right hand side of the "V" to be overdrawn by the background of the "_" which cuts it off.

Two phase drawing (SC_PHASES_TWO) fixes this by drawing all the backgrounds of a line first and then drawing the text in transparent mode. Lines are drawn separately and no line will overlap another so any pixels that overlap into another line such as extreme ascenders and descenders on characters will be cut off. Two phase drawing may flicker more than single phase unless buffered drawing is on or the platform is naturally buffered. The default is for drawing to be two phase.

Multiple phase drawing (SC_PHASES_MULTIPLE) draws the whole area multiple times, once for each feature, building up the the appearance in layers or phases. The coloured backgrounds for all lines are drawn before any text and then all the text is drawn in transparent mode over this combined background without clipping text to the line boundaries. This allows extreme ascenders and descenders to overflow into the adjacent lines. This mode is incompatible with buffered drawing and will act as SC_PHASES_TWO if buffered drawing is turned on. Multiple phase drawing is slower than two phase drawing. Setting the layout cache with SCI_SETLAYOUTCACHE(SC_CACHE_PAGE) or higher can ensure that multiple phase drawing is not significantly slower.

SCI_SETTWOPHASEDRAW(bool twoPhase)
SCI_GETTWOPHASEDRAW → bool
This property has been replaced with the preceding PHASESDRAW property which is more general, allowing multiple phase drawing as well as one and two phase drawing.

SCI_SETTECHNOLOGY(int technology)
SCI_GETTECHNOLOGY → int
The technology property allows choosing between different drawing APIs and options. On most platforms, the only choice is SC_TECHNOLOGY_DEFAULT (0). On Windows Vista or later, SC_TECHNOLOGY_DIRECTWRITE (1), SC_TECHNOLOGY_DIRECTWRITERETAIN (2), or SC_TECHNOLOGY_DIRECTWRITEDC (3) can be chosen to use the Direct2D and DirectWrite APIs for higher quality antialiased drawing. SC_TECHNOLOGY_DIRECTWRITERETAIN differs from SC_TECHNOLOGY_DIRECTWRITE by requesting that the frame is retained after being presented which may prevent drawing failures on some cards and drivers. SC_TECHNOLOGY_DIRECTWRITEDC differs from SC_TECHNOLOGY_DIRECTWRITE by using DirectWrite to draw into a GDI DC. Since Direct2D buffers drawing, Scintilla's buffering can be turned off with SCI_SETBUFFEREDDRAW(0).

SCI_SETFONTQUALITY(int fontQuality)
SCI_GETFONTQUALITY → int
Manage font quality (antialiasing method). Currently, the following values are available on Windows: SC_EFF_QUALITY_DEFAULT (backward compatible), SC_EFF_QUALITY_NON_ANTIALIASED, SC_EFF_QUALITY_ANTIALIASED, SC_EFF_QUALITY_LCD_OPTIMIZED.

In case it is necessary to squeeze more options into this property, only a limited number of bits defined by SC_EFF_QUALITY_MASK (0xf) will be used for quality.

SCI_SETCODEPAGE(int codePage)
SCI_GETCODEPAGE → int
Scintilla supports UTF-8, Japanese, Chinese and Korean DBCS along with single byte encodings like Latin-1. UTF-8 (SC_CP_UTF8) is the default. Use this message with codePage set to the code page number to set Scintilla to use code page information to ensure multiple byte characters are treated as one character rather than multiple. This also stops the caret from moving between the bytes in a multi-byte character. Do not use this message to choose between different single byte character sets - use SCI_STYLESETCHARACTERSET. Call with codePage set to zero to disable multi-byte support.

Code page SC_CP_UTF8 (65001) sets Scintilla into Unicode mode with the document treated as a sequence of characters expressed in UTF-8. The text is converted to the platform's normal Unicode encoding before being drawn by the OS and thus can display Hebrew, Arabic, Cyrillic, and Han characters. Languages which can use two characters stacked vertically in one horizontal space, such as Thai, will mostly work but there are some issues where the characters are drawn separately leading to visual glitches. Bi-directional text is not supported.

Code page can be set to 65001 (UTF-8), 932 (Japanese Shift-JIS), 936 (Simplified Chinese GBK), 949 (Korean Unified Hangul Code), 950 (Traditional Chinese Big5), or 1361 (Korean Johab).

SCI_SETIMEINTERACTION(int imeInteraction)
SCI_GETIMEINTERACTION → int
When entering text in Chinese, Japanese, or Korean an Input Method Editor (IME) may be displayed. The IME may be an extra window appearing above Scintilla or may be displayed by Scintilla itself as text. On some platforms there is a choice between the two techniques. A windowed IME SC_IME_WINDOWED (0) may be more similar in appearance and behaviour to the IME in other applications. An inline IME SC_IME_INLINE (1) may work better with some Scintilla features such as rectangular and multiple selection.

The windowed behaviour can be chosen with SCI_SETIMEINTERACTION(SC_IME_WINDOWED) and the inline behaviour with SCI_SETIMEINTERACTION(SC_IME_INLINE). Scintilla may ignore this call in some cases. For example, the inline behaviour might only be supported for some languages.

When the inline IME mode is active, characters are added tentatively before being finalised and an SCN_CHARADDED notification is sent for each character.

SCI_GRABFOCUS
SCI_SETFOCUS(bool focus)
SCI_GETFOCUS → bool
Scintilla can be told to grab the focus with this message. This is needed more on GTK+ where focus handling is more complicated than on Windows.

The internal focus flag can be set with SCI_SETFOCUS. This is used by clients that have complex focus requirements such as having their own window that gets the real focus but with the need to indicate that Scintilla has the logical focus.

Brace highlighting

SCI_BRACEHIGHLIGHT(int posA, int posB)
SCI_BRACEBADLIGHT(int pos)
SCI_BRACEHIGHLIGHTINDICATOR(bool useSetting, int indicator)
SCI_BRACEBADLIGHTINDICATOR(bool useSetting, int indicator)
SCI_BRACEMATCH(int pos, int maxReStyle) → position

SCI_BRACEHIGHLIGHT(int posA, int posB)
Up to two characters can be highlighted in a 'brace highlighting style', which is defined as style number STYLE_BRACELIGHT (34). If you have enabled indent guides, you may also wish to highlight the indent that corresponds with the brace. You can locate the column with SCI_GETCOLUMN and highlight the indent with SCI_SETHIGHLIGHTGUIDE.

SCI_BRACEBADLIGHT(int pos)
If there is no matching brace then the brace badlighting style, style STYLE_BRACEBAD (35), can be used to show the brace that is unmatched. Using a position of INVALID_POSITION (-1) removes the highlight.

SCI_BRACEHIGHLIGHTINDICATOR(bool useSetting, int indicator)
Use specified indicator to highlight matching braces instead of changing their style.

SCI_BRACEBADLIGHTINDICATOR(bool useSetting, int indicator)
Use specified indicator to highlight non matching brace instead of changing its style.

SCI_BRACEMATCH(int pos, int maxReStyle) → position
The SCI_BRACEMATCH message finds a corresponding matching brace given pos, the position of one brace. The brace characters handled are '(', ')', '[', ']', '{', '}', '<', and '>'. The search is forwards from an opening brace and backwards from a closing brace. If the character at position is not a brace character, or a matching brace cannot be found, the return value is -1. Otherwise, the return value is the position of the matching brace.

A match only occurs if the style of the matching brace is the same as the starting brace or the matching brace is beyond the end of styling. Nested braces are handled correctly. The maxReStyle parameter must currently be 0 - it may be used in the future to limit the length of brace searches.

Tabs and Indentation Guides

Indentation (the white space at the start of a line) is often used by programmers to clarify program structure and in some languages, for example Python, it may be part of the language syntax. Tabs are normally used in editors to insert a tab character or to pad text with spaces up to the next tab.

When Scintilla is laying out a section of text, text after a tab character will usually be displayed at the next multiple of TABWIDTH columns from the left. However, it is also possible to explicitly set tabstops in pixels for each line.

Scintilla can be set to treat tab and backspace in the white space at the start of a line in a special way: inserting a tab indents the line to the next indent position rather than just inserting a tab at the current character position and backspace unindents the line rather than deleting a character. Scintilla can also display indentation guides (vertical lines) to help you to generate code.

SCI_SETTABWIDTH(int tabWidth)
SCI_GETTABWIDTH → int
SCI_CLEARTABSTOPS(int line)
SCI_ADDTABSTOP(int line, int x)
SCI_GETNEXTTABSTOP(int line, int x) → int
SCI_SETUSETABS(bool useTabs)
SCI_GETUSETABS → bool
SCI_SETINDENT(int indentSize)
SCI_GETINDENT → int
SCI_SETTABINDENTS(bool tabIndents)
SCI_GETTABINDENTS → bool
SCI_SETBACKSPACEUNINDENTS(bool bsUnIndents)
SCI_GETBACKSPACEUNINDENTS → bool
SCI_SETLINEINDENTATION(int line, int indentation)
SCI_GETLINEINDENTATION(int line) → int
SCI_GETLINEINDENTPOSITION(int line) → position
SCI_SETINDENTATIONGUIDES(int indentView)
SCI_GETINDENTATIONGUIDES → int
SCI_SETHIGHLIGHTGUIDE(int column)
SCI_GETHIGHLIGHTGUIDE → int

SCI_SETTABWIDTH(int tabWidth)
SCI_GETTABWIDTH → int
SCI_SETTABWIDTH sets the size of a tab as a multiple of the size of a space character in STYLE_DEFAULT. The default tab width is 8 characters. There are no limits on tab sizes, but values less than 1 or large values may have undesirable effects.

SCI_CLEARTABSTOPS(int line)
SCI_ADDTABSTOP(int line, int x)
SCI_GETNEXTTABSTOP(int line, int x) → int
SCI_CLEARTABSTOPS clears explicit tabstops on a line. SCI_ADDTABSTOP adds an explicit tabstop at the specified distance from the left (in pixels), and SCI_GETNEXTTABSTOP gets the next explicit tabstop position set after the given x position, or zero if there aren't any. Changing tab stops produces a SC_MOD_CHANGETABSTOPS notification.

SCI_SETUSETABS(bool useTabs)
SCI_GETUSETABS → bool
SCI_SETUSETABS determines whether indentation should be created out of a mixture of tabs and spaces or be based purely on spaces. Set useTabs to false (0) to create all tabs and indents out of spaces. The default is true. You can use SCI_GETCOLUMN to get the column of a position taking the width of a tab into account.

SCI_SETINDENT(int indentSize)
SCI_GETINDENT → int
SCI_SETINDENT sets the size of indentation in terms of the width of a space in STYLE_DEFAULT. If you set a width of 0, the indent size is the same as the tab size. There are no limits on indent sizes, but values less than 0 or large values may have undesirable effects.

SCI_SETTABINDENTS(bool tabIndents)
SCI_GETTABINDENTS → bool
SCI_SETBACKSPACEUNINDENTS(bool bsUnIndents)
SCI_GETBACKSPACEUNINDENTS → bool

Inside indentation white space, the tab and backspace keys can be made to indent and unindent rather than insert a tab character or delete a character with the SCI_SETTABINDENTS and SCI_SETBACKSPACEUNINDENTS functions.

SCI_SETLINEINDENTATION(int line, int indentation)
SCI_GETLINEINDENTATION(int line) → int
The amount of indentation on a line can be discovered and set with SCI_GETLINEINDENTATION and SCI_SETLINEINDENTATION. The indentation is measured in character columns, which correspond to the width of space characters.

SCI_GETLINEINDENTPOSITION(int line) → position
This returns the position at the end of indentation of a line.

SCI_SETINDENTATIONGUIDES(int indentView)
SCI_GETINDENTATIONGUIDES → int
Indentation guides are dotted vertical lines that appear within indentation white space every indent size columns. They make it easy to see which constructs line up especially when they extend over multiple pages. Style STYLE_INDENTGUIDE (37) is used to specify the foreground and background colour of the indentation guides.

There are 4 indentation guide views. SC_IV_NONE turns the feature off but the other 3 states determine how far the guides appear on empty lines.

SC_IV_NONE No indentation guides are shown.
SC_IV_REAL Indentation guides are shown inside real indentation white space.
SC_IV_LOOKFORWARD Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line. If the previous non-empty line was a fold header then indentation guides are shown for one more level of indent than that line. This setting is good for Python.
SC_IV_LOOKBOTH Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line or previous non-empty line whichever is the greater. This setting is good for most languages.

SCI_SETHIGHLIGHTGUIDE(int column)
SCI_GETHIGHLIGHTGUIDE → int
When brace highlighting occurs, the indentation guide corresponding to the braces may be highlighted with the brace highlighting style, STYLE_BRACELIGHT (34). Set column to 0 to cancel this highlight.

Markers

There are 32 markers, numbered 0 to MARKER_MAX (31), and you can assign any combination of them to each line in the document. Markers appear in the selection margin to the left of the text. If the selection margin is set to zero width, the background colour of the whole line is changed instead. Marker numbers 25 to 31 are used by Scintilla in folding margins, and have symbolic names of the form SC_MARKNUM_*, for example SC_MARKNUM_FOLDEROPEN.

Marker numbers 0 to 24 have no pre-defined function; you can use them to mark syntax errors or the current point of execution, break points, or whatever you need marking. If you do not need folding, you can use all 32 for any purpose you wish.

Each marker number has a symbol associated with it. You can also set the foreground and background colour for each marker number, so you can use the same symbol more than once with different colouring for different uses. Scintilla has a set of symbols you can assign (SC_MARK_*) or you can use characters. By default, all 32 markers are set to SC_MARK_CIRCLE with a black foreground and a white background.

The markers are drawn in the order of their numbers, so higher numbered markers appear on top of lower numbered ones. Markers try to move with their text by tracking where the start of their line moves. When a line is deleted, its markers are combined, by an OR operation, with the markers of the next line.

SCI_MARKERDEFINE(int markerNumber, int markerSymbol)
SCI_MARKERDEFINEPIXMAP(int markerNumber, const char *pixmap)
SCI_RGBAIMAGESETWIDTH(int width)
SCI_RGBAIMAGESETHEIGHT(int height)
SCI_RGBAIMAGESETSCALE(int scalePercent)
SCI_MARKERDEFINERGBAIMAGE(int markerNumber, const char *pixels)
SCI_MARKERSYMBOLDEFINED(int markerNumber) → int
SCI_MARKERSETFORE(int markerNumber, colour fore)
SCI_MARKERSETBACK(int markerNumber, colour back)
SCI_MARKERSETBACKSELECTED(int markerNumber, colour back)
SCI_MARKERENABLEHIGHLIGHT(bool enabled)
SCI_MARKERSETALPHA(int markerNumber, alpha alpha)
SCI_MARKERADD(int line, int markerNumber) → int
SCI_MARKERADDSET(int line, int markerSet)
SCI_MARKERDELETE(int line, int markerNumber)
SCI_MARKERDELETEALL(int markerNumber)
SCI_MARKERGET(int line) → int
SCI_MARKERNEXT(int lineStart, int markerMask) → int
SCI_MARKERPREVIOUS(int lineStart, int markerMask) → int
SCI_MARKERLINEFROMHANDLE(int markerHandle) → int
SCI_MARKERDELETEHANDLE(int markerHandle)

SCI_MARKERDEFINE(int markerNumber, int markerSymbol)
This message associates a marker number in the range 0 to 31 with one of the marker symbols or an ASCII character. The general-purpose marker symbols currently available are:
SC_MARK_CIRCLE, SC_MARK_ROUNDRECT, SC_MARK_ARROW, SC_MARK_SMALLRECT, SC_MARK_SHORTARROW, SC_MARK_EMPTY, SC_MARK_ARROWDOWN, SC_MARK_MINUS, SC_MARK_PLUS, SC_MARK_ARROWS, SC_MARK_DOTDOTDOT, SC_MARK_BACKGROUND, SC_MARK_LEFTRECT, SC_MARK_FULLRECT, SC_MARK_BOOKMARK, and SC_MARK_UNDERLINE.

The SC_MARK_BACKGROUND marker changes the background colour of the line only. The SC_MARK_FULLRECT symbol mirrors this, changing only the margin background colour. SC_MARK_UNDERLINE draws an underline across the text. The SC_MARK_EMPTY symbol is invisible, allowing client code to track the movement of lines. You would also use it if you changed the folding style and wanted one or more of the SC_FOLDERNUM_* markers to have no associated symbol.

Applications may use the marker symbol SC_MARK_AVAILABLE to indicate that plugins may allocate that marker number.

There are also marker symbols designed for use in the folding margin in a flattened tree style.
SC_MARK_BOXMINUS, SC_MARK_BOXMINUSCONNECTED, SC_MARK_BOXPLUS, SC_MARK_BOXPLUSCONNECTED, SC_MARK_CIRCLEMINUS, SC_MARK_CIRCLEMINUSCONNECTED, SC_MARK_CIRCLEPLUS, SC_MARK_CIRCLEPLUSCONNECTED, SC_MARK_LCORNER, SC_MARK_LCORNERCURVE, SC_MARK_TCORNER, SC_MARK_TCORNERCURVE, and SC_MARK_VLINE.

Characters can be used as markers by adding the ASCII value of the character to SC_MARK_CHARACTER (10000). For example, to use 'A' (ASCII code 65) as marker number 1 use:
SCI_MARKERDEFINE(1, SC_MARK_CHARACTER+65).

The marker numbers SC_MARKNUM_FOLDER and SC_MARKNUM_FOLDEROPEN are used for showing that a fold is present and open or closed. Any symbols may be assigned for this purpose although the (SC_MARK_PLUS, SC_MARK_MINUS) pair or the (SC_MARK_ARROW, SC_MARK_ARROWDOWN) pair are good choices. As well as these two, more assignments are needed for the flattened tree style: SC_MARKNUM_FOLDEREND, SC_MARKNUM_FOLDERMIDTAIL, SC_MARKNUM_FOLDEROPENMID, SC_MARKNUM_FOLDERSUB, and SC_MARKNUM_FOLDERTAIL. The bits used for folding are specified by SC_MASK_FOLDERS, which is commonly used as an argument to SCI_SETMARGINMASKN when defining a margin to be used for folding.

This table shows which SC_MARK_* symbols should be assigned to which SC_MARKNUM_* marker numbers to obtain four folding styles: Arrow (mimics Macintosh), plus/minus shows folded lines as '+' and opened folds as '-', Circle tree, Box tree.

SC_MARKNUM_* Arrow Plus/minus Circle tree Box tree
FOLDEROPEN ARROWDOWN MINUS CIRCLEMINUS BOXMINUS
FOLDER ARROW PLUS CIRCLEPLUS BOXPLUS
FOLDERSUB EMPTY EMPTY VLINE VLINE
FOLDERTAIL EMPTY EMPTY LCORNERCURVE LCORNER
FOLDEREND EMPTY EMPTY CIRCLEPLUSCONNECTED BOXPLUSCONNECTED
FOLDEROPENMID EMPTY EMPTY CIRCLEMINUSCONNECTED BOXMINUSCONNECTED
FOLDERMIDTAIL EMPTY EMPTY TCORNERCURVE TCORNER

Marker samples

SCI_MARKERDEFINEPIXMAP(int markerNumber, const char *pixmap)
Markers can be set to pixmaps with this message. The XPM format is used for the pixmap. Pixmaps use the SC_MARK_PIXMAP marker symbol.

SCI_RGBAIMAGESETWIDTH(int width)
SCI_RGBAIMAGESETHEIGHT(int height)
SCI_RGBAIMAGESETSCALE(int scalePercent)
SCI_MARKERDEFINERGBAIMAGE(int markerNumber, const char *pixels)
Markers can be set to translucent pixmaps with this message. The RGBA format is used for the pixmap. The width and height must previously been set with the SCI_RGBAIMAGESETWIDTH and SCI_RGBAIMAGESETHEIGHT messages.

A scale factor in percent may be set with SCI_RGBAIMAGESETSCALE. This is useful on OS X with a retina display where each display unit is 2 pixels: use a factor of 200 so that each image pixel is displayed using a screen pixel. The default scale, 100, will stretch each image pixel to cover 4 screen pixels on a retina display.

Pixmaps use the SC_MARK_RGBAIMAGE marker symbol.

SCI_MARKERSYMBOLDEFINED(int markerNumber) → int
Returns the symbol defined for a markerNumber with SCI_MARKERDEFINE or SC_MARK_PIXMAP if defined with SCI_MARKERDEFINEPIXMAP or SC_MARK_RGBAIMAGE if defined with SCI_MARKERDEFINERGBAIMAGE.

SCI_MARKERSETFORE(int markerNumber, colour fore)
SCI_MARKERSETBACK(int markerNumber, colour back)
These two messages set the foreground and background colour of a marker number.
SCI_MARKERSETBACKSELECTED(int markerNumber, colour back)
This message sets the highlight background colour of a marker number when its folding block is selected. The default colour is #FF0000.

SCI_MARKERENABLEHIGHLIGHT(bool enabled)
This message allows to enable/disable the highlight folding block when it is selected. (i.e. block that contains the caret)

SCI_MARKERSETALPHA(int markerNumber, alpha alpha)
When markers are drawn in the content area, either because there is no margin for them or they are of SC_MARK_BACKGROUND or SC_MARK_UNDERLINE types, they may be drawn translucently by setting an alpha value.

SCI_MARKERADD(int line, int markerNumber) → int
This message adds marker number markerNumber to a line. The message returns -1 if this fails (illegal line number, out of memory) or it returns a marker handle number that identifies the added marker. You can use this returned handle with SCI_MARKERLINEFROMHANDLE to find where a marker is after moving or combining lines and with SCI_MARKERDELETEHANDLE to delete the marker based on its handle. The message does not check the value of markerNumber, nor does it check if the line already contains the marker.

SCI_MARKERADDSET(int line, int markerSet)
This message can add one or more markers to a line with a single call, specified in the same "one-bit-per-marker" 32-bit integer format returned by SCI_MARKERGET (and used by the mask-based marker search functions SCI_MARKERNEXT and SCI_MARKERPREVIOUS). As with SCI_MARKERADD, no check is made to see if any of the markers are already present on the targeted line.

SCI_MARKERDELETE(int line, int markerNumber)
This searches the given line number for the given marker number and deletes it if it is present. If you added the same marker more than once to the line, this will delete one copy each time it is used. If you pass in a marker number of -1, all markers are deleted from the line.

SCI_MARKERDELETEALL(int markerNumber)
This removes markers of the given number from all lines. If markerNumber is -1, it deletes all markers from all lines.

SCI_MARKERGET(int line) → int
This returns a 32-bit integer that indicates which markers were present on the line. Bit 0 is set if marker 0 is present, bit 1 for marker 1 and so on.

SCI_MARKERNEXT(int lineStart, int markerMask) → int
SCI_MARKERPREVIOUS(int lineStart, int markerMask) → int
These messages search efficiently for lines that include a given set of markers. The search starts at line number lineStart and continues forwards to the end of the file (SCI_MARKERNEXT) or backwards to the start of the file (SCI_MARKERPREVIOUS). The markerMask argument should have one bit set for each marker you wish to find. Set bit 0 to find marker 0, bit 1 for marker 1 and so on. The message returns the line number of the first line that contains one of the markers in markerMask or -1 if no marker is found.

SCI_MARKERLINEFROMHANDLE(int markerHandle) → int
The markerHandle argument is an identifier for a marker returned by SCI_MARKERADD. This function searches the document for the marker with this handle and returns the line number that contains it or -1 if it is not found.

SCI_MARKERDELETEHANDLE(int markerHandle)
The markerHandle argument is an identifier for a marker returned by SCI_MARKERADD. This function searches the document for the marker with this handle and deletes the marker if it is found.

Indicators

Indicators are used to display additional information over the top of styling. They can be used to show, for example, syntax errors, deprecated names and bad indentation by drawing underlines under text or boxes around text.

Indicators may have a different "hover" colour and style when the mouse is over them or the caret is moved into them. This may be used, for example, to indicate that a URL can be clicked.

Indicators may be displayed as simple underlines, squiggly underlines, a line of small 'T' shapes, a line of diagonal hatching, a strike-out or a rectangle around the text. They may also be invisible when used to track pieces of content for the application as INDIC_HIDDEN.

The SCI_INDIC* messages allow you to get and set the visual appearance of the indicators. They all use an indicator argument in the range 0 to INDIC_MAX(35) to set the indicator to style. To prevent interference the set of indicators is divided up into a range for use by lexers (0..7) a range for use by containers (8=INDIC_CONTAINER .. 31=INDIC_IME-1) and a range for IME indicators (32=INDIC_IME .. 35=INDIC_IME_MAX).

Indicators are stored in a format similar to run length encoding which is efficient in both speed and storage for sparse information.

An indicator may store different values for each range but normally all values are drawn the same. The SCI_INDICSETFLAGS API may be used to display different colours for different values.

Originally, Scintilla used a different technique for indicators but this has been removed and the APIs perform no action. While both techniques were supported, the term "modern indicators" was used for the newer implementation.

SCI_INDICSETSTYLE(int indicator, int indicatorStyle)
SCI_INDICGETSTYLE(int indicator) → int
SCI_INDICSETFORE(int indicator, colour fore)
SCI_INDICGETFORE(int indicator) → colour
SCI_INDICSETALPHA(int indicator, alpha alpha)
SCI_INDICGETALPHA(int indicator) → int
SCI_INDICSETOUTLINEALPHA(int indicator, alpha alpha)
SCI_INDICGETOUTLINEALPHA(int indicator) → int
SCI_INDICSETUNDER(int indicator, bool under)
SCI_INDICGETUNDER(int indicator) → bool
SCI_INDICSETHOVERSTYLE(int indicator, int indicatorStyle)
SCI_INDICGETHOVERSTYLE(int indicator) → int
SCI_INDICSETHOVERFORE(int indicator, colour fore)
SCI_INDICGETHOVERFORE(int indicator) → colour
SCI_INDICSETFLAGS(int indicator, int flags)
SCI_INDICGETFLAGS(int indicator) → int

SCI_SETINDICATORCURRENT(int indicator)
SCI_GETINDICATORCURRENT → int
SCI_SETINDICATORVALUE(int value)
SCI_GETINDICATORVALUE → int
SCI_INDICATORFILLRANGE(int start, int lengthFill)
SCI_INDICATORCLEARRANGE(int start, int lengthClear)
SCI_INDICATORALLONFOR(int pos) → int
SCI_INDICATORVALUEAT(int indicator, int pos) → int
SCI_INDICATORSTART(int indicator, int pos) → int
SCI_INDICATOREND(int indicator, int pos) → int
SCI_FINDINDICATORSHOW(int start, int end)
SCI_FINDINDICATORFLASH(int start, int end)
SCI_FINDINDICATORHIDE

SCI_INDICSETSTYLE(int indicator, int indicatorStyle)
SCI_INDICGETSTYLE(int indicator) → int
These two messages set and get the style for a particular indicator. The indicator styles currently available are:
Indicator samples

Symbol Value Visual effect
INDIC_PLAIN 0 Underlined with a single, straight line.
INDIC_SQUIGGLE 1 A squiggly underline. Requires 3 pixels of descender space.
INDIC_TT 2 A line of small T shapes.
INDIC_DIAGONAL 3 Diagonal hatching.
INDIC_STRIKE 4 Strike out.
INDIC_HIDDEN 5 An indicator with no visual effect.
INDIC_BOX 6 A rectangle around the text.
INDIC_ROUNDBOX 7 A rectangle with rounded corners around the text using translucent drawing with the interior usually more transparent than the border. You can use SCI_INDICSETALPHA and SCI_INDICSETOUTLINEALPHA to control the alpha transparency values. The default alpha values are 30 for fill colour and 50 for outline colour.
INDIC_STRAIGHTBOX 8 A rectangle around the text using translucent drawing with the interior usually more transparent than the border. You can use SCI_INDICSETALPHA and SCI_INDICSETOUTLINEALPHA to control the alpha transparency values. The default alpha values are 30 for fill colour and 50 for outline colour. This indicator does not colour the top pixel of the line so that indicators on contiguous lines are visually distinct and disconnected.
INDIC_FULLBOX 16 A rectangle around the text using translucent drawing similar to INDIC_STRAIGHTBOX but covering the entire character area.
INDIC_DASH 9 A dashed underline.
INDIC_DOTS 10 A dotted underline.
INDIC_SQUIGGLELOW 11 Similar to INDIC_SQUIGGLE but only using 2 vertical pixels so will fit under small fonts.
INDIC_DOTBOX 12 A dotted rectangle around the text using translucent drawing. Translucency alternates between the alpha and outline alpha settings with the top-left pixel using the alpha setting. SCI_INDICSETALPHA and SCI_INDICSETOUTLINEALPHA control the alpha transparency values. The default values are 30 for alpha and 50 for outline alpha. To avoid excessive memory allocation the maximum width of a dotted box is 4000 pixels.
INDIC_GRADIENT 20 A vertical gradient between a colour and alpha at top to fully transparent at bottom.
INDIC_GRADIENTCENTRE 21 A vertical gradient with the specified colour and alpha in the middle fading to fully transparent at top and bottom.
INDIC_SQUIGGLEPIXMAP 13 A version of INDIC_SQUIGGLE that draws using a pixmap instead of as a series of line segments for performance. Measured to be between 3 and 6 times faster than INDIC_SQUIGGLE on GTK+. Appearance will not be as good as INDIC_SQUIGGLE on OS X in HiDPI mode.
INDIC_COMPOSITIONTHICK 14 A 2-pixel thick underline located at the bottom of the line to try to avoid touching the character base. Each side is inset 1 pixel so that different indicators in this style covering a range appear isolated. This is similar to an appearance used for the target in Asian language input composition.
INDIC_COMPOSITIONTHIN 15 A 1-pixel thick underline located just before the bottom of the line. Each side is inset 1 pixel so that different indicators in this style covering a range appear isolated. This is similar to an appearance used for non-target ranges in Asian language input composition.
INDIC_TEXTFORE 17 Change the colour of the text to the indicator's fore colour.
INDIC_POINT 18 Draw a triangle below the start of the indicator range.
INDIC_POINTCHARACTER 19 Draw a triangle below the centre of the first character of the indicator range.

The default indicator styles are equivalent to:
SCI_INDICSETSTYLE(0, INDIC_SQUIGGLE);
SCI_INDICSETSTYLE(1, INDIC_TT);
SCI_INDICSETSTYLE(2, INDIC_PLAIN);

SCI_INDICSETFORE(int indicator, colour fore)
SCI_INDICGETFORE(int indicator) → colour
These two messages set and get the colour used to draw an indicator. The default indicator colours are equivalent to:
SCI_INDICSETFORE(0, 0x007f00); (dark green)
SCI_INDICSETFORE(1, 0xff0000); (light blue)
SCI_INDICSETFORE(2, 0x0000ff); (light red)

SCI_INDICSETALPHA(int indicator, alpha alpha)
SCI_INDICGETALPHA(int indicator) → int
These two messages set and get the alpha transparency used for drawing the fill colour of the INDIC_ROUNDBOX and INDIC_STRAIGHTBOX rectangle. The alpha value can range from 0 (completely transparent) to 255 (no transparency).

SCI_INDICSETOUTLINEALPHA(int indicator, alpha alpha)
SCI_INDICGETOUTLINEALPHA(int indicator) → int
These two messages set and get the alpha transparency used for drawing the outline colour of the INDIC_ROUNDBOX and INDIC_STRAIGHTBOX rectangle. The alpha value can range from 0 (completely transparent) to 255 (no transparency).

SCI_INDICSETUNDER(int indicator, bool under)
SCI_INDICGETUNDER(int indicator) → bool
These two messages set and get whether an indicator is drawn under text or over(default). Drawing under text works only for indicators when two phase drawing is enabled.

SCI_INDICSETHOVERSTYLE(int indicator, int indicatorStyle)
SCI_INDICGETHOVERSTYLE(int indicator) → int
SCI_INDICSETHOVERFORE(int indicator, colour fore)
SCI_INDICGETHOVERFORE(int indicator) → colour
These messages set and get the colour and style used to draw indicators when the mouse is over them or the caret moved into them. The mouse cursor also changes when an indicator is drawn in hover style. The default is for the hover appearance to be the same as the normal appearance and calling SCI_INDICSETFORE or SCI_INDICSETSTYLE will also reset the hover attribute.

SCI_INDICSETFLAGS(int indicator, int flags)
SCI_INDICGETFLAGS(int indicator) → int
These messages set and get the flags associated with an indicator. There is currently one flag defined, SC_INDICFLAG_VALUEFORE: when this flag is set the colour used by the indicator is not from the indicator's fore setting but instead from the value of the indicator at that point in the file. This allows many colours to be displayed for a single indicator. The value is an RGB integer colour that has been ored with SC_INDICVALUEBIT(0x1000000) when calling SCI_SETINDICATORVALUE. To find the colour from the value, and the value with SC_INDICVALUEMASK(0xFFFFFF).

SCI_SETINDICATORCURRENT(int indicator)
SCI_GETINDICATORCURRENT → int
These two messages set and get the indicator that will be affected by calls to SCI_INDICATORFILLRANGE(int start, int lengthFill) and SCI_INDICATORCLEARRANGE(int start, int lengthClear).

SCI_SETINDICATORVALUE(int value)
SCI_GETINDICATORVALUE → int
These two messages set and get the value that will be set by calls to SCI_INDICATORFILLRANGE.

SCI_INDICATORFILLRANGE(int start, int lengthFill)
SCI_INDICATORCLEARRANGE(int start, int lengthClear)
These two messages fill or clear a range for the current indicator. SCI_INDICATORFILLRANGE fills with the the current value.

SCI_INDICATORALLONFOR(int pos) → int
Retrieve a bitmap value representing which indicators are non-zero at a position. Only the first 32 indicators are represented in the result so no IME indicators are included.

SCI_INDICATORVALUEAT(int indicator, int pos) → int
Retrieve the value of a particular indicator at a position.

SCI_INDICATORSTART(int indicator, int pos) → int
SCI_INDICATOREND(int indicator, int pos) → int
Find the start or end of a range with one value from a position within the range. Can be used to iterate through the document to discover all the indicator positions.

OS X Find Indicator

On OS X search matches are highlighted with an animated gold rounded rectangle. The indicator shows, then briefly grows 25% and shrinks to the original size to draw the user's attention. While this feature is currently only implemented on OS X, it may be implemented on other platforms in the future.

SCI_FINDINDICATORSHOW(int start, int end)
SCI_FINDINDICATORFLASH(int start, int end)
These two messages show and animate the find indicator. The indicator remains visible with SCI_FINDINDICATORSHOW and fades out after showing for half a second with SCI_FINDINDICATORFLASH. SCI_FINDINDICATORSHOW behaves similarly to the OS X TextEdit and Safari applications and is best suited to editing documentation where the search target is often a word. SCI_FINDINDICATORFLASH is similar to Xcode and is suited to editing source code where the match will often be located next to operators which would otherwise be hidden under the indicator's padding.

SCI_FINDINDICATORHIDE
This message hides the find indicator.

Earlier versions of Scintilla allowed partitioning style bytes between style numbers and indicators and provided APIs for setting and querying this.

Autocompletion

Autocompletion displays a list box showing likely identifiers based upon the user's typing. The user chooses the currently selected item by pressing the tab character or another character that is a member of the fillup character set defined with SCI_AUTOCSETFILLUPS. Autocompletion is triggered by your application. For example, in C if you detect that the user has just typed fred. you could look up fred, and if it has a known list of members, you could offer them in an autocompletion list. Alternatively, you could monitor the user's typing and offer a list of likely items once their typing has narrowed down the choice to a reasonable list. As yet another alternative, you could define a key code to activate the list.

When the user makes a selection from the list the container is sent a SCN_AUTOCSELECTION notification message. On return from the notification Scintilla will insert the selected text and the container is sent a SCN_AUTOCCOMPLETED notification message unless the autocompletion list has been cancelled, for example by the container sending SCI_AUTOCCANCEL.

To make use of autocompletion you must monitor each character added to the document. See SciTEBase::CharAdded() in SciTEBase.cxx for an example of autocompletion.

SCI_AUTOCSHOW(int lengthEntered, const char *itemList)
SCI_AUTOCCANCEL
SCI_AUTOCACTIVE → bool
SCI_AUTOCPOSSTART → position
SCI_AUTOCCOMPLETE
SCI_AUTOCSTOPS(<unused>, const char *characterSet)
SCI_AUTOCSETSEPARATOR(int separatorCharacter)
SCI_AUTOCGETSEPARATOR → int
SCI_AUTOCSELECT(<unused>, const char *select)
SCI_AUTOCGETCURRENT → int
SCI_AUTOCGETCURRENTTEXT(<unused>, char *text) → int
SCI_AUTOCSETCANCELATSTART(bool cancel)
SCI_AUTOCGETCANCELATSTART → bool
SCI_AUTOCSETFILLUPS(<unused>, const char *characterSet)
SCI_AUTOCSETCHOOSESINGLE(bool chooseSingle)
SCI_AUTOCGETCHOOSESINGLE → bool
SCI_AUTOCSETIGNORECASE(bool ignoreCase)
SCI_AUTOCGETIGNORECASE → bool
SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR(int behaviour)
SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR → int
SCI_AUTOCSETMULTI(int multi)
SCI_AUTOCGETMULTI → int
SCI_AUTOCSETORDER(int order)
SCI_AUTOCGETORDER → int
SCI_AUTOCSETAUTOHIDE(bool autoHide)
SCI_AUTOCGETAUTOHIDE → bool
SCI_AUTOCSETDROPRESTOFWORD(bool dropRestOfWord)
SCI_AUTOCGETDROPRESTOFWORD → bool
SCI_REGISTERIMAGE(int type, const char *xpmData)
SCI_REGISTERRGBAIMAGE(int type, const char *pixels)
SCI_CLEARREGISTEREDIMAGES
SCI_AUTOCSETTYPESEPARATOR(int separatorCharacter)
SCI_AUTOCGETTYPESEPARATOR → int
SCI_AUTOCSETMAXHEIGHT(int rowCount)
SCI_AUTOCGETMAXHEIGHT → int
SCI_AUTOCSETMAXWIDTH(int characterCount)
SCI_AUTOCGETMAXWIDTH → int

SCI_AUTOCSHOW(int lengthEntered, const char *itemList)
This message causes a list to be displayed. lengthEntered is the number of characters of the word already entered and itemList is the list of words separated by separator characters. The initial separator character is a space but this can be set or got with SCI_AUTOCSETSEPARATOR and SCI_AUTOCGETSEPARATOR.

With default settings, the list of words should be in sorted order. If set to ignore case mode with SCI_AUTOCSETIGNORECASE, then strings are matched after being converted to upper case. One result of this is that the list should be sorted with the punctuation characters '[', '\', ']', '^', '_', and '`' sorted after letters. Alternative handling of list order may be specified with SCI_AUTOCSETORDER

SCI_AUTOCCANCEL
This message cancels any displayed autocompletion list. When in autocompletion mode, the list should disappear when the user types a character that can not be part of the autocompletion, such as '.', '(' or '[' when typing an identifier. A set of characters that will cancel autocompletion can be specified with SCI_AUTOCSTOPS.

SCI_AUTOCACTIVE → bool
This message returns non-zero if there is an active autocompletion list and zero if there is not.

SCI_AUTOCPOSSTART → position
This returns the value of the current position when SCI_AUTOCSHOW started display of the list.

SCI_AUTOCCOMPLETE
This message triggers autocompletion. This has the same effect as the tab key.

SCI_AUTOCSTOPS(<unused>, const char *characterSet)
The characterSet argument is a string containing a list of characters that will automatically cancel the autocompletion list. When you start the editor, this list is empty.

SCI_AUTOCSETSEPARATOR(int separatorCharacter)
SCI_AUTOCGETSEPARATOR → int
These two messages set and get the separator character used to separate words in the SCI_AUTOCSHOW list. The default is the space character.

SCI_AUTOCSELECT(<unused>, const char *select)
SCI_AUTOCGETCURRENT → int
This message selects an item in the autocompletion list. It searches the list of words for the first that matches select. By default, comparisons are case sensitive, but you can change this with SCI_AUTOCSETIGNORECASE. The match is character by character for the length of the select string. That is, if select is "Fred" it will match "Frederick" if this is the first item in the list that begins with "Fred". If an item is found, it is selected. If the item is not found, the autocompletion list closes if auto-hide is true (see SCI_AUTOCSETAUTOHIDE).
The current selection index can be retrieved with SCI_AUTOCGETCURRENT.

SCI_AUTOCGETCURRENTTEXT(<unused>, char *text NUL-terminated) → int
This message retrieves the current selected text in the autocompletion list. Normally the SCN_AUTOCSELECTION notification is used instead.

The value is copied to the text buffer, returning the length (not including the terminating 0). If not found, an empty string is copied to the buffer and 0 is returned.

If the value argument is 0 then the length that should be allocated to store the value is returned; again, the terminating 0 is not included.

SCI_AUTOCSETCANCELATSTART(bool cancel)
SCI_AUTOCGETCANCELATSTART → bool
The default behaviour is for the list to be cancelled if the caret moves to the location it was at when the list was displayed. By calling this message with a false argument, the list is not cancelled until the caret moves at least one character before the word being completed.

SCI_AUTOCSETFILLUPS(<unused>, const char *characterSet)
If a fillup character is typed with an autocompletion list active, the currently selected item in the list is added into the document, then the fillup character is added. Common fillup characters are '(', '[' and '.' but others are possible depending on the language. By default, no fillup characters are set.

SCI_AUTOCSETCHOOSESINGLE(bool chooseSingle)
SCI_AUTOCGETCHOOSESINGLE → bool
If you use SCI_AUTOCSETCHOOSESINGLE(1) and a list has only one item, it is automatically added and no list is displayed. The default is to display the list even if there is only a single item.

SCI_AUTOCSETIGNORECASE(bool ignoreCase)
SCI_AUTOCGETIGNORECASE → bool
By default, matching of characters to list members is case sensitive. These messages let you set and get case sensitivity.

SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR(int behaviour)
SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR → int
When autocompletion is set to ignore case (SCI_AUTOCSETIGNORECASE), by default it will nonetheless select the first list member that matches in a case sensitive way to entered characters. This corresponds to a behaviour property of SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE (0). If you want autocompletion to ignore case at all, choose SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE (1).

SCI_AUTOCSETMULTI(int multi)
SCI_AUTOCGETMULTI → int
When autocompleting with multiple selections present, the autocompleted text can go into just the main selection with SC_MULTIAUTOC_ONCE (0) or into each selection with SC_MULTIAUTOC_EACH (1). The default is SC_MULTIAUTOC_ONCE.

SCI_AUTOCSETORDER(int order)
SCI_AUTOCGETORDER → int
The default setting SC_ORDER_PRESORTED (0) requires that the list be provided in alphabetical sorted order.

Sorting the list can be done by Scintilla instead of the application with SC_ORDER_PERFORMSORT (1). This will take additional time.

Applications that wish to prioritize some values and show the list in order of priority instead of alphabetical order can use SC_ORDER_CUSTOM (2). This requires extra processing in SCI_AUTOCSHOW to create a sorted index.

Setting the order should be done before calling SCI_AUTOCSHOW.

SCI_AUTOCSETAUTOHIDE(bool autoHide)
SCI_AUTOCGETAUTOHIDE → bool
By default, the list is cancelled if there are no viable matches (the user has typed characters that no longer match a list entry). If you want to keep displaying the original list, set autoHide to false. This also effects SCI_AUTOCSELECT.

SCI_AUTOCSETDROPRESTOFWORD(bool dropRestOfWord)
SCI_AUTOCGETDROPRESTOFWORD → bool
When an item is selected, any word characters following the caret are first erased if dropRestOfWord is set true. The default is false.

SCI_REGISTERIMAGE(int type, const char *xpmData)
SCI_REGISTERRGBAIMAGE(int type, const char *pixels)
SCI_CLEARREGISTEREDIMAGES
SCI_AUTOCSETTYPESEPARATOR(int separatorCharacter)
SCI_AUTOCGETTYPESEPARATOR → int
Autocompletion list items may display an image as well as text. Each image is first registered with an integer type. Then this integer is included in the text of the list separated by a '?' from the text. For example, "fclose?2 fopen" displays image 2 before the string "fclose" and no image before "fopen". The images are in either the XPM format (SCI_REGISTERIMAGE) or RGBA format (SCI_REGISTERRGBAIMAGE). For SCI_REGISTERRGBAIMAGE the width and height must previously been set with the SCI_RGBAIMAGESETWIDTH and SCI_RGBAIMAGESETHEIGHT messages. The set of registered images can be cleared with SCI_CLEARREGISTEREDIMAGES and the '?' separator changed with SCI_AUTOCSETTYPESEPARATOR.

SCI_AUTOCSETMAXHEIGHT(int rowCount)
SCI_AUTOCGETMAXHEIGHT → int
Get or set the maximum number of rows that will be visible in an autocompletion list. If there are more rows in the list, then a vertical scrollbar is shown. The default is 5.

SCI_AUTOCSETMAXWIDTH(int characterCount)
SCI_AUTOCGETMAXWIDTH → int
Get or set the maximum width of an autocompletion list expressed as the number of characters in the longest item that will be totally visible. If zero (the default) then the list's width is calculated to fit the item with the most characters. Any items that cannot be fully displayed within the available width are indicated by the presence of ellipsis.

User lists

User lists use the same internal mechanisms as autocompletion lists, and all the calls listed for autocompletion work on them; you cannot display a user list at the same time as an autocompletion list is active. They differ in the following respects:

SCI_USERLISTSHOW(int listType, const char *itemList)

o The SCI_AUTOCSETCHOOSESINGLE message has no effect.
o When the user makes a selection you are sent a SCN_USERLISTSELECTION notification message rather than SCN_AUTOCSELECTION.

BEWARE: if you have set fillup characters or stop characters, these will still be active with the user list, and may result in items being selected or the user list cancelled due to the user typing into the editor.

SCI_USERLISTSHOW(int listType, const char *itemList)
The listType parameter is returned to the container as the wParam field of the SCNotification structure. It must be greater than 0 as this is how Scintilla tells the difference between an autocompletion list and a user list. If you have different types of list, for example a list of buffers and a list of macros, you can use listType to tell which one has returned a selection.

Call tips

Call tips are small windows displaying the arguments to a function and are displayed after the user has typed the name of the function. They normally display characters using the font facename, size and character set defined by STYLE_DEFAULT. You can choose to use STYLE_CALLTIP to define the facename, size, foreground and background colours and character set with SCI_CALLTIPUSESTYLE. This also enables support for Tab characters. There is some interaction between call tips and autocompletion lists in that showing a call tip cancels any active autocompletion list, and vice versa.

Call tips are not implemented on Qt.

Call tips can highlight part of the text within them. You could use this to highlight the current argument to a function by counting the number of commas (or whatever separator your language uses). See SciTEBase::CharAdded() in SciTEBase.cxx for an example of call tip use.

The mouse may be clicked on call tips and this causes a SCN_CALLTIPCLICK notification to be sent to the container. Small up and down arrows may be displayed within a call tip by, respectively, including the characters '\001', or '\002'. This is useful for showing that there are overloaded variants of one function name and that the user can click on the arrows to cycle through the overloads.

Alternatively, call tips can be displayed when you leave the mouse pointer for a while over a word in response to the SCN_DWELLSTART notification and cancelled in response to SCN_DWELLEND. This method could be used in a debugger to give the value of a variable, or during editing to give information about the word under the pointer.

SCI_CALLTIPSHOW(int pos, const char *definition)
SCI_CALLTIPCANCEL
SCI_CALLTIPACTIVE → bool
SCI_CALLTIPPOSSTART → position
SCI_CALLTIPSETPOSSTART(int posStart)
SCI_CALLTIPSETHLT(int highlightStart, int highlightEnd)
SCI_CALLTIPSETBACK(colour back)
SCI_CALLTIPSETFORE(colour fore)
SCI_CALLTIPSETFOREHLT(colour fore)
SCI_CALLTIPUSESTYLE(int tabSize)
SCI_CALLTIPSETPOSITION(bool above)

SCI_CALLTIPSHOW(int pos, const char *definition)
This message starts the process by displaying the call tip window. If a call tip is already active, this has no effect.
pos is the position in the document at which to align the call tip. The call tip text is aligned to start 1 line below this character unless you have included up and/or down arrows in the call tip text in which case the tip is aligned to the right-hand edge of the rightmost arrow. The assumption is that you will start the text with something like "\001 1 of 3 \002".
definition is the call tip text. This can contain multiple lines separated by '\n' (Line Feed, ASCII code 10) characters. Do not include '\r' (Carriage Return, ASCII code 13), as this will most likely print as an empty box. '\t' (Tab, ASCII code 9) is supported if you set a tabsize with SCI_CALLTIPUSESTYLE.
The position of the caret is remembered here so that the call tip can be cancelled automatically if subsequent deletion moves the caret before this position.

SCI_CALLTIPCANCEL
This message cancels any displayed call tip. Scintilla will also cancel call tips for you if you use any keyboard commands that are not compatible with editing the argument list of a function. Call tips are cancelled if you delete back past the position where the caret was when the tip was triggered.

SCI_CALLTIPACTIVE → bool
This returns 1 if a call tip is active and 0 if it is not active.

SCI_CALLTIPPOSSTART → position
SCI_CALLTIPSETPOSSTART(int posStart)
This message returns or sets the value of the current position when SCI_CALLTIPSHOW started to display the tip.

SCI_CALLTIPSETHLT(int highlightStart, int highlightEnd)
This sets the region of the call tips text to display in a highlighted style. highlightStart is the zero-based index into the string of the first character to highlight and highlightEnd is the index of the first character after the highlight. highlightEnd must be greater than highlightStart; highlightEnd-highlightStart is the number of characters to highlight. Highlights can extend over line ends if this is required.

Unhighlighted text is drawn in a mid grey. Selected text is drawn in a dark blue. The background is white. These can be changed with SCI_CALLTIPSETBACK, SCI_CALLTIPSETFORE, and SCI_CALLTIPSETFOREHLT.

SCI_CALLTIPSETBACK(colour back)
The background colour of call tips can be set with this message; the default colour is white. It is not a good idea to set a dark colour as the background as the default colour for normal calltip text is mid grey and the default colour for highlighted text is dark blue. This also sets the background colour of STYLE_CALLTIP.

SCI_CALLTIPSETFORE(colour fore)
The colour of call tip text can be set with this message; the default colour is mid grey. This also sets the foreground colour of STYLE_CALLTIP.

SCI_CALLTIPSETFOREHLT(colour fore)
The colour of highlighted call tip text can be set with this message; the default colour is dark blue.

SCI_CALLTIPUSESTYLE(int tabSize)
This message changes the style used for call tips from STYLE_DEFAULT to STYLE_CALLTIP and sets a tab size in screen pixels. If tabsize is less than 1, Tab characters are not treated specially. Once this call has been used, the call tip foreground and background colours are also taken from the style.

SCI_CALLTIPSETPOSITION(bool above)
By default the calltip is displayed below the text, setting above to true (1) will display it above the text.

Keyboard commands

To allow the container application to perform any of the actions available to the user with keyboard, all the keyboard actions are messages. They do not take any parameters. These commands are also used when redefining the key bindings with the SCI_ASSIGNCMDKEY message.

SCI_LINEDOWN SCI_LINEDOWNEXTEND SCI_LINEDOWNRECTEXTEND SCI_LINESCROLLDOWN
SCI_LINEUP SCI_LINEUPEXTEND SCI_LINEUPRECTEXTEND SCI_LINESCROLLUP
SCI_PARADOWN SCI_PARADOWNEXTEND SCI_PARAUP SCI_PARAUPEXTEND
SCI_CHARLEFT SCI_CHARLEFTEXTEND SCI_CHARLEFTRECTEXTEND
SCI_CHARRIGHT SCI_CHARRIGHTEXTEND SCI_CHARRIGHTRECTEXTEND
SCI_WORDLEFT SCI_WORDLEFTEXTEND SCI_WORDRIGHT SCI_WORDRIGHTEXTEND
SCI_WORDLEFTEND SCI_WORDLEFTENDEXTEND SCI_WORDRIGHTEND SCI_WORDRIGHTENDEXTEND
SCI_WORDPARTLEFT SCI_WORDPARTLEFTEXTEND SCI_WORDPARTRIGHT SCI_WORDPARTRIGHTEXTEND
SCI_HOME SCI_HOMEEXTEND SCI_HOMERECTEXTEND
SCI_HOMEDISPLAY SCI_HOMEDISPLAYEXTEND SCI_HOMEWRAP SCI_HOMEWRAPEXTEND
SCI_VCHOME SCI_VCHOMEEXTEND SCI_VCHOMERECTEXTEND
SCI_VCHOMEWRAP SCI_VCHOMEWRAPEXTEND SCI_VCHOMEDISPLAY SCI_VCHOMEDISPLAYEXTEND
SCI_LINEEND SCI_LINEENDEXTEND SCI_LINEENDRECTEXTEND
SCI_LINEENDDISPLAY SCI_LINEENDDISPLAYEXTEND SCI_LINEENDWRAP SCI_LINEENDWRAPEXTEND
SCI_DOCUMENTSTART SCI_DOCUMENTSTARTEXTEND SCI_DOCUMENTEND SCI_DOCUMENTENDEXTEND
SCI_PAGEUP SCI_PAGEUPEXTEND SCI_PAGEUPRECTEXTEND
SCI_PAGEDOWN SCI_PAGEDOWNEXTEND SCI_PAGEDOWNRECTEXTEND
SCI_STUTTEREDPAGEUP SCI_STUTTEREDPAGEUPEXTEND
SCI_STUTTEREDPAGEDOWN SCI_STUTTEREDPAGEDOWNEXTEND
SCI_DELETEBACK SCI_DELETEBACKNOTLINE
SCI_DELWORDLEFT SCI_DELWORDRIGHT SCI_DELWORDRIGHTEND
SCI_DELLINELEFT SCI_DELLINERIGHT SCI_LINEDELETE SCI_LINECUT
SCI_LINECOPY SCI_LINETRANSPOSE SCI_LINEREVERSE SCI_LINEDUPLICATE
SCI_LOWERCASE SCI_UPPERCASE SCI_CANCEL SCI_EDITTOGGLEOVERTYPE
SCI_NEWLINE SCI_FORMFEED SCI_TAB SCI_BACKTAB
SCI_SELECTIONDUPLICATE SCI_VERTICALCENTRECARET
SCI_MOVESELECTEDLINESUP SCI_MOVESELECTEDLINESDOWN
SCI_SCROLLTOSTART SCI_SCROLLTOEND

The SCI_*EXTEND messages extend the selection.

The SCI_*RECTEXTEND messages extend the rectangular selection (and convert regular selection to rectangular one, if any).

The SCI_WORDPART* commands are used to move between word segments marked by capitalisation (aCamelCaseIdentifier) or underscores (an_under_bar_ident).

The SCI_WORD[LEFT|RIGHT]END* commands are similar to SCI_WORD[LEFT|RIGHT]* but move between word ends instead of word starts.

The SCI_HOME* commands move the caret to the start of the line, while the SCI_VCHOME* commands move the caret to the first non-blank character of the line (ie. just after the indentation) unless it is already there; in this case, it acts as SCI_HOME*.

The SCI_[HOME|LINEEND]DISPLAY* commands are used when in line wrap mode to allow movement to the start or end of display lines as opposed to the normal SCI_[HOME|LINEEND] commands which move to the start or end of document lines.

The SCI_[[VC]HOME|LINEEND]WRAP* commands are like their namesakes SCI_[[VC]HOME|LINEEND]* except they behave differently when word-wrap is enabled: They go first to the start / end of the display line, like SCI_[HOME|LINEEND]DISPLAY*, but if the cursor is already at the point, it goes on to the start or end of the document line, as appropriate for SCI_[[VC]HOME|LINEEND]*.

The SCI_SCROLLTO[START|END] commands scroll the document to the start or end without changing the selection. These commands match OS X platform conventions for the behaviour of the home and end keys. Scintilla can be made to match OS X applications by binding the home and end keys to these commands.

The SCI_CANCEL command cancels autocompletion and calltip display and drops any additional selections.

Key bindings

There is a default binding of keys to commands that is defined in the Scintilla source in the file KeyMap.cxx by the constant KeyMap::MapDefault[]. This table maps key definitions to SCI_* messages with no parameters (mostly the keyboard commands discussed above, but any Scintilla command that has no arguments can be mapped). You can change the mapping to suit your own requirements.

SCI_ASSIGNCMDKEY(int keyDefinition, int sciCommand)
SCI_CLEARCMDKEY(int keyDefinition)
SCI_CLEARALLCMDKEYS
SCI_NULL

keyDefinition
A key definition contains the key code in the low 16-bits and the key modifiers in the high 16-bits. To combine keyCode and keyMod set:

keyDefinition = keyCode + (keyMod << 16)

The key code is a visible or control character or a key from the SCK_* enumeration, which contains:
SCK_ADD, SCK_BACK, SCK_DELETE, SCK_DIVIDE, SCK_DOWN, SCK_END, SCK_ESCAPE, SCK_HOME, SCK_INSERT, SCK_LEFT, SCK_MENU, SCK_NEXT (Page Down), SCK_PRIOR (Page Up), SCK_RETURN, SCK_RIGHT, SCK_RWIN, SCK_SUBTRACT, SCK_TAB, SCK_UP, and SCK_WIN.

The modifiers are a combination of zero or more of SCMOD_ALT, SCMOD_CTRL, SCMOD_SHIFT, SCMOD_META, and SCMOD_SUPER. On OS X, the Command key is mapped to SCMOD_CTRL and the Control key to SCMOD_META. SCMOD_SUPER is only available on GTK+ which is commonly the Windows key. If you are building a table, you might want to use SCMOD_NORM, which has the value 0, to mean no modifiers.

SCI_ASSIGNCMDKEY(int keyDefinition, int sciCommand)
This assigns the given key definition to a Scintilla command identified by sciCommand. sciCommand can be any SCI_* command that has no arguments.

SCI_CLEARCMDKEY(int keyDefinition)
This makes the given key definition do nothing by assigning the action SCI_NULL to it.

SCI_CLEARALLCMDKEYS
This command removes all keyboard command mapping by setting an empty mapping table.

SCI_NULL
The SCI_NULL does nothing and is the value assigned to keys that perform no action. SCI_NULL ensures that keys do not propagate to the parent window as that may cause focus to move. If you want the standard platform behaviour use the constant 0 instead.

Popup edit menu

SCI_USEPOPUP(int popUpMode)

SCI_USEPOPUP(int popUpMode)
Clicking the wrong button on the mouse pops up a short default editing menu. This may be turned off with SCI_USEPOPUP(SC_POPUP_NEVER). If you turn it off, context menu commands (in Windows, WM_CONTEXTMENU) will not be handled by Scintilla, so the parent of the Scintilla window will have the opportunity to handle the message.

Symbol Value Meaning
SC_POPUP_NEVER 0 Never show default editing menu.
SC_POPUP_ALL 1 Show default editing menu if clicking on scintilla.
SC_POPUP_TEXT 2 Show default editing menu only if clicking on text area.

Macro recording

Start and stop macro recording mode. In macro recording mode, actions are reported to the container through SCN_MACRORECORD notifications. It is then up to the container to record these actions for future replay.

SCI_STARTRECORD
SCI_STOPRECORD

SCI_STARTRECORD
SCI_STOPRECORD
These two messages turn macro recording on and off.

Printing

SCI_FORMATRANGE can be used to draw the text onto a display surface which can include a printer display surface. Printed output shows text styling as on the screen, but it hides all margins except a line number margin. All special marker effects are removed and the selection and caret are hidden.

Different platforms use different display surface ID types to print on. On Windows, these are HDCs., on GTK+ 3.x cairo_t *, and on Cocoa CGContextRef is used.

SCI_FORMATRANGE(bool draw, Sci_RangeToFormat *fr) → position
SCI_SETPRINTMAGNIFICATION(int magnification)
SCI_GETPRINTMAGNIFICATION → int
SCI_SETPRINTCOLOURMODE(int mode)
SCI_GETPRINTCOLOURMODE → int
SCI_SETPRINTWRAPMODE(int wrapMode)
SCI_GETPRINTWRAPMODE → int

SCI_FORMATRANGE(bool draw, Sci_RangeToFormat *fr) → position
This call renders a range of text into a device context. If you use this for printing, you will probably want to arrange a page header and footer; Scintilla does not do this for you. See SciTEWin::Print() in SciTEWinDlg.cxx for an example. Each use of this message renders a range of text into a rectangular area and returns the position in the document of the next character to print.

draw controls if any output is done. Set this to false if you are paginating (for example, if you use this with MFC you will need to paginate in OnBeginPrinting() before you output each page.

struct Sci_Rectangle { int left; int top; int right; int bottom; };

struct Sci_RangeToFormat {
    Sci_SurfaceID hdc;        // The Surface ID we print to
    Sci_SurfaceID hdcTarget;  // The Surface ID we use for measuring (may be same as hdc)
    Sci_Rectangle rc;         // Rectangle in which to print
    Sci_Rectangle rcPage;     // Physically printable page size
    Sci_CharacterRange chrg;  // Range of characters to print
};

On Windows, hdc and hdcTarget should both be set to the device context handle of the output device (usually a printer). If you print to a metafile these will not be the same as Windows metafiles (unlike extended metafiles) do not implement the full API for returning information. In this case, set hdcTarget to the screen DC.
rcPage is the rectangle {0, 0, maxX, maxY} where maxX+1 and maxY+1 are the number of physically printable pixels in x and y.
rc is the rectangle to render the text in (which will, of course, fit within the rectangle defined by rcPage).
chrg.cpMin and chrg.cpMax define the start position and maximum position of characters to output. All of each line within this character range is drawn.

On Cocoa, the surface IDs for printing (draw=1) should be the graphics port of the current context ((CGContextRef) [[NSGraphicsContext currentContext] graphicsPort]) when the view's drawRect method is called. The Surface IDs are not really used for measurement (draw=0) but can be set to a bitmap context (created with CGBitmapContextCreate) to avoid runtime warnings.

On GTK+, the surface IDs to use can be found from the printing context with gtk_print_context_get_cairo_context(context).

chrg.cpMin and chrg.cpMax define the start position and maximum position of characters to output. All of each line within this character range is drawn.

When printing, the most tedious part is always working out what the margins should be to allow for the non-printable area of the paper and printing a header and footer. If you look at the printing code in SciTE, you will find that most of it is taken up with this. The loop that causes Scintilla to render text is quite simple if you strip out all the margin, non-printable area, header and footer code.

SCI_SETPRINTMAGNIFICATION(int magnification)
SCI_GETPRINTMAGNIFICATION → int
SCI_GETPRINTMAGNIFICATION lets you to print at a different size than the screen font. magnification is the number of points to add to the size of each screen font. A value of -3 or -4 gives reasonably small print. You can get this value with SCI_GETPRINTMAGNIFICATION.

SCI_SETPRINTCOLOURMODE(int mode)
SCI_GETPRINTCOLOURMODE → int
These two messages set and get the method used to render coloured text on a printer that is probably using white paper. It is especially important to consider the treatment of colour if you use a dark or black screen background. Printing white on black uses up toner and ink very many times faster than the other way around. You can set the mode to one of:

Symbol Value Purpose
SC_PRINT_NORMAL 0 Print using the current screen colours with the exception of line number margins which print on a white background. This is the default.
SC_PRINT_INVERTLIGHT 1 If you use a dark screen background this saves ink by inverting the light value of all colours and printing on a white background.
SC_PRINT_BLACKONWHITE 2 Print all text as black on a white background.
SC_PRINT_COLOURONWHITE 3 Everything prints in its own colour on a white background.
SC_PRINT_COLOURONWHITEDEFAULTBG 4 Everything prints in its own foreground colour but all styles up to and including STYLE_LINENUMBER will print on a white background.
SC_PRINT_SCREENCOLOURS 5 Print using the current screen colours for both foreground and background. This is the only mode that does not set the background colour of the line number margin to white.

SCI_SETPRINTWRAPMODE(int wrapMode)
SCI_GETPRINTWRAPMODE → int
These two functions get and set the printer wrap mode. wrapMode can be set to SC_WRAP_NONE (0), SC_WRAP_WORD (1) or SC_WRAP_CHAR (2). The default is SC_WRAP_WORD, which wraps printed output so that all characters fit into the print rectangle. If you set SC_WRAP_NONE, each line of text generates one line of output and the line is truncated if it is too long to fit into the print area.
SC_WRAP_WORD tries to wrap only between words as indicated by white space or style changes although if a word is longer than a line, it will be wrapped before the line end. SC_WRAP_CHAR is preferred to SC_WRAP_WORD for Asian languages where there is no white space between words.

Direct access

SCI_GETDIRECTFUNCTION → int
SCI_GETDIRECTPOINTER → int
SCI_GETCHARACTERPOINTER → int
SCI_GETRANGEPOINTER(int start, int lengthRange) → int
SCI_GETGAPPOSITION → position

On Windows, the message-passing scheme used to communicate between the container and Scintilla is mediated by the operating system SendMessage function and can lead to bad performance when calling intensively. To avoid this overhead, Scintilla provides messages that allow you to call the Scintilla message function directly. The code to do this in C/C++ is of the form:

#include "Scintilla.h"
SciFnDirect pSciMsg = (SciFnDirect)SendMessage(hSciWnd, SCI_GETDIRECTFUNCTION, 0, 0);
sptr_t pSciWndData = (sptr_t)SendMessage(hSciWnd, SCI_GETDIRECTPOINTER, 0, 0);

// now a wrapper to call Scintilla directly
sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam){
    return pSciMsg(pSciWndData, iMessage, wParam, lParam);
}

SciFnDirect, sptr_t and uptr_t are declared in Scintilla.h. hSciWnd is the window handle returned when you created the Scintilla window.

While faster, this direct calling will cause problems if performed from a different thread to the native thread of the Scintilla window in which case SendMessage(hSciWnd, SCI_*, wParam, lParam) should be used to synchronize with the window's thread.

This feature also works on GTK+ but has no significant impact on speed.

From version 1.47 on Windows, Scintilla exports a function called Scintilla_DirectFunction that can be used the same as the function returned by SCI_GETDIRECTFUNCTION. This saves you the call to SCI_GETDIRECTFUNCTION and the need to call Scintilla indirectly via the function pointer.

SCI_GETDIRECTFUNCTION → int
This message returns the address of the function to call to handle Scintilla messages without the overhead of passing through the Windows messaging system. You need only call this once, regardless of the number of Scintilla windows you create.

SCI_GETDIRECTPOINTER → int
This returns a pointer to data that identifies which Scintilla window is in use. You must call this once for each Scintilla window you create. When you call the direct function, you must pass in the direct pointer associated with the target window.

SCI_GETCHARACTERPOINTER → int
SCI_GETRANGEPOINTER(int start, int lengthRange) → int
SCI_GETGAPPOSITION → position
Grant temporary direct read-only access to the memory used by Scintilla to store the document.

SCI_GETCHARACTERPOINTER moves the gap within Scintilla so that the text of the document is stored consecutively and ensure there is a NUL character after the text, then returns a pointer to the first character. Applications may then pass this to a function that accepts a character pointer such as a regular expression search or a parser. The pointer should not be written to as that may desynchronize the internal state of Scintilla.

Since any action in Scintilla may change its internal state this pointer becomes invalid after any call or by allowing user interface activity. The application should reacquire the pointer after making any call to Scintilla or performing any user-interface calls such as modifying a progress indicator.

This call takes similar time to inserting a character at the end of the document and this may include moving the document contents. Specifically, all the characters after the document gap are moved to before the gap. This compacted state should persist over calls and user interface actions that do not change the document contents so reacquiring the pointer afterwards is very quick. If this call is used to implement a global replace operation, then each replacement will move the gap so if SCI_GETCHARACTERPOINTER is called after each replacement then the operation will become O(n^2) rather than O(n). Instead, all matches should be found and remembered, then all the replacements performed.

SCI_GETRANGEPOINTER provides direct access to just the range requested. The gap is not moved unless it is within the requested range so this call can be faster than SCI_GETCHARACTERPOINTER. This can be used by application code that is able to act on blocks of text or ranges of lines.

SCI_GETGAPPOSITION returns the current gap position. This is a hint that applications can use to avoid calling SCI_GETRANGEPOINTER with a range that contains the gap and consequent costs of moving the gap.

Multiple views

A Scintilla window and the document that it displays are separate entities. When you create a new window, you also create a new, empty document. Each document has a reference count that is initially set to 1. The document also has a list of the Scintilla windows that are linked to it so when any window changes the document, all other windows in which it appears are notified to cause them to update. The system is arranged in this way so that you can work with many documents in a single Scintilla window and so you can display a single document in multiple windows (for use with splitter windows).

Although these messages use document *doc, to ensure compatibility with future releases of Scintilla you should treat doc as an opaque void*. That is, you can use and store the pointer as described in this section but you should not dereference it.

SCI_GETDOCPOINTER → document *
SCI_SETDOCPOINTER(<unused>, document *doc)
SCI_CREATEDOCUMENT(int bytes, int documentOptions) → document *
SCI_ADDREFDOCUMENT(<unused>, document *doc)
SCI_RELEASEDOCUMENT(<unused>, document *doc)
SCI_GETDOCUMENTOPTIONS → int

SCI_GETDOCPOINTER → document *
This returns a pointer to the document currently in use by the window. It has no other effect.

SCI_SETDOCPOINTER(<unused>, document *doc)
This message does the following:
1. It removes the current window from the list held by the current document.
2. It reduces the reference count of the current document by 1.
3. If the reference count reaches 0, the document is deleted.
4. doc is set as the new document for the window.
5. If doc was 0, a new, empty document is created and attached to the window.
6. If doc was not 0, its reference count is increased by 1.

SCI_CREATEDOCUMENT(int bytes, int documentOptions) → document *
This message creates a new, empty document and returns a pointer to it. This document is not selected into the editor and starts with a reference count of 1. This means that you have ownership of it and must either reduce its reference count by 1 after using SCI_SETDOCPOINTER so that the Scintilla window owns it or you must make sure that you reduce the reference count by 1 with SCI_RELEASEDOCUMENT before you close the application to avoid memory leaks. The bytes argument determines the initial memory allocation for the document as it is more efficient to allocate once rather than rely on the buffer growing as data is added. If SCI_CREATEDOCUMENT fails then 0 is returned.

The documentOptions argument chooses between different document capabilities which affect memory allocation and performance with SC_DOCUMENTOPTION_DEFAULT (0) choosing standard options. SC_DOCUMENTOPTION_STYLES_NONE (0x1) stops allocation of memory to style characters which saves significant memory, often 40% with the whole document treated as being style 0. Lexers may still produce visual styling by using indicators. SC_DOCUMENTOPTION_TEXT_LARGE (0x100) accomodates documents larger than 2 GigaBytes in 64-bit executables.

With SC_DOCUMENTOPTION_STYLES_NONE, lexers are still active and may display indicators. Some may produce folding information althoough most require lexical styles to correctly determine folding. Its often more efficient to set the null lexer SCLEX_NULL so no lexer is run.

The SC_DOCUMENTOPTION_TEXT_LARGE option is experimental and has not been thoroughly tested. Lexers may fail or hang when lexing past 2GB or 4GB. Applications using this option should be tested to ensure the option works in their circumstances and each lexer included should also be tested with documents larger than 4GB. For many applications lexing documents larger than 4GB will be too sluggish so SC_DOCUMENTOPTION_STYLES_NONE and the null lexer SCLEX_NULL can be used. Another approach is to turn on idle styling with SCI_SETIDLESTYLING.

Symbol Value Effect
SC_DOCUMENTOPTION_DEFAULT 0 Standard behaviour
SC_DOCUMENTOPTION_STYLES_NONE 0x1 Stop allocation of memory for styles and treat all text as style 0.
SC_DOCUMENTOPTION_TEXT_LARGE 0x100 Allow document to be larger than 2 GB.

SCI_ADDREFDOCUMENT(<unused>, document *doc)
This increases the reference count of a document by 1. If you want to replace the current document in the Scintilla window and take ownership of the current document, for example if you are editing many documents in one window, do the following:
1. Use SCI_GETDOCPOINTER to get a pointer to the document, doc.
2. Use SCI_ADDREFDOCUMENT(0, doc) to increment the reference count.
3. Use SCI_SETDOCPOINTER(0, docNew) to set a different document or SCI_SETDOCPOINTER(0, 0) to set a new, empty document.

SCI_RELEASEDOCUMENT(<unused>, document *doc)
This message reduces the reference count of the document identified by doc. doc must be the result of SCI_GETDOCPOINTER or SCI_CREATEDOCUMENT and must point at a document that still exists. If you call this on a document with a reference count of 1 that is still attached to a Scintilla window, bad things will happen. To keep the world spinning in its orbit you must balance each call to SCI_CREATEDOCUMENT or SCI_ADDREFDOCUMENT with a call to SCI_RELEASEDOCUMENT.

SCI_GETDOCUMENTOPTIONS → int
Returns the options that were used to create the document.

Background loading and saving

To ensure a responsive user interface, applications may decide to load and save documents using a separate thread from the user interface.

Loading in the background

SCI_CREATELOADER(int bytes, int documentOptions) → int

An application can load all of a file into a buffer it allocates on a background thread and then add the data in that buffer into a Scintilla document on the user interface thread. That technique uses extra memory to store a complete copy of the file and also means that the time that Scintilla takes to perform initial line end discovery blocks the user interface.

To avoid these issues, a loader object may be created and used to load the file. The loader object supports the ILoader interface.

SCI_CREATELOADER(int bytes, int documentOptions) → int
Create an object that supports the ILoader interface which can be used to load data and then be turned into a Scintilla document object for attachment to a view object. The bytes argument determines the initial memory allocation for the document as it is more efficient to allocate once rather than rely on the buffer growing as data is added. If SCI_CREATELOADER fails then 0 is returned.

The documentOptions argument is described in the SCI_CREATEDOCUMENT section.

ILoader

class ILoader {
public:
        virtual int SCI_METHOD Release() = 0;
        // Returns a status code from SC_STATUS_*
        virtual int SCI_METHOD AddData(const char *data, Sci_Position length) = 0;
        virtual void * SCI_METHOD ConvertToDocument() = 0;
};

The application should call the AddData method with each block of data read from the file. AddData will return SC_STATUS_OK unless a failure, such as memory exhaustion occurs. If a failure occurs in AddData or in a file reading call then loading can be abandoned and the loader released with the Release call. When the whole file has been read, ConvertToDocument should be called to produce a Scintilla document pointer. The newly created document will have a reference count of 1 in the same way as a document pointer returned from SCI_CREATEDOCUMENT. There is no need to call Release after ConvertToDocument.

Saving in the background

An application that wants to save in the background should lock the document with SCI_SETREADONLY(1) to prevent modifications and retrieve a pointer to the unified document contents with SCI_GETCHARACTERPOINTER. The buffer of a locked document will not move so the pointer is valid until the application calls SCI_SETREADONLY(0).

If the user tries to performs a modification while the document is locked then a SCN_MODIFYATTEMPTRO notification is sent to the application. The application may then decide to ignore the modification or to terminate the background saving thread and reenable modification before returning from the notification.

Folding

The fundamental operation in folding is making lines invisible or visible. Line visibility is a property of the view rather than the document so each view may be displaying a different set of lines. From the point of view of the user, lines are hidden and displayed using fold points. Generally, the fold points of a document are based on the hierarchical structure of the document contents. In Python, the hierarchy is determined by indentation and in C++ by brace characters. This hierarchy can be represented within a Scintilla document object by attaching a numeric "fold level" to each line. The fold level is most easily set by a lexer, but you can also set it with messages.

It is up to your code to set the connection between user actions and folding and unfolding. The best way to see how this is done is to search the SciTE source code for the messages used in this section of the documentation and see how they are used. You will also need to use markers and a folding margin to complete your folding implementation. The "fold" property should be set to "1" with SCI_SETPROPERTY("fold", "1") to enable folding.

SCI_VISIBLEFROMDOCLINE(int docLine) → int
SCI_DOCLINEFROMVISIBLE(int displayLine) → int
SCI_SHOWLINES(int lineStart, int lineEnd)
SCI_HIDELINES(int lineStart, int lineEnd)
SCI_GETLINEVISIBLE(int line) → bool
SCI_GETALLLINESVISIBLE → bool
SCI_SETFOLDLEVEL(int line, int level)
SCI_GETFOLDLEVEL(int line) → int
SCI_SETAUTOMATICFOLD(int automaticFold)
SCI_GETAUTOMATICFOLD → int
SCI_SETFOLDFLAGS(int flags)
SCI_GETLASTCHILD(int line, int level) → int
SCI_GETFOLDPARENT(int line) → int
SCI_SETFOLDEXPANDED(int line, bool expanded)
SCI_GETFOLDEXPANDED(int line) → bool
SCI_CONTRACTEDFOLDNEXT(int lineStart) → int
SCI_TOGGLEFOLD(int line)
SCI_TOGGLEFOLDSHOWTEXT(int line, const char *text)
SCI_FOLDDISPLAYTEXTSETSTYLE(int style)
SCI_FOLDLINE(int line, int action)
SCI_FOLDCHILDREN(int line, int action)
SCI_FOLDALL(int action)
SCI_EXPANDCHILDREN(int line, int level)
SCI_ENSUREVISIBLE(int line)
SCI_ENSUREVISIBLEENFORCEPOLICY(int line)

SCI_VISIBLEFROMDOCLINE(int docLine) → int
When some lines are hidden and/or annotations are displayed, then a particular line in the document may be displayed at a different position to its document position. If no lines are hidden and there are no annotations, this message returns docLine. Otherwise, this returns the display line (counting the very first visible line as 0). The display line of an invisible line is the same as the previous visible line. The display line number of the first line in the document is 0. If lines are hidden and docLine is outside the range of lines in the document, the return value is -1. Lines can occupy more than one display line if they wrap.

SCI_DOCLINEFROMVISIBLE(int displayLine) → int
When some lines are hidden and/or annotations are displayed, then a particular line in the document may be displayed at a different position to its document position. This message returns the document line number that corresponds to a display line (counting the display line of the first line in the document as 0). If displayLine is less than or equal to 0, the result is 0. If displayLine is greater than or equal to the number of displayed lines, the result is the number of lines in the document.

SCI_SHOWLINES(int lineStart, int lineEnd)
SCI_HIDELINES(int lineStart, int lineEnd)
SCI_GETLINEVISIBLE(int line) → bool
SCI_GETALLLINESVISIBLE → bool
The first two messages mark a range of lines as visible or invisible and then redraw the display. SCI_GETLINEVISIBLE reports on the visible state of a line and returns 1 if it is visible and 0 if it is not visible. SCI_GETALLLINESVISIBLE returns 1 if all lines are visible and 0 if some lines are hidden. These messages have no effect on fold levels or fold flags. The first line can not be hidden.

SCI_SETFOLDLEVEL(int line, int level)
SCI_GETFOLDLEVEL(int line) → int
These two messages set and get a 32-bit value that contains the fold level of a line and some flags associated with folding. The fold level is a number in the range 0 to SC_FOLDLEVELNUMBERMASK (0x0FFF). However, the initial fold level is set to SC_FOLDLEVELBASE (0x400) to allow unsigned arithmetic on folding levels. There are two addition flag bits. SC_FOLDLEVELWHITEFLAG indicates that the line is blank and allows it to be treated slightly different then its level may indicate. For example, blank lines should generally not be fold points and will be considered part of the preceding section even though they may have a lesser fold level. SC_FOLDLEVELHEADERFLAG indicates that the line is a header (fold point).

Use SCI_GETFOLDLEVEL(line) & SC_FOLDLEVELNUMBERMASK to get the fold level of a line. Likewise, use SCI_GETFOLDLEVEL(line) & SC_FOLDLEVEL*FLAG to get the state of the flags. To set the fold level you must or in the associated flags. For instance, to set the level to thisLevel and mark a line as being a fold point use: SCI_SETFOLDLEVEL(line, thisLevel | SC_FOLDLEVELHEADERFLAG).

If you use a lexer, you should not need to use SCI_SETFOLDLEVEL as this is far better handled by the lexer. You will need to use SCI_GETFOLDLEVEL to decide how to handle user folding requests. If you do change the fold levels, the folding margin will update to match your changes.

SCI_SETFOLDFLAGS(int flags)
In addition to showing markers in the folding margin, you can indicate folds to the user by drawing lines in the text area. The lines are drawn in the foreground colour set for STYLE_DEFAULT. Bits set in flags determine where folding lines are drawn:

Symbol Value Effect
1 Experimental feature that has been removed.
SC_FOLDFLAG_LINEBEFORE_EXPANDED 2 Draw above if expanded
SC_FOLDFLAG_LINEBEFORE_CONTRACTED 4 Draw above if not expanded
SC_FOLDFLAG_LINEAFTER_EXPANDED 8 Draw below if expanded
SC_FOLDFLAG_LINEAFTER_CONTRACTED 16 Draw below if not expanded
SC_FOLDFLAG_LEVELNUMBERS 64 display hexadecimal fold levels in line margin to aid debugging of folding. The appearance of this feature may change in the future.
SC_FOLDFLAG_LINESTATE 128 display hexadecimal line state in line margin to aid debugging of lexing and folding. May not be used at the same time as SC_FOLDFLAG_LEVELNUMBERS.

This message causes the display to redraw.

SCI_GETLASTCHILD(int line, int level) → int
This message searches for the next line after line, that has a folding level that is less than or equal to level and then returns the previous line number. If you set level to -1, level is set to the folding level of line line. If from is a fold point, SCI_GETLASTCHILD(from, -1) returns the last line that would be in made visible or hidden by toggling the fold state.

SCI_GETFOLDPARENT(int line) → int
This message returns the line number of the first line before line that is marked as a fold point with SC_FOLDLEVELHEADERFLAG and has a fold level less than the line. If no line is found, or if the header flags and fold levels are inconsistent, the return value is -1.

SCI_TOGGLEFOLD(int line)
SCI_TOGGLEFOLDSHOWTEXT(int line, const char *text)
Each fold point may be either expanded, displaying all its child lines, or contracted, hiding all the child lines. These messages toggle the folding state of the given line as long as it has the SC_FOLDLEVELHEADERFLAG set. These messages take care of folding or expanding all the lines that depend on the line. The display updates after this message.

An optional text tag may be shown to the right of the folded text with the text argument to SCI_TOGGLEFOLDSHOWTEXT. The text is drawn with the STYLE_FOLDDISPLAYTEXT style.

SCI_FOLDDISPLAYTEXTSETSTYLE(int style)
This message changes the appearance of fold text tags.

Symbol Value Effect
SC_FOLDDISPLAYTEXT_HIDDEN 0 Do not display the text tags. This is the default.
SC_FOLDDISPLAYTEXT_STANDARD 1 Display the text tags.
SC_FOLDDISPLAYTEXT_BOXED 2 Display the text tags with a box drawn around them.

SCI_SETFOLDEXPANDED(int line, bool expanded)
SCI_GETFOLDEXPANDED(int line) → bool
These messages set and get the expanded state of a single line. The set message has no effect on the visible state of the line or any lines that depend on it. It does change the markers in the folding margin. If you ask for the expansion state of a line that is outside the document, the result is false (0).

If you just want to toggle the fold state of one line and handle all the lines that are dependent on it, it is much easier to use SCI_TOGGLEFOLD. You would use the SCI_SETFOLDEXPANDED message to process many folds without updating the display until you had finished. See SciTEBase::FoldAll() and SciTEBase::Expand() for examples of the use of these messages.

SCI_FOLDLINE(int line, int action)
SCI_FOLDCHILDREN(int line, int action)
SCI_FOLDALL(int action)
These messages provide a higher-level approach to folding instead of setting expanded flags and showing or hiding individual lines.

An individual fold can be contracted/expanded/toggled with SCI_FOLDLINE. To affect all child folds as well call SCI_FOLDCHILDREN.

To affect the entire document call SCI_FOLDALL. With SC_FOLDACTION_TOGGLE the first fold header in the document is examined to decide whether to expand or contract.

Symbol Value Effect
SC_FOLDACTION_CONTRACT 0 Contract.
SC_FOLDACTION_EXPAND 1 Expand.
SC_FOLDACTION_TOGGLE 2 Toggle between contracted and expanded.

SCI_EXPANDCHILDREN(int line, int level)
This is used to respond to a change to a line causing its fold level or whether it is a header to change, perhaps when adding or removing a '{'.

By the time the container has received the notification that the line has changed, the fold level has already been set, so the container has to use the previous level in this call so that any range hidden underneath this line can be shown.

SCI_SETAUTOMATICFOLD(int automaticFold)
SCI_GETAUTOMATICFOLD → int
Instead of implementing all the logic for handling folding in the container, Scintilla can provide behaviour that is adequate for many applications. The automaticFold argument is a bit set defining which of the 3 pieces of folding implementation should be enabled. Most applications should be able to use the SC_AUTOMATICFOLD_SHOW and SC_AUTOMATICFOLD_CHANGE flags unless they wish to implement quite different behaviour such as defining their own fold structure. SC_AUTOMATICFOLD_CLICK is more likely to be set off when an application would like to add or change click behaviour such as showing method headers only when Shift+Alt is used in conjunction with a click.

Symbol Value Effect
SC_AUTOMATICFOLD_SHOW 1 Automatically show lines as needed. This avoids sending the SCN_NEEDSHOWN notification.
SC_AUTOMATICFOLD_CLICK 2 Handle clicks in fold margin automatically. This avoids sending the SCN_MARGINCLICK notification for folding margins.
SC_AUTOMATICFOLD_CHANGE 4 Show lines as needed when fold structure is changed. The SCN_MODIFIED notification is still sent unless it is disabled by the container.

SCI_CONTRACTEDFOLDNEXT(int lineStart) → int
Search efficiently for lines that are contracted fold headers. This is useful when saving the user's folding when switching documents or saving folding with a file. The search starts at line number lineStart and continues forwards to the end of the file. lineStart is returned if it is a contracted fold header otherwise the next contracted fold header is returned. If there are no more contracted fold headers then -1 is returned.

SCI_ENSUREVISIBLE(int line)
SCI_ENSUREVISIBLEENFORCEPOLICY(int line)
A line may be hidden because more than one of its parent lines is contracted. Both these message travels up the fold hierarchy, expanding any contracted folds until they reach the top level. The line will then be visible. If you use SCI_ENSUREVISIBLEENFORCEPOLICY, the vertical caret policy set by SCI_SETVISIBLEPOLICY is then applied.

Line wrapping

SCI_SETWRAPMODE(int wrapMode)
SCI_GETWRAPMODE → int
SCI_SETWRAPVISUALFLAGS(int wrapVisualFlags)
SCI_GETWRAPVISUALFLAGS → int
SCI_SETWRAPVISUALFLAGSLOCATION(int wrapVisualFlagsLocation)
SCI_GETWRAPVISUALFLAGSLOCATION → int
SCI_SETWRAPINDENTMODE(int wrapIndentMode)
SCI_GETWRAPINDENTMODE → int
SCI_SETWRAPSTARTINDENT(int indent)
SCI_GETWRAPSTARTINDENT → int
SCI_SETLAYOUTCACHE(int cacheMode)
SCI_GETLAYOUTCACHE → int
SCI_SETPOSITIONCACHE(int size)
SCI_GETPOSITIONCACHE → int
SCI_LINESSPLIT(int pixelWidth)
SCI_LINESJOIN
SCI_WRAPCOUNT(int docLine) → int

By default, Scintilla does not wrap lines of text. If you enable line wrapping, lines wider than the window width are continued on the following lines. Lines are broken after space or tab characters or between runs of different styles. If this is not possible because a word in one style is wider than the window then the break occurs after the last character that completely fits on the line. The horizontal scroll bar does not appear when wrap mode is on.

For wrapped lines Scintilla can draw visual flags (little arrows) at end of a a subline of a wrapped line and at begin of the next subline. These can be enabled individually, but if Scintilla draws the visual flag at the beginning of the next subline this subline will be indented by one char. Independent from drawing a visual flag at the begin the subline can have an indention.

Much of the time used by Scintilla is spent on laying out and drawing text. The same text layout calculations may be performed many times even when the data used in these calculations does not change. To avoid these unnecessary calculations in some circumstances, the line layout cache can store the results of the calculations. The cache is invalidated whenever the underlying data, such as the contents or styling of the document changes. Caching the layout of the whole document has the most effect, making dynamic line wrap as much as 20 times faster but this requires 7 times the memory required by the document contents plus around 80 bytes per line.

Wrapping is not performed immediately there is a change but is delayed until the display is redrawn. This delay improves performance by allowing a set of changes to be performed and then wrapped and displayed once. Because of this, some operations may not occur as expected. If a file is read and the scroll position moved to a particular line in the text, such as occurs when a container tries to restore a previous editing session, then the scroll position will have been determined before wrapping so an unexpected range of text will be displayed. To scroll to the position correctly, delay the scroll until the wrapping has been performed by waiting for an initial SCN_PAINTED notification.

SCI_SETWRAPMODE(int wrapMode)
SCI_GETWRAPMODE → int
Set wrapMode to SC_WRAP_WORD (1) to enable wrapping on word or style boundaries, SC_WRAP_CHAR (2) to enable wrapping between any characters, SC_WRAP_WHITESPACE (3) to enable wrapping on whitespace, and SC_WRAP_NONE (0) to disable line wrapping. SC_WRAP_CHAR is preferred for Asian languages where there is no white space between words.

SCI_SETWRAPVISUALFLAGS(int wrapVisualFlags)
SCI_GETWRAPVISUALFLAGS → int
You can enable the drawing of visual flags to indicate a line is wrapped. Bits set in wrapVisualFlags determine which visual flags are drawn.

Symbol Value Effect
SC_WRAPVISUALFLAG_NONE 0 No visual flags
SC_WRAPVISUALFLAG_END 1 Visual flag at end of subline of a wrapped line.
SC_WRAPVISUALFLAG_START 2 Visual flag at begin of subline of a wrapped line.
Subline is indented by at least 1 to make room for the flag.
SC_WRAPVISUALFLAG_MARGIN 4 Visual flag in line number margin.

SCI_SETWRAPVISUALFLAGSLOCATION(int wrapVisualFlagsLocation)
SCI_GETWRAPVISUALFLAGSLOCATION → int
You can set whether the visual flags to indicate a line is wrapped are drawn near the border or near the text. Bits set in wrapVisualFlagsLocation set the location to near the text for the corresponding visual flag.

Symbol Value Effect
SC_WRAPVISUALFLAGLOC_DEFAULT 0 Visual flags drawn near border
SC_WRAPVISUALFLAGLOC_END_BY_TEXT 1 Visual flag at end of subline drawn near text
SC_WRAPVISUALFLAGLOC_START_BY_TEXT 2 Visual flag at beginning of subline drawn near text

SCI_SETWRAPINDENTMODE(int wrapIndentMode)
SCI_GETWRAPINDENTMODE → int
Wrapped sublines can be indented to the position of their first subline or one more indent level. The default is SC_WRAPINDENT_FIXED. The modes are:

Symbol Value Effect
SC_WRAPINDENT_FIXED 0 Wrapped sublines aligned to left of window plus amount set by SCI_SETWRAPSTARTINDENT
SC_WRAPINDENT_SAME 1 Wrapped sublines are aligned to first subline indent
SC_WRAPINDENT_INDENT 2 Wrapped sublines are aligned to first subline indent plus one more level of indentation
SC_WRAPINDENT_DEEPINDENT 3 Wrapped sublines are aligned to first subline indent plus two more levels of indentation

SCI_SETWRAPSTARTINDENT(int indent)
SCI_GETWRAPSTARTINDENT → int
SCI_SETWRAPSTARTINDENT sets the size of indentation of sublines for wrapped lines in terms of the average character width in STYLE_DEFAULT. There are no limits on indent sizes, but values less than 0 or large values may have undesirable effects.
The indention of sublines is independent of visual flags, but if SC_WRAPVISUALFLAG_START is set an indent of at least 1 is used.

SCI_SETLAYOUTCACHE(int cacheMode)
SCI_GETLAYOUTCACHE → int
You can set cacheMode to one of the symbols in the table:

Symbol Value Layout cached for these lines
SC_CACHE_NONE 0 No lines are cached.
SC_CACHE_CARET 1 The line containing the text caret. This is the default.
SC_CACHE_PAGE 2 Visible lines plus the line containing the caret.
SC_CACHE_DOCUMENT 3 All lines in the document.

SCI_SETPOSITIONCACHE(int size)
SCI_GETPOSITIONCACHE → int
The position cache stores position information for short runs of text so that their layout can be determined more quickly if the run recurs. The size in entries of this cache can be set with SCI_SETPOSITIONCACHE.

SCI_LINESSPLIT(int pixelWidth)
Split a range of lines indicated by the target into lines that are at most pixelWidth wide. Splitting occurs on word boundaries wherever possible in a similar manner to line wrapping. When pixelWidth is 0 then the width of the window is used.

SCI_LINESJOIN
Join a range of lines indicated by the target into one line by removing line end characters. Where this would lead to no space between words, an extra space is inserted.

SCI_WRAPCOUNT(int docLine) → int
Document lines can occupy more than one display line if they wrap and this returns the number of display lines needed to wrap a document line.

Zooming

Scintilla incorporates a "zoom factor" that lets you make all the text in the document larger or smaller in steps of one point. The displayed point size never goes below 2, whatever zoom factor you set. You can set zoom factors in the range -10 to +20 points.

SCI_ZOOMIN
SCI_ZOOMOUT
SCI_SETZOOM(int zoomInPoints)
SCI_GETZOOM → int

SCI_ZOOMIN
SCI_ZOOMOUT
SCI_ZOOMIN increases the zoom factor by one point if the current zoom factor is less than 20 points. SCI_ZOOMOUT decreases the zoom factor by one point if the current zoom factor is greater than -10 points.

SCI_SETZOOM(int zoomInPoints)
SCI_GETZOOM → int
These messages let you set and get the zoom factor directly. There is no limit set on the factors you can set, so limiting yourself to -10 to +20 to match the incremental zoom functions is a good idea.

Long lines

You can choose to mark lines that exceed a given length by drawing a vertical line or by colouring the background of characters that exceed the set length.

SCI_SETEDGEMODE(int edgeMode)
SCI_GETEDGEMODE → int
SCI_SETEDGECOLUMN(int column)
SCI_GETEDGECOLUMN → int
SCI_SETEDGECOLOUR(colour edgeColour)
SCI_GETEDGECOLOUR → colour

SCI_MULTIEDGEADDLINE(int column, colour edgeColour)
SCI_MULTIEDGECLEARALL

SCI_SETEDGEMODE(int edgeMode)
SCI_GETEDGEMODE → int
These two messages set and get the mode used to display long lines. You can set one of the values in the table:

Symbol Value Long line display mode
EDGE_NONE 0 Long lines are not marked. This is the default state.
EDGE_LINE 1 A vertical line is drawn at the column number set by SCI_SETEDGECOLUMN. This works well for monospaced fonts. The line is drawn at a position based on the width of a space character in STYLE_DEFAULT, so it may not work very well if your styles use proportional fonts or if your style have varied font sizes or you use a mixture of bold, italic and normal text.
EDGE_BACKGROUND 2 The background colour of characters after the column limit is changed to the colour set by SCI_SETEDGECOLOUR. This is recommended for proportional fonts.
EDGE_MULTILINE 3 This is similar to EDGE_LINE but in contrary to showing only one single line a configurable set of vertical lines can be shown simultaneously. This edgeMode uses a completely independent dataset that can only be configured by using the SCI_MULTIEDGE* messages.

SCI_SETEDGECOLUMN(int column)
SCI_GETEDGECOLUMN → int
These messages set and get the column number at which to display the long line marker. When drawing lines, the column sets a position in units of the width of a space character in STYLE_DEFAULT. When setting the background colour, the column is a character count (allowing for tabs) into the line.

SCI_SETEDGECOLOUR(colour edgeColour)
SCI_GETEDGECOLOUR → colour
These messages set and get the colour of the marker used to show that a line has exceeded the length set by SCI_SETEDGECOLUMN.

SCI_MULTIEDGEADDLINE(int column, colour edgeColour)
SCI_MULTIEDGECLEARALL
SCI_MULTIEDGEADDLINE adds a new vertical edge to the view. The edge will be displayed at the given column number. The resulting edge position depends on the metric of a space character in STYLE_DEFAULT. All the edges can be cleared with SCI_MULTIEDGECLEARALL.

Accessibility

Scintilla supports some platform accessibility features. This support differs between platforms. On GTK+ and Cocoa the platform accessibility APIs are implemented sufficiently to make screen readers work. On Win32, the system caret is manipulated to help screen readers.

SCI_SETACCESSIBILITY(int accessibility)
SCI_GETACCESSIBILITY → int

SCI_SETACCESSIBILITY(int accessibility)
SCI_GETACCESSIBILITY → int
These messages may enable or disable accessibility and report its current status.

On most platforms, accessibility is either implemented or not implemented and this can be discovered with SCI_GETACCESSIBILITY with SCI_SETACCESSIBILITY performing no action. On GTK+, there are storage and performance costs to accessibility, so it can be disabled by calling SCI_SETACCESSIBILITY.

Symbol Value Accessibility status
SC_ACCESSIBILITY_DISABLED 0 Accessibility is disabled.
SC_ACCESSIBILITY_ENABLED 1 Accessibility is enabled.

Lexer

If you define the symbol SCI_LEXER when building Scintilla, (this is sometimes called the SciLexer version of Scintilla), lexing support for a wide range of programming languages is included and the messages in this section are supported. If you want to set styling and fold points for an unsupported language you can either do this in the container or better still, write your own lexer following the pattern of one of the existing ones.

Scintilla also supports external lexers. These are DLLs (on Windows) or .so modules (on GTK+/Linux) that export three functions: GetLexerCount, GetLexerName, and GetLexerFactory. See externalLexer.cxx for more.

SCI_SETLEXER(int lexer)
SCI_GETLEXER → int
SCI_SETLEXERLANGUAGE(<unused>, const char *language)
SCI_GETLEXERLANGUAGE(<unused>, char *language) → int
SCI_LOADLEXERLIBRARY(<unused>, const char *path)
SCI_COLOURISE(int start, int end)
SCI_CHANGELEXERSTATE(int start, int end) → int
SCI_PROPERTYNAMES(<unused>, char *names) → int
SCI_PROPERTYTYPE(const char *name) → int
SCI_DESCRIBEPROPERTY(const char *name, char *description) → int
SCI_SETPROPERTY(const char *key, const char *value)
SCI_GETPROPERTY(const char *key, char *value) → int
SCI_GETPROPERTYEXPANDED(const char *key, char *value) → int
SCI_GETPROPERTYINT(const char *key, int defaultValue) → int
SCI_DESCRIBEKEYWORDSETS(<unused>, char *descriptions) → int
SCI_SETKEYWORDS(int keyWordSet, const char *keyWords)
SCI_GETSUBSTYLEBASES(<unused>, char *styles) → int
SCI_DISTANCETOSECONDARYSTYLES → int
SCI_ALLOCATESUBSTYLES(int styleBase, int numberStyles) → int
SCI_FREESUBSTYLES
SCI_GETSUBSTYLESSTART(int styleBase) → int
SCI_GETSUBSTYLESLENGTH(int styleBase) → int
SCI_GETSTYLEFROMSUBSTYLE(int subStyle) → int
SCI_GETPRIMARYSTYLEFROMSTYLE(int style) → int
SCI_SETIDENTIFIERS(int style, const char *identifiers)
SCI_PRIVATELEXERCALL(int operation, int pointer) → int
SCI_GETNAMEDSTYLES → int
SCI_NAMEOFSTYLE(int style, char *name) → int
SCI_TAGSOFSTYLE(int style, char *tags) → int
SCI_DESCRIPTIONOFSTYLE(int style, char *description) → int

SCI_SETLEXER(int lexer)
SCI_GETLEXER → int
You can select the lexer to use with an integer code from the SCLEX_* enumeration in Scintilla.h. There are two codes in this sequence that do not use lexers: SCLEX_NULL to select no lexing action and SCLEX_CONTAINER which sends the SCN_STYLENEEDED notification to the container whenever a range of text needs to be styled. You cannot use the SCLEX_AUTOMATIC value; this identifies additional external lexers that Scintilla assigns unused lexer numbers to.

SCI_SETLEXERLANGUAGE(<unused>, const char *language)
SCI_GETLEXERLANGUAGE(<unused>, char *language NUL-terminated) → int
SCI_SETLEXERLANGUAGE lets you select a lexer by name, and is the only method if you are using an external lexer or if you have written a lexer module for a language of your own and do not wish to assign it an explicit lexer number. To select an existing lexer, set language to match the (case sensitive) name given to the module, for example "ada" or "python", not "Ada" or "Python". To locate the name for the built-in lexers, open the relevant Lex*.cxx file and search for LexerModule. The third argument in the LexerModule constructor is the name to use.

To test if your lexer assignment worked, use SCI_GETLEXER before and after setting the new lexer to see if the lexer number changed.

SCI_GETLEXERLANGUAGE retrieves the name of the lexer.

SCI_LOADLEXERLIBRARY(<unused>, const char *path)
Load a lexer implemented in a shared library. This is a .so file on GTK+/Linux or a .DLL file on Windows.

SCI_COLOURISE(int start, int end)
This requests the current lexer or the container (if the lexer is set to SCLEX_CONTAINER) to style the document between start and end. If end is -1, the document is styled from start to the end. If the "fold" property is set to "1" and your lexer or container supports folding, fold levels are also set. This message causes a redraw.

SCI_CHANGELEXERSTATE(int start, int end) → int
Indicate that the internal state of a lexer has changed over a range and therefore there may be a need to redraw.

SCI_PROPERTYNAMES(<unused>, char *names NUL-terminated) → int
SCI_PROPERTYTYPE(const char *name) → int
SCI_DESCRIBEPROPERTY(const char *name, char *description NUL-terminated) → int
Information may be retrieved about the properties that can be set for the current lexer. This information is only available for newer lexers. SCI_PROPERTYNAMES returns a string with all of the valid properties separated by "\n". If the lexer does not support this call then an empty string is returned. Properties may be boolean (SC_TYPE_BOOLEAN), integer (SC_TYPE_INTEGER), or string (SC_TYPE_STRING) and this is found with SCI_PROPERTYTYPE. A description of a property in English is returned by SCI_DESCRIBEPROPERTY.

SCI_SETPROPERTY(const char *key, const char *value)
You can communicate settings to lexers with keyword:value string pairs. There is no limit to the number of keyword pairs you can set, other than available memory. key is a case sensitive keyword, value is a string that is associated with the keyword. If there is already a value string associated with the keyword, it is replaced. If you pass a zero length string, the message does nothing. Both key and value are used without modification; extra spaces at the beginning or end of key are significant.

The value string can refer to other keywords. For example, SCI_SETPROPERTY("foldTimes10", "$(fold)0") stores the string "$(fold)0", but when this is accessed, the $(fold) is replaced by the value of the "fold" keyword (or by nothing if this keyword does not exist).

Currently the "fold" property is defined for most of the lexers to set the fold structure if set to "1". SCLEX_PYTHON understands "tab.timmy.whinge.level" as a setting that determines how to indicate bad indentation. Most keywords have values that are interpreted as integers. Search the lexer sources for GetPropertyInt to see how properties are used.

There is a convention for naming properties used by lexers so that the set of properties can be found by scripts. Property names should start with "lexer.<lexer>." or "fold.<lexer>." when they apply to one lexer or start with "lexer." or "fold." if they apply to multiple lexers.

Applications may discover the set of properties used by searching the source code of lexers for lines that contain GetProperty and a double quoted string and extract the value of the double quoted string as the property name. The scintilla/scripts/LexGen.py script does this and can be used as an example. Documentation for the property may be located above the call as a multi-line comment starting with
// property <property-name>

SCI_GETPROPERTY(const char *key, char *value NUL-terminated) → int
Lookup a keyword:value pair using the specified key; if found, copy the value to the user-supplied buffer and return the length (not including the terminating 0). If not found, copy an empty string to the buffer and return 0.

Note that "keyword replacement" as described in SCI_SETPROPERTY will not be performed.

If the value argument is 0 then the length that should be allocated to store the value is returned; again, the terminating 0 is not included.

SCI_GETPROPERTYEXPANDED(const char *key, char *value) → int
Lookup a keyword:value pair using the specified key; if found, copy the value to the user-supplied buffer and return the length (not including the terminating 0). If not found, copy an empty string to the buffer and return 0.

Note that "keyword replacement" as described in SCI_SETPROPERTY will be performed.

If the value argument is 0 then the length that should be allocated to store the value (including any indicated keyword replacement) is returned; again, the terminating 0 is not included.

SCI_GETPROPERTYINT(const char *key, int defaultValue) → int
Lookup a keyword:value pair using the specified key; if found, interpret the value as an integer and return it. If not found (or the value is an empty string) then return the supplied default. If the keyword:value pair is found but is not a number, then return 0.

Note that "keyword replacement" as described in SCI_SETPROPERTY will be performed before any numeric interpretation.

SCI_SETKEYWORDS(int keyWordSet, const char *keyWords)
You can set up to 9 lists of keywords for use by the current lexer. keyWordSet can be 0 to 8 (actually 0 to KEYWORDSET_MAX) and selects which keyword list to replace. keyWords is a list of keywords separated by spaces, tabs, "\n" or "\r" or any combination of these. It is expected that the keywords will be composed of standard ASCII printing characters, but there is nothing to stop you using any non-separator character codes from 1 to 255 (except common sense).

How these keywords are used is entirely up to the lexer. Some languages, such as HTML may contain embedded languages, VBScript and JavaScript are common for HTML. For HTML, key word set 0 is for HTML, 1 is for JavaScript and 2 is for VBScript, 3 is for Python, 4 is for PHP and 5 is for SGML and DTD keywords. Review the lexer code to see examples of keyword list. A fully conforming lexer sets the fourth argument of the LexerModule constructor to be a list of strings that describe the uses of the keyword lists.

Alternatively, you might use set 0 for general keywords, set 1 for keywords that cause indentation and set 2 for keywords that cause unindentation. Yet again, you might have a simple lexer that colours keywords and you could change languages by changing the keywords in set 0. There is nothing to stop you building your own keyword lists into the lexer, but this means that the lexer must be rebuilt if more keywords are added.

SCI_DESCRIBEKEYWORDSETS(<unused>, char *descriptions NUL-terminated) → int
A description of all of the keyword sets separated by "\n" is returned by SCI_DESCRIBEKEYWORDSETS.

Substyles

Lexers may support several different sublanguages and each sublanguage may want to style some number of sets of identifiers (or similar lexemes such as documentation keywords) uniquely. Preallocating a large number for each purpose would exhaust the number of allowed styles quickly. This is alleviated by substyles which allow the application to determine how many sets of identifiers to allocate for each purpose. Lexers have to explicitly support this feature by implementing the methods in ILexerWithSubStyles.

SCI_GETSUBSTYLEBASES(<unused>, char *styles NUL-terminated) → int
Fill styles with a byte for each style that can be split into substyles.

SCI_DISTANCETOSECONDARYSTYLES → int
Returns the distance between a primary style and its corresponding secondary style.

SCI_ALLOCATESUBSTYLES(int styleBase, int numberStyles) → int
Allocate some number of substyles for a particular base style returning the first substyle number allocated. Substyles are allocated contiguously.

SCI_FREESUBSTYLES
Free all allocated substyles.

SCI_GETSUBSTYLESSTART(int styleBase) → int
SCI_GETSUBSTYLESLENGTH(int styleBase) → int
Return the start and length of the substyles allocated for a base style.

SCI_GETSTYLEFROMSUBSTYLE(int subStyle) → int
For a sub style, return the base style, else return the argument.

SCI_GETPRIMARYSTYLEFROMSTYLE(int style) → int
For a secondary style, return the primary style, else return the argument.

SCI_SETIDENTIFIERS(int style, const char *identifiers)
Similar to SCI_SETKEYWORDS but for substyles. The prefix feature available with SCI_SETKEYWORDS is not implemented for SCI_SETIDENTIFIERS.

SCI_PRIVATELEXERCALL(int operation, int pointer) → int
Call into a lexer in a way not understood by Scintilla.

Style Metadata

Lexers may provide information on the styles they use. Lexers have to explicitly support this feature by implementing particular methods.

SCI_GETNAMEDSTYLES → int
Retrieve the number of named styles for the lexer.

SCI_NAMEOFSTYLE(int style, char *name) → int
Retrieve the name of a style. This is a C preprocessor symbol like "SCE_C_COMMENTDOC".

SCI_TAGSOFSTYLE(int style, char *tags) → int
Retrieve the tags of a style. This is a space-separated set of words like "comment documentation".

SCI_DESCRIPTIONOFSTYLE(int style, char *description) → int
Retrieve an English-language description of a style which may be suitable for display in a user interface. This looks like "Doc comment: block comments beginning with /** or /*!".

Lexer Objects

Lexers are programmed as objects that implement the ILexer interface and that interact with the document they are lexing through the IDocument interface. Previously lexers were defined by providing lexing and folding functions but creating an object to handle the interaction of a lexer with a document allows the lexer to store state information that can be used during lexing. For example a C++ lexer may store a set of preprocessor definitions or variable declarations and style these depending on their role.

A set of helper classes allows older lexers defined by functions to be used in Scintilla.

ILexer

class ILexer {
public:
    virtual int SCI_METHOD Version() const = 0;
    virtual void SCI_METHOD Release() = 0;
    virtual const char * SCI_METHOD PropertyNames() = 0;
    virtual int SCI_METHOD PropertyType(const char *name) = 0;
    virtual const char * SCI_METHOD DescribeProperty(const char *name) = 0;
    virtual Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) = 0;
    virtual const char * SCI_METHOD DescribeWordListSets() = 0;
    virtual Sci_Position SCI_METHOD WordListSet(int n, const char *wl) = 0;
    virtual void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;
    virtual void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;
    virtual void * SCI_METHOD PrivateCall(int operation, void *pointer) = 0;
};

The types Sci_Position and Sci_PositionU are used for positions and line numbers in the document. Before release 3.6.0 the types int and unsigned int were used instead and, for 3.6.0, Sci_Position is defined as int and Sci_PositionU is defined as unsigned int. In a future release, 64-bit builds will define these as 64-bit types to allow documents larger than 2 GB.

Methods that return strings as const char * are not required to maintain separate allocations indefinitely: lexer implementations may own a single buffer that is reused for each call. Callers should make an immediate copy of returned strings.

The return values from PropertySet and WordListSet are used to indicate whether the change requires performing lexing or folding over any of the document. It is the position at which to restart lexing and folding or -1 if the change does not require any extra work on the document. A simple approach is to return 0 if there is any possibility that a change requires lexing the document again while an optimisation could be to remember where a setting first affects the document and return that position.

Version returns an enumerated value specifying which version of the interface is implemented: lvOriginal for ILexer, lvSubStyles for ILexerWithSubStyles, and lvMetaData for ILexerWithMetaData.

Release is called to destroy the lexer object.

PrivateCall allows for direct communication between the application and a lexer. An example would be where an application maintains a single large data structure containing symbolic information about system headers (like Windows.h) and provides this to the lexer where it can be applied to each document. This avoids the costs of constructing the system header information for each document. This is invoked with the SCI_PRIVATELEXERCALL API.

Fold is called with the exact range that needs folding. Previously, lexers were called with a range that started one line before the range that needs to be folded as this allowed fixing up the last line from the previous folding. The new approach allows the lexer to decide whether to backtrack or to handle this more efficiently.

ILexerWithSubStyles

To allow lexers to report which line ends they support, and to support substyles, Ilexer is extended to ILexerWithSubStyles.

class ILexerWithSubStyles : public ILexer {
public:
        virtual int SCI_METHOD LineEndTypesSupported() = 0;
        virtual int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) = 0;
        virtual int SCI_METHOD SubStylesStart(int styleBase) = 0;
        virtual int SCI_METHOD SubStylesLength(int styleBase) = 0;
        virtual int SCI_METHOD StyleFromSubStyle(int subStyle) = 0;
        virtual int SCI_METHOD PrimaryStyleFromStyle(int style) = 0;
        virtual void SCI_METHOD FreeSubStyles() = 0;
        virtual void SCI_METHOD SetIdentifiers(int style, const char *identifiers) = 0;
        virtual int SCI_METHOD DistanceToSecondaryStyles() = 0;
        virtual const char * SCI_METHOD GetSubStyleBases() = 0;
};

ILexerWithMetaData

NamedStyles, NameOfStyle, TagsOfStyle, and DescriptionOfStyle are used to provide information on the set of styles used by this lexer. NameOfStyle is the C-language identifier like "SCE_LUA_COMMENT". TagsOfStyle is a set of tags describing the style in a standardized way like "literal string multiline raw". A set of common tags and conventions for combining them is described here. DescriptionOfStyle is an English description of the style like "Function or method name definition".

class ILexerWithMetaData : public ILexerWithSubStyles {
public:
        virtual int SCI_METHOD NamedStyles() = 0;
        virtual const char * SCI_METHOD NameOfStyle(int style) = 0;
        virtual const char * SCI_METHOD TagsOfStyle(int style) = 0;
        virtual const char * SCI_METHOD DescriptionOfStyle(int style) = 0;
};

IDocument

class IDocument {
public:
        virtual int SCI_METHOD Version() const = 0;
        virtual void SCI_METHOD SetErrorStatus(int status) = 0;
        virtual Sci_Position SCI_METHOD Length() const = 0;
        virtual void SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const = 0;
        virtual char SCI_METHOD StyleAt(Sci_Position position) const = 0;
        virtual Sci_Position SCI_METHOD LineFromPosition(Sci_Position position) const = 0;
        virtual Sci_Position SCI_METHOD LineStart(Sci_Position line) const = 0;
        virtual int SCI_METHOD GetLevel(Sci_Position line) const = 0;
        virtual int SCI_METHOD SetLevel(Sci_Position line, int level) = 0;
        virtual int SCI_METHOD GetLineState(Sci_Position line) const = 0;
        virtual int SCI_METHOD SetLineState(Sci_Position line, int state) = 0;
        virtual void SCI_METHOD StartStyling(Sci_Position position, char mask) = 0;
        virtual bool SCI_METHOD SetStyleFor(Sci_Position length, char style) = 0;
        virtual bool SCI_METHOD SetStyles(Sci_Position length, const char *styles) = 0;
        virtual void SCI_METHOD DecorationSetCurrentIndicator(int indicator) = 0;
        virtual void SCI_METHOD DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) = 0;
        virtual void SCI_METHOD ChangeLexerState(Sci_Position start, Sci_Position end) = 0;
        virtual int SCI_METHOD CodePage() const = 0;
        virtual bool SCI_METHOD IsDBCSLeadByte(char ch) const = 0;
        virtual const char * SCI_METHOD BufferPointer() = 0;
        virtual int SCI_METHOD GetLineIndentation(Sci_Position line) = 0;
};

Scintilla tries to minimize the consequences of modifying text to only relex and redraw the line of the change where possible. Lexer objects contain their own private extra state which can affect later lines. For example, if the C++ lexer is greying out inactive code segments then changing the statement #define BEOS 0 to #define BEOS 1 may require restyling and redisplaying later parts of the document. The lexer can call ChangeLexerState to signal to the document that it should relex and display more.

For StartStyling the mask argument has no effect. It was used in version 3.4.2 and earlier.

SetErrorStatus is used to notify the document of exceptions. Exceptions should not be thrown over build boundaries as the two sides may be built with different compilers or incompatible exception options.

IDocumentWithLineEnd

To allow lexers to determine the end position of a line and thus more easily support Unicode line ends IDocument is extended to IDocumentWithLineEnd.

GetRelativePosition navigates the document by whole characters, returning INVALID_POSITION for movement beyond the start and end of the document.

GetCharacterAndWidth provides a standard conversion from UTF-8 bytes to a UTF-32 character or from DBCS to a 16 bit value. Bytes in invalid UTF-8 are reported individually with values 0xDC80+byteValue, which are not valid Unicode code points. The pWidth argument can be NULL if the caller does not need to know the number of bytes in the character.

class IDocumentWithLineEnd : public IDocument {
public:
        virtual Sci_Position SCI_METHOD LineEnd(Sci_Position line) const = 0;
        virtual Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const = 0;
        virtual int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const = 0;
};

The ILexer, ILexerWithSubStyles, IDocument, and IDocumentWithLineEnd interfaces may be expanded in the future with extended versions (ILexer2...). The Version method indicates which interface is implemented and thus which methods may be called.

Notifications

Notifications are sent (fired) from the Scintilla control to its container when an event has occurred that may interest the container.

Notifications are sent using the WM_NOTIFY message on Windows.

On GTK+, the "sci-notify" signal is sent and the signal handler should have the signature handler(GtkWidget *, gint, SCNotification *notification, gpointer userData).

On Cocoa, a delegate implementing the ScintillaNotificationProtocol may be set to receive notifications or the ScintillaView class may be subclassed and the notification: method overridden. Overriding notification: allows the subclass to control whether default handling is performed.

The container is passed a SCNotification structure containing information about the event.

struct Sci_NotifyHeader {   // This matches the Win32 NMHDR structure
    void *hwndFrom;     // environment specific window handle/pointer
    uptr_t idFrom;        // CtrlID of the window issuing the notification
    unsigned int code;  // The SCN_* notification code
};

struct SCNotification {
	struct Sci_NotifyHeader nmhdr;
	Sci_Position position;
	/* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */
	/* SCN_MARGINRIGHTCLICK, SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, */
	/* SCN_CALLTIPCLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */
	/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
	/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_AUTOCSELECTIONCHANGE */

	int ch;
	/* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETE, SCN_AUTOCSELECTION, */
	/* SCN_USERLISTSELECTION */
	int modifiers;
	/* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */
	/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */

	int modificationType;	/* SCN_MODIFIED */
	const char *text;
	/* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED, */
	/* SCN_AUTOCSELECTIONCHANGE */

	Sci_Position length;		/* SCN_MODIFIED */
	Sci_Position linesAdded;	/* SCN_MODIFIED */
	int message;	/* SCN_MACRORECORD */
	uptr_t wParam;	/* SCN_MACRORECORD */
	sptr_t lParam;	/* SCN_MACRORECORD */
	Sci_Position line;		/* SCN_MODIFIED */
	int foldLevelNow;	/* SCN_MODIFIED */
	int foldLevelPrev;	/* SCN_MODIFIED */
	int margin;		/* SCN_MARGINCLICK, SCN_MARGINRIGHTCLICK */
	int listType;	/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTIONCHANGE */
	int x;			/* SCN_DWELLSTART, SCN_DWELLEND */
	int y;		/* SCN_DWELLSTART, SCN_DWELLEND */
	int token;		/* SCN_MODIFIED with SC_MOD_CONTAINER */
	int annotationLinesAdded;	/* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */
	int updated;	/* SCN_UPDATEUI */
	int listCompletionMethod;
	/* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION */

};

The notification messages that your container can choose to handle and the messages associated with them are:

SCN_STYLENEEDED
SCN_CHARADDED
SCN_SAVEPOINTREACHED
SCN_SAVEPOINTLEFT
SCN_MODIFYATTEMPTRO
SCN_KEY
SCN_DOUBLECLICK
SCN_UPDATEUI
SCN_MODIFIED
SCN_MACRORECORD
SCN_MARGINCLICK
SCN_NEEDSHOWN
SCN_PAINTED
SCN_USERLISTSELECTION
SCN_URIDROPPED
SCN_DWELLSTART
SCN_DWELLEND
SCN_ZOOM
SCN_HOTSPOTCLICK
SCN_HOTSPOTDOUBLECLICK
SCN_HOTSPOTRELEASECLICK
SCN_INDICATORCLICK
SCN_INDICATORRELEASE
SCN_CALLTIPCLICK
SCN_AUTOCSELECTION
SCN_AUTOCCANCELLED
SCN_AUTOCCHARDELETED
SCN_FOCUSIN
SCN_FOCUSOUT
SCN_AUTOCCOMPLETED
SCN_MARGINRIGHTCLICK
SCN_AUTOCSELECTIONCHANGE

The following SCI_* messages are associated with these notifications:

SCI_SETMODEVENTMASK(int eventMask)
SCI_GETMODEVENTMASK → int
SCI_SETCOMMANDEVENTS(bool commandEvents)
SCI_GETCOMMANDEVENTS → bool
SCI_SETMOUSEDWELLTIME(int periodMilliseconds)
SCI_GETMOUSEDWELLTIME → int
SCI_SETIDENTIFIER(int identifier)
SCI_GETIDENTIFIER → int

The following additional notifications are sent using a secondary "command" method and should be avoided in new code as the primary "notification" method provides all the same events with richer information. The WM_COMMAND message is used on Windows. This emulates the Windows Edit control. Only the lower 16 bits of the control's ID is passed in these notifications.

On GTK+, the "command" signal is sent and the signal handler should have the signature handler(GtkWidget *, gint wParam, gpointer lParam, gpointer userData).

SCEN_CHANGE
SCEN_SETFOCUS
SCEN_KILLFOCUS

SCI_SETIDENTIFIER(int identifier)
SCI_GETIDENTIFIER → int
These two messages set and get the identifier of the Scintilla instance which is included in notifications as the idFrom field. When an application creates multiple Scintilla widgets, this allows the source of each notification to be found. On Windows, this value is initialised in the CreateWindow call and stored as the GWLP_ID attribute of the window. The value should be small, preferably less than 16 bits, rather than a pointer as some of the functions will only transmit 16 or 32 bits.

SCN_STYLENEEDED
If you used SCI_SETLEXER(SCLEX_CONTAINER) to make the container act as the lexer, you will receive this notification when Scintilla is about to display or print text that requires styling. You are required to style the text from the line that contains the position returned by SCI_GETENDSTYLED up to the position passed in SCNotification.position. Symbolically, you need code of the form:

    startPos = SCI_GETENDSTYLED()
    lineNumber = SCI_LINEFROMPOSITION(startPos);
    startPos = SCI_POSITIONFROMLINE(lineNumber);
    MyStyleRoutine(startPos, SCNotification.position);

SCN_CHARADDED
This is sent when the user types an ordinary text character (as opposed to a command character) that is entered into the text. The container can use this to decide to display a call tip or an auto completion list. The character is in SCNotification.ch. This notification is sent before the character has been styled so processing that depends on styling should instead be performed in the SCN_UPDATEUI notification.

SCN_SAVEPOINTREACHED
SCN_SAVEPOINTLEFT
Sent to the container when the save point is entered or left, allowing the container to display a "document dirty" indicator and change its menus.
See also: SCI_SETSAVEPOINT, SCI_GETMODIFY

SCN_MODIFYATTEMPTRO
When in read-only mode, this notification is sent to the container if the user tries to change the text. This can be used to check the document out of a version control system. You can set the read-only state of a document with SCI_SETREADONLY.

SCN_KEY
Reports all keys pressed but not consumed by Scintilla. Used on GTK+ because of some problems with keyboard focus and is not sent by the Windows version. SCNotification.ch holds the key code and SCNotification.modifiers holds the modifiers. This notification is sent if the modifiers include SCMOD_ALT or SCMOD_CTRL and the key code is less than 256.

SCN_DOUBLECLICK
The mouse button was double clicked in editor. The position field is set to the text position of the double click, the line field is set to the line of the double click, and the modifiers field is set to the key modifiers held down in a similar manner to SCN_KEY.

SCN_UPDATEUI
Either the text or styling of the document has changed or the selection range or scroll position may have changed. Now would be a good time to update any container UI elements that depend on document or view state. As it is sometimes difficult to determine whether a change has occurred, these events may also fire when there has been no actual change. The updated field is set to the bit set of things changed since the previous notification.

Symbol Value Meaning
SC_UPDATE_CONTENT 0x01 Contents, styling or markers may have been changed.
SC_UPDATE_SELECTION 0x02 Selection may have been changed.
SC_UPDATE_V_SCROLL 0x04 May have scrolled vertically.
SC_UPDATE_H_SCROLL 0x08 May have scrolled horizontally.

SCN_MODIFIED
This notification is sent when the text or styling of the document changes or is about to change. You can set a mask for the notifications that are sent to the container with SCI_SETMODEVENTMASK. The notification structure contains information about what changed, how the change occurred and whether this changed the number of lines in the document. No modifications may be performed while in a SCN_MODIFIED event. The SCNotification fields used are:

Field Usage
modificationType A set of flags that identify the change(s) made. See the next table.
position Start position of a text or styling change. Set to 0 if not used.
length Length of the change in bytes when the text or styling changes. Set to 0 if not used.
linesAdded Number of added lines. If negative, the number of deleted lines. Set to 0 if not used or no lines added or deleted.
text Valid for text changes, not for style changes. If we are collecting undo information this holds a pointer to the text that is handed to the Undo system, otherwise it is zero. For user performed SC_MOD_BEFOREDELETE the text field is 0.
line The line number at which a fold level or marker change occurred. This is 0 if unused and may be -1 if more than one line changed.
foldLevelNow The new fold level applied to the line or 0 if this field is unused.
foldLevelPrev The previous folding level of the line or 0 if this field is unused.

The SCNotification.modificationType field has bits set to tell you what has been done. The SC_MOD_* bits correspond to actions. The SC_PERFORMED_* bits tell you if the action was done by the user, or the result of Undo or Redo of a previous action.

Symbol Value Meaning SCNotification fields
SC_MOD_INSERTTEXT 0x01 Text has been inserted into the document. position, length, text, linesAdded
SC_MOD_DELETETEXT 0x02 Text has been removed from the document. position, length, text, linesAdded
SC_MOD_CHANGESTYLE 0x04 A style change has occurred. position, length
SC_MOD_CHANGEFOLD 0x08 A folding change has occurred. line, foldLevelNow, foldLevelPrev
SC_PERFORMED_USER 0x10 Information: the operation was done by the user. None
SC_PERFORMED_UNDO 0x20 Information: this was the result of an Undo. None
SC_PERFORMED_REDO 0x40 Information: this was the result of a Redo. None
SC_MULTISTEPUNDOREDO 0x80 This is part of a multi-step Undo or Redo transaction. None
SC_LASTSTEPINUNDOREDO 0x100 This is the final step in an Undo or Redo transaction. None
SC_MOD_CHANGEMARKER 0x200 One or more markers has changed in a line. line
SC_MOD_BEFOREINSERT 0x400 Text is about to be inserted into the document. position, if performed by user then text in bytes, length in bytes
SC_MOD_BEFOREDELETE 0x800 Text is about to be deleted from the document. position, length
SC_MOD_CHANGEINDICATOR 0x4000 An indicator has been added or removed from a range of text. position, length
SC_MOD_CHANGELINESTATE 0x8000 A line state has changed because SCI_SETLINESTATE was called. line
SC_MOD_CHANGETABSTOPS 0x200000 The explicit tab stops on a line have changed because SCI_CLEARTABSTOPS or SCI_ADDTABSTOP was called. line
SC_MOD_LEXERSTATE 0x80000 The internal state of a lexer has changed over a range. position, length
SC_MOD_CHANGEMARGIN 0x10000 A text margin has changed. line
SC_MOD_CHANGEANNOTATION 0x20000 An annotation has changed. line
SC_MOD_INSERTCHECK 0x100000 Text is about to be inserted. The handler may change the text being inserted by calling SCI_CHANGEINSERTION. No other modifications may be made in this handler. position, length, text
SC_MULTILINEUNDOREDO 0x1000 This is part of an Undo or Redo with multi-line changes. None
SC_STARTACTION 0x2000 This is set on a SC_PERFORMED_USER action when it is the first or only step in an undo transaction. This can be used to integrate the Scintilla undo stack with an undo stack in the container application by adding a Scintilla action to the container's stack for the currently opened container transaction or to open a new container transaction if there is no open container transaction. None
SC_MOD_CONTAINER 0x40000 This is set on for actions that the container stored into the undo stack with SCI_ADDUNDOACTION. token
SC_MODEVENTMASKALL 0x1FFFFF This is a mask for all valid flags. This is the default mask state set by SCI_SETMODEVENTMASK. None

SCEN_CHANGE
SCEN_CHANGE (768) is fired when the text (not the style) of the document changes. This notification is sent using the WM_COMMAND message on Windows and the "command" signal on GTK+ as this is the behaviour of the standard Edit control (SCEN_CHANGE has the same value as the Windows Edit control EN_CHANGE). No other information is sent. If you need more detailed information use SCN_MODIFIED. You can filter the types of changes you are notified about with SCI_SETMODEVENTMASK and SCI_SETCOMMANDEVENTS.

SCI_SETMODEVENTMASK(int eventMask)
SCI_GETMODEVENTMASK → int
These messages set and get an event mask that determines which document change events are notified to the container with SCN_MODIFIED and SCEN_CHANGE. For example, a container may decide to see only notifications about changes to text and not styling changes by calling SCI_SETMODEVENTMASK(SC_MOD_INSERTTEXT|SC_MOD_DELETETEXT).

The possible notification types are the same as the modificationType bit flags used by SCN_MODIFIED: SC_MOD_INSERTTEXT, SC_MOD_DELETETEXT, SC_MOD_CHANGESTYLE, SC_MOD_CHANGEFOLD, SC_PERFORMED_USER, SC_PERFORMED_UNDO, SC_PERFORMED_REDO, SC_MULTISTEPUNDOREDO, SC_LASTSTEPINUNDOREDO, SC_MOD_CHANGEMARKER, SC_MOD_BEFOREINSERT, SC_MOD_BEFOREDELETE, SC_MULTILINEUNDOREDO, and SC_MODEVENTMASKALL.

SCI_SETCOMMANDEVENTS(bool commandEvents)
SCI_GETCOMMANDEVENTS → bool
These messages set and get whether SCEN_* command events are sent to the container. For SCEN_CHANGE this acts as an additional filter over SCI_SETMODEVENTMASK. Most applications should set this off to avoid overhead and only use SCN_MODIFIED.

SCEN_SETFOCUS
SCEN_KILLFOCUS
SCEN_SETFOCUS (512) is fired when Scintilla receives focus and SCEN_KILLFOCUS (256) when it loses focus. These notifications are sent using the WM_COMMAND message on Windows and the "command" signal on GTK+ as this is the behaviour of the standard Edit control. Unfortunately, these codes do not match the Windows Edit notification codes EN_SETFOCUS (256) and EN_KILLFOCUS (512). It is now too late to change the Scintilla codes as clients depend on the current values.

SCN_MACRORECORD
The SCI_STARTRECORD and SCI_STOPRECORD messages enable and disable macro recording. When enabled, each time a recordable change occurs, the SCN_MACRORECORD notification is sent to the container. It is up to the container to record the action. To see the complete list of SCI_* messages that are recordable, search the Scintilla source Editor.cxx for Editor::NotifyMacroRecord. The fields of SCNotification set in this notification are:

Field Usage
message The SCI_* message that caused the notification.
wParam The value of wParam in the SCI_* message.
lParam The value of lParam in the SCI_* message.

SCN_MARGINCLICK
SCN_MARGINRIGHTCLICK
These notifications tell the container that the mouse was clicked or right clicked inside a margin that was marked as sensitive (see SCI_SETMARGINSENSITIVEN). This can be used to perform folding or to place breakpoints. The following SCNotification fields are used:

Field Usage
modifiers The appropriate combination of SCI_SHIFT, SCI_CTRL and SCI_ALT to indicate the keys that were held down at the time of the margin click.
position The position of the start of the line in the document that corresponds to the margin click.
margin The margin number that was clicked.

SCN_NEEDSHOWN
Scintilla has determined that a range of lines that is currently invisible should be made visible. An example of where this may be needed is if the end of line of a contracted fold point is deleted. This message is sent to the container in case it wants to make the line visible in some unusual way such as making the whole document visible. Most containers will just ensure each line in the range is visible by calling SCI_ENSUREVISIBLE. The position and length fields of SCNotification indicate the range of the document that should be made visible. The container code will be similar to the following code skeleton:

firstLine = SCI_LINEFROMPOSITION(scn.position)
lastLine = SCI_LINEFROMPOSITION(scn.position+scn.length-1)
for line = lineStart to lineEnd do SCI_ENSUREVISIBLE(line) next

SCN_PAINTED
Painting has just been done. Useful when you want to update some other widgets based on a change in Scintilla, but want to have the paint occur first to appear more responsive. There is no other information in SCNotification.

SCN_USERLISTSELECTION
The user has selected an item in a user list. The SCNotification fields used are:

Field Usage
listType This is set to the listType parameter from the SCI_USERLISTSHOW message that initiated the list.
text The text of the selection.
position The position the list was displayed at.
ch If a fillup character was the method of selection, the used character, otherwise 0.
listCompletionMethod A value indicating the way in which the completion occurred. See the table below.

See the SCN_AUTOCCOMPLETED notification for the possible values for listCompletionMethod.

SCN_URIDROPPED
Only on the GTK+ version. Indicates that the user has dragged a URI such as a file name or Web address onto Scintilla. The container could interpret this as a request to open the file. The text field of SCNotification points at the URI text.

SCN_DWELLSTART
SCN_DWELLEND
SCN_DWELLSTART is generated when the user keeps the mouse in one position for the dwell period (see SCI_SETMOUSEDWELLTIME). SCN_DWELLEND is generated after a SCN_DWELLSTART and the mouse is moved or other activity such as key press indicates the dwell is over. Both notifications set the same fields in SCNotification:

Field Usage
position This is the nearest position in the document to the position where the mouse pointer was lingering.
x, y Where the pointer lingered. The position field is set to SCI_POSITIONFROMPOINTCLOSE(x, y).

SCI_SETMOUSEDWELLTIME(int periodMilliseconds)
SCI_GETMOUSEDWELLTIME → int
These two messages set and get the time the mouse must sit still, in milliseconds, to generate a SCN_DWELLSTART notification. If set to SC_TIME_FOREVER, the default, no dwell events are generated.

SCN_ZOOM
This notification is generated when the user zooms the display using the keyboard or the SCI_SETZOOM method is called. This notification can be used to recalculate positions, such as the width of the line number margin to maintain sizes in terms of characters rather than pixels. SCNotification has no additional information.

SCN_HOTSPOTCLICK
SCN_HOTSPOTDOUBLECLICK
SCN_HOTSPOTRELEASECLICK
These notifications are generated when the user clicks or double clicks on text that is in a style with the hotspot attribute set. This notification can be used to link to variable definitions or web pages. In the notification handler, you should avoid calling any function that modifies the current selection or caret position. The position field is set the text position of the click or double click and the modifiers field set to the key modifiers held down in a similar manner to SCN_KEY. Only the state of the Ctrl key is reported for SCN_HOTSPOTRELEASECLICK.

SCN_INDICATORCLICK
SCN_INDICATORRELEASE
These notifications are generated when the user clicks or releases the mouse on text that has an indicator. The position field is set the text position of the click or double click and the modifiers field set to the key modifiers held down in a similar manner to SCN_KEY.

SCN_CALLTIPCLICK
This notification is generated when the user clicks on a calltip. This notification can be used to display the next function prototype when a function name is overloaded with different arguments. The position field is set to 1 if the click is in an up arrow, 2 if in a down arrow, and 0 if elsewhere.

SCN_AUTOCSELECTION
The user has selected an item in an autocompletion list. The notification is sent before the selection is inserted. Automatic insertion can be cancelled by sending a SCI_AUTOCCANCEL message before returning from the notification. The SCNotification fields used are:

Field Usage
position The start position of the word being completed.
text The text of the selection.
ch If a fillup character was the method of selection, the used character, otherwise 0.
listCompletionMethod A value indicating the way in which the completion occurred. See the table below.

Symbol Value Meaning
SC_AC_FILLUP 1 A fillup character triggered the completion. The character used is in ch.
SC_AC_DOUBLECLICK 2 A double-click triggered the completion. ch is 0.
SC_AC_TAB 3 The tab key or SCI_TAB triggered the completion. ch is 0.
SC_AC_NEWLINE 4 A new line or SCI_NEWLINE triggered the completion. ch is 0.
SC_AC_COMMAND 5 The SCI_AUTOCSELECT message triggered the completion. ch is 0.

SCN_AUTOCCANCELLED
The user has cancelled an autocompletion list. There is no other information in SCNotification.

SCN_AUTOCCHARDELETED
The user deleted a character while autocompletion list was active. There is no other information in SCNotification.

SCN_AUTOCCOMPLETED
This notification is generated after an autocompletion has inserted its text. The fields are identical to the SCN_AUTOCSELECTION notification.

SCN_AUTOCSELECTIONCHANGE
This notification is sent when items are highlighted in an autocompletion or user list. The SCNotification fields used are:

Field Usage
listType This is set to the listType parameter from the SCI_USERLISTSHOW message or 0 for an autocompletion.
text The text of the selection.
position The position the list was displayed at.

SCN_FOCUSIN
SCN_FOCUSOUT
SCN_FOCUSIN (2028) is fired when Scintilla receives focus and SCN_FOCUSOUT (2029) when it loses focus.

Images

Two formats are supported for images used in margin markers and autocompletion lists, RGBA and XPM.

RGBA

The RGBA format allows translucency with an alpha value for each pixel. It is simpler than XPM and more capable.

The data is a sequence of 4 byte pixel values starting with the pixels for the top line, with the leftmost pixel first, then continuing with the pixels for subsequent lines. There is no gap between lines for alignment reasons.

Each pixel consists of, in order, a red byte, a green byte, a blue byte and an alpha byte. The colour bytes are not premultiplied by the alpha value. That is, a fully red pixel that is 25% opaque will be [FF, 00, 00, 3F]

Since the RGBA pixel data does not include any size information the width and height must previously been set with the SCI_RGBAIMAGESETWIDTH and SCI_RGBAIMAGESETHEIGHT messages.

GUI platforms often include functions for reading image file formats like PNG into memory in the RGBA form or a similar form. If there is no suitable platform support, the LodePNG and picoPNG libraries are small libraries for loading and decoding PNG files available under a BSD-style license.

RGBA format is supported on Windows, GTK+ and OS X Cocoa.

XPM

The XPM format is described here. Scintilla is only able to handle XPM pixmaps that use one character per pixel with no named colours. There may be a completely transparent colour named "None".

There are two forms of data structure used for XPM images, the first "lines form" format is well suited to embedding an image inside C source code and the "text form" is suited to reading from a file. In the lines form, an array of strings is used with the first string indicating the dimensions and number of colours used. This is followed by a string for each colour and that section is followed by the image with one string per line. The text form contains the same data as one null terminated block formatted as C source code starting with a "/* XPM */" comment to mark the format.

Either format may be used with Scintilla APIs with the bytes at the location pointed to examined to determine which format: if the bytes start with "/* XPM */" then it is treated as text form, otherwise it is treated as lines form.

XPM format is supported on on all platforms.

GTK+

On GTK+, the following functions create a Scintilla widget, communicate with it and allow resources to be released after all Scintilla widgets have been destroyed.

GtkWidget *scintilla_new()
void scintilla_set_id(ScintillaObject *sci, uptr_t id)
sptr_t scintilla_send_message(ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam)
void scintilla_release_resources()

GtkWidget *scintilla_new()
Create a new Scintilla widget. The returned pointer can be added to a container and displayed in the same way as other widgets.

void scintilla_set_id(ScintillaObject *sci, uptr_t id)
Set the control ID which will be used in the idFrom field of the Sci_NotifyHeader structure of all notifications for this instance. This is equivalent to SCI_SETIDENTIFIER.

sptr_t scintilla_send_message(ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam)
The main entry point allows sending any of the messages described in this document.

void scintilla_release_resources()
Call this to free any remaining resources after all the Scintilla widgets have been destroyed.

Provisional messages

Complex new features may be added as 'provisional' to allow further changes to the API. Provisional features may even be removed if experience shows they are a mistake.

Provisional features are displayed in this document with a distinctive background colour.

There are currently no provisional messages or values.

Some developers may want to only use features that are stable and have graduated from provisional status. To avoid using provisional messages compile with the symbol SCI_DISABLE_PROVISIONAL defined.

Deprecated messages and notifications

The following messages are currently supported to emulate existing Windows controls, but they will be removed in future versions of Scintilla. If you use these messages you should replace them with the Scintilla equivalent.

WM_GETTEXT(int length, char *text)
WM_SETTEXT(<unused>, const char *text)
EM_GETLINE(int line, char *text)
EM_REPLACESEL(<unused>, const char *text)
EM_SETREADONLY
EM_GETTEXTRANGE(<unused>, TEXTRANGE *tr)
WM_CUT
WM_COPY
WM_PASTE
WM_CLEAR
WM_UNDO
EM_CANUNDO
EM_EMPTYUNDOBUFFER
WM_GETTEXTLENGTH
EM_GETFIRSTVISIBLELINE
EM_GETLINECOUNT
EM_GETMODIFY
EM_SETMODIFY(bool isModified)
EM_GETRECT(RECT *rect)
EM_GETSEL(int *start, int *end)
EM_EXGETSEL(<unused>, CHARRANGE *cr)
EM_SETSEL(int start, int end)
EM_EXSETSEL(<unused>, CHARRANGE *cr)
EM_GETSELTEXT(<unused>, char *text)
EM_LINEFROMCHAR(int position)
EM_EXLINEFROMCHAR(int position)
EM_LINEINDEX(int line)
EM_LINELENGTH(int position)
EM_SCROLL(int line)
EM_LINESCROLL(int column, int line)
EM_SCROLLCARET()
EM_CANPASTE
EM_CHARFROMPOS(<unused>, POINT *location)
EM_POSFROMCHAR(int position, POINT *location)
EM_SELECTIONTYPE
EM_HIDESELECTION(bool hide)
EM_FINDTEXT(int flags, FINDTEXTEX *ft)
EM_FINDTEXTEX(int flags, FINDTEXTEX *ft)
EM_GETMARGINS
EM_SETMARGINS(EC_LEFTMARGIN or EC_RIGHTMARGIN or EC_USEFONTINFO, int val)
EM_FORMATRANGE

The following are features that are only included if you define INCLUDE_DEPRECATED_FEATURES in Scintilla.h. To ensure future compatibility you should change them as indicated.

SCI_SETKEYSUNICODE(bool keysUnicode)
SCI_GETKEYSUNICODE → bool
SCI_SETSTYLEBITS(int bits)
SCI_GETSTYLEBITS → int
SCI_GETSTYLEBITSNEEDED → int

SCI_SETKEYSUNICODE(bool keysUnicode) Deprecated
SCI_GETKEYSUNICODE → bool Deprecated
On Windows, Scintilla no longer supports narrow character windows so input is always treated as Unicode.

The following are features that should be removed from calling code but are still defined to avoid breaking callers.

SCI_SETSTYLEBITS(int bits) Deprecated
SCI_GETSTYLEBITS → int Deprecated
SCI_GETSTYLEBITSNEEDED → int Deprecated
INDIC0_MASK, INDIC1_MASK, INDIC2_MASK, INDICS_MASK Deprecated
Scintilla no longer supports style byte indicators. The last version to support style byte indicators was 3.4.2. Any use of these symbols should be removed and replaced with standard indicators. SCI_GETSTYLEBITS and SCI_GETSTYLEBITSNEEDED always return 8, indicating that 8 bits are used for styling and there are 256 styles.

Edit messages never supported by Scintilla

EM_GETWORDBREAKPROC EM_GETWORDBREAKPROCEX
EM_SETWORDBREAKPROC EM_SETWORDBREAKPROCEX
EM_GETWORDWRAPMODE EM_SETWORDWRAPMODE
EM_LIMITTEXT EM_EXLIMITTEXT
EM_SETRECT EM_SETRECTNP
EM_FMTLINES
EM_GETHANDLE EM_SETHANDLE
EM_GETPASSWORDCHAR EM_SETPASSWORDCHAR
EM_SETTABSTOPS
EM_FINDWORDBREAK
EM_GETCHARFORMAT EM_SETCHARFORMAT
EM_GETOLEINTERFACE EM_SETOLEINTERFACE
EM_SETOLECALLBACK
EM_GETPARAFORMAT EM_SETPARAFORMAT
EM_PASTESPECIAL
EM_REQUESTRESIZE
EM_GETBKGNDCOLOR EM_SETBKGNDCOLOR
EM_STREAMIN EM_STREAMOUT
EM_GETIMECOLOR EM_SETIMECOLOR
EM_GETIMEOPTIONS EM_SETIMEOPTIONS
EM_GETOPTIONS EM_SETOPTIONS
EM_GETPUNCTUATION EM_SETPUNCTUATION
EM_GETTHUMB
EM_GETEVENTMASK
EM_SETEVENTMASK
EM_DISPLAYBAND
EM_SETTARGETDEVICE

Scintilla tries to be a superset of the standard windows Edit and RichEdit controls wherever that makes sense. As it is not intended for use in a word processor, some edit messages can not be sensibly handled. Unsupported messages have no effect.

Removed features

These features have now been removed completely.

SC_CP_DBCS Removed in 2016 with release 3.7.1
This was used to set a DBCS (Double Byte Character Set) mode on GTK+. An explicit DBCS code page should be used when calling SCI_SETCODEPAGE

SCI_SETUSEPALETTE(bool usePalette) Removed in 2016 with release 3.7.1
SCI_GETUSEPALETTE → bool Removed in 2016 with release 3.7.1
Scintilla no longer supports palette mode. The last version to support palettes was 2.29. Any calls to these methods must be removed.

Previous versions of Scintilla allowed indicators to be stored in bits of each style byte. This was deprecated in 2007 and removed in 2014 with release 3.4.3. All uses of style byte indicators should be replaced with standard indicators.

Building Scintilla

To build Scintilla or SciTE, see the README file present in both the Scintilla and SciTE directories. The compiler must support C++11. For Windows, GCC 4.8 or Microsoft Visual C++ 2015 can be used for building. For GTK+, GCC 4.8 or newer should be used. GTK+ 2.24+ and 3.x are supported with glib 2.22+. The version of GTK+ installed should be detected automatically. When both GTK+ 2 and GTK+ 3 are present, building for GTK+ 3.x requires defining GTK3 on the command line.

Static linking

On Windows, Scintilla is normally used as a dynamic library as a .DLL file. If you want to link Scintilla directly into your application .EXE or .DLL file, then you can link to the static library bin/libscintilla.lib (or .a if using GCC) and call Scintilla_RegisterClasses. Scintilla_RegisterClasses takes the HINSTANCE of your application and ensures that the "Scintilla" window class is registered.

When producing a stand-alone Scintilla DLL, the ScintillaDLL.cxx file should be compiled and linked in to provide DllMain and Scintilla_RegisterClasses.

Ensuring lexers are linked into Scintilla

Depending on the compiler and linker used, the lexers may be stripped out. This is most often caused when building a static library. To ensure the lexers are linked in, the Scintilla_LinkLexers() function may be called.

Changing set of lexers

To change the set of lexers in Scintilla, add and remove lexer source files (Lex*.cxx) from the scintilla/lexers directory and run the scripts/LexGen.py script from the scripts directory to update the make files and Catalogue.cxx. LexGen.py requires Python 2.5 or later. If you do not have access to Python, you can hand edit Catalogue.cxx in a simple-minded way, following the patterns of other lexers. The important thing is to include LINK_LEXER(lmMyLexer); to correspond with the LexerModule lmMyLexer(...); in your lexer source code.

Building with an alternative Regular Expression implementation

A simple interface provides support for switching the Regular Expressions engine at compile time. You must implement RegexSearchBase for your chosen engine, look at the built-in implementation BuiltinRegex to see how this is done. You then need to implement the factory method CreateRegexSearch to create an instance of your class. You must disable the built-in implementation by defining SCI_OWNREGEX.

================================================ FILE: src/qscint/doc/Scintilla/ScintillaDownload.html ================================================ Download Scintilla
Scintilla icon Download Scintilla
Windows   GTK+/Linux  

Download.

The license for using Scintilla or SciTE is similar to that of Python containing very few restrictions.

Release 3.10.1

Source Code

The source code package contains all of the source code for Scintilla but no binary executable code and is available in
  • zip format (1600K) commonly used on Windows
  • tgz format (1400K) commonly used on Linux and compatible operating systems
Instructions for building on both Windows and Linux are included in the readme file.

Windows Executable Code

There is no download available containing only the Scintilla DLL. However, it is included in the SciTE executable full download as SciLexer.DLL.

SciTE is a good demonstration of Scintilla.

Previous versions can be downloaded from the history page.

================================================ FILE: src/qscint/doc/Scintilla/ScintillaHistory.html ================================================ Scintilla and SciTE
Scintilla icon Scintilla and SciTE

History of Scintilla and SciTE

Contributors

Thanks to all the people that have contributed patches, bug reports and suggestions.

Source code and documentation have been contributed by

Atsuo Ishimoto Mark Hammond Francois Le Coguiec Dale Nagata
Ralf Reinhardt Philippe Lhoste Andrew McKinlay Stephan R. A. Deibel
Hans Eckardt Vassili Bourdo Maksim Lin Robin Dunn
John Ehresman Steffen Goeldner Deepak S. DevelopMentor
Yann Gaillard Aubin Paul Jason Diamond Ahmad Baitalmal
Paul Winwood Maxim Baranov Ragnar Højland Christian Obrecht
Andreas Neukoetter Adam Gates Steve Lhomme Ferdinand Prantl
Jan Dries Markus Gritsch Tahir Karaca Ahmad Zawawi
Laurent le Tynevez Walter Braeu Ashley Cambrell Garrett Serack
Holger Schmidt ActiveState James Larcombe Alexey Yutkin
Jan Hercek Richard Pecl Edward K. Ream Valery Kondakoff
Smári McCarthy Clemens Wyss Simon Steele Serge A. Baranov
Xavier Nodet Willy Devaux David Clain Brendon Yenson
Vamsi Potluru Praveen Ambekar Alan Knowles Kengo Jinno
Valentin Valchev Marcos E. Wurzius Martin Alderson Robert Gustavsson
José Fonseca Holger Kiemes Francis Irving Scott Kirkwood
Brian Quinlan Ubi Michael R. Duerig Deepak T
Don Paul Beletsky Gerhard Kalab Olivier Dagenais Josh Wingstrom
Bruce Dodson Sergey Koshcheyev Chuan-jian Shen Shane Caraveo
Alexander Scripnik Ryan Christianson Martin Steffensen Jakub Vrána
The Black Horus Bernd Kreuss Thomas Lauer Mike Lansdaal
Yukihiro Nakai Jochen Tucht Greg Smith Steve Schoettler
Mauritius Thinnes Darren Schroeder Pedro Guerreiro Steven te Brinke
Dan Petitt Biswapesh Chattopadhyay Kein-Hong Man Patrizio Bekerle
Nigel Hathaway Hrishikesh Desai Sergey Puljajev Mathias Rauen
Angelo Mandato Denis Sureau Kaspar Schiess Christoph Hösler
João Paulo F Farias Ron Schofield Stefan Wosnik Marius Gheorghe
Naba Kumar Sean O'Dell Stefanos Togoulidis Hans Hagen
Jim Cape Roland Walter Brian Mosher Nicholas Nemtsev
Roy Wood Peter-Henry Mander Robert Boucher Christoph Dalitz
April White S. Umar Trent Mick Filip Yaghob
Avi Yegudin Vivi Orunitia Manfred Becker Dimitris Keletsekis
Yuiga Davide Scola Jason Boggs Reinhold Niesner
Jos van der Zande Pescuma Pavol Bosik Johannes Schmid
Blair McGlashan Mikael Hultgren Florian Balmer Hadar Raz
Herr Pfarrer Ben Key Gene Barry Niki Spahiev
Carsten Sperber Phil Reid Iago Rubio Régis Vaquette
Massimo Corà Elias Pschernig Chris Jones Josiah Reynolds
Robert Roessler rftp.com Steve Donovan Jan Martin Pettersen Sergey Philippov
Borujoa Michael Owens Franck Marcia Massimo Maria Ghisalberti
Frank Wunderlich Josepmaria Roca Tobias Engvall Suzumizaki Kimitaka
Michael Cartmell Pascal Hurni Andre Randy Butler
Georg Ritter Michael Goffioul Ben Harper Adam Strzelecki
Kamen Stanev Steve Menard Oliver Yeoh Eric Promislow
Joseph Galbraith Jeffrey Ren Armel Asselin Jim Pattee
Friedrich Vedder Sebastian Pipping Andre Arpin Stanislav Maslovski
Martin Stone Fabien Proriol mimir Nicola Civran
Snow Mitchell Foral Pieter Holtzhausen Waldemar Augustyn
Jason Haslam Sebastian Steinlechner Chris Rickard Rob McMullen
Stefan Schwendeler Cristian Adam Nicolas Chachereau Istvan Szollosi
Xie Renhui Enrico Tröger Todd Whiteman Yuval Papish
instanton Sergio Lucato VladVRO Dmitry Maslov
chupakabra Juan Carlos Arevalo Baeza Nick Treleaven Stephen Stagg
Jean-Paul Iribarren Tim Gerundt Sam Harwell Boris
Jason Oster Gertjan Kloosterman alexbodn Sergiu Dotenco
Anders Karlsson ozlooper Marko Njezic Eugen Bitter
Christoph Baumann Christopher Bean Sergey Kishchenko Kai Liu
Andreas Rumpf James Moffatt Yuzhou Xin Nic Jansma
Evan Jones Mike Lischke Eric Kidd maXmo
David Severwright Jon Strait Oliver Kiddle Etienne Girondel
Haimag Ren Andrey Moskalyov Xavi Toby Inkster
Eric Forgeot Colomban Wendling Neo Jordan Russell
Farshid Lashkari Sam Rawlins Michael Mullin Carlos SS
vim Martial Demolins Tino Weinkauf Jérôme Laforge
Udo Lechner Marco Falda Dariusz Knociński Ben Fisher
Don Gobin John Yeung Adobe Elizabeth A. Irizarry
Mike Schroeder Morten MacFly Jaime Gimeno Thomas Linder Puls
Artyom Zuikov Gerrit Occam's Razor Ben Bluemel
David Wolfendale Chris Angelico Marat Dukhan Stefan Weil
Rex Conn Ross McKay Bruno Barbieri Gordon Smith
dimitar Sébastien Granjoux zeniko James Ribe
Markus Nißl Martin Panter Mark Yen Philippe Elsass
Dimitar Zhekov Fan Yang Denis Shelomovskij darmar
John Vella Chinh Nguyen Sakshi Verma Joel B. Mohler
Isiledhel Vidya Wasi G. Hu Byron Hawkins
Alpha John Donoghue kudah Igor Shaula
Pavel Bulochkin Yosef Or Boczko Brian Griffin Özgür Emir
Neomi OmegaPhil SiegeLord Erik
TJF Mark Robinson Thomas Martitz felix
Christian Walther Ebben Robert Gieseke Mike M
nkmathew Andreas Tscharner Lee Wilmott johnsonj
Vicente Nick Gravgaard Ian Goldby Holger Stenger
danselmi Mat Berchtold Michael Staszewski Baurzhan Muftakhidinov
Erik Angelin Yusuf Ramazan Karagöz Markus Heidelberg Joe Mueller
Mika Attila JoMazM Markus Moser Stefan Küng
Jiří Techet Jonathan Hunt Serg Stetsuk Jordan Jueckstock
Yury Dubinsky Sam Hocevar Luyomi Matt Gilarde
Mark C Johannes Sasongko fstirlitz Robin Haberkorn
Pavel Sountsov Dirk Lorenzen Kasper B. Graversen Chris Mayo
Van de Bugger Tse Kit Yam SmartShare Systems Morten Brørup
Alexey Denisov Justin Dailey oirfeodent A-R-C-A
Roberto Rossi Kenny Liu Iain Clarke desto
John Flatness Thorsten Kani Bernhard M. Wiedemann Baldur Karlsson
Martin Kleusberg Jannick Zufu Liu Simon Sobisch
Georger Araújo Dimitar Radev Gunter Königsmann Nicholai Benalal
Andreas Rönnquist Henrik Hank Luke Rasmussen
maboroshin Gokul Krishnan

Images used in GTK+ version

  • Icons Copyright(C) 1998 by Dean S. Jones

Release 3.10.1

  • Released 31 October 2018.
  • Add SCI_SETCOMMANDEVENTS API to allow turning off command events as they can be a significant performance cost.
  • Optional indexing of line starts in UTF-8 documents by UTF-32 code points and UTF-16 code units added. This can improve performance for clients that provide UTF-32 or UTF-16 interfaces or that need to interoperate with UTF-32 or UTF-16 components.
  • Lexers added for SAS and Stata. Feature #1185.
  • Improve efficiency of idle wrapping by wrapping in blocks as large as possible while still remaining responsive.
  • Updated case conversion and character categories to Unicode 11.
  • C++ lexer fixes evaluation of "#elif". Bug #2045.
  • Markdown lexer fixes highlighting of non-ASCII characters in links.
  • SCI_MARKERADD returns -1 for invalid lines as documented instead of 0. Bug #2051.
  • Shell folder folds "if", "do", and "case". Feature #1144.
  • Fix margin cursor on Cocoa to point more accurately.
  • Updated ConTeXt Lua LPeg lexer.
  • Improved folding of traditionally single elements in HTML Lua LPeg lexer.
  • Improved accuracy of Markdown Lua LPeg lexer.

Release 3.10.0

  • Released 30 June 2018.
  • Add experimental SC_DOCUMENTOPTION_TEXT_LARGE option to accomodate documents larger than 2 GigaBytes.
  • The platform layer interface has changed with the removal of the ElapsedTime class in favor of C++11's chrono.
  • Additional print option SC_PRINT_SCREENCOLOURS prints with the same colours used on screen including line numbers.
  • INDIC_GRADIENT and INDIC_GRADIENTCENTRE indicator types added. INDIC_GRADIENT starts with a specified colour and alpha at top of line and fades to fully transparent at bottom. INDIC_GRADIENTCENTRE starts with a specified colour and alpha at centre of line and fades to fully transparent at top and bottom.
  • Wrap indent mode SC_WRAPINDENT_DEEPINDENT added which indents two tabs from previous line.
  • Indicators are drawn for line end characters when displayed.
  • Most invalid bytes in DBCS encodings are displayed as blobs to make problems clear and ensure something is shown.
  • Curses platform fixed potential crash with newer versions of ncurses.
  • Diff lexer adds styles for diffs containing patches.
  • Regular expression crash fixed on macOS when linking to libstdc++.
  • EDIFACT lexer adds property lexer.edifact.highlight.un.all to highlight all UN* segments. Feature #1166.
  • Fortran folder understands "change team" and "endteam". Feature #1216.
  • Markdown Lua LPeg lexer fixes incorrect highlighting of markdown lists.
  • Fixed child Lua LPeg lexers that embed themselves into parents. Also fixed proxy lexers.
  • Fixed legacy Lua LPeg lexers with custom fold functions.
  • C# Lua LPeg lexer highlights "var" keyword.
  • Set the last X chosen when SCI_REPLACESEL called to ensure macros work when text insertion followed by caret up or down.
  • Bugs fixed in regular expression searches in Scintilla where some matches did not occur in an effort to avoid infinite loops when replacing on empty matches like "^" and "$". Applications should always handle empty matches in a way that avoids infinite loops, commonly by incrementing the search position after replacing an empty match. SciTE fixes a bug where replacing "^" always matched on the first line even when it was an "in selection" replace and the selection started after the line start.
  • Crashes fixed on macOS for invalid DBCS characters when dragging text, changing case of text, case-insensitive searching, and retrieving text as UTF-8.
  • Regular expression crash fixed on macOS when linking to libstdc++.
  • On Win32, a new file, ScintillaDLL.cxx, provides the DllMain function required for a stand-alone Scintilla DLL. Build and project files should include this file when producing a DLL and omit it when producing a static library or linking Scintilla statically. The STATIC_BUILD preprocessor symbol is no longer used.
  • On Win32, Direct2D support is no longer automatically detected during build. DISABLE_D2D may still be defined to remove Direct2D features.
  • In some cases, invalid UTF-8 is handled in a way that is a little friendlier. For example, when copying to the clipboard on Windows, an invalid lead byte will be copied as the equivalent ISO 8859-1 character and will not hide the following byte. Feature #1211.

Release 3.8.0

  • Released 29 Mar 2018.
  • Lua can be used to write lexers with the new, optional, LPeg lexer.
  • New curses platform support.
  • Support dropped for GTK+ versions before 2.24.
  • A new lexer interface ILexerWithMetaData with additional style metadata methods was added.
  • The platform layer interface has changed with unused methods removed, a new mechanism for reporting events, removal of methods that take individual keyboard modifiers, and removal of old timer methods.
  • Style metadata may be retrieved from lexers that support this through the SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE, SCI_TAGSOFSTYLE, and SCI_DESCRIPTIONOFSTYLE APIs.
  • The default encoding in Scintilla is UTF-8.
  • An SCN_AUTOCSELECTIONCHANGE notification is sent when items are highlighted in an autocompletion or user list.
  • The data parameter to ILoader::AddData made const. Bug #1955.
  • The ILoader interface is defined in its own header ILoader.h as it is not related to lexing so doesn't belong in ILexer.h.
  • The Scintilla namespace is always active for internal symbols and for the lexer and document interfaces.
  • SCI_CREATEDOCUMENT adds a bytes argument to allocate memory for an initial size. SCI_CREATELOADER and SCI_CREATEDOCUMENT add a documentOption argument to allow choosing different document capabilities.
  • Add SC_DOCUMENTOPTION_STYLES_NONE option to stop allocating memory for styles.
  • Add SCI_GETMOVEEXTENDSSELECTION to allow applications to add more complex selection commands.
  • For rectangular selections, pressing Home or End now moves the caret to the Home or End position instead of the limit of the rectangular selection.
  • On Win32, the standard makefiles build a libscintilla static library as well as the existing dynamic libraries.
  • Fix move-extends-selection mode for rectangular and line selections.
  • On GTK+, change lifetime of selection widget to avoid runtime warnings.
  • Fix building on Mingw/MSYS to perform file copies and deletions. Bug #1993.
  • Lexer added for the Maxima computer algebra language. Feature #1210.
  • Fix hang in Lua lexer when lexing a label upto the terminating "::". Bug #1999.
  • Lua lexer matches identifier chains with dots and colons. Bug #1952.
  • Fix HTML lexer handling of Django so that nesting a {{ }} or {% %} Django tag inside of a {# #} Django comment does not break highlighting of rest of file
  • The Matlab folder now treats "while" as a fold start. Bug #1985.
  • Improve VHDL lexer's handling of character literals and escape characters in strings.
  • The Baan lexer checks that matches to 3rd set of keywords are function calls and leaves as identifiers if not. Baan lexer and folder support #context_on / #context_off preprocessor feature.
  • The C++ lexer improved preprocessor conformance.
    Default value of 0 for undefined preprocessor symbols.
    #define A is treated as #define A 1.
    "defined A" removes "A" before replacing "defined" with value. Bug #1966.
  • The Python folder treats triple-quoted f-strings like triple-quoted strings. Bug #1977.
  • The SQL lexer uses sql.backslash.escapes for double quoted strings. Bug #1968.
  • The Matlab lexer treats 'end' as a number rather than a keyword when used as a index. This also stops incorrect folding. Bug #1951.
  • The Matlab folder implements "fold", "fold.comment", and "fold.compact" properties. Bug #1965.
  • The Rust lexer recognizes 'usize' numeric literal suffixes. Bug #1919.
  • Minor undefined behaviour fixed. Bug #1978.
  • Fix double tap word selection on Windows 10 1709 Fall Creators Update. Bug #1983.
  • Fix closing autocompletion lists on Cocoa for macOS 10.13 where the window was emptying but staying visible. Bug #1981.
  • Fix Cocoa hang when Scintilla loaded from SMB share on macOS 10.13. Bug #1979.
  • On Cocoa, improve scrolling on macOS 10.12. Bug #1885.
  • On Cocoa, fix line selection by clicking in the margin when scrolled. Bug #1971.
  • Ensure redraw when application changes overtype mode so caret change visible even when not blinking. Notify application with SC_UPDATE_SELECTION when overtype changed - previously sent SC_UPDATE_CONTENT.
  • Fix drawing failure when in wrap mode for delete to start/end of line which affects later lines but did not redraw them. Also fixed drawing for wrap mode on GTK+ 2.x. Bug #1949.
  • On GTK+ fix drawing problems including incorrect scrollbar redrawing and flickering of text. Bug #1876.
  • On Linux, both for GTK+ and Qt, the default modifier key for rectangular selection is now Alt. This is the same as Windows and macOS. This was changed from Ctrl as window managers are less likely to intercept Alt+Drag for moving windows than in the past.
  • On Cocoa, fix doCommandBySelector but avoid double effect of 'delete' key. Bug #1958.
  • On Qt, the updateUi signal includes the 'updated' flags. No updateUi signal is sent for focus in events. These changes make Qt behave more like the other platforms.
  • On Qt, dropping files on Scintilla now fires the SCN_URIDROPPED notification instead of inserting text.
  • On Qt, focus changes send the focusChanged signal. Bug #1957.
  • On Qt, mouse tracking is reenabled when the window is reshown. Bug #1948.
  • On Windows, the DirectWrite modes SC_TECHNOLOGY_DIRECTWRITEDC and SC_TECHNOLOGY_DIRECTWRITERETAIN are no longer provisional.

Release 3.7.6

  • Released 8 August 2017.
  • This is the first release of the long term branch which avoids using features from C++14 or later in order to support older systems.
  • The Baan lexer correctly highlights numbers when followed by an operator.
  • On Cocoa, fix a bug with retrieving encoded bytes.

Release 3.7.5

  • Released 26 May 2017.
  • Support dropped for Microsoft Visual C++ 2013 due to increased use of C++11 features.
  • Added a caret line frame as an alternative visual for highlighting the caret line.
  • Added "Reverse Selected Lines" feature.
  • SciTE adds "Select All Bookmarks" command.
  • SciTE adds a save.path.suggestion setting to suggest a file name when saving an unnamed buffer.
  • Updated case conversion and character categories to Unicode 9.
  • The Baan lexer recognizes numeric literals in a more compliant manner including hexadecimal numbers and exponentials.
  • The Bash lexer recognizes strings in lists in more cases. Bug #1944.
  • The Fortran lexer recognizes a preprocessor line after a line continuation &. Bug #1935.
  • The Fortran folder can fold comments. Bug #1936.
  • The PowerShell lexer recognizes escaped quotes in strings. Bug #1929.
  • The Python lexer recognizes identifiers more accurately when they include non-ASCII characters.
  • The Python folder treats comments at the end of the file as separate from the preceding structure.
  • The YAML lexer recognizes comments in more situations and styles a "..." line like a "---" line. Bug #1931.
  • Update scroll bar when annotations added, removed, or visibility changed. Feature #1187.
  • Canceling modes with the Esc key preserves a rectangular selection. Bug #1940.
  • Builds are made with a sorted list of lexers to be more reproducible. Bug #1946.
  • On Cocoa, a leak of mouse tracking areas was fixed.
  • On Cocoa, the autocompletion is 4 pixels wider to avoid text truncation.
  • On Windows, stop drawing a focus rectangle on the autocompletion list and raise the default list length to 9 items.
  • SciTE examines at most 1 MB of a file to automatically determine indentation for indent.auto to avoid a lengthy pause when loading very large files.
  • SciTE user interface uses lighter colours and fewer 3D elements to match current desktop environments.
  • SciTE sets buffer dirty and shows message when file deleted if load.on.activate on.
  • SciTE on Windows Find strip Find button works in incremental no-close mode. Bug #1926.

Release 3.7.4

  • Released 21 March 2017.
  • Requires a C++11 compiler. GCC 4.8 and MSVC 2015 are supported.
  • Support dropped for Windows NT 4.
  • Accessibility support may be queried with SCI_GETACCESSIBILITY. On GTK+, accessibility may be disabled by calling SCI_SETACCESSIBILITY.
  • Lexer added for "indent" language which is styled as plain text but folded by indentation level.
  • The Progress ABL lexer handles nested comments where comment starts or ends are adjacent like "/*/*" or "*/*/".
  • In the Python lexer, improve f-string support. Add support for multiline expressions in triple quoted f-strings. Handle nested "()", "[]", and "{}" in f-string expressions and terminate expression colouring at ":" or "!". End f-string if ending quote is seen in a "{}" expression. Fix terminating single quoted f-string at EOL. Bug #1918.
  • The VHDL folder folds an "entity" on the first line of the file.
  • For IMEs, do not clear selected text when there is no composition text to show.
  • Fix to crash with fold tags where line inserted at start.
  • Fix to stream selection mode when moving caret up or down. Bug #1905.
  • Drawing fixes for fold tags include fully drawing lines and not overlapping some drawing and ensuring edges and mark underlines are visible.
  • Fix Cocoa failure to display accented character chooser for European languages by partially reverting a change made to prevent a crash with Chinese input by special-casing the Cangjie input source. Bug #1881.
  • Fix potential problems with IME on Cocoa when document contains invalid UTF-8.
  • Fix crash on Cocoa with OS X 10.9 due to accessibility API not available. Bug #1915.
  • Improved speed of accessibility code on GTK+ by using additional memory as a cache. Bug #1910.
  • Fix crash in accessibility code on GTK+ < 3.3.6 caused by previous bug fix. Bug #1907.
  • Fix to prevent double scrolling on GTK+ with X11. Bug #1901.
  • SciTE on GTK+ adds an "accessibility" property to allow disabling accessibility on GTK+ as an optimization.
  • SciTE on GTK+ has changed file chooser behaviour for some actions: overwriting an existing file shows a warning; the default session file name "SciTE.session" is shown and a "*.session" filter is applied; appropriate filters are applied when exporting; the current file name is displayed in "Save As" even when that file no longer exists.
  • SciTE fixed a bug where, on GTK+, when the output pane had focus, menu commands performed by mouse were sent instead to the edit pane.
  • SciTE on Windows 8+ further restricts the paths searched for DLLs to the application and system directories which may prevent some binary planting attacks.
  • Fix failure to load Direct2D on Windows when used on old versions of Windows. Bug #1653.

Release 3.7.3

  • Released 19 February 2017.
  • Display block caret over the character at the end of a selection to be similar to other editors.
  • In SciTE can choose colours for fold markers. Feature #1172.
  • In SciTE can hide buffer numbers in tabs. Feature #1173.
  • The Diff lexer recognizes deleted lines that start with "--- ".
  • The Lua lexer requires the first line to start with "#!" to be treated as a shebang comment, not just "#". Bug #1900.
  • The Matlab lexer requires block comment start and end to be alone on a line. Bug #1902.
  • The Python lexer supports f-strings with new styles, allows Unicode identifiers, and no longer allows @1 to be a decorator. Bug #1848.
  • Fix folding inconsistency when fold header added above a folded part. Avoid unnecessary unfolding when a deletion does not include a line end. Bug #1896.
  • Fix finalization crash on Cocoa. Bug #1909.
  • SciTE on GTK+ can have a wide divider between the panes with the split.wide property.
  • Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland. Newer APIs used on GTK+ 3.22 as older APIs were deprecated.
  • Fix crash in accessibility code on GTK+ due to signal receipt after destruction. Bug #1907.
  • Make trackpad scrolling work on Wayland. Bug #1901.

Release 3.7.2

  • Released 30 December 2016.
  • Minimize redrawing for SCI_SETSELECTIONN* APIs. Bug #1888.
  • Use more precision to allow selecting individual lines in files with more than 16.7 million lines.
  • For Qt 5, define QT_WS_MAC or QT_WS_X11 on those platforms. Bug #1887.
  • For Cocoa, fix crash on view destruction with macOS 10.12.2. Bug #1891.
  • Fix crash on GTK+ <3.8 due to incorrect lifetime of accessibility object. More accurate reporting of attribute ranges and deletion lengths for accessibility.
  • In SciTE, if a Lua script causes a Scintilla failure exception, display error message in output pane instead of exiting. Bug #1773.

Release 3.7.1

  • Released 4 December 2016.
  • The Scintilla namespace is no longer applied to struct definitions in Scintilla.h even when SCI_NAMESPACE defined. Client code should not define SCI_NAMESPACE.
  • Structure names in Scintilla.h without prefixes are deprecated and will now only be usable with INCLUDE_DEPRECATED_FEATURES defined.
    Use the newer names with the "Sci_" prefix:
    CharacterRange → Sci_CharacterRange
    TextRange → Sci_TextRange
    TextToFind → Sci_TextToFind
    RangeToFormat → Sci_RangeToFormat
    NotifyHeader → Sci_NotifyHeader
  • Previously deprecated features SC_CP_DBCS, SCI_SETUSEPALETTE. and SCI_GETUSEPALETTE have been removed and can no longer be used in client code.
  • Accessibility support allowing screen readers to work added on GTK+ and Cocoa.
  • Textual tags may be displayed to the right on folded lines with SCI_TOGGLEFOLDSHOWTEXT. This is commonly something like "{ ... }" or "<tr>...</tr>". It is displayed with the STYLE_FOLDDISPLAYTEXT style and may have a box drawn around it with SCI_FOLDDISPLAYTEXTSETSTYLE.
  • A mouse right-click over the margin may send an SCN_MARGINRIGHTCLICK event. This only occurs when popup menus are turned off. SCI_USEPOPUP now has three states: SC_POPUP_NEVER, SC_POPUP_ALL, or SC_POPUP_TEXT.
  • INDIC_POINT and INDIC_POINTCHARACTER indicators added to display small arrows underneath positions or characters.
  • Added alternate appearance for visible tabs which looks like a horizontal line. Controlled with SCI_SETTABDRAWMODE. Feature #1165.
  • On Cocoa, a modulemap file is included to allow Scintilla to be treated as a module. This makes it easier to use Scintilla from the Swift language.
  • Baan folder accommodates sections and lexer fixes definition of SCE_BAAN_FUNCDEF.
  • EDIFACT lexer and folder added. Feature #1166.
  • JSON folder fixed where it didn't resume folding with the correct fold level.
  • Matlab folder based on syntax instead of indentation so more accurate. Bug #1692.
  • YAML lexer fixed style of references and keywords when followed by a comment. Bug #1872.
  • Margin click to select line now clears rectangular and additional selections.
  • Fixed a NULL access bug on GTK+ where the scrollbars could be used during destruction. Bug #1873.
  • A potential bug on GTK+ fixed where asynchronous clipboard could be delivered after its target Scintilla instance was destroyed.
  • Cocoa IME made more compliant with documented behaviour to avoid bugs that caused huge allocations. Bug #1881.
  • On Win32 fix EM_SETSEL to match Microsoft documentation.. Bug #1886.
  • SciTE on GTK+ allows localizing tool bar tool tips. Feature #1167.
  • SciTE on Windows restores focus to edit pane after closing user strip.
  • SciTE measures files larger that 2 GB which allows it to refuse to open huge files more consistently and to show better warning messages.

Release 3.7.0

  • Released 16 October 2016.
  • Word selection, navigation, and manipulation is now performed on characters instead of bytes leading to more natural behaviour for multi-byte encodings like UTF-8. For UTF-8 characters 0x80 and above, classification into word; punctuation; space; or line-end is based on the Unicode general category of the character and is not customizable. Bug #1832.
  • Two enums changed in Scintilla.iface which may lead to changed bindings. There were 2 FontQuality enums and the first is now PhasesDraw. The prefix for FoldAction was SC_FOLDACTION and is now SC_FOLDACTION_ which is similar to other enums. These changes do not affect the standard C/C++ binding.
  • EDGE_MULTILINE and SCI_MULTIEDGEADDLINE added to allow displaying multiple vertical edges simultaneously.
  • The number of margins can be changed with SCI_SETMARGINS.
  • Margin type SC_MARGIN_COLOUR added so that the application may choose any colour for a margin with SCI_SETMARGINBACKN.
  • On Win32, mouse wheel scrolling can be restricted to only occur when the mouse is within the window.
  • The WordList class in lexlib used by lexers adds an InListAbridged method for matching keywords that have particular prefixes and/or suffixes.
  • The Baan lexer was changed significantly with more lexical states, keyword sets, and support for abridged keywords.
  • The CoffeeScript lexer styles interpolated code in strings. Bug #1865.
  • The Progress lexer "progress" has been replaced with a new lexer "abl" (Advanced Business Language) with a different set of lexical states and more functionality. The lexical state prefix has changed from SCE_4GL_ to SCE_ABL_. Feature #1143.
  • The PowerShell lexer understands the grave accent escape character. Bug #1868.
  • The YAML lexer recognizes inline comments. Bug #1660.
  • SciTE on Windows can retain coloured selection when inactive with selection.always.visible property.
  • SciTE on Windows adds a state to close.on.find to close the find strip when a match is found.
  • Fix caret position after left or right movement with rectangular selection. Bug #1861.
  • In SciTE, optional prefix argument added to scite.ConstantName method. Bug #1860.
  • On Cocoa, include ILexer.h in the public headers of the framework. Bug #1855.
  • On Cocoa, allow subclass of SCIContentView to set cursor. Bug #1863.
  • On Cocoa, recognize the numeric keypad '+', '-', and '/' keys as SCK_ADD, SCK_SUBTRACT, and SCK_DIVIDE. Bug #1867.
  • On GTK+ 3.21+ fix incorrect font size in auto-completion list. Bug #1859.
  • Fix SciTE crash when command.mode ends with comma. Bug #1857.
  • SciTE on Windows has a full size toolbar icon for "Close".

Release 3.6.7

  • Released 4 September 2016.
  • C++11 range-based for loops used in SciTE so GCC 4.6 is now the minimum supported version.
  • SC_CHARSET_DEFAULT now means code page 1252 on Windows unless a code page is set. This prevents unexpected behaviour and crashes on East Asian systems where default locales are commonly DBCS. Projects which want to default to DBCS code pages in East Asian locales should set the code page and character set explicitly.
  • SCVS_NOWRAPLINESTART option stops left arrow from wrapping to the previous line. Most commonly wanted when virtual space is used. Bug #1648.
  • The C++ lexer can fold on #else and #elif with the fold.cpp.preprocessor.at.else property. Bug #210.
  • The errorlist lexer detects warnings from Visual C++ which do not contain line numbers.
  • The HTML lexer no longer treats "<?" inside a string in a script as potentially starting an XML document. Bug #767.
  • The HTML lexer fixes a problem resuming at a script start where the starting state continued past where it should. Bug #1849.
  • When inserting spaces for virtual space and the position is in indentation and tabs are enabled for indentation then use tabs. Bug #1850.
  • Fix fold expand when some child text not styled. Caused by fixes for Bug #1799. Bug #1842.
  • Fix key binding bug on Cocoa for control+. Bug #1854.
  • Fix scroll bar size warnings on GTK+ caused by #1831. Bug #1851.
  • Small fixes for GTK+ makefile. Bug #1844. Bug #1845. Bug #1846.
  • Fix SciTE indentation after code like "void function () {}".
  • Fix SciTE global regex replace of "^" with something which missed the line after empty lines with LF line ends. Bug #1839.
  • Fix SciTE on GTK+ 3.20 bug where toggle buttons on find and replace strips did not show active state. Bug #1853.

Release 3.6.6

  • Released 24 May 2016.
  • C++ 11 <regex> support built by default. Can be disabled by defining NO_CXX11_REGEX.
  • SciTE_USERHOME environment variable allows separate location for writeable properties files. Feature #965.
  • GObject introspection supports notify and command events.
  • The Progress lexer now allows comments preceded by a tab.
  • Scripts reading Scintilla.iface file include comments for enu and lex definitions. Bug #1829.
  • Fix crashes on GTK+ if idle work active when destroyed. Bug #1827.
  • Fixed bugs when used on GTK+ 3.20. Bug #1825. Bug #1831.
  • Fix SciTE search field background with dark theme on GTK+ 2.x. Bug #1826.
  • Fixed bug on Win32 that allowed resizing autocompletion from bottom when it was located above the caret.
  • On Win32, when using a screen reader and selecting text using Shift+Arrow, fix bug when scrolling made the caret stay at the same screen location so the screen reader did not speak the added or removed selection.

Release 3.6.5

  • Released 26 April 2016.
  • JSON lexer added. Feature #1140.
  • The C++ lexer fixes a bug with multi-line strings with line continuation where the string style overflowed after an edit. Bug #1824.
  • The Python lexer treats '@' as an operator except when it is the first visible character on a line. This is for Python 3.5.
  • The Rust lexer allows '?' as an operator. Feature #1146.
  • Doubled size of compiled regex buffer. Bug #1822.
  • For GTK+, the Super modifier key can be used in key bindings. Feature #1142.
  • For GTK+, fix some crashes when using multiple threads.
  • Platform layer font cache removed on GTK+ as platform-independent caches are used. This avoids the use of thread locking and initialization of threads so any GTK+ applications that rely on Scintilla initializing threads will have to do that themselves.
  • SciTE bug fixed with exported HTML where extra line shown. Bug #1816.
  • SciTE on Windows fixes bugs with pop-up menus in the find and replace strips. For the replace strip, menu choices change the state. For the find strip, menu choices are reflected in the appearance of their corresponding buttons.
  • SciTE on Windows on high DPI displays fixes the height of edit boxes in user strips.

Release 3.6.4

  • Released 13 March 2016.
  • SciTE allows setting the autocompletion type separator character.
  • The C++ folder folds code on '(' and ')' to allow multi-line calls to be folded. Feature #1138.
  • For the HTML lexer, limit the extent of Mako line comments to finish before the line end characters.
  • Folds unfolded when two fold regions are merged by either deleting an intervening line or changing its fold level by adding characters. This was fixed both in Scintilla and in SciTE's equivalent code. Bug #1799.
  • The Progress lexer supports hexadecimal numeric literals, single-line comments, abbreviated keywords and extends nested comments to unlimited levels.
  • Ruby lexer treats alternate hash key syntax "key:" as a symbol. Bug #1810.
  • Rust lexer handles bracketed Unicode string escapes like "\u{123abc}". Bug #1809.
  • For GTK+ on Windows fix 64-bit build which was broken in 3.6.3.
  • For Qt, release builds have assertions turned off.
  • For Qt on Windows, fix compilation failure for Qt 4.x.
  • IME target range displayed on Qt for OS X.
  • On Windows, make clipboard operations more robust by retrying OpenClipboard if it fails as this may occur when another application has opened the clipboard.
  • On Windows back out change that removed use of def file to ensure Scintilla_DirectFunction exported without name mangling. Bug #1813.
  • On GTK+ and Qt over Win32 in Korean fix bug caused by last release's word input change.
  • For SciTE, more descriptive error messages are displayed when there are problems loading the Lua startup script. Feature #1139.

Release 3.6.3

  • Released 18 January 2016.
  • Allow painting without first styling all visible text then styling in the background using idle-time. This helps performance when scrolling down in very large documents. Can also incrementally style after the visible area to the end of the document so that the document is already styled when the user scrolls to it.
  • Support GObject introspection on GTK+.
  • SciTE supports pasting to each selection with the selection.multipaste setting. Feature #1123.
  • SciTE can optionally display a read-only indicator on tabs and in the Buffers menu.
  • Bash lexer flags incomplete here doc delimiters as syntax errors. Bug #1789.
    Support added for using '#' in non-comment ways as is possible with zsh. Bug #1794.
    Recognize more characters as here-doc delimiters. Bug #1778.
  • Errorlist lexer highlights warning messages from the Microsoft linker.
  • Errorlist lexer fixes bug with final line in escape sequence recognition mode.
  • Lua lexer includes '&' and '|' bitwise operators for Lua 5.3. Bug #1790.
  • Perl lexer updated for Perl 5.20 and 5.22.
    Allow '_' for subroutine prototypes. Bug #1791.
    Double-diamond operator <<>>.
    Hexadecimal floating point literals.
    Repetition in list assignment. Bug #1793.
    Highlight changed subroutine prototype syntax for Perl 5.20. Bug #1797.
    Fix module ::-syntax when special characters such as 'x' are used.
    Added ' and " detection as prefix chars for x repetition operator. Bug #1800.
  • Visual Prolog lexer recognizes numbers more accurately and allows non-ASCII verbatim quoting characters. Feature #1130.
  • Send SCN_UPDATEUI with SC_UPDATE_SELECTION when the application changes multiple selection.
  • Expand folded areas before deleting fold header line. Bug #1796.
  • Treat Unicode line ends like common line ends when maintaining fold state.
  • Highlight whole run for hover indicator when wrapped. Bug #1784.
  • On Cocoa, fix crash when autocompletion list closed during scroll bounce-back. Bug #1788.
  • On Windows, fix non-BMP input through WM_CHAR and allow WM_UNICHAR to work with non-BMP characters and on non-Unicode documents. Bug #1779.
  • On Windows using DirectWrite, for ligatures and other character clusters, display caret and selections part-way through clusters so that the caret doesn't stick to the end of the cluster making it easier to understand editing actions.
  • On Windows, Scintilla no longer uses a .DEF file during linking as it duplicates source code directives.
  • On GTK+ and Qt, Korean input by word fixed.
  • On GTK+, Qt, and Win32 block IME input when document is read-only or any selected text is protected.
  • On GTK+ on OS X, fix warning during destruction. Bug #1777.
  • Fix SciTE crashes when using LPEG lexers.

Release 3.6.2

  • Released 6 November 2015.
  • Whitespace may be made visible just in indentation.
  • Whitespace dots are centred when larger than 1 pixel.
  • The Scintilla framework on Cocoa now contains version numbers.
  • SciTE's standard properties collect values from all active .properties file to produce the Language menu and the file types pull-down in the File open dialog.
  • The single executable version of SciTE, Sc1, uses 'module' statements within its embedded properties. This makes it act more like the full distribution allowing languages to be turned on and off by setting imports.include and imports.exclude. The default imports.exclude property adds eiffel, erlang, ps, and pov so these languages are turned off by default.
  • SciTE adds an output.blank.margin.left property to allow setting the output pane margin to a different width than the edit pane.
  • CoffeeScript lexer highlights ranges correctly. Bug #1765.
  • Markdown lexer treats line starts consistently to always highlight *foo* or similar at line start. Bug #1766.
  • Optimize marker redrawing by only drawing affected lines when markers shown in the text.
  • On Cocoa, timers and idling now work in modal dialogs. This also stops some crashes.
  • On Cocoa, fix crashes when deleting a ScintillaView. These crashes could occur when scrolling at the time the ScintillaView was deleted although there may have been other cases.
  • On GTK+ 2.x, fix height of lines in autocompletion lists. Bug #1774.
  • Fix bug with SCI_LINEENDDISPLAY where the caret moved to the next document line instead of the end of the display line. Bug #1772.
  • Report error (SC_STATUS_FAILURE) when negative length passed to SCI_SETSTYLING. Bug #1768.
  • When SC_MARK_UNDERLINE is not assigned to a margin, stop drawing the whole line.
  • When reverting an untitled document in SciTE, just clear it with no message about a file. Bug #1764.
  • SciTE on GTK+ allows use of Ctrl+A (Select All) inside find and replace strips. Bug #1769.

Release 3.6.1

  • Released 15 September 2015.
  • The oldest version of GTK+ supported now is 2.18 and for glib it is 2.22.
  • On GTK+, SC_CHARSET_OEM866 added to allow editing Russian files encoded in code page 866. Feature #1019.
  • On Windows, reconversion is performed when requested by the IME.
  • CoffeeScript lexer adds lexical class for instance properties and fixes some cases of regex highlighting. Bug #1749.
  • The errorlist lexer understands some ANSI escape sequences to change foreground colour and intensity. This is sufficient to colour diagnostic output from gcc and clang when -fdiagnostics-color set.
  • The errorlist lexer allows the line number to be 0 in GCC errors as some tools report whole file errors as line 0.
  • MySql lexer fixes empty comments /**/ so the comment state does not continue.
  • VHDL folder supports "protected" keyword.
  • Treat CRLF line end as two characters in SCI_COUNTCHARACTERS. Bug #1757.
  • On GTK+ 3.x, fix height of lines in autocompletion lists to match the font. Switch from deprecated style calls to CSS styling. Removed setting list colours on GTK+ 3.16+ as no longer appears needed.
  • On GTK+, avoid "Invalid rectangle passed" warning messages by never reporting the client rectangle with a negative width or height. Bug #1743.
  • On Cocoa, copy Sci_Position.h into the framework so clients can build.
  • On Cocoa fix bug with drag and drop that could lead to crashes. Bug #1751.
  • Fix SciTE disk exhaustion bug by reporting failures when writing files. Bug #1760.
  • Fix find strip in SciTE on Windows XP to be visible.
  • SciTE on Windows changes the way it detects that a tool has finished executing to ensure all output data from the process is read.
  • SciTE on Windows improves the time taken to read output from tools that produce a large amount of output by a factor of around 10.
  • On GTK+ the keyboard command for View | End of Line was changed to Ctrl+Shift+N to avoid clash with Search | Selection Add Next. Bug #1750.

Release 3.6.0

  • Released 3 August 2015.
  • External interfaces use the Sci_Position and Sci_PositionU typedefs instead of int and unsigned int to allow for changes to a 64-bit interface on 64-bit platforms in the future. Applications and external lexers should start using the new type names so that they will be compatible when the 64-bit change occurs. There is also Sci_PositionCR (long) for use in the Sci_CharacterRange struct which will also eventually become 64-bit.
  • Multiple selection now works over more key commands. The new multiple-selection handling commands include horizontal movement and selection commands, line up and down movement and selection commands, word and line deletion commands, and line end insertion. This change in behaviours is conditional on setting the SCI_SETADDITIONALSELECTIONTYPING property.
  • Autocompletion lists send an SCN_AUTOCCOMPLETED notification after the text has been inserted. Feature #1109.
  • The case mode style attribute can now be SC_CASE_CAMEL.
  • The Python lexer supports substyles for identifiers.
  • SciTE adds support for substyles.
  • SciTE's Export as RTF and Copy as RTF commands support UTF-8.
  • SciTE can display autocompletion on all IME input with ime.autocomplete property.
  • SciTE properties files now discard trailing white space on variable names.
  • Calling SCI_SETIDENTIFIERS resets styling to ensure any added identifier are highlighted.
  • Avoid candidate box randomly popping up away from edit pane with (especially Japanese) IME input.
  • On Cocoa fix problems with positioning of autocompletion lists near screen edge or under dock. Cancel autocompletion when window moved. Bug #1740.
  • Fix drawing problem when control characters are in a hidden style as they then have a zero width rectangle to draw but modify that rectangle in a way that clears some pixels.
  • Report error when attempt to resize buffer to more than 2GB with SC_STATUS_FAILURE.
  • Fix bug on GTK+ with scroll bars leaking. Bug #1742.
  • LexOthers.cxx file split into one file per lexer: LexBatch, LexDiff, LexErrorList, LexMake, LexNull, and LexProps.
  • SciTE exporters handle styles > 127 correctly now.
  • SciTE on Windows can scale window element sizes based on the system DPI setting.
  • SciTE implements find.in.files.close.on.find on all platforms, not just Windows.

Release 3.5.7

  • Released 20 June 2015.
  • Added SCI_MULTIPLESELECTADDNEXT to add the next occurrence of the main selection within the target to the set of selections as main. If the current selection is empty then select word around caret. SCI_MULTIPLESELECTADDEACH adds each occurrence of the main selection within the target to the set of selections.
  • SciTE adds "Selection Add Next" and "Selection Add Each" commands to the Search menu.
  • Added SCI_ISRANGEWORD to determine if the parameters are at the start and end of a word.
  • Added SCI_TARGETWHOLEDOCUMENT to set the target to the whole document.
  • Verilog lexer recognizes protected regions and the folder folds protected regions.
  • A performance problem with markers when deleting many lines was fixed. Bug #1733.
  • On Cocoa fix crash when ScintillaView destroyed if no autocompletion ever displayed. Bug #1728.
  • On Cocoa fix crash in drag and drop.
  • On GTK+ 3.4+, when there are both horizontal and vertical scrollbars, draw the lower-right corner so that it does not appear black when text selected. Bug #1611.
  • Fixed most calls deprecated in GTK+ 3.16. Does not fix style override calls as they are more complex.
  • SciTE on GTK+ 3.x uses a different technique for highlighting the search strip when there is no match which is more compatible with future and past versions and different themes.

Release 3.5.6

  • Released 26 May 2015.
  • On Qt, use fractional positioning calls and avoid rounding to ensure consistency.
  • SCI_TARGETASUTF8 and SCI_ENCODEDFROMUTF8 implemented on Win32 as well as GTK+ and Cocoa.
  • C++ lexer fixes empty backquoted string. Bug #1711.
  • C++ lexer fixes #undef directive. Bug #1719.
  • Fortran folder fixes handling of "selecttype" and "selectcase". Bug #1724.
  • Verilog folder folds interface definitions.
  • VHDL folder folds units declarations and fixes a case insensitivity bug with not treating "IS" the same as "is".
  • Fix bug when drawing text margins in buffered mode which would use default encoding instead of chosen encoding. Bug #1703.
  • Fix bug with Korean Hanja conversions in DBCS encoding on Windows.
  • Fix for reading a UTF-16 file in SciTE where a non-BMP character is split over a read buffer boundary. Bug #1710.
  • Fix bug on GTK+ 2.x for Windows where there was an ABI difference between compiler version. Bug #1726.
  • Fix undo bug on Cocoa that could lose data..
  • Fix link error on Windows when SCI_NAMESPACE used.
  • Fix exporting from SciTE when using Scintillua for lexing.
  • SciTE does not report twice that a search string can not be found when "Replace" pressed. Bug #1716.
  • SciTE on GTK+ 3.x disables arrow in search combo when no entries. Bug #1717.

Release 3.5.5

  • Released 17 April 2015.
  • Scintilla on Windows is now always a wide character window so SCI_SETKEYSUNICODE has no effect and SCI_GETKEYSUNICODE always returns true. These APIs are deprecated and should not be called.
  • The wxWidgets-specific ascent member of Font has been removed which breaks compatibility with current wxStyledTextCtrl. Bug #1682.
  • IME on Qt supports multiple carets and behaves more like other platforms.
  • Always use inline IME on GTK+ for Korean.
  • SQL lexer fixes handling of '+' and '-' in numbers so the '-' in '1-1' is seen as an operator and for '1--comment' the comment is recognized.
  • TCL lexer reverts change to string handling. Bug #1642.
  • Verilog lexer fixes bugs with macro styling. Verilog folder fixes bugs with `end completing an `if* instead of `endif and fold.at.else, and implements folding at preprocessor `else.
  • VHDL lexer supports extended identifiers.
  • Fix bug on Cocoa where the calltip would display incorrectly when switching calltips and the new calltip required a taller window.
  • Fix leak on Cocoa with autocompletion lists. Bug #1706.
  • Fix potential crash on Cocoa with drag and drop. Bug #1709.
  • Fix bug on Windows when compiling with MinGW-w64 which caused text to not be drawn when in wrap mode. Bug #1705.
  • Fix SciTE bug with missing file open filters and add hex to excluded set of properties files so that its settings don't appear. Bug #1707.
  • Fix SciTE bug where files without extensions like "makefile" were not highlighted correctly.

Release 3.5.4

  • Released 8 March 2015.
  • Indicators may have a different colour and style when the mouse is over them or the caret is moved into them.
  • An indicator may display in a large variety of colours with the SC_INDICFLAG_VALUEFORE flag taking the colour from the indicator's value, which may differ for every character, instead of its foreground colour attribute.
  • On Cocoa, additional IME methods implemented so that more commands are enabled. For Japanese: Reverse Conversion, Convert to Related Character, and Search Similar Kanji can now be performed. The global definition hotkey Command+Control+D and the equivalent three finger tap gesture can be used.
  • Minimum version of Qt supported is now 4.8 due to the use of QElapsedTimer::nsecsElapsed.
  • On Windows, for Korean, the VK_HANJA key is implemented to choose Hanja for Hangul and to convert from Hanja to Hangul.
  • C++ lexer adds lexer.cpp.verbatim.strings.allow.escapes option that allows verbatim (@") strings to contain escape sequences. This should remain off (0) for C# and be turned on (1) for Objective C.
  • Rust lexer accepts new 'is'/'us' integer suffixes instead of 'i'/'u'. Bug #1098.
  • Ruby folder can fold multiline comments. Bug #1697.
  • SQL lexer fixes a bug with the q-quote operator.
  • TCL lexer fixes a bug with some strings. Bug #1642.
  • Verilog lexer handles escaped identifiers that begin with \ and end with space like \reset* . Verilog folder fixes one bug with inconsistent folding when fold.comment is on and another with typedef class statements creating a fold point, expecting an endclass statement.
  • VHDL folder fixes hang in folding when document starts with "entity".
  • Add new indicators INDIC_COMPOSITIONTHIN, INDIC_FULLBOX, and INDIC_TEXTFORE. INDIC_COMPOSITIONTHIN is a thin underline that mimics the appearance of non-target segments in OS X IME. INDIC_FULLBOX is similar to INDIC_STRAIGHTBOX but covers the entire character area which means that indicators with this style on contiguous lines may touch. INDIC_TEXTFORE changes the text foreground colour.
  • Fix adaptive scrolling speed for GTK+ on OS X with GTK Quartz backend (as opposed to X11 backend). Bug #1696.
  • Fix position of autocompletion and calltips on Cocoa when there were two screens stacked vertically.
  • Fix crash in SciTE when saving large files in background when closing application. Bug #1691.
  • Fix decoding of MSVC warnings in SciTE so that files in the C:\Program Files (x86)\ directory can be opened. This is a common location of system include files.
  • Fix compilation failure of C++11 <regex> on Windows using gcc.

Release 3.5.3

  • Released 20 January 2015.
  • Support removed for Windows 95, 98, and ME.
  • Lexers added for Motorola S-Record files, Intel hex files, and Tektronix extended hex files with folding for Intel hex files. Feature #1091. Feature #1093. Feature #1095. Feature #1096.
  • C++ folder allows folding on square brackets '['. Feature #1087.
  • Shell lexer fixes three issues with here-documents. Bug #1672.
  • Verilog lexer highlights doc comment keywords; has separate styles for input, output, and inout ports (lexer.verilog.portstyling); fixes a bug in highlighting numbers; can treat upper-case identifiers as keywords (lexer.verilog.allupperkeywords); and can use different styles for code that is inactive due to preprocessor commands (lexer.verilog.track.preprocessor, lexer.verilog.update.preprocessor).
  • When the calltip window is taller than the Scintilla window, leave it in a position that avoids overlapping the Scintilla text.
  • When a text margin is displayed, for annotation lines, use the background colour of the base line.
  • On Windows GDI, assume font names are encoded in UTF-8. This matches the Direct2D code path.
  • Fix paste for GTK+ on OS X. Bug #1677.
  • Reverted a fix on Qt where Qt 5.3 has returned to the behaviour of 4.x. Bug #1575.
  • When the mouse is on the line between margin and text changed to treat as within text. This makes the PLAT_CURSES character cell platform work better.
  • Fix a crash in SciTE when the command line is just "-close:". Bug #1675.
  • Fix unexpected dialog in SciTE on Windows when the command line has a quoted filename then ends with a space. Bug #1673.
  • On Windows and GTK+, use indicators for inline IME.
  • SciTE shuts down quicker when there is no user-written OnClose function and no directors are attached.

Release 3.5.2

  • Released 2 December 2014.
  • For OS X Cocoa switch C++ runtime to libc++ to enable use of features that will never be added to libstdc++ including those part of C++11. Scintilla will now run only on OS X 10.7 or later and only in 64-bit mode.
  • Include support for using C++11 <regex> for regular expression searches. Enabling this requires rebuilding Scintilla with a non-default option. This is a provisional feature and may change API before being made permanent.
  • Allocate indicators used for Input Method Editors after 31 which was the previous limit of indicators to ensure no clash between the use of indicators for IME and for the application.
  • ANNOTATION_INDENTED added which is similar to ANNOTATION_BOXED in terms of positioning but does not show a border. Feature #1086.
  • Allow platform overrides for drawing tab arrows, wrap markers, and line markers. Size of double click detection area is a variable. These enable better visuals and behaviour for PLAT_CURSES as it is character cell based.
  • CoffeeScript lexer fixes "/*" to not be a comment. Bug #1420.
  • VHDL folder fixes "block" keyword. Bug #1664.
  • Prevent caret blinking when holding down Delete key. Bug #1657.
  • On Windows, allow right click selection in popup menu. Feature #1080.
  • On Windows, only call ShowCaret in GDI mode as it interferes with caret drawing when using Direct2D. Bug #1643.
  • On Windows, another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITEDC added which may avoid drawing failures in some circumstances by drawing into a GDI DC. This feature is provisional and may be changed or removed if a better solution is found.
  • On Windows, avoid processing mouse move events where the mouse has not moved as these can cause unexpected dwell start notifications. Bug #1670.
  • For GTK+ on Windows, avoid extra space when pasting from external application.
  • On GTK+ 2.x allow Scintilla to be used inside tool tips by changing when preedit window created. Bug #1662.
  • Support MinGW compilation under Linux. Feature #1077.

Release 3.5.1

  • Released 30 September 2014.
  • BibTeX lexer added. Feature #1071.
  • SQL lexer supports the q-quote operator as SCE_SQL_QOPERATOR(24).
  • VHDL lexer supports block comments. Bug #1527.
  • VHDL folder fixes case where "component" used before name. Bug #613.
  • Restore fractional pixel tab positioning which was truncated to whole pixels in 3.5.0. Bug #1652.
  • Allow choice between windowed and inline IME on some platforms.
  • On GTK+ cache autocomplete window to avoid platform bug where windows were sometimes lost. Bug #1649.
  • On GTK+ size autocomplete window more accurately.
  • On Windows only unregister windows classes registered. Bug #1639.
  • On Windows another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITERETAIN added which may avoid drawing failures on some cards and drivers. This feature is provisional and may be changed or removed if a better solution is found.
  • On Windows support the Visual Studio 2010+ clipboard format that indicates a line copy. Bug #1636.
  • SciTE session files remember the scroll position.

Release 3.5.0

  • Released 13 August 2014.
  • Text may share space vertically so that extreme ascenders and descenders are not cut off by calling SCI_SETPHASESDRAW(SC_PHASES_MULTIPLE).
  • Separate timers are used for each type of periodic activity and they are turned on and off as required. This saves power as there are fewer wake ups. On recent releases of OS X Cocoa and Windows, coalescing timers are used to further save power. Bug #1086. Bug #1532.
  • Explicit tab stops may be set for each line.
  • On Windows and GTK+, when using Korean input methods, IME composition is moved from a separate window into the Scintilla window.
  • SciTE adds a "Clean" command to the "Tools" menu which is meant to be bound to a command like "make clean".
  • Lexer added for Windows registry files.
  • HTML lexer fixes a crash with SGML after a Mako comment. Bug #1622.
  • KiXtart lexer adds a block comment state. Feature #1053.
  • Matlab lexer fixes transpose operations like "X{1}'". Bug #1629.
  • Ruby lexer fixes bugs with the syntax of symbols including allowing a symbol to end with '?'. Bug #1627.
  • Rust lexer supports byte string literals, naked CR can be escaped in strings, and files starting with "#![" are not treated as starting with a hashbang comment. Feature #1063.
  • Bug fixed where style data was stale when deleting a rectangular selection.
  • Bug fixed where annotations disappeared when SCI_CLEARDOCUMENTSTYLE called.
  • Bug fixed where selection not redrawn after SCI_DELWORDRIGHT. Bug #1633.
  • Change the function prototypes to be complete for functions exported as "C". Bug #1618.
  • Fix a memory leak on GTK+ with autocompletion lists. Bug #1638.
  • On GTK+, use the full character width for the overstrike caret for multibyte characters.
  • On Qt, set list icon size to largest icon. Add padding on OS X. Bug #1634.
  • On Qt, fix building on FreeBSD 9.2. Bug #1635.
  • On Qt, add a get_character method on the document. Feature #1064.
  • On Qt, add SCI_* for methods to ScintillaConstants.py. Feature #1065.
  • SciTE on GTK+ crash fixed with Insert Abbreviation command.
  • For SciTE with read-only files and are.you.sure=0 reenable choice to save to another location when using Save or Close commands.
  • Fix SciTE bug where toggle bookmark did not work after multiple lines with bookmarks merged. Bug #1617.

Release 3.4.4

  • Released 3 July 2014.
  • Style byte indicators removed. They were deprecated in 2007. Standard indicators should be used instead. Some elements used by lexers no longer take number of bits or mask arguments so lexers may need to be updated for LexAccessor::StartAt, LexAccessor::SetFlags (removed), LexerModule::LexerModule.
  • When multiple selections are active, autocompletion text may be inserted at each selection with new SCI_AUTOCSETMULTI method.
  • C++ lexer fixes crash for "#define x(". Bug #1614.
  • C++ lexer fixes raw string recognition so that R"xxx(blah)xxx" is styled as SCE_C_STRINGRAW.
  • The Postscript lexer no longer marks token edges with indicators as this used style byte indicators.
  • The Scriptol lexer no longer displays indicators for poor indentation as this used style byte indicators.
  • TCL lexer fixes names of keyword sets. Bug #1615.
  • Shell lexer fixes fold matching problem caused by "<<<". Bug #1605.
  • Fix bug where indicators were not removed when fold highlighting on. Bug #1604.
  • Fix bug on Cocoa where emoji were treated as being zero width.
  • Fix crash on GTK+ with Ubuntu 12.04 and overlay scroll bars.
  • Avoid creating a Cairo context when measuring text on GTK+ as future versions of GTK+ may prohibit calling gdk_cairo_create except inside drawing handlers. This prohibition may be required on Wayland.
  • On Cocoa, the registerNotifyCallback method is now marked as deprecated so client code that uses it will display an error message. Client code should use the delegate mechanism or subclassing instead. The method will be removed in the next version.
  • On Cocoa, package Scintilla more in compliance with platform conventions. Only publish public headers in the framework headers directory. Only define the Scintilla namespace in Scintilla.h when compiling as C++. Use the Cocoa NS_ENUM and NS_OPTIONS macros for exposed enumerations. Hide internal methods from public headers. These changes are aimed towards publishing Scintilla as a module which will allow it to be used from the Swift programming language, although more changes will be needed here.
  • Fix crash in SciTE when stream comment performed at line end. Bug #1610.
  • For SciTE on Windows, display error message when common dialogs fail. Bug #156.
  • For SciTE on GTK+ fix bug with initialization of toggle buttons in find and replace strips. Bug #1612.

Release 3.4.3

  • Released 27 May 2014.
  • Fix hangs and crashes in DLL at shutdown on Windows when using Direct2D.

Release 3.4.2

  • Released 22 May 2014.
  • Insertions can be filtered or modified by calling SCI_CHANGEINSERTION inside a handler for SC_MOD_INSERTCHECK.
  • DMIS lexer added. DMIS is a language for coordinate measuring machines. Feature #1049.
  • Line state may be displayed in the line number margin to aid in debugging lexing and folding with SC_FOLDFLAG_LINESTATE (128).
  • C++ lexer understands more preprocessor statements. #if defined SYMBOL is understood. Some macros with arguments can be understood and these may be predefined in keyword set 4 (keywords5 for SciTE) with syntax similar to CHECKVERSION(x)=(x<3). Feature #1051.
  • C++ lexer can highlight task marker keywords in comments as SCE_C_TASKMARKER.
  • C++ lexer can optionally highlight escape sequences in strings as SCE_C_ESCAPESEQUENCE.
  • C++ lexer supports Go back quoted raw string literals with lexer.cpp.backquoted.strings option. Feature #1047.
  • SciTE performs word and search match highlighting as an idle task to improve interactivity and allow use of these features on large files.
  • Bug fixed on Cocoa where previous caret lines were visible. Bug #1593.
  • Bug fixed where caret remained invisible when period set to 0. Bug #1592.
  • Fixed display flashing when scrolling with GTK+ 3.10. Bug #1567.
  • Fixed calls and constants deprecated in GTK+ 3.10.
  • Fixed bug on Windows where WM_GETTEXT did not provide data in UTF-16 for Unicode window. Bug #685.
  • For SciTE, protect access to variables used by threads with a mutex to prevent data races.
  • For SciTE on GTK+ fix thread object leaks. Display the version of GTK+ compiled against in the about box.
  • For SciTE on GTK+ 3.10, fix the size of the tab bar's content and use freedesktop.org standard icon names where possible.
  • For SciTE on Windows, fix bug where invoking help resubmitted the running program. Bug #272.
  • SciTE's highlight current word feature no longer matches the selection when it contains space.
  • For building SciTE in Visual C++, the win\SciTE.vcxproj project file should be used. The boundscheck directory and its project and solution files have been removed.

Release 3.4.1

  • Released 1 April 2014.
  • Display Unicode line ends as [LS], [PS], and [NEL] blobs.
  • Bug fixed where cursor down failed on wrapped lines. Bug #1585.
  • Caret positioning changed a little to appear inside characters less often by rounding the caret position to the pixel grid instead of truncating. Bug #1588.
  • Bug fixed where automatic indentation wrong when caret in virtual space. Bug #1586.
  • Bug fixed on Windows where WM_LBUTTONDBLCLK was no longer sent to window. Bug #1587.
  • Bug fixed with SciTE on Windows XP where black stripes appeared inside the find and replace strips.
  • Crash fixed in SciTE with recursive properties files. Bug #1507.
  • Bug fixed with SciTE where Ctrl+E before an unmatched end brace jumps to file start. Bug #315.
  • Fixed scrolling on Cocoa to avoid display glitches and be smoother.
  • Fixed crash on Cocoa when character composition used when autocompletion list active.

Release 3.4.0

  • Released 22 March 2014.
  • The Unicode line ends and substyles features added as provisional in 3.2.5 are now finalized. There are now no provisional features.
  • Added wrap mode SC_WRAP_WHITESPACE which only wraps on whitespace, not on style changes.
  • SciTE find and replace strips can perform incremental searching and temporary highlighting of all matches with the find.strip.incremental, replace.strip.incremental, and find.indicator.incremental settings.
  • SciTE default settings changed to use strips for find and replace and to draw with Direct2D and DirectWrite on Windows.
  • SciTE on Windows scales image buttons on the find and replace strips to match the current system scale factor.
  • Additional assembler lexer variant As(SCLEX_AS) for Unix assembly code which uses '#' for comments and ';' to separate statements.
  • Fix Coffeescript lexer for keyword style extending past end of word. Also fixes styling 0...myArray.length all as a number. Bug #1583.
  • Fix crashes and other bugs in Fortran folder by removing folding of do-label constructs.
  • Deleting a whole line deletes the annotations on that line instead of the annotations on the next line. Bug #1577.
  • Changed position of tall calltips to prefer lower half of screen to cut off end instead of start.
  • Fix Qt bug where double click treated as triple click. Bug #1575.
  • On Qt, selecting an item in an autocompletion list that is not currently visible positions it at the top.
  • Fix bug on Windows when resizing autocompletion list with only short strings caused the list to move.
  • On Cocoa reduce scrollable height by one line to fix bugs with moving caret up or down.
  • On Cocoa fix calltips which did not appear when they were created in an off-screen position.

Release 3.3.9

  • Released 31 January 2014.
  • Fix 3.3.8 bug where external lexers became inaccessible. Bug #1574.

Release 3.3.8

  • Released 28 January 2014.
  • DropSelectionN API added to drop a selection from a multiple selection.
  • CallTipSetPosStart API added to change the position at which backspacing removes the calltip.
  • SC_MARK_BOOKMARK marker symbol added which looks like bookmark ribbons used in book reading applications.
  • Basic lexer highlights hex, octal, and binary numbers in FreeBASIC which use the prefixes &h, &o and &b respectively. Feature #1041.
  • C++ lexer fixes bug where keyword followed immediately by quoted string continued keyword style. Bug #1564.
  • Matlab lexer treats '!' differently for Matlab and Octave languages. Bug #1571.
  • Rust lexer improved with nested comments, more compliant doc-comment detection, octal literals, NUL characters treated as valid, and highlighting of raw string literals and float literals fixed. Feature #1038. Bug #1570.
  • On Qt expose the EOLMode on the document object.
  • Fix hotspot clicking where area was off by half a character width. Bug #1562.
  • Tweaked scroll positioning by either 2 pixels or 1 pixel when caret is at left or right of view to ensure caret is inside visible area.
  • Send SCN_UPDATEUI with SC_UPDATE_SELECTION for Shift+Tab inside text.
  • On Windows update the system caret position when scrolling to help screen readers see the scroll quickly.
  • On Cocoa, GTK+, and Windows/Direct2D draw circles more accurately so that circular folding margin markers appear circular, of consistent size, and centred. Make SC_MARK_ARROWS drawing more even. Fix corners of SC_MARK_ROUNDRECT with Direct2D to be similar to other platforms.
  • SciTE uses a bookmark ribbon symbol for bookmarks as it scales better to higher resolutions than the previous blue gem bitmap.
  • SciTE will change the width of margins while running when the margin.width and fold.margin.width properties are changed.
  • SciTE on Windows can display a larger tool bar with the toolbar.large property.
  • SciTE displays a warning message when asked to open a directory. Bug #1568.

Release 3.3.7

  • Released 12 December 2013.
  • Lexer added for DMAP language. Feature #1026.
  • Basic lexer supports multiline comments in FreeBASIC. Feature #1023.
  • Bash lexer allows '#' inside words.. Bug #1553.
  • C++ lexer recognizes C++11 user-defined literals and applies lexical class SCE_C_USERLITERAL.
  • C++ lexer allows single quote characters as digit separators in numeric literals like 123'456 as this is included in C++14.
  • C++ lexer fixes bug with #include statements without " or > terminating filename. Bug #1538.
  • C++ lexer fixes split of Doxygen keywords @code{.fileExtension} and @param[in,out]. Bug #1551.
  • C++ lexer styles Doxygen keywords at end of document.
  • Cmake lexer fixes bug with empty comments. Bug #1550.
  • Fortran folder improved. Treats "else" as fold header. Feature #962.
  • Fix bug with adjacent instances of the same indicator with different values where only the first was drawn. Bug #1560.
  • For DirectWrite, use the GDI ClearType gamma value for SC_EFF_QUALITY_LCD_OPTIMIZED as this results in text that is similar in colour intensity to GDI. For the duller default DirectWrite ClearType text appearance, use SC_EFF_QUALITY_DEFAULT. Feature #887.
  • Fix another problem with drawing on Windows with Direct2D when returning from lock screen. The whole window is redrawn as just redrawing the initially required area left other areas black.
  • When scroll width is tracked, take width of annotation lines into account.
  • For Cocoa on OS X 10.9, responsive scrolling is supported.
  • On Cocoa, apply font quality setting to line numbers. Bug #1544.
  • On Cocoa, clicking in margin now sets focus. Bug #1542.
  • On Cocoa, correct cursor displayed in margin after showing dialog.
  • On Cocoa, multipaste mode now works. Bug #1541.
  • On GTK+, chain up to superclass finalize so that all finalization is performed. Bug #1549.
  • On GTK+, fix horizontal scroll bar range to not be double the needed width. Bug #1546.
  • On OS X GTK+, report control key as SCI_META for mouse down events.
  • On Qt, bug fixed with drawing of scrollbars, where previous contents were not drawn over with some themes.
  • On Qt, bug fixed with finding monitor rectangle which could lead to autocomplete showing at wrong location.
  • SciTE fix for multiple message boxes when failing to save a file with save.on.deactivate. Bug #1540.
  • SciTE on GTK+ fixes SIGCHLD handling so that Lua scripts can determine the exit status of processes they start. Bug #1557.
  • SciTE on Windows XP fixes bad display of find and replace values when using strips.

Release 3.3.6

  • Released 15 October 2013.
  • Added functions to help convert between substyles and base styles and between secondary and primary styles. SCI_GETSTYLEFROMSUBSTYLE finds the base style of substyles. Can be used to treat all substyles of a style equivalent to that style. SCI_GETPRIMARYSTYLEFROMSTYLE finds the primary style of secondary styles. StyleFromSubStyle and PrimaryStyleFromStyle methods were added to ILexerWithSubStyles so each lexer can implement these.
  • Lexer added for Rust language. Feature #1024.
  • Avoid false matches in errorlist lexer which is used for the SciTE output pane by stricter checking of ctags lines.
  • Perl lexer fixes bugs with multi-byte characters, including in HEREDOCs and PODs. Bug #1528.
  • SQL folder folds 'create view' statements. Feature #1020.
  • Visual Prolog lexer updated with better support for string literals and Unicode. Feature #1025.
  • For SCI_SETIDENTIFIERS, \t, \r, and \n are allowed as well as space between identifiers. Bug #1521.
  • Gaining and losing focus is now reported as a notification with the code set to SCN_FOCUSIN or SCN_FOCUSOUT. This allows clients to uniformly use notifications instead of commands. Since there is no longer a need for commands they will be deprecated in a future version. Clients should switch any code that currently uses SCEN_SETFOCUS or SCEN_KILLFOCUS.
  • On Cocoa, clients should use the delegate mechanism or subclass ScintillaView in preference to registerNotifyCallback: which will be deprecated in the future.
  • On Cocoa, the ScintillaView.h header hides internal implementation details from Platform.h and ScintillaCocoa.h. InnerView was renamed to SCIContentView and MarginView was renamed to SCIMarginView. dealloc removed from @interface.
  • On Cocoa, clients may customize SCIContentView by subclassing both SCIContentView and ScintillaView and implementing the contentViewClass class method on the ScintillaView subclass to return the class of the SCIContentView subclass.
  • On Cocoa, fixed appearance of alpha rectangles to use specified alpha and colour for outline as well as corner size. This makes INDIC_STRAIGHTBOX and INDIC_ROUNDBOX look correct.
  • On Cocoa, memory leak fixed for MarginView.
  • On Cocoa, make drag and drop work when destination view is empty. Bug #1534.
  • On Cocoa, drag image fixed when view scrolled.
  • On Cocoa, SCI_POSITIONFROMPOINTCLOSE fixed when view scrolled. Feature #1021.
  • On Cocoa, don't send selection change notification when scrolling. Bug #1522.
  • On Qt, turn off idle events on destruction to prevent repeatedly calling idle.
  • Qt bindings in ScintillaEdit changed to use signed first parameter.
  • Compilation errors fixed on Windows and GTK+ with SCI_NAMESPACE.
  • On Windows, building with gcc will check if Direct2D headers are available and enable Direct2D if they are.
  • Avoid attempts to redraw empty areas when lexing beyond the currently visible lines.
  • Control more attributes of indicators in SciTE with find.mark.indicator and highlight.current.word.indicator properties.
  • Fix SciTE bug with buffers becoming read-only. Bug #1525.
  • Fix linking SciTE on non-Linux Unix systems with GNU toolchain by linking to libdl. Bug #1523.
  • On Windows, SciTE's Incremental Search displays match failures by changing the background colour instead of not adding the character that caused failure.
  • Fix SciTE on GTK+ 3.x incremental search to change foreground colour when no match as changing background colour is difficult.

Release 3.3.5

  • Released 31 August 2013.
  • Characters may be represented by strings. In Unicode mode C1 control characters are represented by their mnemonics.
  • Added SCI_POSITIONRELATIVE to optimize navigation by character.
  • Option to allow mouse selection to switch to rectangular by pressing Alt after start of gesture. Feature #1007.
  • Lexer added for KVIrc script. Feature #1008.
  • Bash lexer fixed quoted HereDoc delimiters. Bug #1500.
  • MS SQL lexer fixed ';' to appear as an operator. Bug #1509.
  • Structured Text lexer fixed styling of enumeration members. Bug #1508.
  • Fixed bug with horizontal caret position when margin changed. Bug #1512.
  • Fixed bug on Cocoa where coordinates were relative to text subview instead of whole view.
  • Ensure selection redrawn correctly in two cases. When switching from stream to rectangular selection with Alt+Shift+Up. When reducing the range of an additional selection by moving mouse up. Feature #1007.
  • Copy and paste of rectangular selections compatible with Borland Delphi IDE on Windows. Feature #1002. Bug #1513.
  • Initialize extended styles to the default style.
  • On Windows, fix painting on an explicit HDC when first paint attempt abandoned.
  • Qt bindings in ScintillaEdit made to work on 64-bit Unix systems.
  • Easier access to printing on Qt with formatRange method.
  • Fixed SciTE failure to save initial buffer in single buffer mode. Bug #1339.
  • Fixed compilation problem with Visual C++ in non-English locales. Bug #1506.
  • Disable Direct2D when compiling with MinGW gcc on Windows because of changes in the recent MinGW release.
  • SciTE crash fixed for negative line.margin.width. Bug #1504.
  • SciTE fix for infinite dialog boxes when failing to automatically save a file. Bug #1503.
  • SciTE settings buffered.draw, two.phase.draw, and technology are applied to the output pane as well as the edit pane.

Release 3.3.4

  • Released 19 July 2013.
  • Handling of UTF-8 and DBCS text in lexers improved with methods ForwardBytes and GetRelativeCharacter added to StyleContext. Bug #1483.
  • For Unicode text, case-insensitive searching and making text upper or lower case is now compliant with Unicode standards on all platforms and is much faster for non-ASCII characters.
  • A CategoriseCharacter function was added to return the Unicode general category of a character which can be useful in lexers.
  • On Cocoa, the LCD Optimized font quality level turns font smoothing on.
  • SciTE 'immediate' subsystem added to allow scripts that work while tools are executed.
  • Font quality exposed in SciTE as font.quality setting.
  • On Cocoa, message:... methods simplify direct access to Scintilla and avoid call layers..
  • A68K lexer updated.
  • CoffeeScript lexer fixes a bug with comment blocks. Bug #1495
  • ECL lexer regular expression code fixed. Bug #1491.
  • errorlist lexer only recognizes Perl diagnostics when there is a filename between "at" and "line". Had been triggering for MSVC errors containing "at line".
  • Haskell lexer fixed to avoid unnecessary full redraws. Don't highlight CPP inside comments when styling.within.preprocessor is on. Bug #1459.
  • Lua lexer fixes bug in labels with UTF-8 text. Bug #1483.
  • Perl lexer fixes bug in string interpolation with UTF-8 text. Bug #1483.
  • Fixed bugs with case conversion when the result was longer or shorter than the original text. Could access past end of string potentially crashing. Selection now updated to result length.
  • Fixed bug where data being inserted and removed was not being reported in notification messages. Bug was introduced in 3.3.2.
  • Word wrap bug fixed where the last line could be shown twice.
  • Word wrap bug fixed for lines wrapping too short on Windows and GTK+.
  • Word wrap performance improved.
  • Minor memory leak fixed. Bug #1487.
  • On Cocoa, fixed insertText: method which was broken when implementing a newer protocol.
  • On Cocoa, fixed a crash when performing string folding for bytes that do not represent a character in the current encoding.
  • On Qt, fixed layout problem when QApplication construction delayed.
  • On Qt, find_text reports failure with -1 as first element of return value.
  • Fixed SciTE on GTK+ bug where a tool command could be performed using the keyboard while one was already running leading to confusion and crashes. Bug #1486.
  • Fixed SciTE bug in Copy as RTF which was limited to first 32 styles. Bug #1011.
  • Fixed SciTE on Windows user strip height when the system text scaling factor is 125% or 150%.
  • Compile time checks for Digital Mars C++ removed.
  • Visual C++ 2013 supported. Bug #1492.
  • Python scripts used for building and maintenance improved and moved into scripts directory.
  • Testing scripts now work on Linux using Qt and PySide.
  • Tk platform defined. Implementation for Tk will be available separately from main Scintilla distribution.

Release 3.3.3

  • Released 2 June 2013.
  • Lexer and folder added for Structured Text language. Feature #959.
  • Out of bounds access fixed for GTK+. Bug #1480.
  • Crash fixed for GTK+ on Windows paste.
  • Bug fixed with incorrect event copying on GTK+ 3.x. Bug #1481.
  • Bug fixed with right to left locales, like Hebrew, on GTK+. Bug #1477.
  • Bug fixed with undo grouping of tab and backtab commands. Bug #1478.

Release 3.3.2

  • Released 22 May 2013.
  • Basic implementations of common folding methods added to Scintilla to make it easier for containers to implement folding.
  • Add indicator INDIC_COMPOSITIONTHICK, a thick low underline, to mimic an appearance used for Asian language input composition.
  • On Cocoa, implement font quality setting. Feature #988.
  • On Cocoa, implement automatic enabling of commands and added clear command. Feature #987.
  • C++ lexer adds style for preprocessor doc comment. Feature #990.
  • Haskell lexer and folder improved. Separate mode for literate Haskell "literatehaskell" SCLEX_LITERATEHASKELL. Bug #1459 .
  • LaTeX lexer bug fixed for Unicode character following '\'. Bug #1468 .
  • PowerShell lexer recognizes here strings and doccomment keywords. #region folding added. Feature #985.
  • Fix multi-typing when two carets are located in virtual space on one line so that spaces are preserved.
  • Fixes to input composition on Cocoa and implementation of accented character input through press and hold. Set selection correctly so that changes to pieces of composition text are easier to perform. Restore undo collection after a sequence of composition actions. Composition popups appear near input.
  • Fix lexer problem where no line end was seen at end of document.
  • Fix crash on Cocoa when view deallocated. Bug #1466.
  • Fix Qt window positioning to not assume the top right of a monitor is at 0, 0.
  • Fix Qt to not track mouse when widget is hidden.
  • Qt now supports Qt 5.0. Bug #1448.
  • Fix drawing on Windows with Direct2D when returning from lock screen. The render target had to be recreated and an area would be black since the drawing was not retried.
  • Fix display of DBCS documents on Windows Direct2D/DirectWrite with default character set.
  • For SciTE on Windows, fixed most-recently-used menu when files opened through check.if.already.opened.
  • In SciTE, do not call OnSave twice when files saved asynchronously.
  • Scintilla no longer builds with Visual C++ 6.0.

Release 3.3.1

  • Released 11 April 2013.
  • Autocompletion lists can now appear in priority order or be sorted by Scintilla. Feature #981.
  • Most lexers now lex an extra NUL byte at the end of the document which makes it more likely they will classify keywords at document end correctly. Bug #574, Bug #588.
  • Haskell lexer improved in several ways. Bug #1459.
  • Matlab/Octave lexer recognizes block comments and ... comments. Bug #1414.
  • Ruby lexer crash fixed with keyword at start of document.
  • The PLAT_NCURSES platform now called PLAT_CURSES as may work on other implementations.
  • Bug on Cocoa fixed where input composition with multiple selection or virtual space selection could make undo stop working.
  • Direct2D/DirectWrite mode on Windows now displays documents in non-Latin1 8-bit encodings correctly.
  • Character positioning corrected in Direct2D/DirectWrite mode on Windows to avoid text moving and cutting off lower parts of characters.
  • Position of calltip and autocompletion lists fixed on Cocoa.
  • While regular expression search in DBCS text is still not working, matching partial characters is now avoided by moving end of match to end of character.

Release 3.3.0

  • Released 30 March 2013.
  • Overlay scrollers and kinetic scrolling implemented on Cocoa.
  • To improve display smoothness, styling and UI Update notifications will, when possible, be performed in a high-priority idle task on Cocoa instead of during painting. Performing these jobs inside painting can cause paints to be abandoned and a new paint scheduled. On GTK+, the high-priority idle task is used in more cases.
  • SCI_SCROLLRANGE added to scroll the view to display a range of text. If the whole range can not be displayed, priority is given to one end.
  • C++ lexer no longer recognizes raw (R"") strings when the first character after " is invalid. Bug #1454.
  • HTML lexer recognizes JavaScript RegEx literals in more contexts. Bug #1412.
  • Fixed automatic display of folded text when return pressed at end of fold header and first folded line was blank. Bug #1455.
  • SCI_VISIBLEFROMDOCLINE fixed to never return a line beyond the document end.
  • SCI_LINESCROLL fixed for a negative column offset. Bug #1450.
  • On GTK+, fix tab markers so visible if indent markers are visible. Bug #1453.

Release 3.2.5

  • Released 26 February 2013.
  • To allow cooperation between different uses of extended (beyond 255) styles they should be allocated using SCI_ALLOCATEEXTENDEDSTYLES.
  • For Unicode documents, lexers that use StyleContext will retrieve whole characters instead of bytes. LexAccessor provides a LineEnd method which can be a more efficient way to handle line ends and can enable Unicode line ends.
  • The C++ lexer understands the #undef directive when determining preprocessor definitions. Feature #978.
  • The errorlist lexer recognizes gcc include path diagnostics that appear before an error.
  • Folding implemented for GetText (PO) translation language. Bug #1437.
  • HTML lexer does not interrupt comment style for processing instructions. Bug #1447.
  • Fix SciTE forgetting caret x-position when switching documents. Bug #1442.
  • Fixed bug where vertical scrollbar thumb appeared at beginning of document when scrollbar shown. Bug #1446.
  • Fixed brace-highlighting bug on OS X 10.8 where matching brace is on a different line.
  • Provisional features are new features that may change or be removed if they cause problems but should become permanent if they work well. For this release Unicode line ends and substyles are provisional features.

Release 3.2.4

  • Released 17 January 2013.
  • Caret line highlight can optionally remain visible when window does not have focus. Feature #964.
  • Delegate mechanism for notifications added on Cocoa.
  • NUL characters in selection are copied to clipboard as spaces to avoid truncating at the NUL. Bug #1289.
  • C++ lexer fixes problem with showing inactive sections when preprocessor lines contain trailing comment. Bug #1413.
  • C++ lexer fixes problem with JavaScript regular expressions with '/' in character ranges. Bug #1415.
  • LaTeX folder added. Feature #970.
  • LaTeX lexer improves styling of math environments. Feature #970.
  • MySQL lexer implements hidden commands.
  • Only produce a single undo step when autocompleting a single word. Bug #1421.
  • Fixed crash when printing lines longer than 8000 characters. Bug #1430.
  • Fixed problem in character movement extends selection mode where reversing direction collapsed the selection.
  • Memory issues fixed on Cocoa, involving object ownership, lifetime of timers, and images held by the info bar. Bug #1436.
  • Cocoa key binding for Alt+Delete changed to delete previous word to be more compatible with platform standards.
  • Fixed crash on Cocoa with scrollbar when there is no scrolling possible. Bug #1416.
  • On Cocoa with retina display fixed positioning of autocompletion lists.
  • Fixed SciTE on Windows failure to run a batch file with a name containing a space by quoting the path in the properties file. Bug #1423.
  • Fixed scaling bug when printing on GTK+. Bug #1427.
  • SciTE on GTK toolbar.detachable feature removed.
  • Fixed some background saving bugs in SciTE. Bug #1366. Bug #1339.

Release 3.2.3

  • Released 21 October 2012.
  • Improve speed when performing multiple searches.
  • SciTE adds definition of PLAT_UNIX for both PLAT_GTK and PLAT_MAC to allow consolidation of settings valid on all Unix variants.
  • Signal autoCompleteCancelled added on Qt.
  • Bash lexer supports nested delimiter pairs. Feature #3569352. Bug #1515556. Bug #3008483. Bug #3512208. Bug #3515392.
  • For C/C++, recognize exponent in floating point hexadecimal literals. Bug #3576454.
  • For C #include statements, do not treat // in the path as a comment. Bug #3519260.
  • Lexer for GetText translations (PO) improved with additional styles and single instance limitation fixed.
  • Ruby for loop folding fixed. Bug #3240902. Bug #3567391.
  • Ruby recognition of here-doc after class or instance variable fixed. Bug #3567809.
  • SQL folding of loop and case fixed. Bug #3567905.
  • SQL folding of case with assignment fixed. Bug #3571820.
  • Fix hang when removing all characters from indicator at end of document.
  • Fix failure of \xhh in regular expression search for values greater than 0x79.
  • On Cocoa on OS X 10.8, fix inverted drawing of find indicator.
  • On Cocoa, fix double drawing when horizontal scroll range small and user swipes horizontally.
  • On Cocoa, remove incorrect setting of save point when reading information through 'string' and 'selectedString'.
  • On Cocoa, fix incorrect memory management of infoBar.
  • On GTK+ 3 Ubuntu, fix crash when drawing margin.
  • On ncurses, fix excessive spacing with italics line end.
  • On Windows, search for D2D1.DLL and DWRITE.DLL in system directory to avoid loading from earlier in path where could be planted by malware.

Release 3.2.2

  • Released 31 August 2012.
  • Retina display support for Cocoa. Text size fixed. Scale factor for images implemented so they can be displayed in high definition.
  • Implement INDIC_SQUIGGLEPIXMAP as a faster version of INDIC_SQUIGGLE. Avoid poor drawing at right of INDIC_SQUIGGLE. Align INDIC_DOTBOX to pixel grid for full intensity.
  • Implement SCI_GETSELECTIONEMPTY API. Bug #3543121.
  • Added SCI_VCHOMEDISPLAY and SCI_VCHOMEDISPLAYEXTEND key commands. Feature #3561433.
  • Allow specifying SciTE Find in Files directory with find.in.directory property. Feature #3558594.
  • Override SciTE global strip.trailing.spaces with strip.trailing.spaces by pattern files. Feature #3556320.
  • Fix long XML script tag handling in XML lexer. Bug #3534190.
  • Fix rectangular selection range after backspace. Bug #3543097.
  • Send SCN_UPDATEUI with SC_UPDATE_SELECTION for backspace in virtual space. Bug #3543121.
  • Avoid problems when calltip highlight range is negative. Bug #3545938.
  • On Cocoa, fix image drawing code so that image is not accessed after being freed and is drawn in the correct location.
  • On Cocoa, limit horizontal touch scrolling to existing established width.
  • On Cocoa, decrease sensitivity of pinch-zoom.
  • Fix Cocoa drawing where style changes were not immediately visible.
  • Fix Cocoa memory leak due to reference cycle.
  • Fix Cocoa bug where notifications were sent after Scintilla was freed.
  • SciTE on OS X user shortcuts treats "Ctrl+D" as equivalent to "Ctrl+d".
  • On Windows, saving SciTE's Lua startup script causes it to run.
  • Limit time allowed to highlight current word in SciTE to 0.25 seconds to remain responsive.
  • Fixed SciTE read-only mode to stick with buffer.
  • For SciTE on Windows, enable Ctrl+Z, Ctrl+X, and Ctrl+C (Undo, Cut, and Copy) in the editable fields of find and replace strips
  • Remove limit on logical line length in SciTE .properties files. Bug #3544312.
  • Improve performance of SciTE Save As command.
  • Fix SciTE crash with empty .properties files. Bug #3545938. Bug #3555308.
  • Fix repeated letter in SciTE calltips. Bug #3545938.
  • Refine build time checking for Direct2D and DirectWrite.
  • Avoid potential build problems on Windows with MultiMon.h by explicitly checking for multi-monitor APIs.
  • Automatically disable themed drawing in SciTE when building on Windows 2000. Reenable building for Windows NT 4 on NT 4 .
  • Added ncurses platform definitions. Implementation is maintained separately as Scinterm.

Release 3.2.1

  • Released 14 July 2012.
  • In Scintilla.iface, specify features as properties instead of functions where possible and fix some enumerations.
  • In SciTE Lua scripts, string properties in Scintilla API can be retrieved as well as set using property notation.
  • Added character class APIs: SCI_SETPUNCTUATIONCHARS, SCI_GETWORDCHARS, SCI_GETWHITESPACECHARS, and SCI_GETPUNCTUATIONCHARS. Feature #3529805.
  • Less/Hss support added to CSS lexer. Feature #3532413.
  • C++ lexer style SCE_C_PREPROCESSORCOMMENT added for stream comments in preprocessor. Bug #3487406.
  • Fix incorrect styling of inactive code in C++ lexer. Bug #3533036.
  • Fix incorrect styling by C++ lexer after empty lines in preprocessor style.
  • C++ lexer option "lexer.cpp.allow.dollars" fixed so can be turned off after being on. Bug #3541461.
  • Fortran fixed format lexer fixed to style comments from column 73. Bug #3540486.
  • Fortran folder folds CRITICAL .. END CRITICAL. Bug #3540486.
  • Fortran lexer fixes styling after comment line ending with '&'. Bug #3087226.
  • Fortran lexer styles preprocessor lines so they do not trigger incorrect folding. Bug #2906275.
  • Fortran folder fixes folding of nested ifs. Bug #2809176.
  • HTML folder fixes folding of CDATA when fold.html.preprocessor=0. Bug #3540491.
  • On Cocoa, fix autocompletion font lifetime issue and row height computation.
  • In 'choose single' mode, autocompletion will close an existing list if asked to display a single entry list.
  • Fixed SCI_MARKERDELETE to only delete one marker per call. Bug #3535806.
  • Properly position caret after undoing coalesced delete operations. Bug #3523326.
  • Ensure margin is redrawn when SCI_MARGINSETSTYLE called.
  • Fix clicks in first pixel of margins to send SCN_MARGINCLICK.
  • Fix infinite loop when drawing block caret for a zero width space character at document start.
  • Crash fixed for deleting negative range.
  • For characters that overlap the beginning of their space such as italics descenders and bold serifs, allow start of text to draw 1 pixel into margin. Bug #699587. Bug #3537799.
  • Fixed problems compiling Scintilla for Qt with GCC 4.7.1 x64.
  • Fixed problem with determining GTK+ sub-platform caused when adding Qt support in 3.2.0.
  • Fix incorrect measurement of untitled file in SciTE on Linux leading to message "File ...' is 2147483647 bytes long". Bug #3537764.
  • In SciTE, fix open of selected filename with line number to go to that line.
  • Fix problem with last visible buffer closing in SciTE causing invisible buffers to be active.
  • Avoid blinking of SciTE's current word highlight when output pane changes.
  • SciTE properties files can be longer than 60K.

Release 3.2.0

  • Released 1 June 2012.
  • Platform layer added for the Qt open-source cross-platform application and user interface framework for development in C++ or in Python with the PySide bindings for Qt.
  • Direct access provided to the document bytes for ranges within Scintilla. This is similar to the existing SCI_GETCHARACTERPOINTER API but allows for better performance.
  • Ctrl+Double Click and Ctrl+Triple Click add the word or line to the set of selections. Feature #3520037.
  • A SCI_DELETERANGE API was added for deleting a range of text.
  • Line wrap markers may now be drawn in the line number margin. Feature #3518198.
  • SciTE on OS X adds option to hide hidden files in the open dialog box.
  • Lexer added for OScript language. Feature #3523197.
  • Lexer added for Visual Prolog language. Feature #3523018.
  • UTF-8 validity is checked more stringently and consistently. All 66 non-characters are now treated as invalid.
  • HTML lexer bug fixed with inconsistent highlighting for PHP when attribute on separate line from tag. Bug #3520027.
  • HTML lexer bug fixed for JavaScript block comments. Bug #3520032.
  • Annotation drawing bug fixed when box displayed with different colours on different lines. Bug #3519872.
  • On Windows with Direct2D, fix drawing with 125% and 150% DPI system settings.
  • Virtual space selection bug fixed for rectangular selections. Bug #3519246.
  • Replacing multiple selection with newline changed to only affect main selection. Bug #3522251.
  • Replacing selection with newline changed to group deletion and insertion as a single undo action. Bug #3522250.
  • Auto-completion lists on GTK+ 3 set height correctly instead of showing too few lines.
  • Mouse wheel scrolling changed to avoid GTK+ bug in recent distributions.
  • IME bug on Windows fixed for horizontal jump. Bug #3529728.
  • SciTE case-insensitive autocompletion filters equal identifiers better. Calltip arrows work with bare word identifiers. Bug #3517810.
  • SciTE bug fixed where shbang lines not setting file type when switching to file loaded in background.
  • SciTE on GTK+ shows open and save dialogs with the directory of the current file displayed.

Release 3.1.0

  • Released 20 April 2012.
  • Animated find indicator added on Cocoa.
  • Buttons can be made default in SciTE user strips.
  • SciTE allows find and replace histories to be saved in session.
  • Option added to allow case-insensitive selection in auto-completion lists. Bug #3516538.
  • Replace \0 by complete found text in regular expressions. Feature #3510979.
  • Fixed single quoted strings in bash lexer. Bug #3512208.
  • Incorrect highlighting fixed in C++ lexer for continued lines. Bug #3509317.
  • Hang fixed in diff lexer. Bug #3508602.
  • Folding improved for SQL CASE/MERGE statement. Bug #3503277.
  • Fix extra drawing of selection inside word wrap indentation. Bug #3515555.
  • Fix problem with determining the last line that needs styling when drawing. Bug #3514882.
  • Fix problems with drawing in margins. Bug #3514882.
  • Fix printing crash when using Direct2D to display on-screen. Bug #3513946.
  • Fix SciTE bug where background.*.size disabled restoration of bookmarks and positions from session. Bug #3514885.
  • Fixed the Move Selected Lines command when last line does not end with a line end character. Bug #3511023.
  • Fix word wrap indentation printing to use printer settings instead of screen settings. Bug #3512961.
  • Fix SciTE bug where executing an empty command prevented executing further commands Bug #3512976.
  • Fix SciTE bugs with focus in user strips and made strips more robust with invalid definitions.
  • Suppress SciTE regular expression option when searching with find next selection. Bug #3510985.
  • SciTE Find in Files command matches empty pattern to all files. Feature #3495918.
  • Fix scroll with mouse wheel on GTK+. Bug #3501321.
  • Fix column finding method so that tab is counted correctly. Bug #3483713.

Release 3.0.4

  • Released 8 March 2012.
  • SciTE scripts can create user interfaces as strips.
  • SciTE can save files automatically in the background.
  • Pinch zoom implemented on Cocoa.
  • ECL lexer added. Feature #3488209.
  • CPP lexer fixes styling after document comment keywords. Bug #3495445.
  • Pascal folder improves handling of some constructs. Feature #3486385.
  • XML lexer avoids entering a bad mode due to complex preprocessor instructions. Bug #3488060.
  • Duplicate command is always remembered as a distinct command for undo. Bug #3495836.
  • SciTE xml.auto.close.tags no longer closes with PHP code similar to <a $this-> Bug #3488067.
  • Fix bug where setting an indicator for the whole document would fail. Bug #3487440.
  • Crash fixed for SCI_MOVESELECTEDLINESDOWN with empty vertical selection. Bug #3496403.
  • Differences between buffered and unbuffered mode on Direct2D eliminated. Bug #3495791.
  • Font leading implemented for Direct2D to improve display of character blobs. Bug #3494744.
  • Fractional widths used for line numbers, character markers and other situations. Bug #3494492.
  • Translucent rectangles drawn using Direct2D with sharper corners. Bug #3494492.
  • RGBA markers drawn sharper when centred using Direct2D. Bug #3494202.
  • RGBA markers are drawn centred when taller than line. Bug #3494184.
  • Image marker drawing problem fixed for markers taller than line. Bug #3493503.
  • Markers are drawn horizontally off-centre based on margin type instead of dimensions. Bug #3488696.
  • Fold tail markers drawn vertically centred. Feature #3488289.
  • On Windows, Scintilla is more responsive in wrap mode. Bug #3487397.
  • Unimportant "Gdk-CRITICAL" messages are no longer displayed. Bug #3488481.
  • SciTE on Windows Find in Files sets focus to dialog when already created; allows opening dialog when a job is running. Bug #3480635. Bug #3486657.
  • Fixed problems with multiple clicks in margin and with mouse actions combined with virtual space. Bug #3484370.
  • Fixed bug with using page up and down and not returning to original line. Bug #3485669.
  • Down arrow with wrapped text no longer skips lines. Bug #1776560.
  • Fix problem with dwell ending immediately due to word wrap. Bug #3484416.
  • Wrapped lines are rewrapped more consistently while resizing window. Bug #3484179.
  • Selected line ends are highlighted more consistently. Bug #3484330.
  • Fix grey background on files that use shbang to choose language. Bug #3482777.
  • Fix failure messages from empty commands in SciTE. Bug #3480645.
  • Redrawing reduced for some marker calls. Feature #3493530.
  • Match brace and select brace commands work in SciTE output pane. Feature #3486598.
  • Performing SciTE "Show Calltip" command when a calltip is already visible shows the next calltip. Feature #3487017.
  • SciTE allows saving file even when file unchanged. Feature #3486654.
  • SciTE allows optional use of character escapes in calltips. Feature #3495239.
  • SciTE can open file:// URLs with Ctrl+Shift+O. Feature #3495389.
  • Key modifiers updated for GTK+ on OS X to match upstream changes.
  • SciTE hang when marking all occurrences of regular expressions fixed.

Release 3.0.3

  • Released 28 January 2012.
  • Printing works on GTK+ version 2.x as well as 3.x.
  • Lexer added for the AviSynth language. Feature #3475611.
  • Lexer added for the Take Command / TCC scripting language. Feature #3462462.
  • CSS lexer gains support for SCSS. Feature #3268017.
  • CPP lexer fixes problems in the preprocessor structure caused by continuation lines. Bug #3458508.
  • Errorlist lexer handles column numbers for GCC format diagnostics. In SciTE, Next Message goes to column where this can be decoded from GCC format diagnostics. Feature #3453075.
  • HTML folder fixes spurious folds on some tags. Bug #3459262.
  • Ruby lexer fixes bug where '=' at start of file caused whole file to appear as a comment. Bug #3452488.
  • SQL folder folds blocks of single line comments. Feature #3467425.
  • On Windows using Direct2D, defer invalidation of render target until completion of painting to avoid failures.
  • Further support of fractional positioning. Spaces, tabs, and single character tokens can take fractional space and wrapped lines are positioned taking fractional positions into account. Bug #3471998.
  • On Windows using Direct2D, fix extra carets appearing. Bug #3471998.
  • For autocompletion lists Page Up and Down move by the list height instead of by 5 lines. Bug #3455493.
  • For SCI_LINESCROLLDOWN/UP don't select into virtual space. Bug #3451681.
  • Fix fold highlight not being fully drawn. Bug #3469936.
  • Fix selection margin appearing black when starting in wrap mode.
  • Fix crash when changing end of document after adding an annotation. Bug #3476637.
  • Fix problems with building to make RPMs. Bug #3476149.
  • Fix problem with building on GTK+ where recent distributions could not find gmodule. Bug #3469056.
  • Fix problem with installing SciTE on GTK+ due to icon definition in .desktop file including an extension. Bug #3476117.
  • Fix SciTE bug where new buffers inherited some properties from previously opened file. Bug #3457060.
  • Fix focus when closing tab in SciTE with middle click. Focus moves to edit pane instead of staying on tab bar. Bug #3440142.
  • For SciTE on Windows fix bug where Open Selected Filename for URL would append a file extension. Feature #3459185.
  • For SciTE on Windows fix key handling of control characters in Parameters dialog so normal editing (Ctrl+C, ...) works. Bug #3459345.
  • Fix SciTE bug where files became read-only after saving. Drop the "*" dirty marker after save completes. Bug #3467432.
  • For SciTE handling of diffs with "+++" and "---" lines, also handle case where not followed by tab. Go to correct line for diff "+++" message. Bug #3467143. Bug #3467178.
  • SciTE on GTK+ now performs threaded actions even on GTK+ versions before 2.12.

Release 3.0.2

  • Released 9 December 2011.
  • SciTE saves files in the background without blocking the user interface.
  • Printing implemented in SciTE on GTK+ 3.x.
  • ILoader interface for background loading finalized and documented.
  • CoffeeScript lexer added.
  • C++ lexer fixes crash with "#if defined( XXX 1".
  • Crash with Direct2D on Windows fixed.
  • Backspace removing protected range fixed. Bug #3445911.
  • Cursor setting failure on Windows when screen saver on fixed. Bug #3438780.
  • SciTE on GTK+ hang fixed with -open:file option. Bug #3441980.
  • Failure to evaluate shbang fixed in SciTE. Bug #3441801.
  • SciTE failure to treat files starting with "<?xml" as XML fixed. Bug #3440718.
  • Made untitled tab saveable when created by closing all files. Bug #3440244.
  • SciTE crash fixed when using Scintillua.
  • SciTE revert command fixed so that undo works on individual actions instead of undoing to revert point.
  • Focus loss in SciTE when opening a recent file fixed. Bug #3440142.
  • Fixed SciTE SelLength property to measure characters instead of bytes. Bug #3283519.

Release 3.0.1

  • Released 15 November 2011.
  • SciTE on Windows now runs Lua scripts directly on the main thread instead of starting them on a secondary thread and then moving back to the main thread.
  • Highlight "else" as a keyword for TCL in the same way as other languages. Bug #1836954.
  • Fix problems with setting fonts for autocompletion lists on Windows where font handles were copied and later deleted causing a system default font to be used.
  • Fix font size used on Windows for Asian language input methods which sometimes led to IME not being visible. Bug #3436753.
  • Fixed polygon drawing on Windows so fold symbols are visible again. Bug #3433558.
  • Changed background drawing on GTK+ to allow for fractional character positioning as occurs on OS X as this avoids faint lines at lexeme boundaries.
  • Ensure pixmaps allocated before painting as there was a crash when Scintilla drew without common initialization calls. Bug #3432354.
  • Fixed SciTE on Windows bug causing wrong caret position after indenting a selection. Bug #3433433.
  • Fixed SciTE session saving to store buffer position matching buffer. Bug #3434372.
  • Fixed leak of document objects in SciTE.
  • Recognize URL characters '?' and '%' for Open Selected command in SciTE. Bug #3429409.

Release 3.0.0

  • Released 1 November 2011.
  • Carbon platform support removed. OS X applications should switch to Cocoa.
  • On Windows Vista or newer, drawing may be performed with Direct2D and DirectWrite instead of GDI.
  • Cairo is now used for all drawing on GTK+. GDK drawing was removed.
  • Paletted display support removed.
  • Fractional font sizes can be specified.
  • Different weights of text supported on some platforms instead of just normal and bold.
  • Sub-pixel character positioning supported.
  • SciTE loads files in the background without blocking the user interface.
  • SciTE can display diagnostic messages interleaved with the text of files immediately after the line referred to by the diagnostic.
  • New API to see if all lines are visible which can be used to optimize processing fold structure notifications.
  • Scrolling optimized by avoiding invalidation of fold margin when redrawing whole window.
  • Optimized SCI_MARKERNEXT.
  • C++ lexer supports Pike hash quoted strings when turned on with lexer.cpp.hashquoted.strings.
  • Fixed incorrect line height with annotations in wrapped mode when there are multiple views. Bug #3388159.
  • Calltips may be displayed above the text as well as below. Bug #3410830.
  • For huge files SciTE only examines the first megabyte for newline discovery.
  • SciTE on GTK+ removes the fileselector.show.hidden property and check box as this was buggy and GTK+ now supports an equivalent feature. Bug #3413630.
  • SciTE on GTK+ supports mnemonics in dynamic menus.
  • SciTE on GTK+ displays the user's home directory as '~' in menus to make them shorter.

Release 2.29

  • Released 16 September 2011.
  • To automatically discover the encoding of a file when opening it, SciTE can run a program set with command.discover.properties. Feature #3324341.
  • Cairo always used for drawing on GTK+.
  • The set of properties files imported by SciTE can be controlled with the properties imports.include and imports.exclude. The import statement has been extended to allow "import *". The properties files for some languages are no longer automatically loaded by default. The properties files affected are avenue, baan, escript, lot, metapost, and mmixal.
  • C++ lexer fixed a bug with raw strings being recognized too easily. Bug #3388122.
  • LaTeX lexer improved with more states and fixes to most outstanding bugs. Bug #1493111. Bug #1856356. Bug #3081692.
  • Lua lexer updates for Lua 5.2 beta with goto labels and "\z" string escape. Feature #3386330.
  • Perl string styling highlights interpolated variables. Feature #3394258. Bug #3076629.
  • Perl lexer updated for Perl 5.14.0 with 0X and 0B numeric literal prefixes, break keyword and "+" supported in subroutine prototypes. Feature #3388802.
  • Perl bug fixed with CRLF line endings.
  • Markdown lexer fixed to not change state with "_" in middle of word. Bug #3398184.
  • Cocoa restores compatibility with OS X 10.5.
  • Mouse pointer changes over selection to an arrow near start when scrolled horizontally. Bug #3389055.
  • Indicators that finish at the end of the document no longer expand when text is appended. Bug #3378718.
  • SparseState merge fixed to check if other range is empty. Bug #3387053.
  • On Windows, autocompletion lists will scroll instead of document when mouse wheel spun. Feature #3403600.
  • SciTE performs more rapid polling for command completion so will return faster and report more accurate times.
  • SciTE resizes panes proportionally when switched between horizontal and vertical layout. Feature #3376784.
  • SciTE on GTK+ opens multiple files into a single instance more reliably. Bug #3363754.

Release 2.28

  • Released 1 August 2011.
  • GTK+ Cairo support works back to GTK+ version 2.8. Requires changing Scintilla source code to enable before GTK+ 2.22. Bug #3322351.
  • Translucent images in RGBA format can be used for margin markers and in autocompletion lists.
  • INDIC_DOTBOX added as a translucent dotted rectangular indicator.
  • Asian text input using IME works for GTK+ 3.x and GTK+ 2.x with Cairo.
  • On GTK+, IME works for Ctrl+Shift+U Unicode input in Scintilla. For SciTE, Ctrl+Shift+U is still Make Selection Uppercase.
  • Key bindings for GTK+ on OS X made compatible with Cocoa port and platform conventions.
  • Cocoa port supports different character encodings, improves scrolling performance and drag image appearance. The control ID is included in WM_COMMAND notifications. Text may be deleted by dragging to the trash. ScrollToStart and ScrollToEnd key commands added to simplify implementation of standard OS X Home and End behaviour.
  • SciTE on GTK+ uses a paned widget to contain the edit and output panes instead of custom code. This allows the divider to be moved easily on GTK+ 3 and its appearance follows GTK+ conventions more closely.
  • SciTE builds and installs on BSD. Bug #3324644.
  • Cobol supports fixed format comments. Bug #3014850.
  • Mako template language block syntax extended and ## comments recognized. Feature #3325178. Bug #3318818.
  • Folding of Mako template language within HTML fixed. Bug #3324563.
  • Python lexer has lexer.python.keywords2.no.sub.identifiers option to avoid highlighting second set of keywords following '.'. Bug #3325333.
  • Python folder fixes bug where fold would not extend to final line. Bug #3349157.
  • SciTE treats LPEG lexers the same as script lexers by setting all 8 style bits.
  • For Cocoa, crashes with unsupported font variants and memory leaks for colour objects fixed.
  • Shift-JIS lead byte ranges modified to match Windows.
  • Mouse pointer changes over selection to an arrow more consistently. Bug #3315756.
  • Bug fixed with annotations beyond end of document. Bug #3347268.
  • Incorrect drawing fixed for combination of background colour change and translucent selection. Bug #3377116.
  • Lexers initialized correctly when started at position other than start of line. Bug #3377148.
  • Fold highlight drawing fixed for some situations. Bug #3323015. Bug #3323805.
  • Case insensitive search fixed for cases where folded character uses fewer bytes than base character. Bug #3362038.
  • SciTE bookmark.alpha setting fixed. Bug #3373907.

Release 2.27

  • Released 20 June 2011.
  • On recent GTK+ 2.x versions when using Cairo, bug fixed where wrong colours were drawn.
  • SciTE on GTK+ slow performance in menu maintenance fixed. Bug #3315233.
  • Cocoa platform supports 64-bit builds and uses only non-deprecated APIs. Asian Input Method Editors are supported. Autocompletion lists and calltips implemented. Control identifier used in notifications.
  • On Cocoa, rectangular selection now uses Option/Alt key to be compatible with Apple Human Interface Guidelines and other applications. The Control key is reported with an SCMOD_META modifier bit.
  • API added for setting and retrieving the identifier number used in notifications.
  • SCI_SETEMPTYSELECTION added to set selection without scrolling or redrawing more than needed. Feature #3314877.
  • Added new indicators. INDIC_DASH and INDIC_DOTS are variants of underlines. INDIC_SQUIGGLELOW indicator added as shorter alternative to INDIC_SQUIGGLE for small fonts. Bug #3314591
  • Margin line selection can be changed to select display lines instead of document lines. Bug #3312763.
  • On Windows, SciTE can perform reverse searches by pressing Shift+Enter in the Find or Replace strips or dialogs.
  • Matlab lexer does not special case '\' in single quoted strings. Bug #948757 Bug #1755950 Bug #1888738 Bug #3316852.
  • Verilog lexer supports SystemVerilog folding and keywords.
  • Font leak fixed. Bug #3306156.
  • Automatic scrolling works for long wrapped lines. Bug #3312763.
  • Multiple typing works for cases where selections collapse together. Bug #3309906.
  • Fold expanded when needed in word wrap mode. Bug #3291579.
  • Bug fixed with edge drawn in wrong place on wrapped lines. Bug #3314807.
  • Bug fixed with unnecessary scrolling for SCI_GOTOLINE. Bug #3303406.
  • Bug fixed where extra step needed to undo SCI_CLEAR in virtual space. Bug #3159691.
  • Regular expression search fixed for \$ on last line of search range. Bug #3313746.
  • SciTE performance improved when switching to a tab with a very large file. Bug #3311421.
  • On Windows, SciTE advanced search remembers the "Search only in this style" setting. Bug #3313344.
  • On GTK+, SciTE opens help using "xdg-open" instead of "netscape" as "netscape" no longer commonly installed. Bug #3314377.
  • SciTE script lexers can use 256 styles.
  • SciTE word highlight works for words containing DBCS characters. Bug #3315173.
  • Compilation fixed for wxWidgets. Bug #3306156.

Release 2.26

  • Released 25 May 2011.
  • Folding margin symbols can be highlighted for the current folding block. Feature #3147069.
  • Selected lines can be moved up or down together. Feature #3304850.
  • SciTE can highlight all occurrences of the current word or selected text. Feature #3291636.
  • Experimental GTK+ 3.0 support: build with "make GTK3=1".
  • INDIC_STRAIGHTBOX added. Is similar to INDIC_ROUNDBOX but without rounded corners. Bug #3290435.
  • Can show brace matching and mismatching with indicators instead of text style. Translucency of outline can be altered for INDIC_ROUNDBOX and INDIC_STRAIGHTBOX. Feature #3290434.
  • SciTE can automatically indent python by examining previous line for scope-starting ':' with indent.python.colon.
  • Batch file lexer allows braces '(' or ')' inside variable names.
  • The cpp lexer only recognizes Vala triple quoted strings when lexer.cpp.triplequoted.strings property is set. Bug #3239234.
  • Make file lexer treats a variable with a nested variable like $(f$(qx)b) as one variable. Bug #3298223.
  • Folding bug fixed for JavaScript with nested PHP. Bug #3193530.
  • HTML lexer styles Django's {# #} comments. Bug #3013798.
  • HTML lexer styles JavaScript regular expression correctly for /abc/i.test('abc');. Bug #3209108.
  • Inno Setup Script lexer now works properly when it restarts from middle of [CODE] section. Bug #3283880. Bug #3129044.
  • Lua lexer updated for Lua 5.2 with hexadecimal floating-point numbers and '\*' whitespace escaping in strings. Feature #3243811.
  • Perl folding folds "here doc"s and adds options fold.perl.at.else and fold.perl.comment.explicit. Fold structure for Perl fixed. Feature #3112671. Bug #3265401.
  • Python lexer supports cpdef keyword for Cython. Bug #3279728.
  • SQL folding option lexer.sql.fold.at.else renamed to fold.sql.at.else. Bug #3271474.
  • SQL lexer no longer treats ';' as terminating a comment. Bug #3196071.
  • Text drawing and measurement segmented into smaller runs to avoid platform bugs. Bug #3277449. Bug #3165743.
  • SciTE on Windows adds temp.files.sync.load property to open dropped temporary files synchronously as they may be removed before they can be opened asynchronously. Bug #3072009.
  • Bug fixed with indentation guides ignoring first line in SC_IV_LOOKBOTH mode. Bug #3291317.
  • Bugs fixed in backward regex search. Bug #3292659.
  • Bugs with display of folding structure fixed for wrapped lines and where there is a fold header but no body. Bug #3291579. Bug #3265401.
  • SciTE on Windows cursor changes to an arrow now when over horizontal splitter near top of window. Bug #3286620.
  • Fixed default widget size problem on GTK+. Bug #3267892.
  • Fixed font size when using Cairo on GTK+. Bug #3272662.
  • Fixed primary selection and cursor issues on GTK+ when unrealized then realized. Bug #3256153.
  • Right click now cancels selection on GTK+ like on Windows. Bug #3235190.
  • SciTE on GTK+ implements z-order buffer switching like on Windows. Bug #3228384.
  • Improve selection position after SciTE Insert Abbreviation command when abbreviation expansion includes '|'.

Release 2.25

  • Released 21 March 2011.
  • SparseState class makes it easier to write lexers which have to remember complex state between lines.
  • Visual Studio project (.dsp) files removed. The make files should be used instead as described in the README.
  • Modula 3 lexer added along with SciTE support. Feature #3173374.
  • Asm, Basic, and D lexers add extra folding properties.
  • Raw string literals for C++0x supported in C++ lexer.
  • Triple-quoted strings used in Vala language supported in C++ lexer. Feature #3177601.
  • The errorlist lexer used in SciTE's output pane colours lines that start with '<' as diff deletions. Feature #3172878.
  • The Fortran lexer correctly folds type-bound procedures from Fortran 2003.
  • LPeg lexer support‎ improved in SciTE.
  • SciTE on Windows-64 fixes for menu localization and Lua scripts. Bug #3204502.
  • SciTE on Windows avoids locking folders when using the open or save dialogs. Bug #1795484.
  • Diff lexer fixes problem where diffs of diffs producing lines that start with "----". Bug #3197952.
  • Bug fixed when searching upwards in Chinese code page 936. Bug #3176271.
  • On Cocoa, translucent drawing performed as on other platforms instead of 2.5 times less translucent.
  • Performance issue and potential bug fixed on GTK+ with caret line for long lines.

Release 2.24

  • Released 3 February 2011.
  • Fixed memory leak in GTK+ Cairo code. Feature #3157655.
  • Insert Abbreviation dialog added to SciTE on GTK+.
  • SCN_UPDATEUI notifications received when window scrolled. An 'updated' bit mask indicates which types of update have occurred from SC_UPDATE_SELECTION, SC_UPDATE_CONTENT, SC_UPDATE_H_SCROLL or SC_UPDATE_V_SCROLL. Feature #3125977.
  • On Windows, to ensure reverse arrow cursor matches platform default, it is now generated by reflecting the platform arrow cursor. Feature #3143968.
  • Can choose mouse cursor used in margins. Feature #3161326.
  • On GTK+, SciTE sets a mime type of text/plain in its .desktop file so that it will appear in the shell context menu. Feature #3137126.
  • Bash folder handles here docs. Feature #3118223.
  • C++ folder adds fold.cpp.syntax.based, fold.cpp.comment.multiline, fold.cpp.explicit.start, fold.cpp.explicit.end, and fold.cpp.explicit.anywhere properties to allow more control over folding and choice of explicit fold markers.
  • C++ lexer fixed to always handle single quote strings continued past a line end. Bug #3150522.
  • Ruby folder handles here docs. Feature #3118224.
  • SQL lexer allows '.' to be part of words. Feature #3103129.
  • SQL folder handles case statements in more situations. Feature #3135027.
  • SQL folder adds fold points inside expressions based on bracket structure. Feature #3165488.
  • SQL folder drops fold.sql.exists property as 'exists' is handled automatically. Bug #3164194.
  • SciTE only forwards properties to lexers when they have been explicitly set so the defaults set by lexers are used rather than 0.
  • Mouse double click word selection chooses the word around the character under the mouse rather than the inter-character position under the mouse. This makes double clicking select what the user is pointing at and avoids selecting adjacent non-word characters. Bug #3111174.
  • Fixed mouse double click to always perform word select, not line select. Bug #3143635.
  • Right click cancels autocompletion. Bug #3144531.
  • Fixed multiPaste to work when additionalSelectionTyping off. Bug #3126221.
  • Fixed virtual space problems when text modified at caret. Bug #3154986.
  • Fixed memory leak in lexer object code. Bug #3133672.
  • Fixed SciTE on GTK+ search failure when using regular expression. Bug #3156217.
  • Avoid unnecessary full window redraw for SCI_GOTOPOS. Feature #3146650.
  • Avoid unnecessary redraw when indicator fill range makes no real change.

Release 2.23

  • Released 7 December 2010.
  • On GTK+ version 2.22 and later, drawing is performed with Cairo rather than GDK. This is in preparation for GTK+ 3.0 which will no longer support GDK drawing. The appearance of some elements will be different with Cairo as it is anti-aliased and uses sub-pixel positioning. Cairo may be turned on for GTK+ versions before 2.22 by defining USE_CAIRO although this has not been extensively tested.
  • New lexer a68k for Motorola 68000 assembler. Feature #3101598.
  • Borland C++ is no longer supported for building Scintilla or SciTE on Windows.
  • Performance improved when creating large rectangular selections.
  • PHP folder recognizes #region and #endregion comments. Feature #3101624.
  • SQL lexer has a lexer.sql.numbersign.comment option to turn off use of '#' comments as these are a non-standard feature only available in some implementations. Feature #3098071.
  • SQL folder recognizes case statements and understands the fold.at.else property. Bug #3104091. Bug #3107362.
  • SQL folder fixes bugs with end statements when fold.sql.only.begin=1. Bug #3104091.
  • SciTE on Windows bug fixed with multi-line tab bar not adjusting correctly when maximizing and demaximizing. Bug #3097517.
  • Crash fixed on GTK+ when Scintilla widget destroyed while it still has an outstanding style idle pending.
  • Bug fixed where searching backwards in DBCS text (code page 936 or similar) failed to find occurrences at the start of the line. Bug #3103936.
  • SciTE on Windows supports Unicode file names when executing help applications with winhelp and htmlhelp subsystems.

Release 2.22

  • Released 27 October 2010.
  • SciTE includes support for integrating with Scintillua which allows lexers to be implemented in Lua as a Parsing Expression Grammar (PEG).
  • Regular expressions allow use of '?' for non-greedy matches or to match 0 or 1 instances of an item.
  • SCI_CONTRACTEDFOLDNEXT added to allow rapid retrieval of folding state.
  • SCN_HOTSPOTRELEASECLICK notification added which is similar to SCN_HOTSPOTCLICK but occurs when the mouse is released. Feature #3082409.
  • Command added for centring current line in window. Feature #3064696.
  • SciTE performance improved by not examining document for line ends when switching buffers and not storing folds when folding turned off.
  • Bug fixed where scrolling to ensure the caret is visible did not take into account all pixels of the line. Bug #3081721.
  • Bug fixed for autocompletion list overlapping text when WS_EX_CLIENTEDGE used. Bug #3079778.
  • After autocompletion, the caret's X is updated. Bug #3079114.
  • On Windows, default to the system caret blink time. Feature #3079784.
  • PgUp/PgDn fixed to allow virtual space. Bug #3077452.
  • Crash fixed when AddMark and AddMarkSet called with negative argument. Bug #3075074.
  • Dwell notifications fixed so that they do not occur when the mouse is outside Scintilla. Bug #3073481.
  • Bash lexer bug fixed for here docs starting with <<-. Bug #3063822.
  • C++ lexer bug fixed for // comments that are continued onto a second line by a \. Bug #3066031.
  • C++ lexer fixes wrong highlighting for float literals containing +/-. Bug #3058924.
  • JavaScript lexer recognize regexes following return keyword.‎ Bug #3062287.
  • Ruby lexer handles % quoting better and treats range dots as operators in 1..2 and 1...2. Ruby folder handles "if" keyword used as a modifier even when it is separated from the modified statement by an escaped new line. Bug #2093767. Bug #3058496.
  • Bug fixed where upwards search failed with DBCS code pages. Bug #3065912.
  • SciTE has a default Lua startup script name distributed in SciTEGlobal.properties. No error message is displayed if this file does not exist.
  • SciTE on Windows tab control height is calculated better. Bug #2635702.
  • SciTE on Windows uses better themed check buttons in find and replace strips.
  • SciTE on Windows fixes bug with Find strip appearing along with Incremental Find strip.
  • SciTE setting find.close.on.find added to allow preventing the Find dialog from closing.
  • SciTE on Windows attempts to rerun commands that fail by prepending them with "cmd.exe /c". This allows commands built in to the command processor like "dir" to run.

Release 2.21

  • Released 1 September 2010.
  • Asian Double Byte Character Set (DBCS) support improved. Case insensitive search works and other operations are much faster. Bug #2999125, Bug #2774616, Bug #2991942, Bug #3005688.
  • Scintilla on GTK+ uses only non-deprecated APIs (for GTK+ 2.20) except for GdkFont and GdkFont use can be disabled with the preprocessor symbol DISABLE_GDK_FONT.
  • IDocument interface used by lexers adds BufferPointer and GetLineIndentation methods.
  • On Windows, clicking sets focus before processing the click or sending notifications.
  • Bug on OS X (macosx platform) fixed where drag/drop overwrote clipboard. Bug #3039732.
  • GTK+ drawing bug when the view was horizontally scrolled more than 32000 pixels fixed.
  • SciTE bug fixed with invoking Complete Symbol from output pane. Bug #3050957.
  • Bug fixed where it was not possible to disable folding. Bug #3040649.
  • Bug fixed with pressing Enter on a folded fold header line not opening the fold. Bug #3043419.
  • SciTE 'Match case' option in find and replace user interfaces changed to 'Case sensitive' to allow use of 'v' rather than 'c' as the mnemonic.
  • SciTE displays stack trace for Lua when error occurs.. Bug #3051397.
  • SciTE on Windows fixes bug where double clicking on error message left focus in output pane. Bug #1264835.
  • SciTE on Windows uses SetDllDirectory to avoid a security problem.
  • C++ lexer crash fixed with preprocessor expression that looked like division by 0. Bug #3056825.
  • Haskell lexer improved. Feature #3039490.
  • HTML lexing fixed around Django {% %} tags. Bug #3034853.
  • HTML JavaScript lexing fixed when line end escaped. Bug #3038381.
  • HTML lexer stores line state produced by a line on that line rather than on the next line.
  • Markdown lexer fixes infinite loop. Bug #3045386.
  • MySQL folding bugs with END statements fixed. Bug #3031742.
  • PowerShell lexer allows '_' as a word character. Feature #3042228.
  • SciTE on GTK+ abandons processing of subsequent commands if a command.go.needs command fails.
  • When SciTE is closed, all buffers now receive an OnClose call. Bug #3033857.

Release 2.20

  • Released 30 July 2010.
  • Lexers are implemented as objects so that they may retain extra state. The interfaces defined for this are tentative and may change before the next release. Compatibility classes allow current lexers compiled into Scintilla to run with few changes. The interface to external lexers has changed and existing external lexers will need to have changes made and be recompiled. A single lexer object is attached to a document whereas previously lexers were attached to views which could lead to different lexers being used for split views with confusing results.
  • C++ lexer understands the preprocessor enough to grey-out inactive code due to conditional compilation.
  • SciTE can use strips within the main window for find and replace rather than dialogs. On Windows SciTE always uses a strip for incremental search.
  • Lexer added for Txt2Tags language. Feature #3018736.
  • Sticky caret feature enhanced with additional SC_CARETSTICKY_WHITESPACE mode . Feature #3027559.
  • Bash lexer implements basic parsing of compound commands and constructs. Feature #3033135.
  • C++ folder allows disabling explicit fold comments.
  • Perl folder works for array blocks, adjacent package statements, nested PODs, and terminates package folding at __DATA__, ^D and ^Z. Feature #3030887.
  • PowerShell lexer supports multiline <# .. #> comments and adds 2 keyword classes. Feature #3015176.
  • Lexing performed incrementally when needed by wrapping to make user interface more responsive.
  • SciTE setting replaceselection:yes works on GTK+.
  • SciTE Lua scripts calling io.open or io.popen on Windows have arguments treated as UTF-8 and converted to Unicode so that non-ASCII file paths will work. Lua files with non-ASCII paths run. Bug #3016951.
  • Crash fixed when searching for empty string. Bug #3017572.
  • Bugs fixed with folding and lexing when Enter pressed at start of line. Bug #3032652.
  • Bug fixed with line selection mode not affecting selection range. Bug #3021480.
  • Bug fixed where indicator alpha was limited to 100 rather than 255. Bug #3021473.
  • Bug fixed where changing annotation did not cause automatic redraw.
  • Regular expression bug fixed when a character range included non-ASCII characters.
  • Compilation failure with recent compilers fixed on GTK+. Bug #3022027.
  • Bug fixed on Windows with multiple monitors where autocomplete pop up would appear off-screen or straddling monitors. Bug #3017512.
  • SciTE on Windows bug fixed where changing directory to a Unicode path failed. Bug #3011987.
  • SciTE on Windows bug fixed where combo boxes were not allowing Unicode characters. Bug #3012986.
  • SciTE on GTK+ bug fixed when dragging files into SciTE on KDE. Bug #3026555.
  • SciTE bug fixed where closing untitled file could lose data if attempt to name file same as another buffer. Bug #3011680.
  • COBOL number masks now correctly highlighted. Bug #3012164.
  • PHP comments can include <?PHP without triggering state change. Bug #2854183.
  • VHDL lexer styles unclosed string correctly. Bug #3029627.
  • Memory leak fixed in list boxes on GTK+. Bug #3007669.

Release 2.12

  • Released 1 June 2010.
  • Drawing optimizations improve speed and fix some visible flashing when scrolling.
  • Copy Path command added to File menu in SciTE. Feature #2986745.
  • Optional warning displayed by SciTE when saving a file which has been modified by another process. Feature #2975041.
  • Flagship lexer for xBase languages updated to follow the language much more closely. Feature #2992689.
  • HTML lexer highlights Django templates in more regions. Feature #3002874.
  • Dropping files on SciTE on Windows, releases the drag object earlier and opens the files asynchronously, leading to smoother user experience. Feature #2986724.
  • SciTE HTML exports take the Use Monospaced Font setting into account.
  • SciTE window title "[n of m]" localized.
  • When new line inserted at start of line, markers are moved down. Bug #2986727.
  • On Windows, dropped text has its line ends converted, similar to pasting. Bug #3005328.
  • Fixed bug with middle-click paste in block select mode where text was pasted next to selection rather than at cursor. Bug #2984460.
  • Fixed SciTE crash where a style had a size parameter without a value. Bug #3003834.
  • Debug assertions in multiple lexers fixed. Bug #3000566.
  • CSS lexer fixed bug where @font-face displayed incorrectly Bug #2994224.
  • CSS lexer fixed bug where open comment caused highlighting error. Bug #1683672.
  • Shell file lexer fixed highlight glitch with here docs where the first line is a comment. Bug #2830239.
  • Bug fixed in SciTE openpath property that caused Open Selected File to fail to open the selected file.
  • Bug fixed in SciTE FileExt property when file name with no extension evaluated to whole path.
  • Fixed SciTE on Windows printing bug where the $(CurrentTime), $(CurrentPage) variables were not expanded. Bug #2994612.
  • SciTE compiles for 64-bit Windows and runs without crashing. Bug #2986312.
  • Full Screen mode in Windows Vista/7 improved to hide Start button and size borders a little better. Bug #3002813.

Release 2.11

  • Released 9 April 2010.
  • Fixes compatibility of Scintilla.h with the C language.
  • With a rectangular selection SCI_GETSELECTIONSTART and SCI_GETSELECTIONEND return limits of the rectangular selection rather than the limits of the main selection.
  • When SciTE on Windows is minimized to tray, only takes a single click to restore rather than a double click. Feature #981917.

Release 2.10

  • Released 4 April 2010.
  • Version 1.x of GTK+ is no longer supported.
  • SciTE is no longer supported on Windows 95, 98 or ME.
  • Case-insensitive search works for non-ASCII characters in UTF-8 and 8-bit encodings. Non-regex search in DBCS encodings is always case-sensitive.
  • Non-ASCII characters may be changed to upper and lower case.
  • SciTE on Windows can access all files including those with names outside the user's preferred character encoding.
  • SciTE may be extended with lexers written in Lua.
  • When there are multiple selections, the paste command can go either to the main selection or to each selection. This is controlled with SCI_SETMULTIPASTE.
  • More forms of bad UTF-8 are detected including overlong sequences, surrogates, and characters outside the valid range. Bad UTF-8 bytes are now displayed as 2 hex digits preceded by 'x'.
  • SCI_GETTAG retrieves the value of captured expressions within regular expression searches.
  • Django template highlighting added to the HTML lexer. Feature #2974889.
  • Verilog line comments can be folded.
  • SciTE on Windows allows specifying a filter for the Save As dialog. Feature #2943445.
  • Bug fixed when multiple selection disabled where rectangular selections could be expanded into multiple selections. Bug #2948260.
  • Bug fixed when document horizontally scrolled and up/down-arrow did not return to the same column after horizontal scroll occurred. Bug #2950799.
  • Bug fixed to remove hotspot highlight when mouse is moved out of the document. Windows only fix. Bug #2951353.
  • R lexer now performs case-sensitive check for keywords. Bug #2956543.
  • Bug fixed on GTK+ where text disappeared when a wrap occurred. Bug #2958043.
  • Bug fixed where regular expression replace cannot escape the '\' character by using '\\'. Bug #2959876.
  • Bug fixed on GTK+ when virtual space disabled, middle-click could still paste text beyond end of line. Bug #2971618.
  • SciTE crash fixed when double clicking on a malformed error message in the output pane. Bug #2976551.
  • Improved performance on GTK+ when changing parameters associated with scroll bars to the same value. Bug #2964357.
  • Fixed bug with pressing Shift+Tab with a rectangular selection so that it performs an un-indent similar to how Tab performs an indent.

Release 2.03

  • Released 14 February 2010.
  • Added SCI_SETFIRSTVISIBLELINE to match SCI_GETFIRSTVISIBLELINE.
  • Erlang lexer extended set of numeric bases recognized; separate style for module:function_name; detects built-in functions, known module attributes, and known preprocessor instructions; recognizes EDoc and EDoc macros; separates types of comments. Bug #2942448.
  • Python lexer extended with lexer.python.strings.over.newline option that allows non-triple-quoted strings to extend past line ends. This allows use of the Ren'Py language. Feature #2945550.
  • Fixed bugs with cursor movement after deleting a rectangular selection. Bug #2942131.
  • Fixed bug where calling SCI_SETSEL when there is a rectangular selection left the additional selections selected. Bug #2947064.
  • Fixed macro recording bug where not all bytes in multi-byte character insertions were reported through SCI_REPLACESEL.
  • Fixed SciTE bug where using Ctrl+Enter followed by Ctrl+Space produced an autocompletion list with only a single line containing all the identifiers.
  • Fixed SciTE on GTK+ bug where running a tool made the user interface completely unresponsive.
  • Fixed SciTE on Windows Copy to RTF bug. Bug #2108574.

Release 2.02

  • Released on 25 January 2010.
  • Markdown lexer added. Feature #2844081.
  • On GTK+, include code that understands the ranges of lead bytes for code pages 932, 936, and 950 so that most Chinese and Japanese text can be used on systems that are not set to the corresponding locale.
  • Allow changing the size of dots in visible whitespace using SCI_SETWHITESPACESIZE. Feature #2839427.
  • Additional carets can be hidden with SCI_SETADDITIONALCARETSVISIBLE.
  • Can choose anti-aliased, non-anti-aliased or lcd-optimized text using SCI_SETFONTQUALITY.
  • Retrieve the current selected text in the autocompletion list with SCI_AUTOCGETCURRENTTEXT.
  • Retrieve the name of the current lexer with SCI_GETLEXERLANGUAGE.
  • Progress 4GL lexer improves handling of comments in preprocessor declaration. Feature #2902206.
  • HTML lexer extended to handle Mako template language.
  • SQL folder extended for SQL Anywhere "EXISTS" and "ENDIF" keywords. Feature #2887524.
  • SciTE adds APIPath and AbbrevPath variables.
  • SciTE on GTK+ uses pipes instead of temporary files for running tools. This should be more secure.
  • Fixed crash when calling SCI_STYLEGETFONT for a style which does not have a font set. Bug #2857425.
  • Fixed crash caused by not having sufficient styles allocated after choosing a lexer. Bug #2881279.
  • Fixed crash in SciTE using autocomplete word when word characters includes space. Bug #2840141.
  • Fixed bug with handling upper-case file extensions SciTE on GTK+.
  • Fixed SciTE loading files from sessions with folded folds where it would not be scrolled to the correct location. Bug #2882775.
  • Fixed SciTE loading files from sessions when file no longer exists. Bug #2883437.
  • Fixed SciTE export to HTML using the wrong background colour.
  • Fixed crash when adding an annotation and then adding a new line after the annotation. Bug #2929708.
  • Fixed crash in SciTE setting a property to nil from Lua.
  • SCI_GETSELTEXT fixed to return correct length. Bug #2929441.
  • Fixed text positioning problems with selection in some circumstances.
  • Fixed text positioning problems with ligatures on GTK+.
  • Fixed problem pasting into rectangular selection with caret at bottom caused text to go from the caret down rather than replacing the selection.
  • Fixed problem replacing in a rectangular selection where only the final line was changed.
  • Fixed inability to select a rectangular area using Alt+Shift+Click at both corners. Bug #2899746.
  • Fixed problem moving to start/end of a rectangular selection with left/right key. Bug #2871358.
  • Fixed problem with Select All when there's a rectangular selection. Bug #2930488.
  • Fixed SCI_LINEDUPLICATE on a rectangular selection to not produce multiple discontinuous selections.
  • Virtual space removed when performing delete word left or delete line left. Virtual space converted to real space for delete word right. Preserve virtual space when pressing Delete key. Bug #2882566.
  • Fixed problem where Shift+Alt+Down did not move through wrapped lines. Bug #2871749.
  • Fixed incorrect background colour when using coloured lines with virtual space. Bug #2914691.
  • Fixed failure to display wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT. Bug #2936108.
  • Fixed blank background colour with EOLFilled style on last line. Bug #2890105.
  • Fixed problem in VB lexer with keyword at end of file. Bug #2901239.
  • Fixed SciTE bug where double clicking on a tab closed the file.
  • Fixed SciTE brace matching commands to only work when the caret is next to the brace, not when it is in virtual space. Bug #2885560.
  • Fixed SciTE on Windows Vista to access files in the Program Files directory rather than allow Windows to virtualize access. Bug #2916685.
  • Fixed NSIS folder to handle keywords that start with '!'. Bug #2872157.
  • Changed linkage of Scintilla_LinkLexers to "C" so that it can be used by clients written in C. Bug #2844718.

Release 2.01

  • Released on 19 August 2009.
  • Fix to positioning rectangular paste when viewing line ends.
  • Don't insert new lines and indentation for line ends at end of rectangular paste.
  • When not in additional selection typing mode, cutting a rectangular selection removes all of the selected text.
  • Rectangular selections are copied to the clipboard in document order, not in the order of selection.
  • SCI_SETCURRENTPOS and SCI_SETANCHOR work in rectangular mode.
  • On GTK+, drag and drop to a later position in the document now drops at the position.
  • Fix bug where missing property did not use default value.

Release 2.0

  • Released on 11 August 2009.
  • Multiple pieces of text can be selected simultaneously by holding control while dragging the mouse. Typing, backspace and delete may affect all selections together.
  • Virtual space allows selecting beyond the last character on a line.
  • SciTE on GTK+ path bar is now optional and defaults to off.
  • MagikSF lexer recognizes numbers correctly.
  • Folding of Python comments and blank lines improved. Bug #210240.
  • Bug fixed where background colour of last character in document leaked past that character.
  • Crash fixed when adding marker beyond last line in document. Bug #2830307.
  • Resource leak fixed in SciTE for Windows when printing fails. Bug #2816524.
  • Bug fixed on Windows where the system caret was destroyed during destruction when another window was using the system caret. Bug #2830223.
  • Bug fixed where indentation guides were drawn over text when the indentation used a style with a different space width to the default style.
  • SciTE bug fixed where box comment added a bare line feed rather than the chosen line end. Bug #2818104.
  • Reverted fix that led to wrapping whole document when displaying the first line of the document.
  • Export to LaTeX in SciTE fixed to work in more cases and not use as much space. Bug #1286548.
  • Bug fixed where EN_CHANGE notification was sent when performing a paste operation in a read-only document. Bug #2825485.
  • Refactored code so that Scintilla exposes less of its internal implementation and uses the C++ standard library for some basic collections. Projects that linked to Scintilla's SString or PropSet classes should copy this code from a previous version of Scintilla or from SciTE.

Release 1.79

  • Released on 1 July 2009.
  • Memory exhaustion and other exceptions handled by placing an error value into the status property rather than crashing. Scintilla now builds with exception handling enabled and requires exception handling to be enabled.
    This is a major change and application developers should consider how they will deal with Scintilla exhausting memory since Scintilla may not be in a stable state.
  • Deprecated APIs removed. The symbols removed are:
    • SCI_SETCARETPOLICY
    • CARET_CENTER
    • CARET_XEVEN
    • CARET_XJUMPS
    • SC_FOLDFLAG_BOX
    • SC_FOLDLEVELBOXHEADERFLAG
    • SC_FOLDLEVELBOXFOOTERFLAG
    • SC_FOLDLEVELCONTRACTED
    • SC_FOLDLEVELUNINDENT
    • SCN_POSCHANGED
    • SCN_CHECKBRACE
    • SCLEX_ASP
    • SCLEX_PHP
  • Cocoa platform added.
  • Names of struct types in Scintilla.h now start with "Sci_" to avoid possible clashes with platform definitions. Currently, the old names still work but these will be phased out.
  • When lines are wrapped, subsequent lines may be indented to match the indent of the initial line, or one more indentation level. Feature #2796119.
  • APIs added for finding the character at a point rather than an inter-character position. Feature #2646738.
  • A new marker SC_MARK_BACKGROUND_UNDERLINE is drawn in the text area as an underline the full width of the window.
  • Batch file lexer understands variables surrounded by '!'.
  • CAML lexer also supports SML.
  • D lexer handles string and numeric literals more accurately. Feature #2793782.
  • Forth lexer is now case-insensitive and better supports numbers like $hex and %binary. Feature #2804894.
  • Lisp lexer treats '[', ']', '{', and '}' as balanced delimiters which is common usage. Feature #2794989.
    It treats keyword argument names as being equivalent to symbols. Feature #2794901.
  • Pascal lexer bug fixed to prevent hang when 'interface' near beginning of file. Bug #2802863.
  • Perl lexer bug fixed where previous lexical states persisted causing "/" special case styling and subroutine prototype styling to not be correct. Bug #2809168.
  • XML lexer fixes bug where Unicode entities like '&—' were broken into fragments. Bug #2804760.
  • SciTE on GTK+ enables scrolling the tab bar on recent versions of GTK+. Feature #2061821.
  • SciTE on Windows allows tab bar tabs to be reordered by drag and drop.
  • Unit test script for Scintilla on Windows included with source code.
  • User defined menu items are now localized when there is a matching translation.
  • Width of icon column of autocompletion lists on GTK+ made more consistent.
  • Bug with slicing UTF-8 text into character fragments when there is a sequence of 100 or more 3 byte characters. Bug #2780566.
  • Folding bugs introduced in 1.78 fixed. Some of the fix was generic and there was also a specific fix for C++.
  • Bug fixed where a rectangular paste was not padding the line with sufficient spaces to align the pasted text.
  • Bug fixed with showing all text on each line of multi-line annotations when styling the whole annotation using SCI_ANNOTATIONSETSTYLE. Bug #2789430.

Release 1.78

  • Released on 28 April 2009.
  • Annotation lines may be added to each line.
  • A text margin may be defined with different text on each line.
  • Application actions may be added to the undo history.
  • Can query the symbol defined for a marker. An available symbol added for applications to indicate that plugins may allocate a marker.
  • Can increase the amount of font ascent and descent.
  • COBOL lexer added. Feature #2127406.
  • Nimrod lexer added. Feature #2642620.
  • PowerPro lexer added. Feature #2195308.
  • SML lexer added. Feature #2710950.
  • SORCUS Installation file lexer added. Feature #2343375.
  • TACL lexer added. Feature #2127406.
  • TAL lexer added. Feature #2127406.
  • Rewritten Pascal lexer with improved folding and other fixes. Feature #2190650.
  • INDIC_ROUNDBOX translucency level can be modified. Feature #2586290.
  • C++ lexer treats angle brackets in #include directives as quotes when styling.within.preprocessor. Bug #2551033.
  • Inno Setup lexer is sensitive to whether within the [Code] section and handles comments better. Bug #2552973.
  • HTML lexer does not go into script mode when script tag is self-closing.
  • HTML folder fixed where confused by comments when fold.html.preprocessor off. Bug #2532774.
  • Perl lexer fixes problem with string matching caused by line endings. Bug #2648342.
  • Progress lexer fixes problem with "last-event:function" phrase. Bug #2483619.
  • Properties file lexer extended to handle RFC2822 text when lexer.props.allow.initial.spaces on.
  • Python lexer adds options for Python 3 and Cython.
  • Shell lexer fixes heredoc problem caused by line endings. Bug #2635257.
  • TeX lexer handles comment at end of line correctly. Bug #2698766.
  • SciTE retains selection range when performing a replace selection command. Feature #2339160.
  • SciTE definition of word characters fixed to match documentation. Bug #2464531.
  • SciTE on GTK+ performing Search or Replace when dialog already shown now brings dialog to foreground. Bug #2634224.
  • Fixed encoding bug with calltips on GTK+.
  • Block caret drawn in correct place on wrapped lines. Bug #2126144.
  • Compilation for 64 bit Windows works using MinGW. Bug #2515578.
  • Incorrect memory freeing fixed on OS X. Bug #2354098, Bug #2671749.
  • SciTE on GTK+ crash fixed on startup when child process exits before initialization complete. Bug #2716987.
  • Crash fixed when AutoCompleteGetCurrent called with no active autocompletion.
  • Flickering diminished when pressing Tab. Bug #2723006.
  • Namespace compilation issues with GTK+ on OS X fixed.
  • Increased maximum length of SciTE's Language menu on GTK+ to 100 items. Bug #2528241.
  • Fixed incorrect Python lexing for multi-line continued strings. Bug #2450963.

Release 1.77

  • Released on 18 October 2008.
  • Direct temporary access to Scintilla's text buffer to allow simple efficient interfacing to libraries like regular expression libraries.
  • Scintilla on Windows can interpret keys as Unicode even when a narrow character window with SCI_SETKEYSUNICODE.
  • Notification sent when autocompletion cancelled.
  • MySQL lexer added.
  • Lexer for gettext .po files added.
  • Abaqus lexer handles program structure more correctly.
  • Assembler lexer works with non-ASCII text.
  • C++ lexer allows mixed case doc comment tags.
  • CSS lexer updated and works with non-ASCII.
  • Diff lexer adds style for changed lines, handles subversion diffs better and fixes styling and folding for lines containing chunk dividers ("---").
  • FORTRAN lexer accepts more styles of compiler directive.
  • Haskell lexer allows hexadecimal literals.
  • HTML lexer improves PHP and JavaScript folding. PHP heredocs, nowdocs, strings and comments processed more accurately. Internet Explorer's non-standard >comment< tag supported. Script recognition in XML can be controlled with lexer.xml.allow.scripts property.
  • Lua lexer styles last character correctly.
  • Perl lexer update.
  • Comment folding implemented for Ruby.
  • Better TeX folding.
  • Verilog lexer updated.
  • Windows Batch file lexer handles %~ and %*.
  • YAML lexer allows non-ASCII text.
  • SciTE on GTK+ implements "Replace in Buffers" in advanced mode.
  • The extender OnBeforeSave method can override the default file saving behaviour by retuning true.
  • Window position and recent files list may be saved into the session file.
  • Right button press outside the selection moves the caret.
  • SciTE load.on.activate works when closing a document reveals a changed document.
  • SciTE bug fixed where eol.mode not used for initial buffer.
  • SciTE bug fixed where a file could be saved as the same name as another buffer leading to confusing behaviour.
  • Fixed display bug for long lines in same style on Windows.
  • Fixed SciTE crash when finding matching preprocessor command used on some files.
  • Drawing performance improved for files with many blank lines.
  • Folding bugs fixed where changing program text produced a decrease in fold level on a fold header line.
  • Clearing document style now clears all indicators.
  • SciTE's embedded Lua updated to 5.1.4.
  • SciTE will compile with versions of GTK+ before 2.8 again.
  • SciTE on GTK+ bug fixed where multiple files not opened.
  • Bug fixed with SCI_VCHOMEWRAP and SCI_VCHOMEWRAPEXTEND on white last line.
  • Regular expression bug fixed where "^[^(]+$" matched empty lines.

Release 1.76

  • Released on 16 March 2008.
  • Support for PowerShell.
  • Lexer added for Magik.
  • Director extension working on GTK+.
  • Director extension may set focus to SciTE through "focus:" message on GTK+.
  • C++ folder handles final line better in some cases.
  • SCI_COPYALLOWLINE added which is similar to SCI_COPY except that if the selection is empty then the line holding the caret is copied. On Windows an extra clipboard format allows pasting this as a whole line before the current selection. This behaviour is compatible with Visual Studio.
  • On Windows, the horizontal scroll bar can handle wider files.
  • On Windows, a system palette leak was fixed. Should not affect many as palette mode is rarely used.
  • Install command on GTK+ no longer tries to set explicit owner.
  • Perl lexer handles defined-or operator "//".
  • Octave lexer fixes "!=" operator.
  • Optimized selection change drawing to not redraw as much when not needed.
  • SciTE on GTK+ no longer echoes Lua commands so is same as on Windows.
  • Automatic vertical scrolling limited to one line at a time so is not too fast.
  • Crash fixed when line states set beyond end of line states. This occurred when lexers did not set a line state for each line.
  • Crash in SciTE on Windows fixed when search for 513 character string fails.
  • SciTE disables translucent features on Windows 9x due to crashes reported when using translucency.
  • Bug fixed where whitespace background was not seen on wrapped lines.

Release 1.75

  • Released on 22 November 2007.
  • Some WordList and PropSet functionality moved from Scintilla to SciTE. Projects that link to Scintilla's code for these classes may need to copy code from SciTE.
  • Borland C++ can no longer build Scintilla.
  • Invalid bytes in UTF-8 mode are displayed as hex blobs. This also prevents crashes due to passing invalid UTF-8 to platform calls.
  • Indentation guides enhanced to be visible on completely empty lines when possible.
  • The horizontal scroll bar may grow to match the widest line displayed.
  • Allow autocomplete pop ups to appear outside client rectangle in some cases.
  • When line state changed, SC_MOD_CHANGELINESTATE modification notification sent and margin redrawn.
  • SciTE scripts can access the menu command values IDM_*.
  • SciTE's statement.end property has been implemented again.
  • SciTE shows paths and matches in different styles for Find In Files.
  • Incremental search in SciTE for Windows is modeless to make it easier to exit.
  • Folding performance improved.
  • SciTE for GTK+ now includes a Browse button in the Find In Files dialog.
  • On Windows versions that support Unicode well, Scintilla is a wide character window which allows input for some less common languages like Armenian, Devanagari, Tamil, and Georgian. To fully benefit, applications should use wide character calls.
  • Lua function names are exported from SciTE to allow some extension libraries to work.
  • Lexers added for Abaqus, Ansys APDL, Asymptote, and R.
  • SCI_DELWORDRIGHTEND added for closer compatibility with GTK+ entry widget.
  • The styling buffer may now use all 8 bits in each byte for lexical states with 0 bits for indicators.
  • Multiple characters may be set for SciTE's calltip.<lexer>.parameters.start property.
  • Bash lexer handles octal literals.
  • C++/JavaScript lexer recognizes regex literals in more situations.
  • Haskell lexer fixed for quoted strings.
  • HTML/XML lexer does not notice XML indicator if there is non-whitespace between the "<?" and "XML". ASP problem fixed where </ is used inside a comment.
  • Error messages from Lua 5.1 are recognized.
  • Folding implemented for Metapost.
  • Perl lexer enhanced for handling minus-prefixed barewords, underscores in numeric literals and vector/version strings, ^D and ^Z similar to __END__, subroutine prototypes as a new lexical class, formats and format blocks as new lexical classes, and '/' suffixed keywords and barewords.
  • Python lexer styles all of a decorator in the decorator style rather than just the name.
  • YAML lexer styles colons as operators.
  • Fixed SciTE bug where undo would group together multiple separate modifications.
  • Bug fixed where setting background colour of calltip failed.
  • SciTE allows wildcard suffixes for file pattern based properties.
  • SciTE on GTK+ bug fixed where user not prompted to save untitled buffer.
  • SciTE bug fixed where property values from one file were not seen by lower priority files.
  • Bug fixed when showing selection with a foreground colour change which highlighted an incorrect range in some positions.
  • Cut now invokes SCN_MODIFYATTEMPTRO notification.
  • Bug fixed where caret not shown at beginning of wrapped lines. Caret made visible in some cases after wrapping and scroll bar updated after wrapping.
  • Modern indicators now work on wrapped lines.
  • Some crashes fixed for 64-bit GTK+.
  • On GTK+ clipboard features improved for VMWare tools copy and paste. SciTE exports the clipboard more consistently on shut down.

Release 1.74

  • Released on 18 June 2007.
  • OS X support.
  • Indicators changed to be a separate data structure allowing more indicators. Storing indicators in high bits of styling bytes is deprecated and will be removed in the next version.
  • Unicode support extended to all Unicode characters not just the Basic Multilingual Plane.
  • Performance improved on wide lines by breaking long runs in a single style into shorter segments.
  • Performance improved by caching layout of short text segments.
  • SciTE includes Lua 5.1.
  • Caret may be displayed as a block.
  • Lexer added for GAP.
  • Lexer added for PL/M.
  • Lexer added for Progress.
  • SciTE session files have changed format to be like other SciTE .properties files and now use the extension .session. Bookmarks and folds may optionally be saved in session files. Session files created with previous versions of SciTE will not load into this version.
  • SciTE's extension and scripting interfaces add OnKey, OnDwellStart, and OnClose methods.
  • On GTK+, copying to the clipboard does not include the text/urilist type since this caused problems when pasting into Open Office.
  • On GTK+, Scintilla defaults caret blink rate to platform preference.
  • Dragging does not start until the mouse has been dragged a certain amount. This stops spurious drags when just clicking inside the selection.
  • Bug fixed where brace highlight not shown when caret line background set.
  • Bug fixed in Ruby lexer where out of bounds access could occur.
  • Bug fixed in XML folding where tags were not being folded because they are singletons in HTML.
  • Bug fixed when many font names used.
  • Layout bug fixed on GTK+ where fonts have ligatures available.
  • Bug fixed with SCI_LINETRANSPOSE on a blank line.
  • SciTE hang fixed when using UNC path with directory properties feature.
  • Bug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it can work when source only provides Unicode or when using an encoding different from the system default.
  • SciTE bug on GTK+ fixed where Stop Executing did not work when more than a single process started.
  • SciTE bug on GTK+ fixed where mouse wheel was not switching between buffers.
  • Minor line end fix to PostScript lexer.

Release 1.73

  • Released on 31 March 2007.
  • SciTE adds a Directory properties file to configure behaviour for files in a directory and its subdirectories.
  • Style changes may be made during text modification events.
  • Regular expressions recognize \d, \D, \s, \S, \w, \W, and \xHH.
  • Support for cmake language added.
  • More Scintilla properties can be queried.
  • Edge line drawn under text.
  • A savesession command added to SciTE director interface.
  • SciTE File | Encoding menu item names changed to be less confusing.
  • SciTE on GTK+ dialog buttons reordered to follow guidelines.
  • SciTE on GTK+ removed GTK+ 1.x compatible file dialog code.
  • SciTE on GTK+ recognizes key names KeypadMultiply and KeypadDivide.
  • Background colour of line wrapping visual flag changed to STYLE_DEFAULT.
  • Makefile lexing enhanced for ':=' operator and when lines start with tab.
  • TADS3 lexer and folder improved.
  • SCN_DOUBLECLICK notification may set SCI_SHIFT, SCI_CTRL, and SCI_ALT flags on modifiers field.
  • Slow folding of large constructs in Python fixed.
  • MSSQL folding fixed to be case-insensitive and fold at more keywords.
  • SciTE's brace matching works better for HTML.
  • Determining API list items checks for specified parameters start character before default '('.
  • Hang fixed in HTML lexer.
  • Bug fixed in with LineTranspose command where markers could move to different line.
  • Memory released when buffer completely emptied.
  • If translucency not available on Windows, draw rectangular outline instead.
  • Bash lexer handles "-x" in "--x-includes..." better.
  • AutoIt3 lexer fixes string followed by '+'.
  • LinesJoin fixed where it stopped early due to not adjusting for inserted spaces..
  • StutteredPageDown fixed when lines wrapped.
  • FormatRange fixed to not double count line number width which could lead to a large space.
  • SciTE Export As PDF and Latex commands fixed to format floating point numbers with '.' even in locales that use ','.
  • SciTE bug fixed where File | New could produce buffer with contents of previous file when using read-only mode.
  • SciTE retains current scroll position when switching buffers and fold.on.open set.
  • SciTE crash fixed where '*' used to invoke parameters dialog.
  • SciTE bugs when writing large UCS-2 files fixed.
  • Bug fixed when scrolling inside a SCN_PAINTED event by invalidating window rather than trying to perform synchronous painting.
  • SciTE for GTK+ View | Full Screen works on recent versions of GTK+.
  • SciTE for Windows enables and disables toolbar commands correctly.

Release 1.72

  • Released on 15 January 2007.
  • Performance of per-line data improved.
  • SC_STARTACTION flag set on the first modification notification in an undo transaction to help synchronize the container's undo stack with Scintilla's.
  • On GTK+ drag and drop defaults to move rather than copy.
  • Scintilla supports extending appearance of selection to right hand margin.
  • Incremental search available on GTK+.
  • SciTE Indentation Settings dialog available on GTK+ and adds a "Convert" button.
  • Find in Files can optionally ignore binary files or directories that start with ".".
  • Lexer added for "D" language.
  • Export as HTML shows folding with underline lines and +/- symbols.
  • Ruby lexer interprets interpolated strings as expressions.
  • Lua lexer fixes some cases of numeric literals.
  • C++ folder fixes bug with "@" in doc comments.
  • NSIS folder handles !if and related commands.
  • Inno setup lexer adds styling for single and double quoted strings.
  • Matlab lexer handles backslashes in string literals correctly.
  • HTML lexer fixed to allow "?>" in comments in Basic script.
  • Added key codes for Windows key and Menu key.
  • Lua script method scite.MenuCommand(x) performs a menu command.
  • SciTE bug fixed with box comment command near start of file setting selection to end of file.
  • SciTE on GTK+, fixed loop that occurred with automatic loading for an unreadable file.
  • SciTE asks whether to save files when Windows shuts down.
  • Save Session on Windows now defaults the extension to "ses".
  • Bug fixed with single character keywords.
  • Fixed infinite loop for SCI_GETCOLUMN for position beyond end of document.
  • Fixed failure to accept typing on Solaris/GTK+ when using default ISO-8859-1 encoding.
  • Fixed warning from Lua in SciTE when creating a new buffer when already have maximum number of buffers open.
  • Crash fixed with "%%" at end of batch file.

Release 1.71

  • Released on 21 August 2006.
  • Double click notification includes line and position.
  • VB lexer bugs fixed for preprocessor directive below a comment or some other states and to use string not closed style back to the starting quote when there are internal doubled quotes.
  • C++ lexer allows identifiers to contain '$' and non-ASCII characters such as UTF-8. The '$' character can be disallowed with lexer.cpp.allow.dollars=0.
  • Perl lexer allows UTF-8 identifiers and has some other small improvements.
  • SciTE's $(CurrentWord) uses word.characters.<filepattern> to define the word rather than a hardcoded list of word characters.
  • SciTE Export as HTML adds encoding information for UTF-8 file and fixes DOCTYPE.
  • SciTE session and .recent files default to the user properties directory rather than global properties directory.
  • Left and right scroll events handled correctly on GTK+ and horizontal scroll bar has more sensible distances for page and arrow clicks.
  • SciTE on GTK+ tab bar fixed to work on recent versions of GTK+.
  • On GTK+, if the approximate character set conversion is unavailable, a second attempt is made without approximations. This may allow keyboard input and paste to work on older systems.
  • SciTE on GTK+ can redefine the Insert key.
  • SciTE scripting interface bug fixed where some string properties could not be changed.

Release 1.70

  • Released on 20 June 2006.
  • On GTK+, character set conversion is performed using an option that allows approximate conversions rather than failures when a character can not be converted. This may lead to similar characters being inserted or when no similar character is available a '?' may be inserted.
  • On GTK+, the internationalized IM (Input Method) feature is used for all typed input for all character sets.
  • Scintilla has new margin types SC_MARGIN_BACK and SC_MARGIN_FORE that use the default style's background and foreground colours (normally white and black) as the background to the margin.
  • Scintilla/GTK+ allows file drops on Windows when drop is of type DROPFILES_DND as well as text/uri-list.
  • Code page can only be set to one of the listed valid values.
  • Text wrapping fixed for cases where insertion was not wide enough to trigger wrapping before being styled but was after styling.
  • SciTE find marks are removed before printing or exporting to avoid producing incorrect styles.

Release 1.69

  • Released on 29 May 2006.
  • SciTE supports z-order based buffer switching on Ctrl+Tab.
  • Translucent support for selection and whole line markers.
  • SciTE may have per-language abbreviations files.
  • Support for Spice language.
  • On GTK+ autocompletion lists are optimized and use correct selection colours.
  • On GTK+ the URI data type is preferred in drag and drop so that applications will see files dragged from the shell rather than dragging the text of the file name into the document.
  • Increased number of margins to 5.
  • Basic lexer allows include directive $include: "file name".
  • SQL lexer no longer bases folding on indentation.
  • Line ends are transformed when copied to clipboard on Windows/GTK+2 as well as Windows/GTK+ 1.
  • Lexing code masks off the indicator bits on the start style before calling the lexer to avoid confusing the lexer when an application has used an indicator.
  • SciTE savebefore:yes only saves the file when it has been changed.
  • SciTE adds output.initial.hide setting to allow setting the size of the output pane without it showing initially.
  • SciTE on Windows Go To dialog allows line number with more digits.
  • Bug in HTML lexer fixed where a segment of PHP could switch scripting language based on earlier text on that line.
  • Memory bug fixed when freeing regions on GTK+. Other minor bugs fixed on GTK+.
  • Deprecated GTK+ calls in Scintilla replaced with current calls.
  • Fixed a SciTE bug where closing the final buffer, if read-only, left the text present in an untitled buffer.
  • Bug fixed in bash lexer that prevented folding.
  • Crash fixed in bash lexer when backslash at end of file.
  • Crash on recent releases of GTK+ 2.x avoided by changing default font from X core font to Pango font "!Sans".
  • Fix for SciTE properties files where multiline properties continued over completely blank lines.
  • Bug fixed in SciTE/GTK+ director interface where more data available than buffer size.
  • Minor visual fixes to SciTE splitter on GTK+.

Release 1.68

  • Released on 9 March 2006.
  • Translucent drawing implemented for caret line and box indicators.
  • Lexer specifically for TCL is much more accurate than reusing C++ lexer.
  • Support for Inno Setup scripts.
  • Support for Opal language.
  • Calltips may use a new style, STYLE_CALLTIP which allows choosing a different font for calltips.
  • Python lexer styles comments on decorators.
  • HTML lexer refined handling of "?>" and "%>" within server side scripts.
  • Batch file lexer improved.
  • Eiffel lexer doesn't treat '.' as a name character.
  • Lua lexer handles length operator, #, and hex literals.
  • Properties file lexer has separate style for keys.
  • PL/SQL folding improved.
  • SciTE Replace dialog always searches in forwards direction.
  • SciTE can detect language of file from initial #! line.
  • SciTE on GTK+ supports output.scroll=2 setting.
  • SciTE can perform an import a properties file from the command line.
  • Set of word characters used for regular expression \< and \>.
  • Bug fixed with SCI_COPYTEXT stopping too early.
  • Bug fixed with splitting lines so that all lines are split.
  • SciTE calls OnSwitchFile when closing one buffer causes a switch to another.
  • SciTE bug fixed where properties were being reevaluated without good reason after running a macro.
  • Crash fixed when clearing document with some lines contracted in word wrap mode.
  • Palette expands as more entries are needed.
  • SCI_POSITIONFROMPOINT returns more reasonable value when close to last text on a line.
  • On Windows, long pieces of text may be drawn in segments if they fail to draw as a whole.
  • Bug fixed with bad drawing when some visual changes made inside SCN_UPDATEUI notification.
  • SciTE bug fixed with groupundo setting.

Release 1.67

  • Released on 17 December 2005.
  • Scintilla checks the paint region more accurately when seeing if an area is being repainted. Platform layer implementations may need to change for this to take effect. This fixes some drawing and styling bugs. Also optimized some parts of marker code to only redraw the line of the marker rather than whole of the margin.
  • Quoted identifier style for SQL. SQL folding performed more simply.
  • Ruby lexer improved to better handle here documents and non-ASCII characters.
  • Lua lexer supports long string and block comment syntax from Lua 5.1.
  • Bash lexer handles here documents better.
  • JavaScript lexing recognizes regular expressions more accurately and includes flag characters in the regular expression style. This is both in JavaScript files and when JavaScript is embedded in HTML.
  • Scintilla API provided to reveal how many style bits are needed for the current lexer.
  • Selection duplicate added.
  • Scintilla API for adding a set of markers to a line.
  • DBCS encodings work on Windows 9x.
  • Convention defined for property names to be used by lexers and folders so they can be automatically discovered and forwarded from containers.
  • Default bookmark in SciTE changed to a blue sphere image.
  • SciTE stores the time of last asking for a save separately for each buffer which fixes bugs with automatic reloading.
  • On Windows, pasted text has line ends converted to current preference. GTK+ already did this.
  • Kid template language better handled by HTML lexer by finishing ASP Python mode when a ?> is found.
  • SciTE counts number of characters in a rectangular selection correctly.
  • 64-bit compatibility improved. One change that may affect user code is that the notification message header changed to include a pointer-sized id field to match the current Windows definition.
  • Empty ranges can no longer be dragged.
  • Crash fixed when calls made that use layout inside the painted notification.
  • Bug fixed where Scintilla created pixmap buffers that were too large leading to failures when many instances used.
  • SciTE sets the directory of a new file to the directory of the currently active file.
  • SciTE allows choosing a code page for the output pane.
  • SciTE HTML exporter no longer honours monospaced font setting.
  • Line layout cache in page mode caches the line of the caret. An assertion is now used to ensure that the layout reentrancy problem that caused this is easier to find.
  • Speed optimized for long lines and lines containing many control characters.
  • Bug fixed in brace matching in DBCS files where byte inside character is same as brace.
  • Indent command does not indent empty lines.
  • SciTE bug fixed for commands that operate on files with empty extensions.
  • SciTE bug fixed where monospaced option was copied for subsequently opened files.
  • SciTE on Windows bug fixed in the display of a non-ASCII search string which can not be found.
  • Bugs fixed with nested calls displaying a new calltip while one is already displayed.
  • Bug fixed when styling PHP strings.
  • Bug fixed when styling C++ continued preprocessor lines.
  • SciTE bug fixed where opening file from recently used list reset choice of language.
  • SciTE bug fixed when compiled with NO_EXTENSIONS and closing one file closes the application.
  • SciTE crash fixed for error messages that look like Lua messages but aren't in the same order.
  • Remaining fold box support deprecated. The symbols SC_FOLDLEVELBOXHEADERFLAG, SC_FOLDLEVELBOXFOOTERFLAG, SC_FOLDLEVELCONTRACTED, SC_FOLDLEVELUNINDENT, and SC_FOLDFLAG_BOX are deprecated.

Release 1.66

  • Released on 26 August 2005.
  • New, more ambitious Ruby lexer.
  • SciTE Find in Files dialog has options for matching case and whole words which are enabled when the internal find command is used.
  • SciTE output pane can display automatic completion after "$(" typed. An initial ">" on a line is ignored when Enter pressed.
  • C++ lexer recognizes keywords within line doc comments. It continues styles over line end characters more consistently so that eolfilled style can be used for preprocessor lines and line comments.
  • VB lexer improves handling of file numbers and date literals.
  • Lua folder handles repeat until, nested comments and nested strings.
  • POV lexer improves handling of comment lines.
  • AU3 lexer and folder updated. COMOBJ style added.
  • Bug fixed with text display on GTK+ with Pango 1.8.
  • Caret painting avoided when not focused.
  • SciTE on GTK+ handles file names used to reference properties as case-sensitive.
  • SciTE on GTK+ Save As and Export commands set the file name field. On GTK+ the Export commands modify the file name in the same way as on Windows.
  • Fixed SciTE problem where confirmation was not displaying when closing a file where all contents had been deleted.
  • Middle click on SciTE tab now closes correct buffer on Windows when tool bar is visible.
  • SciTE bugs fixed where files contained in directory that includes '.' character.
  • SciTE bug fixed where import in user options was reading file from directory of global options.
  • SciTE calltip bug fixed where single line calltips had arrow displayed incorrectly.
  • SciTE folding bug fixed where empty lines were shown for no reason.
  • Bug fixed where 2 byte per pixel XPM images caused crash although they are still not displayed.
  • Autocompletion list size tweaked.

Release 1.65

  • Released on 1 August 2005.
  • FreeBasic support.
  • SciTE on Windows handles command line arguments "-" (read standard input into buffer), "--" (read standard input into output pane) and "-@" (read file names from standard input and open each).
  • SciTE includes a simple implementation of Find in Files which is used if no find.command is set.
  • SciTE can close tabs with a mouse middle click.
  • SciTE includes a save.all.for.build setting.
  • Folder for MSSQL.
  • Batch file lexer understands more of the syntax and the behaviour of built in commands.
  • Perl lexer handles here docs better; disambiguates barewords, quote-like delimiters, and repetition operators; handles Pods after __END__; recognizes numbers better; and handles some typeglob special variables.
  • Lisp adds more lexical states.
  • PHP allows spaces after <<<.
  • TADS3 has a simpler set of states and recognizes identifiers.
  • Avenue elseif folds better.
  • Errorlist lexer treats lines starting with '+++' and '---' as separate styles from '+' and '-' as they indicate file names in diffs.
  • SciTE error recognizer handles file paths in extra explanatory lines from MSVC and in '+++' and '---' lines from diff.
  • Bugs fixed in SciTE and Scintilla folding behaviour when text pasted before folded text caused unnecessary unfolding and cutting text could lead to text being irretrievably hidden.
  • SciTE on Windows uses correct font for dialogs and better font for tab bar allowing better localization
  • When Windows is used with a secondary monitor before the primary monitor, autocompletion lists are not forced onto the primary monitor.
  • Scintilla calltip bug fixed where down arrow setting wrong value in notification if not in first line. SciTE bug fixed where second arrow only shown on multiple line calltip and was therefore misinterpreting the notification value.
  • Lexers will no longer be re-entered recursively during, for example, fold level setting.
  • Undo of typing in overwrite mode undoes one character at a time rather than requiring a removal and addition step for each character.
  • EM_EXSETSEL(0,-1) fixed.
  • Bug fixed where part of a rectangular selection was not shown as selected.
  • Autocomplete window size fixed.

Release 1.64

  • Released on 6 June 2005.
  • TADS3 support
  • Smalltalk support.
  • Rebol support.
  • Flagship (Clipper / XBase) support.
  • CSound support.
  • SQL enhanced to support SQL*Plus.
  • SC_MARK_FULLRECT margin marker fills the whole marker margin for marked lines with a colour.
  • Performance improved for some large undo and redo operations and modification flags added in notifications.
  • SciTE adds command equivalents for fold margin mouse actions.
  • SciTE adds OnUpdateUI to set of events that can be handled by a Lua script.
  • Properties set in Scintilla can be read.
  • GTK+ SciTE exit confirmation adds Cancel button.
  • More accurate lexing of numbers in PHP and Caml.
  • Perl can fold POD and package sections. POD verbatim section style. Globbing syntax recognized better.
  • Context menu moved slightly on GTK+ so that it will be under the mouse and will stay open if just clicked rather than held.
  • Rectangular selection paste works the same whichever direction the selection was dragged in.
  • EncodedFromUTF8 handles -1 length argument as documented.
  • Undo and redo can cause SCN_MODIFYATTEMPTRO notifications.
  • Indicators display correctly when they start at the second character on a line.
  • SciTE Export As HTML uses standards compliant CSS.
  • SciTE automatic indentation handles keywords for indentation better.
  • SciTE fold.comment.python property removed as does not work.
  • Fixed problem with character set conversion when pasting on GTK+.
  • SciTE default character set changed from ANSI_CHARSET to DEFAULT_CHARSET.
  • Fixed crash when creating empty autocompletion list.
  • Autocomplete window size made larger under some conditions to make truncation less common.
  • Bug fixed where changing case of a selection did not affect initial character of lines in multi-byte encodings.
  • Bug fixed where rectangular selection not displayed after Alt+Shift+Click.

Release 1.63

  • Released on 4 April 2005.
  • Autocompletion on Windows changed to use pop up window, be faster, allow choice of maximum width and height, and to highlight only the text of the selected item rather than both the text and icon if any.
  • Extra items can be added to the context menu in SciTE.
  • Character wrap mode in Scintilla helps East Asian languages.
  • Lexer added for Haskell.
  • Objective Caml support.
  • BlitzBasic and PureBasic support.
  • CSS support updated to handle CSS2.
  • C++ lexer is more selective about document comment keywords.
  • AutoIt 3 lexer improved.
  • Lua lexer styles end of line characters on comment and preprocessor lines so that the eolfilled style can be applied to them.
  • NSIS support updated for line continuations, box comments, SectionGroup and PageEx, and with more up-to-date properties.
  • Clarion lexer updated to perform folding and have more styles.
  • SQL lexer gains second set of keywords.
  • Errorlist lexer recognizes Borland Delphi error messages.
  • Method added for determining number of visual lines occupied by a document line due to wrapping.
  • Sticky caret mode does not modify the preferred caret x position when typing and may be useful for typing columns of text.
  • Dwell end notification sent when scroll occurs.
  • On GTK+, Scintilla requisition height is screen height rather than large fixed value.
  • Case insensitive autocompletion prefers exact case match.
  • SCI_PARADOWN and SCI_PARAUP treat lines containing only white space as empty and handle text hidden by folding.
  • Scintilla on Windows supports WM_PRINTCLIENT although there are some limitations.
  • SCN_AUTOCSELECTION notification sent when user selects from autoselection list.
  • SciTE's standard properties file sets buffers to 10, uses Pango fonts on GTK+ and has dropped several languages to make the menu fit on screen.
  • SciTE's encoding cookie detection loosened so that common XML files will load in UTF-8 if that is their declared encoding.
  • SciTE on GTK+ changes menus and toolbars to not be detachable unless turned on with a property. Menus no longer tear off. The toolbar may be set to use the default theme icons rather than SciTE's set. Changed key for View | End of Line because of a conflict. Language menu can contain more items.
  • SciTE on GTK+ 2.x allows the height and width of the file open file chooser to be set, for the show hidden files check box to be set from an option and for it to be opened in the directory of the current file explicitly. Enter key works in save chooser.
  • Scintilla lexers should no longer see bits in style bytes that are outside the set they modify so should be able to correctly lex documents where the container has used indicators.
  • SciTE no longer asks to save before performing a revert.
  • SciTE director interface adds a reloadproperties command to reload properties from files.
  • Allow build on CYGWIN platform.
  • Allow use from LccWin compiler.
  • SCI_COLOURISE for SCLEX_CONTAINER causes a SCN_STYLENEEDED notification.
  • Bugs fixed in lexing of HTML/ASP/JScript.
  • Fix for folding becoming confused.
  • On Windows, fixes for Japanese Input Method Editor and for 8 bit Katakana characters.
  • Fixed buffer size bug avoided when typing long words by making buffer bigger.
  • Undo after automatic indentation more sensible.
  • SciTE menus on GTK+ uses Shift and Ctrl rather than old style abbreviations.
  • SciTE full screen mode on Windows calculates size more correctly.
  • SciTE on Windows menus work better with skinning applications.
  • Searching bugs fixed.
  • Colours reallocated when changing image using SCI_REGISTERIMAGE.
  • Caret stays visible when Enter held down.
  • Undo of automatic indentation more reasonable.
  • High processor usage fixed in background wrapping under some circumstances.
  • Crashing bug fixed on AMD64.
  • SciTE crashing bug fixed when position.height or position.width not set.
  • Crashing bug on GTK+ fixed when setting cursor and window is NULL.
  • Crashing bug on GTK+ preedit window fixed.
  • SciTE crashing bug fixed in incremental search on Windows ME.
  • SciTE on Windows has a optional find and replace dialogs that can search through all buffers and search within a particular style number.

Release 1.62

  • Released on 31 October 2004.
  • Lexer added for ASN.1.
  • Lexer added for VHDL.
  • On Windows, an invisible system caret is used to allow screen readers to determine where the caret is. The visible caret is still drawn by the painting code.
  • On GTK+, Scintilla has methods to read the target as UTF-8 and to convert a string from UTF-8 to the document encoding. This eases integration with containers that use the UTF-8 encoding which is the API encoding for GTK+ 2.
  • SciTE on GTK+2 and Windows NT/2000/XP allows search and replace of Unicode text.
  • SciTE calltips allow setting the characters used to start and end parameter lists and to separate parameters.
  • FindColumn method converts a line and column into a position, taking into account tabs and multi-byte characters.
  • On Windows, when Scintilla copies text to the clipboard as Unicode, it avoids adding an ANSI copy as the system will automatically convert as required in a context-sensitive manner.
  • SciTE indent.auto setting automatically determines indent.size and use.tabs from document contents.
  • SciTE defines a CurrentMessage property that holds the most recently selected output pane message.
  • SciTE Lua scripting enhanced with
    • A Lua table called 'buffer' is associated with each buffer and can be used to maintain buffer-specific state.
    • A 'scite' object allows interaction with the application such as opening files from script.
    • Dynamic properties can be reset by assigning nil to a given key in the props table.
    • An 'OnClear' event fires whenever properties and extension scripts are about to be reloaded.
    • On Windows, loadlib is enabled and can be used to access Lua binary modules / DLLs.
  • SciTE Find in Files on Windows can be used in a modeless way and gains a '..' button to move up to the parent directory. It is also wider so that longer paths can be seen.
  • Close buttons added to dialogs in SciTE on Windows.
  • SciTE on GTK+ 2 has a "hidden files" check box in file open dialog.
  • SciTE use.monospaced setting removed. More information in the FAQ.
  • APDL lexer updated with more lexical classes
  • AutoIt3 lexer updated.
  • Ada lexer fixed to support non-ASCII text.
  • Cpp lexer now only matches exactly three slashes as starting a doc-comment so that lines of slashes are seen as a normal comment. Line ending characters are appear in default style on preprocessor and single line comment lines.
  • CSS lexer updated to support CSS2 including second set of keywords.
  • Errorlist lexer now understands Java stack trace lines.
  • SciTE's handling of HTML Tidy messages jumps to column as well as line indicated.
  • Lisp lexer allows multiline strings.
  • Lua lexer treats .. as an operator when between identifiers.
  • PHP lexer handles 'e' in numerical literals.
  • PowerBasic lexer updated for macros and optimized.
  • Properties file folder changed to leave lines before a header at the base level and thus avoid a vertical line when using connected folding symbols.
  • GTK+ on Windows version uses Alt for rectangular selection to be compatible with platform convention.
  • SciTE abbreviations file moved from system directory to user directory so each user can have separate abbreviations.
  • SciTE on GTK+ has improved .desktop file and make install support that may lead to better integration with system shell.
  • Disabling of themed background drawing on GTK+ extended to all cases.
  • SciTE date formatting on Windows performed with the user setting rather than the system setting.
  • GTK+ 2 redraw while scrolling fixed.
  • Recursive property definitions are safer, avoiding expansion when detected.
  • SciTE thread synchronization for scripts no longer uses HWND_MESSAGE so is compatible with older versions of Windows. Other Lua scripting bugs fixed.
  • SciTE on Windows localization of menu accelerators changed to be compatible with alternative UI themes.
  • SciTE on Windows full screen mode now fits better when menu different height to title bar height.
  • SC_MARK_EMPTY marker is now invisible and does not change the background colour.
  • Bug fixed in HTML lexer to allow use of <?xml in strings in scripts without triggering xml mode.
  • Bug fixed in SciTE abbreviation expansion that could break indentation or crash.
  • Bug fixed when searching for a whole word string that ends one character before end of document.
  • Drawing bug fixed when indicators drawn on wrapped lines.
  • Bug fixed when double clicking a hotspot.
  • Bug fixed where autocompletion would remove typed text if no match found.
  • Bug fixed where display does not scroll when inserting in long wrapped line.
  • Bug fixed where SCI_MARKERDELETEALL would only remove one of the markers on a line that contained multiple markers with the same number.
  • Bug fixed where markers would move when converting line endings.
  • Bug fixed where SCI_LINEENDWRAP would move too far when line ends are visible.
  • Bugs fixed where calltips with unicode or other non-ASCII text would display incorrectly.
  • Bug fixed in determining if at save point after undoing from save point and then performing changes.
  • Bug fixed on GTK+ using unsupported code pages where extraneous text could be drawn.
  • Bug fixed in drag and drop code on Windows where dragging from SciTE to Firefox could hang both applications.
  • Crashing bug fixed on GTK+ when no font allocation succeeds.
  • Crashing bug fixed when autocompleting word longer than 1000 characters.
  • SciTE crashing bug fixed when both Find and Replace dialogs shown by disallowing this situation.

Release 1.61

  • Released on 29 May 2004.
  • Improvements to selection handling on GTK+.
  • SciTE on GTK+ 2.4 uses the improved file chooser which allows file extension filters, multiple selection, and remembers favourite directories.
  • SciTE Load Session and Save Session commands available on GTK+.
  • SciTE lists Lua Startup Script in Options menu when loaded.
  • In SciTE, OnUserListSelection can be implemented in Lua.
  • SciTE on Windows has a context menu on the file tabs.
  • SQL lexer allows '#' comments and optionally '\' quoting inside strings.
  • Mssql lexer improved.
  • AutoIt3 lexer updated.
  • Perl lexer recognizes regular expression use better.
  • Errorlist lexer understands Lua tracebacks and copes with findstr output for file names that end with digits.
  • Drawing of lines on GTK+ improved and made more like Windows without final point.
  • SciTE on GTK+ uses a high resolution window icon.
  • SciTE can be set to warn before loading files larger than a particular size.
  • SciTE Lua scripting bugs fixed included a crashing bug when using an undefined function name that would go before first actual name.
  • SciTE bug fixed where a modified buffer was not saved if it was the last buffer and was not current when the New command used.
  • SciTE monofont mode no longer affects line numbers.
  • Crashing bug in SciTE avoided by not allowing both the Find and Replace dialogs to be visible at one time.
  • Crashing bug in SciTE fixed when Lua scripts were being run concurrently.
  • Bug fixed that caused incorrect line number width in SciTE.
  • PHP folding bug fixed.
  • Regression fixed when setting word characters to not include some of the standard word characters.

Release 1.60

  • Released on 1 May 2004.
  • SciTE can be scripted using the Lua programming language.
  • command.mode is a better way to specify tool command options in SciTE.
  • Continuation markers can be displayed so that you can see which lines are wrapped.
  • Lexer for Gui4Cli language.
  • Lexer for Kix language.
  • Lexer for Specman E language.
  • Lexer for AutoIt3 language.
  • Lexer for APDL language.
  • Lexer for Bash language. Also reasonable for other Unix shells.
  • SciTE can load lexers implemented in external shared libraries.
  • Perl treats "." not as part of an identifier and interprets '/' and '->' correctly in more circumstances.
  • PHP recognizes variables within strings.
  • NSIS has properties "nsis.uservars" and "nsis.ignorecase".
  • MSSQL lexer adds keyword list for operators and stored procedures, defines '(', ')', and ',' as operators and changes some other details.
  • Input method preedit window on GTK+ 2 may support some Asian languages.
  • Platform interface adds an extra platform-specific flag to Font::Create. Used on wxWidgets to choose antialiased text display but may be used for any task that a platform needs.
  • OnBeforeSave method added to Extension interface.
  • Scintilla methods that return strings can be called with a NULL pointer to find out how long the string should be.
  • Visual Studio .NET project file now in VS .NET 2003 format so can not be used directly in VS .NET 2002.
  • Scintilla can be built with GTK+ 2 on Windows.
  • Updated RPM spec for SciTE on GTK+.
  • GTK+ makefile for SciTE allows selection of destination directory, creates destination directories and sets file modes and owners better.
  • Tab indents now go to next tab multiple rather than add tab size.
  • SciTE abbreviations now use the longest possible match rather than the shortest.
  • Autocompletion does not remove prefix when actioned with no choice selected.
  • Autocompletion cancels when moving beyond the start position, not at the start position.
  • SciTE now shows only calltips for functions that match exactly, not those that match as a prefix.
  • SciTE can repair box comment sections where some lines were added without the box comment middle line prefix.
  • Alt+ works in user.shortcuts on Windows.
  • SciTE on GTK+ enables replace in selection for rectangular selections.
  • Key bindings for command.shortcut implemented in a way that doesn't break when the menus are localized.
  • Drawing of background on GTK+ faster as theme drawing disabled.
  • On GTK+, calltips are moved back onto the screen if they extend beyond the screen bounds.
  • On Windows, the Scintilla object is destroyed on WM_NCDESTROY rather than WM_DESTROY which arrives earlier. This fixes some problems when Scintilla was subclassed.
  • The zorder switching feature removed due to number of crashing bugs.
  • Code for XPM images made more robust.
  • Bug fixed with primary selection on GTK+.
  • On GTK+ 2, copied or cut text can still be pasted after the Scintilla widget is destroyed.
  • Styling change not visible problem fixed when line was cached.
  • Bug in SciTE on Windows fixed where clipboard commands stopped working.
  • Crashing bugs in display fixed in line layout cache.
  • Crashing bug may be fixed on AMD64 processor on GTK+.
  • Rare hanging crash fixed in Python lexer.
  • Display bugs fixed with DBCS characters on GTK+.
  • Autocompletion lists on GTK+ 2 are not sorted by the ListModel as the contents are sorted correctly by Scintilla.
  • SciTE fixed to not open extra untitled buffers with check.if.already.open.
  • Sizing bug fixed on GTK+ when window resized while unmapped.
  • Text drawing crashing bug fixed on GTK+ with non-Pango fonts and long strings.
  • Fixed some issues if characters are unsigned.
  • Fixes in NSIS support.

Release 1.59

  • Released on 19 February 2004.
  • SciTE Options and Language menus reduced in length by commenting out some languages. Languages can be enabled by editing the global properties file.
  • Verilog language supported.
  • Lexer for Microsoft dialect of SQL. SciTE properties file available from extras page.
  • Perl lexer disambiguates '/' better.
  • NSIS lexer improved with a lexical class for numbers, option for ignoring case of keywords, and folds only occurring when folding keyword first on line.
  • PowerBasic lexer improved with styles for constants and assembler and folding improvements.
  • On GTK+, input method support only invoked for Asian languages and not European languages as the old European keyboard code works better.
  • Scintilla can be requested to allocate a certain amount and so avoid repeated reallocations and memory inefficiencies. SciTE uses this and so should require less memory.
  • SciTE's "toggle current fold" works when invoked on child line as well as fold header.
  • SciTE output pane scrolling can be set to not scroll back to start after completion of command.
  • SciTE has a $(SessionPath) property.
  • SciTE on Windows can use VK_* codes for keys in user.shortcuts.
  • Stack overwrite bug fixed in SciTE's command to move to the end of a preprocessor conditional.
  • Bug fixed where vertical selection appeared to select a different set of characters then would be used by, for example, a copy.
  • SciTE memory leak fixed in fold state remembering.
  • Bug fixed where changing the style of some text outside the standard StyleNeeded notification would not be visible.
  • On GTK+ 2 g_iconv is used in preference to iconv, as it is provided by GTK+ so should avoid problems finding the iconv library.
  • On GTK+ fixed a style reference count bug.
  • Memory corruption bug fixed with GetSelText.
  • On Windows Scintilla deletes memory on WM_NCDESTROY rather than the earlier WM_DESTROY to avoid problems when the window is subclassed.

Release 1.58

  • Released on 11 January 2004.
  • Method to discover the currently highlighted element in an autocompletion list.
  • On GTK+, the lexers are now included in the scintilla.a library file. This will require changes to the make files of dependent projects.
  • Octave support added alongside related Matlab language and Matlab support improved.
  • VB lexer gains an unterminated string state and 4 sets of keywords.
  • Ruby lexer handles $' correctly.
  • Error line handling improved for FORTRAN compilers from Absoft and Intel.
  • International input enabled on GTK+ 2 although there is no way to choose an input method.
  • MultiplexExtension in SciTE allows multiple extensions to be used at once.
  • Regular expression replace interprets backslash expressions \a, \b, \f, \n, \r, \t, and \v in the replacement value.
  • SciTE Replace dialog displays number of replacements made when Replace All or Replace in Selection performed.
  • Localization files may contain a translation.encoding setting which is used on GTK+ 2 to automatically reencode the translation to UTF-8 so it will be the localized text will be displayed correctly.
  • SciTE on GTK+ implements check.if.already.open.
  • Make files for Mac OS X made more robust.
  • Performance improved in SciTE when switching buffers when there is a rectangular selection.
  • Fixed failure to display some text when wrapped.
  • SciTE crashes from Ctrl+Tab buffer cycling fixed. May still be some rare bugs here.
  • Crash fixed when decoding an error message that appears similar to a Borland error message.
  • Fix to auto-scrolling allows containers to implement enhanced double click selection.
  • Hang fixed in idle word wrap.
  • Crash fixed in hotspot display code..
  • SciTE on Windows Incremental Search no longer moves caret back.
  • SciTE hang fixed when performing a replace with a find string that matched zero length strings such as ".*".
  • SciTE no longer styles the whole file when saving buffer fold state as that was slow.

Release 1.57

  • Released on 27 November 2003.
  • SciTE remembers folding of each buffer.
  • Lexer for Erlang language.
  • Scintilla allows setting the set of white space characters.
  • Scintilla has 'stuttered' page movement commands to first move to top or bottom within current visible lines before scrolling.
  • Scintilla commands for moving to end of words.
  • Incremental line wrap enabled on Windows.
  • SciTE PDF exporter produces output that is more compliant with reader applications, is smaller and allows more configuration. HTML exporter optimizes size of output files.
  • SciTE defines properties PLAT_WINNT and PLAT_WIN95 on the corresponding platforms.
  • SciTE can adjust the line margin width to fit the largest line number. The line.numbers property is split between line.margin.visible and line.margin.width.
  • SciTE on GTK+ allows user defined menu accelerators. Alt can be included in user.shortcuts.
  • SciTE Language menu can have items commented out.
  • SciTE on Windows Go to dialog allows choosing a column number as well as a line number.
  • SciTE on GTK+ make file uses prefix setting more consistently.
  • Bug fixed that caused word wrapping to fail to display all text.
  • Crashing bug fixed in GTK+ version of Scintilla when using GDK fonts and opening autocompletion.
  • Bug fixed in Scintilla SCI_GETSELTEXT where an extra NUL was included at end of returned string
  • Crashing bug fixed in SciTE z-order switching implementation.
  • Hanging bug fixed in Perl lexer.
  • SciTE crashing bug fixed for using 'case' without argument in style definition.

Release 1.56

  • Released on 25 October 2003.
  • Rectangular selection can be performed using the keyboard. Greater programmatic control over rectangular selection. This has caused several changes to key bindings.
  • SciTE Replace In Selection works on rectangular selections.
  • Improved lexer for TeX, new lexer for Metapost and other support for these languages.
  • Lexer for PowerBasic.
  • Lexer for Forth.
  • YAML lexer improved to include error styling.
  • Perl lexer improved to correctly handle more cases.
  • Assembler lexer updated to support single-quote strings and fix some problems.
  • SciTE on Windows can switch between buffers in order of use (z-order) rather than static order.
  • SciTE supports adding an extension for "Open Selected Filename". The openpath setting works on GTK+.
  • SciTE can Export as XML.
  • SciTE $(SelHeight) variable gives a more natural result for empty and whole line selections.
  • Fixes to wrapping problems, such as only first display line being visible in some cases.
  • Fixes to hotspot to only highlight when over the hotspot, only use background colour when set and option to limit hotspots to a single line.
  • Small fixes to FORTRAN lexing and folding.
  • SQL lexer treats single quote strings as a separate class to double quote strings..
  • Scintilla made compatible with expectations of container widget in GTK+ 2.3.
  • Fix to strip out pixmap ID when automatically choosing from an autocompletion list with only one element.
  • SciTE bug fixed where UTF-8 files longer than 128K were gaining more than one BOM.
  • Crashing bug fixed in SciTE on GTK+ where using "Stop Executing" twice leads to all applications exiting.
  • Bug fixed in autocompletion scrolling on GTK+ 2 with a case sensitive list. The ListBox::Sort method is no longer needed or available so platform maintainers should remove it.
  • SciTE check.if.already.open setting removed from GTK+ version as unmaintained.

Release 1.55

  • Released on 25 September 2003.
  • Fix a crashing bug in indicator display in Scintilla.
  • GTK+ version now defaults to building for GTK+ 2 rather than 1.
  • Mingw make file detects compiler version and avoids options that are cause problems for some versions.
  • Large performance improvement on GTK+ 2 for long lines.
  • Incremental line wrap on GTK+.
  • International text entry works much better on GTK+ with particular improvements for Baltic languages and languages that use 'dead' accents. NUL key events such as those generated by some function keys, ignored.
  • Unicode clipboard support on GTK+.
  • Indicator type INDIC_BOX draws a rectangle around the text.
  • Clarion language support.
  • YAML language support.
  • MPT LOG language support.
  • On Windows, SciTE can switch buffers based on activation order rather than buffer number.
  • SciTE save.on.deactivate saves all buffers rather than just the current buffer.
  • Lua lexer handles non-ASCII characters correctly.
  • Error lexer understands Borland errors with pathnames that contain space.
  • On GTK+ 2, autocompletion uses TreeView rather than deprecated CList.
  • SciTE autocompletion removed when expand abbreviation command used.
  • SciTE calltips support overloaded functions.
  • When Save fails in SciTE, choice offered to Save As.
  • SciTE message boxes on Windows may be moved to front when needed.
  • Indicators drawn correctly on wrapped lines.
  • Regular expression search no longer matches characters with high bit set to characters without high bit set.
  • Hang fixed in backwards search in multi byte character documents.
  • Hang fixed in SciTE Mark All command when wrap around turned off.
  • SciTE Incremental Search no longer uses hot keys on Windows.
  • Calltips draw non-ASCII characters correctly rather than as arrows.
  • SciTE crash fixed when going to an error message with empty file name.
  • Bugs fixed in XPM image handling code.

Release 1.54

  • Released on 12 August 2003.
  • SciTE on GTK+ 2.x can display a tab bar.
  • SciTE on Windows provides incremental search.
  • Lexer for PostScript.
  • Lexer for the NSIS scripting language.
  • New lexer for POV-Ray Scene Description Language replaces previous implementation.
  • Lexer for the MMIX Assembler language.
  • Lexer for the Scriptol language.
  • Incompatibility: SQL keywords are specified in lower case rather than upper case. SQL lexer allows double quoted strings.
  • Pascal lexer: character constants that start with '#' understood, '@' only allowed within assembler blocks, '$' can be the start of a number, initial '.' in 0..constant not treated as part of a number, and assembler blocks made more distinctive.
  • Lua lexer allows '.' in keywords. Multi-line strings and comments can be folded.
  • CSS lexer handles multiple psuedoclasses.
  • Properties file folder works for INI file format.
  • Hidden indicator style allows the container to mark text within Scintilla without there being any visual effect.
  • SciTE does not prompt to save changes when the buffer is empty and untitled.
  • Modification notifications caused by SCI_INSERTSTYLEDSTRING now include the contents of the insertion.
  • SCI_MARKERDELETEALL deletes all the markers on a line rather than just the first match.
  • Better handling of 'dead' accents on GTK+ 2 for languages that use accented characters.
  • SciTE now uses value of output.vertical.size property.
  • Crash fixed in SciTE autocompletion on long lines.
  • Crash fixed in SciTE comment command on long lines.
  • Bug fixed with backwards regular expression search skipping every second match.
  • Hang fixed with regular expression replace where both target and replacement were empty.

Release 1.53

  • Released on 16 May 2003.
  • On GTK+ 2, encodings other than ASCII, Latin1, and Unicode are supported for both display and input using iconv.
  • External lexers supported on GTK+/Linux. External lexers must now be explicitly loaded with SCI_LOADLEXERLIBRARY rather than relying upon a naming convention and automatic loading.
  • Support of Lout typesetting language.
  • Support of E-Scripts language used in the POL Ultima Online Emulator.
  • Scrolling and drawing performance on GTK+ enhanced, particularly for GTK+ 2.x with an extra window for the text area avoiding conflicts with the scroll bars.
  • CopyText and CopyRange methods in Scintilla allow container to easily copy to the system clipboard.
  • Line Copy command implemented and bound to Ctrl+Shift+T.
  • Scintilla APIs PositionBefore and PositionAfter can be used to iterate through a document taking into account the encoding and multi-byte characters.
  • C++ folder can fold on the "} else {" line of an if statement by setting fold.at.else property to 1.
  • C++ lexer allows an extra set of keywords.
  • Property names and thus abbreviations may be non-ASCII.
  • Removed attempt to load a file when setting properties that was part of an old scripting experiment.
  • SciTE no longer warns about a file not existing when opening properties files from the Options menu as there is a good chance the user wants to create one.
  • Bug fixed with brace recognition in multi-byte encoded files where a partial character matched a brace byte.
  • More protection against infinite loops or recursion with recursive property definitions.
  • On Windows, cursor will no longer disappear over margins in custom builds when cursor resource not present. The Windows default cursor is displayed instead.
  • load.on.activate fixed in SciTE as was broken in 1.52.

Release 1.52

  • Released on 17 April 2003.
  • Pango font support on GTK+ 2. Unicode input improved on GTK+ 2.
  • Hotspot style implemented in Scintilla.
  • Small up and down arrows can be displayed in calltips and the container is notified when the mouse is clicked on a calltip. Normal and selected calltip text colours can be set.
  • POSIX compatibility flag in Scintilla regular expression search interprets bare ( and ) as tagged sections.
  • Error message lexer tightened to yield fewer false matches. Recognition of Lahey and Intel FORTRAN error formats.
  • Scintilla keyboard commands for moving to start and end of screen lines rather than document lines, unless already there where these keys move to the start or end of the document line.
  • Line joining command.
  • Lexer for POV-Ray.
  • Calltips on Windows are no longer clipped by the parent window.
  • Autocompletion lists are cancelled when focus leaves their parent window.
  • Move to next/previous empty line delimited paragraph key commands.
  • SciTE hang fixed with recursive property definitions by placing limit on number of substitutions performed.
  • SciTE Export as PDF reenabled and works.
  • Added loadsession: command line command to SciTE.
  • SciTE option to quit application when last document closed.
  • SciTE option to ask user if it is OK to reload a file that has been modified outside SciTE.
  • SciTE option to automatically save before running particular command tools or to ask user or to not save.
  • SciTE on Windows 9x will write a Ctrl+Z to the process input pipe before closing the pipe when running tool commands that take input.
  • Added a manifest resource to SciTE on Windows to enable Windows XP themed UI.
  • SciTE calltips handle nested calls and other situations better.
  • CSS lexer improved.
  • Interface to platform layer changed - Surface initialization now requires a WindowID parameter.
  • Bug fixed with drawing or measuring long pieces of text on Windows 9x by truncating the pieces.
  • Bug fixed with SciTE on GTK+ where a user shortcut for a visible character inserted the character as well as executing the command.
  • Bug fixed where primary selection on GTK+ was reset by Scintilla during creation.
  • Bug fixed where SciTE would close immediately on startup when using save.session.
  • Crash fixed when entering '\' in LaTeX file.
  • Hang fixed when '#' last character in VB file.
  • Crash fixed in error message lexer.
  • Crash fixed when searching for long regular expressions.
  • Pressing return when nothing selected in user list sends notification with empty text rather than random text.
  • Mouse debouncing disabled on Windows as it interfered with some mouse utilities.
  • Bug fixed where overstrike mode inserted before rather than replaced last character in document.
  • Bug fixed with syntax highlighting of Japanese text.
  • Bug fixed in split lines function.
  • Cosmetic fix to SciTE tab bar on Windows when window resized. Focus sticks to either pane more consistently.

Release 1.51

  • Released on 16 February 2003.
  • Two phase drawing avoids cutting off text that overlaps runs by drawing all the backgrounds of a line then drawing all the text transparently. Single phase drawing is an option.
  • Scintilla method to split lines at a particular width by adding new line characters.
  • The character used in autocompletion lists to separate the text from the image number can be changed.
  • The scrollbar range will automatically expand when the caret is moved beyond the current range. The scroll bar is updated when SCI_SETXOFFSET is called.
  • Mouse cursors on GTK+ improved to be consistent with other applications and the Windows version.
  • Horizontal scrollbar on GTK+ now disappears in wrapped mode.
  • Scintilla on GTK+ 2: mouse wheel scrolling, cursor over scrollbars, focus, and syntax highlighting now work. gtk_selection_notify avoided for compatibility with GTK+ 2.2.
  • Fold margin colours can now be set.
  • SciTE can be built for GTK+ 2.
  • SciTE can optionally preserve the undo history over an automatic file reload.
  • Tags can optionally be case insensitive in XML and HTML.
  • SciTE on Windows handles input to tool commands in a way that should avoid deadlock. Output from tools can be used to replace the selection.
  • SciTE on GTK+ automatically substitutes '|' for '/' in menu items as '/' is used to define the menu hierarchy.
  • Optional buffer number in SciTE title bar.
  • Crash fixed in SciTE brace matching.
  • Bug fixed where automatic scrolling past end of document flipped back to the beginning.
  • Bug fixed where wrapping caused text to disappear.
  • Bug fixed on Windows where images in autocompletion lists were shown on the wrong item.
  • Crash fixed due to memory bug in autocompletion lists on Windows.
  • Crash fixed when double clicking some error messages.
  • Bug fixed in word part movement where sometimes no movement would occur.
  • Bug fixed on Windows NT where long text runs were truncated by treating NT differently to 9x where there is a limitation.
  • Text in not-changeable style works better but there remain some cases where it is still possible to delete text protected this way.

Release 1.50

  • Released on 24 January 2003.
  • Autocompletion lists may have a per-item pixmap.
  • Autocompletion lists allow Unicode text on Windows.
  • Scintilla documentation rewritten.
  • Additional DBCS encoding support in Scintilla on GTK+ primarily aimed at Japanese EUC encoding.
  • CSS (Cascading Style Sheets) lexer added.
  • diff lexer understands some more formats.
  • Fold box feature is an alternative way to show the structure of code.
  • Avenue lexer supports multiple keyword lists.
  • The caret may now be made invisible by setting the caret width to 0.
  • Python folder attaches comments before blocks to the next block rather than the previous block.
  • SciTE openpath property on Windows searches a path for files that are the subject of the Open Selected Filename command.
  • The localization file name can be changed with the locale.properties property.
  • On Windows, SciTE can pipe the result of a string expression into a command line tool.
  • On Windows, SciTE's Find dialog has a Mark All button.
  • On Windows, there is an Insert Abbreviation command that allows a choice from the defined abbreviations and inserts the selection into the abbreviation at the position of a '|'.
  • Minor fixes to Fortran lexer.
  • fold.html.preprocessor decides whether to fold <? and ?>. Minor improvements to PHP folding.
  • Maximum number of keyword lists allowed increased from 6 to 9.
  • Duplicate line command added with default assignment to Ctrl+D.
  • SciTE sets $(Replacements) to the number of replacements made by the Replace All command. $(CurrentWord) is set to the word before the caret if the caret is at the end of a word.
  • Opening a SciTE session now loads files in remembered order, sets the current file as remembered, and moves the caret to the remembered line.
  • Bugs fixed with printing on Windows where line wrapping was causing some text to not print.
  • Bug fixed with Korean Input Method Editor on Windows.
  • Bugs fixed with line wrap which would sometimes choose different break positions after switching focus away and back.
  • Bug fixed where wheel scrolling had no effect on GTK+ after opening a fold.
  • Bug fixed with file paths containing non-ASCII characters on Windows.
  • Crash fixed with printing on Windows after defining pixmap marker.
  • Crash fixed in makefile lexer when first character on line was '='.
  • Bug fixed where local properties were not always being applied.
  • Ctrl+Keypad* fold command works on GTK+.
  • Hangs fixed in SciTE's Replace All command when replacing regular expressions '^' or '$'.
  • SciTE monospace setting behaves more sensibly.

Release 1.49

  • Released on 1 November 2002.
  • Unicode supported on GTK+. To perform well, this added a font cache to GTK+ and to make that safe, a mutex is used. The mutex requires the application to link in the threading library by evaluating `glib-config --libs gthread`. A Unicode locale should also be set up by a call like setlocale(LC_CTYPE, "en_US.UTF-8"). scintilla_release_resources function added to release mutex.
  • FORTRAN and assembler lexers added along with other support for these languages in SciTE.
  • Ada lexer improved handling of based numbers, identifier validity and attributes distinguished from character literals.
  • Lua lexer handles block comments and a deep level of nesting for literal strings and block comments.
  • Errorlist lexer recognizes PHP error messages.
  • Variant of the C++ lexer with case insensitive keywords called cppnocase. Whitespace in preprocessor text handled more correctly.
  • Folder added for Perl.
  • Compilation with GCC 3.2 supported.
  • Markers can be pixmaps.
  • Lines are wrapped when printing. Bug fixed which printed line numbers in different styles.
  • Text can be appended to end with AppendText method.
  • ChooseCaretX method added.
  • Vertical scroll bar can be turned off with SetVScrollBar method.
  • SciTE Save All command saves all buffers.
  • SciTE localization compares keys case insensitively to make translations more flexible.
  • SciTE detects a utf-8 coding cookie "coding: utf-8" in first two lines and goes into Unicode mode.
  • SciTE key bindings are definable.
  • SciTE Find in Files dialog can display directory browser to choose directory to search.
  • SciTE enabling of undo and redo toolbar buttons improved.
  • SciTE on Windows file type filters in open dialog sorted.
  • Fixed crashing bug when using automatic tag closing in XML or HTML.
  • Fixed bug on Windows causing very long (>64K) lines to not display.
  • Fixed bug in backwards regular expression searching.
  • Fixed bug in calltips where wrong argument was highlighted.
  • Fixed bug in tab timmy feature when file has line feed line endings.
  • Fixed bug in compiling without INCLUDE_DEPRECATED_FEATURES defined.

Release 1.48

  • Released on 9 September 2002.
  • Improved Pascal lexer with context sensitive keywords and separate folder which handles //{ and //} folding comments and {$region} and {$end} folding directives. The "case" statement now folds correctly.
  • C++ lexer correctly handles comments on preprocessor lines.
  • New commands for moving to beginning and end of display lines when in line wrap mode. Key bindings added for these commands.
  • New marker symbols that look like ">>>" and "..." which can be used for interactive shell prompts for Python.
  • The foreground and background colours of visible whitespace can be chosen independent of the colours chosen for the lexical class of that whitespace.
  • Per line data optimized by using an exponential allocation scheme.
  • SciTE API file loading optimized.
  • SciTE for GTK+ subsystem 2 documented. The exit status of commands is decoded into more understandable fields.
  • SciTE find dialog remembers previous find string when there is no selection. Find in Selection button disabled when selection is rectangular as command did not work.
  • Shift+Enter made equivalent to Enter to avoid users having to let go of the shift key when typing. Avoids the possibility of entering single carriage returns in a file that contains CR+LF line ends.
  • Autocompletion does not immediately disappear when the length parameter to SCI_AUTOCSHOW is 0.
  • SciTE focuses on the editor pane when File | New executed and when the output pane is closed with F8. Double clicking on a non-highlighted output pane line selects the word under the cursor rather than seeking the next highlighted line.
  • SciTE director interface implements an "askproperty" command.
  • SciTE's Export as LaTeX output improved.
  • Better choice of autocompletion displaying above the caret rather then below when that is more sensible.
  • Bug fixed where context menu would not be completely visible if invoked when cursor near bottom or left of screen.
  • Crashing bug fixed when displaying long strings on GTK+ caused failure of X server by displaying long text in segments.
  • Crashing bug fixed on GTK+ when a Scintilla window was removed from its parent but was still the selection owner.
  • Bug fixed on Windows in Unicode mode where not all characters on a line were displayed when that line contained some characters not in ASCII.
  • Crashing bug fixed in SciTE on Windows with clearing output while running command.
  • Bug fixed in SciTE for GTK+ with command completion not detected when no output was produced by the command.
  • Bug fixed in SciTE for Windows where menus were not shown translated.
  • Bug fixed where words failed to display in line wrapping mode with visible line ends.
  • Bug fixed in SciTE where files opened from a session file were not closed.
  • Cosmetic flicker fixed when using Ctrl+Up and Ctrl+Down with some caret policies.

Release 1.47

  • Released on 1 August 2002.
  • Support for GTK+ 2 in Scintilla. International input methods not supported on GTK+2.
  • Line wrapping performance improved greatly.
  • New caret policy implementation that treats horizontal and vertical positioning equivalently and independently. Old caret policy methods deprecated and not all options work correctly with old methods.
  • Extra fold points for C, C++, Java, ... for fold comments //{ .. //} and #if / #ifdef .. #endif and the #region .. #endregion feature of C#.
  • Scintilla method to find the height in pixels of a line. Currently returns the same result for every line as all lines are same height.
  • Separate make file, scintilla_vc6.mak, for Scintilla to use Visual C++ version 6 since main makefile now assumes VS .NET. VS .NET project files available for combined Scintilla and SciTE in scite/boundscheck.
  • SciTE automatically recognizes Unicode files based on their Byte Order Marks and switches to Unicode mode. On Windows, where SciTE supports Unicode display, this allows display of non European characters. The file is saved back into the same character encoding unless the user decides to switch using the File | Encoding menu.
  • Handling of character input changed so that a fillup character, typically '(' displays a calltip when an autocompletion list was being displayed.
  • Multiline strings lexed better for C++ and Lua.
  • Regular expressions in JavaScript within hypertext files are lexed better.
  • On Windows, Scintilla exports a function called Scintilla_DirectFunction that can be used the same as the function returned by GetDirectFunction.
  • Scintilla converts line endings of text obtained from the clipboard to the current default line endings.
  • New SciTE property ensure.final.line.end can ensure that saved files always end with a new line as this is required by some tools. The ensure.consistent.line.ends property ensures all line ends are the current default when saving files. The strip.trailing.spaces property now works on the buffer so the buffer in memory and the file on disk are the same after a save is performed.
  • The SciTE expand abbreviation command again allows '|' characters in expansions to be quoted by using '||'.
  • SciTE on Windows can send data to the find tool through standard input rather than using a command line argument to avoid problems with quoting command line arguments.
  • The Stop Executing command in SciTE on Windows improved to send a Ctrl+Z character to the tool. Better messages when stopping a tool.
  • Autocompletion can automatically "fill up" when one of a set of characters is type with the autocomplete.<lexer>.fillups property.
  • New predefined properties in SciTE, SelectionStartColumn, SelectionStartLine, SelectionEndColumn, SelectionEndLine can be used to integrate with other applications.
  • Environment variables are available as properties in SciTE.
  • SciTE on Windows keeps status line more current.
  • Abbreviations work in SciTE on Linux when first opened.
  • File saving fixed in SciTE to ensure files are not closed when they can not be saved because of file permissions. Also fixed a problem with buffers that caused files to not be saved.
  • SciTE bug fixed where monospace mode not remembered when saving files. Some searching options now remembered when switching files.
  • SciTE on Linux now waits on child termination when it shuts a child down to avoid zombies.
  • SciTE on Linux has a Print menu command that defaults to invoking a2ps.
  • Fixed incorrect highlighting of indentation guides in SciTE for Python.
  • Crash fixed in Scintilla when calling GetText for 0 characters.
  • Exporting as LaTeX improved when processing backslashes and tabs and setting up font.
  • Crash fixed in SciTE when exporting or copying as RTF.
  • SciTE session loading fixed to handle more than 10 files in session.

Release 1.46

  • Released on 10 May 2002.
  • Set of lexers compiled into Scintilla can now be changed by adding and removing lexer source files from scintilla/src and running LexGen.py.
  • SCN_ZOOM notification provided by Scintilla when user changes zoom level. Method to determine width of strings in pixels so that elements can be sized relative to text size. SciTE changed to keep line number column displaying a given number of characters.
  • The logical width of the document used to determine scroll bar range can be set.
  • Setting to allow vertical scrolling to display last line at top rather than bottom of window.
  • Read-only mode improved to avoid changing the selection in most cases when a modification is attempted. Drag and drop cursors display correctly for read-only in some cases.
  • Visual C++ options in make files changed to suit Visual Studio .NET.
  • Scintilla.iface includes feature types for enumerations and lexers.
  • Lua lexer improves handling of literal strings and copes with nested literal strings.
  • Diff lexer changed to treat lines starting with "***" similarly to "---". Symbolic names defined for lexical classes.
  • nncrontab lexer improved.
  • Turkish fonts (iso8859-9) supported on GTK+.
  • Automatic close tag feature for XML and HTML in SciTE.
  • Automatic indentation in SciTE improved.
  • Maximum number of buffers available in SciTE increased. May be up to 100 although other restrictions on menu length limit the real maximum.
  • Save a Copy command added to SciTE.
  • Export as TeX command added to SciTE.
  • Export as HTML command in SciTE respects Use Monospaced Font and background colour settings.
  • Compilation problem on Solaris fixed.
  • Order of files displayed for SciTE's previous and next menu and key commands are now consistent.
  • Saving of MRU in recent file changed so files open when SciTE quit are remembered.
  • More variants of ctags tags handled by Open Selected Filename in SciTE.
  • JavaScript embedded in XML highlighted again.
  • SciTE status bar updated after changing parameters in case they are being displayed in status bar.
  • Crash fixed when handling some multi-byte languages.
  • Crash fixed when replacing end of line characters.
  • Bug in SciTE fixed in multiple buffer mode where automatic loading turned on could lead to losing file contents.
  • Bug in SciTE on GTK+ fixed where dismissing dialogs with close box led to those dialogs never being shown again.
  • Bug in SciTE on Windows fixed where position.tile with default positions led to SciTE being positioned off-screen.
  • Bug fixed in read-only mode, clearing all deletes contraction state data leading to it not being synchronized with text.
  • Crash fixed in SciTE on Windows when tab bar displayed.

Release 1.45

  • Released on 15 March 2002.
  • Line layout cache implemented to improve performance by maintaining the positioning of characters on lines. Can be set to cache nothing, the line with the caret, the visible page or the whole document.
  • Support, including a new lexer, added for Matlab programs.
  • Lua folder supports folding {} ranges and compact mode. Lua lexer styles floating point numbers in number style instead of setting the '.' in operator style. Up to 6 sets of keywords. Better support for [[ although only works well when all on one line.
  • Python lexer improved to handle floating point numbers that contain negative exponents and that start with '.'.
  • When performing a rectangular paste, the caret now remains at the insertion point.
  • On Windows with a wheel mouse, page-at-a-time mode is recognized.
  • Read-only mode added to SciTE with a property to initialize it and another property, $(ReadOnly) available to show this mode in the status bar.
  • SciTE status bar can show the number of lines in the selection with the $(SelHeight) property.
  • SciTE's "Export as HTML" command uses the current character set to produce correct output for non-Western-European character sets, such as Russian.
  • SciTE's "Export as RTF" fixed to produce correct output when file contains '\'.
  • SciTE goto command accepts a column as well as a line. If given a column, it selects the word at that column.
  • SciTE's Build, Compile and Go commands are now disabled if no action has been assigned to them.
  • The Refresh button in the status bar has been removed from SciTE on Windows.
  • Bug fixed in line wrap mode where cursor up or down command did not work.
  • Some styling bugs fixed that were due to a compilation problem with gcc and inline functions with same name but different code.
  • The way that lexers loop over text was changed to avoid accessing beyond the end or setting beyond the end. May fix some bugs and make the code safer but may also cause new bugs.
  • Bug fixed in HTML lexer's handling of SGML.
  • Bug fixed on GTK+/X where lines wider than 32767 pixels did not display.
  • SciTE bug fixed with file name generation for standard property files.
  • SciTE bug fixed with Open Selected Filename command when used with file name and line number combination.
  • In SciTE, indentation and tab settings stored with buffers so maintained correctly as buffers selected. The properties used to initialize these settings can now be set separately for different file patterns.
  • Thread safety improved on Windows with a critical section protecting the font cache and initialization of globals performed within Scintilla_RegisterClasses. New Scintilla_ReleaseResources call provided to allow explicit freeing of resources when statically bound into another application. Resources automatically freed in DLL version. The window classes are now unregistered as part of resource freeing which fixes bugs that occurred in some containers such as Internet Explorer.
  • 'make install' fixed on Solaris.
  • Bug fixed that could lead to a file being opened twice in SciTE.

Release 1.44

  • Released on 4 February 2002.
  • Crashing bug fixed in Editor::Paint.
  • Lua lexer no longer treats '.' as a word character and handles 6 keyword sets.
  • WordStartPosition and WordEndPosition take an onlyWordCharacters argument.
  • SciTE option for simplified automatic indentation which repeats the indentation of the previous line.
  • Compilation fix on Alpha because of 64 bit.
  • Compilation fix for static linking.
  • Limited maximum line length handled to 8000 characters as previous value of 16000 was causing stack exhaustion crashes for some.
  • When whole document line selected, only the last display line gets the extra selected rectangle at the right hand side rather than every display line.
  • Caret disappearing bug fixed for the case that the caret was not on the first display line of a document line.
  • SciTE bug fixed where untitled buffer containing text was sometimes deleted without chance to save.
  • SciTE bug fixed where use.monospaced not working with multiple buffers.

Release 1.43

  • Released on 19 January 2002.
  • Line wrapping robustness and performance improved in Scintilla.
  • Line wrapping option added to SciTE for both edit and output panes.
  • Static linking on Windows handles cursor resource better. Documentation of static linking improved.
  • Autocompletion has an option to delete any word characters after the caret upon selecting an item.
  • FOX version identified by PLAT_FOX in Platform.h.
  • Calltips in SciTE use the calltip.<lexer>.word.characters setting to correctly find calltips for functions that include characters like '$' which is not normally considered a word character.
  • SciTE has a command to show help on itself which gets hooked up to displaying SciTEDoc.html.
  • SciTE option calltip.<lexer>.end.definition to display help text on a second line of calltip.
  • Fixed the handling of the Buffers menu on GTK+ to ensure current buffer indicated and no warnings occur. Changed some menu items on GTK+ version to be same as Windows version.
  • use.monospaced property for SciTE determines initial state of Use Monospaced Font setting.
  • The SciTE Complete Symbol command now works when there are no word characters before the caret, even though it is slow to display the whole set of symbols.
  • Function names removed from SciTE's list of PHP keywords. The full list of predefined functions is available from another web site mentioned on the Extras page.
  • Crashing bug at startup on GTK+ for some configurations fixed.
  • Crashing bug on GTK+ on 64 bit platforms fixed.
  • Compilation problem with some compilers fixed in GTK+.
  • Japanese text entry improved on Windows 9x.
  • SciTE recent files directory problem on Windows when HOME and SciTE_HOME environment variables not set is now the directory of the executable.
  • Session files no longer include untitled buffers.

Release 1.42

  • Released on 24 December 2001.
  • Better localization support including context menus and most messages. Translations of the SciTE user interface available for Bulgarian, French, German, Italian, Russian, and Turkish.
  • Can specify a character to use to indicate control characters rather than having them displayed as mnemonics.
  • Scintilla key command for backspace that will not delete line end characters.
  • Scintilla method to find start and end of words.
  • SciTE on GTK+ now supports the load.on.activate and save.on.deactivate properties in an equivalent way to the Windows version.
  • The output pane of SciTE on Windows is now interactive so command line utilities that prompt for input or confirmation can be used.
  • SciTE on Windows can choose directory for a "Find in Files" command like the GTK+ version could.
  • SciTE can now load a set of API files rather than just one file.
  • ElapsedTime class added to Platform for accurate measurement of durations. Used for debugging and for showing the user how long commands take in SciTE.
  • Baan lexer added.
  • In C++ lexer, document comment keywords no longer have to be at the start of the line.
  • PHP lexer changed to match keywords case insensitively.
  • More shell keywords added.
  • SciTE support for VoiceXML added to xml.properties.
  • In SciTE the selection is not copied to the find field of the Search and Replace dialogs if it contains end of line characters.
  • SciTE on Windows has a menu item to decide whether to respond to other instances which are performing their check.if.already.open check.
  • SciTE accelerator key for Box Comment command changed to avoid problems in non-English locales.
  • SciTE context menu includes Close command for the editor pane and Hide command for the output pane.
  • output: command added to SciTE director interface to add text to the output pane. The director interface can execute commands (such as tool commands with subsystem set to 3) by sending a macro:run message.
  • SciTE on GTK+ will defer to the Window Manager for position if position.left or position.top not set and for size if position.width or position.height not set.
  • SciTE on Windows has a position.tile property to place a second instance to the right of the first.
  • Scintilla on Windows again supports EM_GETSEL and EM_SETSEL.
  • Problem fixed in Scintilla on Windows where control ID is no longer cached as it could be changed by external code.
  • Problems fixed in SciTE on Windows when finding any other open instances at start up when check.if.already.open is true.
  • Bugs fixed in SciTE where command strings were not always having variables evaluated.
  • Bugs fixed with displaying partial double-byte and Unicode characters in rectangular selections and at the edge when edge mode is EDGE_BACKGROUND. Column numbers reported by GetColumn treat multiple byte characters as one column rather than counting bytes.
  • Bug fixed with caret movement over folded lines.
  • Another bug fixed with tracking selection in secondary views when performing modifications.
  • Horizontal scrolling and display of long lines optimized.
  • Cursor setting in Scintilla on GTK+ optimized.
  • Experimental changeable style attribute. Set to false to make text read-only. Currently only stops caret from being within not-changeable text and does not yet stop deleting a range that contains not-changeable text. Can be used from SciTE by adding notchangeable to style entries.
  • Experimental line wrapping. Currently has performance and appearance problems.

Release 1.41

  • Released on 6 November 2001.
  • Changed Platform.h to not include platform headers. This lessens likelihood and impact of name clashes from system headers and also speeds up compilation. Renamed DrawText to DrawTextNoClip to avoid name clash.
  • Changed way word functions work to treat a sequence of punctuation as a word. This is more sensible and also more compatible with other editors.
  • Cursor changes over the margins and selection on GTK+ platform.
  • SC_MARK_BACKGROUND is a marker that only changes the line's background colour.
  • Enhanced Visual Basic lexer handles character date and octal literals, and bracketed keywords for VB.NET. There are two VB lexers, vb and vbscript with type indication characters like ! and $ allowed at the end of identifiers in vb but not vbscript. Lexer states now separate from those used for C++ and names start with SCE_B.
  • Lexer added for Bullant language.
  • The horizontal scroll position, xOffset, is now exposed through the API.
  • The SCN_POSCHANGED notification is deprecated as it was causing confusion. Use SCN_UPDATEUI instead.
  • Compilation problems fixed for some versions of gcc.
  • Support for WM_GETTEXT restored on Windows.
  • Double clicking on an autocompletion list entry works on GTK+.
  • Bug fixed with case insensitive sorts for autocompletion lists.
  • Bug fixed with tracking selection in secondary views when performing modifications.
  • SciTE's abbreviation expansion feature will now indent expansions to the current indentation level if indent.automatic is on.
  • SciTE allows setting up of parameters to commands from a dialog and can also show this dialog automatically to prompt for arguments when running a command.
  • SciTE's Language menu (formerly Options | Use Lexer) is now defined by the menu.language property rather than being hardcoded.
  • The user interface of SciTE can be localized to a particular language by editing a locale.properties file.
  • On Windows, SciTE will try to move to the front when opening a new file from the shell and using check.if.already.open.
  • SciTE can display the file name and directory in the title bar in the form "file @ directory" when title.full.path=2.
  • The SciTE time.commands property reports the time taken by a command as well as its status when completed.
  • The SciTE find.files property is now a list separated by '|' characters and this list is added into the Files pull down of the Find in Files dialog.

Release 1.40

  • Released on 23 September 2001.
  • Removal of emulation of Win32 RichEdit control in core of Scintilla. This change may be incompatible with existing client code. Some emulation still done in Windows platform layer.
  • SGML support in the HTML/XML lexer.
  • SciTE's "Stop Executing" command will terminate GUI programs on Windows NT and Windows 2000.
  • StyleContext class helps construct lexers that are simple and accurate. Used in the C++, Eiffel, and Python lexers.
  • Clipboard operations in GTK+ version convert between platform '\n' line endings and currently chosen line endings.
  • Any character in range 0..255 can be used as a marker. This can be used to support numbered bookmarks, for example.
  • The default scripting language for ASP can be set.
  • New lexer and other support for crontab files used with the nncron scheduler.
  • Folding of Python improved.
  • The ` character is treated as a Python operator.
  • Line continuations ("\" at end of line) handled inside Python strings.
  • More consistent handling of line continuation ('\' at end of line) in C++ lexer. This fixes macro definitions that span more than one line.
  • C++ lexer can understand Doxygen keywords in doc comments.
  • SciTE on Windows allows choosing to open the "open" dialog on the directory of the current file rather than in the default directory.
  • SciTE on Windows handles command line arguments in "check.if.already.open" correctly when the current directory of the new instance is different to the already open instance of SciTE.
  • "cwd" command (change working directory) defined for SciTE director interface.
  • SciTE "Export As HTML" produces better, more compliant, and shorter files.
  • SciTE on Windows allows several options for determining default file name for exported files.
  • Automatic indentation of Python in SciTE fixed.
  • Exported HTML can support folding.
  • Bug fixed in SCI_GETTEXT macro command of director interface.
  • Cursor leak fixed on GTK+.
  • During SciTE shutdown, "identity" messages are no longer sent over the director interface.

Release 1.39

  • Released on 22 August 2001.
  • Windows version requires msvcrt.dll to be available so will not work on original Windows 95 version 1. The msvcrt.dll file is installed by almost everything including Internet Explorer so should be available.
  • Flattened tree control style folding margin. The SciTE fold.plus option is now fold.symbols and has more values for the new styles.
  • Mouse dwell events are generated when the user holds the mouse steady over Scintilla.
  • PositionFromPointClose is like PositionFromPoint but returns INVALID_POSITION when point outside window or after end of line.
  • Input of Hungarian and Russian characters in GTK+ version works by truncating input to 8 bits if in the range of normal characters.
  • Better choices for font descriptors on GTK+ for most character sets.
  • GTK+ Scintilla is destroyed upon receiving destroy signal rather than destroy_event signal.
  • Style setting that force upper or lower case text.
  • Case-insensitive autocompletion lists work correctly.
  • Keywords can be prefix based so ^GTK_ will treat all words that start with GTK_ as keywords.
  • Horizontal scrolling can be jumpy rather than gradual.
  • GetSelText places a '\0' in the buffer if the selection is empty..
  • EnsureVisible split into two methods EnsureVisible which will not scroll to show the line and EnsureVisibleEnforcePolicy which may scroll.
  • Python folder has options to fold multi-line comments and triple quoted strings.
  • C++ lexer handles keywords before '.' like "this.x" in Java as keywords. Compact folding mode option chooses whether blank lines after a structure are folded with that structure. Second set of keywords with separate style supported.
  • Ruby lexer handles multi-line comments.
  • VB has folder.
  • PHP lexer has an operator style, handles "<?" and "?>" inside strings and some comments.
  • TCL lexer which is just an alias for the C++ lexer so does not really understand TCL syntax.
  • Error lines lexer has styles for Lua error messages and .NET stack traces.
  • Makefile lexer has a target style.
  • Lua lexer handles some [[]] string literals.
  • HTML and XML lexer have a SCE_H_SGML state for tags that start with "<!".
  • Fixed Scintilla bugs with folding. When modifications were performed near folded regions sometimes no unfolding occurred when it should have. Deleting a fold causing character sometimes failed to update fold information correctly.
  • Better support for Scintilla on GTK+ for Win32 including separate PLAT_GTK_WIN32 definition and correct handling of rectangular selection with clipboard operations.
  • SciTE has a Tools | Switch Pane (Ctrl+F6) command to switch focus between edit and output panes.
  • SciTE option output.scroll allows automatic scrolling of output pane to be turned off.
  • Commands can be typed into the SciTE output pane similar to a shell window.
  • SciTE properties magnification and output magnification set initial zoom levels.
  • Option for SciTE comment block command to place comments at start of line.
  • SciTE for Win32 has an option to minimize to the tray rather than the task bar.
  • Close button on SciTE tool bar for Win32.
  • SciTE compiles with GCC 3.0.
  • SciTE's automatic indentation of C++ handles braces without preceding keyword correctly.
  • Bug fixed with GetLine method writing past the end of where it should.
  • Bug fixed with mouse drag automatic scrolling when some lines were folded.
  • Bug fixed because caret XEven setting was inverted.
  • Bug fixed where caret was initially visible even though window was not focussed.
  • Bug fixed where some file names could end with "\\" which caused slow downs on Windows 9x.
  • On Win32, SciTE Replace dialog starts with focus on replacement text.
  • SciTE Go to dialog displays correct current line.
  • Fixed bug with SciTE opening multiple files at once.
  • Fixed bug with Unicode key values reported to container truncated.
  • Fixed bug with unnecessary save point notifications.
  • Fixed bugs with indenting and unindenting at start of line.
  • Monospace Font setting behaves more consistently.

Release 1.38

  • Released on 23 May 2001.
  • Loadable lexer plugins on Windows.
  • Ruby lexer and support.
  • Lisp lexer and support.
  • Eiffel lexer and support.
  • Modes for better handling of Tab and BackSpace keys within indentation. Mode to avoid autocompletion list cancelling when there are no viable matches.
  • ReplaceTarget replaced with two calls ReplaceTarget (which is incompatible with previous ReplaceTarget) and ReplaceTargetRE. Both of these calls have a count first parameter which allows using strings containing nulls. SearchInTarget and SetSearchFlags functions allow specifying a search in several simple steps which helps some clients which can not create structs or pointers easily.
  • Asian language input through an Input Method Editor works on Windows 2000.
  • On Windows, control characters can be entered through use of the numeric keypad in conjunction with the Alt key.
  • Document memory allocation changed to grow exponentially which reduced time to load a 30 Megabyte file from 1000 seconds to 25. Change means more memory may be used.
  • Word part movement keys now handled in Scintilla rather than SciTE.
  • Regular expression '^' and '$' work more often allowing insertion of text at start or end of line with a replace command. Backslash quoted control characters \a, \b, \f, \t, and \v recognized within sets.
  • Session files for SciTE.
  • Export as PDF command hidden in SciTE as it often failed. Code still present so can be turned on by those willing to cope.
  • Bug fixed in HTML lexer handling % before > as end ASP even when no start ASP encountered. Bug fixed when scripts ended with a quoted string and end tag was not seen.
  • Bug fixed on Windows where context menu key caused menu to appear in corner of screen rather than within window.
  • Bug fixed in SciTE's Replace All command not processing whole file when replace string longer than search string.
  • Bug fixed in SciTE's MRU list repeating entries if Ctrl+Tab used when all entries filled.
  • ConvertEOLs call documentation fixed.

Release 1.37

  • Released on 17 April 2001.
  • Bug fixed with scroll bars being invisible on GTK+ 1.2.9.
  • Scintilla and SciTE support find and replace using simple regular expressions with tagged expressions. SciTE supports C '\' escapes in the Find and Replace dialogs. Replace in Selection available in SciTE.
  • Scintilla has a 'target' feature for replacing code rapidly without causing display updates.
  • Scintilla and SciTE on GTK+ support file dropping from file managers such as Nautilus and gmc. Files or other URIs dropped on Scintilla result in a URIDropped notification.
  • Lexers may have separate Lex and Fold functions.
  • Lexer infrastructure improved to allow for plug in lexers and for referring to lexers by name rather than by ID.
  • Ada lexer and support added.
  • Option in both Scintilla and SciTE to treat both left and right margin as equally important when repositioning visible area in response to caret movement. Default is to prefer visible area positioning which minimizes the horizontal scroll position thus favouring the left margin.
  • Caret line highlighting.
  • Commands to delete from the caret to the end of line and from the caret to the beginning of line.
  • SciTE has commands for inserting and removing block comments and for inserting stream comments.
  • SciTE Director interface uses C++ '\' escapes to send control characters.
  • SciTE Director interface adds more commands including support for macros.
  • SciTE has menu options for recording and playing macros which are visible when used with a companion program that supports these features.
  • SciTE has an Expand Abbreviation command. Abbreviations are stored in a global abbrev.properties file.
  • SciTE has a Full Screen command to switch between a normal window size and using the full screen. On Windows, the menu bar can be turned off when in full screen mode.
  • SciTE has a Use monospaced font command to switch between the normal set of fonts and one size of a particular fixed width font.
  • SciTE's use of tabs can be controlled for particular file names as well as globally.
  • The contents of SciTE's status bar can be defined by a property and include variables. On Windows, several status bar definitions can be active with a click on the status bar cycling through them.
  • Copy as RTF command in SciTE on Windows to allow pasting styled text into word processors.
  • SciTE can allow the use of non-alphabetic characters in Complete Symbol lists and can automatically display this autocompletion list when a trigger character such as '.' is typed. Complete word can be set to pop up when the user is typing a word and there is only one matching word in the document.
  • SciTE lists the imported properties files on a menu to allow rapid access to them.
  • SciTE on GTK+ improvements to handling accelerator keys and focus in dialogs. Message boxes respond to key presses without the Alt key as they have no text entries to accept normal keystrokes.
  • SciTE on GTK+ sets the application icon.
  • SciTE allows setting the colours used to indicate the current error line.
  • Variables within PHP strings have own style. Keyword list updated.
  • Keyword list for Lua updated for Lua 4.0.
  • Bug fixed in rectangular selection where rectangle still appeared selected after using cursor keys to move caret.
  • Bug fixed in C++ lexer when deleting a '{' controlling a folded range led to that range becoming permanently invisible.
  • Bug fixed in Batch lexer where comments were not recognized.
  • Bug fixed with undo actions coalescing into steps incorrectly.
  • Bug fixed with Scintilla on GTK+ positioning scroll bars 1 pixel over the Scintilla window leading to their sides being chopped off.
  • Bugs fixed in SciTE when doing some actions led to the start or end of the file being displayed rather than the current location.
  • Appearance of calltips fixed to look like document text including any zoom factor. Positioned to be outside current line even when multiple fonts and sizes used.
  • Bug fixed in Scintilla macro support where typing Enter caused both a newline command and newline character insertion to be recorded.
  • Bug fixed in SciTE on GTK+ where focus was moving between widgets incorrectly.
  • Bug fixed with fold symbols sometimes not updating when the text changed.
  • Bugs fixed in SciTE's handling of folding commands.
  • Deprecated undo collection enumeration removed from API.

Release 1.36

  • Released on 1 March 2001.
  • Scintilla supports GTK+ on Win32.
  • Some untested work on making Scintilla and SciTE 64 bit compatible. For users on GTK+ this requires including Scintilla.h before ScintillaWidget.h.
  • HTML lexer allows folding HTML.
  • New lexer for Avenue files which are used in the ESRI ArcView GIS.
  • DOS Batch file lexer has states for '@', external commands, variables and operators.
  • C++ lexer can fold comments of /* .. */ form.
  • Better disabling of pop up menu items in Scintilla when in read-only mode.
  • Starting to move to Doxygen compatible commenting.
  • Director interface on Windows enables another application to control SciTE.
  • Opening SciTE on Windows 9x sped up greatly for some cases.
  • The command.build.directory property allows SciTE to run the build command in a different directory to the source files.
  • SciTE on Windows allows setting foreground and background colours for printed headers and footers.
  • Bug fixed in finding calltips in SciTE which led to no calltips for some identifiers.
  • Documentation added for lexers and for the extension and director interfaces.
  • SciTE menus rearranged with new View menu taking over some of the items that were under the Options menu. Clear All Bookmarks command added.
  • Clear Output command in SciTE.
  • SciTE on Windows gains an Always On Top command.
  • Bug fixed in SciTE with attempts to define properties recursively.
  • Bug fixed in SciTE properties where only one level of substitution was done.
  • Bug fixed in SciTE properties where extensions were not being matched in a case insensitive manner.
  • Bug fixed in SciTE on Windows where the Go to dialog displays the correct line number.
  • In SciTE, if fold.on.open set then switching buffers also performs fold.
  • Bug fixed in Scintilla where ensuring a line was visible in the presence of folding operated on the document line instead of the visible line.
  • SciTE command line processing modified to operate on arguments in order and in two phases. First any arguments before the first file name are processed, then the UI is opened, then the remaining arguments are processed. Actions defined for the Director interface (currently only "open") may also be used on the command line. For example, "SciTE -open:x.txt" will start SciTE and open x.txt.
  • Numbered menu items SciTE's Buffers menu and the Most Recently Used portion of the File menu go from 1..0 rather than 0..9.
  • The tab bar in SciTE for Windows has numbers. The tab.hide.one option hides the tab bar until there is more than one buffer open.

Release 1.35

  • Released on 29 January 2001.
  • Rewritten and simplified widget code for the GTK+ version to enhance solidity and make more fully compliant with platform norms. This includes more normal handling of keystrokes so they are forwarded to containers correctly.
  • User defined lists can be shown.
  • Many fixes to the Perl lexer.
  • Pascal lexer handles comments more correctly.
  • C/C++/Java/JavaScipt lexer has a state for line doc comments.
  • Error output lexer understands Sun CC messages.
  • Make file lexer has variable, preprocessor, and operator states.
  • Wider area given to an italics character that is at the end of a line to prevent it being cut off.
  • Call to move the caret inside the currently visible area.
  • Paste Rectangular will space fill on the left hand side of the pasted text as needed to ensure it is kept rectangular.
  • Cut and Paste Rectangular does nothing in read-only mode.
  • Undo batching changed so that a paste followed by typing creates two undo actions..
  • A "visibility policy" setting for Scintilla determines which range of lines are displayed when a particular line is moved to. Also exposed as a property in SciTE.
  • SciTE command line allows property settings.
  • SciTE has a View Output command to hide or show the output pane.
  • SciTE's Edit menu has been split in two with searching commands moved to a new Search menu. Find Previous and Previous Bookmark are in the Search menu.
  • SciTE on Windows has options for setting print margins, headers and footers.
  • SciTE on Windows has tooltips for toolbar.
  • SciTE on GTK+ has properties for setting size of file selector.
  • Visual and audio cues in SciTE on Windows enhanced.
  • Fixed performance problem in SciTE for GTK+ by dropping the extra 3D effect on the content windows.
  • Fixed problem in SciTE where choosing a specific lexer then meant that no lexer was chosen when files opened.
  • Default selection colour changed to be visible on low colour displays.
  • Fixed problems with automatically reloading changed documents in SciTE on Windows.
  • Fixed problem with uppercase file extensions in SciTE.
  • Fixed some problems when using characters >= 128, some of which were being incorrectly treated as spaces.
  • Fixed handling multiple line tags, non-inline scripts, and XML end tags /> in HTML/XML lexer.
  • Bookmarks in SciTE no longer disappear when switching between buffers.

Release 1.34

  • Released on 28 November 2000.
  • Pascal lexer.
  • Export as PDF in SciTE.
  • Support for the OpenVMS operating system in SciTE.
  • SciTE for GTK+ can check for another instance of SciTE editing a file and switch to it rather than open a second instance on one file.
  • Fixes to quoting and here documents in the Perl lexer.
  • SciTE on Windows can give extra visual and audio cues when a warning is shown or find restarts from beginning of file.
  • Open Selected Filename command in SciTE. Also understands some warning message formats.
  • Wider area for line numbers when printing.
  • Better scrolling performance on GTK+.
  • Fixed problem where rectangles with negative coordinates were invalidated leading to trouble with platforms that use unsigned coordinates.
  • GTK+ Scintilla uses more compliant signalling code so that keyboard events should propagate to containers.
  • Bug fixed with opening full or partial paths.
  • Improved handling of paths in error messages in SciTE.
  • Better handling of F6 in SciTE.

Release 1.33

  • Released on 6 November 2000.
  • XIM support for the GTK+ version of Scintilla ensures that more non-English characters can be typed.
  • Caret may be 1, 2, or 3 pixels wide.
  • Cursor may be switched to wait image during lengthy processing.
  • Scintilla's internal focus flag is exposed for clients where focus is handled in complex ways.
  • Error status defined for Scintilla to hold indication that an operation failed and the reason for that failure. No detection yet implemented but clients may start using the interface so as to be ready for when it does.
  • Context sensitive help in SciTE.
  • CurrentWord property available in SciTE holding the value of the word the caret is within or near.
  • Apache CONF file lexer.
  • Changes to Python lexer to allow 'as' as a context sensitive keyword and the string forms starting with u, r, and ur to be recognized.
  • SCN_POSCHANGED notification now working and SCN_PAINTED notification added.
  • Word part movement commands for cursoring between the parts of reallyLongCamelIdentifiers and other_ways_of_making_words.
  • When text on only one line is selected, Shift+Tab moves to the previous tab stop.
  • Tab control available for Windows version of SciTE listing all the buffers and making it easy to switch between them.
  • SciTE can be set to automatically determine the line ending type from the contents of a file when it is opened.
  • Dialogs in GTK+ version of SciTE made more modal and have accelerator keys.
  • Find in Files command in GTK+ version of SciTE allows choice of directory.
  • On Windows, multiple files can be opened at once.
  • SciTE source broken up into more files.
  • Scintilla headers made safe for C language, not just C++.
  • New printing modes - force background to white and force default background to white.
  • Automatic unfolding not occurring when Enter pressed at end of line bug fixed.
  • Bugs fixed in line selection.
  • Bug fixed with escapes in PHP strings in the HTML lexer.
  • Bug fixed in SciTE for GTK+ opening files when given full paths.
  • Bug fixed in autocompletion where user backspaces into existing text.
  • Bugs fixed in opening files and ensuring they are saved before running. A case bug also fixed here.

Release 1.32

  • Released on 8 September 2000.
  • Fixes bugs in complete word and related code. Protection against a bug when receiving a bad argument.

Release 1.31

  • Released on 6 September 2000.
  • Scintilla is available as a COM control from the scintillactrl module in CVS.
  • Style setting to underline text. Exposed in SciTE as "underlined".
  • Style setting to make text invisible.
  • SciTE has an extensibility interface that can be used to implement features such as a scripting language or remote control. An example use of this is the extlua module available from CVS which allows SciTE to be scripted in Lua.
  • Many minor fixes to all of the lexers.
  • New lexer for diff and patch files.
  • Error message lexer understands Perl error messages.
  • C/C++/Java lexer now supports C#, specifically verbatim strings and @ quoting of identifiers that are the same as keywords. SciTE has a set of keywords for C# and a build command set up for C#.
  • Scintilla property to see whether in overtype or insert state.
  • PosChanged notification fired when caret moved.
  • Comboboxes in dialogs in SciTE on Windows can be horizontally scrolled.
  • Autocompletion and calltips can treat the document as case sensitive or case insensitive.
  • Autocompletion can be set to automatically choose the only element in a single element list.
  • Set of characters that automatically complete an autocompletion list can be set.
  • SciTE command to display calltip - useful when dropped because of editing.
  • SciTE has a Revert command to go back to the last saved version.
  • SciTE has an Export as RTF command. Save as HTML is renamed to Export as HTML and is located on the Export sub menu.
  • SciTE command "Complete Word" searches document for any words starting with characters before caret.
  • SciTE options for changing aspects of the formatting of files exported as HTML or RTF.
  • SciTE "character.set" option for choosing the character set for all fonts.
  • SciTE has a "Toggle all folds" command.
  • The makefiles have changed. The makefile_vc and makefile_bor files in scintilla/win32 and scite/win32 have been merged into scintilla/win32/scintilla.mak and scite/win32/scite.mak. DEBUG may be defined for all make files and this will turn on assertions and for some make files will choose other debugging options.
  • To make debugging easier and allow good use of BoundsChecker there is a Visual C++ project file in scite/boundscheck that builds all of Scintilla and SciTE into one executable.
  • The size of the SciTE output window can be set with the output.horizontal.size and output.vertical.size settings.
  • SciTE status bar indicator for insert or overwrite mode.
  • Performance improvements to autocompletion and calltips.
  • A caret redraw problem when undoing is fixed.
  • Crash with long lines fixed.
  • Bug fixed with merging markers when lines merged.

Release 1.30

  • Released on 26 July 2000.
  • Much better support for PHP which is now an integral part of the HTML support.
  • Start replacement of Windows-specific APIs with cross platform APIs. In 1.30, the new APIs are introduced but the old APIs are still available. For the GTK+ version, may have to include "WinDefs.h" explicitly to use the old APIs.
  • "if" and "import" statements in SciTE properties files allows modularization into language-specific properties files and choices based upon platform. This means that SciTE is delivered with 9 language-specific properties files as well as the standard SciTEGlobal.properties file.
  • Much lower resource usage on Windows 9x.
  • "/p" option in SciTE on Windows for printing a file and then exiting.
  • Options for printing with inverted brightness (when the screen is set to use a dark background) and to force black on white printing.
  • Option for printing magnified or miniaturized from screen settings.
  • In SciTE, Ctrl+F3 and Ctrl+Shift+F3 find the selection in the forwards and backwards directions respectively.
  • Auto-completion lists may be set to cancel when the cursor goes before its start position or before the start of string being completed.
  • Auto-completion lists automatically size more sensibly.
  • SCI_CLEARDOCUMENTSTYLE zeroes all style bytes, ensures all lines are shown and deletes all folding information.
  • On Windows, auto-completion lists are visually outdented rather than indented.
  • Close all command in SciTE.
  • On Windows multiple files can be dragged into SciTE.
  • When saving a file, the SciTE option save.deletes.first deletes it before doing the save. This allows saving with a different capitalization on Windows.
  • When use tabs option is off pressing the tab key inserts spaces.
  • Bug in indicators leading to extra line drawn fixed.

Release 1.28

  • Released on 27 June 2000.
  • Fixes crash in indentation guides when indent size set to 0.
  • Fixes to installation on GTK+/Linux. User properties file on GTK+ has a dot at front of name: .SciTEUser.properties. Global properties file location configurable at compile time defaulting to $prefix/share/scite. $prefix determined from Gnome if present else its /usr/local and can be overridden by installer. Gnome menu integration performed in make install if Gnome present.

Release 1.27

  • Released on 23 June 2000.
  • Indentation guides. View whitespace mode may be set to not display whitespace in indentation.
  • Set methods have corresponding gets for UndoCollection, BufferedDraw, CodePage, UsePalette, ReadOnly, CaretFore, and ModEventMask.
  • Caret is continuously on rather than blinking while typing or holding down delete or backspace. And is now always shown if non blinking when focused on GTK+.
  • Bug fixed in SciTE with file extension comparison now done in case insensitive way.
  • Bugs fixed in SciTE's file path handling on Windows.
  • Bug fixed with preprocessor '#' last visible character causing hang.

Release 1.26

  • Released on 13 June 2000.
  • Support for the Lua language in both Scintilla and SciTE.
  • Multiple buffers may be open in SciTE.
  • Each style may have a character set configured. This may determine the characters that are displayed by the style.
  • In the C++ lexer, lexing of preprocessor source may either treat it all as being in the preprocessor class or only the initial # and preprocessor command word as being in the preprocessor class.
  • Scintilla provides SCI_CREATEDOCUMENT, SCI_ADDREFDOCUMENT, and SCI_RELEASEDOCUMENT to make it easier for a container to deal with multiple documents.
  • GTK+ specific definitions in Scintilla.h were removed to ScintillaWidget.h. All GTK+ clients will need to #include "ScintillaWidget.h".
  • For GTK+, tools can be executed in the background by setting subsystem to 2.
  • Keys in the properties files are now case sensitive. This leads to a performance increase.
  • Menu to choose which lexer to use on a file.
  • Tab size dialog on Windows.
  • File dialogs enlarged on GTK+.
  • Match Brace command bound to Ctrl+E on both platforms with Ctrl+] a synonym on Windows. Ctrl+Shift+E is select to matching brace. Brace matching tries to match to either the inside or the outside, depending on whether the cursor is inside or outside the braces initially. View End of Line bound to Ctrl+Shift+O.
  • The Home key may be bound to move the caret to either the start of the line or the start of the text on the line.
  • Visual C++ project file for SciTE.
  • Bug fixed with current x location after Tab key.
  • Bug fixed with hiding fold margin by setting fold.margin.width to 0.
  • Bugs fixed with file name confusion on Windows when long and short names used, or different capitalizations, or relative paths.

Release 1.25

  • Released on 9 May 2000.
  • Some Unicode support on Windows. Treats buffer and API as UTF-8 and displays through UCS-2 of Windows.
  • Automatic indentation. Indentation size can be different to tab size.
  • Tool bar.
  • Status bar now on Windows as well as GTK+.
  • Input fields in Find and Replace dialogs now have history on both Windows and GTK+.
  • Auto completion list items may be separated by a chosen character to allow spaces in items. The selected item may be changed through the API.
  • Horizontal scrollbar can be turned off.
  • Property to remove trailing spaces when saving file.
  • On Windows, changed font size calculation to be more compatible with other applications.
  • On GTK+, SciTE's global properties files are looked for in the directory specified in the SCITE_HOME environment variable if it is set. This allows hiding in a dot directory.
  • Keyword lists in SciTE updated for JavaScript to include those destined to be used in the future. IDL includes XPIDL keywords as well as MSIDL keywords.
  • Zoom level can be set and queried through API.
  • New notification sent before insertions and deletions.
  • LaTeX lexer.
  • Fixes to folding including when deletions and additions are performed.
  • Fix for crash with very long lines.
  • Fix to affect all of rectangular selections with deletion and case changing.
  • Removed non-working messages that had been included only for Richedit compatibility.

Release 1.24

  • Released on 29 March 2000.
  • Added lexing of IDL based on C++ lexer with extra UUID lexical class.
  • Functions and associated keys for Line Delete, Line Cut, Line Transpose, Selection Lower Case and Selection Upper Case.
  • Property setting for SciTE, eol.mode, chooses initial state of line end characters.
  • Fixed bugs in undo history with small almost-contiguous changes being incorrectly coalesced.
  • Fixed bugs with incorrect expansion of ContractionState data structures causing crash.
  • Fixed bugs relating to null fonts.
  • Fixed bugs where recolourization was not done sometimes when required.
  • Fixed compilation problems with SVector.h.
  • Fixed bad setting of fold points in Python.

Release 1.23

  • Released on 21 March 2000.
  • Directory structure to separate on basis of product (Scintilla, SciTE, DMApp) and environment (Cross-platform, Win32, GTK+).
  • Download packaging to allow download of the source or platform dependent executables.
  • Source code now available from CVS at SourceForge.
  • Very simple Windows-only demonstration application DMApp is available from cvs as dmapp.
  • Lexing functionality may optionally be included in Scintilla rather than be provided by the container.
  • Set of lexers included is determined at link time by defining which of the Lex* object files are linked in.
  • On Windows, the SciLexer.DLL extends Scintilla.DLL with the standard lexers.
  • Enhanced HTML lexer styles embedded VBScript and Python. ASP segments are styled and ASP scripts in JavaScript, VBScript and Python are styled.
  • PLSQL and PHP supported.
  • Maximum number of lexical states extended to 128.
  • Lexers may store per line parse state for multiple line features such as ASP script language choice.
  • Lexing API simplified.
  • Project file for Visual C++.
  • Can now cycle through all recent files with Ctrl+Tab in SciTE.
  • Bookmarks in SciTE.
  • Drag and drop copy works when dragging to the edge of the selection.
  • Fixed bug with value sizes in properties file.
  • Fixed bug with last line in properties file not being used.
  • Bug with multiple views of one document fixed.
  • Keypad now works on GTK+.

Release 1.22

  • Released on 27 February 2000.
  • wxWindows platform defined. Implementation for wxWindows will be available separately from main Scintilla distribution.
  • Line folding in Scintilla.
  • SciTE performs syntax directed folding for C/C++/Java/JavaScript and for Python.
  • Optional macro recording support.
  • User properties file (SciTEUser.properties) allows for customization by the user that is not overwritten with each installation of SciTE.
  • Python lexer detects and highlights inconsistent indentation.
  • Margin API made more orthogonal. SCI_SETMARGINWIDTH and SCI_SETLINENUMBERWIDTH are deprecated in favour of this new API.
  • Margins may be made sensitive to forward mouse click events to container.
  • SQL lexer and styles included.
  • Perl lexer handles regular expressions better.
  • Caret policy determines how closely caret is tracked by visible area.
  • New marker shapes: arrow pointing down, plus and minus.
  • Optionally display full path in title rather than just file name.
  • Container is notified when Scintilla gains or loses focus.
  • SciTE handles focus in a more standard way and applies the main edit commands to the focused pane.
  • Container is notified when Scintilla determines that a line needs to be made visible.
  • Document watchers receive notification when document about to be deleted.
  • Document interface allows access to list of watchers.
  • Line end determined correctly for lines ending with only a '\n'.
  • Search variant that searches form current selection and sets selection.
  • SciTE understands format of diagnostic messages from WScript.
  • SciTE remembers top line of window for each file in MRU list so switching to a recent file is more likely to show the same text as when the file was previously visible.
  • Document reference count now initialized correctly.
  • Setting a null document pointer creates an empty document.
  • WM_GETTEXT can no longer overrun buffer.
  • Polygon drawing bug fixed on GTK+.
  • Java and JavaScript lexers merged into C++ lexer.
  • C++ lexer indicates unterminated strings by colouring the end of the line rather than changing the rest of the file to string style. This is less obtrusive and helps the folding.

Release 1.21

  • Released on 2 February 2000.
  • Blank margins on left and right side of text.
  • SCN_CHECKBRACE renamed SCN_UPDATEUI and made more efficient.
  • SciTE source code refactored into platform independent and platform specific classes.
  • XML and Perl subset lexers in SciTE.
  • Large improvement to lexing speed.
  • A new subsystem, 2, allows use of ShellExec on Windows.
  • Borland compatible makefile.
  • Status bar showing caret position in GTK+ version of SciTE.
  • Bug fixes to selection drawing when part of selection outside window, mouse release over scroll bars, and scroll positioning after deletion.

Release 1.2

  • Released on 21 January 2000.
  • Multiple views of one document.
  • Rectangular selection, cut, copy, paste, drag and drop.
  • Long line indication.
  • Reverse searching
  • Line end conversion.
  • Generic autocompletion and calltips in SciTE.
  • Call tip background colour can be set.
  • SCI_MARKERPREV for moving to a previous marker.
  • Caret kept more within window where possible.

Release 1.15

  • Released on 15 December 1999.
  • Brace highlighting and badlighting (for mismatched braces).
  • Visible line ends.
  • Multiple line call tips.
  • Printing now works from SciTE on Windows.
  • SciTE has a global "*" lexer style that is used as the basis for all the lexers' styles.
  • Fixes some warnings on GTK+ 1.2.6.
  • Better handling of modal dialogs on GTK+.
  • Resize handle drawn on pane splitter in SciTE on GTK+ so it looks more like a regular GTK+ *paned widget.
  • SciTE does not place window origin offscreen if no properties file found on GTK+.
  • File open filter remembered in SciTE on Windows.
  • New mechanism using style numbers 32 to 36 standardizes the setting of styles for brace highlighting, brace badlighting, line numbers, control characters and the default style.
  • Old messages SCI_SETFORE .. SCI_SETFONT have been replaced by the default style 32. The old messages are deprecated and will disappear in a future version.

Release 1.14

  • Released on 20 November 1999.
  • Fixes a scrolling bug reported on GTK+.

Release 1.13

  • Released on 18 November 1999.
  • Fixes compilation problems with the mingw32 GCC 2.95.2 on Windows.
  • Control characters are now visible.
  • Performance has improved, particularly for scrolling.
  • Windows RichEdit emulation is more accurate. This may break client code that uses these messages: EM_GETLINE, EM_GETLINECOUNT, EM_EXGETSEL, EM_EXSETSEL, EM_EXLINEFROMCHAR, EM_LINELENGTH, EM_LINEINDEX, EM_CHARFROMPOS, EM_POSFROMCHAR, and EM_GETTEXTRANGE.
  • Menus rearranged and accelerator keys set for all static items.
  • Placement of space indicators in view whitespace mode is more accurate with some fonts.

Release 1.12

  • Released on 9 November 1999.
  • Packaging error in 1.11 meant that the compilation error was not fixed in that release. Linux/GTK+ should compile with GCC 2.95 this time.

Release 1.11

  • Released on 7 November 1999.
  • Fixed a compilation bug in ScintillaGTK.cxx.
  • Added a README file to explain how to build.
  • GTK+/Linux downloads now include documentation.
  • Binary only Sc1.EXE one file download for Windows.

Release 1.1

  • Released on 6 November 1999.
  • Major restructuring for better modularity and platform independence.
  • Inter-application drag and drop.
  • Printing support in Scintilla on Windows.
  • Styles can select colouring to end of line. This can be used when a file contains more than one language to differentiate between the areas in each language. An example is the HTML + JavaScript styling in SciTE.
  • Actions can be grouped in the undo stack, so they will be undone together. This grouping is hierarchical so higher level actions such as replace all can be undone in one go. Call to discover whether there are any actions to redo.
  • The set of characters that define words can be changed.
  • Markers now have identifiers and can be found and deleted by their identifier. The empty marker type can be used to make a marker that is invisible and which is only used to trace where a particular line moves to.
  • Double click notification.
  • HTML styling in SciTE also styles embedded JavaScript.
  • Additional tool commands can be added to SciTE.
  • SciTE option to allow reloading if changed upon application activation and saving on application deactivation. Not yet working on GTK+ version.
  • Entry fields in search dialogs remember last 10 user entries. Not working in all cases in Windows version.
  • SciTE can save a styled copy of the current file in HTML format. As SciTE does not yet support printing, this can be used to print a file by then using a browser to print the HTML file.

Release 1.02

  • Released on 1 October 1999.
  • GTK+ version compiles with GCC 2.95.
  • Properly deleting objects when window destroyed under GTK+.
  • If the selection is not empty backspace deletes the selection.
  • Some X style middle mouse button handling for copying the primary selection to and from Scintilla. Does not work in all cases.
  • HTML styling in SciTE.
  • Stopped dirty flag being set in SciTE when results pane modified.

Release 1.01

  • Released on 28 September 1999.
  • Better DBCS support on Windows including IME.
  • Wheel mouse support for scrolling and zooming on Windows. Zooming with Ctrl+KeypadPlus and Ctrl+KeypadMinus.
  • Performance improvements especially on GTK+.
  • Caret blinking and settable colour on both GTK+ and Windows.
  • Drag and drop within a Scintilla window. On Windows, files can be dragged into SciTE.

Release 1.0

  • Released on 17 May 1999.
  • Changed name of "Tide" to "SciTE" to avoid clash with a TCL based IDE. "SciTE" is a SCIntilla based Text Editor and is Latin meaning something like "understanding in a neat way" and is also an Old English version of the word "shit".
  • There is a SCI_AUTOCSTOPS message for defining a string of characters that will stop autocompletion mode. Autocompletion mode is cancelled when any cursor movement occurs apart from backspace.
  • GTK+ version now splits horizontally as well as vertically and all dialogs cancel when the escape key is pressed.

Beta release 0.93

  • Released on 12 May 1999.
  • A bit more robust than 0.92 and supports SCI_MARKERNEXT message.

Beta release 0.92

  • Released on 11 May 1999.
  • GTK+ version now contains all features of Windows version with some very small differences. Executing programs works much better now.
  • New palette code to allow more colours to be displayed in 256 colour screen modes. A line number column can be displayed to the left of the selection margin.
  • The code that maps from line numbers to text positions and back has been completely rewritten to be faster, and to allow markers to move with the text.

Beta release 0.91

  • Released on 30 April 1999, containing fixes to text measuring to make Scintilla work better with bitmap fonts. Also some small fixes to make compiling work with Visual C++.

Beta release 0.90

  • Released on 29 April 1999, containing working GTK+/Linux version.
  • The Java, C++ and Python lexers recognize operators as distinct from default allowing them to be highlighted.

Beta release 0.82

  • Released on 1 April 1999, to fix a problem with handling the Enter key in PythonWin. Also fixes some problems with cmd key mapping.

Beta release 0.81

  • Released on 30th March 1999, containing bug fixes and a few more features.
  • Static linking supported and Tidy.EXE, a statically linked version of Tide.EXE. Changes to compiler flags in the makefiles to optimize for size.
  • Scintilla supports a 'savepoint' in the undo stack which can be set by the container when the document is saved. Notifications are sent to the container when the savepoint is entered or left, allowing the container to to display a dirty indicator and change its menus.
  • When Scintilla is set to read-only mode, a notification is sent to the container should the user try to edit the document. This can be used to check the document out of a version control system.
  • There is an API for setting the appearance of indicators.
  • The keyboard mapping can be redefined or removed so it can be implemented completely by the container. All of the keyboard commands are now commands which can be sent by the container.
  • A home command like Visual C++ with one hit going to the start of the text on the line and the next going to the left margin is available. I do not personally like this but my fingers have become trained to it by much repetition.
  • SCI_MARKERDELETEALL has an argument in wParam which is the number of the type marker to delete with -1 performing the old action of removing all marker types.
  • Tide now understands both the file name and line numbers in error messages in most cases.
  • Tide remembers the current lines of files in the recently used list.
  • Tide has a Find in Files command.

Beta release 0.80

  • This was the first public release on 14th March 1999, containing a mostly working Win32 Scintilla DLL and Tide EXE.

Beta releases of SciTE were called Tide

================================================ FILE: src/qscint/doc/Scintilla/ScintillaRelated.html ================================================ Scintilla and SciTE Related Sites
Scintilla icon Scintilla and SciTE

Related Sites

Ports and Bindings of Scintilla

Scintilla.mcc is a port to MorphOS.

Wx::Scintilla is a Perl Binding for Scintilla on wxWidgets.

GtkScintilla is a GTK+ widget which enables easily adding a powerful source code editor to your applications. Harnessing the abilities of the Scintilla editing component, GtkScintilla adds a familiar GTK+/GObject API, making the widget comfortable to use in these programs, using all the typical GObject conventions.

Editawy is an ActiveX Control wrapper that support all Scintilla functions and additional high level functions.

Jintilla is a JNI wrapper that allows Scintilla to be used in Java with both SWT and AWT.

Delphi Scintilla Interface Components is a FREE collection of components that makes it easy to use the Scintilla source code editing control from within Delphi and C++ Builder.

wxStEdit is a library and sample program that provides extra features over wxStyledTextControl.

CScintillaCtrl, CScintillaView & CScintillaDoc are freeware MFC classes to encapsulate Scintilla.

ScintillaNet is an encapsulation of Scintilla for use within the .NET framework.

QScintilla is a port of Scintilla to the Qt platform. It has a similar license to Qt: GPL for use in free software and commercial for use in close-source applications.

GWindows is a Win32 RAD GUI Framework for Ada 95 that includes a binding of Scintilla.

ScintillaVB is an ActiveX control written in VB that encapsulates Scintilla.

FXScintilla is a port of Scintilla to the FOX platform. FXRuby includes Ruby bindings for FXScintilla.

Delphi wrapper for Scintilla which is also usable from Borland C++ Builder.

The wxStyledTextCtrl editor component in the wxWidgets cross platform toolkit is based on Scintilla.
A Python binding for wxStyledTextCtrl is part of wxPython.

gtkscintilla is an alternative GTK class implementation for scintilla. This implementation acts more like a Gtk+ object, with many methods rather than just scintilla_send_message() and is available as a shared library. This implementation works with GTK 1.x.

gtkscintilla2 is an alternative GTK class implementation for scintilla similar to the above, but for GTK 2.x.

pygtkscintilla is a Python binding for gtk1.x scintilla that uses gtkscintilla instead of the default GTK class.

ScintillaCtrl is an unmaintained ActiveX control wrapper for Scintilla.

Projects using Scintilla

Textilosaurus is simple cross-platform UTF-8 text editor based on Qt and Scintilla.

BowPad is a small and fast text editor with a modern ribbon user interface (Windows7 or later).

ZeroBrane Studio Lua IDE is a lightweight Lua IDE with code completion, syntax highlighting, live coding, remote debugger, and code analyzer (Windows, OSX, and Linux).

XML Validator Buddy is an XML/JSON editor and XML validator for Windows.

SciTECO is an advanced TECO dialect and interactive screen editor based on Scintilla.

Quantum GIS is a user friendly Open Source Geographic Information System (GIS).

QGrinUI searches for a regex within all relevant files in a directory and shows matches using SciTE through the director interface.

Textadept is a ridiculously extensible cross-platform text editor for programmers written (mostly) in Lua using LPeg to handle the lexers.

Scribble is a text editor included in MorphOS.

MySQL Workbench is a cross-platform, visual database design, sql coding and administration tool.

LIVEditor is for web front end coders editing html/css/js code.

Padre is a wxWidgets-based Perl IDE.

CoderStudio is an IDE for plain C and Assembly programming similar to Visual Studio.

Enterprise Architect is a UML 2.1 analysis and design tool.

The CodeAssistor Editor is a small and simple source code editor for MacOSX, Windows, and GTK/Linux.

PBEditor is a text editor for PowerBuilder.

CrypTool is an application for applying and analyzing cryptographic algorithms.

FXiTe is an advanced cross-platform text editor built with the Fox GUI toolkit and the FXScintilla text widget.

Jabaco is a simple programming language with a Visual Basic like syntax.

LispIDE is a basic Lisp editor for Windows 2000, XP and Vista.

File Workbench: a file manager / text editor environment with Squirrel scripting.

Kephra is a free, easy and comfortable cross-platform editor written in Perl.

UniversalIndentGUI is a cross platform GUI for several code formatters, beautifiers and indenters like GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP and so on.

Elementary Reports is designed to reduce the time to compose detailed and professional primary school reports.

Visual Classworks Visual class modeling and coding in C++ via 'live' UML style class diagrams.

Javelin Visual Class modeling and coding in Java via 'live' UML style class diagrams.

The ExtendScript Toolkit is a development and debugging tool for JavaScript scripts included with Adobe CS3 Suites.

TortoiseSVN is a Windows GUI client for the Subversion source control software.

Geany is a small and fast GTK2 based IDE, which has only a few dependencies from other packages.

ECMerge is a commercial graphical and batch diff / merge tool for Windows, Linux and Solaris (aiming to target all major platforms).

PyPE is an editor written in Python with the wxPython GUI toolkit.

Sciboo is an editor based on ScintillaNET.

The Scite Config Tool is a graphical user interface for changing SciTE properties files.

Scintilla Lister is a plugin for Total Commander allowing viewing all documents with syntax highlighting inside Total Commander.

ChSciTE is a free IDE for C/C++ interpreter Ch. It runs cross platform. Ch is for cross-platform scripting, shell programming, 2D/3D plotting, numerical computing, and embedded scripting.

Code::Blocks is an open source, cross platform free C++ IDE.

Notepad++ is a free source code editor under Windows.

Gubed is a cross platform program to debug PHP scripts.

LSW DotNet-Lab is a development environment for the .NET platform.

GLIntercept is an OpenGL function call interceptor that uses SciTE as a run-time shader editor.

wyoEditor is "A nice editor with a well designed and consistent look and feel".

Notepad2 is "Yet another Notepad replacement".

PyCrash Viewer can examine crash dumps of Python programs.

MPT series Wire Analyzers use Scintilla and SciTE.

MyGeneration is a .NET based code generator.

CSSED is a tiny GTK2 CSS editor.

IdePS is a free Integrated Development Environment for PostScript

CUTE is a user-friendly source code editor easily extended using Python.

Venis IX, the Visual Environment for NSIS (Nullsoft Scriptable Install System).

Eric3 is a Python IDE written using PyQt and QScintilla.

CPPIDE is part of some commercial high-school oriented programming course software.

Instant Source is a commercial tool for looking at the HTML on web sites.

RAD.On++ is a free C++ Rapid Application Developer for Win32.

wxBasic is an open source Basic interpreter that uses the wxWidgets toolkit. A small IDE is under construction.

Visual MinGW is an IDE for the MinGW compiler system.This runs on Windows with gcc.

The Wing IDE is a complete integrated development environment for the Python programming language. Available on Intel based Linux and Windows and on MacOS X through XDarwin.

Sphere is 2D RPG engine with a development environment.

Practical Ruby is an IDE for Ruby on Windows.

GNUe is a suite of tools and applications for solving the needs of the enterprise.

SilverCity is a lexing package that can provide lexical analysis for over 20 programming and markup languages.

HAP Python Remote Debugger is a Python debugger that can run on one Windows machine debugging a Python program running on either the same or another machine.

PyCrust is an interactive Python shell based on wxPython.

Komodo is a cross-platform multi-language development environment built as an application of Mozilla.

Filerx is a project manager for SciTE on Windows. Open source and includes an implementation of SciTE's Director interface so will be of interest to others wanting to control SciTE.

Anjuta is an open source C/C++ IDE for Linux/GNOME.

A version of SciTE for Win32 enhanced with a tab control to allow easy movement between buffers. Go to the "Goodies" area on this site.

Suneido is an integrated application platform currently available for Win32 that includes an object-oriented language, client-server database, and user interface and reporting frameworks.

Agast is an authoring system for adventure games which includes a customised version of SciTE.

Boa Constructor is a RAD GUI Building IDE for the wxWidgets cross platform platform. Written using wxPython with the wxStyledTextCtrl used as its editor.

PythonWin, a Win32 IDE for Python, uses Scintilla for both its editing and interactive windows.

Editing Components

CodeMirror is a versatile text editor implemented in JavaScript for the browser.

UniCodeEditor is a Unicode aware syntax editor control for Delphi and C++ Builder.

GtkSourceView is a text widget that extends the standard GTK+ 2.x text widget and improves it by implementing syntax highlighting and other features typical of a source editor.

AEditor is a free source code editing component implemented in Ruby.

SyntaxEditor is a commercial native .Net source code editing component.

jEdit is a good Open Source syntax colouring editor written in and for Java.

GTK+, the GIMP Toolkit, contains a rich text editing widget.
Gedit is an editor for GTK+/GNOME.

CodeGuru has source code for several Win32 MFC based editors.

SynEdit is a Win32 edit control written in Delphi.

SourceView is a commercial editing component for Win32.

Documents

The Craft of Text Editing describes how EMACS works, Craig A. Finseth

Data Structures in a Bit-Mapped Text Editor, Wilfred J. Hanson, Byte January 1987

Text Editors: Algorithms and Architectures, Ray Valdés, Dr. Dobbs Journal April 1993

Macintosh User Interface Guidelines and TextEdit chapters of Inside Macintosh

Development Tools

Scintilla and SciTE were developed using the Mingw version of GCC.

AStyle is a source code formatter for C++ and Java code. SciTE has an Indent command defined for .cxx files that uses AStyle.

WinMerge is an interactive diff / merge for Windows. I prefer code submissions in the form of source files rather than diffs and then run WinMerge over the files to work out how to merge.

Python is my favourite programming language. Scintilla was started after I tried to improve the editor built into PythonWin, but was frustrated by the limitations of the Windows Richedit control which PythonWin used.

regex is a public domain implementation of regular expression pattern matching used in Scintilla.

Inspirational coding soundscapes by David Bridie.

================================================ FILE: src/qscint/doc/Scintilla/ScintillaToDo.html ================================================ Scintilla and SciTE To Do
Scintilla icon Scintilla and SciTE

Bugs and To Do List

Feedback

Issues can be reported on the Bug Tracker and features requested on the Feature Request Tracker.

Scintilla Bugs

Automatic scrolling when text dragged near edge of window.

Scintilla To Do

Folding for languages that don't have it yet and good folding for languages that inherited poor folding from another languages folding code.

Simple pattern based styling.

Different height lines based upon tallest text on the line rather than on the tallest style possible.

Composition of lexing for mixed languages (such as ASP+ over COBOL) by combining lexers.

Stream folding which could be used to fold up the contents of HTML elements.

Printing of highlight lines and folding margin.

Flow diagrams inside editor similar to GRASP.

More lexers for other languages.

SciTE To Do

Good regular expression support through a plugin.

Allow file name based selection on all properties rather than just a chosen few.

Opening from and saving to FTP servers.

Setting to fold away comments upon opening.

User defined fold ranges.

Silent mode that does not display any message boxes.

Features I am unlikely to do

These are features I don't like or don't think are important enough to work on. Implementations are welcome from others though.

Mouse wheel panning (press the mouse wheel and then move the mouse) on Windows.

Adding options to the save dialog to save in a particular encoding or with a chosen line ending.

Directions

The main point of this development is Scintilla, and this is where most effort will go. SciTE will get new features, but only when they make my life easier - I am not intending to make it grow up to be a huge full-function IDE like Visual Cafe. The lines I've currently decided not to step over in SciTE are any sort of project facility and any configuration dialogs. SciTE for Windows now has a Director interface for communicating with a separate project manager application.

If you are interested in contributing code, do not feel any need to make it cross platform. Just code it for your platform and I'll either reimplement for the other platform or ensure that there is no effect on the other platform.

================================================ FILE: src/qscint/doc/Scintilla/ScintillaUsage.html ================================================ Scintilla Usage Notes
Scintilla icon Scintilla Usage Notes

Implementing Auto-Indent

The key idea is to use the SCN_CHARADDED notification to add indentation after a newline.

The lParam on the notification is a pointer to a SCNotification structure whose ch member specifies the character added. If a newline was added, the previous line can be retrieved and the same indentation can be added to the new line.

Here is the relevant portion of code from SciTE: (SciTE.cxx SciTEWindow::CharAdded)

if  (ch  ==  '\r'  ||  ch  ==  '\n')  {
    
char  linebuf[1000];
    
int  curLine  =  GetCurrentLineNumber();
    
int  lineLength  =  SendEditor(SCI_LINELENGTH,  curLine);
    
//Platform::DebugPrintf("[CR] %d len = %d\n", curLine, lineLength);
    
if  (curLine  >  0  &&  lineLength  <=  2)  {
    
int  prevLineLength  =  SendEditor(SCI_LINELENGTH,  curLine  -  1);
    
if  (prevLineLength  <  sizeof(linebuf))  {
        
WORD  buflen  =  sizeof(linebuf);
        
memcpy(linebuf,  &buflen,  sizeof(buflen));
        
SendEditor(EM_GETLINE,  curLine  -  1,
                   
reinterpret_cast<LPARAM>(static_cast<char  *>(linebuf)));
        
linebuf[prevLineLength]  =  '\0';
        
for  (int  pos  =  0;  linebuf[pos];  pos++)  {
            
if  (linebuf[pos]  !=  ' '  &&  linebuf[pos]  !=  '\t')
                
linebuf[pos]  =  '\0';
        
}
        
SendEditor(EM_REPLACESEL,  0,  reinterpret_cast<LPARAM>(static_cast<char  *>(linebuf)));
    
}
}

Of course, fancier handling could be implemented. For example, if the previous line was the start of a control construct, the next line could be automatically indented one tab further. (Assuming that is your indenting style.)

Implementing Syntax Styling

Syntax styling is handled by the SCN_STYLENEEDED notification. Scintilla keeps track of the end of the styled text - this is retrieved with SCI_GETENDSTYLED. In response to the SCN_STYLENEEDED notification, you should apply styles to the text from ENDSTYLED to the position specified by the notification.

Here is the relevant portion of code from SciTE: (SciTE.cxx)

void  SciTEWindow::Notify(SCNotification  *notification)  {
    
switch  (notification->nmhdr.code)  {
    
case  SCN_STYLENEEDED:  {
            
if  (notification->nmhdr.idFrom  ==  IDM_SRCWIN)  {
                
int  endStyled  =  SendEditor(SCI_GETENDSTYLED);
                
int  lineEndStyled  =  SendEditor(EM_LINEFROMCHAR,  endStyled);
                
endStyled  =  SendEditor(EM_LINEINDEX,  lineEndStyled);
                
Colourise(endStyled,  notification->position);

Colourize(start, end) retrieves the specified range of text and then calls ColourizeDoc in keywords.cxx. It starts the process by calling:

    SendMessage(hwnd,  SCI_STARTSTYLING,  startPos,  31);

and then for each token of the text, calling:

    SendMessage(hwnd,  SCI_SETSTYLING,  length,  style);

where style is a number from 0 to 31 whose appearance has been defined using the SCI_STYLESET... messages.

Implementing Calltips

Again, the SCN_CHARADDED notification is used to catch when an opening parenthesis is added. The preceding word can then be retrieved from the current line:

    char  linebuf[1000];
    int  current  =  SendEditor(SCI_GETCURLINE,  sizeof(linebuf),
        
reinterpret_cast<LPARAM>(static_cast<char  *>(linebuf)));
    int  pos  =  SendEditor(SCI_GETCURRENTPOS);

    int  startword  =  current  -  1;
    while  (startword  >  0  &&  isalpha(linebuf[startword  -  1]))
        
startword--;
    linebuf[current  -  1]  =  '\0';
    char*  word  =  linebuf  +  startword;

Then if a calltip is available it can be displayed. The calltip appears immediately below the position specified. The calltip can be multiple lines separated by newlines (\n).

    pos  =  SendMessage(hwnd,  SCI_GETCURRENTPOS,  0,  0);
    SendMessageText(hwnd,  SCI_CALLTIPSHOW,  pos  -  wordLen  -  1,  calltip);

The calltip can be removed when a closing parenthesis is entered:

    if  (SendMessage(hwnd,  SCI_CALLTIPACTIVE,  0,  0))
        
SendMessage(hwnd,  SCI_CALLTIPCANCEL,  0,  0);

Obviously, it is up the application to look after supplying the appropriate calltip text.

SciTE goes one step further, counting the commas between arguments and highlighting the corresponding part of the calltip. This code is in ContinueCallTip.

Page contributed by Andrew McKinlay.

================================================ FILE: src/qscint/doc/Scintilla/Steps.html ================================================ How to use the Scintilla Edit Control in windows?

How to use the Scintilla Edit Control in windows?

This should be a little step by step explanation how to use Scintilla in the windows environment.

How to create Scintilla Edit Control?

First of all, load the Scintilla DLL with something like:


	hmod = LoadLibrary("SciLexer.DLL");
		if (hmod==NULL)
		{
			MessageBox(hwndParent,
			"The Scintilla DLL could not be loaded.",
			"Error loading Scintilla",
			MB_OK | MB_ICONERROR);
		}
		

If the DLL was loaded successfully, then the DLL has registered (yes, by itself) a new window class. The new class called "Scintilla" is the new scintilla edit control.

Now you can use this new control just like any other windows control.


	hwndScintilla = CreateWindowEx(0,
		"Scintilla","", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPCHILDREN,
		10,10,500,400,hwndParent,(HMENU)GuiID, hInstance,NULL);
		

Note the new window class name: "Scintilla". By reaching this point you actually included a Scintilla Edit Control to your windows program.

How to control the Scintilla Edit Control?

You can control Scintilla by sending commands to the Edit Control. There a 2 ways of doing this. A simple and fast way.

The simple way to control Scintilla

The simple way is just like with any other windows control. You can send messages to the Scintilla Edit Control and receive notifications from the control. (Note that the notifications are sent to the parent window of the Scintilla Edit Control.)

The Scintilla Edit Control knows a special message for each command. To send commands to the Scintilla Edit Control you can use the SendMessage function.


	SendMessage(hwndScintilla,sci_command,wparam,lparam);
			

like:


	SendMessage(hwndScintilla,SCI_CREATEDOCUMENT, 0, 0);
			

Some of the commands will return a value and unused parameters should be set to NULL.

The fast way to control Scintilla

The fast way of controlling the Scintilla Edit Control is to call message handling function by yourself. You can retrieve a pointer to the message handling function of the Scintilla Edit Control and call it directly to execute a command. This way is much more faster than the SendMessage() way.

1st you have to use the SCI_GETDIRECTFUNCTION and SCI_GETDIRECTPOINTER commands to retrieve the pointer to the function and a pointer which must be the first parameter when calling the retrieved function pointer. You have to do this with the SendMessage way :)

The whole thing has to look like this:


	int (*fn)(void*,int,int,int);
	void * ptr;
	int canundo;

	fn = (int (__cdecl *)(void *,int,int,int))SendMessage(
		hwndScintilla,SCI_GETDIRECTFUNCTION,0,0);
	ptr = (void *)SendMessage(hwndScintilla,SCI_GETDIRECTPOINTER,0,0);

	canundo = fn(ptr,SCI_CANUNDO,0,0);
			

with "fn" as the function pointer to the message handling function of the Scintilla Control and "ptr" as the pointer that must be used as 1st parameter. The next parameters are the Scintilla Command with its two (optional) parameters.

How will I receive notifications?

Whenever an event occurs where Scintilla wants to inform you about something, the Scintilla Edit Control will send notification to the parent window. This is done by a WM_NOTITY message. When receiving that message, you have to look in the xxx struct for the actual message.

So in Scintillas parent window message handling function you have to include some code like this:

	NMHDR *lpnmhdr;

	[...]

	case WM_NOTIFY:
		lpnmhdr = (LPNMHDR) lParam;

		if(lpnmhdr->hwndFrom==hwndScintilla)
		{
			switch(lpnmhdr->code)
			{
				case SCN_CHARADDED:
					/* Hey, Scintilla just told me that a new */
					/* character was added to the Edit Control.*/
					/* Now i do something cool with that char. */
				break;
			}
		}
	break;
			

Page contributed by Holger Schmidt.

================================================ FILE: src/qscint/doc/Scintilla/StyleMetadata.html ================================================ Scintilla Style Metadata
Scintilla icon Scintilla

Language Types

Scintilla contains lexers for various types of languages:

  • Programming languages like C++, Java, and Python.
  • Assembler languages are low-level programming languages which may additionally include instructions and registers.
  • Markup languages like HTML, TeX, and Markdown.
  • Data languages like EDIFACT and YAML.

Some languages can be used in different ways. JavaScript is a programming language but also the basis of JSON data files. Similarly, Lisp s expressions can be used for both source code and data.

Each language type has common elements such as identifiers in programming languages. These common elements should be identified so that languages can be displayed with common styles for these elements. Style tags are used for this purpose in Scintilla.

Style Tags

Every style has a list of tags where a tag is a lower-case word containing only the common ASCII letters 'a'-'z' such as "comment" or "operator".

Tags are ordered from most important to least important.

While applications may assign visual attributes for tag lists in many different ways, one reasonable technique is to apply tag-specific attributes in reverse order so that earlier and more important tags override less important tags. For example, the tag list "error comment documentation keyword" with a set of tag attributes
{ comment=fore:green,back:very-light-green,font:Serif documentation=fore:light-green error=strikethrough keyword=bold }
could be rendered as
bold,fore:light-green,back:very-light-green,font:Serif,strikethrough.

Alternative renderings could check for multi-tag combinations like { comment.documentation=fore:light-green comment.line=dark-green comment=green }.

Commonly, a tag list will contain an optional embedded language; optional statuses; a base type; and a set of type modifiers:
embedded-language? status* base-type modifiers*

Embedded language

The embedded language may be a source (client | server) followed by a language name (javascript | php | python | basic). This may be extended in the future with other programming languages and style-definition languages like CSS.

Status

The statuses may be (error | unused | predefined | inactive).
The error status is used for lexical statuses that indicate errors in the source code such as unterminated quoted strings.
The unused status may indicate a gap in the lexical states, possibly because an old lexical class is no longer used or an upcoming lexical class may fill that position.
The predefined status indicates a style in the range 32.39 that is used for non-lexical purposes in Scintilla.
The inactive status is used for text that is not currently interpreted such as C++ code that is contained within a '#if 0' preprocessor block.

Basic Types

The basic types for programming languages are (default | operator | keyword | identifier | literal | comment | preprocessor | label).
The default type is commonly used for spaces and tabs between tokens although it may cover other characters in some languages.

Assembler languages add (instruction | register). to the basic types from programming languages.

The basic types for markup languages are (default | tag | attribute | comment | preprocessor).

The basic types for data languages are (default | key | data | comment).

Comments

Programming languages may differentiate between line and stream comments and treat documentation comments as distinct from other comments. Documentation comments may be marked up with documentation keywords.
The additional attributes commonly used are (line | documentation | keyword | taskmarker).

Literals

Programming and assembler languages contain a rich set of literals including numbers like 7 and 3.89e23; "string\n"; and nullptr and differentiating between these is often wanted.
The common literal types are (numeric | boolean | string | regex | date | time | uuid | nil | compound).
Numeric literal types are subdivided into (integer | real).
String literal types may add (perhaps multiple) further attributes from (heredoc | character | escapesequence | interpolated | multiline | raw).

An escape sequence within an interpolated heredoc may thus be literal string heredoc escapesequence.

List of known tags

attributeMarkup attribute
basicEmbedded Basic
booleanTrue or false literal
characterSingle character literal as opposed to a string literal
clientScript executed on client
commentThe standard comment type in a language: may be stream or line
compoundLiteral containing multiple subliterals such as a tuple or complex number
dataA value in a data file
dateLiteral representing a data such as '19/November/1975'
defaultStarting state commonly also used for white space
documentationComment that can be extracted into documentation
errorState indicating an invalid or erroneous element
escapesequenceParts of a string that are not literal such as '\t' for tab in C
heredocLengthy text literal marked by a word at both ends
identifierName that identifies an object or class of object
inactiveCode that is not currently interpreted
instructionMnemonic in assembler languages like 'addc'
integerNumeric literal with no fraction or exponent like '738'
interpolatedString that can contain expressions
javascriptEmbedded Javascript
keyElement which allows finding associated data
keywordReserved word with special meaning like 'while'
labelDestination for jumps in programming and assembler languages
lineDifferentiates between stream comments and line comments in languages that have both
literalFixed value in source code
multilineDifferentiates between single line and multiline elements, commonly strings
nilLiteral for the null pointer such as nullptr in C++ or NULL in C
numericLiteral number like '16'
operatorPunctuation character such as '&' or '['
phpEmbedded PHP
predefinedStyle in the range 32.39 that is used for non-lexical purposes
preprocessorElement that is recognized in an early stage of translation
pythonEmbedded Python
rawString type that avoids interpretation: may be used for regular expressions in languages without a specific regex type
realNumeric literal which may have a fraction or exponent like '3.84e-15'
regexRegular expression literal like '^[a-z]+'
registerCPU register in assembler languages
serverScript executed on server
stringSequence of characters
tagMarkup tag like '<br />'
taskmarkerWord in comment that marks future work like 'FIXME'
timeLiteral representing a time such as '9:34:31'
unusedStyle that is not currently used
uuidUniversally unique identifier often used in interface definition files which may look like '{098f2470-bae0-11cd-b579-08002b30bfeb}'

Extension

Each element in this scheme may be extended in the future. This may be done by revising this document to provide a common approach to new features. Individual lexers may also choose to expose unique language features through new tags.

Translation

Tags could be exposed directly in user interfaces or configuration languages. However, an application may also translate these to match its naming schema. Capitalization and punctuation could be different (like Here-Doc instead of heredoc), terminology changed ("constant" instead of "literal"), or human language changed from English to Chinese or Spanish.

Starting from a common set of tags makes these modifications tractable.

Open issues

The C++ lexer (for example) has inactive states and dynamically allocated substyles. These should be exposed through the metadata mechanism but are not currently.

================================================ FILE: src/qscint/doc/Scintilla/index.html ================================================ Scintilla and SciTE
Scintilla A free source code editing component for Win32, GTK+, and OS X Release version 3.10.1
Site last modified February 12 2018
 
 
  • Version 3.7.5 adds a Reverse Selected Lines command. MSVC 2013 is no longer supported.
  • Version 3.7.4 restores performance on GTK+. C++11 now required to build and Windows NT 4 is no longer supported.
  • Version 3.7.3 fixes problems with GTK+ on Wayland.
  • Version 3.7.2 fixes some crashes on GTK+ and Cocoa, commonly at destruction.
  • Version 3.7.1 supports accessibility on GTK+ and Cocoa. The Scintilla namespace is not exposed in Scintilla.h and some deprecated APIs were removed.

Scintilla is a free source code editing component. It comes with complete source code and a license that permits use in any free project or commercial product.

As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts.

SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is best used for jobs with simple configurations - I use it for building test and demonstration programs as well as SciTE and Scintilla, themselves.

Development of Scintilla started as an effort to improve the text editor in PythonWin. After being frustrated by problems in the Richedit control used by PythonWin, it looked like the best way forward was to write a new edit control. The biggest problem with Richedit and other similar controls is that they treat styling changes as important persistent changes to the document so they are saved into the undo stack and set the document's dirty flag. For source code, styling should not be persisted as it can be mechanically recreated.

Scintilla and SciTE are currently available for Intel Win32, OS X, and Linux compatible operating systems with GTK+. They have been run on Windows XP, Windows 7, OS X 10.7+, and on Ubuntu 14.04 with GTK+ 2.24. Here is a screenshot of SciTE.

You can download Scintilla.

The source code can be downloaded via Mercurial at the Source Forge Scintilla project page.

Related sites.

Bugs and To Do list.

History and contribution credits.

Icons that can be used with Scintilla.

The LongTerm3 branch of Scintilla avoids using features from C++14 or later in order to support older systems.

Questions and comments about Scintilla should be directed to the scintilla-interest mailing list, which is for discussion of Scintilla and related projects, their bugs and future features. This is a low traffic list, averaging less than 20 messages per week. To avoid spam, only list members can write to the list. New versions of Scintilla are announced on scintilla-interest and may also be received by SourceForge members by clicking on the Monitor column icon for "scintilla" on the downloads page. Messages sent to my personal email address that could have been sent to the list may receive no response.

There is a Scintilla project page hosted on ================================================ FILE: src/qscint/doc/html/annotated.html ================================================ QScintilla: Class List
QScintilla  2.12.1
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 CQsciAbstractAPIsInterface to the textual API information used in call tips and for auto-completion. A sub-class will provide the actual implementation of the interface
 CQsciAPIsProvies an implementation of the textual API information used in call tips and for auto-completion
 CQsciCommandInternal editor command that may have one or two keys bound to it
 CQsciCommandSetSet of all internal editor commands that may have keys bound
 CQsciDocumentDocument to be edited
 CQsciLexerAbstract class used as a base for language lexers
 CQsciLexerAVSEncapsulates the Scintilla AVS lexer
 CQsciLexerBashEncapsulates the Scintilla Bash lexer
 CQsciLexerBatchEncapsulates the Scintilla batch file lexer
 CQsciLexerCMakeEncapsulates the Scintilla CMake lexer
 CQsciLexerCoffeeScriptEncapsulates the Scintilla CoffeeScript lexer
 CQsciLexerCPPEncapsulates the Scintilla C++ lexer
 CQsciLexerCSharpEncapsulates the Scintilla C# lexer
 CQsciLexerCSSEncapsulates the Scintilla CSS lexer
 CQsciLexerCustomAbstract class used as a base for new language lexers
 CQsciLexerDEncapsulates the Scintilla D lexer
 CQsciLexerDiffEncapsulates the Scintilla Diff lexer
 CQsciLexerEDIFACTEncapsulates the Scintilla EDIFACT lexer
 CQsciLexerFortranEncapsulates the Scintilla Fortran lexer
 CQsciLexerFortran77Encapsulates the Scintilla Fortran77 lexer
 CQsciLexerHTMLEncapsulates the Scintilla HTML lexer
 CQsciLexerIDLEncapsulates the Scintilla IDL lexer
 CQsciLexerJavaEncapsulates the Scintilla Java lexer
 CQsciLexerJavaScriptEncapsulates the Scintilla JavaScript lexer
 CQsciLexerJSONEncapsulates the Scintilla JSON lexer
 CQsciLexerLuaEncapsulates the Scintilla Lua lexer
 CQsciLexerMakefileEncapsulates the Scintilla Makefile lexer
 CQsciLexerMarkdownEncapsulates the Scintilla Markdown lexer
 CQsciLexerMatlabEncapsulates the Scintilla Matlab file lexer
 CQsciLexerOctaveEncapsulates the Scintilla Octave file lexer
 CQsciLexerPascalEncapsulates the Scintilla Pascal lexer
 CQsciLexerPerlEncapsulates the Scintilla Perl lexer
 CQsciLexerPOEncapsulates the Scintilla PO lexer
 CQsciLexerPostScriptEncapsulates the Scintilla PostScript lexer
 CQsciLexerPOVEncapsulates the Scintilla POV lexer
 CQsciLexerPropertiesEncapsulates the Scintilla Properties lexer
 CQsciLexerPythonEncapsulates the Scintilla Python lexer
 CQsciLexerRubyEncapsulates the Scintilla Ruby lexer
 CQsciLexerSpiceEncapsulates the Scintilla Spice lexer
 CQsciLexerSQLEncapsulates the Scintilla SQL lexer
 CQsciLexerTCLEncapsulates the Scintilla TCL lexer
 CQsciLexerTeXEncapsulates the Scintilla TeX lexer
 CQsciLexerVerilogEncapsulates the Scintilla Verilog lexer
 CQsciLexerVHDLEncapsulates the Scintilla VHDL lexer
 CQsciLexerXMLEncapsulates the Scintilla XML lexer
 CQsciLexerYAMLEncapsulates the Scintilla YAML lexer
 CQsciMacroSequence of recordable editor commands
 CQsciPrinterSub-class of the Qt QPrinter class that is able to print the text of a Scintilla document
 CQsciScintillaImplements a higher level, more Qt-like, API to the Scintilla editor widget
 CQsciScintillaBaseImplements the Scintilla editor widget and its low-level API
 CQsciStyleEncapsulates all the attributes of a style
 CQsciStyledTextContainer for a piece of text and the style used to display the text
================================================ FILE: src/qscint/doc/html/classQsciAPIs-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciAPIs Member List

This is the complete list of members for QsciAPIs, including all inherited members.

add(const QString &entry)QsciAPIs
apiPreparationCancelled()QsciAPIssignal
apiPreparationFinished()QsciAPIssignal
apiPreparationStarted()QsciAPIssignal
autoCompletionSelected(const QString &sel)QsciAPIsvirtual
callTips(const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList< int > &shifts)QsciAPIsvirtual
cancelPreparation()QsciAPIs
clear()QsciAPIs
defaultPreparedName() constQsciAPIs
event(QEvent *e) (defined in QsciAPIs)QsciAPIsvirtual
installedAPIFiles() constQsciAPIs
isPrepared(const QString &filename=QString()) constQsciAPIs
lexer() constQsciAbstractAPIs
load(const QString &filename)QsciAPIs
loadPrepared(const QString &filename=QString())QsciAPIs
prepare()QsciAPIs
QsciAbstractAPIs(QsciLexer *lexer)QsciAbstractAPIs
QsciAPIs(QsciLexer *lexer)QsciAPIs
remove(const QString &entry)QsciAPIs
savePrepared(const QString &filename=QString()) constQsciAPIs
updateAutoCompletionList(const QStringList &context, QStringList &list)QsciAPIsvirtual
~QsciAbstractAPIs()QsciAbstractAPIsvirtual
~QsciAPIs()QsciAPIsvirtual
================================================ FILE: src/qscint/doc/html/classQsciAPIs.html ================================================ QScintilla: QsciAPIs Class Reference
QScintilla  2.12.1
QsciAPIs Class Reference

#include <qsciapis.h>

Inherits QsciAbstractAPIs.

Signals

void apiPreparationCancelled ()
 
void apiPreparationStarted ()
 
void apiPreparationFinished ()
 

Public Member Functions

 QsciAPIs (QsciLexer *lexer)
 
virtual ~QsciAPIs ()
 
void add (const QString &entry)
 
void clear ()
 
bool load (const QString &filename)
 
void remove (const QString &entry)
 
void prepare ()
 
void cancelPreparation ()
 
QString defaultPreparedName () const
 
bool isPrepared (const QString &filename=QString()) const
 
bool loadPrepared (const QString &filename=QString())
 
bool savePrepared (const QString &filename=QString()) const
 
virtual void updateAutoCompletionList (const QStringList &context, QStringList &list)
 
virtual void autoCompletionSelected (const QString &sel)
 
virtual QStringList callTips (const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList< int > &shifts)
 
virtual bool event (QEvent *e)
 
QStringList installedAPIFiles () const
 
- Public Member Functions inherited from QsciAbstractAPIs
 QsciAbstractAPIs (QsciLexer *lexer)
 
virtual ~QsciAbstractAPIs ()
 
QsciLexerlexer () const
 

Detailed Description

The QsciAPIs class provies an implementation of the textual API information used in call tips and for auto-completion.

Raw API information is read from one or more files. Each API function is described by a single line of text comprising the function's name, followed by the function's optional comma separated parameters enclosed in parenthesis, and finally followed by optional explanatory text.

A function name may be followed by a ‘?’ and a number. The number is used by auto-completion to display a registered QPixmap with the function name.

All function names are used by auto-completion, but only those that include function parameters are used in call tips.

QScintilla only deals with prepared API information and not the raw information described above. This is done so that large APIs can be handled while still being responsive to user input. The conversion of raw information to prepared information is time consuming (think tens of seconds) and implemented in a separate thread. Prepared information can be quickly saved to and loaded from files. Such files are portable between different architectures.

QScintilla based applications that want to support large APIs would normally provide the user with the ability to specify a set of, possibly project specific, raw API files and convert them to prepared files that are loaded quickly when the application is invoked.

Constructor & Destructor Documentation

◆ QsciAPIs()

QsciAPIs::QsciAPIs ( QsciLexer lexer)

Constructs a QsciAPIs instance attached to lexer lexer. lexer becomes the instance's parent object although the instance can also be subsequently attached to other lexers.

Member Function Documentation

◆ add()

void QsciAPIs::add ( const QString &  entry)

Add the single raw API entry entry to the current set.

See also
clear(), load(), remove()

◆ clear()

void QsciAPIs::clear ( )

Deletes all raw API information.

See also
add(), load(), remove()

◆ load()

bool QsciAPIs::load ( const QString &  filename)

Load the API information from the file named filename, adding it to the current set. Returns true if successful, otherwise false.

◆ remove()

void QsciAPIs::remove ( const QString &  entry)

Remove the single raw API entry entry from the current set.

See also
add(), clear(), load()

◆ prepare()

void QsciAPIs::prepare ( )

Convert the current raw API information to prepared API information. This is implemented by a separate thread.

See also
cancelPreparation()

◆ cancelPreparation()

void QsciAPIs::cancelPreparation ( )

Cancel the conversion of the current raw API information to prepared API information.

See also
prepare()

◆ defaultPreparedName()

QString QsciAPIs::defaultPreparedName ( ) const

Return the default name of the prepared API information file. It is based on the name of the associated lexer and in the directory defined by the QSCIDIR environment variable. If the environment variable isn't set then $HOME/.qsci is used.

◆ isPrepared()

bool QsciAPIs::isPrepared ( const QString &  filename = QString()) const

Check to see is a prepared API information file named filename exists. If filename is empty then the value returned by defaultPreparedName() is used. Returns true if successful, otherwise false.

See also
defaultPreparedName()

◆ loadPrepared()

bool QsciAPIs::loadPrepared ( const QString &  filename = QString())

Load the prepared API information from the file named filename. If filename is empty then a name is constructed based on the name of the associated lexer and saved in the directory defined by the QSCIDIR environment variable. If the environment variable isn't set then $HOME/.qsci is used. Returns true if successful, otherwise false.

◆ savePrepared()

bool QsciAPIs::savePrepared ( const QString &  filename = QString()) const

Save the prepared API information to the file named filename. If filename is empty then a name is constructed based on the name of the associated lexer and saved in the directory defined by the QSCIDIR environment variable. If the environment variable isn't set then $HOME/.qsci is used. Returns true if successful, otherwise false.

◆ installedAPIFiles()

QStringList QsciAPIs::installedAPIFiles ( ) const

Return a list of the installed raw API file names for the associated lexer.

◆ apiPreparationCancelled

void QsciAPIs::apiPreparationCancelled ( )
signal

This signal is emitted when the conversion of raw API information to prepared API information has been cancelled.

See also
apiPreparationFinished(), apiPreparationStarted()

◆ apiPreparationStarted

void QsciAPIs::apiPreparationStarted ( )
signal

This signal is emitted when the conversion of raw API information to prepared API information starts and can be used to give some visual feedback to the user.

See also
apiPreparationCancelled(), apiPreparationFinished()

◆ apiPreparationFinished

void QsciAPIs::apiPreparationFinished ( )
signal

This signal is emitted when the conversion of raw API information to prepared API information has finished.

See also
apiPreparationCancelled(), apiPreparationStarted()
================================================ FILE: src/qscint/doc/html/classQsciAbstractAPIs-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciAbstractAPIs Member List

This is the complete list of members for QsciAbstractAPIs, including all inherited members.

autoCompletionSelected(const QString &selection)QsciAbstractAPIsvirtual
callTips(const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList< int > &shifts)=0QsciAbstractAPIspure virtual
lexer() constQsciAbstractAPIs
QsciAbstractAPIs(QsciLexer *lexer)QsciAbstractAPIs
updateAutoCompletionList(const QStringList &context, QStringList &list)=0QsciAbstractAPIspure virtual
~QsciAbstractAPIs()QsciAbstractAPIsvirtual
================================================ FILE: src/qscint/doc/html/classQsciAbstractAPIs.html ================================================ QScintilla: QsciAbstractAPIs Class Reference
QScintilla  2.12.1
QsciAbstractAPIs Class Referenceabstract

#include <qsciabstractapis.h>

Inherits QObject.

Inherited by QsciAPIs.

Public Member Functions

 QsciAbstractAPIs (QsciLexer *lexer)
 
virtual ~QsciAbstractAPIs ()
 
QsciLexerlexer () const
 
virtual void updateAutoCompletionList (const QStringList &context, QStringList &list)=0
 
virtual void autoCompletionSelected (const QString &selection)
 
virtual QStringList callTips (const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList< int > &shifts)=0
 

Detailed Description

The QsciAbstractAPIs class represents the interface to the textual API information used in call tips and for auto-completion. A sub-class will provide the actual implementation of the interface.

API information is specific to a particular language lexer but can be shared by multiple instances of the lexer.

Constructor & Destructor Documentation

◆ QsciAbstractAPIs()

QsciAbstractAPIs::QsciAbstractAPIs ( QsciLexer lexer)

Constructs a QsciAbstractAPIs instance attached to lexer lexer. lexer becomes the instance's parent object although the instance can also be subsequently attached to other lexers.

Member Function Documentation

◆ updateAutoCompletionList()

virtual void QsciAbstractAPIs::updateAutoCompletionList ( const QStringList &  context,
QStringList &  list 
)
pure virtual

Update the list list with API entries derived from context. context is the list of words in the text preceding the cursor position. The characters that make up a word and the characters that separate words are defined by the lexer. The last word is a partial word and may be empty if the user has just entered a word separator.

Implemented in QsciAPIs.

◆ autoCompletionSelected()

virtual void QsciAbstractAPIs::autoCompletionSelected ( const QString &  selection)
virtual

This is called when the user selects the entry selection from the auto-completion list. A sub-class can use this as a hint to provide more specific API entries in future calls to updateAutoCompletionList(). The default implementation does nothing.

Reimplemented in QsciAPIs.

◆ callTips()

virtual QStringList QsciAbstractAPIs::callTips ( const QStringList &  context,
int  commas,
QsciScintilla::CallTipsStyle  style,
QList< int > &  shifts 
)
pure virtual

Return the call tips valid for the context context. (Note that the last word of the context will always be empty.) commas is the number of commas the user has typed after the context and before the cursor position. The exact position of the list of call tips can be adjusted by specifying a corresponding left character shift in shifts. This is normally done to correct for any displayed context according to style.

See also
updateAutoCompletionList()

Implemented in QsciAPIs.

QFont font() const
Definition: qscistyle.h:131
QByteArray bytes(int start, int end) const
const char * keywords(int set) const
The QsciLexerJavaScript class encapsulates the Scintilla JavaScript lexer.
Definition: qscilexerjavascript.h:33
QsciAbstractAPIs * apis() const
const char * language() const
Returns the name of the language.
const char * keywords(int set) const
The QsciLexerXML class encapsulates the Scintilla XML lexer.
Definition: qscilexerxml.h:32
bool readProperties(QSettings &qs, const QString &prefix)
void refreshProperties()
void SCN_CHARADDED(int charadded)
virtual void setAutoIndent(bool autoindent)
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
int extraAscent() const
void apiPreparationFinished()
void userListActivated(int id, const QString &string)
bool foldComments() const
QsciLexerCoffeeScript(QObject *parent=0)
virtual void foldAll(bool children=false)
QsciStyle(int style=-1)
const char * keywords(int set) const
QColor defaultPaper(int style) const
bool isModified() const
virtual bool readProperties(QSettings &qs, const QString &prefix)
bool foldAtElse() const
const char * language() const
Returns the name of the language.
const char * lexer() const
QFont defaultFont(int style) const
Returns the font for style number style.
void setMargins(int margins)
const char * blockEnd(int *style=0) const
QsciAPIs(QsciLexer *lexer)
QFont defaultFont(int style) const
Returns the font for style number style.
Command
This enum defines the different commands that can be assigned to a key.
Definition: qscicommand.h:43
virtual ~QsciLexerEDIFACT()
Destroys the QsciLexerEDIFACT instance.
QsciLexerBatch(QObject *parent=0)
QColor defaultColor(int style) const
virtual bool event(QEvent *e)
\reimp
QFont defaultFont(int style) const
Returns the font for style number style.
BraceMatch
Definition: qsciscintilla.h:133
const char * lexer() const
@ CallTipsBelowText
Call tips are placed below the text.
Definition: qsciscintilla.h:149
bool readProperties(QSettings &qs, const QString &prefix)
virtual void setFoldComments(bool fold)
QFont defaultFont(int style) const
Returns the font for style number style.
bool writeProperties(QSettings &qs, const QString &prefix) const
AutoCompletionSource
This enum defines the different sources for auto-completion lists.
Definition: qsciscintilla.h:116
void setAnnotationDisplay(AnnotationDisplay display)
void setMarginOptions(int options)
int markerDefine(const QImage &im, int markerNumber=-1)
void SCN_INDICATORRELEASE(int position, int modifiers)
bool writeProperties(QSettings &qs, const QString &prefix) const
void setAutoCompletionFillupsEnabled(bool enabled)
virtual void setCaretLineBackgroundColor(const QColor &col)
void annotate(int line, const QsciStyledText &text)
Annotate the line line with the styled text text.
const char * blockStartKeyword(int *style=0) const
void getCursorPosition(int *line, int *index) const
virtual void setMarginSensitivity(int margin, bool sens)
void annotate(int line, const QList< QsciStyledText > &text)
Annotate the line line with the list of styled text text.
QString description(int style) const
QString description(int style) const
QsciLexerProperties(QObject *parent=0)
QColor defaultColor(int style) const
const char * keywords(int set) const
void replaceVerticalScrollBar(QScrollBar *scrollBar)
QsciLexerCPP(QObject *parent=0, bool caseInsensitiveKeywords=false)
QStringList autoCompletionWordSeparators() const
bool foldCompact() const
The QsciLexerEDIFACT class encapsulates the Scintilla EDIFACT lexer.
Definition: qscilexeredifact.h:32
The QsciLexerFortran77 class encapsulates the Scintilla Fortran77 lexer.
Definition: qscilexerfortran77.h:33
void SCN_INDICATORCLICK(int position, int modifiers)
bool foldCompact() const
QColor defaultPaper(int style) const
virtual void setMarginWidth(int margin, int width)
The QsciLexerTeX class encapsulates the Scintilla TeX lexer.
Definition: qscilexertex.h:32
QsciLexerCMake(QObject *parent=0)
const char * lexer() const
bool writeProperties(QSettings &qs, const QString &prefix) const
QColor defaultPaper(int style) const
QFont defaultFont(int style) const
Returns the font for style number style.
const char * language() const
Returns the name of the language.
QColor defaultColor(int style) const
The QsciLexerCSS class encapsulates the Scintilla CSS lexer.
Definition: qscilexercss.h:32
QColor defaultPaper(int style) const
QColor defaultColor(int style) const
QColor color() const
Definition: qscistyle.h:109
const char * language() const
Returns the name of the language.
bool foldPreprocessor() const
Definition: qscilexerverilog.h:213
void setAPIs(QsciAbstractAPIs *apis)
const char * lexer() const
void setDollarsAllowed(bool allowed)
void resetFoldMarginColors()
int braceStyle() const
Returns the style used for braces for brace matching.
bool readProperties(QSettings &qs, const QString &prefix)
bool writeProperties(QSettings &qs, const QString &prefix) const
void refreshProperties()
const char * lexer() const
QString description(int style) const
int indicatorDefine(IndicatorStyle style, int indicatorNumber=-1)
@ NoBraceMatch
Brace matching is disabled.
Definition: qsciscintilla.h:135
QColor defaultPaper(int style) const
QColor defaultPaper(int style) const
void setV3BytesAllowed(bool allowed)
int braceStyle() const
Returns the style used for braces for brace matching.
const char * language() const
Returns the name of the language.
QFont defaultFont(int style) const
Returns the font for style number style.
virtual void setFoldCompact(bool fold)
virtual void dragMoveEvent(QDragMoveEvent *e)
Re-implemented to handle drag moves.
virtual void setAutoIndentStyle(int autoindentstyle)
@ SC_MARK_CIRCLEMINUSCONNECTED
A drawn minus sign in a connected circle.
Definition: qsciscintillabase.h:2631
virtual void clear()
Deletes all the text in the text edit.
bool foldAtParenthesis() const
bool foldOnlyBegin() const
Definition: qscilexersql.h:206
QsciStyle(int style, const QString &description, const QColor &color, const QColor &paper, const QFont &font, bool eolFill=false)
int callTipsVisible() const
Definition: qsciscintilla.h:653
const char * lexer() const
bool foldCompact() const
Definition: qscilexercoffeescript.h:214
const char * language() const
Returns the name of the language.
bool readProperties(QSettings &qs, const QString &prefix)
void setFoldCompact(bool fold)
bool foldCompact() const
Definition: qscilexerpython.h:199
void setFoldPODBlocks(bool fold)
TextCase textCase() const
Definition: qscistyle.h:152
int braceStyle() const
Returns the style used for braces for brace matching.
QString text(int start, int end) const
QsciLexerSpice(QObject *parent=0)
void prepare()
const char * lexer() const
bool write(QIODevice *io) const
bool foldCompact() const
Definition: qscilexerhtml.h:440
virtual int defaultStyle() const
bool foldComments() const
QsciLexerPOV(QObject *parent=0)
virtual void copy()
bool foldComments() const
virtual QFont font(int style) const
void SCN_FOCUSOUT()
This signal is emitted when focus is lost.
void apiPreparationStarted()
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
int braceStyle() const
Returns the style used for braces for brace matching.
void clearAlternateKeys()
The alternate keys bindings for all commands are removed.
QString description(int style) const
bool autoCompletionShowSingle() const
QsciLexerPostScript(QObject *parent=0)
void setFoldComments(bool fold)
QsciLexerXML(QObject *parent=0)
const char * keywords(int set) const
TabDrawMode tabDrawMode() const
QColor defaultColor(int style) const
Returns the foreground colour of the text for style number style.
QString description(int style) const
virtual const char * autoCompletionFillups() const
Returns the characters that can fill up auto-completion.
virtual void setIndentationsUseTabs(bool tabs)
The QsciDocument class represents a document to be edited.
Definition: qscidocument.h:38
QString description(int style) const
bool changeable() const
Definition: qscistyle.h:173
@ SC_MARK_BOOKMARK
A bookmark.
Definition: qsciscintillabase.h:2664
@ SC_MARK_SHORTARROW
An arrow pointing to the right.
Definition: qsciscintillabase.h:2576
The QsciLexerIDL class encapsulates the Scintilla IDL lexer.
Definition: qscilexeridl.h:33
const char * blockStart(int *style=0) const
const char * keywords(int set) const
const char * language() const
Returns the name of the language.
void cancelList()
Cancel any current auto-completion or user defined list.
@ SC_MARGIN_SYMBOL
Definition: qsciscintillabase.h:2690
QsciLexer * lexer() const
bool dottedWords() const
Definition: qscilexersql.h:174
virtual int styleBitsNeeded() const
virtual void resetSelectionBackgroundColor()
const char * blockStartKeyword(int *style=0) const
FoldStyle
This enum defines the different styles for the folding margin.
Definition: qsciscintilla.h:209
bool SCSSLanguage() const
Definition: qscilexercss.h:207
QFont defaultFont(int style) const
Returns the font for style number style.
@ SC_MARK_ARROWS
Three drawn arrows pointing right.
Definition: qsciscintillabase.h:2641
const char * lexer() const
const char * wordCharacters() const
Returns the string of characters that comprise a word.
QsciLexer(QObject *parent=0)
virtual void wheelEvent(QWheelEvent *e)
\reimp
bool makoTemplates() const
Definition: qscilexerhtml.h:478
bool v2UnicodeAllowed() const
Definition: qscilexerpython.h:246
int whitespaceSize() const
QFont defaultFont(int style) const
Returns the font for style number style.
The QsciLexerCustom class is an abstract class used as a base for new language lexers.
Definition: qscilexercustom.h:43
const char * lexer() const
void setTextCase(TextCase text_case)
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
@ WrapFlagByBorder
A wrap flag is displayed by the border.
Definition: qsciscintilla.h:501
@ SC_MARK_CIRCLEMINUS
A drawn minus sign in a circle.
Definition: qsciscintillabase.h:2628
virtual ~QsciLexerJavaScript()
Destroys the QsciLexerJavaScript instance.
const char * wordCharacters() const
Returns the string of characters that comprise a word.
virtual ~QsciLexerBash()
Destroys the QsciLexerBash instance.
QStringList installedAPIFiles() const
bool foldComments() const
Definition: qscilexersql.h:190
@ SC_MARK_UNDERLINE
The line is underlined using the marker's background color.
Definition: qsciscintillabase.h:2658
virtual void setFoldComments(bool fold)
const char * language() const
Returns the name of the language.
void setMarkerBackgroundColor(const QColor &col, int markerNumber=-1)
const char * blockEnd(int *style=0) const
QsciAbstractAPIs(QsciLexer *lexer)
virtual void zoomOut()
virtual void setFoldCompact(bool fold)
bool tokenize() const
Command command() const
Return the command that will be executed by this instance.
Definition: qscicommand.h:348
const char * lexer() const
void refreshProperties()
QString description(int style) const
QsciLexerBash(QObject *parent=0)
virtual void setWhitespaceVisibility(WhitespaceVisibility mode)
const char * language() const
Returns the name of the language.
bool foldPreprocessor() const
Definition: qscilexercpp.h:247
bool isCallTipActive() const
Returns true if a call tip is currently active.
void paperChanged(const QColor &c, int style)
virtual void setFoldAtElse(bool fold)
virtual void setMagnification(int magnification)
virtual void setIndentationGuides(bool enable)
bool foldCompact() const
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
virtual void setSelectionBackgroundColor(const QColor &col)
virtual void setAutoCompletionSource(AutoCompletionSource source)
virtual void setFoldCompact(bool fold)
bool selectionToEol() const
QColor defaultColor(int style) const
void refreshProperties()
bool dollarsAllowed() const
Definition: qscilexercoffeescript.h:192
void marginRightClicked(int margin, int line, Qt::KeyboardModifiers state)
bool writeProperties(QSettings &qs, const QString &prefix) const
void execute()
Execute the command.
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
const char * blockStart(int *style=0) const
void refreshProperties()
virtual void autoCompletionSelected(const QString &sel)
\reimp
const char * keywords(int set) const
The QsciLexer class is an abstract class used as a base for language lexers.
Definition: qscilexer.h:63
virtual void setFoldCompact(bool fold)
void setMarginText(int line, const QsciStyledText &text)
Set the margin text of line line with the styled text text.
const char * language() const
Returns the name of the language.
void SCN_FOCUSIN()
This signal is emitted when focus is received.
QsciLexerMarkdown(QObject *parent=0)
WrapMode wrapMode() const
bool writeProperties(QSettings &qs, const QString &prefix) const
The QsciLexerPostScript class encapsulates the Scintilla PostScript lexer.
Definition: qscilexerpostscript.h:33
void setMarkerForegroundColor(const QColor &col, int markerNumber=-1)
void refreshProperties()
bool writeProperties(QSettings &qs, const QString &prefix) const
void SCN_DOUBLECLICK(int position, int line, int modifiers)
void indicatorReleased(int line, int index, Qt::KeyboardModifiers state)
QStringList autoCompletionWordSeparators() const
EolMode
This enum defines the different end-of-line modes.
Definition: qsciscintilla.h:197
bool foldAtElse() const
Definition: qscilexercpp.h:232
virtual void dragEnterEvent(QDragEnterEvent *e)
Re-implemented to handle drag enters.
@ SC_MARK_BOXMINUSCONNECTED
A drawn minus sign in a connected box.
Definition: qsciscintillabase.h:2611
WhitespaceVisibility
Definition: qsciscintilla.h:463
void markerDeleteHandle(int mhandle)
virtual ~QsciLexerPerl()
Destroys the QsciLexerPerl instance.
QsciStyledText(const QString &text, const QsciStyle &style)
void setHighlightHashQuotedStrings(bool enabled)
int key() const
Definition: qscicommand.h:377
The QsciLexerJava class encapsulates the Scintilla Java lexer.
Definition: qscilexerjava.h:32
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
QString description() const
Definition: qscistyle.h:98
QColor defaultPaper() const
bool hotspot() const
Definition: qscistyle.h:184
virtual void autoCompletionSelected(const QString &selection)
virtual void mouseReleaseEvent(QMouseEvent *e)
Re-implemented to handle mouse releases.
virtual bool findFirstInSelection(const QString &expr, bool re, bool cs, bool wo, bool forward=true, bool show=true, bool posix=false, bool cxx11=false)
The QsciLexerVerilog class encapsulates the Scintilla Verilog lexer.
Definition: qscilexerverilog.h:33
const char * keywords(int set) const
@ SC_MARK_CIRCLEPLUS
A drawn plus sign in a circle.
Definition: qsciscintillabase.h:2622
QColor defaultPaper(int style) const
void selectionChanged()
void setFoldScriptComments(bool fold)
QColor defaultPaper(int style) const
bool hashComments() const
Definition: qscilexersql.h:218
bool indicatorDrawUnder(int indicatorNumber) const
QColor defaultColor(int style) const
QColor defaultColor(int style) const
void SCN_AUTOCSELECTION(const char *selection, int position, int ch, int method)
virtual ~QsciLexerBatch()
Destroys the QsciLexerBatch instance.
The QsciLexerSQL class encapsulates the Scintilla SQL lexer.
Definition: qscilexersql.h:32
virtual void setFoldCompact(bool fold)
bool indentationsUseTabs() const
int length() const
virtual void setAutoCompletionCaseSensitivity(bool cs)
QMenu * createStandardContextMenu()
virtual void unindent(int line)
virtual void replaceSelectedText(const QString &text)
void setWhitespaceBackgroundColor(const QColor &col)
void modificationAttempted()
virtual void setTokenize(bool tokenize)
const char * language() const
Returns the name of the language.
@ SC_MARGIN_BACK
Definition: qsciscintillabase.h:2697
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
const char * lexer() const
@ SC_MARK_ARROWDOWN
A triangle pointing down.
Definition: qsciscintillabase.h:2583
QFont defaultFont(int style) const
Returns the font for style number style.
const char * lexer() const
QString save() const
const char * keywords(int set) const
bool readProperties(QSettings &qs, const QString &prefix)
int markerDefine(const QPixmap &pm, int markerNumber=-1)
void markerDeleteAll(int markerNumber=-1)
void setPaper(const QColor &paper)
const QString & text() const
Returns a reference to the text.
Definition: qscistyledtext.h:50
void clear()
@ SC_MARGIN_TEXT
The margin will display text.
Definition: qsciscintillabase.h:2704
void refreshProperties()
bool isWordCharacter(char ch) const
@ SC_MARK_TCORNER
Definition: qsciscintillabase.h:2599
bool foldCompact() const
bool foldPreprocessor() const
QColor defaultPaper(int style) const
QFont defaultFont(int style) const
Returns the font for style number style.
void setCallTipsStyle(CallTipsStyle style)
bool visible() const
Definition: qscistyle.h:162
const char * language() const
Returns the name of the language.
virtual int indentationGuideView() const
Returns the view used for indentation guides.
const char * blockStartKeyword(int *style=0) const
virtual void insert(const QString &text)
Insert the text text at the current position.
virtual void setFoldAtParenthesis(bool fold)
QFont defaultFont(int style) const
Returns the font for style number style.
void setHotspot(bool hotspot)
virtual ~QsciAPIs()
Destroy the QsciAPIs instance.
QList< int > contractedFolds() const
QsciLexerD(QObject *parent=0)
bool highlightComments() const
Definition: qscilexerjson.h:134
const char * keywords(int set) const
void refreshProperties()
QString description(int style) const
bool writeProperties(QSettings &qs, const QString &prefix) const
long SendScintilla(unsigned int msg, unsigned long wParam, const QPixmap &lParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
const char * language() const
Returns the name of the language.
virtual void changeEvent(QEvent *e)
\reimp
QFont defaultFont(int style) const
Returns the font for style number style.
The QsciLexerMarkdown class encapsulates the Scintilla Markdown lexer.
Definition: qscilexermarkdown.h:33
bool readProperties(QSettings &qs, const QString &prefix)
int blockLookback() const
virtual void selectAll(bool select=true)
int markerLine(int mhandle) const
void setScrollWidthTracking(bool enabled)
virtual ~QsciLexerSQL()
Destroys the QsciLexerSQL instance.
@ SC_MARK_CIRCLEPLUSCONNECTED
A drawn plus sign in a connected box.
Definition: qsciscintillabase.h:2625
@ NoFoldStyle
Folding is disabled.
Definition: qsciscintilla.h:211
bool foldAtModule() const
Definition: qscilexerverilog.h:223
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
virtual void setFoldCompact(bool fold)
void setCallTipsVisible(int nr)
virtual ~QsciLexerMarkdown()
Destroys the QsciLexerMarkdown instance.
@ SC_MARK_VLINE
A vertical line drawn in the background colour.
Definition: qsciscintillabase.h:2592
virtual void insertAt(const QString &text, int line, int index)
void * SendScintillaPtrResult(unsigned int msg) const
Send the Scintilla message msg and return a pointer result.
void setEdgeColumn(int colnr)
bool caseSensitiveTags() const
Definition: qscilexerhtml.h:424
void setSCSSLanguage(bool enabled)
QColor defaultColor(int style) const
void linesChanged()
This signal is emitted whenever the number of lines of text changes.
bool load(const QString &asc)
bool foldScriptHeredocs() const
Definition: qscilexerhtml.h:467
void setProcessComments(bool enable)
QsciLexerCustom(QObject *parent=0)
const char * lexer() const
QFont defaultFont(int style) const
Returns the font for style number style.
int braceStyle() const
Returns the style used for braces for brace matching.
void setWrapVisualFlags(WrapVisualFlag endFlag, WrapVisualFlag startFlag=WrapFlagNone, int indent=0)
const char * lexer() const
bool eolVisibility() const
virtual void setCaseSensitiveTags(bool sens)
virtual void setAutoCompletionShowSingle(bool single)
virtual void setTabWidth(int width)
virtual void setWrapMode(QsciScintilla::WrapMode wmode)
bool highlightSubidentifiers() const
Definition: qscilexerpython.h:223
The QsciLexerOctave class encapsulates the Scintilla Octave file lexer.
Definition: qscilexeroctave.h:33
void SCN_HOTSPOTRELEASECLICK(int position, int modifiers)
QColor edgeColor() const
@ PlainFoldStyle
Plain folding style using plus and minus symbols.
Definition: qsciscintilla.h:214
const char * keywords(int set) const
@ StrictBraceMatch
Definition: qsciscintilla.h:139
void SCN_URIDROPPED(const QUrl &url)
virtual QStringList callTips(const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList< int > &shifts)
\reimp
int markerAdd(int linenr, int markerNumber)
virtual void setEditor(QsciScintilla *editor)
\reimp
virtual void setFolding(FoldStyle fold, int margin=2)
bool readProperties(QSettings &qs, const QString &prefix)
void refreshProperties()
void setIndicatorForegroundColor(const QColor &col, int indicatorNumber=-1)
QColor defaultColor(int style) const
int marginMarkerMask(int margin) const
virtual QStringList autoCompletionWordSeparators() const
virtual void setMarginLineNumbers(int margin, bool lnrs)
bool isReadOnly() const
void setFoldScriptHeredocs(bool fold)
const char * lexer() const
QColor defaultColor(int style) const
void remove(const QString &entry)
bool foldCompact() const
Definition: qscilexerproperties.h:104
virtual void setCaretForegroundColor(const QColor &col)
Sets the foreground colour of the caret to col.
void setHashComments(bool enable)
virtual void paste()
void showUserList(int id, const QStringList &list)
bool backslashEscapes() const
Definition: qscilexersql.h:163
bool indentationGuides() const
virtual void undo()
@ SC_MARK_CIRCLE
A circle.
Definition: qsciscintillabase.h:2564
virtual ~QsciLexerLua()
Destroys the QsciLexerLua instance.
QsciLexer * lexer() const
Return the lexer that the instance is attached to.
virtual void setFoldComments(bool fold)
QString description(int style) const
void setDefaultFont(const QFont &f)
virtual void setFoldAtElse(bool fold)
int autoIndentStyle()
The QsciLexerCSharp class encapsulates the Scintilla C# lexer.
Definition: qscilexercsharp.h:33
virtual void recolor(int start=0, int end=-1)
void setScrollWidth(int pixelWidth)
bool caseSensitive() const
virtual void setEolVisibility(bool visible)
int indentation(int line) const
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual void setFoldComments(bool fold)
virtual void setSelectionForegroundColor(const QColor &col)
virtual ~QsciLexerCMake()
Destroys the QsciLexerCMake instance.
bool readProperties(QSettings &qs, const QString &prefix)
The QsciStyle class encapsulates all the attributes of a style.
Definition: qscistyle.h:42
virtual QString description(int style) const =0
bool eolFill() const
Definition: qscistyle.h:141
virtual void replace(const QString &replaceStr)
const char * wordCharacters() const
Returns the string of characters that comprise a word.
void setFoldCompact(bool fold)
virtual ~QsciPrinter()
Destroys the QsciPrinter instance.
bool readProperties(QSettings &qs, const QString &prefix)
const char * language() const
Returns the name of the language.
@ AcusNever
Definition: qsciscintilla.h:102
QColor defaultPaper(int style) const
virtual void setFoldDirectives(bool fold)
QColor defaultPaper(int style) const
virtual void resetSelectionForegroundColor()
const char * language() const
Returns the name of the language.
bool autoCompletionCaseSensitivity() const
QFont defaultFont(int style) const
Returns the font for style number style.
virtual int indentationGuideView() const
Returns the view used for indentation guides.
const char * language() const
Returns the name of the language.
QFont defaultFont(int style) const
Returns the font for style number style.
QsciLexerSQL(QObject *parent=0)
void SCN_MARGINCLICK(int position, int modifiers, int margin)
void marginClicked(int margin, int line, Qt::KeyboardModifiers state)
QFont defaultFont(int style) const
Returns the font for style number style.
The QsciMacro class represents a sequence of recordable editor commands.
Definition: qscimacro.h:41
The QsciLexerHTML class encapsulates the Scintilla HTML lexer.
Definition: qscilexerhtml.h:32
void refreshProperties()
bool marginSensitivity(int margin) const
void setFoldCompact(bool fold)
const char * lexer() const
void setDescription(const QString &description)
Definition: qscistyle.h:93
long SendScintilla(unsigned int msg, const char *wParam, const char *lParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
long SendScintilla(unsigned int msg, unsigned long wParam, const QImage &lParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void setFoldComments(bool fold)
bool writeProperties(QSettings &qs, const QString &prefix) const
void setStylePreprocessor(bool style)
void setFoldCompact(bool fold)
virtual void autoCompleteFromAPIs()
virtual void setIndentationWidth(int width)
void resetHotspotForegroundColor()
void refreshProperties()
The QsciScintillaBase class implements the Scintilla editor widget and its low-level API.
Definition: qsciscintillabase.h:61
virtual bool eolFill(int style) const
int marginWidth(int margin) const
const char * language() const
Returns the name of the language.
virtual ~QsciLexerJSON()
Destroys the QsciLexerJSON instance.
virtual void ensureCursorVisible()
Ensures that the cursor is visible.
const char * language() const
Returns the name of the language.
void getSelection(int *lineFrom, int *indexFrom, int *lineTo, int *indexTo) const
const char * blockStart(int *style=0) const
virtual void ensureLineVisible(int line)
Ensures that the line number line is visible.
TabDrawMode
Definition: qsciscintilla.h:452
QColor defaultColor(int style) const
virtual void dropEvent(QDropEvent *e)
Re-implemented to handle drops.
void clear()
Clear the contents of the macro.
QsciLexerMakefile(QObject *parent=0)
const char * language() const
Returns the name of the language.
virtual void setFoldComments(bool fold)
void setWhitespaceForegroundColor(const QColor &col)
bool readProperties(QSettings &qs, const QString &prefix)
QFont defaultFont(int style) const
Returns the font for style number style.
void copyAvailable(bool yes)
virtual QByteArray fromMimeData(const QMimeData *source, bool &rectangular) const
void setIndicatorDrawUnder(bool under, int indicatorNumber=-1)
virtual bool findNext()
QList< QsciCommand * > & commands()
The commands in the set are returned as a list.
Definition: qscicommandset.h:62
bool isUtf8() const
const char * wordCharacters() const
Returns the string of characters that comprise a word.
void refreshProperties()
bool foldComments() const
void refreshProperties()
WrapMode
This enum defines the different line wrap modes.
Definition: qsciscintilla.h:478
virtual void setFoldCompact(bool fold)
const char * autoCompletionFillups() const
Returns the characters that can fill up auto-completion.
int autoCompletionThreshold() const
Definition: qsciscintilla.h:604
void setMarginBackgroundColor(int margin, const QColor &col)
QColor defaultPaper(int style) const
WrapIndentMode wrapIndentMode() const
virtual int printRange(QsciScintillaBase *qsb, int from=-1, int to=-1)
@ SC_MARK_BOXMINUS
A drawn minus sign in a box.
Definition: qsciscintillabase.h:2608
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
@ SC_MARK_EMPTY
Definition: qsciscintillabase.h:2580
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual ~QsciLexerPascal()
Destroys the QsciLexerPascal instance.
virtual ~QsciLexerAVS()
Destroys the QsciLexerAVS instance.
FoldStyle folding() const
Definition: qsciscintilla.h:860
const char * language() const
Returns the name of the language.
@ WrapFlagNone
No wrap flag is displayed.
Definition: qsciscintilla.h:495
void setIndicatorHoverForegroundColor(const QColor &col, int indicatorNumber=-1)
bool foldComments() const
Definition: qscilexercoffeescript.h:203
bool processComments() const
Definition: qscilexertex.h:122
bool HSSLanguage() const
Definition: qscilexercss.h:185
virtual void setPaper(const QColor &c, int style=-1)
The QsciLexerProperties class encapsulates the Scintilla Properties lexer.
Definition: qscilexerproperties.h:33
The QsciLexerPython class encapsulates the Scintilla Python lexer.
Definition: qscilexerpython.h:33
QColor defaultColor(int style) const
Returns the foreground colour of the text for style number style.
const char * blockStart(int *style=0) const
bool autoCompletionFillupsEnabled() const
bool v3BytesAllowed() const
Definition: qscilexerpython.h:270
bool readSettings(QSettings &qs, const char *prefix="/Scintilla")
bool highlightEscapeSequences() const
Definition: qscilexercpp.h:308
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
const char * keywords(int set) const
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
void setStyling(int length, const QsciStyle &style)
QString description(int style) const
bool savePrepared(const QString &filename=QString()) const
QColor defaultColor(int style) const
void setHSSLanguage(bool enabled)
virtual void setSelection(int lineFrom, int indexFrom, int lineTo, int indexTo)
virtual ~QsciLexerPOV()
Destroys the QsciLexerPOV instance.
bool processIf() const
Definition: qscilexertex.h:133
The QsciLexerSpice class encapsulates the Scintilla Spice lexer.
Definition: qscilexerspice.h:32
bool foldCompact() const
Definition: qscilexersql.h:195
const char * blockStart(int *style=0) const
QString description() const
The user friendly description of the command is returned.
virtual void setWrapMode(WrapMode mode)
AutoCompletionUseSingle
Definition: qsciscintilla.h:99
MarkerSymbol
This enum defines the different pre-defined marker symbols.
Definition: qsciscintilla.h:353
QColor defaultColor(int style) const
Returns the foreground colour of the text for style number style.
bool readProperties(QSettings &qs, const QString &prefix)
QColor defaultPaper(int style) const
bool readProperties(QSettings &qs, const QString &prefix)
bool foldAtElse() const
Definition: qscilexersql.h:185
void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method)
This is an overloaded member function, provided for convenience. It differs from the above function o...
The QsciLexerMakefile class encapsulates the Scintilla Makefile lexer.
Definition: qscilexermakefile.h:33
QString text() const
void SCN_AUTOCSELECTION(const char *selection, int position)
This is an overloaded member function, provided for convenience. It differs from the above function o...
CallTipsPosition callTipsPosition() const
Definition: qsciscintilla.h:643
The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.
Definition: qsciscintilla.h:60
void setHighlightEscapeSequences(bool highlight)
virtual void contextMenuEvent(QContextMenuEvent *e)
\reimp
QsciLexerOctave(QObject *parent=0)
QsciMacro(const QString &asc, QsciScintilla *parent)
const char * wordCharacters() const
Returns the string of characters that comprise a word.
const char * blockEnd(int *style=0) const
bool readSettings(QSettings &qs, const char *prefix="/Scintilla")
@ AcsNone
No sources are used, ie. automatic auto-completion is disabled.
Definition: qsciscintilla.h:118
void SCN_SAVEPOINTREACHED()
int textHeight(int linenr) const
Returns the height in pixels of the text in line number linenr.
void setCallTipsBackgroundColor(const QColor &col)
QString description(int style) const
virtual ~QsciLexerOctave()
Destroys the QsciLexerOctave instance.
virtual QColor defaultPaper(int style) const
Returns the default paper colour for style number style.
virtual void paintEvent(QPaintEvent *e)
Re-implemented to paint the viewport.
int markerFindPrevious(int linenr, unsigned mask) const
QFont defaultFont(int style) const
Returns the font for style number style.
void setCallTipsPosition(CallTipsPosition position)
bool writeProperties(QSettings &qs, const QString &prefix) const
@ BoxedFoldStyle
Boxed folding style using boxed plus and minus symbols.
Definition: qsciscintilla.h:220
bool read(QIODevice *io)
const char * language() const
Returns the name of the language.
virtual void zoomTo(int size)
bool foldComments() const
Definition: qscilexercpp.h:237
void SCN_HOTSPOTCLICK(int position, int modifiers)
void resetUnmatchedBraceIndicator()
@ SC_MARGIN_FORE
Definition: qsciscintillabase.h:2701
void setSmartHighlighting(bool enabled)
virtual ~QsciLexerCoffeeScript()
Destroys the QsciLexerCoffeeScript instance.
int indentationWidth() const
QsciLexerMatlab(QObject *parent=0)
void setUnmatchedBraceIndicator(int indicatorNumber)
@ CallTipsNoAutoCompletionContext
Definition: qsciscintilla.h:169
const char * language() const
Returns the name of the language.
virtual void dragLeaveEvent(QDragLeaveEvent *e)
Re-implemented to handle drag leaves.
The QsciLexerRuby class encapsulates the Scintilla Ruby lexer.
Definition: qscilexerruby.h:32
const char * blockStart(int *style=0) const
const char * blockStart(int *style=0) const
virtual void zoomIn()
QColor defaultPaper(int style) const
virtual void setFoldAtElse(bool fold)
QsciLexerFortran(QObject *parent=0)
int lineAt(const QPoint &point) const
bool foldCompact() const
bool foldDirectives() const
The QsciLexerD class encapsulates the Scintilla D lexer.
Definition: qscilexerd.h:32
virtual const char * wordCharacters() const
virtual void setFoldComments(bool fold)
virtual void setFoldCompact(bool fold)
void SCN_AUTOCCANCELLED()
virtual int styleBitsNeeded() const
virtual void focusInEvent(QFocusEvent *e)
Re-implemented to tell Scintilla it has the focus.
bool foldCompact() const
const char * keywords(int set) const
void setMarginText(int line, const QString &text, int style)
QColor defaultColor(int style) const
@ SC_MARK_BOXPLUS
A drawn plus sign in a box.
Definition: qsciscintillabase.h:2602
void SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method, int position)
int style() const
Returns the number of the style.
QFont defaultFont(int style) const
Returns the font for style number style.
int marginOptions() const
bool foldCompact() const
Definition: qscilexerruby.h:214
void setFoldComments(bool fold)
void setStringsOverNewlineAllowed(bool allowed)
QsciScintilla(QWidget *parent=0)
Construct an empty QsciScintilla with parent parent.
long SendScintilla(unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &rc, long cpMin, long cpMax) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual void setFoldCompact(bool fold)
bool foldComments() const
The QsciLexerMatlab class encapsulates the Scintilla Matlab file lexer.
Definition: qscilexermatlab.h:33
void QSCN_SELCHANGED(bool yes)
bool readProperties(QSettings &qs, const QString &prefix)
void clearMarginText(int line=-1)
virtual ~QsciLexerYAML()
Destroys the QsciLexerYAML instance.
QString wordAtPoint(const QPoint &point) const
Returns the word at the point pixel coordinates.
const char * lexer() const
int markerDefine(char ch, int markerNumber=-1)
QColor defaultColor(int style) const
void SCN_MODIFYATTEMPTRO()
void refresh()
Refresh the style settings.
void setFoldComments(bool fold)
BraceMatch braceMatching() const
Definition: qsciscintilla.h:632
AutoCompletionUseSingle autoCompletionUseSingle() const
The QsciLexerCMake class encapsulates the Scintilla CMake lexer.
Definition: qscilexercmake.h:32
virtual void selectToMatchingBrace()
QsciDocument()
Create a new unattached document.
const char * blockEnd(int *style=0) const
bool foldComments() const
Definition: qscilexerpython.h:188
virtual ~QsciLexerCustom()
Destroy the QSciLexerCustom.
void setCallTipsHighlightColor(const QColor &col)
bool readProperties(QSettings &qs, const QString &prefix)
int braceStyle() const
Returns the style used for braces for brace matching.
QsciLexerPython(QObject *parent=0)
void refreshProperties()
bool isRedoAvailable() const
QFont defaultFont(int style) const
Returns the font for style number style.
virtual void cut()
const char * language() const
Returns the name of the language.
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
virtual void foldLine(int line)
bool foldScriptComments() const
Definition: qscilexerhtml.h:456
QString description(int style) const
bool loadPrepared(const QString &filename=QString())
bool readProperties(QSettings &qs, const QString &prefix)
int tabWidth() const
QsciLexerDiff(QObject *parent=0)
virtual QColor defaultColor(int style) const
Returns the default text colour for style number style.
const char * lexer() const
virtual void zoomOut(int range)
void setMatchedBraceBackgroundColor(const QColor &col)
QString description(int style) const
@ CallTipsNoContext
Definition: qsciscintilla.h:163
@ CircledTreeFoldStyle
Definition: qsciscintilla.h:224
virtual void setBackslashEscapes(bool enable)
void annotate(int line, const QString &text, int style)
void setSelectionToEol(bool filled)
QString description(int style) const
bool foldCompact() const
Definition: qscilexerjson.h:156
bool foldCompact() const
virtual ~QsciLexerCPP()
Destroys the QsciLexerCPP instance.
void clearAnnotations(int line=-1)
void setHighlightSubidentifiers(bool enabled)
void setFoldAtElse(bool fold)
The QsciStyledText class is a container for a piece of text and the style used to display the text.
Definition: qscistyledtext.h:36
const char * language() const
Returns the name of the language.
void setDefaultColor(const QColor &c)
const char * blockEnd(int *style=0) const
bool marginLineNumbers(int margin) const
bool caseSensitive() const
Returns true if the language is case sensitive. The default is true.
QColor defaultPaper(int style) const
bool foldCompact() const
bool writeSettings(QSettings &qs, const char *prefix="/Scintilla") const
QString description(int style) const
@ SC_MARK_FULLRECT
Definition: qsciscintillabase.h:2648
@ SC_MARK_LEFTRECT
Definition: qsciscintillabase.h:2652
bool writeProperties(QSettings &qs, const QString &prefix) const
int firstVisibleLine() const
const char * blockStartKeyword(int *style=0) const
const char * blockEnd(int *style=0) const
virtual void updateAutoCompletionList(const QStringList &context, QStringList &list)
\reimp
void setHighlightTripleQuotedStrings(bool enabled)
QString description(int style) const
void fillIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)
The QsciLexerTCL class encapsulates the Scintilla TCL lexer.
Definition: qscilexertcl.h:32
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
void clearIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)
virtual void callTip()
bool writeProperties(QSettings &qs, const QString &prefix) const
void setFoldPackages(bool fold)
void lineIndexFromPosition(int position, int *line, int *index) const
virtual void setBraceMatching(BraceMatch bm)
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
void setFoldPreprocessor(bool fold)
void SCN_USERLISTSELECTION(const char *selection, int id)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
bool highlightBackQuotedStrings() const
Definition: qscilexercpp.h:297
QColor defaultColor(int style) const
@ CallTipsAboveText
Call tips are placed above the text.
Definition: qsciscintilla.h:152
void resetHotspotBackgroundColor()
@ SC_MARK_LCORNERCURVE
Definition: qsciscintillabase.h:2615
int braceStyle() const
Returns the style used for braces for brace matching.
int margins() const
virtual ~QsciLexerDiff()
Destroys the QsciLexerDiff instance.
virtual const char * keywords(int set) const
void setDefaultPaper(const QColor &c)
bool foldCompact() const
Definition: qscilexerverilog.h:202
@ AcsDocument
The source is the current document.
Definition: qsciscintilla.h:124
long SendScintilla(unsigned int msg, unsigned long wParam, const QColor &col) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
long SendScintilla(unsigned int msg, unsigned long wParam, void *lParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
long SendScintilla(unsigned int msg, const QColor &col) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
const char * wordCharacters() const
Returns the string of characters that comprise a word.
void setFoldOnlyBegin(bool fold)
const char * language() const
Returns the name of the language.
bool highlightHashQuotedStrings() const
Definition: qscilexercpp.h:286
virtual void setFoldPreprocessor(bool fold)
QsciScintilla::WrapMode wrapMode() const
Definition: qsciprinter.h:95
virtual void setColor(const QColor &c, int style=-1)
virtual void setFoldComments(bool fold)
bool tabIndents() const
virtual QStringList callTips(const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList< int > &shifts)=0
bool scrollWidthTracking() const
virtual ~QsciLexerFortran()
Destroys the QsciLexerFortran instance.
bool backspaceUnindents() const
virtual void setFoldCompact(bool fold)
const char * lexer() const
virtual const char * blockStartKeyword(int *style=0) const
QStringList autoCompletionWordSeparators() const
void eolFillChanged(bool eolfilled, int style)
QFont defaultFont(int style) const
Returns the font for style number style.
bool foldCompact() const
virtual bool defaultEolFill(int style) const
long SendScintilla(unsigned int msg, uintptr_t wParam, const char *lParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool foldComments() const
void clearKeys()
The primary keys bindings for all commands are removed.
void SCN_STYLENEEDED(int position)
AnnotationDisplay
This enum defines the different annotation display styles.
Definition: qsciscintilla.h:83
AnnotationDisplay annotationDisplay() const
QFont defaultFont(int style) const
Returns the font for style number style.
virtual ~QsciLexerTeX()
Destroys the QsciLexerTeX instance.
virtual void setFoldCompact(bool fold)
const char * lexer() const
bool readProperties(QSettings &qs, const QString &prefix)
void setStyle(int style)
Definition: qscistyle.h:82
bool foldComments() const
const char * keywords(int set) const
const char * wordCharacters() const
Returns the string of characters that comprise a word.
MarginType marginType(int margin) const
void setDollarsAllowed(bool allowed)
const char * language() const
Returns the name of the language.
const char * lexer() const
virtual void setFoldPreprocessor(bool fold)
int braceStyle() const
Returns the style used for braces for brace matching.
int braceStyle() const
Returns the style used for braces for brace matching.
void refreshProperties()
const char * blockStart(int *style=0) const
bool readProperties(QSettings &qs, const QString &prefix)
void setExtraAscent(int extra)
const char * wordCharacters() const
Returns the string of characters that comprise a word.
The QsciLexerPO class encapsulates the Scintilla PO lexer.
Definition: qscilexerpo.h:32
The QsciCommand class represents an internal editor command that may have one or two keys bound to it...
Definition: qscicommand.h:40
QColor defaultColor(int style) const
@ SC_MARK_DOTDOTDOT
Three drawn dots.
Definition: qsciscintillabase.h:2638
QFont defaultFont(int style) const
Returns the font for style number style.
virtual ~QsciLexerCSharp()
Destroys the QsciLexerCSharp instance.
virtual void setLevel(int level)
void setFoldAtModule(bool fold)
void replaceHorizontalScrollBar(QScrollBar *scrollBar)
QColor defaultPaper(int style) const
void registerImage(int id, const QImage &im)
virtual void setFoldCompact(bool fold)
The QsciAPIs class provies an implementation of the textual API information used in call tips and for...
Definition: qsciapis.h:66
virtual void keyPressEvent(QKeyEvent *e)
Re-implemented to handle key presses.
void SCN_AUTOCCHARDELETED()
void setFont(const QFont &font)
const char * lexer() const
void SCN_UPDATEUI(int updated)
virtual ~QsciAbstractAPIs()
Destroy the QsciAbstractAPIs instance.
bool foldAtElse() const
Definition: qscilexerperl.h:237
virtual const char * lexer() const
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
bool foldAtElse() const
virtual void setFoldCompact(bool fold)
@ SC_MARK_TCORNERCURVE
Definition: qsciscintillabase.h:2619
bool readProperties(QSettings &qs, const QString &prefix)
virtual void setMarginsBackgroundColor(const QColor &col)
void SCN_DWELLSTART(int position, int x, int y)
QString description(int style) const
virtual void setEolMode(EolMode mode)
QString text(int line) const
const char * keywords(int set) const
void refreshProperties()
QStringList autoCompletionWordSeparators() const
QColor defaultColor(int style) const
virtual void setFoldCompact(bool fold)
virtual void autoCompleteFromAll()
QStringList autoCompletionWordSeparators() const
void modificationChanged(bool m)
QString description(int style) const
int braceStyle() const
Returns the style used for braces for brace matching.
void setMarginText(int line, const QString &text, const QsciStyle &style)
virtual void styleText(int start, int end)=0
@ SC_MARK_PLUS
A drawn plus sign.
Definition: qsciscintillabase.h:2589
void refreshProperties()
virtual int lexerId() const
QString description(int style) const
virtual void setFoldComments(bool fold)
bool foldCompact() const
QColor defaultColor(int style) const
QsciLexerJSON(QObject *parent=0)
bool foldComments() const
bool stylePreprocessor() const
Definition: qscilexercpp.h:253
QColor defaultPaper(int style) const
MarginType
This enum defines the different margin types.
Definition: qsciscintilla.h:326
const char * lexer() const
void setCallTipsForegroundColor(const QColor &col)
virtual ~QsciLexerXML()
Destroys the QsciLexerXML instance.
const char * language() const
Returns the name of the language.
QString description(int style) const
static QsciScintillaBase * pool()
bool autoCompletionReplaceWord() const
void setEdgeColor(const QColor &col)
QsciLexerVHDL(QObject *parent=0)
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual int braceStyle() const
Returns the style used for braces for brace matching.
QsciLexerPython::IndentationWarning indentationWarning() const
Definition: qscilexerpython.h:210
const char * language() const
Returns the name of the language.
virtual const char * blockStart(int *style=0) const
The QsciAbstractAPIs class represents the interface to the textual API information used in call tips ...
Definition: qsciabstractapis.h:42
const char * language() const
Returns the name of the language.
bool foldPackages() const
virtual ~QsciScintilla()
Destroys the QsciScintilla instance.
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual void setAutoCompletionUseSingle(AutoCompletionUseSingle single)
WhitespaceVisibility whitespaceVisibility() const
virtual void setLexer(QsciLexer *lexer=0)
const char * lexer() const
QString description(int style) const
void setV2UnicodeAllowed(bool allowed)
const char * language() const
Returns the name of the language.
@ SC_MARK_MINUS
A drawn minus sign.
Definition: qsciscintillabase.h:2586
bool highlightEscapeSequences() const
Definition: qscilexerjson.h:145
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual QStringList apiContext(int pos, int &context_start, int &last_word_start)
virtual void setIndentationGuidesBackgroundColor(const QColor &col)
void setUnmatchedBraceBackgroundColor(const QColor &col)
void indicatorClicked(int line, int index, Qt::KeyboardModifiers state)
virtual void resizeEvent(QResizeEvent *e)
Re-implemented to handle resizes.
EolMode eolMode() const
bool isPrepared(const QString &filename=QString()) const
const char * lexer() const
void setHighlightBackQuotedStrings(bool enabled)
The QsciLexerBash class encapsulates the Scintilla Bash lexer.
Definition: qscilexerbash.h:32
@ CircledFoldStyle
Circled folding style using circled plus and minus symbols.
Definition: qsciscintilla.h:217
virtual void setMarginsForegroundColor(const QColor &col)
void setExtraDescent(int extra)
const char * lexer() const
void setWhitespaceSize(int size)
const char * language() const
Returns the name of the language.
virtual void mouseMoveEvent(QMouseEvent *e)
Re-implemented to handle mouse moves.
bool foldCompact() const
Definition: qscilexertex.h:111
QColor defaultColor(int style) const
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
The QsciLexerAVS class encapsulates the Scintilla AVS lexer.
Definition: qscilexeravs.h:32
virtual ~QsciLexerCSS()
Destroys the QsciLexerCSS instance.
bool readProperties(QSettings &qs, const QString &prefix)
QsciLexerCSharp(QObject *parent=0)
void refreshProperties()
virtual ~QsciLexerRuby()
Destroys the QsciLexerRuby instance.
bool foldAtElse() const
QStringList autoCompletionWordSeparators() const
QsciLexerCSS(QObject *parent=0)
virtual void setUtf8(bool cp)
virtual ~QsciScintillaBase()
Destroys the QsciScintillaBase instance.
bool foldPreprocessor() const
Definition: qscilexerhtml.h:445
virtual ~QsciMacro()
Destroy the QsciMacro instance.
int scrollWidth() const
CallTipsPosition
This enum defines the different call tip positions.
Definition: qsciscintilla.h:147
QsciPrinter(PrinterMode mode=ScreenResolution)
Constructs a printer paint device with mode mode.
QString description(int style) const
bool foldAtElse() const
Definition: qscilexerverilog.h:180
@ SC_MARK_BACKGROUND
Definition: qsciscintillabase.h:2635
void setMarginType(int margin, MarginType type)
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
bool foldComments() const
void setMatchedBraceIndicator(int indicatorNumber)
const char * keywords(int set) const
QColor marginBackgroundColor(int margin) const
QString description(int style) const
virtual ~QsciLexerTCL()
Destroys the QsciLexerTCL instance.
int markerDefine(MarkerSymbol sym, int markerNumber=-1)
const char * wordCharacters() const
Returns the string of characters that comprise a word.
void endUndoAction()
QsciMacro(QsciScintilla *parent)
Construct a QsciMacro with parent parent.
void setFoldCompact(bool fold)
virtual void setMarginWidth(int margin, const QString &s)
bool readProperties(QSettings &qs, const QString &prefix)
virtual void setAutoCompletionThreshold(int thresh)
QColor defaultPaper(int style) const
virtual void redo()
bool stylePreprocessor() const
Definition: qscilexercoffeescript.h:226
int positionFromLineIndex(int line, int index) const
QColor defaultPaper(int style) const
void SCN_MARGINRIGHTCLICK(int position, int modifiers, int margin)
bool foldComments() const
Definition: qscilexerverilog.h:191
virtual QMimeData * toMimeData(const QByteArray &text, bool rectangular) const
void SCN_CALLTIPCLICK(int direction)
QsciLexerPO(QObject *parent=0)
virtual void inputMethodEvent(QInputMethodEvent *event)
Re-implemented to handle composed characters.
void cursorPositionChanged(int line, int index)
void setEdgeMode(EdgeMode mode)
const char * language() const
Returns the name of the language.
virtual void mouseDoubleClickEvent(QMouseEvent *e)
Re-implemented to handle mouse double-clicks.
const char * keywords(int set) const
AutoCompletionSource autoCompletionSource() const
Definition: qsciscintilla.h:598
virtual void setMarginMarkerMask(int margin, int mask)
virtual void setStylePreprocessor(bool style)
const char * wordCharacters() const
Returns the string of characters that comprise a word.
void colorChanged(const QColor &c, int style)
bool quotedIdentifiers() const
Definition: qscilexersql.h:229
QColor defaultColor() const
QString wordAtLineIndex(int line, int index) const
virtual ~QsciLexerProperties()
Destroys the QsciLexerProperties instance.
virtual void setMarginsFont(const QFont &f)
Set the font used in all margins to f.
void setTabDrawMode(TabDrawMode mode)
bool foldAtBegin() const
@ SC_MARGIN_COLOUR
Definition: qsciscintillabase.h:2711
bool verbatimStringEscapeSequencesAllowed() const
Definition: qscilexercpp.h:319
bool overwriteMode() const
@ SC_MARGIN_NUMBER
The margin will display line numbers.
Definition: qsciscintillabase.h:2693
void setFirstVisibleLine(int linenr)
The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer.
Definition: qscilexervhdl.h:32
virtual QColor color(int style) const
void annotate(int line, const QString &text, const QsciStyle &style)
QColor defaultColor(int style) const
virtual void refreshProperties()
void clearRegisteredImages()
QString description(int style) const
bool v3BinaryOctalAllowed() const
Definition: qscilexerpython.h:258
virtual ~QsciLexerMatlab()
Destroys the QsciLexerMatlab instance.
virtual ~QsciLexerJava()
Destroys the QsciLexerJava instance.
int magnification() const
Definition: qsciprinter.h:76
void SCN_AUTOCCOMPLETED(const char *selection, int position, int ch, int method)
The QsciCommandSet class represents the set of all internal editor commands that may have keys bound.
Definition: qscicommandset.h:45
void SCN_DWELLEND(int position, int x, int y)
bool hasSelectedText() const
Definition: qsciscintilla.h:882
QColor color() const
@ SC_MARK_ARROW
A triangle pointing to the right.
Definition: qsciscintillabase.h:2570
virtual ~QsciLexerFortran77()
Destroys the QsciLexerFortran77 instance.
void SCN_MACRORECORD(unsigned int, unsigned long, void *)
void refreshProperties()
const char * wordCharacters() const
Returns the string of characters that comprise a word.
@ AcsAll
The source is all available sources.
Definition: qsciscintilla.h:121
const char * keywords(int set) const
void setStyling(int length, int style)
QColor defaultColor(int style) const
QColor defaultPaper(int style) const
void setAutoCompletionFillups(const char *fillups)
long SendScintilla(unsigned int msg, const char *lParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
void setDottedWords(bool enable)
void SCN_SAVEPOINTLEFT()
const char * lexer() const
const char * lexer() const
virtual void setIndentation(int line, int indentation)
@ SC_MARK_BOXPLUSCONNECTED
A drawn plus sign in a connected box.
Definition: qsciscintillabase.h:2605
virtual void append(const QString &text)
virtual ~QsciLexerMakefile()
Destroys the QsciLexerMakefile instance.
virtual void changeEvent(QEvent *e)
\reimp
virtual void removeSelectedText()
virtual void setFont(const QFont &f, int style=-1)
virtual void setFoldComments(bool fold)
void setScriptsStyled(bool styled)
virtual bool canInsertFromMimeData(const QMimeData *source) const
const char * language() const
Returns the name of the language.
int style() const
Definition: qscistyle.h:88
WrapVisualFlag
This enum defines the different line wrap visual flags.
Definition: qsciscintilla.h:493
bool writeProperties(QSettings &qs, const QString &prefix) const
void add(const QString &entry)
void setChangeable(bool changeable)
void setHotspotForegroundColor(const QColor &col)
QFont defaultFont(int style) const
Returns the font for style number style.
bool dollarsAllowed() const
Definition: qscilexercpp.h:264
const char * keywords(int set) const
virtual void setBackspaceUnindents(bool unindent)
virtual ~QsciLexerIDL()
Destroys the QsciLexerIDL instance.
void setDjangoTemplates(bool enabled)
void setFoldAtElse(bool fold)
long SendScintilla(unsigned int msg, long wParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
QsciLexerJava(QObject *parent=0)
@ SC_MARK_LCORNER
A bottom left corner drawn in the background colour.
Definition: qsciscintillabase.h:2595
The QsciLexerYAML class encapsulates the Scintilla YAML lexer.
Definition: qscilexeryaml.h:32
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual ~QsciLexerPython()
Destroys the QsciLexerPython instance.
QString description(int style) const
virtual bool writeProperties(QSettings &qs, const QString &prefix) const
const char * keywords(int set) const
QFont defaultFont() const
int braceStyle() const
Returns the style used for braces for brace matching.
QColor defaultColor(int style) const
Returns the foreground colour of the text for style number style.
virtual void indent(int line)
void convertEols(EolMode mode)
long SendScintilla(unsigned int msg, long cpMin, long cpMax, char *lpstrText) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual bool findFirst(const QString &expr, bool re, bool cs, bool wo, bool wrap, bool forward=true, int line=-1, int index=-1, bool show=true, bool posix=false, bool cxx11=false)
virtual int blockLookback() const
void clearFolds()
virtual const char * language() const =0
virtual void setCaretLineVisible(bool enable)
void setProcessIf(bool enable)
bool readProperties(QSettings &qs, const QString &prefix)
void refreshProperties()
virtual void setIndentationGuidesForegroundColor(const QColor &col)
The QsciLexerJSON class encapsulates the Scintilla JSON lexer.
Definition: qscilexerjson.h:32
const char * lexer() const
void setFoldCompact(bool fold)
const char * keywords(int set) const
bool readProperties(QSettings &qs, const QString &prefix)
void setUnmatchedBraceForegroundColor(const QColor &col)
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual void mousePressEvent(QMouseEvent *e)
Re-implemented to handle mouse presses.
The QsciLexerDiff class encapsulates the Scintilla Diff lexer.
Definition: qscilexerdiff.h:33
The QsciLexerPOV class encapsulates the Scintilla POV lexer.
Definition: qscilexerpov.h:32
const char * wordCharacters() const
Returns the string of characters that comprise a word.
long SendScintilla(unsigned int msg, int wParam) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool foldAtElse() const
The QsciLexerFortran class encapsulates the Scintilla Fortran lexer.
Definition: qscilexerfortran.h:32
void setLessLanguage(bool enabled)
QString defaultPreparedName() const
void refreshProperties()
const char * keywords(int set) const
void fontChanged(const QFont &f, int style)
void setFoldComments(bool fold)
bool foldCompact() const
void SCN_AUTOCSELECTIONCHANGE(const char *selection, int id, int position)
virtual void setFoldQuotes(bool fold)
virtual void setReadOnly(bool ro)
virtual void setTabIndents(bool indent)
virtual ~QsciLexerVerilog()
Destroys the QsciLexerVerilog instance.
QString selectedText() const
bool smartHighlighting() const
virtual ~QsciLexerPostScript()
Destroys the QsciLexerPostScript instance.
void clearEdgeColumns()
void setWrapIndentMode(WrapIndentMode mode)
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
void registerImage(int id, const QPixmap &pm)
@ SC_MARGIN_RTEXT
The margin will display right justified text.
Definition: qsciscintillabase.h:2707
virtual void setPaper(const QColor &c)
QFont defaultFont(int style) const
Returns the font for style number style.
The QsciLexerCPP class encapsulates the Scintilla C++ lexer.
Definition: qscilexercpp.h:33
QColor paper() const
virtual const char * blockEnd(int *style=0) const
The QsciPrinter class is a sub-class of the Qt QPrinter class that is able to print the text of a Sci...
Definition: qsciprinter.h:51
bool djangoTemplates() const
Definition: qscilexerhtml.h:435
QColor defaultColor(int style) const
bool foldComments() const
bool highlightTripleQuotedStrings() const
Definition: qscilexercpp.h:275
The QsciLexerPerl class encapsulates the Scintilla Perl lexer.
Definition: qscilexerperl.h:33
QsciLexerPerl(QObject *parent=0)
QFont defaultFont(int style) const
Returns the font for style number style.
void setIndicatorOutlineColor(const QColor &col, int indicatorNumber=-1)
int alternateKey() const
Definition: qscicommand.h:383
QsciLexerFortran77(QObject *parent=0)
int edgeColumn() const
QString description(int style) const
void SCEN_CHANGE()
This signal is emitted when the document has changed for any reason.
QsciDocument document() const
Definition: qsciscintilla.h:710
int braceStyle() const
Returns the style used for braces for brace matching.
void textChanged()
This signal is emitted whenever the text in the text edit changes.
QColor defaultColor(int style) const
The QsciLexerBatch class encapsulates the Scintilla batch file lexer.
Definition: qscilexerbatch.h:33
IndentationWarning
Definition: qscilexerpython.h:104
int braceStyle() const
Returns the style used for braces for brace matching.
QString description(int style) const
virtual void setFoldComments(bool fold)
void setIndicatorHoverStyle(IndicatorStyle style, int indicatorNumber=-1)
bool foldCompact() const
Definition: qscilexercpp.h:242
virtual void setFoldPreprocessor(bool fold)
int markerFindNext(int linenr, unsigned mask) const
virtual void moveToMatchingBrace()
virtual void setColor(const QColor &c)
virtual void endRecording()
Stop recording user commands.
IndicatorStyle
This enum defines the different indicator styles.
Definition: qsciscintilla.h:232
virtual ~QsciLexer()
Destroy the QSciLexer.
const char * wordCharacters() const
QString description(int style) const
QColor paper() const
Definition: qscistyle.h:120
virtual void setCaretWidth(int width)
void setHotspotWrap(bool enable)
virtual void setFoldAtBegin(bool fold)
const char * keywords(int set) const
virtual void setEolFill(bool eoffill, int style=-1)
QColor defaultPaper(int style) const
QColor defaultColor(int style) const
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
QColor defaultColor(int style) const
virtual QColor paper(int style) const
QFont defaultFont(int style) const
Returns the font for style number style.
virtual void formatPage(QPainter &painter, bool drawing, QRect &area, int pagenr)
TextCase
Definition: qscistyle.h:46
bool foldQuotes() const
Definition: qscilexerpython.h:204
virtual void setFoldComments(bool fold)
The QsciLexerPascal class encapsulates the Scintilla Pascal lexer.
Definition: qscilexerpascal.h:32
QString description(int style) const
The QsciLexerCoffeeScript class encapsulates the Scintilla CoffeeScript lexer.
Definition: qscilexercoffeescript.h:33
bool findMatchingBrace(long &brace, long &other, BraceMatch mode)
QFont defaultFont(int style) const
Returns the font for style number style.
void markerDelete(int linenr, int markerNumber=-1)
void setHighlightEscapeSequences(bool enabled)
void setMakoTemplates(bool enabled)
const char * lexer() const
QColor defaultColor(int style) const
const char * language() const
Returns the name of the language.
QsciScintilla * editor() const
Definition: qscilexer.h:207
QColor defaultPaper(int style) const
QsciLexerTeX(QObject *parent=0)
QString description(int style) const
const char * lexer() const
const char * lexer() const
void setAlternateKey(int altkey)
int lines() const
Returns the number of lines of text.
bool scriptsStyled() const
QFont defaultFont(int style) const
Returns the font for style number style.
QsciStyledText(const QString &text, int style)
virtual bool focusNextPrevChild(bool next)
Re-implemented to allow tabs to be entered as text.
void setContractedFolds(const QList< int > &folds)
void setAutoCompletionWordSeparators(const QStringList &separators)
void resetMatchedBraceIndicator()
EdgeMode
This enum defines the different edge modes for long lines.
Definition: qsciscintilla.h:178
const char * language() const
Returns the name of the language.
const char * keywords(int set) const
virtual void play()
Play the macro.
void setHotspotBackgroundColor(const QColor &col)
void beginUndoAction()
bool load(const QString &filename)
QColor defaultPaper(int style) const
CallTipsStyle callTipsStyle() const
Definition: qsciscintilla.h:648
bool foldComments() const
Definition: qscilexertex.h:100
bool readProperties(QSettings &qs, const QString &prefix)
long SendScintilla(unsigned int msg, unsigned long wParam=0, long lParam=0) const
QColor defaultPaper(int style) const
void setInitialSpaces(bool enable)
void setHotspotUnderline(bool enable)
bool foldPODBlocks() const
virtual ~QsciLexerHTML()
Destroys the QsciLexerHTML instance.
void propertyChanged(const char *prop, const char *val)
void setV3BinaryOctalAllowed(bool allowed)
QsciLexerVerilog(QObject *parent=0)
QColor defaultColor(int style) const
virtual void autoCompleteFromDocument()
QsciLexerHTML(QObject *parent=0)
void refreshProperties()
QsciLexerTCL(QObject *parent=0)
bool readProperties(QSettings &qs, const QString &prefix)
void setQuotedIdentifiers(bool enable)
const char * blockStart(int *style=0) const
The QsciLexerLua class encapsulates the Scintilla Lua lexer.
Definition: qscilexerlua.h:33
int lineLength(int line) const
QsciLexerAVS(QObject *parent=0)
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
virtual void setFoldAtElse(bool fold)
int braceStyle() const
Returns the style used for braces for brace matching.
QColor defaultPaper(int style) const
void apiPreparationCancelled()
int braceStyle() const
Returns the style used for braces for brace matching.
bool autoIndent() const
Definition: qsciscintilla.h:615
QsciLexerRuby(QObject *parent=0)
QsciLexerPascal(QObject *parent=0)
const char * lexer() const
const char * keywords(int set) const
void setFoldMarginColors(const QColor &fore, const QColor &back)
void setFoldComments(bool fold)
CallTipsStyle
This enum defines the different call tip styles.
Definition: qsciscintilla.h:156
const char * language() const
Returns the name of the language.
void setMatchedBraceForegroundColor(const QColor &col)
virtual void setText(const QString &text)
void setFoldAtElse(bool fold)
const char * language() const
Returns the name of the language.
const char * lexer() const
QsciLexerJavaScript(QObject *parent=0)
QString description(int style) const
static bool validKey(int key)
If the key key is valid then true is returned.
@ AcusExplicit
Definition: qsciscintilla.h:108
QFont defaultFont(int style) const
Returns the font for style number style.
const char * blockEnd(int *style=0) const
QsciLexerEDIFACT(QObject *parent=0)
void setHighlightComments(bool highlight)
WrapIndentMode
This enum defines the different line wrap indentation modes.
Definition: qsciscintilla.h:508
bool writeProperties(QSettings &qs, const QString &prefix) const
void setOverwriteMode(bool overwrite)
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual void focusOutEvent(QFocusEvent *e)
Re-implemented to tell Scintilla it has lost the focus.
virtual void setFoldCompact(bool fold)
virtual ~QsciLexerPO()
Destroys the QsciLexerPO instance.
const char * keywords(int set) const
void setFont(const QFont &f)
QColor defaultPaper(int style) const
const char * keywords(int set) const
bool readProperties(QSettings &qs, const QString &prefix)
QsciLexerLua(QObject *parent=0)
QString description(int style) const
virtual ~QsciLexerD()
Destroys the QsciLexerD instance.
void cancelFind()
virtual void updateAutoCompletionList(const QStringList &context, QStringList &list)=0
@ SC_MARK_SMALLRECT
A smaller rectangle.
Definition: qsciscintillabase.h:2573
virtual void zoomIn(int range)
QString description(int style) const
bool foldComments() const
Definition: qscilexerruby.h:203
int braceStyle() const
Returns the style used for braces for brace matching.
const char * keywords(int set) const
void setDocument(const QsciDocument &document)
bool writeSettings(QSettings &qs, const char *prefix="/Scintilla")
const char * wordCharacters() const
Returns the string of characters that comprise a word.
virtual void setFoldAtElse(bool fold)
virtual void setCursorPosition(int line, int index)
virtual ~QsciLexerSpice()
Destroys the QsciLexerSpice instance.
virtual void setModified(bool m)
QColor defaultColor(int style) const
void cancelPreparation()
QsciLexerYAML(QObject *parent=0)
virtual QFont defaultFont(int style) const
Returns the default font for style number style.
const char * keywords(int set) const
QColor defaultColor(int style) const
void startStyling(int pos, int styleBits=0)
QColor defaultColor(int style) const
bool writeProperties(QSettings &qs, const QString &prefix) const
const char * keywords(int set) const
virtual void setCaretLineFrameWidth(int width)
virtual void setFoldCompact(bool fold)
const char * wordCharacters() const
Returns the string of characters that comprise a word.
QColor defaultColor(int style) const
void addEdgeColumn(int colnr, const QColor &col)
const char * keywords(int set) const
virtual void contextMenuEvent(QContextMenuEvent *e)
Re-implemented to handle the context menu.
@ SC_MARK_ROUNDRECT
A rectangle.
Definition: qsciscintillabase.h:2567
bool isUndoAvailable() const
const char * wordCharacters() const
Returns the string of characters that comprise a word.
bool LessLanguage() const
Definition: qscilexercss.h:196
QsciCommandSet * standardCommands() const
The standard command set is returned.
Definition: qsciscintilla.h:1550
void setColor(const QColor &color)
@ WrapFlagByText
A wrap flag is displayed by the text.
Definition: qsciscintilla.h:498
void SCN_HOTSPOTDOUBLECLICK(int position, int modifiers)
void setKey(int key)
bool initialSpaces() const
Definition: qscilexerproperties.h:115
void setMarginText(int line, const QList< QsciStyledText > &text)
QsciScintillaBase(QWidget *parent=0)
Construct an empty QsciScintillaBase with parent parent.
const char * keywords(int set) const
QColor defaultPaper(int style) const
QString annotation(int line) const
Returns the annotation on line line, if any.
QColor defaultColor(int style) const
const char * language() const
Returns the name of the language.
virtual void startRecording()
Start recording user commands and add them to the macro.
const char * lexer() const
void setVisible(bool visible)
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
virtual void setAutoCompletionReplaceWord(bool replace)
bool foldCompact() const
unsigned markersAtLine(int linenr) const
virtual bool caseSensitive() const
Returns true if the language is case sensitive. The default is true.
bool foldComments() const
Definition: qscilexertcl.h:165
const char * blockStartKeyword(int *style=0) const
QString description(int style) const
QsciLexerIDL(QObject *parent=0)
QFont defaultFont(int style) const
Returns the font for style number style.
void setEolFill(bool fill)
bool isListActive() const
bool defaultEolFill(int style) const
Returns the end-of-line fill for style number style.
EdgeMode edgeMode() const
int extraDescent() const
bool stringsOverNewlineAllowed() const
Definition: qscilexerpython.h:234
const char * language() const
Returns the name of the language.
@ CallTipsNone
Call tips are disabled.
Definition: qsciscintilla.h:158
QString description(int style) const
QFont defaultFont(int style) const
Returns the font for style number style.
virtual void setFoldComments(bool fold)
bool readProperties(QSettings &qs, const QString &prefix)
bool writeProperties(QSettings &qs, const QString &prefix) const
void setVerbatimStringEscapeSequencesAllowed(bool allowed)
QStringList autoCompletionWordSeparators() const
bool writeProperties(QSettings &qs, const QString &prefix) const
virtual void setIndentationWarning(QsciLexerPython::IndentationWarning warn)
virtual ~QsciLexerVHDL()
Destroys the QsciLexerVHDL instance.
bool writeProperties(QSettings &qs, const QString &prefix) const
int braceStyle() const
Returns the style used for braces for brace matching.
const char * keywords(int set) const
int braceStyle() const
Returns the style used for braces for brace matching.
================================================ FILE: src/qscint/doc/html/classQsciCommand-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciCommand Member List

This is the complete list of members for QsciCommand, including all inherited members.

alternateKey() constQsciCommandinline
Backtab enum valueQsciCommand
Cancel enum valueQsciCommand
CharLeft enum valueQsciCommand
CharLeftExtend enum valueQsciCommand
CharLeftRectExtend enum valueQsciCommand
CharRight enum valueQsciCommand
CharRightExtend enum valueQsciCommand
CharRightRectExtend enum valueQsciCommand
Command enum nameQsciCommand
command() constQsciCommandinline
Delete enum valueQsciCommand
DeleteBack enum valueQsciCommand
DeleteBackNotLine enum valueQsciCommand
DeleteLineLeft enum valueQsciCommand
DeleteLineRight enum valueQsciCommand
DeleteWordLeft enum valueQsciCommand
DeleteWordRight enum valueQsciCommand
DeleteWordRightEnd enum valueQsciCommand
description() constQsciCommand
DocumentEnd enum valueQsciCommand
DocumentEndExtend enum valueQsciCommand
DocumentStart enum valueQsciCommand
DocumentStartExtend enum valueQsciCommand
EditToggleOvertype enum valueQsciCommand
execute()QsciCommand
Formfeed enum valueQsciCommand
Home enum valueQsciCommand
HomeDisplay enum valueQsciCommand
HomeDisplayExtend enum valueQsciCommand
HomeExtend enum valueQsciCommand
HomeRectExtend enum valueQsciCommand
HomeWrap enum valueQsciCommand
HomeWrapExtend enum valueQsciCommand
key() constQsciCommandinline
LineCopy enum valueQsciCommand
LineCut enum valueQsciCommand
LineDelete enum valueQsciCommand
LineDown enum valueQsciCommand
LineDownExtend enum valueQsciCommand
LineDownRectExtend enum valueQsciCommand
LineDuplicate enum valueQsciCommand
LineEnd enum valueQsciCommand
LineEndDisplay enum valueQsciCommand
LineEndDisplayExtend enum valueQsciCommand
LineEndExtend enum valueQsciCommand
LineEndRectExtend enum valueQsciCommand
LineEndWrap enum valueQsciCommand
LineEndWrapExtend enum valueQsciCommand
LineScrollDown enum valueQsciCommand
LineScrollUp enum valueQsciCommand
LineTranspose enum valueQsciCommand
LineUp enum valueQsciCommand
LineUpExtend enum valueQsciCommand
LineUpRectExtend enum valueQsciCommand
MoveSelectedLinesDown enum valueQsciCommand
MoveSelectedLinesUp enum valueQsciCommand
Newline enum valueQsciCommand
PageDown enum valueQsciCommand
PageDownExtend enum valueQsciCommand
PageDownRectExtend enum valueQsciCommand
PageUp enum valueQsciCommand
PageUpExtend enum valueQsciCommand
PageUpRectExtend enum valueQsciCommand
ParaDown enum valueQsciCommand
ParaDownExtend enum valueQsciCommand
ParaUp enum valueQsciCommand
ParaUpExtend enum valueQsciCommand
Paste enum valueQsciCommand
Redo enum valueQsciCommand
ReverseLines enum valueQsciCommand
ScrollToEnd enum valueQsciCommand
ScrollToStart enum valueQsciCommand
SelectAll enum valueQsciCommand
SelectionCopy enum valueQsciCommand
SelectionCut enum valueQsciCommand
SelectionDuplicate enum valueQsciCommand
SelectionLowerCase enum valueQsciCommand
SelectionUpperCase enum valueQsciCommand
setAlternateKey(int altkey)QsciCommand
setKey(int key)QsciCommand
StutteredPageDown enum valueQsciCommand
StutteredPageDownExtend enum valueQsciCommand
StutteredPageUp enum valueQsciCommand
StutteredPageUpExtend enum valueQsciCommand
Tab enum valueQsciCommand
Undo enum valueQsciCommand
validKey(int key)QsciCommandstatic
VCHome enum valueQsciCommand
VCHomeExtend enum valueQsciCommand
VCHomeRectExtend enum valueQsciCommand
VCHomeWrap enum valueQsciCommand
VCHomeWrapExtend enum valueQsciCommand
VerticalCentreCaret enum valueQsciCommand
WordLeft enum valueQsciCommand
WordLeftEnd enum valueQsciCommand
WordLeftEndExtend enum valueQsciCommand
WordLeftExtend enum valueQsciCommand
WordPartLeft enum valueQsciCommand
WordPartLeftExtend enum valueQsciCommand
WordPartRight enum valueQsciCommand
WordPartRightExtend enum valueQsciCommand
WordRight enum valueQsciCommand
WordRightEnd enum valueQsciCommand
WordRightEndExtend enum valueQsciCommand
WordRightExtend enum valueQsciCommand
ZoomIn enum valueQsciCommand
ZoomOut enum valueQsciCommand
================================================ FILE: src/qscint/doc/html/classQsciCommand.html ================================================ QScintilla: QsciCommand Class Reference
QScintilla  2.12.1

#include <qscicommand.h>

Public Types

enum  Command {
  LineDown = QsciScintillaBase::SCI_LINEDOWN, LineDownExtend = QsciScintillaBase::SCI_LINEDOWNEXTEND, LineDownRectExtend = QsciScintillaBase::SCI_LINEDOWNRECTEXTEND,
  LineScrollDown = QsciScintillaBase::SCI_LINESCROLLDOWN, LineUp = QsciScintillaBase::SCI_LINEUP, LineUpExtend = QsciScintillaBase::SCI_LINEUPEXTEND,
  LineUpRectExtend = QsciScintillaBase::SCI_LINEUPRECTEXTEND, LineScrollUp = QsciScintillaBase::SCI_LINESCROLLUP, ScrollToStart = QsciScintillaBase::SCI_SCROLLTOSTART,
  ScrollToEnd = QsciScintillaBase::SCI_SCROLLTOEND, VerticalCentreCaret = QsciScintillaBase::SCI_VERTICALCENTRECARET, ParaDown = QsciScintillaBase::SCI_PARADOWN,
  ParaDownExtend = QsciScintillaBase::SCI_PARADOWNEXTEND, ParaUp = QsciScintillaBase::SCI_PARAUP, ParaUpExtend = QsciScintillaBase::SCI_PARAUPEXTEND,
  CharLeft = QsciScintillaBase::SCI_CHARLEFT, CharLeftExtend = QsciScintillaBase::SCI_CHARLEFTEXTEND, CharLeftRectExtend = QsciScintillaBase::SCI_CHARLEFTRECTEXTEND,
  CharRight = QsciScintillaBase::SCI_CHARRIGHT, CharRightExtend = QsciScintillaBase::SCI_CHARRIGHTEXTEND, CharRightRectExtend = QsciScintillaBase::SCI_CHARRIGHTRECTEXTEND,
  WordLeft = QsciScintillaBase::SCI_WORDLEFT, WordLeftExtend = QsciScintillaBase::SCI_WORDLEFTEXTEND, WordRight = QsciScintillaBase::SCI_WORDRIGHT,
  WordRightExtend = QsciScintillaBase::SCI_WORDRIGHTEXTEND, WordLeftEnd = QsciScintillaBase::SCI_WORDLEFTEND, WordLeftEndExtend = QsciScintillaBase::SCI_WORDLEFTENDEXTEND,
  WordRightEnd = QsciScintillaBase::SCI_WORDRIGHTEND, WordRightEndExtend = QsciScintillaBase::SCI_WORDRIGHTENDEXTEND, WordPartLeft = QsciScintillaBase::SCI_WORDPARTLEFT,
  WordPartLeftExtend = QsciScintillaBase::SCI_WORDPARTLEFTEXTEND, WordPartRight = QsciScintillaBase::SCI_WORDPARTRIGHT, WordPartRightExtend = QsciScintillaBase::SCI_WORDPARTRIGHTEXTEND,
  Home = QsciScintillaBase::SCI_HOME, HomeExtend = QsciScintillaBase::SCI_HOMEEXTEND, HomeRectExtend = QsciScintillaBase::SCI_HOMERECTEXTEND,
  HomeDisplay = QsciScintillaBase::SCI_HOMEDISPLAY, HomeDisplayExtend = QsciScintillaBase::SCI_HOMEDISPLAYEXTEND, HomeWrap = QsciScintillaBase::SCI_HOMEWRAP,
  HomeWrapExtend = QsciScintillaBase::SCI_HOMEWRAPEXTEND, VCHome = QsciScintillaBase::SCI_VCHOME, VCHomeExtend = QsciScintillaBase::SCI_VCHOMEEXTEND,
  VCHomeRectExtend = QsciScintillaBase::SCI_VCHOMERECTEXTEND, VCHomeWrap = QsciScintillaBase::SCI_VCHOMEWRAP, VCHomeWrapExtend = QsciScintillaBase::SCI_VCHOMEWRAPEXTEND,
  LineEnd = QsciScintillaBase::SCI_LINEEND, LineEndExtend = QsciScintillaBase::SCI_LINEENDEXTEND, LineEndRectExtend = QsciScintillaBase::SCI_LINEENDRECTEXTEND,
  LineEndDisplay = QsciScintillaBase::SCI_LINEENDDISPLAY, LineEndDisplayExtend = QsciScintillaBase::SCI_LINEENDDISPLAYEXTEND, LineEndWrap = QsciScintillaBase::SCI_LINEENDWRAP,
  LineEndWrapExtend = QsciScintillaBase::SCI_LINEENDWRAPEXTEND, DocumentStart = QsciScintillaBase::SCI_DOCUMENTSTART, DocumentStartExtend = QsciScintillaBase::SCI_DOCUMENTSTARTEXTEND,
  DocumentEnd = QsciScintillaBase::SCI_DOCUMENTEND, DocumentEndExtend = QsciScintillaBase::SCI_DOCUMENTENDEXTEND, PageUp = QsciScintillaBase::SCI_PAGEUP,
  PageUpExtend = QsciScintillaBase::SCI_PAGEUPEXTEND, PageUpRectExtend = QsciScintillaBase::SCI_PAGEUPRECTEXTEND, PageDown = QsciScintillaBase::SCI_PAGEDOWN,
  PageDownExtend = QsciScintillaBase::SCI_PAGEDOWNEXTEND, PageDownRectExtend = QsciScintillaBase::SCI_PAGEDOWNRECTEXTEND, StutteredPageUp = QsciScintillaBase::SCI_STUTTEREDPAGEUP,
  StutteredPageUpExtend = QsciScintillaBase::SCI_STUTTEREDPAGEUPEXTEND, StutteredPageDown = QsciScintillaBase::SCI_STUTTEREDPAGEDOWN, StutteredPageDownExtend = QsciScintillaBase::SCI_STUTTEREDPAGEDOWNEXTEND,
  Delete = QsciScintillaBase::SCI_CLEAR, DeleteBack = QsciScintillaBase::SCI_DELETEBACK, DeleteBackNotLine = QsciScintillaBase::SCI_DELETEBACKNOTLINE,
  DeleteWordLeft = QsciScintillaBase::SCI_DELWORDLEFT, DeleteWordRight = QsciScintillaBase::SCI_DELWORDRIGHT, DeleteWordRightEnd = QsciScintillaBase::SCI_DELWORDRIGHTEND,
  DeleteLineLeft = QsciScintillaBase::SCI_DELLINELEFT, DeleteLineRight = QsciScintillaBase::SCI_DELLINERIGHT, LineDelete = QsciScintillaBase::SCI_LINEDELETE,
  LineCut = QsciScintillaBase::SCI_LINECUT, LineCopy = QsciScintillaBase::SCI_LINECOPY, LineTranspose = QsciScintillaBase::SCI_LINETRANSPOSE,
  LineDuplicate = QsciScintillaBase::SCI_LINEDUPLICATE, SelectAll = QsciScintillaBase::SCI_SELECTALL, MoveSelectedLinesUp = QsciScintillaBase::SCI_MOVESELECTEDLINESUP,
  MoveSelectedLinesDown = QsciScintillaBase::SCI_MOVESELECTEDLINESDOWN, SelectionDuplicate = QsciScintillaBase::SCI_SELECTIONDUPLICATE, SelectionLowerCase = QsciScintillaBase::SCI_LOWERCASE,
  SelectionUpperCase = QsciScintillaBase::SCI_UPPERCASE, SelectionCut = QsciScintillaBase::SCI_CUT, SelectionCopy = QsciScintillaBase::SCI_COPY,
  Paste = QsciScintillaBase::SCI_PASTE, EditToggleOvertype = QsciScintillaBase::SCI_EDITTOGGLEOVERTYPE, Newline = QsciScintillaBase::SCI_NEWLINE,
  Formfeed = QsciScintillaBase::SCI_FORMFEED, Tab = QsciScintillaBase::SCI_TAB, Backtab = QsciScintillaBase::SCI_BACKTAB,
  Cancel = QsciScintillaBase::SCI_CANCEL, Undo = QsciScintillaBase::SCI_UNDO, Redo = QsciScintillaBase::SCI_REDO,
  ZoomIn = QsciScintillaBase::SCI_ZOOMIN, ZoomOut = QsciScintillaBase::SCI_ZOOMOUT, ReverseLines = QsciScintillaBase::SCI_LINEREVERSE
}
 

Public Member Functions

Command command () const
 
void execute ()
 
void setKey (int key)
 
void setAlternateKey (int altkey)
 
int key () const
 
int alternateKey () const
 
QString description () const
 

Static Public Member Functions

static bool validKey (int key)
 

Detailed Description

The QsciCommand class represents an internal editor command that may have one or two keys bound to it.

Methods are provided to change the keys bound to the command and to remove a key binding. Each command has a user friendly description of the command for use in key mapping dialogs.

Member Enumeration Documentation

◆ Command

This enum defines the different commands that can be assigned to a key.

Enumerator
LineDown 

Move down one line.

LineDownExtend 

Extend the selection down one line.

LineDownRectExtend 

Extend the rectangular selection down one line.

LineScrollDown 

Scroll the view down one line.

LineUp 

Move up one line.

LineUpExtend 

Extend the selection up one line.

LineUpRectExtend 

Extend the rectangular selection up one line.

LineScrollUp 

Scroll the view up one line.

ScrollToStart 

Scroll to the start of the document.

ScrollToEnd 

Scroll to the end of the document.

VerticalCentreCaret 

Scroll vertically to centre the current line.

ParaDown 

Move down one paragraph.

ParaDownExtend 

Extend the selection down one paragraph.

ParaUp 

Move up one paragraph.

ParaUpExtend 

Extend the selection up one paragraph.

CharLeft 

Move left one character.

CharLeftExtend 

Extend the selection left one character.

CharLeftRectExtend 

Extend the rectangular selection left one character.

CharRight 

Move right one character.

CharRightExtend 

Extend the selection right one character.

CharRightRectExtend 

Extend the rectangular selection right one character.

WordLeft 

Move left one word.

WordLeftExtend 

Extend the selection left one word.

WordRight 

Move right one word.

WordRightExtend 

Extend the selection right one word.

WordLeftEnd 

Move to the end of the previous word.

WordLeftEndExtend 

Extend the selection to the end of the previous word.

WordRightEnd 

Move to the end of the next word.

WordRightEndExtend 

Extend the selection to the end of the next word.

WordPartLeft 

Move left one word part.

WordPartLeftExtend 

Extend the selection left one word part.

WordPartRight 

Move right one word part.

WordPartRightExtend 

Extend the selection right one word part.

Home 

Move to the start of the document line.

HomeExtend 

Extend the selection to the start of the document line.

HomeRectExtend 

Extend the rectangular selection to the start of the document line.

HomeDisplay 

Move to the start of the displayed line.

HomeDisplayExtend 

Extend the selection to the start of the displayed line.

HomeWrap 

Move to the start of the displayed or document line.

HomeWrapExtend 

Extend the selection to the start of the displayed or document line.

VCHome 

Move to the first visible character in the document line.

VCHomeExtend 

Extend the selection to the first visible character in the document line.

VCHomeRectExtend 

Extend the rectangular selection to the first visible character in the document line.

VCHomeWrap 

Move to the first visible character of the displayed or document line.

VCHomeWrapExtend 

Extend the selection to the first visible character of the displayed or document line.

LineEnd 

Move to the end of the document line.

LineEndExtend 

Extend the selection to the end of the document line.

LineEndRectExtend 

Extend the rectangular selection to the end of the document line.

LineEndDisplay 

Move to the end of the displayed line.

LineEndDisplayExtend 

Extend the selection to the end of the displayed line.

LineEndWrap 

Move to the end of the displayed or document line.

LineEndWrapExtend 

Extend the selection to the end of the displayed or document line.

DocumentStart 

Move to the start of the document.

DocumentStartExtend 

Extend the selection to the start of the document.

DocumentEnd 

Move to the end of the document.

DocumentEndExtend 

Extend the selection to the end of the document.

PageUp 

Move up one page.

PageUpExtend 

Extend the selection up one page.

PageUpRectExtend 

Extend the rectangular selection up one page.

PageDown 

Move down one page.

PageDownExtend 

Extend the selection down one page.

PageDownRectExtend 

Extend the rectangular selection down one page.

StutteredPageUp 

Stuttered move up one page.

StutteredPageUpExtend 

Stuttered extend the selection up one page.

StutteredPageDown 

Stuttered move down one page.

StutteredPageDownExtend 

Stuttered extend the selection down one page.

Delete 

Delete the current character.

DeleteBack 

Delete the previous character.

DeleteBackNotLine 

Delete the previous character if not at start of line.

DeleteWordLeft 

Delete the word to the left.

DeleteWordRight 

Delete the word to the right.

DeleteWordRightEnd 

Delete right to the end of the next word.

DeleteLineLeft 

Delete the line to the left.

DeleteLineRight 

Delete the line to the right.

LineDelete 

Delete the current line.

LineCut 

Cut the current line to the clipboard.

LineCopy 

Copy the current line to the clipboard.

LineTranspose 

Transpose the current and previous lines.

LineDuplicate 

Duplicate the current line.

SelectAll 

Select the whole document.

MoveSelectedLinesUp 

Move the selected lines up one line.

MoveSelectedLinesDown 

Move the selected lines down one line.

SelectionDuplicate 

Duplicate the selection.

SelectionLowerCase 

Convert the selection to lower case.

SelectionUpperCase 

Convert the selection to upper case.

SelectionCut 

Cut the selection to the clipboard.

SelectionCopy 

Copy the selection to the clipboard.

Paste 

Paste from the clipboard.

EditToggleOvertype 

Toggle insert/overtype.

Newline 

Insert a platform dependent newline.

Formfeed 

Insert a formfeed.

Tab 

Indent one level.

Backtab 

De-indent one level.

Cancel 

Cancel any current operation.

Undo 

Undo the last command.

Redo 

Redo the last command.

ZoomIn 

Zoom in.

ZoomOut 

Zoom out.

ReverseLines 

Reverse the selected lines.

Member Function Documentation

◆ setKey()

void QsciCommand::setKey ( int  key)

Binds the key key to the command. If key is 0 then the key binding is removed. If key is invalid then the key binding is unchanged. Valid keys are any visible or control character or any of Qt::Key_Down, Qt::Key_Up, Qt::Key_Left, Qt::Key_Right, Qt::Key_Home, Qt::Key_End, Qt::Key_PageUp, Qt::Key_PageDown, Qt::Key_Delete, Qt::Key_Insert, Qt::Key_Escape, Qt::Key_Backspace, Qt::Key_Tab, Qt::Key_Backtab, Qt::Key_Return, Qt::Key_Enter, Qt::Key_Super_L, Qt::Key_Super_R or Qt::Key_Menu. Keys may be modified with any combination of Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifier and Qt::MetaModifier.

See also
key(), setAlternateKey(), validKey()

◆ setAlternateKey()

void QsciCommand::setAlternateKey ( int  altkey)

Binds the alternate key altkey to the command. If key is 0 then the alternate key binding is removed.

See also
alternateKey(), setKey(), validKey()

◆ key()

int QsciCommand::key ( ) const
inline

The key that is currently bound to the command is returned.

See also
setKey(), alternateKey()

◆ alternateKey()

int QsciCommand::alternateKey ( ) const
inline

The alternate key that is currently bound to the command is returned.

See also
setAlternateKey(), key()
================================================ FILE: src/qscint/doc/html/classQsciCommandSet-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciCommandSet Member List

This is the complete list of members for QsciCommandSet, including all inherited members.

boundTo(int key) const (defined in QsciCommandSet)QsciCommandSet
clearAlternateKeys()QsciCommandSet
clearKeys()QsciCommandSet
commands()QsciCommandSetinline
find(QsciCommand::Command command) const (defined in QsciCommandSet)QsciCommandSet
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciCommandSet
writeSettings(QSettings &qs, const char *prefix="/Scintilla")QsciCommandSet
================================================ FILE: src/qscint/doc/html/classQsciCommandSet.html ================================================ QScintilla: QsciCommandSet Class Reference
QScintilla  2.12.1
QsciCommandSet Class Reference

#include <qscicommandset.h>

Public Member Functions

bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla")
 
QList< QsciCommand * > & commands ()
 
void clearKeys ()
 
void clearAlternateKeys ()
 
QsciCommandboundTo (int key) const
 
QsciCommandfind (QsciCommand::Command command) const
 

Detailed Description

The QsciCommandSet class represents the set of all internal editor commands that may have keys bound.

Methods are provided to access the individual commands and to read and write the current bindings from and to settings files.

Member Function Documentation

◆ readSettings()

bool QsciCommandSet::readSettings ( QSettings &  qs,
const char *  prefix = "/Scintilla" 
)

The key bindings for each command in the set are read from the settings qs. prefix is prepended to the key of each entry. true is returned if there was no error.

See also
writeSettings()

◆ writeSettings()

bool QsciCommandSet::writeSettings ( QSettings &  qs,
const char *  prefix = "/Scintilla" 
)

The key bindings for each command in the set are written to the settings qs. prefix is prepended to the key of each entry. true is returned if there was no error.

See also
readSettings()
================================================ FILE: src/qscint/doc/html/classQsciDocument-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciDocument Member List

This is the complete list of members for QsciDocument, including all inherited members.

operator=(const QsciDocument &) (defined in QsciDocument)QsciDocument
QsciDocument()QsciDocument
QsciDocument(const QsciDocument &) (defined in QsciDocument)QsciDocument
~QsciDocument() (defined in QsciDocument)QsciDocumentvirtual
================================================ FILE: src/qscint/doc/html/classQsciDocument.html ================================================ QScintilla: QsciDocument Class Reference
QScintilla  2.12.1
QsciDocument Class Reference

#include <qscidocument.h>

Public Member Functions

 QsciDocument ()
 
 QsciDocument (const QsciDocument &)
 
QsciDocumentoperator= (const QsciDocument &)
 

Detailed Description

The QsciDocument class represents a document to be edited.

It is an opaque class that can be attached to multiple instances of QsciScintilla to create different simultaneous views of the same document. QsciDocument uses implicit sharing so that copying class instances is a cheap operation.

================================================ FILE: src/qscint/doc/html/classQsciLexer-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexer Member List

This is the complete list of members for QsciLexer, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
defaultColor() constQsciLexer
defaultColor(int style) constQsciLexervirtual
defaultEolFill(int style) constQsciLexervirtual
defaultFont() constQsciLexer
defaultFont(int style) constQsciLexervirtual
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) const =0QsciLexerpure virtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexervirtual
language() const =0QsciLexerpure virtual
lexer() constQsciLexervirtual
lexerId() constQsciLexervirtual
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
================================================ FILE: src/qscint/doc/html/classQsciLexer.html ================================================ QScintilla: QsciLexer Class Reference
QScintilla  2.12.1

#include <qscilexer.h>

Inherits QObject.

Inherited by QsciLexerAVS, QsciLexerBash, QsciLexerBatch, QsciLexerCMake, QsciLexerCoffeeScript, QsciLexerCPP, QsciLexerCSS, QsciLexerCustom, QsciLexerD, QsciLexerDiff, QsciLexerEDIFACT, QsciLexerFortran77, QsciLexerHTML, QsciLexerJSON, QsciLexerLua, QsciLexerMakefile, QsciLexerMarkdown, QsciLexerMatlab, QsciLexerPascal, QsciLexerPerl, QsciLexerPO, QsciLexerPostScript, QsciLexerPOV, QsciLexerProperties, QsciLexerPython, QsciLexerRuby, QsciLexerSpice, QsciLexerSQL, QsciLexerTCL, QsciLexerTeX, QsciLexerVerilog, QsciLexerVHDL, and QsciLexerYAML.

Public Slots

virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Signals

void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Public Member Functions

 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual const char * language () const =0
 
virtual const char * lexer () const
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QString description (int style) const =0
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual QColor defaultColor (int style) const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
virtual QFont defaultFont (int style) const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexer class is an abstract class used as a base for language lexers.

A lexer scans the text breaking it up into separate language objects, e.g. keywords, strings, operators. The lexer then uses a different style to draw each object. A style is identified by a style number and has a number of attributes, including colour and font. A specific language lexer will implement appropriate default styles which can be overriden by an application by further sub-classing the specific language lexer.

A lexer may provide one or more sets of words to be recognised as keywords. Most lexers only provide one set, but some may support languages embedded in other languages and provide several sets.

QsciLexer provides convenience methods for saving and restoring user preferences for fonts and colours.

If you want to write a lexer for a new language then you can add it to the underlying Scintilla code and implement a corresponding QsciLexer sub-class to manage the different styles used. Alternatively you can implement a sub-class of QsciLexerCustom.

Constructor & Destructor Documentation

◆ QsciLexer()

QsciLexer::QsciLexer ( QObject *  parent = 0)

Construct a QsciLexer with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ language()

◆ lexer()

◆ lexerId()

virtual int QsciLexer::lexerId ( ) const
virtual

Returns the identifier (i.e. a QsciScintillaBase::SCLEX_* value) of the lexer. This is only used if lexer() returns 0. The default implementation returns QsciScintillaBase::SCLEX_CONTAINER.

See also
lexer()

◆ apis()

QsciAbstractAPIs* QsciLexer::apis ( ) const

Returns the current API set or 0 if there isn't one.

See also
setAPIs()

◆ autoCompletionWordSeparators()

virtual QStringList QsciLexer::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented in QsciLexerPython, QsciLexerPerl, QsciLexerPascal, QsciLexerLua, QsciLexerD, QsciLexerCPP, and QsciLexerCoffeeScript.

◆ autoIndentStyle()

int QsciLexer::autoIndentStyle ( )

Returns the auto-indentation style. The default is 0 if the language is block structured, or QsciScintilla::AiMaintain if not.

See also
setAutoIndentStyle(), QsciScintilla::AiMaintain, QsciScintilla::AiOpening, QsciScintilla::AiClosing

◆ blockEnd()

virtual const char* QsciLexer::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented in QsciLexerRuby, QsciLexerPerl, QsciLexerPascal, QsciLexerD, QsciLexerCSS, QsciLexerCPP, and QsciLexerCoffeeScript.

◆ blockLookback()

virtual int QsciLexer::blockLookback ( ) const
virtual

Returns the number of lines prior to the current one when determining the scope of a block when auto-indenting.

Reimplemented in QsciLexerPython.

◆ blockStart()

virtual const char* QsciLexer::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented in QsciLexerRuby, QsciLexerPython, QsciLexerPerl, QsciLexerPascal, QsciLexerLua, QsciLexerD, QsciLexerCSS, QsciLexerCPP, and QsciLexerCoffeeScript.

◆ blockStartKeyword()

virtual const char* QsciLexer::blockStartKeyword ( int *  style = 0) const
virtual

Returns a space separated list of keywords in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented in QsciLexerRuby, QsciLexerPascal, QsciLexerD, QsciLexerCPP, and QsciLexerCoffeeScript.

◆ color()

virtual QColor QsciLexer::color ( int  style) const
virtual

Returns the foreground colour of the text for style number style. The default colour is that returned by defaultColor().

See also
defaultColor(), paper()

◆ eolFill()

virtual bool QsciLexer::eolFill ( int  style) const
virtual

Returns the end-of-line for style number style. The default is false.

◆ font()

virtual QFont QsciLexer::font ( int  style) const
virtual

Returns the font for style number style. The default font is that returned by defaultFont().

See also
defaultFont()

◆ keywords()

virtual const char* QsciLexer::keywords ( int  set) const
virtual

◆ defaultStyle()

virtual int QsciLexer::defaultStyle ( ) const
virtual

Returns the number of the style used for whitespace. The default implementation returns 0 which is the convention adopted by most lexers.

◆ description()

virtual QString QsciLexer::description ( int  style) const
pure virtual

Returns the descriptive name for style number style. For a valid style number for this language a non-empty QString must be returned. If the style number is invalid then an empty QString must be returned. This is intended to be used in user preference dialogs.

Implemented in QsciLexerYAML, QsciLexerVHDL, QsciLexerVerilog, QsciLexerTeX, QsciLexerTCL, QsciLexerSQL, QsciLexerSpice, QsciLexerRuby, QsciLexerPython, QsciLexerProperties, QsciLexerPOV, QsciLexerPostScript, QsciLexerPO, QsciLexerPerl, QsciLexerPascal, QsciLexerMatlab, QsciLexerMarkdown, QsciLexerMakefile, QsciLexerLua, QsciLexerJSON, QsciLexerJavaScript, QsciLexerIDL, QsciLexerHTML, QsciLexerFortran77, QsciLexerEDIFACT, QsciLexerDiff, QsciLexerD, QsciLexerCSS, QsciLexerCSharp, QsciLexerCPP, QsciLexerCoffeeScript, QsciLexerCMake, QsciLexerBatch, QsciLexerBash, and QsciLexerAVS.

◆ paper()

virtual QColor QsciLexer::paper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultPaper(), color()

◆ defaultColor()

QColor QsciLexer::defaultColor ( ) const

Returns the default text colour.

See also
setDefaultColor()

◆ defaultEolFill()

◆ defaultFont()

QFont QsciLexer::defaultFont ( ) const

Returns the default font.

See also
setDefaultFont()

◆ defaultPaper()

QColor QsciLexer::defaultPaper ( ) const

Returns the default paper colour.

See also
setDefaultPaper()

◆ editor()

QsciScintilla* QsciLexer::editor ( ) const
inline

Returns the QsciScintilla instance that the lexer is currently attached to or 0 if it is unattached.

◆ setAPIs()

void QsciLexer::setAPIs ( QsciAbstractAPIs apis)

The current set of APIs is set to apis. If apis is 0 then any existing APIs for this lexer are removed.

See also
apis()

◆ setDefaultColor()

void QsciLexer::setDefaultColor ( const QColor &  c)

The default text colour is set to c.

See also
defaultColor(), color()

◆ setDefaultFont()

void QsciLexer::setDefaultFont ( const QFont &  f)

The default font is set to f.

See also
defaultFont(), font()

◆ setDefaultPaper()

void QsciLexer::setDefaultPaper ( const QColor &  c)

The default paper colour is set to c.

See also
defaultPaper(), paper()

◆ readSettings()

bool QsciLexer::readSettings ( QSettings &  qs,
const char *  prefix = "/Scintilla" 
)

The colour, paper, font and end-of-line for each style number, and all lexer specific properties are read from the settings qs. prefix is prepended to the key of each entry. true is returned if there was no error.

See also
writeSettings(), QsciScintilla::setLexer()

◆ refreshProperties()

◆ styleBitsNeeded()

virtual int QsciLexer::styleBitsNeeded ( ) const
virtual

Returns the number of style bits needed by the lexer. Normally this should only be re-implemented by custom lexers. This is deprecated and no longer has any effect.

Reimplemented in QsciLexerCustom.

◆ wordCharacters()

virtual const char* QsciLexer::wordCharacters ( ) const
virtual

Returns the string of characters that comprise a word. The default is 0 which implies the upper and lower case alphabetic characters and underscore.

Reimplemented in QsciLexerVerilog, QsciLexerTeX, QsciLexerProperties, QsciLexerPOV, QsciLexerPerl, QsciLexerMakefile, QsciLexerHTML, QsciLexerDiff, QsciLexerD, QsciLexerCSS, QsciLexerCPP, QsciLexerCoffeeScript, QsciLexerBatch, QsciLexerBash, and QsciLexerAVS.

◆ writeSettings()

bool QsciLexer::writeSettings ( QSettings &  qs,
const char *  prefix = "/Scintilla" 
) const

The colour, paper, font and end-of-line for each style number, and all lexer specific properties are written to the settings qs. prefix is prepended to the key of each entry. true is returned if there was no error.

See also
readSettings()

◆ setAutoIndentStyle

virtual void QsciLexer::setAutoIndentStyle ( int  autoindentstyle)
virtualslot

The auto-indentation style is set to autoindentstyle.

See also
autoIndentStyle(), QsciScintilla::AiMaintain, QsciScintilla::AiOpening, QsciScintilla::AiClosing

◆ setColor

virtual void QsciLexer::setColor ( const QColor &  c,
int  style = -1 
)
virtualslot

The foreground colour for style number style is set to c. If style is -1 then the colour is set for all styles.

◆ setEolFill

virtual void QsciLexer::setEolFill ( bool  eoffill,
int  style = -1 
)
virtualslot

The end-of-line fill for style number style is set to eoffill. If style is -1 then the fill is set for all styles.

◆ setFont

virtual void QsciLexer::setFont ( const QFont &  f,
int  style = -1 
)
virtualslot

The font for style number style is set to f. If style is -1 then the font is set for all styles.

◆ setPaper

virtual void QsciLexer::setPaper ( const QColor &  c,
int  style = -1 
)
virtualslot

The background colour for style number style is set to c. If style is -1 then the colour is set for all styles.

◆ colorChanged

void QsciLexer::colorChanged ( const QColor &  c,
int  style 
)
signal

This signal is emitted when the foreground colour of style number style has changed. The new colour is c.

◆ eolFillChanged

void QsciLexer::eolFillChanged ( bool  eolfilled,
int  style 
)
signal

This signal is emitted when the end-of-file fill of style number style has changed. The new fill is eolfilled.

◆ fontChanged

void QsciLexer::fontChanged ( const QFont &  f,
int  style 
)
signal

This signal is emitted when the font of style number style has changed. The new font is f.

◆ paperChanged

void QsciLexer::paperChanged ( const QColor &  c,
int  style 
)
signal

This signal is emitted when the background colour of style number style has changed. The new colour is c.

◆ propertyChanged

void QsciLexer::propertyChanged ( const char *  prop,
const char *  val 
)
signal

This signal is emitted when the value of the lexer property prop needs to be changed. The new value is val.

◆ readProperties()

virtual bool QsciLexer::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented in QsciLexerYAML, QsciLexerXML, QsciLexerVHDL, QsciLexerVerilog, QsciLexerTeX, QsciLexerTCL, QsciLexerSQL, QsciLexerRuby, QsciLexerPython, QsciLexerProperties, QsciLexerPOV, QsciLexerPostScript, QsciLexerPO, QsciLexerPerl, QsciLexerPascal, QsciLexerLua, QsciLexerJSON, QsciLexerHTML, QsciLexerFortran77, QsciLexerD, QsciLexerCSS, QsciLexerCPP, QsciLexerCoffeeScript, QsciLexerCMake, QsciLexerBash, and QsciLexerAVS.

◆ writeProperties()

virtual bool QsciLexer::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented in QsciLexerYAML, QsciLexerXML, QsciLexerVHDL, QsciLexerVerilog, QsciLexerTeX, QsciLexerTCL, QsciLexerSQL, QsciLexerRuby, QsciLexerPython, QsciLexerProperties, QsciLexerPOV, QsciLexerPostScript, QsciLexerPO, QsciLexerPerl, QsciLexerPascal, QsciLexerLua, QsciLexerJSON, QsciLexerHTML, QsciLexerFortran77, QsciLexerD, QsciLexerCSS, QsciLexerCPP, QsciLexerCoffeeScript, QsciLexerCMake, QsciLexerBash, and QsciLexerAVS.

================================================ FILE: src/qscint/doc/html/classQsciLexerAVS-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerAVS Member List

This is the complete list of members for QsciLexerAVS, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
BlockComment enum valueQsciLexerAVS
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerAVSvirtual
caseSensitive() constQsciLexervirtual
ClipProperty enum valueQsciLexerAVS
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Default enum valueQsciLexerAVS
defaultColor(int style) constQsciLexerAVSvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerAVSvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerAVSvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
Filter enum valueQsciLexerAVS
foldComments() constQsciLexerAVS
foldCompact() constQsciLexerAVS
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Function enum valueQsciLexerAVS
Identifier enum valueQsciLexerAVS
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerAVS
keywords(int set) constQsciLexerAVSvirtual
KeywordSet6 enum valueQsciLexerAVS
language() constQsciLexerAVSvirtual
lexer() constQsciLexerAVSvirtual
lexerId() constQsciLexervirtual
LineComment enum valueQsciLexerAVS
NestedBlockComment enum valueQsciLexerAVS
Number enum valueQsciLexerAVS
Operator enum valueQsciLexerAVS
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
Plugin enum valueQsciLexerAVS
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerAVS(QObject *parent=0)QsciLexerAVS
readProperties(QSettings &qs, const QString &prefix)QsciLexerAVSprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerAVSvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerAVSvirtualslot
setFoldCompact(bool fold)QsciLexerAVSvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
String enum valueQsciLexerAVS
styleBitsNeeded() constQsciLexervirtual
TripleString enum valueQsciLexerAVS
wordCharacters() constQsciLexerAVSvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerAVSprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerAVS()QsciLexerAVSvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerAVS.html ================================================ QScintilla: QsciLexerAVS Class Reference
QScintilla  2.12.1

#include <qscilexeravs.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, BlockComment = 1, NestedBlockComment = 2,
  LineComment = 3, Number = 4, Operator = 5,
  Identifier = 6, String = 7, TripleString = 8,
  Keyword = 9, Filter = 10, Plugin = 11,
  Function = 12, ClipProperty = 13, KeywordSet6 = 14
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerAVS (QObject *parent=0)
 
virtual ~QsciLexerAVS ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerAVS class encapsulates the Scintilla AVS lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the AVS lexer.

Enumerator
Default 

The default.

BlockComment 

A block comment.

NestedBlockComment 

A nested block comment.

LineComment 

A line comment.

Number 

A number.

Operator 

An operator.

Identifier 

An identifier.

String 

A string.

TripleString 

A triple quoted string.

Keyword 

A keyword (as defined by keyword set number 1)..

Filter 

A filter (as defined by keyword set number 2).

Plugin 

A plugin (as defined by keyword set number 3).

Function 

A function (as defined by keyword set number 4).

ClipProperty 

A clip property (as defined by keyword set number 5).

KeywordSet6 

A keyword defined in keyword set number 6. The class must be sub-classed and re-implement keywords() to make use of this style.

Constructor & Destructor Documentation

◆ QsciLexerAVS()

QsciLexerAVS::QsciLexerAVS ( QObject *  parent = 0)

Construct a QsciLexerAVS with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerAVS::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerAVS::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerAVS::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerAVS::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerAVS::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerAVS::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerAVS::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldComments

virtual void QsciLexerAVS::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerAVS::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerAVS::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerAVS::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerBash-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerBash Member List

This is the complete list of members for QsciLexerBash, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
Backticks enum valueQsciLexerBash
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerBashvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerBash
Default enum valueQsciLexerBash
defaultColor(int style) constQsciLexerBashvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerBashvirtual
defaultFont(int style) constQsciLexerBashvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerBashvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerBashvirtual
DoubleQuotedString enum valueQsciLexerBash
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
Error enum valueQsciLexerBash
foldComments() constQsciLexerBash
foldCompact() constQsciLexerBash
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
HereDocumentDelimiter enum valueQsciLexerBash
Identifier enum valueQsciLexerBash
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerBash
keywords(int set) constQsciLexerBashvirtual
language() constQsciLexerBashvirtual
lexer() constQsciLexerBashvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerBash
Operator enum valueQsciLexerBash
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
ParameterExpansion enum valueQsciLexerBash
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerBash(QObject *parent=0)QsciLexerBash
readProperties(QSettings &qs, const QString &prefix)QsciLexerBashprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerBashvirtual
Scalar enum valueQsciLexerBash
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerBashvirtualslot
setFoldCompact(bool fold)QsciLexerBashvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SingleQuotedHereDocument enum valueQsciLexerBash
SingleQuotedString enum valueQsciLexerBash
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexerBashvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerBashprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerBash()QsciLexerBashvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerBash.html ================================================ QScintilla: QsciLexerBash Class Reference
QScintilla  2.12.1

#include <qscilexerbash.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Error = 1, Comment = 2,
  Number = 3, Keyword = 4, DoubleQuotedString = 5,
  SingleQuotedString = 6, Operator = 7, Identifier = 8,
  Scalar = 9, ParameterExpansion = 10, Backticks = 11,
  HereDocumentDelimiter = 12, SingleQuotedHereDocument = 13
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerBash (QObject *parent=0)
 
virtual ~QsciLexerBash ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerBash class encapsulates the Scintilla Bash lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Bash lexer.

Enumerator
Default 

The default.

Error 

An error.

Comment 

A comment.

Number 

A number.

Keyword 

A keyword.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

Operator 

An operator.

Identifier 

An identifier.

Scalar 

A scalar.

ParameterExpansion 

Parameter expansion.

Backticks 

Backticks.

HereDocumentDelimiter 

A here document delimiter.

SingleQuotedHereDocument 

A single quoted here document.

Constructor & Destructor Documentation

◆ QsciLexerBash()

QsciLexerBash::QsciLexerBash ( QObject *  parent = 0)

Construct a QsciLexerBash with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerBash::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerBash::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerBash::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerBash::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerBash::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerBash::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerBash::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerBash::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldComments

virtual void QsciLexerBash::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerBash::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerBash::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerBash::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerBatch-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerBatch Member List

This is the complete list of members for QsciLexerBatch, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexerBatchvirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerBatch
Default enum valueQsciLexerBatch
defaultColor(int style) constQsciLexerBatchvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerBatchvirtual
defaultFont(int style) constQsciLexerBatchvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerBatchvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerBatchvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
ExternalCommand enum valueQsciLexerBatch
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
HideCommandChar enum valueQsciLexerBatch
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerBatch
keywords(int set) constQsciLexerBatchvirtual
Label enum valueQsciLexerBatch
language() constQsciLexerBatchvirtual
lexer() constQsciLexerBatchvirtual
lexerId() constQsciLexervirtual
Operator enum valueQsciLexerBatch
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerBatch(QObject *parent=0)QsciLexerBatch
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
Variable enum valueQsciLexerBatch
wordCharacters() constQsciLexerBatchvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerBatch()QsciLexerBatchvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerBatch.html ================================================ QScintilla: QsciLexerBatch Class Reference
QScintilla  2.12.1
QsciLexerBatch Class Reference

#include <qscilexerbatch.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, Keyword = 2,
  Label = 3, HideCommandChar = 4, ExternalCommand = 5,
  Variable = 6, Operator = 7
}
 

Public Member Functions

 QsciLexerBatch (QObject *parent=0)
 
virtual ~QsciLexerBatch ()
 
const char * language () const
 
const char * lexer () const
 
const char * wordCharacters () const
 
bool caseSensitive () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerBatch class encapsulates the Scintilla batch file lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the batch file lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Keyword 

A keyword.

Label 

A label.

HideCommandChar 

An hide command character.

ExternalCommand 

An external command .

Variable 

A variable.

Operator 

An operator.

Constructor & Destructor Documentation

◆ QsciLexerBatch()

QsciLexerBatch::QsciLexerBatch ( QObject *  parent = 0)

Construct a QsciLexerBatch with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerBatch::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerBatch::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerBatch::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerBatch::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerBatch::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerCMake-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerCMake Member List

This is the complete list of members for QsciLexerCMake, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
BlockForeach enum valueQsciLexerCMake
BlockIf enum valueQsciLexerCMake
blockLookback() constQsciLexervirtual
BlockMacro enum valueQsciLexerCMake
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
BlockWhile enum valueQsciLexerCMake
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCMake
Default enum valueQsciLexerCMake
defaultColor(int style) constQsciLexerCMakevirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerCMakevirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerCMakevirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerCMakevirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldAtElse() constQsciLexerCMake
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Function enum valueQsciLexerCMake
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexerCMakevirtual
KeywordSet3 enum valueQsciLexerCMake
Label enum valueQsciLexerCMake
language() constQsciLexerCMakevirtual
lexer() constQsciLexerCMakevirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerCMake
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCMake(QObject *parent=0)QsciLexerCMake
readProperties(QSettings &qs, const QString &prefix)QsciLexerCMakeprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCMakevirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerCMakevirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
String enum valueQsciLexerCMake
StringLeftQuote enum valueQsciLexerCMake
StringRightQuote enum valueQsciLexerCMake
StringVariable enum valueQsciLexerCMake
styleBitsNeeded() constQsciLexervirtual
Variable enum valueQsciLexerCMake
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCMakeprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCMake()QsciLexerCMakevirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerCMake.html ================================================ QScintilla: QsciLexerCMake Class Reference
QScintilla  2.12.1

#include <qscilexercmake.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, String = 2,
  StringLeftQuote = 3, StringRightQuote = 4, Function = 5,
  Variable = 6, Label = 7, KeywordSet3 = 8,
  BlockWhile = 9, BlockForeach = 10, BlockIf = 11,
  BlockMacro = 12, StringVariable = 13, Number = 14
}
 

Public Slots

virtual void setFoldAtElse (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerCMake (QObject *parent=0)
 
virtual ~QsciLexerCMake ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldAtElse () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerCMake class encapsulates the Scintilla CMake lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the CMake lexer.

Enumerator
Default 

The default.

Comment 

A comment.

String 

A string.

StringLeftQuote 

A left quoted string.

StringRightQuote 

A right quoted string.

Function 

A function. (Defined by keyword set number 1.)

Variable 

A variable. (Defined by keyword set number 2.)

Label 

A label.

KeywordSet3 

A keyword defined in keyword set number 3. The class must be sub-classed and re-implement keywords() to make use of this style.

BlockWhile 

A WHILE block.

BlockForeach 

A FOREACH block.

BlockIf 

An IF block.

BlockMacro 

A MACRO block.

StringVariable 

A variable within a string.

Number 

A number.

Constructor & Destructor Documentation

◆ QsciLexerCMake()

QsciLexerCMake::QsciLexerCMake ( QObject *  parent = 0)

Construct a QsciLexerCMake with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerCMake::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerCMake::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerCMake::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerCMake::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerCMake::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerCMake::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldAtElse()

bool QsciLexerCMake::foldAtElse ( ) const

Returns true if ELSE blocks can be folded.

See also
setFoldAtElse()

◆ setFoldAtElse

virtual void QsciLexerCMake::setFoldAtElse ( bool  fold)
virtualslot

If fold is true then ELSE blocks can be folded. The default is false.

See also
foldAtElse()

◆ readProperties()

bool QsciLexerCMake::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerCMake::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerCPP-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerCPP Member List

This is the complete list of members for QsciLexerCPP, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerCPPvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerCPPvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerCPPvirtual
blockStartKeyword(int *style=0) constQsciLexerCPPvirtual
braceStyle() constQsciLexerCPPvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCPP
CommentDoc enum valueQsciLexerCPP
CommentDocKeyword enum valueQsciLexerCPP
CommentDocKeywordError enum valueQsciLexerCPP
CommentLine enum valueQsciLexerCPP
CommentLineDoc enum valueQsciLexerCPP
Default enum valueQsciLexerCPP
defaultColor(int style) constQsciLexerCPPvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerCPPvirtual
defaultFont(int style) constQsciLexerCPPvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerCPPvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerCPPvirtual
dollarsAllowed() constQsciLexerCPPinline
DoubleQuotedString enum valueQsciLexerCPP
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
EscapeSequence enum valueQsciLexerCPP
foldAtElse() constQsciLexerCPPinline
foldComments() constQsciLexerCPPinline
foldCompact() constQsciLexerCPPinline
foldPreprocessor() constQsciLexerCPPinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
GlobalClass enum valueQsciLexerCPP
HashQuotedString enum valueQsciLexerCPP
highlightBackQuotedStrings() constQsciLexerCPPinline
highlightEscapeSequences() constQsciLexerCPPinline
highlightHashQuotedStrings() constQsciLexerCPPinline
highlightTripleQuotedStrings() constQsciLexerCPPinline
Identifier enum valueQsciLexerCPP
InactiveComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeywordError enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLine enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDefault enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDoubleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveEscapeSequence enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveGlobalClass enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveHashQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveIdentifier enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeywordSet2 enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveNumber enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveOperator enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessor enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRawString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRegex enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveSingleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTaskMarker enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTripleQuotedVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUnclosedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUserLiteral enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUUID enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerCPP
keywords(int set) constQsciLexerCPPvirtual
KeywordSet2 enum valueQsciLexerCPP
language() constQsciLexerCPPvirtual
lexer() constQsciLexerCPPvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerCPP
Operator enum valueQsciLexerCPP
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerCPP
PreProcessorComment enum valueQsciLexerCPP
PreProcessorCommentLineDoc enum valueQsciLexerCPP
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCPP(QObject *parent=0, bool caseInsensitiveKeywords=false)QsciLexerCPP
RawString enum valueQsciLexerCPP
readProperties(QSettings &qs, const QString &prefix)QsciLexerCPPprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCPPvirtual
Regex enum valueQsciLexerCPP
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDollarsAllowed(bool allowed)QsciLexerCPP
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerCPPvirtualslot
setFoldComments(bool fold)QsciLexerCPPvirtualslot
setFoldCompact(bool fold)QsciLexerCPPvirtualslot
setFoldPreprocessor(bool fold)QsciLexerCPPvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHighlightBackQuotedStrings(bool enabled)QsciLexerCPP
setHighlightEscapeSequences(bool enabled)QsciLexerCPP
setHighlightHashQuotedStrings(bool enabled)QsciLexerCPP
setHighlightTripleQuotedStrings(bool enabled)QsciLexerCPP
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStylePreprocessor(bool style)QsciLexerCPPvirtualslot
setVerbatimStringEscapeSequencesAllowed(bool allowed)QsciLexerCPP
SingleQuotedString enum valueQsciLexerCPP
styleBitsNeeded() constQsciLexervirtual
stylePreprocessor() constQsciLexerCPPinline
TaskMarker enum valueQsciLexerCPP
TripleQuotedVerbatimString enum valueQsciLexerCPP
UnclosedString enum valueQsciLexerCPP
UserLiteral enum valueQsciLexerCPP
UUID enum valueQsciLexerCPP
VerbatimString enum valueQsciLexerCPP
verbatimStringEscapeSequencesAllowed() constQsciLexerCPPinline
wordCharacters() constQsciLexerCPPvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCPPprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCPP()QsciLexerCPPvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerCPP.html ================================================ QScintilla: QsciLexerCPP Class Reference
QScintilla  2.12.1

#include <qscilexercpp.h>

Inherits QsciLexer.

Inherited by QsciLexerCSharp, QsciLexerIDL, QsciLexerJava, and QsciLexerJavaScript.

Public Types

enum  {
  Default = 0, InactiveDefault = Default + 64, Comment = 1,
  InactiveComment = Comment + 64, CommentLine = 2, InactiveCommentLine = CommentLine + 64,
  CommentDoc = 3, InactiveCommentDoc = CommentDoc + 64, Number = 4,
  InactiveNumber = Number + 64, Keyword = 5, InactiveKeyword = Keyword + 64,
  DoubleQuotedString = 6, InactiveDoubleQuotedString = DoubleQuotedString + 64, SingleQuotedString = 7,
  InactiveSingleQuotedString = SingleQuotedString + 64, UUID = 8, InactiveUUID = UUID + 64,
  PreProcessor = 9, InactivePreProcessor = PreProcessor + 64, Operator = 10,
  InactiveOperator = Operator + 64, Identifier = 11, InactiveIdentifier = Identifier + 64,
  UnclosedString = 12, InactiveUnclosedString = UnclosedString + 64, VerbatimString = 13,
  InactiveVerbatimString = VerbatimString + 64, Regex = 14, InactiveRegex = Regex + 64,
  CommentLineDoc = 15, InactiveCommentLineDoc = CommentLineDoc + 64, KeywordSet2 = 16,
  InactiveKeywordSet2 = KeywordSet2 + 64, CommentDocKeyword = 17, InactiveCommentDocKeyword = CommentDocKeyword + 64,
  CommentDocKeywordError = 18, InactiveCommentDocKeywordError = CommentDocKeywordError + 64, GlobalClass = 19,
  InactiveGlobalClass = GlobalClass + 64, RawString = 20, InactiveRawString = RawString + 64,
  TripleQuotedVerbatimString = 21, InactiveTripleQuotedVerbatimString = TripleQuotedVerbatimString + 64, HashQuotedString = 22,
  InactiveHashQuotedString = HashQuotedString + 64, PreProcessorComment = 23, InactivePreProcessorComment = PreProcessorComment + 64,
  PreProcessorCommentLineDoc = 24, InactivePreProcessorCommentLineDoc = PreProcessorCommentLineDoc + 64, UserLiteral = 25,
  InactiveUserLiteral = UserLiteral + 64, TaskMarker = 26, InactiveTaskMarker = TaskMarker + 64,
  EscapeSequence = 27, InactiveEscapeSequence = EscapeSequence + 64
}
 

Public Slots

virtual void setFoldAtElse (bool fold)
 
virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
virtual void setStylePreprocessor (bool style)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerCPP (QObject *parent=0, bool caseInsensitiveKeywords=false)
 
virtual ~QsciLexerCPP ()
 
const char * language () const
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
bool stylePreprocessor () const
 
void setDollarsAllowed (bool allowed)
 
bool dollarsAllowed () const
 
void setHighlightTripleQuotedStrings (bool enabled)
 
bool highlightTripleQuotedStrings () const
 
void setHighlightHashQuotedStrings (bool enabled)
 
bool highlightHashQuotedStrings () const
 
void setHighlightBackQuotedStrings (bool enabled)
 
bool highlightBackQuotedStrings () const
 
void setHighlightEscapeSequences (bool enabled)
 
bool highlightEscapeSequences () const
 
void setVerbatimStringEscapeSequencesAllowed (bool allowed)
 
bool verbatimStringEscapeSequencesAllowed () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerCPP class encapsulates the Scintilla C++ lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the C++ lexer.

Enumerator
Default 

The default.

Comment 

A C comment.

CommentLine 

A C++ comment line.

CommentDoc 

A JavaDoc/Doxygen style C comment.

Number 

A number.

Keyword 

A keyword.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

UUID 

An IDL UUID.

PreProcessor 

A pre-processor block.

Operator 

An operator.

Identifier 

An identifier.

UnclosedString 

The end of a line where a string is not closed.

VerbatimString 

A C# verbatim string.

Regex 

A JavaScript regular expression.

CommentLineDoc 

A JavaDoc/Doxygen style C++ comment line.

KeywordSet2 

A keyword defined in keyword set number 2. The class must be sub-classed and re-implement keywords() to make use of this style.

CommentDocKeyword 

A JavaDoc/Doxygen keyword.

CommentDocKeywordError 

A JavaDoc/Doxygen keyword error.

GlobalClass 

A global class or typedef defined in keyword set number 5. The class must be sub-classed and re-implement keywords() to make use of this style.

RawString 

A C++ raw string.

TripleQuotedVerbatimString 

A Vala triple-quoted verbatim string.

HashQuotedString 

A Pike hash-quoted string.

PreProcessorComment 

A pre-processor stream comment.

PreProcessorCommentLineDoc 

A JavaDoc/Doxygen style pre-processor comment.

UserLiteral 

A user-defined literal.

TaskMarker 

A task marker.

EscapeSequence 

An escape sequence.

Constructor & Destructor Documentation

◆ QsciLexerCPP()

QsciLexerCPP::QsciLexerCPP ( QObject *  parent = 0,
bool  caseInsensitiveKeywords = false 
)

Construct a QsciLexerCPP with parent parent. parent is typically the QsciScintilla instance. caseInsensitiveKeywords is true if the lexer ignores the case of keywords.

Member Function Documentation

◆ lexer()

const char* QsciLexerCPP::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ autoCompletionWordSeparators()

QStringList QsciLexerCPP::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

◆ blockEnd()

const char* QsciLexerCPP::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerCPP::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStartKeyword()

const char* QsciLexerCPP::blockStartKeyword ( int *  style = 0) const
virtual

Returns a space separated list of keywords in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerCPP::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

Reimplemented in QsciLexerJavaScript, QsciLexerIDL, and QsciLexerCSharp.

◆ defaultPaper()

QColor QsciLexerCPP::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

Reimplemented in QsciLexerJavaScript, and QsciLexerCSharp.

◆ keywords()

const char* QsciLexerCPP::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string. Set 1 is normally used for primary keywords and identifiers. Set 2 is normally used for secondary keywords and identifiers. Set 3 is normally used for documentation comment keywords. Set 4 is normally used for global classes and typedefs.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerJavaScript, QsciLexerJava, QsciLexerIDL, and QsciLexerCSharp.

◆ description()

QString QsciLexerCPP::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

Reimplemented in QsciLexerJavaScript, QsciLexerIDL, and QsciLexerCSharp.

◆ refreshProperties()

void QsciLexerCPP::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldAtElse()

bool QsciLexerCPP::foldAtElse ( ) const
inline

Returns true if "} else {" lines can be folded.

See also
setFoldAtElse()

◆ foldComments()

bool QsciLexerCPP::foldComments ( ) const
inline

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerCPP::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ foldPreprocessor()

bool QsciLexerCPP::foldPreprocessor ( ) const
inline

Returns true if preprocessor blocks can be folded.

See also
setFoldPreprocessor()

◆ stylePreprocessor()

bool QsciLexerCPP::stylePreprocessor ( ) const
inline

Returns true if preprocessor lines (after the preprocessor directive) are styled.

See also
setStylePreprocessor()

◆ setDollarsAllowed()

void QsciLexerCPP::setDollarsAllowed ( bool  allowed)

If allowed is true then '$' characters are allowed in identifier names. The default is true.

See also
dollarsAllowed()

◆ dollarsAllowed()

bool QsciLexerCPP::dollarsAllowed ( ) const
inline

Returns true if '$' characters are allowed in identifier names.

See also
setDollarsAllowed()

◆ setHighlightTripleQuotedStrings()

void QsciLexerCPP::setHighlightTripleQuotedStrings ( bool  enabled)

If enabled is true then triple quoted strings are highlighted. The default is false.

See also
highlightTripleQuotedStrings()

◆ highlightTripleQuotedStrings()

bool QsciLexerCPP::highlightTripleQuotedStrings ( ) const
inline

Returns true if triple quoted strings should be highlighted.

See also
setHighlightTripleQuotedStrings()

◆ setHighlightHashQuotedStrings()

void QsciLexerCPP::setHighlightHashQuotedStrings ( bool  enabled)

If enabled is true then hash quoted strings are highlighted. The default is false.

See also
highlightHashQuotedStrings()

◆ highlightHashQuotedStrings()

bool QsciLexerCPP::highlightHashQuotedStrings ( ) const
inline

Returns true if hash quoted strings should be highlighted.

See also
setHighlightHashQuotedStrings()

◆ setHighlightBackQuotedStrings()

void QsciLexerCPP::setHighlightBackQuotedStrings ( bool  enabled)

If enabled is true then back-quoted raw strings are highlighted. The default is false.

See also
highlightBackQuotedStrings()

◆ highlightBackQuotedStrings()

bool QsciLexerCPP::highlightBackQuotedStrings ( ) const
inline

Returns true if back-quoted raw strings should be highlighted.

See also
setHighlightBackQuotedStrings()

◆ setHighlightEscapeSequences()

void QsciLexerCPP::setHighlightEscapeSequences ( bool  enabled)

If enabled is true then escape sequences in strings are highlighted. The default is false.

See also
highlightEscapeSequences()

◆ highlightEscapeSequences()

bool QsciLexerCPP::highlightEscapeSequences ( ) const
inline

Returns true if escape sequences in strings should be highlighted.

See also
setHighlightEscapeSequences()

◆ setVerbatimStringEscapeSequencesAllowed()

void QsciLexerCPP::setVerbatimStringEscapeSequencesAllowed ( bool  allowed)

If allowed is true then escape sequences are allowed in verbatim strings. The default is false.

See also
verbatimStringEscapeSequencesAllowed()

◆ verbatimStringEscapeSequencesAllowed()

bool QsciLexerCPP::verbatimStringEscapeSequencesAllowed ( ) const
inline

Returns true if hash quoted strings should be highlighted.

See also
setVerbatimStringEscapeSequencesAllowed()

◆ setFoldAtElse

virtual void QsciLexerCPP::setFoldAtElse ( bool  fold)
virtualslot

If fold is true then "} else {" lines can be folded. The default is false.

See also
foldAtElse()

◆ setFoldComments

virtual void QsciLexerCPP::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerCPP::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ setFoldPreprocessor

virtual void QsciLexerCPP::setFoldPreprocessor ( bool  fold)
virtualslot

If fold is true then preprocessor blocks can be folded. The default is true.

See also
foldPreprocessor()

◆ setStylePreprocessor

virtual void QsciLexerCPP::setStylePreprocessor ( bool  style)
virtualslot

If style is true then preprocessor lines (after the preprocessor directive) are styled. The default is false.

See also
stylePreprocessor()

◆ readProperties()

bool QsciLexerCPP::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
writeProperties()

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerCPP::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
readProperties()

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerCSS-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerCSS Member List

This is the complete list of members for QsciLexerCSS, including all inherited members.

apis() constQsciLexer
AtRule enum valueQsciLexerCSS
Attribute enum valueQsciLexerCSS
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerCSSvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerCSSvirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
ClassSelector enum valueQsciLexerCSS
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCSS
CSS1Property enum valueQsciLexerCSS
CSS2Property enum valueQsciLexerCSS
CSS3Property enum valueQsciLexerCSS
Default enum valueQsciLexerCSS
defaultColor(int style) constQsciLexerCSSvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerCSSvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerCSSvirtual
DoubleQuotedString enum valueQsciLexerCSS
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
ExtendedCSSProperty enum valueQsciLexerCSS
ExtendedPseudoClass enum valueQsciLexerCSS
ExtendedPseudoElement enum valueQsciLexerCSS
foldComments() constQsciLexerCSS
foldCompact() constQsciLexerCSS
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
HSSLanguage() constQsciLexerCSSinline
IDSelector enum valueQsciLexerCSS
Important enum valueQsciLexerCSS
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexerCSSvirtual
language() constQsciLexerCSSvirtual
LessLanguage() constQsciLexerCSSinline
lexer() constQsciLexerCSSvirtual
lexerId() constQsciLexervirtual
MediaRule enum valueQsciLexerCSS
Operator enum valueQsciLexerCSS
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
PseudoClass enum valueQsciLexerCSS
PseudoElement enum valueQsciLexerCSS
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCSS(QObject *parent=0)QsciLexerCSS
readProperties(QSettings &qs, const QString &prefix)QsciLexerCSSprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCSSvirtual
SCSSLanguage() constQsciLexerCSSinline
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerCSSvirtualslot
setFoldCompact(bool fold)QsciLexerCSSvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHSSLanguage(bool enabled)QsciLexerCSS
setLessLanguage(bool enabled)QsciLexerCSS
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setSCSSLanguage(bool enabled)QsciLexerCSS
SingleQuotedString enum valueQsciLexerCSS
styleBitsNeeded() constQsciLexervirtual
Tag enum valueQsciLexerCSS
UnknownProperty enum valueQsciLexerCSS
UnknownPseudoClass enum valueQsciLexerCSS
Value enum valueQsciLexerCSS
Variable enum valueQsciLexerCSS
wordCharacters() constQsciLexerCSSvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCSSprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCSS()QsciLexerCSSvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerCSS.html ================================================ QScintilla: QsciLexerCSS Class Reference
QScintilla  2.12.1

#include <qscilexercss.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Tag = 1, ClassSelector = 2,
  PseudoClass = 3, UnknownPseudoClass = 4, Operator = 5,
  CSS1Property = 6, UnknownProperty = 7, Value = 8,
  Comment = 9, IDSelector = 10, Important = 11,
  AtRule = 12, DoubleQuotedString = 13, SingleQuotedString = 14,
  CSS2Property = 15, Attribute = 16, CSS3Property = 17,
  PseudoElement = 18, ExtendedCSSProperty = 19, ExtendedPseudoClass = 20,
  ExtendedPseudoElement = 21, MediaRule = 22, Variable = 23
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerCSS (QObject *parent=0)
 
virtual ~QsciLexerCSS ()
 
const char * language () const
 
const char * lexer () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
bool foldCompact () const
 
void setHSSLanguage (bool enabled)
 
bool HSSLanguage () const
 
void setLessLanguage (bool enabled)
 
bool LessLanguage () const
 
void setSCSSLanguage (bool enabled)
 
bool SCSSLanguage () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerCSS class encapsulates the Scintilla CSS lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the CSS lexer.

Enumerator
Default 

The default.

Tag 

A tag.

ClassSelector 

A class selector.

PseudoClass 

A pseudo class. The list of pseudo classes is defined by keyword set 2.

UnknownPseudoClass 

An unknown pseudo class.

Operator 

An operator.

CSS1Property 

A CSS1 property. The list of CSS1 properties is defined by keyword set 1.

UnknownProperty 

An unknown property.

Value 

A value.

Comment 

A comment.

IDSelector 

An ID selector.

Important 

An important value.

AtRule 

An -rule.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

CSS2Property 

A CSS2 property. The list of CSS2 properties is defined by keyword set 3.

Attribute 

An attribute.

CSS3Property 

A CSS3 property. The list of CSS3 properties is defined by keyword set 4.

PseudoElement 

A pseudo element. The list of pseudo elements is defined by keyword set 5.

ExtendedCSSProperty 

An extended (browser specific) CSS property. The list of extended CSS properties is defined by keyword set 6.

ExtendedPseudoClass 

An extended (browser specific) pseudo class. The list of extended pseudo classes is defined by keyword set 7.

ExtendedPseudoElement 

An extended (browser specific) pseudo element. The list of extended pseudo elements is defined by keyword set 8.

MediaRule 

A media rule.

Variable 

A variable.

Constructor & Destructor Documentation

◆ QsciLexerCSS()

QsciLexerCSS::QsciLexerCSS ( QObject *  parent = 0)

Construct a QsciLexerCSS with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerCSS::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ blockEnd()

const char* QsciLexerCSS::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerCSS::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerCSS::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerCSS::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerCSS::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerCSS::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerCSS::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setHSSLanguage()

void QsciLexerCSS::setHSSLanguage ( bool  enabled)

If enabled is true then support for HSS is enabled. The default is false.

See also
HSSLanguage()

◆ HSSLanguage()

bool QsciLexerCSS::HSSLanguage ( ) const
inline

Returns true if support for HSS is enabled.

See also
setHSSLanguage()

◆ setLessLanguage()

void QsciLexerCSS::setLessLanguage ( bool  enabled)

If enabled is true then support for Less CSS is enabled. The default is false.

See also
LessLanguage()

◆ LessLanguage()

bool QsciLexerCSS::LessLanguage ( ) const
inline

Returns true if support for Less CSS is enabled.

See also
setLessLanguage()

◆ setSCSSLanguage()

void QsciLexerCSS::setSCSSLanguage ( bool  enabled)

If enabled is true then support for Sassy CSS is enabled. The default is false.

See also
SCSSLanguage()

◆ SCSSLanguage()

bool QsciLexerCSS::SCSSLanguage ( ) const
inline

Returns true if support for Sassy CSS is enabled.

See also
setSCSSLanguage()

◆ setFoldComments

virtual void QsciLexerCSS::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerCSS::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerCSS::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerCSS::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerCSharp-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerCSharp Member List

This is the complete list of members for QsciLexerCSharp, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerCPPvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerCPPvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerCPPvirtual
blockStartKeyword(int *style=0) constQsciLexerCPPvirtual
braceStyle() constQsciLexerCPPvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCPP
CommentDoc enum valueQsciLexerCPP
CommentDocKeyword enum valueQsciLexerCPP
CommentDocKeywordError enum valueQsciLexerCPP
CommentLine enum valueQsciLexerCPP
CommentLineDoc enum valueQsciLexerCPP
Default enum valueQsciLexerCPP
defaultColor(int style) constQsciLexerCSharpvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerCSharpvirtual
defaultFont(int style) constQsciLexerCSharpvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerCSharpvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerCSharpvirtual
dollarsAllowed() constQsciLexerCPPinline
DoubleQuotedString enum valueQsciLexerCPP
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
EscapeSequence enum valueQsciLexerCPP
foldAtElse() constQsciLexerCPPinline
foldComments() constQsciLexerCPPinline
foldCompact() constQsciLexerCPPinline
foldPreprocessor() constQsciLexerCPPinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
GlobalClass enum valueQsciLexerCPP
HashQuotedString enum valueQsciLexerCPP
highlightBackQuotedStrings() constQsciLexerCPPinline
highlightEscapeSequences() constQsciLexerCPPinline
highlightHashQuotedStrings() constQsciLexerCPPinline
highlightTripleQuotedStrings() constQsciLexerCPPinline
Identifier enum valueQsciLexerCPP
InactiveComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeywordError enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLine enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDefault enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDoubleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveEscapeSequence enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveGlobalClass enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveHashQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveIdentifier enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeywordSet2 enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveNumber enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveOperator enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessor enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRawString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRegex enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveSingleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTaskMarker enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTripleQuotedVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUnclosedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUserLiteral enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUUID enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerCPP
keywords(int set) constQsciLexerCSharpvirtual
KeywordSet2 enum valueQsciLexerCPP
language() constQsciLexerCSharpvirtual
lexer() constQsciLexerCPPvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerCPP
Operator enum valueQsciLexerCPP
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerCPP
PreProcessorComment enum valueQsciLexerCPP
PreProcessorCommentLineDoc enum valueQsciLexerCPP
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCPP(QObject *parent=0, bool caseInsensitiveKeywords=false)QsciLexerCPP
QsciLexerCSharp(QObject *parent=0)QsciLexerCSharp
RawString enum valueQsciLexerCPP
readProperties(QSettings &qs, const QString &prefix)QsciLexerCPPprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCPPvirtual
Regex enum valueQsciLexerCPP
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDollarsAllowed(bool allowed)QsciLexerCPP
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerCPPvirtualslot
setFoldComments(bool fold)QsciLexerCPPvirtualslot
setFoldCompact(bool fold)QsciLexerCPPvirtualslot
setFoldPreprocessor(bool fold)QsciLexerCPPvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHighlightBackQuotedStrings(bool enabled)QsciLexerCPP
setHighlightEscapeSequences(bool enabled)QsciLexerCPP
setHighlightHashQuotedStrings(bool enabled)QsciLexerCPP
setHighlightTripleQuotedStrings(bool enabled)QsciLexerCPP
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStylePreprocessor(bool style)QsciLexerCPPvirtualslot
setVerbatimStringEscapeSequencesAllowed(bool allowed)QsciLexerCPP
SingleQuotedString enum valueQsciLexerCPP
styleBitsNeeded() constQsciLexervirtual
stylePreprocessor() constQsciLexerCPPinline
TaskMarker enum valueQsciLexerCPP
TripleQuotedVerbatimString enum valueQsciLexerCPP
UnclosedString enum valueQsciLexerCPP
UserLiteral enum valueQsciLexerCPP
UUID enum valueQsciLexerCPP
VerbatimString enum valueQsciLexerCPP
verbatimStringEscapeSequencesAllowed() constQsciLexerCPPinline
wordCharacters() constQsciLexerCPPvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCPPprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCPP()QsciLexerCPPvirtual
~QsciLexerCSharp()QsciLexerCSharpvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerCSharp.html ================================================ QScintilla: QsciLexerCSharp Class Reference
QScintilla  2.12.1
QsciLexerCSharp Class Reference

#include <qscilexercsharp.h>

Inherits QsciLexerCPP.

Public Member Functions

 QsciLexerCSharp (QObject *parent=0)
 
virtual ~QsciLexerCSharp ()
 
const char * language () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexerCPP
 QsciLexerCPP (QObject *parent=0, bool caseInsensitiveKeywords=false)
 
virtual ~QsciLexerCPP ()
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
void refreshProperties ()
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
bool stylePreprocessor () const
 
void setDollarsAllowed (bool allowed)
 
bool dollarsAllowed () const
 
void setHighlightTripleQuotedStrings (bool enabled)
 
bool highlightTripleQuotedStrings () const
 
void setHighlightHashQuotedStrings (bool enabled)
 
bool highlightHashQuotedStrings () const
 
void setHighlightBackQuotedStrings (bool enabled)
 
bool highlightBackQuotedStrings () const
 
void setHighlightEscapeSequences (bool enabled)
 
bool highlightEscapeSequences () const
 
void setVerbatimStringEscapeSequencesAllowed (bool allowed)
 
bool verbatimStringEscapeSequencesAllowed () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Types inherited from QsciLexerCPP
enum  {
  Default = 0, InactiveDefault = Default + 64, Comment = 1,
  InactiveComment = Comment + 64, CommentLine = 2, InactiveCommentLine = CommentLine + 64,
  CommentDoc = 3, InactiveCommentDoc = CommentDoc + 64, Number = 4,
  InactiveNumber = Number + 64, Keyword = 5, InactiveKeyword = Keyword + 64,
  DoubleQuotedString = 6, InactiveDoubleQuotedString = DoubleQuotedString + 64, SingleQuotedString = 7,
  InactiveSingleQuotedString = SingleQuotedString + 64, UUID = 8, InactiveUUID = UUID + 64,
  PreProcessor = 9, InactivePreProcessor = PreProcessor + 64, Operator = 10,
  InactiveOperator = Operator + 64, Identifier = 11, InactiveIdentifier = Identifier + 64,
  UnclosedString = 12, InactiveUnclosedString = UnclosedString + 64, VerbatimString = 13,
  InactiveVerbatimString = VerbatimString + 64, Regex = 14, InactiveRegex = Regex + 64,
  CommentLineDoc = 15, InactiveCommentLineDoc = CommentLineDoc + 64, KeywordSet2 = 16,
  InactiveKeywordSet2 = KeywordSet2 + 64, CommentDocKeyword = 17, InactiveCommentDocKeyword = CommentDocKeyword + 64,
  CommentDocKeywordError = 18, InactiveCommentDocKeywordError = CommentDocKeywordError + 64, GlobalClass = 19,
  InactiveGlobalClass = GlobalClass + 64, RawString = 20, InactiveRawString = RawString + 64,
  TripleQuotedVerbatimString = 21, InactiveTripleQuotedVerbatimString = TripleQuotedVerbatimString + 64, HashQuotedString = 22,
  InactiveHashQuotedString = HashQuotedString + 64, PreProcessorComment = 23, InactivePreProcessorComment = PreProcessorComment + 64,
  PreProcessorCommentLineDoc = 24, InactivePreProcessorCommentLineDoc = PreProcessorCommentLineDoc + 64, UserLiteral = 25,
  InactiveUserLiteral = UserLiteral + 64, TaskMarker = 26, InactiveTaskMarker = TaskMarker + 64,
  EscapeSequence = 27, InactiveEscapeSequence = EscapeSequence + 64
}
 
- Public Slots inherited from QsciLexerCPP
virtual void setFoldAtElse (bool fold)
 
virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
virtual void setStylePreprocessor (bool style)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexerCPP
bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerCSharp class encapsulates the Scintilla C# lexer.

Constructor & Destructor Documentation

◆ QsciLexerCSharp()

QsciLexerCSharp::QsciLexerCSharp ( QObject *  parent = 0)

Construct a QsciLexerCSharp with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ defaultColor()

QColor QsciLexerCSharp::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexerCPP.

◆ defaultPaper()

QColor QsciLexerCSharp::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexerCPP.

◆ keywords()

const char* QsciLexerCSharp::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexerCPP.

◆ description()

QString QsciLexerCSharp::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Reimplemented from QsciLexerCPP.

================================================ FILE: src/qscint/doc/html/classQsciLexerCoffeeScript-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerCoffeeScript Member List

This is the complete list of members for QsciLexerCoffeeScript, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerCoffeeScriptvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerCoffeeScriptvirtual
blockLookback() constQsciLexervirtual
BlockRegex enum valueQsciLexerCoffeeScript
BlockRegexComment enum valueQsciLexerCoffeeScript
blockStart(int *style=0) constQsciLexerCoffeeScriptvirtual
blockStartKeyword(int *style=0) constQsciLexerCoffeeScriptvirtual
braceStyle() constQsciLexerCoffeeScriptvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCoffeeScript
CommentBlock enum valueQsciLexerCoffeeScript
CommentDoc enum valueQsciLexerCoffeeScript
CommentDocKeyword enum valueQsciLexerCoffeeScript
CommentDocKeywordError enum valueQsciLexerCoffeeScript
CommentLine enum valueQsciLexerCoffeeScript
CommentLineDoc enum valueQsciLexerCoffeeScript
Default enum valueQsciLexerCoffeeScript
defaultColor(int style) constQsciLexerCoffeeScriptvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerCoffeeScriptvirtual
defaultFont(int style) constQsciLexerCoffeeScriptvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerCoffeeScriptvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerCoffeeScriptvirtual
dollarsAllowed() constQsciLexerCoffeeScriptinline
DoubleQuotedString enum valueQsciLexerCoffeeScript
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldComments() constQsciLexerCoffeeScriptinline
foldCompact() constQsciLexerCoffeeScriptinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
GlobalClass enum valueQsciLexerCoffeeScript
Identifier enum valueQsciLexerCoffeeScript
indentationGuideView() constQsciLexervirtual
InstanceProperty enum valueQsciLexerCoffeeScript
Keyword enum valueQsciLexerCoffeeScript
keywords(int set) constQsciLexerCoffeeScriptvirtual
KeywordSet2 enum valueQsciLexerCoffeeScript
language() constQsciLexerCoffeeScriptvirtual
lexer() constQsciLexerCoffeeScriptvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerCoffeeScript
Operator enum valueQsciLexerCoffeeScript
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerCoffeeScript
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCoffeeScript(QObject *parent=0)QsciLexerCoffeeScript
readProperties(QSettings &qs, const QString &prefix)QsciLexerCoffeeScriptprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCoffeeScriptvirtual
Regex enum valueQsciLexerCoffeeScript
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDollarsAllowed(bool allowed)QsciLexerCoffeeScript
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerCoffeeScript
setFoldCompact(bool fold)QsciLexerCoffeeScript
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStylePreprocessor(bool style)QsciLexerCoffeeScript
SingleQuotedString enum valueQsciLexerCoffeeScript
styleBitsNeeded() constQsciLexervirtual
stylePreprocessor() constQsciLexerCoffeeScriptinline
UnclosedString enum valueQsciLexerCoffeeScript
UUID enum valueQsciLexerCoffeeScript
VerbatimString enum valueQsciLexerCoffeeScript
wordCharacters() constQsciLexerCoffeeScriptvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCoffeeScriptprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCoffeeScript()QsciLexerCoffeeScriptvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerCoffeeScript.html ================================================ QScintilla: QsciLexerCoffeeScript Class Reference
QScintilla  2.12.1

#include <qscilexercoffeescript.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, CommentLine = 2,
  CommentDoc = 3, Number = 4, Keyword = 5,
  DoubleQuotedString = 6, SingleQuotedString = 7, UUID = 8,
  PreProcessor = 9, Operator = 10, Identifier = 11,
  UnclosedString = 12, VerbatimString = 13, Regex = 14,
  CommentLineDoc = 15, KeywordSet2 = 16, CommentDocKeyword = 17,
  CommentDocKeywordError = 18, GlobalClass = 19, CommentBlock = 22,
  BlockRegex = 23, BlockRegexComment = 24, InstanceProperty = 25
}
 

Public Member Functions

 QsciLexerCoffeeScript (QObject *parent=0)
 
virtual ~QsciLexerCoffeeScript ()
 
const char * language () const
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool dollarsAllowed () const
 
void setDollarsAllowed (bool allowed)
 
bool foldComments () const
 
void setFoldComments (bool fold)
 
bool foldCompact () const
 
void setFoldCompact (bool fold)
 
bool stylePreprocessor () const
 
void setStylePreprocessor (bool style)
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerCoffeeScript class encapsulates the Scintilla CoffeeScript lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the C++ lexer.

Enumerator
Default 

The default.

Comment 

A C-style comment.

CommentLine 

A C++-style comment line.

CommentDoc 

A JavaDoc/Doxygen C-style comment.

Number 

A number.

Keyword 

A keyword.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

UUID 

An IDL UUID.

PreProcessor 

A pre-processor block.

Operator 

An operator.

Identifier 

An identifier.

UnclosedString 

The end of a line where a string is not closed.

VerbatimString 

A C# verbatim string.

Regex 

A regular expression.

CommentLineDoc 

A JavaDoc/Doxygen C++-style comment line.

KeywordSet2 

A keyword defined in keyword set number 2. The class must be sub-classed and re-implement keywords() to make use of this style.

CommentDocKeyword 

A JavaDoc/Doxygen keyword.

CommentDocKeywordError 

A JavaDoc/Doxygen keyword error defined in keyword set number 3. The class must be sub-classed and re-implement keywords() to make use of this style.

GlobalClass 

A global class defined in keyword set number 4. The class must be sub-classed and re-implement keywords() to make use of this style.

CommentBlock 

A block comment.

BlockRegex 

A block regular expression.

BlockRegexComment 

A block regular expression comment.

InstanceProperty 

An instance property.

Constructor & Destructor Documentation

◆ QsciLexerCoffeeScript()

QsciLexerCoffeeScript::QsciLexerCoffeeScript ( QObject *  parent = 0)

Construct a QsciLexerCoffeeScript with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerCoffeeScript::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ autoCompletionWordSeparators()

QStringList QsciLexerCoffeeScript::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

◆ blockEnd()

const char* QsciLexerCoffeeScript::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerCoffeeScript::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStartKeyword()

const char* QsciLexerCoffeeScript::blockStartKeyword ( int *  style = 0) const
virtual

Returns a space separated list of keywords in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerCoffeeScript::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerCoffeeScript::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerCoffeeScript::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string. Set 1 is normally used for primary keywords and identifiers. Set 2 is normally used for secondary keywords and identifiers. Set 3 is normally used for documentation comment keywords. Set 4 is normally used for global classes and typedefs.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerCoffeeScript::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerCoffeeScript::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ dollarsAllowed()

bool QsciLexerCoffeeScript::dollarsAllowed ( ) const
inline

Returns true if '$' characters are allowed in identifier names.

See also
setDollarsAllowed()

◆ setDollarsAllowed()

void QsciLexerCoffeeScript::setDollarsAllowed ( bool  allowed)

If allowed is true then '$' characters are allowed in identifier names. The default is true.

See also
dollarsAllowed()

◆ foldComments()

bool QsciLexerCoffeeScript::foldComments ( ) const
inline

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ setFoldComments()

void QsciLexerCoffeeScript::setFoldComments ( bool  fold)

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ foldCompact()

bool QsciLexerCoffeeScript::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldCompact()

void QsciLexerCoffeeScript::setFoldCompact ( bool  fold)

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ stylePreprocessor()

bool QsciLexerCoffeeScript::stylePreprocessor ( ) const
inline

Returns true if preprocessor lines (after the preprocessor directive) are styled.

See also
setStylePreprocessor()

◆ setStylePreprocessor()

void QsciLexerCoffeeScript::setStylePreprocessor ( bool  style)

If style is true then preprocessor lines (after the preprocessor directive) are styled. The default is false.

See also
stylePreprocessor()

◆ readProperties()

bool QsciLexerCoffeeScript::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
writeProperties()

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerCoffeeScript::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
readProperties()

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerCustom-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerCustom Member List

This is the complete list of members for QsciLexerCustom, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
defaultColor() constQsciLexer
defaultColor(int style) constQsciLexervirtual
defaultEolFill(int style) constQsciLexervirtual
defaultFont() constQsciLexer
defaultFont(int style) constQsciLexervirtual
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) const =0QsciLexerpure virtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexervirtual
language() const =0QsciLexerpure virtual
lexer() constQsciLexervirtual
lexerId() constQsciLexervirtual
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCustom(QObject *parent=0)QsciLexerCustom
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor)QsciLexerCustomvirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStyling(int length, int style)QsciLexerCustom
setStyling(int length, const QsciStyle &style)QsciLexerCustom
startStyling(int pos, int styleBits=0)QsciLexerCustom
styleBitsNeeded() constQsciLexerCustomvirtual
styleText(int start, int end)=0QsciLexerCustompure virtual
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCustom()QsciLexerCustomvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerCustom.html ================================================ QScintilla: QsciLexerCustom Class Reference
QScintilla  2.12.1
QsciLexerCustom Class Referenceabstract

#include <qscilexercustom.h>

Inherits QsciLexer.

Public Member Functions

 QsciLexerCustom (QObject *parent=0)
 
virtual ~QsciLexerCustom ()
 
void setStyling (int length, int style)
 
void setStyling (int length, const QsciStyle &style)
 
void startStyling (int pos, int styleBits=0)
 
virtual void styleText (int start, int end)=0
 
virtual void setEditor (QsciScintilla *editor)
 
virtual int styleBitsNeeded () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual const char * language () const =0
 
virtual const char * lexer () const
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QString description (int style) const =0
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual QColor defaultColor (int style) const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
virtual QFont defaultFont (int style) const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerCustom class is an abstract class used as a base for new language lexers.

The advantage of implementing a new lexer this way (as opposed to adding the lexer to the underlying Scintilla code) is that it does not require the QScintilla library to be re-compiled. It also makes it possible to integrate external lexers.

All that is necessary to implement a new lexer is to define appropriate styles and to re-implement the styleText() method.

Constructor & Destructor Documentation

◆ QsciLexerCustom()

QsciLexerCustom::QsciLexerCustom ( QObject *  parent = 0)

Construct a QsciLexerCustom with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ setStyling() [1/2]

void QsciLexerCustom::setStyling ( int  length,
int  style 
)

The next length characters starting from the current styling position have their style set to style number style. The current styling position is moved. The styling position is initially set by calling startStyling().

See also
startStyling(), styleText()

◆ setStyling() [2/2]

void QsciLexerCustom::setStyling ( int  length,
const QsciStyle style 
)

The next length characters starting from the current styling position have their style set to style style. The current styling position is moved. The styling position is initially set by calling startStyling().

See also
startStyling(), styleText()

◆ startStyling()

void QsciLexerCustom::startStyling ( int  pos,
int  styleBits = 0 
)

The styling position is set to start. styleBits is unused.

See also
setStyling(), styleBitsNeeded(), styleText()

◆ styleText()

virtual void QsciLexerCustom::styleText ( int  start,
int  end 
)
pure virtual

This is called when the section of text beginning at position start and up to position end needs to be styled. start will always be at the start of a line. The text is styled by calling startStyling() followed by one or more calls to setStyling(). It must be re-implemented by a sub-class.

See also
setStyling(), startStyling(), QsciScintilla::bytes(), QsciScintilla::text()

◆ styleBitsNeeded()

virtual int QsciLexerCustom::styleBitsNeeded ( ) const
virtual

\reimp This re-implementation returns 5 as the number of style bits needed.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerD-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerD Member List

This is the complete list of members for QsciLexerD, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerDvirtual
autoIndentStyle()QsciLexer
BackquoteString enum valueQsciLexerD
blockEnd(int *style=0) constQsciLexerDvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerDvirtual
blockStartKeyword(int *style=0) constQsciLexerDvirtual
braceStyle() constQsciLexerDvirtual
caseSensitive() constQsciLexervirtual
Character enum valueQsciLexerD
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerD
CommentDoc enum valueQsciLexerD
CommentDocKeyword enum valueQsciLexerD
CommentDocKeywordError enum valueQsciLexerD
CommentLine enum valueQsciLexerD
CommentLineDoc enum valueQsciLexerD
CommentNested enum valueQsciLexerD
Default enum valueQsciLexerD
defaultColor(int style) constQsciLexerDvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerDvirtual
defaultFont(int style) constQsciLexerDvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerDvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerDvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldAtElse() constQsciLexerD
foldComments() constQsciLexerD
foldCompact() constQsciLexerD
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerD
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerD
KeywordDoc enum valueQsciLexerD
keywords(int set) constQsciLexerDvirtual
KeywordSecondary enum valueQsciLexerD
KeywordSet5 enum valueQsciLexerD
KeywordSet6 enum valueQsciLexerD
KeywordSet7 enum valueQsciLexerD
language() constQsciLexerDvirtual
lexer() constQsciLexerDvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerD
Operator enum valueQsciLexerD
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerD(QObject *parent=0)QsciLexerD
RawString enum valueQsciLexerD
readProperties(QSettings &qs, const QString &prefix)QsciLexerDprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerDvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerDvirtualslot
setFoldComments(bool fold)QsciLexerDvirtualslot
setFoldCompact(bool fold)QsciLexerDvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
String enum valueQsciLexerD
styleBitsNeeded() constQsciLexervirtual
Typedefs enum valueQsciLexerD
UnclosedString enum valueQsciLexerD
wordCharacters() constQsciLexerDvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerDprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerD()QsciLexerDvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerD.html ================================================ QScintilla: QsciLexerD Class Reference
QScintilla  2.12.1

#include <qscilexerd.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, CommentLine = 2,
  CommentDoc = 3, CommentNested = 4, Number = 5,
  Keyword = 6, KeywordSecondary = 7, KeywordDoc = 8,
  Typedefs = 9, String = 10, UnclosedString = 11,
  Character = 12, Operator = 13, Identifier = 14,
  CommentLineDoc = 15, CommentDocKeyword = 16, CommentDocKeywordError = 17,
  BackquoteString = 18, RawString = 19, KeywordSet5 = 20,
  KeywordSet6 = 21, KeywordSet7 = 22
}
 

Public Slots

virtual void setFoldAtElse (bool fold)
 
virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerD (QObject *parent=0)
 
virtual ~QsciLexerD ()
 
const char * language () const
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerD class encapsulates the Scintilla D lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the D lexer.

Enumerator
Default 

The default.

Comment 

A comment.

CommentLine 

A comment line.

CommentDoc 

A JavaDoc and Doxygen comment.

CommentNested 

A nested comment.

Number 

A number.

Keyword 

A keyword.

KeywordSecondary 

A secondary keyword.

KeywordDoc 

A doc keyword.

Typedefs 

Typedefs and aliases.

String 

A string.

UnclosedString 

The end of a line where a string is not closed.

Character 

A character.

Operator 

An operator.

Identifier 

An identifier.

CommentLineDoc 

A JavaDoc and Doxygen line.

CommentDocKeyword 

A JavaDoc and Doxygen keyword.

CommentDocKeywordError 

A JavaDoc and Doxygen keyword error.

BackquoteString 

A backquoted string.

RawString 

A raw, hexadecimal or delimited string.

KeywordSet5 

A keyword defined in keyword set number 5. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet6 

A keyword defined in keyword set number 6. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet7 

A keyword defined in keyword set number 7. The class must be sub-classed and re-implement keywords() to make use of this style.

Constructor & Destructor Documentation

◆ QsciLexerD()

QsciLexerD::QsciLexerD ( QObject *  parent = 0)

Construct a QsciLexerD with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerD::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ autoCompletionWordSeparators()

QStringList QsciLexerD::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

◆ blockEnd()

const char* QsciLexerD::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerD::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStartKeyword()

const char* QsciLexerD::blockStartKeyword ( int *  style = 0) const
virtual

Returns a space separated list of keywords in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerD::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerD::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerD::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerD::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerD::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldAtElse()

bool QsciLexerD::foldAtElse ( ) const

Returns true if "} else {" lines can be folded.

See also
setFoldAtElse()

◆ foldComments()

bool QsciLexerD::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerD::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldAtElse

virtual void QsciLexerD::setFoldAtElse ( bool  fold)
virtualslot

If fold is true then "} else {" lines can be folded. The default is false.

See also
foldAtElse()

◆ setFoldComments

virtual void QsciLexerD::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerD::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerD::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
writeProperties()

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerD::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
readProperties()

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerDiff-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerDiff Member List

This is the complete list of members for QsciLexerDiff, including all inherited members.

AddingPatchAdded enum valueQsciLexerDiff
AddingPatchRemoved enum valueQsciLexerDiff
apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Command enum valueQsciLexerDiff
Comment enum valueQsciLexerDiff
Default enum valueQsciLexerDiff
defaultColor(int style) constQsciLexerDiffvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont() constQsciLexer
defaultFont(int style) constQsciLexervirtual
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerDiffvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Header enum valueQsciLexerDiff
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexervirtual
language() constQsciLexerDiffvirtual
lexer() constQsciLexerDiffvirtual
lexerId() constQsciLexervirtual
LineAdded enum valueQsciLexerDiff
LineChanged enum valueQsciLexerDiff
LineRemoved enum valueQsciLexerDiff
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
Position enum valueQsciLexerDiff
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerDiff(QObject *parent=0)QsciLexerDiff
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
RemovingPatchAdded enum valueQsciLexerDiff
RemovingPatchRemoved enum valueQsciLexerDiff
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexerDiffvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerDiff()QsciLexerDiffvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerDiff.html ================================================ QScintilla: QsciLexerDiff Class Reference
QScintilla  2.12.1
QsciLexerDiff Class Reference

#include <qscilexerdiff.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, Command = 2,
  Header = 3, Position = 4, LineRemoved = 5,
  LineAdded = 6, LineChanged = 7, AddingPatchAdded = 8,
  RemovingPatchAdded = 9, AddingPatchRemoved = 10, RemovingPatchRemoved = 11
}
 

Public Member Functions

 QsciLexerDiff (QObject *parent=0)
 
virtual ~QsciLexerDiff ()
 
const char * language () const
 
const char * lexer () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
virtual QFont defaultFont (int style) const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerDiff class encapsulates the Scintilla Diff lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Diff lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Command 

A command.

Header 

A header.

Position 

A position.

LineRemoved 

A line removed.

LineAdded 

A line added.

LineChanged 

A line changed.

AddingPatchAdded 

An adding patch added.

RemovingPatchAdded 

A removing patch added.

AddingPatchRemoved 

An adding patch added.

RemovingPatchRemoved 

A removing patch added.

Constructor & Destructor Documentation

◆ QsciLexerDiff()

QsciLexerDiff::QsciLexerDiff ( QObject *  parent = 0)

Construct a QsciLexerDiff with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerDiff::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerDiff::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerEDIFACT-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerEDIFACT Member List

This is the complete list of members for QsciLexerEDIFACT, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
BadSegment enum valueQsciLexerEDIFACT
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
CompositeSeparator enum valueQsciLexerEDIFACT
Default enum valueQsciLexerEDIFACT
defaultColor(int style) constQsciLexerEDIFACTvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont() constQsciLexer
defaultFont(int style) constQsciLexervirtual
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerEDIFACTvirtual
editor() constQsciLexerinline
ElementSeparator enum valueQsciLexerEDIFACT
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexervirtual
language() constQsciLexerEDIFACTvirtual
lexer() constQsciLexerEDIFACTvirtual
lexerId() constQsciLexervirtual
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerEDIFACT(QObject *parent=0)QsciLexerEDIFACT
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
ReleaseSeparator enum valueQsciLexerEDIFACT
SegmentEnd enum valueQsciLexerEDIFACT
SegmentStart enum valueQsciLexerEDIFACT
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
UNASegmentHeader enum valueQsciLexerEDIFACT
UNHSegmentHeader enum valueQsciLexerEDIFACT
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerEDIFACT()QsciLexerEDIFACTvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerEDIFACT.html ================================================ QScintilla: QsciLexerEDIFACT Class Reference
QScintilla  2.12.1
QsciLexerEDIFACT Class Reference

#include <qscilexeredifact.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, SegmentStart = 1, SegmentEnd = 2,
  ElementSeparator = 3, CompositeSeparator = 4, ReleaseSeparator = 5,
  UNASegmentHeader = 6, UNHSegmentHeader = 7, BadSegment = 8
}
 

Public Member Functions

 QsciLexerEDIFACT (QObject *parent=0)
 
virtual ~QsciLexerEDIFACT ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
virtual QFont defaultFont (int style) const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerEDIFACT class encapsulates the Scintilla EDIFACT lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the EDIFACT lexer.

Enumerator
Default 

The default.

SegmentStart 

A segment start.

SegmentEnd 

A segment end.

ElementSeparator 

An element separator.

CompositeSeparator 

A composite separator.

ReleaseSeparator 

A release separator.

UNASegmentHeader 

A UNA segment header.

UNHSegmentHeader 

A UNH segment header.

BadSegment 

A bad segment.

Constructor & Destructor Documentation

◆ QsciLexerEDIFACT()

QsciLexerEDIFACT::QsciLexerEDIFACT ( QObject *  parent = 0)

Construct a QsciLexerEDIFACT with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerEDIFACT::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerEDIFACT::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerEDIFACT::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerFortran-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerFortran Member List

This is the complete list of members for QsciLexerFortran, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerFortran77virtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerFortran77
Continuation enum valueQsciLexerFortran77
Default enum valueQsciLexerFortran77
defaultColor(int style) constQsciLexerFortran77virtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerFortran77virtual
defaultFont(int style) constQsciLexerFortran77virtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerFortran77virtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerFortran77virtual
DottedOperator enum valueQsciLexerFortran77
DoubleQuotedString enum valueQsciLexerFortran77
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
ExtendedFunction enum valueQsciLexerFortran77
foldCompact() constQsciLexerFortran77
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerFortran77
indentationGuideView() constQsciLexervirtual
IntrinsicFunction enum valueQsciLexerFortran77
Keyword enum valueQsciLexerFortran77
keywords(int set) constQsciLexerFortranvirtual
Label enum valueQsciLexerFortran77
language() constQsciLexerFortranvirtual
lexer() constQsciLexerFortranvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerFortran77
Operator enum valueQsciLexerFortran77
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerFortran77
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerFortran(QObject *parent=0)QsciLexerFortran
QsciLexerFortran77(QObject *parent=0)QsciLexerFortran77
readProperties(QSettings &qs, const QString &prefix)QsciLexerFortran77protectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerFortran77virtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldCompact(bool fold)QsciLexerFortran77virtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SingleQuotedString enum valueQsciLexerFortran77
styleBitsNeeded() constQsciLexervirtual
UnclosedString enum valueQsciLexerFortran77
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerFortran77protectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerFortran()QsciLexerFortranvirtual
~QsciLexerFortran77()QsciLexerFortran77virtual
================================================ FILE: src/qscint/doc/html/classQsciLexerFortran.html ================================================ QScintilla: QsciLexerFortran Class Reference
QScintilla  2.12.1
QsciLexerFortran Class Reference

#include <qscilexerfortran.h>

Inherits QsciLexerFortran77.

Public Member Functions

 QsciLexerFortran (QObject *parent=0)
 
virtual ~QsciLexerFortran ()
 
const char * language () const
 
const char * lexer () const
 
const char * keywords (int set) const
 
- Public Member Functions inherited from QsciLexerFortran77
 QsciLexerFortran77 (QObject *parent=0)
 
virtual ~QsciLexerFortran77 ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Types inherited from QsciLexerFortran77
enum  {
  Default = 0, Comment = 1, Number = 2,
  SingleQuotedString = 3, DoubleQuotedString = 4, UnclosedString = 5,
  Operator = 6, Identifier = 7, Keyword = 8,
  IntrinsicFunction = 9, ExtendedFunction = 10, PreProcessor = 11,
  DottedOperator = 12, Label = 13, Continuation = 14
}
 
- Public Slots inherited from QsciLexerFortran77
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexerFortran77
bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerFortran class encapsulates the Scintilla Fortran lexer.

Constructor & Destructor Documentation

◆ QsciLexerFortran()

QsciLexerFortran::QsciLexerFortran ( QObject *  parent = 0)

Construct a QsciLexerFortran with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerFortran::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerFortran::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerFortran77-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerFortran77 Member List

This is the complete list of members for QsciLexerFortran77, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerFortran77virtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerFortran77
Continuation enum valueQsciLexerFortran77
Default enum valueQsciLexerFortran77
defaultColor(int style) constQsciLexerFortran77virtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerFortran77virtual
defaultFont(int style) constQsciLexerFortran77virtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerFortran77virtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerFortran77virtual
DottedOperator enum valueQsciLexerFortran77
DoubleQuotedString enum valueQsciLexerFortran77
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
ExtendedFunction enum valueQsciLexerFortran77
foldCompact() constQsciLexerFortran77
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerFortran77
indentationGuideView() constQsciLexervirtual
IntrinsicFunction enum valueQsciLexerFortran77
Keyword enum valueQsciLexerFortran77
keywords(int set) constQsciLexerFortran77virtual
Label enum valueQsciLexerFortran77
language() constQsciLexerFortran77virtual
lexer() constQsciLexerFortran77virtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerFortran77
Operator enum valueQsciLexerFortran77
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerFortran77
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerFortran77(QObject *parent=0)QsciLexerFortran77
readProperties(QSettings &qs, const QString &prefix)QsciLexerFortran77protectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerFortran77virtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldCompact(bool fold)QsciLexerFortran77virtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SingleQuotedString enum valueQsciLexerFortran77
styleBitsNeeded() constQsciLexervirtual
UnclosedString enum valueQsciLexerFortran77
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerFortran77protectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerFortran77()QsciLexerFortran77virtual
================================================ FILE: src/qscint/doc/html/classQsciLexerFortran77.html ================================================ QScintilla: QsciLexerFortran77 Class Reference
QScintilla  2.12.1

#include <qscilexerfortran77.h>

Inherits QsciLexer.

Inherited by QsciLexerFortran.

Public Types

enum  {
  Default = 0, Comment = 1, Number = 2,
  SingleQuotedString = 3, DoubleQuotedString = 4, UnclosedString = 5,
  Operator = 6, Identifier = 7, Keyword = 8,
  IntrinsicFunction = 9, ExtendedFunction = 10, PreProcessor = 11,
  DottedOperator = 12, Label = 13, Continuation = 14
}
 

Public Slots

virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerFortran77 (QObject *parent=0)
 
virtual ~QsciLexerFortran77 ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerFortran77 class encapsulates the Scintilla Fortran77 lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Fortran77 lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Number 

A number.

SingleQuotedString 

A single-quoted string.

DoubleQuotedString 

A double-quoted string.

UnclosedString 

The end of a line where a string is not closed.

Operator 

An operator.

Identifier 

An identifier.

Keyword 

A keyword.

IntrinsicFunction 

An intrinsic function.

ExtendedFunction 

An extended, non-standard or user defined function.

PreProcessor 

A pre-processor block.

DottedOperator 

An operator in .NAME. format.

Label 

A label.

Continuation 

A continuation.

Constructor & Destructor Documentation

◆ QsciLexerFortran77()

QsciLexerFortran77::QsciLexerFortran77 ( QObject *  parent = 0)

Construct a QsciLexerFortran77 with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerFortran77::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerFortran77::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerFortran77::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerFortran77::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerFortran77::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerFortran77::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldCompact()

bool QsciLexerFortran77::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldCompact

virtual void QsciLexerFortran77::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerFortran77::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
writeProperties()

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerFortran77::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
readProperties()

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerHTML-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerHTML Member List

This is the complete list of members for QsciLexerHTML, including all inherited members.

apis() constQsciLexer
ASPAtStart enum valueQsciLexerHTML
ASPJavaScriptComment enum valueQsciLexerHTML
ASPJavaScriptCommentDoc enum valueQsciLexerHTML
ASPJavaScriptCommentLine enum valueQsciLexerHTML
ASPJavaScriptDefault enum valueQsciLexerHTML
ASPJavaScriptDoubleQuotedString enum valueQsciLexerHTML
ASPJavaScriptKeyword enum valueQsciLexerHTML
ASPJavaScriptNumber enum valueQsciLexerHTML
ASPJavaScriptRegex enum valueQsciLexerHTML
ASPJavaScriptSingleQuotedString enum valueQsciLexerHTML
ASPJavaScriptStart enum valueQsciLexerHTML
ASPJavaScriptSymbol enum valueQsciLexerHTML
ASPJavaScriptUnclosedString enum valueQsciLexerHTML
ASPJavaScriptWord enum valueQsciLexerHTML
ASPPythonClassName enum valueQsciLexerHTML
ASPPythonComment enum valueQsciLexerHTML
ASPPythonDefault enum valueQsciLexerHTML
ASPPythonDoubleQuotedString enum valueQsciLexerHTML
ASPPythonFunctionMethodName enum valueQsciLexerHTML
ASPPythonIdentifier enum valueQsciLexerHTML
ASPPythonKeyword enum valueQsciLexerHTML
ASPPythonNumber enum valueQsciLexerHTML
ASPPythonOperator enum valueQsciLexerHTML
ASPPythonSingleQuotedString enum valueQsciLexerHTML
ASPPythonStart enum valueQsciLexerHTML
ASPPythonTripleDoubleQuotedString enum valueQsciLexerHTML
ASPPythonTripleSingleQuotedString enum valueQsciLexerHTML
ASPStart enum valueQsciLexerHTML
ASPVBScriptComment enum valueQsciLexerHTML
ASPVBScriptDefault enum valueQsciLexerHTML
ASPVBScriptIdentifier enum valueQsciLexerHTML
ASPVBScriptKeyword enum valueQsciLexerHTML
ASPVBScriptNumber enum valueQsciLexerHTML
ASPVBScriptStart enum valueQsciLexerHTML
ASPVBScriptString enum valueQsciLexerHTML
ASPVBScriptUnclosedString enum valueQsciLexerHTML
ASPXCComment enum valueQsciLexerHTML
Attribute enum valueQsciLexerHTML
autoCompletionFillups() constQsciLexerHTMLvirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
caseSensitiveTags() constQsciLexerHTMLinline
CDATA enum valueQsciLexerHTML
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Default enum valueQsciLexerHTML
defaultColor(int style) constQsciLexerHTMLvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerHTMLvirtual
defaultFont(int style) constQsciLexerHTMLvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerHTMLvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerHTMLvirtual
djangoTemplates() constQsciLexerHTMLinline
editor() constQsciLexerinline
Entity enum valueQsciLexerHTML
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldCompact() constQsciLexerHTMLinline
foldPreprocessor() constQsciLexerHTMLinline
foldScriptComments() constQsciLexerHTMLinline
foldScriptHeredocs() constQsciLexerHTMLinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
HTMLComment enum valueQsciLexerHTML
HTMLDoubleQuotedString enum valueQsciLexerHTML
HTMLNumber enum valueQsciLexerHTML
HTMLSingleQuotedString enum valueQsciLexerHTML
HTMLValue enum valueQsciLexerHTML
indentationGuideView() constQsciLexervirtual
JavaScriptComment enum valueQsciLexerHTML
JavaScriptCommentDoc enum valueQsciLexerHTML
JavaScriptCommentLine enum valueQsciLexerHTML
JavaScriptDefault enum valueQsciLexerHTML
JavaScriptDoubleQuotedString enum valueQsciLexerHTML
JavaScriptKeyword enum valueQsciLexerHTML
JavaScriptNumber enum valueQsciLexerHTML
JavaScriptRegex enum valueQsciLexerHTML
JavaScriptSingleQuotedString enum valueQsciLexerHTML
JavaScriptStart enum valueQsciLexerHTML
JavaScriptSymbol enum valueQsciLexerHTML
JavaScriptUnclosedString enum valueQsciLexerHTML
JavaScriptWord enum valueQsciLexerHTML
keywords(int set) constQsciLexerHTMLvirtual
language() constQsciLexerHTMLvirtual
lexer() constQsciLexerHTMLvirtual
lexerId() constQsciLexervirtual
makoTemplates() constQsciLexerHTMLinline
OtherInTag enum valueQsciLexerHTML
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PHPComment enum valueQsciLexerHTML
PHPCommentLine enum valueQsciLexerHTML
PHPDefault enum valueQsciLexerHTML
PHPDoubleQuotedString enum valueQsciLexerHTML
PHPDoubleQuotedVariable enum valueQsciLexerHTML
PHPKeyword enum valueQsciLexerHTML
PHPNumber enum valueQsciLexerHTML
PHPOperator enum valueQsciLexerHTML
PHPSingleQuotedString enum valueQsciLexerHTML
PHPStart enum valueQsciLexerHTML
PHPVariable enum valueQsciLexerHTML
propertyChanged(const char *prop, const char *val)QsciLexersignal
PythonClassName enum valueQsciLexerHTML
PythonComment enum valueQsciLexerHTML
PythonDefault enum valueQsciLexerHTML
PythonDoubleQuotedString enum valueQsciLexerHTML
PythonFunctionMethodName enum valueQsciLexerHTML
PythonIdentifier enum valueQsciLexerHTML
PythonKeyword enum valueQsciLexerHTML
PythonNumber enum valueQsciLexerHTML
PythonOperator enum valueQsciLexerHTML
PythonSingleQuotedString enum valueQsciLexerHTML
PythonStart enum valueQsciLexerHTML
PythonTripleDoubleQuotedString enum valueQsciLexerHTML
PythonTripleSingleQuotedString enum valueQsciLexerHTML
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerHTML(QObject *parent=0)QsciLexerHTML
readProperties(QSettings &qs, const QString &prefix)QsciLexerHTMLprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerHTMLvirtual
Script enum valueQsciLexerHTML
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setCaseSensitiveTags(bool sens)QsciLexerHTMLvirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDjangoTemplates(bool enabled)QsciLexerHTML
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldCompact(bool fold)QsciLexerHTMLvirtualslot
setFoldPreprocessor(bool fold)QsciLexerHTMLvirtualslot
setFoldScriptComments(bool fold)QsciLexerHTML
setFoldScriptHeredocs(bool fold)QsciLexerHTML
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setMakoTemplates(bool enabled)QsciLexerHTML
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SGMLBlockDefault enum valueQsciLexerHTML
SGMLCommand enum valueQsciLexerHTML
SGMLComment enum valueQsciLexerHTML
SGMLDefault enum valueQsciLexerHTML
SGMLDoubleQuotedString enum valueQsciLexerHTML
SGMLEntity enum valueQsciLexerHTML
SGMLError enum valueQsciLexerHTML
SGMLParameter enum valueQsciLexerHTML
SGMLParameterComment enum valueQsciLexerHTML
SGMLSingleQuotedString enum valueQsciLexerHTML
SGMLSpecial enum valueQsciLexerHTML
styleBitsNeeded() constQsciLexervirtual
Tag enum valueQsciLexerHTML
UnknownAttribute enum valueQsciLexerHTML
UnknownTag enum valueQsciLexerHTML
VBScriptComment enum valueQsciLexerHTML
VBScriptDefault enum valueQsciLexerHTML
VBScriptIdentifier enum valueQsciLexerHTML
VBScriptKeyword enum valueQsciLexerHTML
VBScriptNumber enum valueQsciLexerHTML
VBScriptStart enum valueQsciLexerHTML
VBScriptString enum valueQsciLexerHTML
VBScriptUnclosedString enum valueQsciLexerHTML
wordCharacters() constQsciLexerHTMLvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerHTMLprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
XMLEnd enum valueQsciLexerHTML
XMLStart enum valueQsciLexerHTML
XMLTagEnd enum valueQsciLexerHTML
~QsciLexer()QsciLexervirtual
~QsciLexerHTML()QsciLexerHTMLvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerHTML.html ================================================ QScintilla: QsciLexerHTML Class Reference
QScintilla  2.12.1

#include <qscilexerhtml.h>

Inherits QsciLexer.

Inherited by QsciLexerXML.

Public Types

enum  {
  Default = 0, Tag = 1, UnknownTag = 2,
  Attribute = 3, UnknownAttribute = 4, HTMLNumber = 5,
  HTMLDoubleQuotedString = 6, HTMLSingleQuotedString = 7, OtherInTag = 8,
  HTMLComment = 9, Entity = 10, XMLTagEnd = 11,
  XMLStart = 12, XMLEnd = 13, Script = 14,
  ASPAtStart = 15, ASPStart = 16, CDATA = 17,
  PHPStart = 18, HTMLValue = 19, ASPXCComment = 20,
  SGMLDefault = 21, SGMLCommand = 22, SGMLParameter = 23,
  SGMLDoubleQuotedString = 24, SGMLSingleQuotedString = 25, SGMLError = 26,
  SGMLSpecial = 27, SGMLEntity = 28, SGMLComment = 29,
  SGMLParameterComment = 30, SGMLBlockDefault = 31, JavaScriptStart = 40,
  JavaScriptDefault = 41, JavaScriptComment = 42, JavaScriptCommentLine = 43,
  JavaScriptCommentDoc = 44, JavaScriptNumber = 45, JavaScriptWord = 46,
  JavaScriptKeyword = 47, JavaScriptDoubleQuotedString = 48, JavaScriptSingleQuotedString = 49,
  JavaScriptSymbol = 50, JavaScriptUnclosedString = 51, JavaScriptRegex = 52,
  ASPJavaScriptStart = 55, ASPJavaScriptDefault = 56, ASPJavaScriptComment = 57,
  ASPJavaScriptCommentLine = 58, ASPJavaScriptCommentDoc = 59, ASPJavaScriptNumber = 60,
  ASPJavaScriptWord = 61, ASPJavaScriptKeyword = 62, ASPJavaScriptDoubleQuotedString = 63,
  ASPJavaScriptSingleQuotedString = 64, ASPJavaScriptSymbol = 65, ASPJavaScriptUnclosedString = 66,
  ASPJavaScriptRegex = 67, VBScriptStart = 70, VBScriptDefault = 71,
  VBScriptComment = 72, VBScriptNumber = 73, VBScriptKeyword = 74,
  VBScriptString = 75, VBScriptIdentifier = 76, VBScriptUnclosedString = 77,
  ASPVBScriptStart = 80, ASPVBScriptDefault = 81, ASPVBScriptComment = 82,
  ASPVBScriptNumber = 83, ASPVBScriptKeyword = 84, ASPVBScriptString = 85,
  ASPVBScriptIdentifier = 86, ASPVBScriptUnclosedString = 87, PythonStart = 90,
  PythonDefault = 91, PythonComment = 92, PythonNumber = 93,
  PythonDoubleQuotedString = 94, PythonSingleQuotedString = 95, PythonKeyword = 96,
  PythonTripleSingleQuotedString = 97, PythonTripleDoubleQuotedString = 98, PythonClassName = 99,
  PythonFunctionMethodName = 100, PythonOperator = 101, PythonIdentifier = 102,
  ASPPythonStart = 105, ASPPythonDefault = 106, ASPPythonComment = 107,
  ASPPythonNumber = 108, ASPPythonDoubleQuotedString = 109, ASPPythonSingleQuotedString = 110,
  ASPPythonKeyword = 111, ASPPythonTripleSingleQuotedString = 112, ASPPythonTripleDoubleQuotedString = 113,
  ASPPythonClassName = 114, ASPPythonFunctionMethodName = 115, ASPPythonOperator = 116,
  ASPPythonIdentifier = 117, PHPDefault = 118, PHPDoubleQuotedString = 119,
  PHPSingleQuotedString = 120, PHPKeyword = 121, PHPNumber = 122,
  PHPVariable = 123, PHPComment = 124, PHPCommentLine = 125,
  PHPDoubleQuotedVariable = 126, PHPOperator = 127
}
 

Public Slots

virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
virtual void setCaseSensitiveTags (bool sens)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerHTML (QObject *parent=0)
 
virtual ~QsciLexerHTML ()
 
const char * language () const
 
const char * lexer () const
 
const char * autoCompletionFillups () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool caseSensitiveTags () const
 
void setDjangoTemplates (bool enabled)
 
bool djangoTemplates () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
void setFoldScriptComments (bool fold)
 
bool foldScriptComments () const
 
void setFoldScriptHeredocs (bool fold)
 
bool foldScriptHeredocs () const
 
void setMakoTemplates (bool enabled)
 
bool makoTemplates () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerHTML class encapsulates the Scintilla HTML lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the HTML lexer.

Enumerator
Default 

The default.

Tag 

A tag.

UnknownTag 

An unknown tag.

Attribute 

An attribute.

UnknownAttribute 

An unknown attribute.

HTMLNumber 

An HTML number.

HTMLDoubleQuotedString 

An HTML double-quoted string.

HTMLSingleQuotedString 

An HTML single-quoted string.

OtherInTag 

Other text within a tag.

HTMLComment 

An HTML comment.

Entity 

An entity.

XMLTagEnd 

The end of an XML style tag.

XMLStart 

The start of an XML fragment.

XMLEnd 

The end of an XML fragment.

Script 

A script tag.

ASPAtStart 

The start of an ASP fragment with .

ASPStart 

The start of an ASP fragment.

CDATA 

CDATA.

PHPStart 

The start of a PHP fragment.

HTMLValue 

An unquoted HTML value.

ASPXCComment 

An ASP X-Code comment.

SGMLDefault 

The default for SGML.

SGMLCommand 

An SGML command.

SGMLParameter 

The first parameter of an SGML command.

SGMLDoubleQuotedString 

An SGML double-quoted string.

SGMLSingleQuotedString 

An SGML single-quoted string.

SGMLError 

An SGML error.

SGMLSpecial 

An SGML special entity.

SGMLEntity 

An SGML entity.

SGMLComment 

An SGML comment.

SGMLParameterComment 

A comment with the first parameter of an SGML command.

SGMLBlockDefault 

The default for an SGML block.

JavaScriptStart 

The start of a JavaScript fragment.

JavaScriptDefault 

The default for JavaScript.

JavaScriptComment 

A JavaScript comment.

JavaScriptCommentLine 

A JavaScript line comment.

JavaScriptCommentDoc 

A JavaDoc style JavaScript comment.

JavaScriptNumber 

A JavaScript number.

JavaScriptWord 

A JavaScript word.

JavaScriptKeyword 

A JavaScript keyword.

JavaScriptDoubleQuotedString 

A JavaScript double-quoted string.

JavaScriptSingleQuotedString 

A JavaScript single-quoted string.

JavaScriptSymbol 

A JavaScript symbol.

JavaScriptUnclosedString 

The end of a JavaScript line where a string is not closed.

JavaScriptRegex 

A JavaScript regular expression.

ASPJavaScriptStart 

The start of an ASP JavaScript fragment.

ASPJavaScriptDefault 

The default for ASP JavaScript.

ASPJavaScriptComment 

An ASP JavaScript comment.

ASPJavaScriptCommentLine 

An ASP JavaScript line comment.

ASPJavaScriptCommentDoc 

An ASP JavaDoc style JavaScript comment.

ASPJavaScriptNumber 

An ASP JavaScript number.

ASPJavaScriptWord 

An ASP JavaScript word.

ASPJavaScriptKeyword 

An ASP JavaScript keyword.

ASPJavaScriptDoubleQuotedString 

An ASP JavaScript double-quoted string.

ASPJavaScriptSingleQuotedString 

An ASP JavaScript single-quoted string.

ASPJavaScriptSymbol 

An ASP JavaScript symbol.

ASPJavaScriptUnclosedString 

The end of an ASP JavaScript line where a string is not closed.

ASPJavaScriptRegex 

An ASP JavaScript regular expression.

VBScriptStart 

The start of a VBScript fragment.

VBScriptDefault 

The default for VBScript.

VBScriptComment 

A VBScript comment.

VBScriptNumber 

A VBScript number.

VBScriptKeyword 

A VBScript keyword.

VBScriptString 

A VBScript string.

VBScriptIdentifier 

A VBScript identifier.

VBScriptUnclosedString 

The end of a VBScript line where a string is not closed.

ASPVBScriptStart 

The start of an ASP VBScript fragment.

ASPVBScriptDefault 

The default for ASP VBScript.

ASPVBScriptComment 

An ASP VBScript comment.

ASPVBScriptNumber 

An ASP VBScript number.

ASPVBScriptKeyword 

An ASP VBScript keyword.

ASPVBScriptString 

An ASP VBScript string.

ASPVBScriptIdentifier 

An ASP VBScript identifier.

ASPVBScriptUnclosedString 

The end of an ASP VBScript line where a string is not closed.

PythonStart 

The start of a Python fragment.

PythonDefault 

The default for Python.

PythonComment 

A Python comment.

PythonNumber 

A Python number.

PythonDoubleQuotedString 

A Python double-quoted string.

PythonSingleQuotedString 

A Python single-quoted string.

PythonKeyword 

A Python keyword.

PythonTripleSingleQuotedString 

A Python triple single-quoted string.

PythonTripleDoubleQuotedString 

A Python triple double-quoted string.

PythonClassName 

The name of a Python class.

PythonFunctionMethodName 

The name of a Python function or method.

PythonOperator 

A Python operator.

PythonIdentifier 

A Python identifier.

ASPPythonStart 

The start of an ASP Python fragment.

ASPPythonDefault 

The default for ASP Python.

ASPPythonComment 

An ASP Python comment.

ASPPythonNumber 

An ASP Python number.

ASPPythonDoubleQuotedString 

An ASP Python double-quoted string.

ASPPythonSingleQuotedString 

An ASP Python single-quoted string.

ASPPythonKeyword 

An ASP Python keyword.

ASPPythonTripleSingleQuotedString 

An ASP Python triple single-quoted string.

ASPPythonTripleDoubleQuotedString 

An ASP Python triple double-quoted string.

ASPPythonClassName 

The name of an ASP Python class.

ASPPythonFunctionMethodName 

The name of an ASP Python function or method.

ASPPythonOperator 

An ASP Python operator.

ASPPythonIdentifier 

An ASP Python identifier.

PHPDefault 

The default for PHP.

PHPDoubleQuotedString 

A PHP double-quoted string.

PHPSingleQuotedString 

A PHP single-quoted string.

PHPKeyword 

A PHP keyword.

PHPNumber 

A PHP number.

PHPVariable 

A PHP variable.

PHPComment 

A PHP comment.

PHPCommentLine 

A PHP line comment.

PHPDoubleQuotedVariable 

A PHP double-quoted variable.

PHPOperator 

A PHP operator.

Constructor & Destructor Documentation

◆ QsciLexerHTML()

QsciLexerHTML::QsciLexerHTML ( QObject *  parent = 0)

Construct a QsciLexerHTML with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerHTML::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerXML.

◆ defaultColor()

QColor QsciLexerHTML::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

Reimplemented in QsciLexerXML.

◆ defaultPaper()

QColor QsciLexerHTML::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

Reimplemented in QsciLexerXML.

◆ keywords()

const char* QsciLexerHTML::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerXML.

◆ description()

QString QsciLexerHTML::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerHTML::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerXML.

◆ caseSensitiveTags()

bool QsciLexerHTML::caseSensitiveTags ( ) const
inline

Returns true if tags are case sensitive.

See also
setCaseSensitiveTags()

◆ setDjangoTemplates()

void QsciLexerHTML::setDjangoTemplates ( bool  enabled)

If enabled is true then Django templates are enabled. The default is false.

See also
djangoTemplates()

◆ djangoTemplates()

bool QsciLexerHTML::djangoTemplates ( ) const
inline

Returns true if support for Django templates is enabled.

See also
setDjangoTemplates()

◆ foldCompact()

bool QsciLexerHTML::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ foldPreprocessor()

bool QsciLexerHTML::foldPreprocessor ( ) const
inline

Returns true if preprocessor blocks can be folded.

See also
setFoldPreprocessor()

◆ setFoldScriptComments()

void QsciLexerHTML::setFoldScriptComments ( bool  fold)

If fold is true then script comments can be folded. The default is false.

See also
foldScriptComments()

◆ foldScriptComments()

bool QsciLexerHTML::foldScriptComments ( ) const
inline

Returns true if script comments can be folded.

See also
setFoldScriptComments()

◆ setFoldScriptHeredocs()

void QsciLexerHTML::setFoldScriptHeredocs ( bool  fold)

If fold is true then script heredocs can be folded. The default is false.

See also
foldScriptHeredocs()

◆ foldScriptHeredocs()

bool QsciLexerHTML::foldScriptHeredocs ( ) const
inline

Returns true if script heredocs can be folded.

See also
setFoldScriptHeredocs()

◆ setMakoTemplates()

void QsciLexerHTML::setMakoTemplates ( bool  enabled)

If enabled is true then Mako templates are enabled. The default is false.

See also
makoTemplates()

◆ makoTemplates()

bool QsciLexerHTML::makoTemplates ( ) const
inline

Returns true if support for Mako templates is enabled.

See also
setMakoTemplates()

◆ setFoldCompact

virtual void QsciLexerHTML::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ setFoldPreprocessor

virtual void QsciLexerHTML::setFoldPreprocessor ( bool  fold)
virtualslot

If fold is true then preprocessor blocks can be folded. The default is false.

See also
foldPreprocessor()

◆ setCaseSensitiveTags

virtual void QsciLexerHTML::setCaseSensitiveTags ( bool  sens)
virtualslot

If sens is true then tags are case sensitive. The default is false.

See also
caseSensitiveTags()

◆ readProperties()

bool QsciLexerHTML::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerXML.

◆ writeProperties()

bool QsciLexerHTML::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerXML.

================================================ FILE: src/qscint/doc/html/classQsciLexerIDL-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerIDL Member List

This is the complete list of members for QsciLexerIDL, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerCPPvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerCPPvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerCPPvirtual
blockStartKeyword(int *style=0) constQsciLexerCPPvirtual
braceStyle() constQsciLexerCPPvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCPP
CommentDoc enum valueQsciLexerCPP
CommentDocKeyword enum valueQsciLexerCPP
CommentDocKeywordError enum valueQsciLexerCPP
CommentLine enum valueQsciLexerCPP
CommentLineDoc enum valueQsciLexerCPP
Default enum valueQsciLexerCPP
defaultColor(int style) constQsciLexerIDLvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerCPPvirtual
defaultFont(int style) constQsciLexerCPPvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerCPPvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerIDLvirtual
dollarsAllowed() constQsciLexerCPPinline
DoubleQuotedString enum valueQsciLexerCPP
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
EscapeSequence enum valueQsciLexerCPP
foldAtElse() constQsciLexerCPPinline
foldComments() constQsciLexerCPPinline
foldCompact() constQsciLexerCPPinline
foldPreprocessor() constQsciLexerCPPinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
GlobalClass enum valueQsciLexerCPP
HashQuotedString enum valueQsciLexerCPP
highlightBackQuotedStrings() constQsciLexerCPPinline
highlightEscapeSequences() constQsciLexerCPPinline
highlightHashQuotedStrings() constQsciLexerCPPinline
highlightTripleQuotedStrings() constQsciLexerCPPinline
Identifier enum valueQsciLexerCPP
InactiveComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeywordError enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLine enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDefault enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDoubleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveEscapeSequence enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveGlobalClass enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveHashQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveIdentifier enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeywordSet2 enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveNumber enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveOperator enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessor enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRawString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRegex enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveSingleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTaskMarker enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTripleQuotedVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUnclosedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUserLiteral enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUUID enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerCPP
keywords(int set) constQsciLexerIDLvirtual
KeywordSet2 enum valueQsciLexerCPP
language() constQsciLexerIDLvirtual
lexer() constQsciLexerCPPvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerCPP
Operator enum valueQsciLexerCPP
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerCPP
PreProcessorComment enum valueQsciLexerCPP
PreProcessorCommentLineDoc enum valueQsciLexerCPP
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCPP(QObject *parent=0, bool caseInsensitiveKeywords=false)QsciLexerCPP
QsciLexerIDL(QObject *parent=0)QsciLexerIDL
RawString enum valueQsciLexerCPP
readProperties(QSettings &qs, const QString &prefix)QsciLexerCPPprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCPPvirtual
Regex enum valueQsciLexerCPP
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDollarsAllowed(bool allowed)QsciLexerCPP
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerCPPvirtualslot
setFoldComments(bool fold)QsciLexerCPPvirtualslot
setFoldCompact(bool fold)QsciLexerCPPvirtualslot
setFoldPreprocessor(bool fold)QsciLexerCPPvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHighlightBackQuotedStrings(bool enabled)QsciLexerCPP
setHighlightEscapeSequences(bool enabled)QsciLexerCPP
setHighlightHashQuotedStrings(bool enabled)QsciLexerCPP
setHighlightTripleQuotedStrings(bool enabled)QsciLexerCPP
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStylePreprocessor(bool style)QsciLexerCPPvirtualslot
setVerbatimStringEscapeSequencesAllowed(bool allowed)QsciLexerCPP
SingleQuotedString enum valueQsciLexerCPP
styleBitsNeeded() constQsciLexervirtual
stylePreprocessor() constQsciLexerCPPinline
TaskMarker enum valueQsciLexerCPP
TripleQuotedVerbatimString enum valueQsciLexerCPP
UnclosedString enum valueQsciLexerCPP
UserLiteral enum valueQsciLexerCPP
UUID enum valueQsciLexerCPP
VerbatimString enum valueQsciLexerCPP
verbatimStringEscapeSequencesAllowed() constQsciLexerCPPinline
wordCharacters() constQsciLexerCPPvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCPPprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCPP()QsciLexerCPPvirtual
~QsciLexerIDL()QsciLexerIDLvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerIDL.html ================================================ QScintilla: QsciLexerIDL Class Reference
QScintilla  2.12.1
QsciLexerIDL Class Reference

#include <qscilexeridl.h>

Inherits QsciLexerCPP.

Public Member Functions

 QsciLexerIDL (QObject *parent=0)
 
virtual ~QsciLexerIDL ()
 
const char * language () const
 
QColor defaultColor (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexerCPP
 QsciLexerCPP (QObject *parent=0, bool caseInsensitiveKeywords=false)
 
virtual ~QsciLexerCPP ()
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
void refreshProperties ()
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
bool stylePreprocessor () const
 
void setDollarsAllowed (bool allowed)
 
bool dollarsAllowed () const
 
void setHighlightTripleQuotedStrings (bool enabled)
 
bool highlightTripleQuotedStrings () const
 
void setHighlightHashQuotedStrings (bool enabled)
 
bool highlightHashQuotedStrings () const
 
void setHighlightBackQuotedStrings (bool enabled)
 
bool highlightBackQuotedStrings () const
 
void setHighlightEscapeSequences (bool enabled)
 
bool highlightEscapeSequences () const
 
void setVerbatimStringEscapeSequencesAllowed (bool allowed)
 
bool verbatimStringEscapeSequencesAllowed () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Types inherited from QsciLexerCPP
enum  {
  Default = 0, InactiveDefault = Default + 64, Comment = 1,
  InactiveComment = Comment + 64, CommentLine = 2, InactiveCommentLine = CommentLine + 64,
  CommentDoc = 3, InactiveCommentDoc = CommentDoc + 64, Number = 4,
  InactiveNumber = Number + 64, Keyword = 5, InactiveKeyword = Keyword + 64,
  DoubleQuotedString = 6, InactiveDoubleQuotedString = DoubleQuotedString + 64, SingleQuotedString = 7,
  InactiveSingleQuotedString = SingleQuotedString + 64, UUID = 8, InactiveUUID = UUID + 64,
  PreProcessor = 9, InactivePreProcessor = PreProcessor + 64, Operator = 10,
  InactiveOperator = Operator + 64, Identifier = 11, InactiveIdentifier = Identifier + 64,
  UnclosedString = 12, InactiveUnclosedString = UnclosedString + 64, VerbatimString = 13,
  InactiveVerbatimString = VerbatimString + 64, Regex = 14, InactiveRegex = Regex + 64,
  CommentLineDoc = 15, InactiveCommentLineDoc = CommentLineDoc + 64, KeywordSet2 = 16,
  InactiveKeywordSet2 = KeywordSet2 + 64, CommentDocKeyword = 17, InactiveCommentDocKeyword = CommentDocKeyword + 64,
  CommentDocKeywordError = 18, InactiveCommentDocKeywordError = CommentDocKeywordError + 64, GlobalClass = 19,
  InactiveGlobalClass = GlobalClass + 64, RawString = 20, InactiveRawString = RawString + 64,
  TripleQuotedVerbatimString = 21, InactiveTripleQuotedVerbatimString = TripleQuotedVerbatimString + 64, HashQuotedString = 22,
  InactiveHashQuotedString = HashQuotedString + 64, PreProcessorComment = 23, InactivePreProcessorComment = PreProcessorComment + 64,
  PreProcessorCommentLineDoc = 24, InactivePreProcessorCommentLineDoc = PreProcessorCommentLineDoc + 64, UserLiteral = 25,
  InactiveUserLiteral = UserLiteral + 64, TaskMarker = 26, InactiveTaskMarker = TaskMarker + 64,
  EscapeSequence = 27, InactiveEscapeSequence = EscapeSequence + 64
}
 
- Public Slots inherited from QsciLexerCPP
virtual void setFoldAtElse (bool fold)
 
virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
virtual void setStylePreprocessor (bool style)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexerCPP
bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerIDL class encapsulates the Scintilla IDL lexer.

Constructor & Destructor Documentation

◆ QsciLexerIDL()

QsciLexerIDL::QsciLexerIDL ( QObject *  parent = 0)

Construct a QsciLexerIDL with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ keywords()

const char* QsciLexerIDL::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexerCPP.

◆ description()

QString QsciLexerIDL::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Reimplemented from QsciLexerCPP.

================================================ FILE: src/qscint/doc/html/classQsciLexerJSON-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerJSON Member List

This is the complete list of members for QsciLexerJSON, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
CommentBlock enum valueQsciLexerJSON
CommentLine enum valueQsciLexerJSON
Default enum valueQsciLexerJSON
defaultColor(int style) constQsciLexerJSONvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerJSONvirtual
defaultFont(int style) constQsciLexerJSONvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerJSONvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerJSONvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
Error enum valueQsciLexerJSON
EscapeSequence enum valueQsciLexerJSON
foldCompact() constQsciLexerJSONinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
highlightComments() constQsciLexerJSONinline
highlightEscapeSequences() constQsciLexerJSONinline
indentationGuideView() constQsciLexervirtual
IRI enum valueQsciLexerJSON
IRICompact enum valueQsciLexerJSON
Keyword enum valueQsciLexerJSON
KeywordLD enum valueQsciLexerJSON
keywords(int set) constQsciLexerJSONvirtual
language() constQsciLexerJSONvirtual
lexer() constQsciLexerJSONvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerJSON
Operator enum valueQsciLexerJSON
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
Property enum valueQsciLexerJSON
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerJSON(QObject *parent=0)QsciLexerJSON
readProperties(QSettings &qs, const QString &prefix)QsciLexerJSONprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerJSONvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldCompact(bool fold)QsciLexerJSON
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHighlightComments(bool highlight)QsciLexerJSON
setHighlightEscapeSequences(bool highlight)QsciLexerJSON
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
String enum valueQsciLexerJSON
styleBitsNeeded() constQsciLexervirtual
UnclosedString enum valueQsciLexerJSON
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerJSONprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerJSON()QsciLexerJSONvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerJSON.html ================================================ QScintilla: QsciLexerJSON Class Reference
QScintilla  2.12.1

#include <qscilexerjson.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Number = 1, String = 2,
  UnclosedString = 3, Property = 4, EscapeSequence = 5,
  CommentLine = 6, CommentBlock = 7, Operator = 8,
  IRI = 9, IRICompact = 10, Keyword = 11,
  KeywordLD = 12, Error = 13
}
 

Public Member Functions

 QsciLexerJSON (QObject *parent=0)
 
virtual ~QsciLexerJSON ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
void setHighlightComments (bool highlight)
 
bool highlightComments () const
 
void setHighlightEscapeSequences (bool highlight)
 
bool highlightEscapeSequences () const
 
void setFoldCompact (bool fold)
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerJSON class encapsulates the Scintilla JSON lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the JSON lexer.

Enumerator
Default 

The default.

Number 

A number.

String 

A string.

UnclosedString 

An unclosed string.

Property 

A property.

EscapeSequence 

An escape sequence.

CommentLine 

A line comment.

CommentBlock 

A block comment.

Operator 

An operator.

IRI 

An Internationalised Resource Identifier (IRI).

IRICompact 

A JSON-LD compact IRI.

Keyword 

A JSON keyword.

KeywordLD 

A JSON-LD keyword.

Error 

A parsing error.

Constructor & Destructor Documentation

◆ QsciLexerJSON()

QsciLexerJSON::QsciLexerJSON ( QObject *  parent = 0)

Construct a QsciLexerJSON with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerJSON::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerJSON::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerJSON::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerJSON::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerJSON::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerJSON::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ setHighlightComments()

void QsciLexerJSON::setHighlightComments ( bool  highlight)

If highlight is true then line and block comments will be highlighted. The default is true.

See also
hightlightComments()

◆ highlightComments()

bool QsciLexerJSON::highlightComments ( ) const
inline

Returns true if line and block comments are highlighted

See also
setHightlightComments()

◆ setHighlightEscapeSequences()

void QsciLexerJSON::setHighlightEscapeSequences ( bool  highlight)

If highlight is true then escape sequences in strings are highlighted. The default is true.

See also
highlightEscapeSequences()

◆ highlightEscapeSequences()

bool QsciLexerJSON::highlightEscapeSequences ( ) const
inline

Returns true if escape sequences in strings are highlighted.

See also
setHighlightEscapeSequences()

◆ setFoldCompact()

void QsciLexerJSON::setFoldCompact ( bool  fold)

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ foldCompact()

bool QsciLexerJSON::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ readProperties()

bool QsciLexerJSON::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerJSON::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerJava-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerJava Member List

This is the complete list of members for QsciLexerJava, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerCPPvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerCPPvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerCPPvirtual
blockStartKeyword(int *style=0) constQsciLexerCPPvirtual
braceStyle() constQsciLexerCPPvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCPP
CommentDoc enum valueQsciLexerCPP
CommentDocKeyword enum valueQsciLexerCPP
CommentDocKeywordError enum valueQsciLexerCPP
CommentLine enum valueQsciLexerCPP
CommentLineDoc enum valueQsciLexerCPP
Default enum valueQsciLexerCPP
defaultColor(int style) constQsciLexerCPPvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerCPPvirtual
defaultFont(int style) constQsciLexerCPPvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerCPPvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerCPPvirtual
dollarsAllowed() constQsciLexerCPPinline
DoubleQuotedString enum valueQsciLexerCPP
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
EscapeSequence enum valueQsciLexerCPP
foldAtElse() constQsciLexerCPPinline
foldComments() constQsciLexerCPPinline
foldCompact() constQsciLexerCPPinline
foldPreprocessor() constQsciLexerCPPinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
GlobalClass enum valueQsciLexerCPP
HashQuotedString enum valueQsciLexerCPP
highlightBackQuotedStrings() constQsciLexerCPPinline
highlightEscapeSequences() constQsciLexerCPPinline
highlightHashQuotedStrings() constQsciLexerCPPinline
highlightTripleQuotedStrings() constQsciLexerCPPinline
Identifier enum valueQsciLexerCPP
InactiveComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeywordError enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLine enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDefault enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDoubleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveEscapeSequence enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveGlobalClass enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveHashQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveIdentifier enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeywordSet2 enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveNumber enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveOperator enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessor enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRawString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRegex enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveSingleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTaskMarker enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTripleQuotedVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUnclosedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUserLiteral enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUUID enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerCPP
keywords(int set) constQsciLexerJavavirtual
KeywordSet2 enum valueQsciLexerCPP
language() constQsciLexerJavavirtual
lexer() constQsciLexerCPPvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerCPP
Operator enum valueQsciLexerCPP
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerCPP
PreProcessorComment enum valueQsciLexerCPP
PreProcessorCommentLineDoc enum valueQsciLexerCPP
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCPP(QObject *parent=0, bool caseInsensitiveKeywords=false)QsciLexerCPP
QsciLexerJava(QObject *parent=0)QsciLexerJava
RawString enum valueQsciLexerCPP
readProperties(QSettings &qs, const QString &prefix)QsciLexerCPPprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCPPvirtual
Regex enum valueQsciLexerCPP
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDollarsAllowed(bool allowed)QsciLexerCPP
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerCPPvirtualslot
setFoldComments(bool fold)QsciLexerCPPvirtualslot
setFoldCompact(bool fold)QsciLexerCPPvirtualslot
setFoldPreprocessor(bool fold)QsciLexerCPPvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHighlightBackQuotedStrings(bool enabled)QsciLexerCPP
setHighlightEscapeSequences(bool enabled)QsciLexerCPP
setHighlightHashQuotedStrings(bool enabled)QsciLexerCPP
setHighlightTripleQuotedStrings(bool enabled)QsciLexerCPP
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStylePreprocessor(bool style)QsciLexerCPPvirtualslot
setVerbatimStringEscapeSequencesAllowed(bool allowed)QsciLexerCPP
SingleQuotedString enum valueQsciLexerCPP
styleBitsNeeded() constQsciLexervirtual
stylePreprocessor() constQsciLexerCPPinline
TaskMarker enum valueQsciLexerCPP
TripleQuotedVerbatimString enum valueQsciLexerCPP
UnclosedString enum valueQsciLexerCPP
UserLiteral enum valueQsciLexerCPP
UUID enum valueQsciLexerCPP
VerbatimString enum valueQsciLexerCPP
verbatimStringEscapeSequencesAllowed() constQsciLexerCPPinline
wordCharacters() constQsciLexerCPPvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCPPprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCPP()QsciLexerCPPvirtual
~QsciLexerJava()QsciLexerJavavirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerJava.html ================================================ QScintilla: QsciLexerJava Class Reference
QScintilla  2.12.1
QsciLexerJava Class Reference

#include <qscilexerjava.h>

Inherits QsciLexerCPP.

Public Member Functions

 QsciLexerJava (QObject *parent=0)
 
virtual ~QsciLexerJava ()
 
const char * language () const
 
const char * keywords (int set) const
 
- Public Member Functions inherited from QsciLexerCPP
 QsciLexerCPP (QObject *parent=0, bool caseInsensitiveKeywords=false)
 
virtual ~QsciLexerCPP ()
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
bool stylePreprocessor () const
 
void setDollarsAllowed (bool allowed)
 
bool dollarsAllowed () const
 
void setHighlightTripleQuotedStrings (bool enabled)
 
bool highlightTripleQuotedStrings () const
 
void setHighlightHashQuotedStrings (bool enabled)
 
bool highlightHashQuotedStrings () const
 
void setHighlightBackQuotedStrings (bool enabled)
 
bool highlightBackQuotedStrings () const
 
void setHighlightEscapeSequences (bool enabled)
 
bool highlightEscapeSequences () const
 
void setVerbatimStringEscapeSequencesAllowed (bool allowed)
 
bool verbatimStringEscapeSequencesAllowed () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Types inherited from QsciLexerCPP
enum  {
  Default = 0, InactiveDefault = Default + 64, Comment = 1,
  InactiveComment = Comment + 64, CommentLine = 2, InactiveCommentLine = CommentLine + 64,
  CommentDoc = 3, InactiveCommentDoc = CommentDoc + 64, Number = 4,
  InactiveNumber = Number + 64, Keyword = 5, InactiveKeyword = Keyword + 64,
  DoubleQuotedString = 6, InactiveDoubleQuotedString = DoubleQuotedString + 64, SingleQuotedString = 7,
  InactiveSingleQuotedString = SingleQuotedString + 64, UUID = 8, InactiveUUID = UUID + 64,
  PreProcessor = 9, InactivePreProcessor = PreProcessor + 64, Operator = 10,
  InactiveOperator = Operator + 64, Identifier = 11, InactiveIdentifier = Identifier + 64,
  UnclosedString = 12, InactiveUnclosedString = UnclosedString + 64, VerbatimString = 13,
  InactiveVerbatimString = VerbatimString + 64, Regex = 14, InactiveRegex = Regex + 64,
  CommentLineDoc = 15, InactiveCommentLineDoc = CommentLineDoc + 64, KeywordSet2 = 16,
  InactiveKeywordSet2 = KeywordSet2 + 64, CommentDocKeyword = 17, InactiveCommentDocKeyword = CommentDocKeyword + 64,
  CommentDocKeywordError = 18, InactiveCommentDocKeywordError = CommentDocKeywordError + 64, GlobalClass = 19,
  InactiveGlobalClass = GlobalClass + 64, RawString = 20, InactiveRawString = RawString + 64,
  TripleQuotedVerbatimString = 21, InactiveTripleQuotedVerbatimString = TripleQuotedVerbatimString + 64, HashQuotedString = 22,
  InactiveHashQuotedString = HashQuotedString + 64, PreProcessorComment = 23, InactivePreProcessorComment = PreProcessorComment + 64,
  PreProcessorCommentLineDoc = 24, InactivePreProcessorCommentLineDoc = PreProcessorCommentLineDoc + 64, UserLiteral = 25,
  InactiveUserLiteral = UserLiteral + 64, TaskMarker = 26, InactiveTaskMarker = TaskMarker + 64,
  EscapeSequence = 27, InactiveEscapeSequence = EscapeSequence + 64
}
 
- Public Slots inherited from QsciLexerCPP
virtual void setFoldAtElse (bool fold)
 
virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
virtual void setStylePreprocessor (bool style)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexerCPP
bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerJava class encapsulates the Scintilla Java lexer.

Constructor & Destructor Documentation

◆ QsciLexerJava()

QsciLexerJava::QsciLexerJava ( QObject *  parent = 0)

Construct a QsciLexerJava with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ keywords()

const char* QsciLexerJava::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexerCPP.

================================================ FILE: src/qscint/doc/html/classQsciLexerJavaScript-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerJavaScript Member List

This is the complete list of members for QsciLexerJavaScript, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerCPPvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerCPPvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerCPPvirtual
blockStartKeyword(int *style=0) constQsciLexerCPPvirtual
braceStyle() constQsciLexerCPPvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerCPP
CommentDoc enum valueQsciLexerCPP
CommentDocKeyword enum valueQsciLexerCPP
CommentDocKeywordError enum valueQsciLexerCPP
CommentLine enum valueQsciLexerCPP
CommentLineDoc enum valueQsciLexerCPP
Default enum valueQsciLexerCPP
defaultColor(int style) constQsciLexerJavaScriptvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerJavaScriptvirtual
defaultFont(int style) constQsciLexerJavaScriptvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerJavaScriptvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerJavaScriptvirtual
dollarsAllowed() constQsciLexerCPPinline
DoubleQuotedString enum valueQsciLexerCPP
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
EscapeSequence enum valueQsciLexerCPP
foldAtElse() constQsciLexerCPPinline
foldComments() constQsciLexerCPPinline
foldCompact() constQsciLexerCPPinline
foldPreprocessor() constQsciLexerCPPinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
GlobalClass enum valueQsciLexerCPP
HashQuotedString enum valueQsciLexerCPP
highlightBackQuotedStrings() constQsciLexerCPPinline
highlightEscapeSequences() constQsciLexerCPPinline
highlightHashQuotedStrings() constQsciLexerCPPinline
highlightTripleQuotedStrings() constQsciLexerCPPinline
Identifier enum valueQsciLexerCPP
InactiveComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentDocKeywordError enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLine enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDefault enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveDoubleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveEscapeSequence enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveGlobalClass enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveHashQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveIdentifier enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeyword enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveKeywordSet2 enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveNumber enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveOperator enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessor enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorComment enum value (defined in QsciLexerCPP)QsciLexerCPP
InactivePreProcessorCommentLineDoc enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRawString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveRegex enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveSingleQuotedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTaskMarker enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveTripleQuotedVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUnclosedString enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUserLiteral enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveUUID enum value (defined in QsciLexerCPP)QsciLexerCPP
InactiveVerbatimString enum value (defined in QsciLexerCPP)QsciLexerCPP
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerCPP
keywords(int set) constQsciLexerJavaScriptvirtual
KeywordSet2 enum valueQsciLexerCPP
language() constQsciLexerJavaScriptvirtual
lexer() constQsciLexerCPPvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerCPP
Operator enum valueQsciLexerCPP
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerCPP
PreProcessorComment enum valueQsciLexerCPP
PreProcessorCommentLineDoc enum valueQsciLexerCPP
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerCPP(QObject *parent=0, bool caseInsensitiveKeywords=false)QsciLexerCPP
QsciLexerJavaScript(QObject *parent=0)QsciLexerJavaScript
RawString enum valueQsciLexerCPP
readProperties(QSettings &qs, const QString &prefix)QsciLexerCPPprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerCPPvirtual
Regex enum valueQsciLexerCPP
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDollarsAllowed(bool allowed)QsciLexerCPP
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerCPPvirtualslot
setFoldComments(bool fold)QsciLexerCPPvirtualslot
setFoldCompact(bool fold)QsciLexerCPPvirtualslot
setFoldPreprocessor(bool fold)QsciLexerCPPvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHighlightBackQuotedStrings(bool enabled)QsciLexerCPP
setHighlightEscapeSequences(bool enabled)QsciLexerCPP
setHighlightHashQuotedStrings(bool enabled)QsciLexerCPP
setHighlightTripleQuotedStrings(bool enabled)QsciLexerCPP
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStylePreprocessor(bool style)QsciLexerCPPvirtualslot
setVerbatimStringEscapeSequencesAllowed(bool allowed)QsciLexerCPP
SingleQuotedString enum valueQsciLexerCPP
styleBitsNeeded() constQsciLexervirtual
stylePreprocessor() constQsciLexerCPPinline
TaskMarker enum valueQsciLexerCPP
TripleQuotedVerbatimString enum valueQsciLexerCPP
UnclosedString enum valueQsciLexerCPP
UserLiteral enum valueQsciLexerCPP
UUID enum valueQsciLexerCPP
VerbatimString enum valueQsciLexerCPP
verbatimStringEscapeSequencesAllowed() constQsciLexerCPPinline
wordCharacters() constQsciLexerCPPvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerCPPprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerCPP()QsciLexerCPPvirtual
~QsciLexerJavaScript()QsciLexerJavaScriptvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerJavaScript.html ================================================ QScintilla: QsciLexerJavaScript Class Reference
QScintilla  2.12.1
QsciLexerJavaScript Class Reference

#include <qscilexerjavascript.h>

Inherits QsciLexerCPP.

Public Member Functions

 QsciLexerJavaScript (QObject *parent=0)
 
virtual ~QsciLexerJavaScript ()
 
const char * language () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexerCPP
 QsciLexerCPP (QObject *parent=0, bool caseInsensitiveKeywords=false)
 
virtual ~QsciLexerCPP ()
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
void refreshProperties ()
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
bool stylePreprocessor () const
 
void setDollarsAllowed (bool allowed)
 
bool dollarsAllowed () const
 
void setHighlightTripleQuotedStrings (bool enabled)
 
bool highlightTripleQuotedStrings () const
 
void setHighlightHashQuotedStrings (bool enabled)
 
bool highlightHashQuotedStrings () const
 
void setHighlightBackQuotedStrings (bool enabled)
 
bool highlightBackQuotedStrings () const
 
void setHighlightEscapeSequences (bool enabled)
 
bool highlightEscapeSequences () const
 
void setVerbatimStringEscapeSequencesAllowed (bool allowed)
 
bool verbatimStringEscapeSequencesAllowed () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Types inherited from QsciLexerCPP
enum  {
  Default = 0, InactiveDefault = Default + 64, Comment = 1,
  InactiveComment = Comment + 64, CommentLine = 2, InactiveCommentLine = CommentLine + 64,
  CommentDoc = 3, InactiveCommentDoc = CommentDoc + 64, Number = 4,
  InactiveNumber = Number + 64, Keyword = 5, InactiveKeyword = Keyword + 64,
  DoubleQuotedString = 6, InactiveDoubleQuotedString = DoubleQuotedString + 64, SingleQuotedString = 7,
  InactiveSingleQuotedString = SingleQuotedString + 64, UUID = 8, InactiveUUID = UUID + 64,
  PreProcessor = 9, InactivePreProcessor = PreProcessor + 64, Operator = 10,
  InactiveOperator = Operator + 64, Identifier = 11, InactiveIdentifier = Identifier + 64,
  UnclosedString = 12, InactiveUnclosedString = UnclosedString + 64, VerbatimString = 13,
  InactiveVerbatimString = VerbatimString + 64, Regex = 14, InactiveRegex = Regex + 64,
  CommentLineDoc = 15, InactiveCommentLineDoc = CommentLineDoc + 64, KeywordSet2 = 16,
  InactiveKeywordSet2 = KeywordSet2 + 64, CommentDocKeyword = 17, InactiveCommentDocKeyword = CommentDocKeyword + 64,
  CommentDocKeywordError = 18, InactiveCommentDocKeywordError = CommentDocKeywordError + 64, GlobalClass = 19,
  InactiveGlobalClass = GlobalClass + 64, RawString = 20, InactiveRawString = RawString + 64,
  TripleQuotedVerbatimString = 21, InactiveTripleQuotedVerbatimString = TripleQuotedVerbatimString + 64, HashQuotedString = 22,
  InactiveHashQuotedString = HashQuotedString + 64, PreProcessorComment = 23, InactivePreProcessorComment = PreProcessorComment + 64,
  PreProcessorCommentLineDoc = 24, InactivePreProcessorCommentLineDoc = PreProcessorCommentLineDoc + 64, UserLiteral = 25,
  InactiveUserLiteral = UserLiteral + 64, TaskMarker = 26, InactiveTaskMarker = TaskMarker + 64,
  EscapeSequence = 27, InactiveEscapeSequence = EscapeSequence + 64
}
 
- Public Slots inherited from QsciLexerCPP
virtual void setFoldAtElse (bool fold)
 
virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
virtual void setStylePreprocessor (bool style)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexerCPP
bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerJavaScript class encapsulates the Scintilla JavaScript lexer.

Constructor & Destructor Documentation

◆ QsciLexerJavaScript()

QsciLexerJavaScript::QsciLexerJavaScript ( QObject *  parent = 0)

Construct a QsciLexerJavaScript with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ defaultColor()

QColor QsciLexerJavaScript::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexerCPP.

◆ defaultPaper()

QColor QsciLexerJavaScript::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexerCPP.

◆ keywords()

const char* QsciLexerJavaScript::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexerCPP.

◆ description()

QString QsciLexerJavaScript::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Reimplemented from QsciLexerCPP.

================================================ FILE: src/qscint/doc/html/classQsciLexerLua-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerLua Member List

This is the complete list of members for QsciLexerLua, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerLuavirtual
autoIndentStyle()QsciLexer
BasicFunctions enum valueQsciLexerLua
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerLuavirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerLuavirtual
caseSensitive() constQsciLexervirtual
Character enum valueQsciLexerLua
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerLua
CoroutinesIOSystemFacilities enum valueQsciLexerLua
Default enum valueQsciLexerLua
defaultColor(int style) constQsciLexerLuavirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerLuavirtual
defaultFont(int style) constQsciLexerLuavirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerLuavirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerLuavirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldCompact() constQsciLexerLua
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerLua
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerLua
keywords(int set) constQsciLexerLuavirtual
KeywordSet5 enum valueQsciLexerLua
KeywordSet6 enum valueQsciLexerLua
KeywordSet7 enum valueQsciLexerLua
KeywordSet8 enum valueQsciLexerLua
Label enum valueQsciLexerLua
language() constQsciLexerLuavirtual
lexer() constQsciLexerLuavirtual
lexerId() constQsciLexervirtual
LineComment enum valueQsciLexerLua
LiteralString enum valueQsciLexerLua
Number enum valueQsciLexerLua
Operator enum valueQsciLexerLua
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
Preprocessor enum valueQsciLexerLua
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerLua(QObject *parent=0)QsciLexerLua
readProperties(QSettings &qs, const QString &prefix)QsciLexerLuaprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerLuavirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldCompact(bool fold)QsciLexerLuavirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
String enum valueQsciLexerLua
StringTableMathsFunctions enum valueQsciLexerLua
styleBitsNeeded() constQsciLexervirtual
UnclosedString enum valueQsciLexerLua
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerLuaprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerLua()QsciLexerLuavirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerLua.html ================================================ QScintilla: QsciLexerLua Class Reference
QScintilla  2.12.1

#include <qscilexerlua.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, LineComment = 2,
  Number = 4, Keyword = 5, String = 6,
  Character = 7, LiteralString = 8, Preprocessor = 9,
  Operator = 10, Identifier = 11, UnclosedString = 12,
  BasicFunctions = 13, StringTableMathsFunctions = 14, CoroutinesIOSystemFacilities = 15,
  KeywordSet5 = 16, KeywordSet6 = 17, KeywordSet7 = 18,
  KeywordSet8 = 19, Label = 20
}
 

Public Slots

virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerLua (QObject *parent=0)
 
virtual ~QsciLexerLua ()
 
const char * language () const
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockStart (int *style=0) const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerLua class encapsulates the Scintilla Lua lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Lua lexer.

Enumerator
Default 

The default.

Comment 

A block comment.

LineComment 

A line comment.

Number 

A number.

Keyword 

A keyword.

String 

A string.

Character 

A character.

LiteralString 

A literal string.

Preprocessor 

Preprocessor.

Operator 

An operator.

Identifier 

An identifier.

UnclosedString 

The end of a line where a string is not closed.

BasicFunctions 

Basic functions.

StringTableMathsFunctions 

String, table and maths functions.

CoroutinesIOSystemFacilities 

Coroutines, I/O and system facilities.

KeywordSet5 

A keyword defined in keyword set number 5. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet6 

A keyword defined in keyword set number 6. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet7 

A keyword defined in keyword set number 7. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet8 

A keyword defined in keyword set number 8. The class must be sub-classed and re-implement keywords() to make use of this style.

Label 

A label.

Constructor & Destructor Documentation

◆ QsciLexerLua()

QsciLexerLua::QsciLexerLua ( QObject *  parent = 0)

Construct a QsciLexerLua with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerLua::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ autoCompletionWordSeparators()

QStringList QsciLexerLua::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerLua::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerLua::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerLua::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerLua::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerLua::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerLua::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldCompact()

bool QsciLexerLua::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldCompact

virtual void QsciLexerLua::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerLua::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerLua::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerMakefile-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerMakefile Member List

This is the complete list of members for QsciLexerMakefile, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerMakefile
Default enum valueQsciLexerMakefile
defaultColor(int style) constQsciLexerMakefilevirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerMakefilevirtual
defaultFont(int style) constQsciLexerMakefilevirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerMakefilevirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerMakefilevirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
Error enum valueQsciLexerMakefile
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexervirtual
language() constQsciLexerMakefilevirtual
lexer() constQsciLexerMakefilevirtual
lexerId() constQsciLexervirtual
Operator enum valueQsciLexerMakefile
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
Preprocessor enum valueQsciLexerMakefile
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerMakefile(QObject *parent=0)QsciLexerMakefile
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
Target enum valueQsciLexerMakefile
Variable enum valueQsciLexerMakefile
wordCharacters() constQsciLexerMakefilevirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerMakefile()QsciLexerMakefilevirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerMakefile.html ================================================ QScintilla: QsciLexerMakefile Class Reference
QScintilla  2.12.1
QsciLexerMakefile Class Reference

#include <qscilexermakefile.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, Preprocessor = 2,
  Variable = 3, Operator = 4, Target = 5,
  Error = 9
}
 

Public Member Functions

 QsciLexerMakefile (QObject *parent=0)
 
virtual ~QsciLexerMakefile ()
 
const char * language () const
 
const char * lexer () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerMakefile class encapsulates the Scintilla Makefile lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Makefile lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Preprocessor 

A pre-processor directive.

Variable 

A variable.

Operator 

An operator.

Target 

A target.

Error 

An error.

Constructor & Destructor Documentation

◆ QsciLexerMakefile()

QsciLexerMakefile::QsciLexerMakefile ( QObject *  parent = 0)

Construct a QsciLexerMakefile with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerMakefile::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerMakefile::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerMakefile::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerMakefile::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerMarkdown-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerMarkdown Member List

This is the complete list of members for QsciLexerMarkdown, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
BlockQuote enum valueQsciLexerMarkdown
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
CodeBackticks enum valueQsciLexerMarkdown
CodeBlock enum valueQsciLexerMarkdown
CodeDoubleBackticks enum valueQsciLexerMarkdown
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Default enum valueQsciLexerMarkdown
defaultColor(int style) constQsciLexerMarkdownvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerMarkdownvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerMarkdownvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerMarkdownvirtual
editor() constQsciLexerinline
EmphasisAsterisks enum valueQsciLexerMarkdown
EmphasisUnderscores enum valueQsciLexerMarkdown
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Header1 enum valueQsciLexerMarkdown
Header2 enum valueQsciLexerMarkdown
Header3 enum valueQsciLexerMarkdown
Header4 enum valueQsciLexerMarkdown
Header5 enum valueQsciLexerMarkdown
Header6 enum valueQsciLexerMarkdown
HorizontalRule enum valueQsciLexerMarkdown
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexervirtual
language() constQsciLexerMarkdownvirtual
lexer() constQsciLexerMarkdownvirtual
lexerId() constQsciLexervirtual
Link enum valueQsciLexerMarkdown
OrderedListItem enum valueQsciLexerMarkdown
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
Prechar enum valueQsciLexerMarkdown
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerMarkdown(QObject *parent=0)QsciLexerMarkdown
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
Special enum valueQsciLexerMarkdown
StrikeOut enum valueQsciLexerMarkdown
StrongEmphasisAsterisks enum valueQsciLexerMarkdown
StrongEmphasisUnderscores enum valueQsciLexerMarkdown
styleBitsNeeded() constQsciLexervirtual
UnorderedListItem enum valueQsciLexerMarkdown
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerMarkdown()QsciLexerMarkdownvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerMarkdown.html ================================================ QScintilla: QsciLexerMarkdown Class Reference
QScintilla  2.12.1
QsciLexerMarkdown Class Reference

#include <qscilexermarkdown.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Special = 1, StrongEmphasisAsterisks = 2,
  StrongEmphasisUnderscores = 3, EmphasisAsterisks = 4, EmphasisUnderscores = 5,
  Header1 = 6, Header2 = 7, Header3 = 8,
  Header4 = 9, Header5 = 10, Header6 = 11,
  Prechar = 12, UnorderedListItem = 13, OrderedListItem = 14,
  BlockQuote = 15, StrikeOut = 16, HorizontalRule = 17,
  Link = 18, CodeBackticks = 19, CodeDoubleBackticks = 20,
  CodeBlock = 21
}
 

Public Member Functions

 QsciLexerMarkdown (QObject *parent=0)
 
virtual ~QsciLexerMarkdown ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerMarkdown class encapsulates the Scintilla Markdown lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Markdown lexer.

Enumerator
Default 

The default.

Special 

Special (e.g. end-of-line codes if enabled).

StrongEmphasisAsterisks 

Strong emphasis using double asterisks.

StrongEmphasisUnderscores 

Strong emphasis using double underscores.

EmphasisAsterisks 

Emphasis using single asterisks.

EmphasisUnderscores 

Emphasis using single underscores.

Header1 

A level 1 header.

Header2 

A level 2 header.

Header3 

A level 3 header.

Header4 

A level 4 header.

Header5 

A level 5 header.

Header6 

A level 6 header.

Prechar 

Pre-char (up to three indent spaces, e.g. for a sub-list).

UnorderedListItem 

An unordered list item.

OrderedListItem 

An ordered list item.

BlockQuote 

A block quote.

StrikeOut 

Strike out.

HorizontalRule 

A horizontal rule.

Link 

A link.

CodeBackticks 

Code between backticks.

CodeDoubleBackticks 

Code between double backticks.

CodeBlock 

A code block.

Constructor & Destructor Documentation

◆ QsciLexerMarkdown()

QsciLexerMarkdown::QsciLexerMarkdown ( QObject *  parent = 0)

Construct a QsciLexerMarkdown with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerMarkdown::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerMarkdown::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerMarkdown::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerMarkdown::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerMatlab-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerMatlab Member List

This is the complete list of members for QsciLexerMatlab, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Command enum valueQsciLexerMatlab
Comment enum valueQsciLexerMatlab
Default enum valueQsciLexerMatlab
defaultColor(int style) constQsciLexerMatlabvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerMatlabvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerMatlabvirtual
DoubleQuotedString enum valueQsciLexerMatlab
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerMatlab
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerMatlab
keywords(int set) constQsciLexerMatlabvirtual
language() constQsciLexerMatlabvirtual
lexer() constQsciLexerMatlabvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerMatlab
Operator enum valueQsciLexerMatlab
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerMatlab(QObject *parent=0)QsciLexerMatlab
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SingleQuotedString enum valueQsciLexerMatlab
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerMatlab()QsciLexerMatlabvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerMatlab.html ================================================ QScintilla: QsciLexerMatlab Class Reference
QScintilla  2.12.1
QsciLexerMatlab Class Reference

#include <qscilexermatlab.h>

Inherits QsciLexer.

Inherited by QsciLexerOctave.

Public Types

enum  {
  Default = 0, Comment = 1, Command = 2,
  Number = 3, Keyword = 4, SingleQuotedString = 5,
  Operator = 6, Identifier = 7, DoubleQuotedString = 8
}
 

Public Member Functions

 QsciLexerMatlab (QObject *parent=0)
 
virtual ~QsciLexerMatlab ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerMatlab class encapsulates the Scintilla Matlab file lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Matlab file lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Command 

A command.

Number 

A number.

Keyword 

A keyword.

SingleQuotedString 

A single quoted string.

Operator 

An operator.

Identifier 

An identifier.

DoubleQuotedString 

A double quoted string.

Constructor & Destructor Documentation

◆ QsciLexerMatlab()

QsciLexerMatlab::QsciLexerMatlab ( QObject *  parent = 0)

Construct a QsciLexerMatlab with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerMatlab::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerOctave.

◆ defaultColor()

QColor QsciLexerMatlab::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerMatlab::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

Reimplemented in QsciLexerOctave.

◆ description()

QString QsciLexerMatlab::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerOctave-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerOctave Member List

This is the complete list of members for QsciLexerOctave, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Command enum valueQsciLexerMatlab
Comment enum valueQsciLexerMatlab
Default enum valueQsciLexerMatlab
defaultColor(int style) constQsciLexerMatlabvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerMatlabvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerMatlabvirtual
DoubleQuotedString enum valueQsciLexerMatlab
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerMatlab
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerMatlab
keywords(int set) constQsciLexerOctavevirtual
language() constQsciLexerOctavevirtual
lexer() constQsciLexerOctavevirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerMatlab
Operator enum valueQsciLexerMatlab
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerMatlab(QObject *parent=0)QsciLexerMatlab
QsciLexerOctave(QObject *parent=0)QsciLexerOctave
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SingleQuotedString enum valueQsciLexerMatlab
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerMatlab()QsciLexerMatlabvirtual
~QsciLexerOctave()QsciLexerOctavevirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerOctave.html ================================================ QScintilla: QsciLexerOctave Class Reference
QScintilla  2.12.1
QsciLexerOctave Class Reference

#include <qscilexeroctave.h>

Inherits QsciLexerMatlab.

Public Member Functions

 QsciLexerOctave (QObject *parent=0)
 
virtual ~QsciLexerOctave ()
 
const char * language () const
 
const char * lexer () const
 
const char * keywords (int set) const
 
- Public Member Functions inherited from QsciLexerMatlab
 QsciLexerMatlab (QObject *parent=0)
 
virtual ~QsciLexerMatlab ()
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Types inherited from QsciLexerMatlab
enum  {
  Default = 0, Comment = 1, Command = 2,
  Number = 3, Keyword = 4, SingleQuotedString = 5,
  Operator = 6, Identifier = 7, DoubleQuotedString = 8
}
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerOctave class encapsulates the Scintilla Octave file lexer.

Constructor & Destructor Documentation

◆ QsciLexerOctave()

QsciLexerOctave::QsciLexerOctave ( QObject *  parent = 0)

Construct a QsciLexerOctave with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerOctave::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexerMatlab.

◆ keywords()

const char* QsciLexerOctave::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexerMatlab.

================================================ FILE: src/qscint/doc/html/classQsciLexerPO-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerPO Member List

This is the complete list of members for QsciLexerPO, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerPO
Default enum valueQsciLexerPO
defaultColor(int style) constQsciLexerPOvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerPOvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerPOvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
Flags enum valueQsciLexerPO
foldComments() constQsciLexerPO
foldCompact() constQsciLexerPO
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Fuzzy enum valueQsciLexerPO
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexervirtual
language() constQsciLexerPOvirtual
lexer() constQsciLexerPOvirtual
lexerId() constQsciLexervirtual
MessageContext enum valueQsciLexerPO
MessageContextText enum valueQsciLexerPO
MessageContextTextEOL enum valueQsciLexerPO
MessageId enum valueQsciLexerPO
MessageIdText enum valueQsciLexerPO
MessageIdTextEOL enum valueQsciLexerPO
MessageString enum valueQsciLexerPO
MessageStringText enum valueQsciLexerPO
MessageStringTextEOL enum valueQsciLexerPO
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
ProgrammerComment enum valueQsciLexerPO
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerPO(QObject *parent=0)QsciLexerPO
readProperties(QSettings &qs, const QString &prefix)QsciLexerPOprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
Reference enum valueQsciLexerPO
refreshProperties()QsciLexerPOvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerPOvirtualslot
setFoldCompact(bool fold)QsciLexerPOvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerPOprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerPO()QsciLexerPOvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerPO.html ================================================ QScintilla: QsciLexerPO Class Reference
QScintilla  2.12.1

#include <qscilexerpo.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, MessageId = 2,
  MessageIdText = 3, MessageString = 4, MessageStringText = 5,
  MessageContext = 6, MessageContextText = 7, Fuzzy = 8,
  ProgrammerComment = 9, Reference = 10, Flags = 11,
  MessageIdTextEOL = 12, MessageStringTextEOL = 13, MessageContextTextEOL = 14
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerPO (QObject *parent=0)
 
virtual ~QsciLexerPO ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerPO class encapsulates the Scintilla PO lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the PO lexer.

Enumerator
Default 

The default.

Comment 

A comment.

MessageId 

A message identifier.

MessageIdText 

The text of a message identifier.

MessageString 

A message string.

MessageStringText 

The text of a message string.

MessageContext 

A message context.

MessageContextText 

The text of a message context.

Fuzzy 

The "fuzzy" flag.

ProgrammerComment 

A programmer comment.

Reference 

A reference.

Flags 

A flag.

MessageIdTextEOL 

A message identifier text end-of-line.

MessageStringTextEOL 

A message string text end-of-line.

MessageContextTextEOL 

A message context text end-of-line.

Constructor & Destructor Documentation

◆ QsciLexerPO()

QsciLexerPO::QsciLexerPO ( QObject *  parent = 0)

Construct a QsciLexerPO with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerPO::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerPO::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerPO::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerPO::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerPO::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerPO::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldComments

virtual void QsciLexerPO::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerPO::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerPO::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerPO::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerPOV-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerPOV Member List

This is the complete list of members for QsciLexerPOV, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
BadDirective enum valueQsciLexerPOV
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerPOVvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerPOV
CommentLine enum valueQsciLexerPOV
Default enum valueQsciLexerPOV
defaultColor(int style) constQsciLexerPOVvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerPOVvirtual
defaultFont(int style) constQsciLexerPOVvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerPOVvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerPOVvirtual
Directive enum valueQsciLexerPOV
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldComments() constQsciLexerPOV
foldCompact() constQsciLexerPOV
foldDirectives() constQsciLexerPOV
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerPOV
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexerPOVvirtual
KeywordSet6 enum valueQsciLexerPOV
KeywordSet7 enum valueQsciLexerPOV
KeywordSet8 enum valueQsciLexerPOV
language() constQsciLexerPOVvirtual
lexer() constQsciLexerPOVvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerPOV
ObjectsCSGAppearance enum valueQsciLexerPOV
Operator enum valueQsciLexerPOV
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PredefinedFunctions enum valueQsciLexerPOV
PredefinedIdentifiers enum valueQsciLexerPOV
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerPOV(QObject *parent=0)QsciLexerPOV
readProperties(QSettings &qs, const QString &prefix)QsciLexerPOVprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerPOVvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerPOVvirtualslot
setFoldCompact(bool fold)QsciLexerPOVvirtualslot
setFoldDirectives(bool fold)QsciLexerPOVvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
String enum valueQsciLexerPOV
styleBitsNeeded() constQsciLexervirtual
TypesModifiersItems enum valueQsciLexerPOV
UnclosedString enum valueQsciLexerPOV
wordCharacters() constQsciLexerPOVvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerPOVprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerPOV()QsciLexerPOVvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerPOV.html ================================================ QScintilla: QsciLexerPOV Class Reference
QScintilla  2.12.1

#include <qscilexerpov.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, CommentLine = 2,
  Number = 3, Operator = 4, Identifier = 5,
  String = 6, UnclosedString = 7, Directive = 8,
  BadDirective = 9, ObjectsCSGAppearance = 10, TypesModifiersItems = 11,
  PredefinedIdentifiers = 12, PredefinedFunctions = 13, KeywordSet6 = 14,
  KeywordSet7 = 15, KeywordSet8 = 16
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldDirectives (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerPOV (QObject *parent=0)
 
virtual ~QsciLexerPOV ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldDirectives () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerPOV class encapsulates the Scintilla POV lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the POV lexer.

Enumerator
Default 

The default.

Comment 

A comment.

CommentLine 

A comment line.

Number 

A number.

Operator 

An operator.

Identifier 

An identifier.

String 

A string.

UnclosedString 

The end of a line where a string is not closed.

Directive 

A directive.

BadDirective 

A bad directive.

ObjectsCSGAppearance 

Objects, CSG and appearance.

TypesModifiersItems 

Types, modifiers and items.

PredefinedIdentifiers 

Predefined identifiers.

PredefinedFunctions 

Predefined identifiers.

KeywordSet6 

A keyword defined in keyword set number 6. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet7 

A keyword defined in keyword set number 7. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet8 

A keyword defined in keyword set number 8. The class must be sub-classed and re-implement keywords() to make use of this style.

Constructor & Destructor Documentation

◆ QsciLexerPOV()

QsciLexerPOV::QsciLexerPOV ( QObject *  parent = 0)

Construct a QsciLexerPOV with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerPOV::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerPOV::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerPOV::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerPOV::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerPOV::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerPOV::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerPOV::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerPOV::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ foldDirectives()

bool QsciLexerPOV::foldDirectives ( ) const

Returns true if directives can be folded.

See also
setFoldDirectives()

◆ setFoldComments

virtual void QsciLexerPOV::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerPOV::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ setFoldDirectives

virtual void QsciLexerPOV::setFoldDirectives ( bool  fold)
virtualslot

If fold is true then directives can be folded. The default is false.

See also
foldDirectives()

◆ readProperties()

bool QsciLexerPOV::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerPOV::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerPascal-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerPascal Member List

This is the complete list of members for QsciLexerPascal, including all inherited members.

apis() constQsciLexer
Asm enum valueQsciLexerPascal
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerPascalvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexerPascalvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerPascalvirtual
blockStartKeyword(int *style=0) constQsciLexerPascalvirtual
braceStyle() constQsciLexerPascalvirtual
caseSensitive() constQsciLexervirtual
Character enum valueQsciLexerPascal
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerPascal
CommentLine enum valueQsciLexerPascal
CommentParenthesis enum valueQsciLexerPascal
Default enum valueQsciLexerPascal
defaultColor(int style) constQsciLexerPascalvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerPascalvirtual
defaultFont(int style) constQsciLexerPascalvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerPascalvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerPascalvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldComments() constQsciLexerPascal
foldCompact() constQsciLexerPascal
foldPreprocessor() constQsciLexerPascal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
HexNumber enum valueQsciLexerPascal
Identifier enum valueQsciLexerPascal
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerPascal
keywords(int set) constQsciLexerPascalvirtual
language() constQsciLexerPascalvirtual
lexer() constQsciLexerPascalvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerPascal
Operator enum valueQsciLexerPascal
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PreProcessor enum valueQsciLexerPascal
PreProcessorParenthesis enum valueQsciLexerPascal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerPascal(QObject *parent=0)QsciLexerPascal
readProperties(QSettings &qs, const QString &prefix)QsciLexerPascalprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerPascalvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerPascalvirtualslot
setFoldCompact(bool fold)QsciLexerPascalvirtualslot
setFoldPreprocessor(bool fold)QsciLexerPascalvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setSmartHighlighting(bool enabled)QsciLexerPascal
SingleQuotedString enum valueQsciLexerPascal
smartHighlighting() constQsciLexerPascal
styleBitsNeeded() constQsciLexervirtual
UnclosedString enum valueQsciLexerPascal
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerPascalprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerPascal()QsciLexerPascalvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerPascal.html ================================================ QScintilla: QsciLexerPascal Class Reference
QScintilla  2.12.1

#include <qscilexerpascal.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Identifier = 1, Comment = 2,
  CommentParenthesis = 3, CommentLine = 4, PreProcessor = 5,
  PreProcessorParenthesis = 6, Number = 7, HexNumber = 8,
  Keyword = 9, SingleQuotedString = 10, UnclosedString = 11,
  Character = 12, Operator = 13, Asm = 14
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerPascal (QObject *parent=0)
 
virtual ~QsciLexerPascal ()
 
const char * language () const
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
void setSmartHighlighting (bool enabled)
 
bool smartHighlighting () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerPascal class encapsulates the Scintilla Pascal lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the C++ lexer.

Enumerator
Default 

The default.

Identifier 

An identifier.

Comment 

A '{ ... }' style comment.

CommentParenthesis 

A '(* ... *)' style comment.

CommentLine 

A comment line.

PreProcessor 

A '{$ ... }' style pre-processor block.

PreProcessorParenthesis 

A '(*$ ... *)' style pre-processor block.

Number 

A number.

HexNumber 

A hexadecimal number.

Keyword 

A keyword.

SingleQuotedString 

A single-quoted string.

UnclosedString 

The end of a line where a string is not closed.

Character 

A character.

Operator 

An operator.

Asm 

Inline Asm.

Constructor & Destructor Documentation

◆ QsciLexerPascal()

QsciLexerPascal::QsciLexerPascal ( QObject *  parent = 0)

Construct a QsciLexerPascal with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerPascal::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ autoCompletionWordSeparators()

QStringList QsciLexerPascal::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

◆ blockEnd()

const char* QsciLexerPascal::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerPascal::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStartKeyword()

const char* QsciLexerPascal::blockStartKeyword ( int *  style = 0) const
virtual

Returns a space separated list of keywords in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerPascal::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerPascal::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerPascal::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerPascal::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerPascal::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerPascal::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerPascal::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ foldPreprocessor()

bool QsciLexerPascal::foldPreprocessor ( ) const

Returns true if preprocessor blocks can be folded.

See also
setFoldPreprocessor()

◆ setSmartHighlighting()

void QsciLexerPascal::setSmartHighlighting ( bool  enabled)

If enabled is true then some keywords will only be highlighted in an appropriate context (similar to how the Delphi IDE works). The default is true.

See also
smartHighlighting()

◆ smartHighlighting()

bool QsciLexerPascal::smartHighlighting ( ) const

Returns true if some keywords will only be highlighted in an appropriate context (similar to how the Delphi IDE works).

See also
setSmartHighlighting()

◆ setFoldComments

virtual void QsciLexerPascal::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerPascal::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ setFoldPreprocessor

virtual void QsciLexerPascal::setFoldPreprocessor ( bool  fold)
virtualslot

If fold is true then preprocessor blocks can be folded. The default is true.

See also
foldPreprocessor()

◆ readProperties()

bool QsciLexerPascal::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
writeProperties()

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerPascal::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
readProperties()

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerPerl-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerPerl Member List

This is the complete list of members for QsciLexerPerl, including all inherited members.

apis() constQsciLexer
Array enum valueQsciLexerPerl
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerPerlvirtual
autoIndentStyle()QsciLexer
BacktickHereDocument enum valueQsciLexerPerl
BacktickHereDocumentVar enum valueQsciLexerPerl
Backticks enum valueQsciLexerPerl
BackticksVar enum valueQsciLexerPerl
blockEnd(int *style=0) constQsciLexerPerlvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerPerlvirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerPerlvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerPerl
DataSection enum valueQsciLexerPerl
Default enum valueQsciLexerPerl
defaultColor(int style) constQsciLexerPerlvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerPerlvirtual
defaultFont(int style) constQsciLexerPerlvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerPerlvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerPerlvirtual
DoubleQuotedHereDocument enum valueQsciLexerPerl
DoubleQuotedHereDocumentVar enum valueQsciLexerPerl
DoubleQuotedString enum valueQsciLexerPerl
DoubleQuotedStringVar enum valueQsciLexerPerl
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
Error enum valueQsciLexerPerl
foldAtElse() constQsciLexerPerlinline
foldComments() constQsciLexerPerl
foldCompact() constQsciLexerPerl
foldPackages() constQsciLexerPerl
foldPODBlocks() constQsciLexerPerl
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
FormatBody enum valueQsciLexerPerl
FormatIdentifier enum valueQsciLexerPerl
Hash enum valueQsciLexerPerl
HereDocumentDelimiter enum valueQsciLexerPerl
Identifier enum valueQsciLexerPerl
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerPerl
keywords(int set) constQsciLexerPerlvirtual
language() constQsciLexerPerlvirtual
lexer() constQsciLexerPerlvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerPerl
Operator enum valueQsciLexerPerl
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
POD enum valueQsciLexerPerl
PODVerbatim enum valueQsciLexerPerl
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerPerl(QObject *parent=0)QsciLexerPerl
QuotedStringQ enum valueQsciLexerPerl
QuotedStringQQ enum valueQsciLexerPerl
QuotedStringQQVar enum valueQsciLexerPerl
QuotedStringQR enum valueQsciLexerPerl
QuotedStringQRVar enum valueQsciLexerPerl
QuotedStringQW enum valueQsciLexerPerl
QuotedStringQX enum valueQsciLexerPerl
QuotedStringQXVar enum valueQsciLexerPerl
readProperties(QSettings &qs, const QString &prefix)QsciLexerPerlprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerPerlvirtual
Regex enum valueQsciLexerPerl
RegexVar enum valueQsciLexerPerl
Scalar enum valueQsciLexerPerl
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerPerl
setFoldComments(bool fold)QsciLexerPerlvirtualslot
setFoldCompact(bool fold)QsciLexerPerlvirtualslot
setFoldPackages(bool fold)QsciLexerPerl
setFoldPODBlocks(bool fold)QsciLexerPerl
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SingleQuotedHereDocument enum valueQsciLexerPerl
SingleQuotedString enum valueQsciLexerPerl
styleBitsNeeded() constQsciLexervirtual
SubroutinePrototype enum valueQsciLexerPerl
Substitution enum valueQsciLexerPerl
SubstitutionVar enum valueQsciLexerPerl
SymbolTable enum valueQsciLexerPerl
Translation enum valueQsciLexerPerl
wordCharacters() constQsciLexerPerlvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerPerlprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerPerl()QsciLexerPerlvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerPerl.html ================================================ QScintilla: QsciLexerPerl Class Reference
QScintilla  2.12.1

#include <qscilexerperl.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Error = 1, Comment = 2,
  POD = 3, Number = 4, Keyword = 5,
  DoubleQuotedString = 6, SingleQuotedString = 7, Operator = 10,
  Identifier = 11, Scalar = 12, Array = 13,
  Hash = 14, SymbolTable = 15, Regex = 17,
  Substitution = 18, Backticks = 20, DataSection = 21,
  HereDocumentDelimiter = 22, SingleQuotedHereDocument = 23, DoubleQuotedHereDocument = 24,
  BacktickHereDocument = 25, QuotedStringQ = 26, QuotedStringQQ = 27,
  QuotedStringQX = 28, QuotedStringQR = 29, QuotedStringQW = 30,
  PODVerbatim = 31, SubroutinePrototype = 40, FormatIdentifier = 41,
  FormatBody = 42, DoubleQuotedStringVar = 43, Translation = 44,
  RegexVar = 54, SubstitutionVar = 55, BackticksVar = 57,
  DoubleQuotedHereDocumentVar = 61, BacktickHereDocumentVar = 62, QuotedStringQQVar = 64,
  QuotedStringQXVar = 65, QuotedStringQRVar = 66
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerPerl (QObject *parent=0)
 
virtual ~QsciLexerPerl ()
 
const char * language () const
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
void setFoldAtElse (bool fold)
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
void setFoldPackages (bool fold)
 
bool foldPackages () const
 
void setFoldPODBlocks (bool fold)
 
bool foldPODBlocks () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerPerl class encapsulates the Scintilla Perl lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Perl lexer.

Enumerator
Default 

The default.

Error 

An error.

Comment 

A comment.

POD 

A POD.

Number 

A number.

Keyword 

A keyword.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

Operator 

An operator.

Identifier 

An identifier.

Scalar 

A scalar.

Array 

An array.

Hash 

A hash.

SymbolTable 

A symbol table.

Regex 

A regular expression.

Substitution 

A substitution.

Backticks 

Backticks.

DataSection 

A data section.

HereDocumentDelimiter 

A here document delimiter.

SingleQuotedHereDocument 

A single quoted here document.

DoubleQuotedHereDocument 

A double quoted here document.

BacktickHereDocument 

A backtick here document.

QuotedStringQ 

A quoted string (q).

QuotedStringQQ 

A quoted string (qq).

QuotedStringQX 

A quoted string (qx).

QuotedStringQR 

A quoted string (qr).

QuotedStringQW 

A quoted string (qw).

PODVerbatim 

A verbatim POD.

SubroutinePrototype 

A Subroutine prototype.

FormatIdentifier 

A format identifier.

FormatBody 

A format body.

DoubleQuotedStringVar 

A double-quoted string (interpolated variable).

Translation 

A translation.

RegexVar 

A regular expression (interpolated variable).

SubstitutionVar 

A substitution (interpolated variable).

BackticksVar 

Backticks (interpolated variable).

DoubleQuotedHereDocumentVar 

A double quoted here document (interpolated variable).

BacktickHereDocumentVar 

A backtick here document (interpolated variable).

QuotedStringQQVar 

A quoted string (qq, interpolated variable).

QuotedStringQXVar 

A quoted string (qx, interpolated variable).

QuotedStringQRVar 

A quoted string (qr, interpolated variable).

Constructor & Destructor Documentation

◆ QsciLexerPerl()

QsciLexerPerl::QsciLexerPerl ( QObject *  parent = 0)

Construct a QsciLexerPerl with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerPerl::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ autoCompletionWordSeparators()

QStringList QsciLexerPerl::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

◆ blockEnd()

const char* QsciLexerPerl::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerPerl::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerPerl::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerPerl::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerPerl::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerPerl::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerPerl::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ setFoldAtElse()

void QsciLexerPerl::setFoldAtElse ( bool  fold)

If fold is true then "} else {" lines can be folded. The default is false.

See also
foldAtElse()

◆ foldAtElse()

bool QsciLexerPerl::foldAtElse ( ) const
inline

Returns true if "} else {" lines can be folded.

See also
setFoldAtElse()

◆ foldComments()

bool QsciLexerPerl::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerPerl::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldPackages()

void QsciLexerPerl::setFoldPackages ( bool  fold)

If fold is true then packages can be folded. The default is true.

See also
foldPackages()

◆ foldPackages()

bool QsciLexerPerl::foldPackages ( ) const

Returns true if packages can be folded.

See also
setFoldPackages()

◆ setFoldPODBlocks()

void QsciLexerPerl::setFoldPODBlocks ( bool  fold)

If fold is true then POD blocks can be folded. The default is true.

See also
foldPODBlocks()

◆ foldPODBlocks()

bool QsciLexerPerl::foldPODBlocks ( ) const

Returns true if POD blocks can be folded.

See also
setFoldPODBlocks()

◆ setFoldComments

virtual void QsciLexerPerl::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerPerl::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerPerl::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerPerl::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerPostScript-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerPostScript Member List

This is the complete list of members for QsciLexerPostScript, including all inherited members.

apis() constQsciLexer
ArrayParenthesis enum valueQsciLexerPostScript
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
BadStringCharacter enum valueQsciLexerPostScript
Base85String enum valueQsciLexerPostScript
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerPostScriptvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerPostScript
Default enum valueQsciLexerPostScript
defaultColor(int style) constQsciLexerPostScriptvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerPostScriptvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerPostScriptvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerPostScriptvirtual
DictionaryParenthesis enum valueQsciLexerPostScript
DSCComment enum valueQsciLexerPostScript
DSCCommentValue enum valueQsciLexerPostScript
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldAtElse() constQsciLexerPostScript
foldCompact() constQsciLexerPostScript
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
HexString enum valueQsciLexerPostScript
ImmediateEvalLiteral enum valueQsciLexerPostScript
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerPostScript
keywords(int set) constQsciLexerPostScriptvirtual
language() constQsciLexerPostScriptvirtual
level() constQsciLexerPostScript
lexer() constQsciLexerPostScriptvirtual
lexerId() constQsciLexervirtual
Literal enum valueQsciLexerPostScript
Name enum valueQsciLexerPostScript
Number enum valueQsciLexerPostScript
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
ProcedureParenthesis enum valueQsciLexerPostScript
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerPostScript(QObject *parent=0)QsciLexerPostScript
readProperties(QSettings &qs, const QString &prefix)QsciLexerPostScriptprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerPostScriptvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerPostScriptvirtualslot
setFoldCompact(bool fold)QsciLexerPostScriptvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setLevel(int level)QsciLexerPostScriptvirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setTokenize(bool tokenize)QsciLexerPostScriptvirtualslot
styleBitsNeeded() constQsciLexervirtual
Text enum valueQsciLexerPostScript
tokenize() constQsciLexerPostScript
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerPostScriptprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerPostScript()QsciLexerPostScriptvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerPostScript.html ================================================ QScintilla: QsciLexerPostScript Class Reference
QScintilla  2.12.1

#include <qscilexerpostscript.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, DSCComment = 2,
  DSCCommentValue = 3, Number = 4, Name = 5,
  Keyword = 6, Literal = 7, ImmediateEvalLiteral = 8,
  ArrayParenthesis = 9, DictionaryParenthesis = 10, ProcedureParenthesis = 11,
  Text = 12, HexString = 13, Base85String = 14,
  BadStringCharacter = 15
}
 

Public Slots

virtual void setTokenize (bool tokenize)
 
virtual void setLevel (int level)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldAtElse (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerPostScript (QObject *parent=0)
 
virtual ~QsciLexerPostScript ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool tokenize () const
 
int level () const
 
bool foldCompact () const
 
bool foldAtElse () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerPostScript class encapsulates the Scintilla PostScript lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the PostScript lexer.

Enumerator
Default 

The default.

Comment 

A comment.

DSCComment 

A DSC comment.

DSCCommentValue 

A DSC comment value.

Number 

A number.

Name 

A name.

Keyword 

A keyword.

Literal 

A literal.

ImmediateEvalLiteral 

An immediately evaluated literal.

ArrayParenthesis 

Array parenthesis.

DictionaryParenthesis 

Dictionary parenthesis.

ProcedureParenthesis 

Procedure parenthesis.

Text 

Text.

HexString 

A hexadecimal string.

Base85String 

A base85 string.

BadStringCharacter 

A bad string character.

Constructor & Destructor Documentation

◆ QsciLexerPostScript()

QsciLexerPostScript::QsciLexerPostScript ( QObject *  parent = 0)

Construct a QsciLexerPostScript with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerPostScript::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerPostScript::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerPostScript::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerPostScript::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string. Set 5 can be used to provide additional user defined keywords.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerPostScript::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerPostScript::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ tokenize()

bool QsciLexerPostScript::tokenize ( ) const

Returns true if tokens should be marked.

See also
setTokenize()

◆ level()

int QsciLexerPostScript::level ( ) const

Returns the PostScript level.

See also
setLevel()

◆ foldCompact()

bool QsciLexerPostScript::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ foldAtElse()

bool QsciLexerPostScript::foldAtElse ( ) const

Returns true if else blocks can be folded.

See also
setFoldAtElse()

◆ setTokenize

virtual void QsciLexerPostScript::setTokenize ( bool  tokenize)
virtualslot

If tokenize is true then tokens are marked. The default is false.

See also
tokenize()

◆ setLevel

virtual void QsciLexerPostScript::setLevel ( int  level)
virtualslot

The PostScript level is set to level. The default is 3.

See also
level()

◆ setFoldCompact

virtual void QsciLexerPostScript::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ setFoldAtElse

virtual void QsciLexerPostScript::setFoldAtElse ( bool  fold)
virtualslot

If fold is true then else blocks can be folded. The default is false.

See also
foldAtElse()

◆ readProperties()

bool QsciLexerPostScript::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerPostScript::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerProperties-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerProperties Member List

This is the complete list of members for QsciLexerProperties, including all inherited members.

apis() constQsciLexer
Assignment enum valueQsciLexerProperties
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerProperties
Default enum valueQsciLexerProperties
defaultColor(int style) constQsciLexerPropertiesvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerPropertiesvirtual
defaultFont(int style) constQsciLexerPropertiesvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerPropertiesvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
DefaultValue enum valueQsciLexerProperties
description(int style) constQsciLexerPropertiesvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldCompact() constQsciLexerPropertiesinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
indentationGuideView() constQsciLexervirtual
initialSpaces() constQsciLexerPropertiesinline
Key enum valueQsciLexerProperties
keywords(int set) constQsciLexervirtual
language() constQsciLexerPropertiesvirtual
lexer() constQsciLexerPropertiesvirtual
lexerId() constQsciLexervirtual
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerProperties(QObject *parent=0)QsciLexerProperties
readProperties(QSettings &qs, const QString &prefix)QsciLexerPropertiesprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerPropertiesvirtual
Section enum valueQsciLexerProperties
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldCompact(bool fold)QsciLexerPropertiesvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setInitialSpaces(bool enable)QsciLexerProperties
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexerPropertiesvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerPropertiesprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerProperties()QsciLexerPropertiesvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerProperties.html ================================================ QScintilla: QsciLexerProperties Class Reference
QScintilla  2.12.1

#include <qscilexerproperties.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, Section = 2,
  Assignment = 3, DefaultValue = 4, Key = 5
}
 

Public Slots

virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerProperties (QObject *parent=0)
 
virtual ~QsciLexerProperties ()
 
const char * language () const
 
const char * lexer () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldCompact () const
 
void setInitialSpaces (bool enable)
 
bool initialSpaces () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual const char * keywords (int set) const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerProperties class encapsulates the Scintilla Properties lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Properties lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Section 

A section.

Assignment 

An assignment operator.

DefaultValue 

A default value.

Key 

A key.

Constructor & Destructor Documentation

◆ QsciLexerProperties()

QsciLexerProperties::QsciLexerProperties ( QObject *  parent = 0)

Construct a QsciLexerProperties with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerProperties::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerProperties::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerProperties::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerProperties::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerProperties::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldCompact()

bool QsciLexerProperties::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setInitialSpaces()

void QsciLexerProperties::setInitialSpaces ( bool  enable)

If enable is true then initial spaces in a line are allowed. The default is true.

See also
initialSpaces()

◆ initialSpaces()

bool QsciLexerProperties::initialSpaces ( ) const
inline

Returns true if initial spaces in a line are allowed.

See also
setInitialSpaces()

◆ setFoldCompact

virtual void QsciLexerProperties::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerProperties::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
writeProperties()

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerProperties::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
readProperties()

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerPython-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerPython Member List

This is the complete list of members for QsciLexerPython, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexerPythonvirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexerPythonvirtual
blockStart(int *style=0) constQsciLexerPythonvirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerPythonvirtual
caseSensitive() constQsciLexervirtual
ClassName enum valueQsciLexerPython
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerPython
CommentBlock enum valueQsciLexerPython
Decorator enum valueQsciLexerPython
Default enum valueQsciLexerPython
defaultColor(int style) constQsciLexerPythonvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerPythonvirtual
defaultFont(int style) constQsciLexerPythonvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerPythonvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerPythonvirtual
DoubleQuotedFString enum valueQsciLexerPython
DoubleQuotedString enum valueQsciLexerPython
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldComments() constQsciLexerPythoninline
foldCompact() constQsciLexerPythoninline
foldQuotes() constQsciLexerPythoninline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
FunctionMethodName enum valueQsciLexerPython
HighlightedIdentifier enum valueQsciLexerPython
highlightSubidentifiers() constQsciLexerPythoninline
Identifier enum valueQsciLexerPython
Inconsistent enum valueQsciLexerPython
indentationGuideView() constQsciLexerPythonvirtual
IndentationWarning enum nameQsciLexerPython
indentationWarning() constQsciLexerPythoninline
Keyword enum valueQsciLexerPython
keywords(int set) constQsciLexerPythonvirtual
language() constQsciLexerPythonvirtual
lexer() constQsciLexerPythonvirtual
lexerId() constQsciLexervirtual
NoWarning enum valueQsciLexerPython
Number enum valueQsciLexerPython
Operator enum valueQsciLexerPython
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerPython(QObject *parent=0)QsciLexerPython
readProperties(QSettings &qs, const QString &prefix)QsciLexerPythonprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerPythonvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerPythonvirtualslot
setFoldCompact(bool fold)QsciLexerPython
setFoldQuotes(bool fold)QsciLexerPythonvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHighlightSubidentifiers(bool enabled)QsciLexerPython
setIndentationWarning(QsciLexerPython::IndentationWarning warn)QsciLexerPythonvirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setStringsOverNewlineAllowed(bool allowed)QsciLexerPython
setV2UnicodeAllowed(bool allowed)QsciLexerPython
setV3BinaryOctalAllowed(bool allowed)QsciLexerPython
setV3BytesAllowed(bool allowed)QsciLexerPython
SingleQuotedFString enum valueQsciLexerPython
SingleQuotedString enum valueQsciLexerPython
Spaces enum valueQsciLexerPython
stringsOverNewlineAllowed() constQsciLexerPythoninline
styleBitsNeeded() constQsciLexervirtual
Tabs enum valueQsciLexerPython
TabsAfterSpaces enum valueQsciLexerPython
TripleDoubleQuotedFString enum valueQsciLexerPython
TripleDoubleQuotedString enum valueQsciLexerPython
TripleSingleQuotedFString enum valueQsciLexerPython
TripleSingleQuotedString enum valueQsciLexerPython
UnclosedString enum valueQsciLexerPython
v2UnicodeAllowed() constQsciLexerPythoninline
v3BinaryOctalAllowed() constQsciLexerPythoninline
v3BytesAllowed() constQsciLexerPythoninline
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerPythonprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerPython()QsciLexerPythonvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerPython.html ================================================ QScintilla: QsciLexerPython Class Reference
QScintilla  2.12.1

#include <qscilexerpython.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, Number = 2,
  DoubleQuotedString = 3, SingleQuotedString = 4, Keyword = 5,
  TripleSingleQuotedString = 6, TripleDoubleQuotedString = 7, ClassName = 8,
  FunctionMethodName = 9, Operator = 10, Identifier = 11,
  CommentBlock = 12, UnclosedString = 13, HighlightedIdentifier = 14,
  Decorator = 15, DoubleQuotedFString = 16, SingleQuotedFString = 17,
  TripleSingleQuotedFString = 18, TripleDoubleQuotedFString = 19
}
 
enum  IndentationWarning {
  NoWarning = 0, Inconsistent = 1, TabsAfterSpaces = 2,
  Spaces = 3, Tabs = 4
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldQuotes (bool fold)
 
virtual void setIndentationWarning (QsciLexerPython::IndentationWarning warn)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerPython (QObject *parent=0)
 
virtual ~QsciLexerPython ()
 
const char * language () const
 
const char * lexer () const
 
QStringList autoCompletionWordSeparators () const
 
int blockLookback () const
 
const char * blockStart (int *style=0) const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
virtual int indentationGuideView () const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
void setFoldCompact (bool fold)
 
bool foldCompact () const
 
bool foldQuotes () const
 
QsciLexerPython::IndentationWarning indentationWarning () const
 
void setHighlightSubidentifiers (bool enabled)
 
bool highlightSubidentifiers () const
 
void setStringsOverNewlineAllowed (bool allowed)
 
bool stringsOverNewlineAllowed () const
 
void setV2UnicodeAllowed (bool allowed)
 
bool v2UnicodeAllowed () const
 
void setV3BinaryOctalAllowed (bool allowed)
 
bool v3BinaryOctalAllowed () const
 
void setV3BytesAllowed (bool allowed)
 
bool v3BytesAllowed () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerPython class encapsulates the Scintilla Python lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Python lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Number 

A number.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

Keyword 

A keyword.

TripleSingleQuotedString 

A triple single-quoted string.

TripleDoubleQuotedString 

A triple double-quoted string.

ClassName 

The name of a class.

FunctionMethodName 

The name of a function or method.

Operator 

An operator.

Identifier 

An identifier.

CommentBlock 

A comment block.

UnclosedString 

The end of a line where a string is not closed.

HighlightedIdentifier 

A highlighted identifier. These are defined by keyword set

  1. Reimplement keywords() to define keyword set 2.
Decorator 

A decorator.

DoubleQuotedFString 

A double-quoted f-string.

SingleQuotedFString 

A single-quoted f-string.

TripleSingleQuotedFString 

A triple single-quoted f-string.

TripleDoubleQuotedFString 

A triple double-quoted f-string.

◆ IndentationWarning

This enum defines the different conditions that can cause indentations to be displayed as being bad.

Enumerator
NoWarning 

Bad indentation is not displayed differently.

Inconsistent 

The indentation is inconsistent when compared to the previous line, ie. it is made up of a different combination of tabs and/or spaces.

TabsAfterSpaces 

The indentation is made up of spaces followed by tabs.

Spaces 

The indentation contains spaces.

Tabs 

The indentation contains tabs.

Constructor & Destructor Documentation

◆ QsciLexerPython()

QsciLexerPython::QsciLexerPython ( QObject *  parent = 0)

Construct a QsciLexerPython with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerPython::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ autoCompletionWordSeparators()

QStringList QsciLexerPython::autoCompletionWordSeparators ( ) const
virtual

Returns the list of character sequences that can separate auto-completion words. The first in the list is assumed to be the sequence used to separate words in the lexer's API files.

Reimplemented from QsciLexer.

◆ blockLookback()

int QsciLexerPython::blockLookback ( ) const
virtual

Returns the number of lines prior to the current one when determining the scope of a block when auto-indenting.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerPython::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerPython::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerPython::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerPython::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerPython::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerPython::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerPython::foldComments ( ) const
inline

Returns true if indented comment blocks can be folded.

See also
setFoldComments()

◆ setFoldCompact()

void QsciLexerPython::setFoldCompact ( bool  fold)

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ foldCompact()

bool QsciLexerPython::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ foldQuotes()

bool QsciLexerPython::foldQuotes ( ) const
inline

Returns true if triple quoted strings can be folded.

See also
setFoldQuotes()

◆ indentationWarning()

QsciLexerPython::IndentationWarning QsciLexerPython::indentationWarning ( ) const
inline

Returns the condition that will cause bad indentations to be displayed.

See also
setIndentationWarning()

◆ setHighlightSubidentifiers()

void QsciLexerPython::setHighlightSubidentifiers ( bool  enabled)

If enabled is true then sub-identifiers defined in keyword set 2 will be highlighted. For example, if it is false and "open" is defined in keyword set 2 then "foo.open" will not be highlighted. The default is true.

See also
highlightSubidentifiers()

◆ highlightSubidentifiers()

bool QsciLexerPython::highlightSubidentifiers ( ) const
inline

Returns true if string literals are allowed to span newline characters.

See also
setHighlightSubidentifiers()

◆ setStringsOverNewlineAllowed()

void QsciLexerPython::setStringsOverNewlineAllowed ( bool  allowed)

If allowed is true then string literals are allowed to span newline characters. The default is false.

See also
stringsOverNewlineAllowed()

◆ stringsOverNewlineAllowed()

bool QsciLexerPython::stringsOverNewlineAllowed ( ) const
inline

Returns true if string literals are allowed to span newline characters.

See also
setStringsOverNewlineAllowed()

◆ setV2UnicodeAllowed()

void QsciLexerPython::setV2UnicodeAllowed ( bool  allowed)

If allowed is true then Python v2 unicode string literals (e.g. u"utf8") are allowed. The default is true.

See also
v2UnicodeAllowed()

◆ v2UnicodeAllowed()

bool QsciLexerPython::v2UnicodeAllowed ( ) const
inline

Returns true if Python v2 unicode string literals (e.g. u"utf8") are allowed.

See also
setV2UnicodeAllowed()

◆ setV3BinaryOctalAllowed()

void QsciLexerPython::setV3BinaryOctalAllowed ( bool  allowed)

If allowed is true then Python v3 binary and octal literals (e.g. 0b1011, 0o712) are allowed. The default is true.

See also
v3BinaryOctalAllowed()

◆ v3BinaryOctalAllowed()

bool QsciLexerPython::v3BinaryOctalAllowed ( ) const
inline

Returns true if Python v3 binary and octal literals (e.g. 0b1011, 0o712) are allowed.

See also
setV3BinaryOctalAllowed()

◆ setV3BytesAllowed()

void QsciLexerPython::setV3BytesAllowed ( bool  allowed)

If allowed is true then Python v3 bytes string literals (e.g. b"bytes") are allowed. The default is true.

See also
v3BytesAllowed()

◆ v3BytesAllowed()

bool QsciLexerPython::v3BytesAllowed ( ) const
inline

Returns true if Python v3 bytes string literals (e.g. b"bytes") are allowed.

See also
setV3BytesAllowed()

◆ setFoldComments

virtual void QsciLexerPython::setFoldComments ( bool  fold)
virtualslot

If fold is true then indented comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldQuotes

virtual void QsciLexerPython::setFoldQuotes ( bool  fold)
virtualslot

If fold is true then triple quoted strings can be folded. The default is false.

See also
foldQuotes()

◆ setIndentationWarning

virtual void QsciLexerPython::setIndentationWarning ( QsciLexerPython::IndentationWarning  warn)
virtualslot

Sets the condition that will cause bad indentations to be displayed.

See also
indentationWarning()

◆ readProperties()

bool QsciLexerPython::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerPython::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerRuby-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerRuby Member List

This is the complete list of members for QsciLexerRuby, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
Backticks enum valueQsciLexerRuby
blockEnd(int *style=0) constQsciLexerRubyvirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexerRubyvirtual
blockStartKeyword(int *style=0) constQsciLexerRubyvirtual
braceStyle() constQsciLexerRubyvirtual
caseSensitive() constQsciLexervirtual
ClassName enum valueQsciLexerRuby
ClassVariable enum valueQsciLexerRuby
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerRuby
DataSection enum valueQsciLexerRuby
Default enum valueQsciLexerRuby
defaultColor(int style) constQsciLexerRubyvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerRubyvirtual
defaultFont(int style) constQsciLexerRubyvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerRubyvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
DemotedKeyword enum valueQsciLexerRuby
description(int style) constQsciLexerRubyvirtual
DoubleQuotedString enum valueQsciLexerRuby
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
Error enum valueQsciLexerRuby
foldComments() constQsciLexerRubyinline
foldCompact() constQsciLexerRubyinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
FunctionMethodName enum valueQsciLexerRuby
Global enum valueQsciLexerRuby
HereDocument enum valueQsciLexerRuby
HereDocumentDelimiter enum valueQsciLexerRuby
Identifier enum valueQsciLexerRuby
indentationGuideView() constQsciLexervirtual
InstanceVariable enum valueQsciLexerRuby
Keyword enum valueQsciLexerRuby
keywords(int set) constQsciLexerRubyvirtual
language() constQsciLexerRubyvirtual
lexer() constQsciLexerRubyvirtual
lexerId() constQsciLexervirtual
ModuleName enum valueQsciLexerRuby
Number enum valueQsciLexerRuby
Operator enum valueQsciLexerRuby
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PercentStringq enum valueQsciLexerRuby
PercentStringQ enum valueQsciLexerRuby
PercentStringr enum valueQsciLexerRuby
PercentStringw enum valueQsciLexerRuby
PercentStringx enum valueQsciLexerRuby
POD enum valueQsciLexerRuby
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerRuby(QObject *parent=0)QsciLexerRuby
readProperties(QSettings &qs, const QString &prefix)QsciLexerRubyprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerRubyvirtual
Regex enum valueQsciLexerRuby
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerRuby
setFoldCompact(bool fold)QsciLexerRuby
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
SingleQuotedString enum valueQsciLexerRuby
Stderr enum valueQsciLexerRuby
Stdin enum valueQsciLexerRuby
Stdout enum valueQsciLexerRuby
styleBitsNeeded() constQsciLexervirtual
Symbol enum valueQsciLexerRuby
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerRubyprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerRuby()QsciLexerRubyvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerRuby.html ================================================ QScintilla: QsciLexerRuby Class Reference
QScintilla  2.12.1

#include <qscilexerruby.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Error = 1, Comment = 2,
  POD = 3, Number = 4, Keyword = 5,
  DoubleQuotedString = 6, SingleQuotedString = 7, ClassName = 8,
  FunctionMethodName = 9, Operator = 10, Identifier = 11,
  Regex = 12, Global = 13, Symbol = 14,
  ModuleName = 15, InstanceVariable = 16, ClassVariable = 17,
  Backticks = 18, DataSection = 19, HereDocumentDelimiter = 20,
  HereDocument = 21, PercentStringq = 24, PercentStringQ = 25,
  PercentStringx = 26, PercentStringr = 27, PercentStringw = 28,
  DemotedKeyword = 29, Stdin = 30, Stdout = 31,
  Stderr = 40
}
 

Public Member Functions

 QsciLexerRuby (QObject *parent=0)
 
virtual ~QsciLexerRuby ()
 
const char * language () const
 
const char * lexer () const
 
const char * blockEnd (int *style=0) const
 
const char * blockStart (int *style=0) const
 
const char * blockStartKeyword (int *style=0) const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
void setFoldComments (bool fold)
 
bool foldComments () const
 
void setFoldCompact (bool fold)
 
bool foldCompact () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual int blockLookback () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerRuby class encapsulates the Scintilla Ruby lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Ruby lexer.

Enumerator
Default 

The default.

Error 

An error.

Comment 

A comment.

POD 

A POD.

Number 

A number.

Keyword 

A keyword.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

ClassName 

The name of a class.

FunctionMethodName 

The name of a function or method.

Operator 

An operator.

Identifier 

An identifier.

Regex 

A regular expression.

Global 

A global.

Symbol 

A symbol.

ModuleName 

The name of a module.

InstanceVariable 

An instance variable.

ClassVariable 

A class variable.

Backticks 

Backticks.

DataSection 

A data section.

HereDocumentDelimiter 

A here document delimiter.

HereDocument 

A here document.

PercentStringq 

A q string.

PercentStringQ 

A Q string.

PercentStringx 

A x string.

PercentStringr 

A r string.

PercentStringw 

A w string.

DemotedKeyword 

A demoted keyword.

Stdin 

stdin.

Stdout 

stdout.

Stderr 

stderr.

Constructor & Destructor Documentation

◆ QsciLexerRuby()

QsciLexerRuby::QsciLexerRuby ( QObject *  parent = 0)

Construct a QsciLexerRuby with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerRuby::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ blockEnd()

const char* QsciLexerRuby::blockEnd ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the end of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStart()

const char* QsciLexerRuby::blockStart ( int *  style = 0) const
virtual

Returns a space separated list of words or characters in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ blockStartKeyword()

const char* QsciLexerRuby::blockStartKeyword ( int *  style = 0) const
virtual

Returns a space separated list of keywords in a particular style that define the start of a block for auto-indentation. The style is returned via style.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerRuby::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultpaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerRuby::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerRuby::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerRuby::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerRuby::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ setFoldComments()

void QsciLexerRuby::setFoldComments ( bool  fold)

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ foldComments()

bool QsciLexerRuby::foldComments ( ) const
inline

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ setFoldCompact()

void QsciLexerRuby::setFoldCompact ( bool  fold)

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ foldCompact()

bool QsciLexerRuby::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ readProperties()

bool QsciLexerRuby::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerRuby::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerSQL-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerSQL Member List

This is the complete list of members for QsciLexerSQL, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
backslashEscapes() constQsciLexerSQLinline
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerSQLvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerSQL
CommentDoc enum valueQsciLexerSQL
CommentDocKeyword enum valueQsciLexerSQL
CommentDocKeywordError enum valueQsciLexerSQL
CommentLine enum valueQsciLexerSQL
CommentLineHash enum valueQsciLexerSQL
Default enum valueQsciLexerSQL
defaultColor(int style) constQsciLexerSQLvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerSQLvirtual
defaultFont(int style) constQsciLexerSQLvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerSQLvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerSQLvirtual
dottedWords() constQsciLexerSQLinline
DoubleQuotedString enum valueQsciLexerSQL
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldAtElse() constQsciLexerSQLinline
foldComments() constQsciLexerSQLinline
foldCompact() constQsciLexerSQLinline
foldOnlyBegin() constQsciLexerSQLinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
hashComments() constQsciLexerSQLinline
Identifier enum valueQsciLexerSQL
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerSQL
keywords(int set) constQsciLexerSQLvirtual
KeywordSet5 enum valueQsciLexerSQL
KeywordSet6 enum valueQsciLexerSQL
KeywordSet7 enum valueQsciLexerSQL
KeywordSet8 enum valueQsciLexerSQL
language() constQsciLexerSQLvirtual
lexer() constQsciLexerSQLvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerSQL
Operator enum valueQsciLexerSQL
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PlusComment enum valueQsciLexerSQL
PlusKeyword enum valueQsciLexerSQL
PlusPrompt enum valueQsciLexerSQL
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerSQL(QObject *parent=0)QsciLexerSQL
QuotedIdentifier enum valueQsciLexerSQL
quotedIdentifiers() constQsciLexerSQLinline
QuotedOperator enum valueQsciLexerSQL
readProperties(QSettings &qs, const QString &prefix)QsciLexerSQLprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerSQLvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setBackslashEscapes(bool enable)QsciLexerSQLvirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDottedWords(bool enable)QsciLexerSQL
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerSQL
setFoldComments(bool fold)QsciLexerSQLvirtualslot
setFoldCompact(bool fold)QsciLexerSQLvirtualslot
setFoldOnlyBegin(bool fold)QsciLexerSQL
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setHashComments(bool enable)QsciLexerSQL
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setQuotedIdentifiers(bool enable)QsciLexerSQL
SingleQuotedString enum valueQsciLexerSQL
styleBitsNeeded() constQsciLexervirtual
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerSQLprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerSQL()QsciLexerSQLvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerSQL.html ================================================ QScintilla: QsciLexerSQL Class Reference
QScintilla  2.12.1

#include <qscilexersql.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, CommentLine = 2,
  CommentDoc = 3, Number = 4, Keyword = 5,
  DoubleQuotedString = 6, SingleQuotedString = 7, PlusKeyword = 8,
  PlusPrompt = 9, Operator = 10, Identifier = 11,
  PlusComment = 13, CommentLineHash = 15, CommentDocKeyword = 17,
  CommentDocKeywordError = 18, KeywordSet5 = 19, KeywordSet6 = 20,
  KeywordSet7 = 21, KeywordSet8 = 22, QuotedIdentifier = 23,
  QuotedOperator = 24
}
 

Public Slots

virtual void setBackslashEscapes (bool enable)
 
virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerSQL (QObject *parent=0)
 
virtual ~QsciLexerSQL ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool backslashEscapes () const
 
void setDottedWords (bool enable)
 
bool dottedWords () const
 
void setFoldAtElse (bool fold)
 
bool foldAtElse () const
 
bool foldComments () const
 
bool foldCompact () const
 
void setFoldOnlyBegin (bool fold)
 
bool foldOnlyBegin () const
 
void setHashComments (bool enable)
 
bool hashComments () const
 
void setQuotedIdentifiers (bool enable)
 
bool quotedIdentifiers () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerSQL class encapsulates the Scintilla SQL lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the SQL lexer.

Enumerator
Default 

The default.

Comment 

A comment.

CommentLine 

A line comment.

CommentDoc 

A JavaDoc/Doxygen style comment.

Number 

A number.

Keyword 

A keyword.

DoubleQuotedString 

A double-quoted string.

SingleQuotedString 

A single-quoted string.

PlusKeyword 

An SQL*Plus keyword.

PlusPrompt 

An SQL*Plus prompt.

Operator 

An operator.

Identifier 

An identifier.

PlusComment 

An SQL*Plus comment.

CommentLineHash 

A '#' line comment.

CommentDocKeyword 

A JavaDoc/Doxygen keyword.

CommentDocKeywordError 

A JavaDoc/Doxygen keyword error.

KeywordSet5 

A keyword defined in keyword set number 5. The class must be sub-classed and re-implement keywords() to make use of this style. Note that keywords must be defined using lower case.

KeywordSet6 

A keyword defined in keyword set number 6. The class must be sub-classed and re-implement keywords() to make use of this style. Note that keywords must be defined using lower case.

KeywordSet7 

A keyword defined in keyword set number 7. The class must be sub-classed and re-implement keywords() to make use of this style. Note that keywords must be defined using lower case.

KeywordSet8 

A keyword defined in keyword set number 8. The class must be sub-classed and re-implement keywords() to make use of this style. Note that keywords must be defined using lower case.

QuotedIdentifier 

A quoted identifier.

QuotedOperator 

A quoted operator.

Constructor & Destructor Documentation

◆ QsciLexerSQL()

QsciLexerSQL::QsciLexerSQL ( QObject *  parent = 0)

Construct a QsciLexerSQL with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerSQL::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerSQL::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerSQL::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerSQL::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerSQL::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerSQL::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ backslashEscapes()

bool QsciLexerSQL::backslashEscapes ( ) const
inline

Returns true if backslash escapes are enabled.

See also
setBackslashEscapes()

◆ setDottedWords()

void QsciLexerSQL::setDottedWords ( bool  enable)

If enable is true then words may contain dots (i.e. periods or full stops). The default is false.

See also
dottedWords()

◆ dottedWords()

bool QsciLexerSQL::dottedWords ( ) const
inline

Returns true if words may contain dots (i.e. periods or full stops).

See also
setDottedWords()

◆ setFoldAtElse()

void QsciLexerSQL::setFoldAtElse ( bool  fold)

If fold is true then ELSE blocks can be folded. The default is false.

See also
foldAtElse()

◆ foldAtElse()

bool QsciLexerSQL::foldAtElse ( ) const
inline

Returns true if ELSE blocks can be folded.

See also
setFoldAtElse()

◆ foldComments()

bool QsciLexerSQL::foldComments ( ) const
inline

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerSQL::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldOnlyBegin()

void QsciLexerSQL::setFoldOnlyBegin ( bool  fold)

If fold is true then only BEGIN blocks can be folded. The default is false.

See also
foldOnlyBegin()

◆ foldOnlyBegin()

bool QsciLexerSQL::foldOnlyBegin ( ) const
inline

Returns true if BEGIN blocks only can be folded.

See also
setFoldOnlyBegin()

◆ setHashComments()

void QsciLexerSQL::setHashComments ( bool  enable)

If enable is true then '#' is used as a comment character. It is typically enabled for MySQL and disabled for Oracle. The default is false.

See also
hashComments()

◆ hashComments()

bool QsciLexerSQL::hashComments ( ) const
inline

Returns true if '#' is used as a comment character.

See also
setHashComments()

◆ setQuotedIdentifiers()

void QsciLexerSQL::setQuotedIdentifiers ( bool  enable)

If enable is true then quoted identifiers are enabled. The default is false.

See also
quotedIdentifiers()

◆ quotedIdentifiers()

bool QsciLexerSQL::quotedIdentifiers ( ) const
inline

Returns true if quoted identifiers are enabled.

See also
setQuotedIdentifiers()

◆ setBackslashEscapes

virtual void QsciLexerSQL::setBackslashEscapes ( bool  enable)
virtualslot

If enable is true then backslash escapes are enabled. The default is false.

See also
backslashEscapes()

◆ setFoldComments

virtual void QsciLexerSQL::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerSQL::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ readProperties()

bool QsciLexerSQL::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerSQL::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerSpice-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerSpice Member List

This is the complete list of members for QsciLexerSpice, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerSpicevirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Command enum valueQsciLexerSpice
Comment enum valueQsciLexerSpice
Default enum valueQsciLexerSpice
defaultColor(int style) constQsciLexerSpicevirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont(int style) constQsciLexerSpicevirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
Delimiter enum valueQsciLexerSpice
description(int style) constQsciLexerSpicevirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Function enum valueQsciLexerSpice
Identifier enum valueQsciLexerSpice
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexerSpicevirtual
language() constQsciLexerSpicevirtual
lexer() constQsciLexerSpicevirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerSpice
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
Parameter enum valueQsciLexerSpice
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerSpice(QObject *parent=0)QsciLexerSpice
readProperties(QSettings &qs, const QString &prefix)QsciLexerprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexervirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
Value enum valueQsciLexerSpice
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerSpice()QsciLexerSpicevirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerSpice.html ================================================ QScintilla: QsciLexerSpice Class Reference
QScintilla  2.12.1
QsciLexerSpice Class Reference

#include <qscilexerspice.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Identifier = 1, Command = 2,
  Function = 3, Parameter = 4, Number = 5,
  Delimiter = 6, Value = 7, Comment = 8
}
 

Public Member Functions

 QsciLexerSpice (QObject *parent=0)
 
virtual ~QsciLexerSpice ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
const char * keywords (int set) const
 
QColor defaultColor (int style) const
 
QFont defaultFont (int style) const
 
QString description (int style) const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual void refreshProperties ()
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 
- Protected Member Functions inherited from QsciLexer
virtual bool readProperties (QSettings &qs, const QString &prefix)
 
virtual bool writeProperties (QSettings &qs, const QString &prefix) const
 

Detailed Description

The QsciLexerSpice class encapsulates the Scintilla Spice lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Spice lexer.

Enumerator
Default 

The default.

Identifier 

An identifier.

Command 

A command.

Function 

A function.

Parameter 

A parameter.

Number 

A number.

Delimiter 

A delimiter.

Value 

A value.

Comment 

A comment.

Constructor & Destructor Documentation

◆ QsciLexerSpice()

QsciLexerSpice::QsciLexerSpice ( QObject *  parent = 0)

Construct a QsciLexerSpice with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerSpice::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerSpice::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerSpice::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerSpice::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerTCL-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerTCL Member List

This is the complete list of members for QsciLexerTCL, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerTCLvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerTCL
CommentBlock enum valueQsciLexerTCL
CommentBox enum valueQsciLexerTCL
CommentLine enum valueQsciLexerTCL
Default enum valueQsciLexerTCL
defaultColor(int style) constQsciLexerTCLvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerTCLvirtual
defaultFont(int style) constQsciLexerTCLvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerTCLvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerTCLvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
ExpandKeyword enum valueQsciLexerTCL
foldComments() constQsciLexerTCLinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerTCL
indentationGuideView() constQsciLexervirtual
ITCLKeyword enum valueQsciLexerTCL
keywords(int set) constQsciLexerTCLvirtual
KeywordSet6 enum valueQsciLexerTCL
KeywordSet7 enum valueQsciLexerTCL
KeywordSet8 enum valueQsciLexerTCL
KeywordSet9 enum valueQsciLexerTCL
language() constQsciLexerTCLvirtual
lexer() constQsciLexerTCLvirtual
lexerId() constQsciLexervirtual
Modifier enum valueQsciLexerTCL
Number enum valueQsciLexerTCL
Operator enum valueQsciLexerTCL
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerTCL(QObject *parent=0)QsciLexerTCL
QuotedKeyword enum valueQsciLexerTCL
QuotedString enum valueQsciLexerTCL
readProperties(QSettings &qs, const QString &prefix)QsciLexerTCLprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerTCLvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerTCL
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
Substitution enum valueQsciLexerTCL
SubstitutionBrace enum valueQsciLexerTCL
TCLKeyword enum valueQsciLexerTCL
TkCommand enum valueQsciLexerTCL
TkKeyword enum valueQsciLexerTCL
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerTCLprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerTCL()QsciLexerTCLvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerTCL.html ================================================ QScintilla: QsciLexerTCL Class Reference
QScintilla  2.12.1

#include <qscilexertcl.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, CommentLine = 2,
  Number = 3, QuotedKeyword = 4, QuotedString = 5,
  Operator = 6, Identifier = 7, Substitution = 8,
  SubstitutionBrace = 9, Modifier = 10, ExpandKeyword = 11,
  TCLKeyword = 12, TkKeyword = 13, ITCLKeyword = 14,
  TkCommand = 15, KeywordSet6 = 16, KeywordSet7 = 17,
  KeywordSet8 = 18, KeywordSet9 = 19, CommentBox = 20,
  CommentBlock = 21
}
 

Public Member Functions

 QsciLexerTCL (QObject *parent=0)
 
virtual ~QsciLexerTCL ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
void setFoldComments (bool fold)
 
bool foldComments () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerTCL class encapsulates the Scintilla TCL lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the TCL lexer.

Enumerator
Default 

The default.

Comment 

A comment.

CommentLine 

A comment line.

Number 

A number.

QuotedKeyword 

A quoted keyword.

QuotedString 

A quoted string.

Operator 

An operator.

Identifier 

An identifier.

Substitution 

A substitution.

SubstitutionBrace 

A substitution starting with a brace.

Modifier 

A modifier.

ExpandKeyword 

Expand keyword (defined in keyword set number 5).

TCLKeyword 

A TCL keyword (defined in keyword set number 1).

TkKeyword 

A Tk keyword (defined in keyword set number 2).

ITCLKeyword 

An iTCL keyword (defined in keyword set number 3).

TkCommand 

A Tk command (defined in keyword set number 4).

KeywordSet6 

A keyword defined in keyword set number 6. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet7 

A keyword defined in keyword set number 7. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet8 

A keyword defined in keyword set number 8. The class must be sub-classed and re-implement keywords() to make use of this style.

KeywordSet9 

A keyword defined in keyword set number 9. The class must be sub-classed and re-implement keywords() to make use of this style.

CommentBox 

A comment box.

CommentBlock 

A comment block.

Constructor & Destructor Documentation

◆ QsciLexerTCL()

QsciLexerTCL::QsciLexerTCL ( QObject *  parent = 0)

Construct a QsciLexerTCL with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerTCL::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerTCL::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerTCL::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerTCL::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerTCL::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerTCL::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ setFoldComments()

void QsciLexerTCL::setFoldComments ( bool  fold)

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ foldComments()

bool QsciLexerTCL::foldComments ( ) const
inline

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ readProperties()

bool QsciLexerTCL::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerTCL::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerTeX-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerTeX Member List

This is the complete list of members for QsciLexerTeX, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Command enum valueQsciLexerTeX
Default enum valueQsciLexerTeX
defaultColor(int style) constQsciLexerTeXvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexervirtual
defaultFont() constQsciLexer
defaultFont(int style) constQsciLexervirtual
defaultPaper() constQsciLexer
defaultPaper(int style) constQsciLexervirtual
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerTeXvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldComments() constQsciLexerTeXinline
foldCompact() constQsciLexerTeXinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Group enum valueQsciLexerTeX
indentationGuideView() constQsciLexervirtual
keywords(int set) constQsciLexerTeXvirtual
language() constQsciLexerTeXvirtual
lexer() constQsciLexerTeXvirtual
lexerId() constQsciLexervirtual
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
processComments() constQsciLexerTeXinline
processIf() constQsciLexerTeXinline
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerTeX(QObject *parent=0)QsciLexerTeX
readProperties(QSettings &qs, const QString &prefix)QsciLexerTeXprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerTeXvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerTeX
setFoldCompact(bool fold)QsciLexerTeX
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setProcessComments(bool enable)QsciLexerTeX
setProcessIf(bool enable)QsciLexerTeX
Special enum valueQsciLexerTeX
styleBitsNeeded() constQsciLexervirtual
Symbol enum valueQsciLexerTeX
Text enum valueQsciLexerTeX
wordCharacters() constQsciLexerTeXvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerTeXprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerTeX()QsciLexerTeXvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerTeX.html ================================================ QScintilla: QsciLexerTeX Class Reference
QScintilla  2.12.1

#include <qscilexertex.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Special = 1, Group = 2,
  Symbol = 3, Command = 4, Text = 5
}
 

Public Member Functions

 QsciLexerTeX (QObject *parent=0)
 
virtual ~QsciLexerTeX ()
 
const char * language () const
 
const char * lexer () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
void setFoldComments (bool fold)
 
bool foldComments () const
 
void setFoldCompact (bool fold)
 
bool foldCompact () const
 
void setProcessComments (bool enable)
 
bool processComments () const
 
void setProcessIf (bool enable)
 
bool processIf () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
virtual bool defaultEolFill (int style) const
 
QFont defaultFont () const
 
virtual QFont defaultFont (int style) const
 
QColor defaultPaper () const
 
virtual QColor defaultPaper (int style) const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerTeX class encapsulates the Scintilla TeX lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the TeX lexer.

Enumerator
Default 

The default.

Special 

A special.

Group 

A group.

Symbol 

A symbol.

Command 

A command.

Text 

Text.

Constructor & Destructor Documentation

◆ QsciLexerTeX()

QsciLexerTeX::QsciLexerTeX ( QObject *  parent = 0)

Construct a QsciLexerTeX with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerTeX::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerTeX::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerTeX::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerTeX::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ setFoldComments()

void QsciLexerTeX::setFoldComments ( bool  fold)

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ foldComments()

bool QsciLexerTeX::foldComments ( ) const
inline

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ setFoldCompact()

void QsciLexerTeX::setFoldCompact ( bool  fold)

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ foldCompact()

bool QsciLexerTeX::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setProcessComments()

void QsciLexerTeX::setProcessComments ( bool  enable)

If enable is true then comments are processed as TeX source otherwise they are ignored. The default is false.

See also
processComments()

◆ processComments()

bool QsciLexerTeX::processComments ( ) const
inline

Returns true if comments are processed as TeX source.

See also
setProcessComments()

◆ setProcessIf()

void QsciLexerTeX::setProcessIf ( bool  enable)

If enable is true then \if<unknown> processed is processed as a command. The default is true.

See also
processIf()

◆ processIf()

bool QsciLexerTeX::processIf ( ) const
inline

Returns true if \if<unknown> is processed as a command.

See also
setProcessIf()

◆ readProperties()

bool QsciLexerTeX::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerTeX::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerVHDL-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerVHDL Member List

This is the complete list of members for QsciLexerVHDL, including all inherited members.

apis() constQsciLexer
Attribute enum valueQsciLexerVHDL
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerVHDLvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerVHDL
CommentBlock enum valueQsciLexerVHDL
CommentLine enum valueQsciLexerVHDL
Default enum valueQsciLexerVHDL
defaultColor(int style) constQsciLexerVHDLvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerVHDLvirtual
defaultFont(int style) constQsciLexerVHDLvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerVHDLvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerVHDLvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldAtBegin() constQsciLexerVHDL
foldAtElse() constQsciLexerVHDL
foldAtParenthesis() constQsciLexerVHDL
foldComments() constQsciLexerVHDL
foldCompact() constQsciLexerVHDL
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerVHDL
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerVHDL
keywords(int set) constQsciLexerVHDLvirtual
KeywordSet7 enum valueQsciLexerVHDL
language() constQsciLexerVHDLvirtual
lexer() constQsciLexerVHDLvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerVHDL
Operator enum valueQsciLexerVHDL
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerVHDL(QObject *parent=0)QsciLexerVHDL
readProperties(QSettings &qs, const QString &prefix)QsciLexerVHDLprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerVHDLvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtBegin(bool fold)QsciLexerVHDLvirtualslot
setFoldAtElse(bool fold)QsciLexerVHDLvirtualslot
setFoldAtParenthesis(bool fold)QsciLexerVHDLvirtualslot
setFoldComments(bool fold)QsciLexerVHDLvirtualslot
setFoldCompact(bool fold)QsciLexerVHDLvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
StandardFunction enum valueQsciLexerVHDL
StandardOperator enum valueQsciLexerVHDL
StandardPackage enum valueQsciLexerVHDL
StandardType enum valueQsciLexerVHDL
String enum valueQsciLexerVHDL
styleBitsNeeded() constQsciLexervirtual
UnclosedString enum valueQsciLexerVHDL
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerVHDLprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerVHDL()QsciLexerVHDLvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerVHDL.html ================================================ QScintilla: QsciLexerVHDL Class Reference
QScintilla  2.12.1

#include <qscilexervhdl.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, CommentLine = 2,
  Number = 3, String = 4, Operator = 5,
  Identifier = 6, UnclosedString = 7, Keyword = 8,
  StandardOperator = 9, Attribute = 10, StandardFunction = 11,
  StandardPackage = 12, StandardType = 13, KeywordSet7 = 14,
  CommentBlock = 15
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
virtual void setFoldCompact (bool fold)
 
virtual void setFoldAtElse (bool fold)
 
virtual void setFoldAtBegin (bool fold)
 
virtual void setFoldAtParenthesis (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerVHDL (QObject *parent=0)
 
virtual ~QsciLexerVHDL ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
bool foldCompact () const
 
bool foldAtElse () const
 
bool foldAtBegin () const
 
bool foldAtParenthesis () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerVHDL class encapsulates the Scintilla VHDL lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the VHDL lexer.

Enumerator
Default 

The default.

Comment 

A comment.

CommentLine 

A comment line.

Number 

A number.

String 

A string.

Operator 

An operator.

Identifier 

An identifier.

UnclosedString 

The end of a line where a string is not closed.

Keyword 

A keyword.

StandardOperator 

A standard operator.

Attribute 

An attribute.

StandardFunction 

A standard function.

StandardPackage 

A standard package.

StandardType 

A standard type.

KeywordSet7 

A keyword defined in keyword set number 7. The class must be sub-classed and re-implement keywords() to make use of this style.

CommentBlock 

A comment block.

Constructor & Destructor Documentation

◆ QsciLexerVHDL()

QsciLexerVHDL::QsciLexerVHDL ( QObject *  parent = 0)

Construct a QsciLexerVHDL with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerVHDL::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerVHDL::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerVHDL::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerVHDL::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerVHDL::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerVHDL::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerVHDL::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ foldCompact()

bool QsciLexerVHDL::foldCompact ( ) const

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ foldAtElse()

bool QsciLexerVHDL::foldAtElse ( ) const

Returns true if else blocks can be folded.

See also
setFoldAtElse()

◆ foldAtBegin()

bool QsciLexerVHDL::foldAtBegin ( ) const

Returns true if begin blocks can be folded.

See also
setFoldAtBegin()

◆ foldAtParenthesis()

bool QsciLexerVHDL::foldAtParenthesis ( ) const

Returns true if blocks can be folded at a parenthesis.

See also
setFoldAtParenthesis()

◆ setFoldComments

virtual void QsciLexerVHDL::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is true.

See also
foldComments()

◆ setFoldCompact

virtual void QsciLexerVHDL::setFoldCompact ( bool  fold)
virtualslot

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ setFoldAtElse

virtual void QsciLexerVHDL::setFoldAtElse ( bool  fold)
virtualslot

If fold is true then else blocks can be folded. The default is true.

See also
foldAtElse()

◆ setFoldAtBegin

virtual void QsciLexerVHDL::setFoldAtBegin ( bool  fold)
virtualslot

If fold is true then begin blocks can be folded. The default is true.

See also
foldAtBegin()

◆ setFoldAtParenthesis

virtual void QsciLexerVHDL::setFoldAtParenthesis ( bool  fold)
virtualslot

If fold is true then blocks can be folded at a parenthesis. The default is true.

See also
foldAtParenthesis()

◆ readProperties()

bool QsciLexerVHDL::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerVHDL::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerVerilog-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerVerilog Member List

This is the complete list of members for QsciLexerVerilog, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexerVerilogvirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerVerilog
CommentBang enum valueQsciLexerVerilog
CommentKeyword enum valueQsciLexerVerilog
CommentLine enum valueQsciLexerVerilog
DeclareInputOutputPort enum valueQsciLexerVerilog
DeclareInputPort enum valueQsciLexerVerilog
DeclareOutputPort enum valueQsciLexerVerilog
Default enum valueQsciLexerVerilog
defaultColor(int style) constQsciLexerVerilogvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerVerilogvirtual
defaultFont(int style) constQsciLexerVerilogvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerVerilogvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerVerilogvirtual
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldAtElse() constQsciLexerVeriloginline
foldAtModule() constQsciLexerVeriloginline
foldComments() constQsciLexerVeriloginline
foldCompact() constQsciLexerVeriloginline
foldPreprocessor() constQsciLexerVeriloginline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerVerilog
InactiveComment enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveCommentBang enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveCommentKeyword enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveCommentLine enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveDeclareInputOutputPort enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveDeclareInputPort enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveDeclareOutputPort enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveDefault enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveIdentifier enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveKeyword enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveKeywordSet2 enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveNumber enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveOperator enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactivePortConnection enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactivePreprocessor enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveString enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveSystemTask enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveUnclosedString enum value (defined in QsciLexerVerilog)QsciLexerVerilog
InactiveUserKeywordSet enum value (defined in QsciLexerVerilog)QsciLexerVerilog
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerVerilog
keywords(int set) constQsciLexerVerilogvirtual
KeywordSet2 enum valueQsciLexerVerilog
language() constQsciLexerVerilogvirtual
lexer() constQsciLexerVerilogvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerVerilog
Operator enum valueQsciLexerVerilog
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PortConnection enum valueQsciLexerVerilog
Preprocessor enum valueQsciLexerVerilog
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerVerilog(QObject *parent=0)QsciLexerVerilog
readProperties(QSettings &qs, const QString &prefix)QsciLexerVerilogprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerVerilogvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldAtElse(bool fold)QsciLexerVerilog
setFoldAtModule(bool fold)QsciLexerVerilog
setFoldComments(bool fold)QsciLexerVerilog
setFoldCompact(bool fold)QsciLexerVerilog
setFoldPreprocessor(bool fold)QsciLexerVerilog
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
String enum valueQsciLexerVerilog
styleBitsNeeded() constQsciLexervirtual
SystemTask enum valueQsciLexerVerilog
UnclosedString enum valueQsciLexerVerilog
UserKeywordSet enum valueQsciLexerVerilog
wordCharacters() constQsciLexerVerilogvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerVerilogprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerVerilog()QsciLexerVerilogvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerVerilog.html ================================================ QScintilla: QsciLexerVerilog Class Reference
QScintilla  2.12.1

#include <qscilexerverilog.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, InactiveDefault = Default + 64, Comment = 1,
  InactiveComment = Comment + 64, CommentLine = 2, InactiveCommentLine = CommentLine + 64,
  CommentBang = 3, InactiveCommentBang = CommentBang + 64, Number = 4,
  InactiveNumber = Number + 64, Keyword = 5, InactiveKeyword = Keyword + 64,
  String = 6, InactiveString = String + 64, KeywordSet2 = 7,
  InactiveKeywordSet2 = KeywordSet2 + 64, SystemTask = 8, InactiveSystemTask = SystemTask + 64,
  Preprocessor = 9, InactivePreprocessor = Preprocessor + 64, Operator = 10,
  InactiveOperator = Operator + 64, Identifier = 11, InactiveIdentifier = Identifier + 64,
  UnclosedString = 12, InactiveUnclosedString = UnclosedString + 64, UserKeywordSet = 19,
  InactiveUserKeywordSet = UserKeywordSet + 64, CommentKeyword = 20, InactiveCommentKeyword = CommentKeyword + 64,
  DeclareInputPort = 21, InactiveDeclareInputPort = DeclareInputPort + 64, DeclareOutputPort = 22,
  InactiveDeclareOutputPort = DeclareOutputPort + 64, DeclareInputOutputPort = 23, InactiveDeclareInputOutputPort = DeclareInputOutputPort + 64,
  PortConnection = 24, InactivePortConnection = PortConnection + 64
}
 

Public Member Functions

 QsciLexerVerilog (QObject *parent=0)
 
virtual ~QsciLexerVerilog ()
 
const char * language () const
 
const char * lexer () const
 
int braceStyle () const
 
const char * wordCharacters () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
void setFoldAtElse (bool fold)
 
bool foldAtElse () const
 
void setFoldComments (bool fold)
 
bool foldComments () const
 
void setFoldCompact (bool fold)
 
bool foldCompact () const
 
void setFoldPreprocessor (bool fold)
 
bool foldPreprocessor () const
 
void setFoldAtModule (bool fold)
 
bool foldAtModule () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerVerilog class encapsulates the Scintilla Verilog lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the Verilog lexer.

Enumerator
Default 

The default.

Comment 

A comment.

CommentLine 

A line comment.

CommentBang 

A bang comment.

Number 

A number.

Keyword 

A keyword.

String 

A string.

KeywordSet2 

A keyword defined in keyword set number 2. The class must be sub-classed and re-implement keywords() to make use of this style.

SystemTask 

A system task.

Preprocessor 

A pre-processor block.

Operator 

An operator.

Identifier 

An identifier.

UnclosedString 

The end of a line where a string is not closed.

UserKeywordSet 

A keyword defined in keyword set number 4. The class must be sub-classed and re-implement keywords() to make use of this style. This set is intended to be used for user defined identifiers and tasks.

CommentKeyword 

A keyword comment.

DeclareInputPort 

An input port declaration.

DeclareOutputPort 

An output port declaration.

DeclareInputOutputPort 

An input/output port declaration.

PortConnection 

A port connection.

Constructor & Destructor Documentation

◆ QsciLexerVerilog()

QsciLexerVerilog::QsciLexerVerilog ( QObject *  parent = 0)

Construct a QsciLexerVerilog with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerVerilog::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerVerilog::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerVerilog::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerVerilog::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerVerilog::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerVerilog::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ setFoldAtElse()

void QsciLexerVerilog::setFoldAtElse ( bool  fold)

If fold is true then "} else {" lines can be folded. The default is false.

See also
foldAtElse()

◆ foldAtElse()

bool QsciLexerVerilog::foldAtElse ( ) const
inline

Returns true if "} else {" lines can be folded.

See also
setFoldAtElse()

◆ setFoldComments()

void QsciLexerVerilog::setFoldComments ( bool  fold)

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ foldComments()

bool QsciLexerVerilog::foldComments ( ) const
inline

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ setFoldCompact()

void QsciLexerVerilog::setFoldCompact ( bool  fold)

If fold is true then trailing blank lines are included in a fold block. The default is true.

See also
foldCompact()

◆ foldCompact()

bool QsciLexerVerilog::foldCompact ( ) const
inline

Returns true if trailing blank lines are included in a fold block.

See also
setFoldCompact()

◆ setFoldPreprocessor()

void QsciLexerVerilog::setFoldPreprocessor ( bool  fold)

If fold is true then preprocessor blocks can be folded. The default is true.

See also
foldPreprocessor()

◆ foldPreprocessor()

bool QsciLexerVerilog::foldPreprocessor ( ) const
inline

Returns true if preprocessor blocks can be folded.

See also
setFoldPreprocessor()

◆ setFoldAtModule()

void QsciLexerVerilog::setFoldAtModule ( bool  fold)

If fold is true then modules can be folded. The default is false.

See also
foldAtModule()

◆ foldAtModule()

bool QsciLexerVerilog::foldAtModule ( ) const
inline

Returns true if modules can be folded.

See also
setFoldAtModule()

◆ readProperties()

bool QsciLexerVerilog::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
writeProperties()

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerVerilog::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

See also
readProperties()

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciLexerXML-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerXML Member List

This is the complete list of members for QsciLexerXML, including all inherited members.

apis() constQsciLexer
ASPAtStart enum valueQsciLexerHTML
ASPJavaScriptComment enum valueQsciLexerHTML
ASPJavaScriptCommentDoc enum valueQsciLexerHTML
ASPJavaScriptCommentLine enum valueQsciLexerHTML
ASPJavaScriptDefault enum valueQsciLexerHTML
ASPJavaScriptDoubleQuotedString enum valueQsciLexerHTML
ASPJavaScriptKeyword enum valueQsciLexerHTML
ASPJavaScriptNumber enum valueQsciLexerHTML
ASPJavaScriptRegex enum valueQsciLexerHTML
ASPJavaScriptSingleQuotedString enum valueQsciLexerHTML
ASPJavaScriptStart enum valueQsciLexerHTML
ASPJavaScriptSymbol enum valueQsciLexerHTML
ASPJavaScriptUnclosedString enum valueQsciLexerHTML
ASPJavaScriptWord enum valueQsciLexerHTML
ASPPythonClassName enum valueQsciLexerHTML
ASPPythonComment enum valueQsciLexerHTML
ASPPythonDefault enum valueQsciLexerHTML
ASPPythonDoubleQuotedString enum valueQsciLexerHTML
ASPPythonFunctionMethodName enum valueQsciLexerHTML
ASPPythonIdentifier enum valueQsciLexerHTML
ASPPythonKeyword enum valueQsciLexerHTML
ASPPythonNumber enum valueQsciLexerHTML
ASPPythonOperator enum valueQsciLexerHTML
ASPPythonSingleQuotedString enum valueQsciLexerHTML
ASPPythonStart enum valueQsciLexerHTML
ASPPythonTripleDoubleQuotedString enum valueQsciLexerHTML
ASPPythonTripleSingleQuotedString enum valueQsciLexerHTML
ASPStart enum valueQsciLexerHTML
ASPVBScriptComment enum valueQsciLexerHTML
ASPVBScriptDefault enum valueQsciLexerHTML
ASPVBScriptIdentifier enum valueQsciLexerHTML
ASPVBScriptKeyword enum valueQsciLexerHTML
ASPVBScriptNumber enum valueQsciLexerHTML
ASPVBScriptStart enum valueQsciLexerHTML
ASPVBScriptString enum valueQsciLexerHTML
ASPVBScriptUnclosedString enum valueQsciLexerHTML
ASPXCComment enum valueQsciLexerHTML
Attribute enum valueQsciLexerHTML
autoCompletionFillups() constQsciLexerHTMLvirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
caseSensitiveTags() constQsciLexerHTMLinline
CDATA enum valueQsciLexerHTML
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Default enum valueQsciLexerHTML
defaultColor(int style) constQsciLexerXMLvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerXMLvirtual
defaultFont(int style) constQsciLexerXMLvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerXMLvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerHTMLvirtual
djangoTemplates() constQsciLexerHTMLinline
editor() constQsciLexerinline
Entity enum valueQsciLexerHTML
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldCompact() constQsciLexerHTMLinline
foldPreprocessor() constQsciLexerHTMLinline
foldScriptComments() constQsciLexerHTMLinline
foldScriptHeredocs() constQsciLexerHTMLinline
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
HTMLComment enum valueQsciLexerHTML
HTMLDoubleQuotedString enum valueQsciLexerHTML
HTMLNumber enum valueQsciLexerHTML
HTMLSingleQuotedString enum valueQsciLexerHTML
HTMLValue enum valueQsciLexerHTML
indentationGuideView() constQsciLexervirtual
JavaScriptComment enum valueQsciLexerHTML
JavaScriptCommentDoc enum valueQsciLexerHTML
JavaScriptCommentLine enum valueQsciLexerHTML
JavaScriptDefault enum valueQsciLexerHTML
JavaScriptDoubleQuotedString enum valueQsciLexerHTML
JavaScriptKeyword enum valueQsciLexerHTML
JavaScriptNumber enum valueQsciLexerHTML
JavaScriptRegex enum valueQsciLexerHTML
JavaScriptSingleQuotedString enum valueQsciLexerHTML
JavaScriptStart enum valueQsciLexerHTML
JavaScriptSymbol enum valueQsciLexerHTML
JavaScriptUnclosedString enum valueQsciLexerHTML
JavaScriptWord enum valueQsciLexerHTML
keywords(int set) constQsciLexerXMLvirtual
language() constQsciLexerXMLvirtual
lexer() constQsciLexerXMLvirtual
lexerId() constQsciLexervirtual
makoTemplates() constQsciLexerHTMLinline
OtherInTag enum valueQsciLexerHTML
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
PHPComment enum valueQsciLexerHTML
PHPCommentLine enum valueQsciLexerHTML
PHPDefault enum valueQsciLexerHTML
PHPDoubleQuotedString enum valueQsciLexerHTML
PHPDoubleQuotedVariable enum valueQsciLexerHTML
PHPKeyword enum valueQsciLexerHTML
PHPNumber enum valueQsciLexerHTML
PHPOperator enum valueQsciLexerHTML
PHPSingleQuotedString enum valueQsciLexerHTML
PHPStart enum valueQsciLexerHTML
PHPVariable enum valueQsciLexerHTML
propertyChanged(const char *prop, const char *val)QsciLexersignal
PythonClassName enum valueQsciLexerHTML
PythonComment enum valueQsciLexerHTML
PythonDefault enum valueQsciLexerHTML
PythonDoubleQuotedString enum valueQsciLexerHTML
PythonFunctionMethodName enum valueQsciLexerHTML
PythonIdentifier enum valueQsciLexerHTML
PythonKeyword enum valueQsciLexerHTML
PythonNumber enum valueQsciLexerHTML
PythonOperator enum valueQsciLexerHTML
PythonSingleQuotedString enum valueQsciLexerHTML
PythonStart enum valueQsciLexerHTML
PythonTripleDoubleQuotedString enum valueQsciLexerHTML
PythonTripleSingleQuotedString enum valueQsciLexerHTML
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerHTML(QObject *parent=0)QsciLexerHTML
QsciLexerXML(QObject *parent=0)QsciLexerXML
readProperties(QSettings &qs, const QString &prefix)QsciLexerXMLprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
refreshProperties()QsciLexerXMLvirtual
Script enum valueQsciLexerHTML
scriptsStyled() constQsciLexerXML
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setCaseSensitiveTags(bool sens)QsciLexerHTMLvirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setDjangoTemplates(bool enabled)QsciLexerHTML
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldCompact(bool fold)QsciLexerHTMLvirtualslot
setFoldPreprocessor(bool fold)QsciLexerHTMLvirtualslot
setFoldScriptComments(bool fold)QsciLexerHTML
setFoldScriptHeredocs(bool fold)QsciLexerHTML
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setMakoTemplates(bool enabled)QsciLexerHTML
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
setScriptsStyled(bool styled)QsciLexerXML
SGMLBlockDefault enum valueQsciLexerHTML
SGMLCommand enum valueQsciLexerHTML
SGMLComment enum valueQsciLexerHTML
SGMLDefault enum valueQsciLexerHTML
SGMLDoubleQuotedString enum valueQsciLexerHTML
SGMLEntity enum valueQsciLexerHTML
SGMLError enum valueQsciLexerHTML
SGMLParameter enum valueQsciLexerHTML
SGMLParameterComment enum valueQsciLexerHTML
SGMLSingleQuotedString enum valueQsciLexerHTML
SGMLSpecial enum valueQsciLexerHTML
styleBitsNeeded() constQsciLexervirtual
Tag enum valueQsciLexerHTML
UnknownAttribute enum valueQsciLexerHTML
UnknownTag enum valueQsciLexerHTML
VBScriptComment enum valueQsciLexerHTML
VBScriptDefault enum valueQsciLexerHTML
VBScriptIdentifier enum valueQsciLexerHTML
VBScriptKeyword enum valueQsciLexerHTML
VBScriptNumber enum valueQsciLexerHTML
VBScriptStart enum valueQsciLexerHTML
VBScriptString enum valueQsciLexerHTML
VBScriptUnclosedString enum valueQsciLexerHTML
wordCharacters() constQsciLexerHTMLvirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerXMLprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
XMLEnd enum valueQsciLexerHTML
XMLStart enum valueQsciLexerHTML
XMLTagEnd enum valueQsciLexerHTML
~QsciLexer()QsciLexervirtual
~QsciLexerHTML()QsciLexerHTMLvirtual
~QsciLexerXML()QsciLexerXMLvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerXML.html ================================================ QScintilla: QsciLexerXML Class Reference
QScintilla  2.12.1

#include <qscilexerxml.h>

Inherits QsciLexerHTML.

Public Member Functions

 QsciLexerXML (QObject *parent=0)
 
virtual ~QsciLexerXML ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
void refreshProperties ()
 
void setScriptsStyled (bool styled)
 
bool scriptsStyled () const
 
- Public Member Functions inherited from QsciLexerHTML
 QsciLexerHTML (QObject *parent=0)
 
virtual ~QsciLexerHTML ()
 
const char * autoCompletionFillups () const
 
const char * wordCharacters () const
 
QString description (int style) const
 
bool caseSensitiveTags () const
 
void setDjangoTemplates (bool enabled)
 
bool djangoTemplates () const
 
bool foldCompact () const
 
bool foldPreprocessor () const
 
void setFoldScriptComments (bool fold)
 
bool foldScriptComments () const
 
void setFoldScriptHeredocs (bool fold)
 
bool foldScriptHeredocs () const
 
void setMakoTemplates (bool enabled)
 
bool makoTemplates () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Public Types inherited from QsciLexerHTML
enum  {
  Default = 0, Tag = 1, UnknownTag = 2,
  Attribute = 3, UnknownAttribute = 4, HTMLNumber = 5,
  HTMLDoubleQuotedString = 6, HTMLSingleQuotedString = 7, OtherInTag = 8,
  HTMLComment = 9, Entity = 10, XMLTagEnd = 11,
  XMLStart = 12, XMLEnd = 13, Script = 14,
  ASPAtStart = 15, ASPStart = 16, CDATA = 17,
  PHPStart = 18, HTMLValue = 19, ASPXCComment = 20,
  SGMLDefault = 21, SGMLCommand = 22, SGMLParameter = 23,
  SGMLDoubleQuotedString = 24, SGMLSingleQuotedString = 25, SGMLError = 26,
  SGMLSpecial = 27, SGMLEntity = 28, SGMLComment = 29,
  SGMLParameterComment = 30, SGMLBlockDefault = 31, JavaScriptStart = 40,
  JavaScriptDefault = 41, JavaScriptComment = 42, JavaScriptCommentLine = 43,
  JavaScriptCommentDoc = 44, JavaScriptNumber = 45, JavaScriptWord = 46,
  JavaScriptKeyword = 47, JavaScriptDoubleQuotedString = 48, JavaScriptSingleQuotedString = 49,
  JavaScriptSymbol = 50, JavaScriptUnclosedString = 51, JavaScriptRegex = 52,
  ASPJavaScriptStart = 55, ASPJavaScriptDefault = 56, ASPJavaScriptComment = 57,
  ASPJavaScriptCommentLine = 58, ASPJavaScriptCommentDoc = 59, ASPJavaScriptNumber = 60,
  ASPJavaScriptWord = 61, ASPJavaScriptKeyword = 62, ASPJavaScriptDoubleQuotedString = 63,
  ASPJavaScriptSingleQuotedString = 64, ASPJavaScriptSymbol = 65, ASPJavaScriptUnclosedString = 66,
  ASPJavaScriptRegex = 67, VBScriptStart = 70, VBScriptDefault = 71,
  VBScriptComment = 72, VBScriptNumber = 73, VBScriptKeyword = 74,
  VBScriptString = 75, VBScriptIdentifier = 76, VBScriptUnclosedString = 77,
  ASPVBScriptStart = 80, ASPVBScriptDefault = 81, ASPVBScriptComment = 82,
  ASPVBScriptNumber = 83, ASPVBScriptKeyword = 84, ASPVBScriptString = 85,
  ASPVBScriptIdentifier = 86, ASPVBScriptUnclosedString = 87, PythonStart = 90,
  PythonDefault = 91, PythonComment = 92, PythonNumber = 93,
  PythonDoubleQuotedString = 94, PythonSingleQuotedString = 95, PythonKeyword = 96,
  PythonTripleSingleQuotedString = 97, PythonTripleDoubleQuotedString = 98, PythonClassName = 99,
  PythonFunctionMethodName = 100, PythonOperator = 101, PythonIdentifier = 102,
  ASPPythonStart = 105, ASPPythonDefault = 106, ASPPythonComment = 107,
  ASPPythonNumber = 108, ASPPythonDoubleQuotedString = 109, ASPPythonSingleQuotedString = 110,
  ASPPythonKeyword = 111, ASPPythonTripleSingleQuotedString = 112, ASPPythonTripleDoubleQuotedString = 113,
  ASPPythonClassName = 114, ASPPythonFunctionMethodName = 115, ASPPythonOperator = 116,
  ASPPythonIdentifier = 117, PHPDefault = 118, PHPDoubleQuotedString = 119,
  PHPSingleQuotedString = 120, PHPKeyword = 121, PHPNumber = 122,
  PHPVariable = 123, PHPComment = 124, PHPCommentLine = 125,
  PHPDoubleQuotedVariable = 126, PHPOperator = 127
}
 
- Public Slots inherited from QsciLexerHTML
virtual void setFoldCompact (bool fold)
 
virtual void setFoldPreprocessor (bool fold)
 
virtual void setCaseSensitiveTags (bool sens)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 
- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerXML class encapsulates the Scintilla XML lexer.

Constructor & Destructor Documentation

◆ QsciLexerXML()

QsciLexerXML::QsciLexerXML ( QObject *  parent = 0)

Construct a QsciLexerXML with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerXML::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexerHTML.

◆ defaultColor()

QColor QsciLexerXML::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexerHTML.

◆ defaultPaper()

QColor QsciLexerXML::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexerHTML.

◆ keywords()

const char* QsciLexerXML::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexerHTML.

◆ refreshProperties()

void QsciLexerXML::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexerHTML.

◆ setScriptsStyled()

void QsciLexerXML::setScriptsStyled ( bool  styled)

If allowed is true then scripts are styled. The default is true.

See also
scriptsStyled()

◆ scriptsStyled()

bool QsciLexerXML::scriptsStyled ( ) const

Returns true if scripts are styled.

See also
setScriptsStyled()

◆ readProperties()

bool QsciLexerXML::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexerHTML.

◆ writeProperties()

bool QsciLexerXML::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexerHTML.

================================================ FILE: src/qscint/doc/html/classQsciLexerYAML-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciLexerYAML Member List

This is the complete list of members for QsciLexerYAML, including all inherited members.

apis() constQsciLexer
autoCompletionFillups() constQsciLexervirtual
autoCompletionWordSeparators() constQsciLexervirtual
autoIndentStyle()QsciLexer
blockEnd(int *style=0) constQsciLexervirtual
blockLookback() constQsciLexervirtual
blockStart(int *style=0) constQsciLexervirtual
blockStartKeyword(int *style=0) constQsciLexervirtual
braceStyle() constQsciLexervirtual
caseSensitive() constQsciLexervirtual
color(int style) constQsciLexervirtual
colorChanged(const QColor &c, int style)QsciLexersignal
Comment enum valueQsciLexerYAML
Default enum valueQsciLexerYAML
defaultColor(int style) constQsciLexerYAMLvirtual
QsciLexer::defaultColor() constQsciLexer
defaultEolFill(int style) constQsciLexerYAMLvirtual
defaultFont(int style) constQsciLexerYAMLvirtual
QsciLexer::defaultFont() constQsciLexer
defaultPaper(int style) constQsciLexerYAMLvirtual
QsciLexer::defaultPaper() constQsciLexer
defaultStyle() constQsciLexervirtual
description(int style) constQsciLexerYAMLvirtual
DocumentDelimiter enum valueQsciLexerYAML
editor() constQsciLexerinline
eolFill(int style) constQsciLexervirtual
eolFillChanged(bool eolfilled, int style)QsciLexersignal
foldComments() constQsciLexerYAML
font(int style) constQsciLexervirtual
fontChanged(const QFont &f, int style)QsciLexersignal
Identifier enum valueQsciLexerYAML
indentationGuideView() constQsciLexervirtual
Keyword enum valueQsciLexerYAML
keywords(int set) constQsciLexerYAMLvirtual
language() constQsciLexerYAMLvirtual
lexer() constQsciLexerYAMLvirtual
lexerId() constQsciLexervirtual
Number enum valueQsciLexerYAML
Operator enum valueQsciLexerYAML
paper(int style) constQsciLexervirtual
paperChanged(const QColor &c, int style)QsciLexersignal
propertyChanged(const char *prop, const char *val)QsciLexersignal
QsciLexer(QObject *parent=0)QsciLexer
QsciLexerYAML(QObject *parent=0)QsciLexerYAML
readProperties(QSettings &qs, const QString &prefix)QsciLexerYAMLprotectedvirtual
readSettings(QSettings &qs, const char *prefix="/Scintilla")QsciLexer
Reference enum valueQsciLexerYAML
refreshProperties()QsciLexerYAMLvirtual
setAPIs(QsciAbstractAPIs *apis)QsciLexer
setAutoIndentStyle(int autoindentstyle)QsciLexervirtualslot
setColor(const QColor &c, int style=-1)QsciLexervirtualslot
setDefaultColor(const QColor &c)QsciLexer
setDefaultFont(const QFont &f)QsciLexer
setDefaultPaper(const QColor &c)QsciLexer
setEditor(QsciScintilla *editor) (defined in QsciLexer)QsciLexervirtual
setEolFill(bool eoffill, int style=-1)QsciLexervirtualslot
setFoldComments(bool fold)QsciLexerYAMLvirtualslot
setFont(const QFont &f, int style=-1)QsciLexervirtualslot
setPaper(const QColor &c, int style=-1)QsciLexervirtualslot
styleBitsNeeded() constQsciLexervirtual
SyntaxErrorMarker enum valueQsciLexerYAML
TextBlockMarker enum valueQsciLexerYAML
wordCharacters() constQsciLexervirtual
writeProperties(QSettings &qs, const QString &prefix) constQsciLexerYAMLprotectedvirtual
writeSettings(QSettings &qs, const char *prefix="/Scintilla") constQsciLexer
~QsciLexer()QsciLexervirtual
~QsciLexerYAML()QsciLexerYAMLvirtual
================================================ FILE: src/qscint/doc/html/classQsciLexerYAML.html ================================================ QScintilla: QsciLexerYAML Class Reference
QScintilla  2.12.1

#include <qscilexeryaml.h>

Inherits QsciLexer.

Public Types

enum  {
  Default = 0, Comment = 1, Identifier = 2,
  Keyword = 3, Number = 4, Reference = 5,
  DocumentDelimiter = 6, TextBlockMarker = 7, SyntaxErrorMarker = 8,
  Operator = 9
}
 

Public Slots

virtual void setFoldComments (bool fold)
 
- Public Slots inherited from QsciLexer
virtual void setAutoIndentStyle (int autoindentstyle)
 
virtual void setColor (const QColor &c, int style=-1)
 
virtual void setEolFill (bool eoffill, int style=-1)
 
virtual void setFont (const QFont &f, int style=-1)
 
virtual void setPaper (const QColor &c, int style=-1)
 

Public Member Functions

 QsciLexerYAML (QObject *parent=0)
 
virtual ~QsciLexerYAML ()
 
const char * language () const
 
const char * lexer () const
 
QColor defaultColor (int style) const
 
bool defaultEolFill (int style) const
 
QFont defaultFont (int style) const
 
QColor defaultPaper (int style) const
 
const char * keywords (int set) const
 
QString description (int style) const
 
void refreshProperties ()
 
bool foldComments () const
 
- Public Member Functions inherited from QsciLexer
 QsciLexer (QObject *parent=0)
 
virtual ~QsciLexer ()
 
virtual int lexerId () const
 
QsciAbstractAPIsapis () const
 
virtual const char * autoCompletionFillups () const
 
virtual QStringList autoCompletionWordSeparators () const
 
int autoIndentStyle ()
 
virtual const char * blockEnd (int *style=0) const
 
virtual int blockLookback () const
 
virtual const char * blockStart (int *style=0) const
 
virtual const char * blockStartKeyword (int *style=0) const
 
virtual int braceStyle () const
 
virtual bool caseSensitive () const
 
virtual QColor color (int style) const
 
virtual bool eolFill (int style) const
 
virtual QFont font (int style) const
 
virtual int indentationGuideView () const
 
virtual int defaultStyle () const
 
virtual QColor paper (int style) const
 
QColor defaultColor () const
 
QFont defaultFont () const
 
QColor defaultPaper () const
 
QsciScintillaeditor () const
 
void setAPIs (QsciAbstractAPIs *apis)
 
void setDefaultColor (const QColor &c)
 
void setDefaultFont (const QFont &f)
 
void setDefaultPaper (const QColor &c)
 
virtual void setEditor (QsciScintilla *editor)
 
bool readSettings (QSettings &qs, const char *prefix="/Scintilla")
 
virtual int styleBitsNeeded () const
 
virtual const char * wordCharacters () const
 
bool writeSettings (QSettings &qs, const char *prefix="/Scintilla") const
 

Protected Member Functions

bool readProperties (QSettings &qs, const QString &prefix)
 
bool writeProperties (QSettings &qs, const QString &prefix) const
 

Additional Inherited Members

- Signals inherited from QsciLexer
void colorChanged (const QColor &c, int style)
 
void eolFillChanged (bool eolfilled, int style)
 
void fontChanged (const QFont &f, int style)
 
void paperChanged (const QColor &c, int style)
 
void propertyChanged (const char *prop, const char *val)
 

Detailed Description

The QsciLexerYAML class encapsulates the Scintilla YAML lexer.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the meanings of the different styles used by the YAML lexer.

Enumerator
Default 

The default.

Comment 

A comment.

Identifier 

An identifier.

Keyword 

A keyword.

Number 

A number.

Reference 

A reference.

DocumentDelimiter 

A document delimiter.

TextBlockMarker 

A text block marker.

SyntaxErrorMarker 

A syntax error marker.

Operator 

An operator.

Constructor & Destructor Documentation

◆ QsciLexerYAML()

QsciLexerYAML::QsciLexerYAML ( QObject *  parent = 0)

Construct a QsciLexerYAML with parent parent. parent is typically the QsciScintilla instance.

Member Function Documentation

◆ lexer()

const char* QsciLexerYAML::lexer ( ) const
virtual

Returns the name of the lexer. Some lexers support a number of languages.

Reimplemented from QsciLexer.

◆ defaultColor()

QColor QsciLexerYAML::defaultColor ( int  style) const
virtual

Returns the foreground colour of the text for style number style.

See also
defaultPaper()

Reimplemented from QsciLexer.

◆ defaultPaper()

QColor QsciLexerYAML::defaultPaper ( int  style) const
virtual

Returns the background colour of the text for style number style.

See also
defaultColor()

Reimplemented from QsciLexer.

◆ keywords()

const char* QsciLexerYAML::keywords ( int  set) const
virtual

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QsciLexer.

◆ description()

QString QsciLexerYAML::description ( int  style) const
virtual

Returns the descriptive name for style number style. If the style is invalid for this language then an empty QString is returned. This is intended to be used in user preference dialogs.

Implements QsciLexer.

◆ refreshProperties()

void QsciLexerYAML::refreshProperties ( )
virtual

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QsciLexer.

◆ foldComments()

bool QsciLexerYAML::foldComments ( ) const

Returns true if multi-line comment blocks can be folded.

See also
setFoldComments()

◆ setFoldComments

virtual void QsciLexerYAML::setFoldComments ( bool  fold)
virtualslot

If fold is true then multi-line comment blocks can be folded. The default is false.

See also
foldComments()

◆ readProperties()

bool QsciLexerYAML::readProperties ( QSettings &  qs,
const QString &  prefix 
)
protectedvirtual

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

◆ writeProperties()

bool QsciLexerYAML::writeProperties ( QSettings &  qs,
const QString &  prefix 
) const
protectedvirtual

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. true is returned if there is no error.

Reimplemented from QsciLexer.

================================================ FILE: src/qscint/doc/html/classQsciMacro-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciMacro Member List

This is the complete list of members for QsciMacro, including all inherited members.

clear()QsciMacro
endRecording()QsciMacrovirtualslot
load(const QString &asc)QsciMacro
play()QsciMacrovirtualslot
QsciMacro(QsciScintilla *parent)QsciMacro
QsciMacro(const QString &asc, QsciScintilla *parent)QsciMacro
save() constQsciMacro
startRecording()QsciMacrovirtualslot
~QsciMacro()QsciMacrovirtual
================================================ FILE: src/qscint/doc/html/classQsciMacro.html ================================================ QScintilla: QsciMacro Class Reference
QScintilla  2.12.1

#include <qscimacro.h>

Inherits QObject.

Public Slots

virtual void play ()
 
virtual void startRecording ()
 
virtual void endRecording ()
 

Public Member Functions

 QsciMacro (QsciScintilla *parent)
 
 QsciMacro (const QString &asc, QsciScintilla *parent)
 
virtual ~QsciMacro ()
 
void clear ()
 
bool load (const QString &asc)
 
QString save () const
 

Detailed Description

The QsciMacro class represents a sequence of recordable editor commands.

Methods are provided to convert convert a macro to and from a textual representation so that they can be easily written to and read from permanent storage.

Constructor & Destructor Documentation

◆ QsciMacro()

QsciMacro::QsciMacro ( const QString &  asc,
QsciScintilla parent 
)

Construct a QsciMacro from the printable ASCII representation asc, with parent parent.

Member Function Documentation

◆ load()

bool QsciMacro::load ( const QString &  asc)

Load the macro from the printable ASCII representation asc. Returns true if there was no error.

See also
save()

◆ save()

QString QsciMacro::save ( ) const

Return a printable ASCII representation of the macro. It is guaranteed that only printable ASCII characters are used and that double quote characters will not be used.

See also
load()
================================================ FILE: src/qscint/doc/html/classQsciPrinter-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciPrinter Member List

This is the complete list of members for QsciPrinter, including all inherited members.

formatPage(QPainter &painter, bool drawing, QRect &area, int pagenr)QsciPrintervirtual
magnification() constQsciPrinterinline
printRange(QsciScintillaBase *qsb, int from=-1, int to=-1)QsciPrintervirtual
QsciPrinter(PrinterMode mode=ScreenResolution)QsciPrinter
setMagnification(int magnification)QsciPrintervirtual
setWrapMode(QsciScintilla::WrapMode wmode)QsciPrintervirtual
wrapMode() constQsciPrinterinline
~QsciPrinter()QsciPrintervirtual
================================================ FILE: src/qscint/doc/html/classQsciPrinter.html ================================================ QScintilla: QsciPrinter Class Reference
QScintilla  2.12.1
QsciPrinter Class Reference

#include <qsciprinter.h>

Inherits QPrinter.

Public Member Functions

 QsciPrinter (PrinterMode mode=ScreenResolution)
 
virtual ~QsciPrinter ()
 
virtual void formatPage (QPainter &painter, bool drawing, QRect &area, int pagenr)
 
int magnification () const
 
virtual void setMagnification (int magnification)
 
virtual int printRange (QsciScintillaBase *qsb, int from=-1, int to=-1)
 
QsciScintilla::WrapMode wrapMode () const
 
virtual void setWrapMode (QsciScintilla::WrapMode wmode)
 

Detailed Description

The QsciPrinter class is a sub-class of the Qt QPrinter class that is able to print the text of a Scintilla document.

The class can be further sub-classed to alter to layout of the text, adding headers and footers for example.

Member Function Documentation

◆ formatPage()

virtual void QsciPrinter::formatPage ( QPainter &  painter,
bool  drawing,
QRect &  area,
int  pagenr 
)
virtual

Format a page, by adding headers and footers for example, before the document text is drawn on it. painter is the painter to be used to add customised text and graphics. drawing is true if the page is actually being drawn rather than being sized. painter drawing methods must only be called when drawing is true. area is the area of the page that will be used to draw the text. This should be modified if it is necessary to reserve space for any customised text or graphics. By default the area is relative to the printable area of the page. Use QPrinter::setFullPage() before calling printRange() if you want to try and print over the whole page. pagenr is the number of the page. The first page is numbered 1.

◆ magnification()

int QsciPrinter::magnification ( ) const
inline

Return the number of points to add to each font when printing.

See also
setMagnification()

◆ setMagnification()

virtual void QsciPrinter::setMagnification ( int  magnification)
virtual

Sets the number of points to add to each font when printing to magnification.

See also
magnification()

◆ printRange()

virtual int QsciPrinter::printRange ( QsciScintillaBase qsb,
int  from = -1,
int  to = -1 
)
virtual

Print a range of lines from the Scintilla instance qsb. from is the first line to print and a negative value signifies the first line of text. to is the last line to print and a negative value signifies the last line of text. true is returned if there was no error.

◆ wrapMode()

QsciScintilla::WrapMode QsciPrinter::wrapMode ( ) const
inline

Return the line wrap mode used when printing. The default is QsciScintilla::WrapWord.

See also
setWrapMode()

◆ setWrapMode()

virtual void QsciPrinter::setWrapMode ( QsciScintilla::WrapMode  wmode)
virtual

Sets the line wrap mode used when printing to wmode.

See also
wrapMode()
================================================ FILE: src/qscint/doc/html/classQsciScintilla-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciScintilla Member List

This is the complete list of members for QsciScintilla, including all inherited members.

AcsAll enum valueQsciScintilla
AcsAPIs enum valueQsciScintilla
AcsDocument enum valueQsciScintilla
AcsNone enum valueQsciScintilla
AcusAlways enum valueQsciScintilla
AcusExplicit enum valueQsciScintilla
AcusNever enum valueQsciScintilla
addEdgeColumn(int colnr, const QColor &col)QsciScintilla
AiClosing enum valueQsciScintilla
AiMaintain enum valueQsciScintilla
AiOpening enum valueQsciScintilla
annotate(int line, const QString &text, int style)QsciScintilla
annotate(int line, const QString &text, const QsciStyle &style)QsciScintilla
annotate(int line, const QsciStyledText &text)QsciScintilla
annotate(int line, const QList< QsciStyledText > &text)QsciScintilla
annotation(int line) constQsciScintilla
ANNOTATION_BOXED enum value (defined in QsciScintillaBase)QsciScintillaBase
ANNOTATION_HIDDEN enum value (defined in QsciScintillaBase)QsciScintillaBase
ANNOTATION_INDENTED enum value (defined in QsciScintillaBase)QsciScintillaBase
ANNOTATION_STANDARD enum value (defined in QsciScintillaBase)QsciScintillaBase
AnnotationBoxed enum valueQsciScintilla
AnnotationDisplay enum nameQsciScintilla
annotationDisplay() constQsciScintilla
AnnotationHidden enum valueQsciScintilla
AnnotationIndented enum valueQsciScintilla
AnnotationStandard enum valueQsciScintilla
apiContext(int pos, int &context_start, int &last_word_start)QsciScintillavirtual
append(const QString &text)QsciScintillavirtualslot
autoCompleteFromAll()QsciScintillavirtualslot
autoCompleteFromAPIs()QsciScintillavirtualslot
autoCompleteFromDocument()QsciScintillavirtualslot
autoCompletionCaseSensitivity() constQsciScintilla
autoCompletionFillupsEnabled() constQsciScintilla
autoCompletionReplaceWord() constQsciScintilla
autoCompletionShowSingle() constQsciScintilla
AutoCompletionSource enum nameQsciScintilla
autoCompletionSource() constQsciScintillainline
autoCompletionThreshold() constQsciScintillainline
AutoCompletionUseSingle enum nameQsciScintilla
autoCompletionUseSingle() constQsciScintilla
autoIndent() constQsciScintillainline
Background enum valueQsciScintilla
backspaceUnindents() constQsciScintilla
beginUndoAction()QsciScintilla
Bookmark enum valueQsciScintilla
BottomLeftCorner enum valueQsciScintilla
BoxedFoldStyle enum valueQsciScintilla
BoxedMinus enum valueQsciScintilla
BoxedMinusConnected enum valueQsciScintilla
BoxedPlus enum valueQsciScintilla
BoxedPlusConnected enum valueQsciScintilla
BoxedTreeFoldStyle enum valueQsciScintilla
BoxIndicator enum valueQsciScintilla
BraceMatch enum nameQsciScintilla
braceMatching() constQsciScintillainline
bytes(int start, int end) constQsciScintilla
bytesAsText(const char *bytes) const (defined in QsciScintillaBase)QsciScintillaBaseprotected
callTip()QsciScintillavirtualslot
CallTipsAboveText enum valueQsciScintilla
CallTipsBelowText enum valueQsciScintilla
CallTipsContext enum valueQsciScintilla
CallTipsNoAutoCompletionContext enum valueQsciScintilla
CallTipsNoContext enum valueQsciScintilla
CallTipsNone enum valueQsciScintilla
callTipsPosition() constQsciScintillainline
CallTipsPosition enum nameQsciScintilla
CallTipsStyle enum nameQsciScintilla
callTipsStyle() constQsciScintillainline
callTipsVisible() constQsciScintillainline
cancelFind()QsciScintilla
cancelList()QsciScintilla
canInsertFromMimeData(const QMimeData *source) constQsciScintillaBaseprotectedvirtual
CARET_EVEN enum value (defined in QsciScintillaBase)QsciScintillaBase
CARET_JUMPS enum value (defined in QsciScintillaBase)QsciScintillaBase
CARET_SLOP enum value (defined in QsciScintillaBase)QsciScintillaBase
CARET_STRICT enum value (defined in QsciScintillaBase)QsciScintillaBase
CARETSTYLE_BLOCK enum value (defined in QsciScintillaBase)QsciScintillaBase
CARETSTYLE_INVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
CARETSTYLE_LINE enum value (defined in QsciScintillaBase)QsciScintillaBase
caseSensitive() constQsciScintilla
CentreGradientIndicator enum valueQsciScintilla
changeEvent(QEvent *e)QsciScintillaprotectedvirtual
Circle enum valueQsciScintilla
CircledFoldStyle enum valueQsciScintilla
CircledMinus enum valueQsciScintilla
CircledMinusConnected enum valueQsciScintilla
CircledPlus enum valueQsciScintilla
CircledPlusConnected enum valueQsciScintilla
CircledTreeFoldStyle enum valueQsciScintilla
clear()QsciScintillavirtualslot
clearAnnotations(int line=-1)QsciScintilla
clearEdgeColumns()QsciScintilla
clearFolds()QsciScintilla
clearIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)QsciScintilla
clearMarginText(int line=-1)QsciScintilla
clearRegisteredImages()QsciScintilla
color() constQsciScintilla
commandKey(int qt_key, int &modifiers) (defined in QsciScintillaBase)QsciScintillaBasestatic
contextMenuEvent(QContextMenuEvent *e)QsciScintillaprotectedvirtual
contextMenuNeeded(int x, int y) const (defined in QsciScintillaBase)QsciScintillaBaseprotected
contractedFolds() constQsciScintilla
convertEols(EolMode mode)QsciScintilla
copy()QsciScintillavirtualslot
copyAvailable(bool yes)QsciScintillasignal
createStandardContextMenu()QsciScintilla
cursorPositionChanged(int line, int index)QsciScintillasignal
cut()QsciScintillavirtualslot
DashesIndicator enum valueQsciScintilla
DiagonalIndicator enum valueQsciScintilla
document() constQsciScintillainline
DotBoxIndicator enum valueQsciScintilla
DotsIndicator enum valueQsciScintilla
DownTriangle enum valueQsciScintilla
dragEnterEvent(QDragEnterEvent *e)QsciScintillaBaseprotectedvirtual
dragLeaveEvent(QDragLeaveEvent *e)QsciScintillaBaseprotectedvirtual
dragMoveEvent(QDragMoveEvent *e)QsciScintillaBaseprotectedvirtual
dropEvent(QDropEvent *e)QsciScintillaBaseprotectedvirtual
EDGE_BACKGROUND enum value (defined in QsciScintillaBase)QsciScintillaBase
EDGE_LINE enum value (defined in QsciScintillaBase)QsciScintillaBase
EDGE_MULTILINE enum value (defined in QsciScintillaBase)QsciScintillaBase
EDGE_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
EdgeBackground enum valueQsciScintilla
edgeColor() constQsciScintilla
edgeColumn() constQsciScintilla
EdgeLine enum valueQsciScintilla
EdgeMode enum nameQsciScintilla
edgeMode() constQsciScintilla
EdgeMultipleLines enum valueQsciScintilla
EdgeNone enum valueQsciScintilla
endUndoAction()QsciScintilla
ensureCursorVisible()QsciScintillavirtualslot
ensureLineVisible(int line)QsciScintillavirtualslot
EolMac enum valueQsciScintilla
EolMode enum nameQsciScintilla
eolMode() constQsciScintilla
EolUnix enum valueQsciScintilla
eolVisibility() constQsciScintilla
EolWindows enum valueQsciScintilla
event(QEvent *e)QsciScintillaprotectedvirtual
extraAscent() constQsciScintilla
extraDescent() constQsciScintilla
fillIndicatorRange(int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)QsciScintilla
findFirst(const QString &expr, bool re, bool cs, bool wo, bool wrap, bool forward=true, int line=-1, int index=-1, bool show=true, bool posix=false, bool cxx11=false)QsciScintillavirtual
findFirstInSelection(const QString &expr, bool re, bool cs, bool wo, bool forward=true, bool show=true, bool posix=false, bool cxx11=false)QsciScintillavirtual
findMatchingBrace(long &brace, long &other, BraceMatch mode)QsciScintilla
findNext()QsciScintillavirtual
firstVisibleLine() constQsciScintilla
focusInEvent(QFocusEvent *e)QsciScintillaBaseprotectedvirtual
focusNextPrevChild(bool next)QsciScintillaBaseprotectedvirtual
focusOutEvent(QFocusEvent *e)QsciScintillaBaseprotectedvirtual
foldAll(bool children=false)QsciScintillavirtualslot
folding() constQsciScintillainline
foldLine(int line)QsciScintillavirtualslot
FoldStyle enum nameQsciScintilla
fromMimeData(const QMimeData *source, bool &rectangular) constQsciScintillaBaseprotectedvirtual
FullBoxIndicator enum valueQsciScintilla
FullRectangle enum valueQsciScintilla
getCursorPosition(int *line, int *index) constQsciScintilla
getSelection(int *lineFrom, int *indexFrom, int *lineTo, int *indexTo) constQsciScintilla
GradientIndicator enum valueQsciScintilla
hasSelectedText() constQsciScintillainline
HiddenIndicator enum valueQsciScintilla
indent(int line)QsciScintillavirtualslot
indentation(int line) constQsciScintilla
indentationGuides() constQsciScintilla
indentationsUseTabs() constQsciScintilla
indentationWidth() constQsciScintilla
INDIC0_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC1_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC2_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_BOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_COMPOSITIONTHICK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_COMPOSITIONTHIN enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_CONTAINER enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DASH enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DIAGONAL enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DOTBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DOTS enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_FULLBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_GRADIENT enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_GRADIENTCENTRE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_HIDDEN enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_IME enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_IME_MAX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_MAX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_PLAIN enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_POINT enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_POINTCHARACTER enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_ROUNDBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_SQUIGGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_SQUIGGLELOW enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_SQUIGGLEPIXMAP enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_STRAIGHTBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_STRIKE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_TEXTFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_TT enum value (defined in QsciScintillaBase)QsciScintillaBase
indicatorClicked(int line, int index, Qt::KeyboardModifiers state)QsciScintillasignal
indicatorDefine(IndicatorStyle style, int indicatorNumber=-1)QsciScintilla
indicatorDrawUnder(int indicatorNumber) constQsciScintilla
indicatorReleased(int line, int index, Qt::KeyboardModifiers state)QsciScintillasignal
IndicatorStyle enum nameQsciScintilla
INDICS_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
inputMethodEvent(QInputMethodEvent *event)QsciScintillaBaseprotectedvirtual
inputMethodQuery(Qt::InputMethodQuery query) const (defined in QsciScintillaBase)QsciScintillaBaseprotectedvirtual
insert(const QString &text)QsciScintillavirtualslot
insertAt(const QString &text, int line, int index)QsciScintillavirtualslot
Invisible enum valueQsciScintilla
isCallTipActive() constQsciScintilla
isListActive() constQsciScintilla
isModified() constQsciScintilla
isReadOnly() constQsciScintilla
isRedoAvailable() constQsciScintilla
isUndoAvailable() constQsciScintilla
isUtf8() constQsciScintilla
isWordCharacter(char ch) constQsciScintilla
keyPressEvent(QKeyEvent *e)QsciScintillaBaseprotectedvirtual
LeftRectangle enum valueQsciScintilla
LeftSideRoundedSplitter enum valueQsciScintilla
LeftSideSplitter enum valueQsciScintilla
length() constQsciScintilla
lexer() constQsciScintilla
lineAt(const QPoint &point) constQsciScintilla
lineIndexFromPosition(int position, int *line, int *index) constQsciScintilla
lineLength(int line) constQsciScintilla
lines() constQsciScintilla
linesChanged()QsciScintillasignal
marginBackgroundColor(int margin) constQsciScintilla
marginClicked(int margin, int line, Qt::KeyboardModifiers state)QsciScintillasignal
marginLineNumbers(int margin) constQsciScintilla
marginMarkerMask(int margin) constQsciScintilla
marginOptions() constQsciScintilla
marginRightClicked(int margin, int line, Qt::KeyboardModifiers state)QsciScintillasignal
margins() constQsciScintilla
marginSensitivity(int margin) constQsciScintilla
marginType(int margin) constQsciScintilla
MarginType enum nameQsciScintilla
marginWidth(int margin) constQsciScintilla
markerAdd(int linenr, int markerNumber)QsciScintilla
markerDefine(MarkerSymbol sym, int markerNumber=-1)QsciScintilla
markerDefine(char ch, int markerNumber=-1)QsciScintilla
markerDefine(const QPixmap &pm, int markerNumber=-1)QsciScintilla
markerDefine(const QImage &im, int markerNumber=-1)QsciScintilla
markerDelete(int linenr, int markerNumber=-1)QsciScintilla
markerDeleteAll(int markerNumber=-1)QsciScintilla
markerDeleteHandle(int mhandle)QsciScintilla
markerFindNext(int linenr, unsigned mask) constQsciScintilla
markerFindPrevious(int linenr, unsigned mask) constQsciScintilla
markerLine(int mhandle) constQsciScintilla
markersAtLine(int linenr) constQsciScintilla
MarkerSymbol enum nameQsciScintilla
Minus enum valueQsciScintilla
modificationAttempted()QsciScintillasignal
modificationChanged(bool m)QsciScintillasignal
MoNone enum valueQsciScintilla
MoSublineSelect enum valueQsciScintilla
mouseDoubleClickEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
mouseMoveEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
mousePressEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
mouseReleaseEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
moveToMatchingBrace()QsciScintillavirtualslot
NoBraceMatch enum valueQsciScintilla
NoFoldStyle enum valueQsciScintilla
NumberMargin enum valueQsciScintilla
overwriteMode() constQsciScintilla
paintEvent(QPaintEvent *e)QsciScintillaBaseprotectedvirtual
paper() constQsciScintilla
paste()QsciScintillavirtualslot
PlainFoldStyle enum valueQsciScintilla
PlainIndicator enum valueQsciScintilla
Plus enum valueQsciScintilla
pool()QsciScintillaBasestatic
positionFromLineIndex(int line, int index) constQsciScintilla
QsciScintilla(QWidget *parent=0)QsciScintilla
QsciScintillaBase(QWidget *parent=0)QsciScintillaBaseexplicit
QSCN_SELCHANGED(bool yes)QsciScintillaBasesignal
read(QIODevice *io)QsciScintilla
recolor(int start=0, int end=-1)QsciScintillavirtual
Rectangle enum valueQsciScintilla
redo()QsciScintillavirtualslot
registerImage(int id, const QPixmap &pm)QsciScintilla
registerImage(int id, const QImage &im)QsciScintilla
removeSelectedText()QsciScintillavirtualslot
replace(const QString &replaceStr)QsciScintillavirtual
replaceHorizontalScrollBar(QScrollBar *scrollBar)QsciScintillaBase
replaceSelectedText(const QString &text)QsciScintillavirtualslot
replaceVerticalScrollBar(QScrollBar *scrollBar)QsciScintillaBase
resetFoldMarginColors()QsciScintilla
resetHotspotBackgroundColor()QsciScintilla
resetHotspotForegroundColor()QsciScintilla
resetMatchedBraceIndicator()QsciScintilla
resetSelectionBackgroundColor()QsciScintillavirtualslot
resetSelectionForegroundColor()QsciScintillavirtualslot
resetUnmatchedBraceIndicator()QsciScintilla
resizeEvent(QResizeEvent *e)QsciScintillaBaseprotectedvirtual
RightArrow enum valueQsciScintilla
RightTriangle enum valueQsciScintilla
RoundBoxIndicator enum valueQsciScintilla
RoundedBottomLeftCorner enum valueQsciScintilla
SC_AC_COMMAND enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_DOUBLECLICK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_FILLUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_NEWLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_TAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ALPHA_NOALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ALPHA_OPAQUE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ALPHA_TRANSPARENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AUTOMATICFOLD_CHANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AUTOMATICFOLD_CLICK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AUTOMATICFOLD_SHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_CARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_DOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_PAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CARETSTICKY_OFF enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CARETSTICKY_ON enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CARETSTICKY_WHITESPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_CAMEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_LOWER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_MIXED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_UPPER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_8859_15 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_ANSI enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_ARABIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_BALTIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_CHINESEBIG5 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_CYRILLIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_EASTEUROPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_GB2312 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_GREEK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_HANGUL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_HEBREW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_JOHAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_MAC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_OEM enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_OEM866 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_RUSSIAN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_SHIFTJIS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_SYMBOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_THAI enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_TURKISH enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_VIETNAMESE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CP_DBCS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CP_UTF8 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORARROW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORNORMAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORREVERSEARROW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORWAIT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_DOCUMENTOPTION_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_DOCUMENTOPTION_STYLES_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_DOCUMENTOPTION_TEXT_LARGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_ANTIALIASED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_LCD_OPTIMIZED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_NON_ANTIALIASED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EOL_CR enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EOL_CRLF enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EOL_LF enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDACTION_CONTRACT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDACTION_EXPAND enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDACTION_TOGGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDDISPLAYTEXT_BOXED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDDISPLAYTEXT_HIDDEN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDDISPLAYTEXT_STANDARD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LEVELNUMBERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEAFTER_CONTRACTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEAFTER_EXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEBEFORE_CONTRACTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEBEFORE_EXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELBASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELHEADERFLAG enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELNUMBERMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELWHITEFLAG enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FONT_SIZE_MULTIPLIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_AFTERVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_ALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_TOVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IME_INLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IME_WINDOWED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_INDICFLAG_VALUEBEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_INDICVALUEBIT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_INDICVALUEMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IV_LOOKBOTH enum valueQsciScintillaBase
SC_IV_LOOKFORWARD enum valueQsciScintillaBase
SC_IV_NONE enum valueQsciScintillaBase
SC_IV_REAL enum valueQsciScintillaBase
SC_LASTSTEPINUNDOREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINE_END_TYPE_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINE_END_TYPE_UNICODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINECHARACTERINDEX_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINECHARACTERINDEX_UTF16 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINECHARACTERINDEX_UTF32 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARGIN_BACK enum valueQsciScintillaBase
SC_MARGIN_COLOUR enum valueQsciScintillaBase
SC_MARGIN_FORE enum valueQsciScintillaBase
SC_MARGIN_NUMBER enum valueQsciScintillaBase
SC_MARGIN_RTEXT enum valueQsciScintillaBase
SC_MARGIN_SYMBOL enum valueQsciScintillaBase
SC_MARGIN_TEXT enum valueQsciScintillaBase
SC_MARGINOPTION_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARGINOPTION_SUBLINESELECT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARK_ARROW enum valueQsciScintillaBase
SC_MARK_ARROWDOWN enum valueQsciScintillaBase
SC_MARK_ARROWS enum valueQsciScintillaBase
SC_MARK_AVAILABLE enum valueQsciScintillaBase
SC_MARK_BACKGROUND enum valueQsciScintillaBase
SC_MARK_BOOKMARK enum valueQsciScintillaBase
SC_MARK_BOXMINUS enum valueQsciScintillaBase
SC_MARK_BOXMINUSCONNECTED enum valueQsciScintillaBase
SC_MARK_BOXPLUS enum valueQsciScintillaBase
SC_MARK_BOXPLUSCONNECTED enum valueQsciScintillaBase
SC_MARK_CHARACTER enum valueQsciScintillaBase
SC_MARK_CIRCLE enum valueQsciScintillaBase
SC_MARK_CIRCLEMINUS enum valueQsciScintillaBase
SC_MARK_CIRCLEMINUSCONNECTED enum valueQsciScintillaBase
SC_MARK_CIRCLEPLUS enum valueQsciScintillaBase
SC_MARK_CIRCLEPLUSCONNECTED enum valueQsciScintillaBase
SC_MARK_DOTDOTDOT enum valueQsciScintillaBase
SC_MARK_EMPTY enum valueQsciScintillaBase
SC_MARK_FULLRECT enum valueQsciScintillaBase
SC_MARK_LCORNER enum valueQsciScintillaBase
SC_MARK_LCORNERCURVE enum valueQsciScintillaBase
SC_MARK_LEFTRECT enum valueQsciScintillaBase
SC_MARK_MINUS enum valueQsciScintillaBase
SC_MARK_PIXMAP enum valueQsciScintillaBase
SC_MARK_PLUS enum valueQsciScintillaBase
SC_MARK_RGBAIMAGE enum valueQsciScintillaBase
SC_MARK_ROUNDRECT enum valueQsciScintillaBase
SC_MARK_SHORTARROW enum valueQsciScintillaBase
SC_MARK_SMALLRECT enum valueQsciScintillaBase
SC_MARK_TCORNER enum valueQsciScintillaBase
SC_MARK_TCORNERCURVE enum valueQsciScintillaBase
SC_MARK_UNDERLINE enum valueQsciScintillaBase
SC_MARK_VLINE enum valueQsciScintillaBase
SC_MARKNUM_FOLDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDEREND enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDERMIDTAIL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDEROPEN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDEROPENMID enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDERSUB enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDERTAIL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MASK_FOLDERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_BEFOREDELETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_BEFOREINSERT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEANNOTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEINDICATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGELINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEMARGIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEMARKER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGESTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGETABSTOPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CONTAINER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_DELETETEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_INSERTCHECK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_INSERTTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_LEXERSTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MODEVENTMASKALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIAUTOC_EACH enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIAUTOC_ONCE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTILINEUNDOREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIPASTE_EACH enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIPASTE_ONCE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTISTEPUNDOREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ORDER_CUSTOM enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ORDER_PERFORMSORT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ORDER_PRESORTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PERFORMED_REDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PERFORMED_UNDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PERFORMED_USER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PHASES_MULTIPLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PHASES_ONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PHASES_TWO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_POPUP_ALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_POPUP_NEVER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_POPUP_TEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_BLACKONWHITE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_COLOURONWHITE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_COLOURONWHITEDEFAULTBG enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_INVERTLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_NORMAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_SCREENCOLOURS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_LINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_RECTANGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_STREAM enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_THIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STARTACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_BADALLOC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_FAILURE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_OK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_WARN_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_WARNREGEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DIRECTWRITE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DIRECTWRITEDC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DIRECTWRITERETAIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TIME_FOREVER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TYPE_BOOLEAN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TYPE_INTEGER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TYPE_STRING enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_CONTENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_H_SCROLL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_SELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_V_SCROLL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WEIGHT_BOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WEIGHT_NORMAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WEIGHT_SEMIBOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_CHAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_WHITESPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_WORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_DEEPINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_FIXED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_INDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_SAME enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_END enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_MARGIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAGLOC_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAGLOC_END_BY_TEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAGLOC_START_BY_TEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCEN_CHANGE()QsciScintillaBasesignal
SCFIND_CXX11REGEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_MATCHCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_POSIX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_REGEXP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_WHOLEWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_WORDSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDREFDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDSTYLEDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDTABSTOP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDTEXT enum valueQsciScintillaBase
SCI_ADDUNDOACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATEEXTENDEDSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATELINECHARACTERINDEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATESUBSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONCLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETLINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_APPENDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ASSIGNCMDKEY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCACTIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCCANCEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCCOMPLETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETAUTOHIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCANCELATSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCHOOSESINGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCURRENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCURRENTTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETDROPRESTOFWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETIGNORECASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETMAXHEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETMAXWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETMULTI enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETORDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETSEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETTYPESEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCPOSSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSELECT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETAUTOHIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETCANCELATSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETCHOOSESINGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETDROPRESTOFWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETFILLUPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETIGNORECASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETMAXHEIGHT enum valueQsciScintillaBase
SCI_AUTOCSETMAXWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETMULTI enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETORDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETSEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETTYPESEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSTOPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BACKTAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BEGINUNDOACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEBADLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEBADLIGHTINDICATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEHIGHLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEHIGHLIGHTINDICATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEMATCH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPACTIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPCANCEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPPOSSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETFOREHLT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETHLT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETPOSSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPUSESTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANCEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANPASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANUNDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHANGEINSERTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHANGELEXERSTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARLEFTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARLEFTRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARPOSITIONFROMPOINT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARPOSITIONFROMPOINTCLOSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARRIGHTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARRIGHTRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHOOSECARETX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARALLCMDKEYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARCMDKEY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARDOCUMENTSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARREGISTEREDIMAGES enum valueQsciScintillaBase
SCI_CLEARREPRESENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARSELECTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARTABSTOPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COLOURISE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CONTRACTEDFOLDNEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CONVERTEOLS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COPY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COPYALLOWLINE enum valueQsciScintillaBase
SCI_COPYRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COPYTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COUNTCHARACTERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COUNTCODEUNITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CREATEDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CREATELOADER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CUT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELETEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELETEBACKNOTLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELETERANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELLINELEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELLINERIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELWORDLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELWORDRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELWORDRIGHTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DESCRIBEKEYWORDSETS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DESCRIBEPROPERTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DESCRIPTIONOFSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DISTANCETOSECONDARYSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCLINEFROMVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTSTARTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DROPSELECTIONN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_EDITTOGGLEOVERTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_EMPTYUNDOBUFFER enum valueQsciScintillaBase
SCI_ENDUNDOACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ENSUREVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ENSUREVISIBLEENFORCEPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_EXPANDCHILDREN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDCOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDINDICATORFLASH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDINDICATORHIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDINDICATORSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDCHILDREN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDDISPLAYTEXTSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FORMATRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FORMFEED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FREESUBSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETACCESSIBILITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALCARETSBLINK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALCARETSVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALSELECTIONTYPING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETALLLINESVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETANCHOR enum valueQsciScintillaBase
SCI_GETAUTOMATICFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETBACKSPACEUNINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETBUFFEREDDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEBACKALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEFRAME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEVISIBLEALWAYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETPERIOD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETSTICKY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCHARACTERPOINTER enum valueQsciScintillaBase
SCI_GETCHARAT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCODEPAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCOMMANDEVENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCONTROLCHARSYMBOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCURLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCURRENTPOS enum valueQsciScintillaBase
SCI_GETCURSOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDIRECTFUNCTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDIRECTPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDOCPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDOCUMENTOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEDGECOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEDGECOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEDGEMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETENDATLASTLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETENDSTYLED enum valueQsciScintillaBase
SCI_GETEOLMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEXTRAASCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEXTRADESCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFIRSTVISIBLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOCUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOLDEXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOLDLEVEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOLDPARENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFONTQUALITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETGAPPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHIGHLIGHTGUIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTACTIVEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTACTIVEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTACTIVEUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTSINGLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETIDENTIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETIDLESTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETIMEINTERACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDENTATIONGUIDES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDICATORCURRENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDICATORVALUE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLASTCHILD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLAYOUTCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLENGTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLEXER enum valueQsciScintillaBase
SCI_GETLEXERLANGUAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINECHARACTERINDEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINECOUNT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDTYPESACTIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDTYPESALLOWED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDTYPESSUPPORTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEINDENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEINDENTPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINESELENDPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINESELSTARTPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMAINSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINBACKN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINCURSORN enum valueQsciScintillaBase
SCI_GETMARGINLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINMASKN enum valueQsciScintillaBase
SCI_GETMARGINOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINSENSITIVEN enum valueQsciScintillaBase
SCI_GETMARGINTYPEN enum valueQsciScintillaBase
SCI_GETMARGINWIDTHN enum valueQsciScintillaBase
SCI_GETMAXLINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMODEVENTMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMODIFY enum valueQsciScintillaBase
SCI_GETMOUSEDOWNCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOUSEDWELLTIME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOUSESELECTIONRECTANGULARSWITCH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOUSEWHEELCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOVEEXTENDSSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMULTIPASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMULTIPLESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETNAMEDSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETNEXTTABSTOP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETOVERTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPASTECONVERTENDINGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPHASESDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPOSITIONCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRIMARYSTYLEFROMSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRINTCOLOURMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRINTMAGNIFICATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRINTWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPROPERTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPROPERTYEXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPROPERTYINT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPUNCTUATIONCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRANGEPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETREADONLY enum valueQsciScintillaBase
SCI_GETRECTANGULARSELECTIONANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONMODIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETREPRESENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSCROLLWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSCROLLWIDTHTRACKING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSEARCHFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONEMPTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTATUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEAT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEBITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEBITSNEEDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEFROMSUBSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSUBSTYLEBASES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSUBSTYLESLENGTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSUBSTYLESSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTABDRAWMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTABINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTABWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTAG enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTARGETEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTARGETSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTARGETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTECHNOLOGY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTEXT enum valueQsciScintillaBase
SCI_GETTEXTLENGTH enum valueQsciScintillaBase
SCI_GETTEXTRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTWOPHASEDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETUNDOCOLLECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETUSETABS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVIEWEOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVIEWWS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVIRTUALSPACEOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWHITESPACECHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWHITESPACESIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWORDCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPINDENTMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPSTARTINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPVISUALFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPVISUALFLAGSLOCATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETXOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETZOOM enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GOTOLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GOTOPOS enum valueQsciScintillaBase
SCI_GRABFOCUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HIDELINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HIDESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEDISPLAY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEDISPLAYEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMERECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEWRAP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEWRAPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDEXPOSITIONFROMLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORALLONFOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORCLEARRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATOREND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORFILLRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORVALUEAT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETHOVERFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETHOVERSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETOUTLINEALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETUNDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETHOVERFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETHOVERSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETOUTLINEALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETUNDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INSERTTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ISRANGEWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LEXER_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINECOPY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINECUT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDELETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDOWNRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDUPLICATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDDISPLAY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDDISPLAYEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDWRAP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDWRAPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEFROMINDEXPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEFROMPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINELENGTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEREVERSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESCROLL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESCROLLDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESCROLLUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESJOIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESONSCREEN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESSPLIT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINETRANSPOSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEUPRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LOADLEXERLIBRARY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LOWERCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINTEXTCLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERADD enum valueQsciScintillaBase
SCI_MARKERADDSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERDEFINE enum valueQsciScintillaBase
SCI_MARKERDEFINEPIXMAP enum valueQsciScintillaBase
SCI_MARKERDEFINERGBAIMAGE enum valueQsciScintillaBase
SCI_MARKERDELETE enum valueQsciScintillaBase
SCI_MARKERDELETEALL enum valueQsciScintillaBase
SCI_MARKERDELETEHANDLE enum valueQsciScintillaBase
SCI_MARKERENABLEHIGHLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERGET enum valueQsciScintillaBase
SCI_MARKERLINEFROMHANDLE enum valueQsciScintillaBase
SCI_MARKERNEXT enum valueQsciScintillaBase
SCI_MARKERPREVIOUS enum valueQsciScintillaBase
SCI_MARKERSETALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERSETBACK enum valueQsciScintillaBase
SCI_MARKERSETBACKSELECTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERSETFORE enum valueQsciScintillaBase
SCI_MARKERSYMBOLDEFINED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MOVECARETINSIDEVIEW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MOVESELECTEDLINESDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MOVESELECTEDLINESUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIEDGEADDLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIEDGECLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIPLESELECTADDEACH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIPLESELECTADDNEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_NAMEOFSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_NEWLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_NULL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_OPTIONAL_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEDOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEDOWNRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEUPRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARADOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARADOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARAUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARAUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POINTXFROMPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POINTYFROMPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONAFTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONBEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONFROMLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONFROMPOINT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONFROMPOINTCLOSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONRELATIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONRELATIVECODEUNITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PRIVATELEXERCALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PROPERTYNAMES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PROPERTYTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REGISTERIMAGE enum valueQsciScintillaBase
SCI_REGISTERRGBAIMAGE enum valueQsciScintillaBase
SCI_RELEASEALLEXTENDEDSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RELEASEDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RELEASELINECHARACTERINDEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REPLACESEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REPLACETARGET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REPLACETARGETRE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RGBAIMAGESETHEIGHT enum valueQsciScintillaBase
SCI_RGBAIMAGESETSCALE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RGBAIMAGESETWIDTH enum valueQsciScintillaBase
SCI_ROTATESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLTOEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLTOSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHINTARGET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHNEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHPREV enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SELECTALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SELECTIONDUPLICATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SELECTIONISRECTANGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETACCESSIBILITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALCARETSBLINK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALCARETSVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELECTIONTYPING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETANCHOR enum valueQsciScintillaBase
SCI_SETAUTOMATICFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETBACKSPACEUNINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETBUFFEREDDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEBACKALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEFRAME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEVISIBLEALWAYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETPERIOD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETSTICKY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCHARSDEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCODEPAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCOMMANDEVENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCONTROLCHARSYMBOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCURRENTPOS enum valueQsciScintillaBase
SCI_SETCURSOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETDOCPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEDGECOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEDGECOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEDGEMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEMPTYSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETENDATLASTLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEOLMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEXTRAASCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEXTRADESCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFIRSTVISIBLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOCUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDEXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDLEVEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDMARGINCOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDMARGINHICOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFONTQUALITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHIGHLIGHTGUIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTACTIVEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTACTIVEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTACTIVEUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTSINGLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIDENTIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIDENTIFIERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIDLESTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIMEINTERACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDENTATIONGUIDES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDICATORCURRENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDICATORVALUE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETKEYWORDS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLAYOUTCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLEXER enum valueQsciScintillaBase
SCI_SETLEXERLANGUAGE enum valueQsciScintillaBase
SCI_SETLINEENDTYPESALLOWED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLINEINDENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMAINSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINBACKN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINCURSORN enum valueQsciScintillaBase
SCI_SETMARGINLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINMASKN enum valueQsciScintillaBase
SCI_SETMARGINOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINSENSITIVEN enum valueQsciScintillaBase
SCI_SETMARGINTYPEN enum valueQsciScintillaBase
SCI_SETMARGINWIDTHN enum valueQsciScintillaBase
SCI_SETMODEVENTMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSEDOWNCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSEDWELLTIME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSESELECTIONRECTANGULARSWITCH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSEWHEELCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMULTIPASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMULTIPLESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETOVERTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPASTECONVERTENDINGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPHASESDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPOSITIONCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPRINTCOLOURMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPRINTMAGNIFICATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPRINTWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPROPERTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPUNCTUATIONCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETREADONLY enum valueQsciScintillaBase
SCI_SETRECTANGULARSELECTIONANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONMODIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETREPRESENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSAVEPOINT enum valueQsciScintillaBase
SCI_SETSCROLLWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSCROLLWIDTHTRACKING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSEARCHFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTATUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTYLEBITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTYLINGEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTABDRAWMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTABINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTABWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTARGETEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTARGETRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTARGETSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTECHNOLOGY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTEXT enum valueQsciScintillaBase
SCI_SETTWOPHASEDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETUNDOCOLLECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETUSETABS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVIEWEOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVIEWWS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVIRTUALSPACEOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVISIBLEPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACECHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACESIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWORDCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPINDENTMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPSTARTINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPVISUALFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPVISUALFLAGSLOCATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETXCARETPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETXOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETYCARETPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETZOOM enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SHOWLINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STARTRECORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STARTSTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STOPRECORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEDOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLECLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETBOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETCHANGEABLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETCHARACTERSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETFONT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETHOTSPOT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETITALIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETSIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETSIZEFRACTIONAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETWEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLERESETDEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETBOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETCHANGEABLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETCHARACTERSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETFONT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETHOTSPOT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETITALIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETSIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETSIZEFRACTIONAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETWEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SWAPMAINANCHORCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TAGSOFSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TARGETFROMSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TARGETWHOLEDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TEXTHEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TEXTWIDTH enum valueQsciScintillaBase
SCI_TOGGLECARETSTICKY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TOGGLEFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TOGGLEFOLDSHOWTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_UNDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_UPPERCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_USEPOPUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_USERLISTSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEDISPLAY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEDISPLAYEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMERECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEWRAP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEWRAPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VERTICALCENTRECARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VISIBLEFROMDOCLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDENDPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFTENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTLEFTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTRIGHTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHTENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDSTARTPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WRAPCOUNT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ZOOMIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ZOOMOUT enum value (defined in QsciScintillaBase)QsciScintillaBase
ScintillaBytes typedef (defined in QsciScintillaBase)QsciScintillaBaseprotected
SCK_ADD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_BACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_DELETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_DIVIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_DOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_END enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_ESCAPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_HOME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_INSERT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_LEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_MENU enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_NEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_PRIOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_RETURN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_RIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_RWIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_SUBTRACT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_TAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_UP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_WIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCLEX_A68K enum valueQsciScintillaBase
SCLEX_ABAQUS enum valueQsciScintillaBase
SCLEX_ADA enum valueQsciScintillaBase
SCLEX_APDL enum valueQsciScintillaBase
SCLEX_AS enum valueQsciScintillaBase
SCLEX_ASM enum valueQsciScintillaBase
SCLEX_ASN1 enum valueQsciScintillaBase
SCLEX_ASP enum valueQsciScintillaBase
SCLEX_ASYMPTOTE enum valueQsciScintillaBase
SCLEX_AU3 enum valueQsciScintillaBase
SCLEX_AVE enum valueQsciScintillaBase
SCLEX_AVS enum valueQsciScintillaBase
SCLEX_BAAN enum valueQsciScintillaBase
SCLEX_BASH enum valueQsciScintillaBase
SCLEX_BATCH enum valueQsciScintillaBase
SCLEX_BIBTEX enum valueQsciScintillaBase
SCLEX_BLITZBASIC enum valueQsciScintillaBase
SCLEX_BULLANT enum valueQsciScintillaBase
SCLEX_CAML enum valueQsciScintillaBase
SCLEX_CLW enum valueQsciScintillaBase
SCLEX_CLWNOCASE enum valueQsciScintillaBase
SCLEX_CMAKE enum valueQsciScintillaBase
SCLEX_COBOL enum valueQsciScintillaBase
SCLEX_COFFEESCRIPT enum valueQsciScintillaBase
SCLEX_CONF enum valueQsciScintillaBase
SCLEX_CONTAINER enum valueQsciScintillaBase
SCLEX_CPP enum valueQsciScintillaBase
SCLEX_CPPNOCASE enum valueQsciScintillaBase
SCLEX_CSOUND enum valueQsciScintillaBase
SCLEX_CSS enum valueQsciScintillaBase
SCLEX_D enum valueQsciScintillaBase
SCLEX_DIFF enum valueQsciScintillaBase
SCLEX_DMAP enum valueQsciScintillaBase
SCLEX_DMIS enum valueQsciScintillaBase
SCLEX_ECL enum valueQsciScintillaBase
SCLEX_EDIFACT enum valueQsciScintillaBase
SCLEX_EIFFEL enum valueQsciScintillaBase
SCLEX_EIFFELKW enum valueQsciScintillaBase
SCLEX_ERLANG enum valueQsciScintillaBase
SCLEX_ERRORLIST enum valueQsciScintillaBase
SCLEX_ESCRIPT enum valueQsciScintillaBase
SCLEX_F77 enum valueQsciScintillaBase
SCLEX_FLAGSHIP enum valueQsciScintillaBase
SCLEX_FORTH enum valueQsciScintillaBase
SCLEX_FORTRAN enum valueQsciScintillaBase
SCLEX_FREEBASIC enum valueQsciScintillaBase
SCLEX_GAP enum valueQsciScintillaBase
SCLEX_GUI4CLI enum valueQsciScintillaBase
SCLEX_HASKELL enum valueQsciScintillaBase
SCLEX_HTML enum valueQsciScintillaBase
SCLEX_IHEX enum valueQsciScintillaBase
SCLEX_INDENT enum valueQsciScintillaBase
SCLEX_INNOSETUP enum valueQsciScintillaBase
SCLEX_JSON enum valueQsciScintillaBase
SCLEX_KIX enum valueQsciScintillaBase
SCLEX_KVIRC enum valueQsciScintillaBase
SCLEX_LATEX enum valueQsciScintillaBase
SCLEX_LISP enum valueQsciScintillaBase
SCLEX_LITERATEHASKELL enum valueQsciScintillaBase
SCLEX_LOT enum valueQsciScintillaBase
SCLEX_LOUT enum valueQsciScintillaBase
SCLEX_LUA enum valueQsciScintillaBase
SCLEX_MAGIK enum valueQsciScintillaBase
SCLEX_MAKEFILE enum valueQsciScintillaBase
SCLEX_MARKDOWN enum valueQsciScintillaBase
SCLEX_MATLAB enum valueQsciScintillaBase
SCLEX_MAXIMA enum valueQsciScintillaBase
SCLEX_METAPOST enum valueQsciScintillaBase
SCLEX_MMIXAL enum valueQsciScintillaBase
SCLEX_MODULA enum valueQsciScintillaBase
SCLEX_MSSQL enum valueQsciScintillaBase
SCLEX_MYSQL enum valueQsciScintillaBase
SCLEX_NIMROD enum valueQsciScintillaBase
SCLEX_NNCRONTAB enum valueQsciScintillaBase
SCLEX_NSIS enum valueQsciScintillaBase
SCLEX_NULL enum valueQsciScintillaBase
SCLEX_OCTAVE enum valueQsciScintillaBase
SCLEX_OPAL enum valueQsciScintillaBase
SCLEX_OSCRIPT enum valueQsciScintillaBase
SCLEX_PASCAL enum valueQsciScintillaBase
SCLEX_PERL enum valueQsciScintillaBase
SCLEX_PHP enum valueQsciScintillaBase
SCLEX_PHPSCRIPT enum valueQsciScintillaBase
SCLEX_PLM enum valueQsciScintillaBase
SCLEX_PO enum valueQsciScintillaBase
SCLEX_POV enum valueQsciScintillaBase
SCLEX_POWERBASIC enum valueQsciScintillaBase
SCLEX_POWERPRO enum valueQsciScintillaBase
SCLEX_POWERSHELL enum valueQsciScintillaBase
SCLEX_PROGRESS enum valueQsciScintillaBase
SCLEX_PROPERTIES enum valueQsciScintillaBase
SCLEX_PS enum valueQsciScintillaBase
SCLEX_PUREBASIC enum valueQsciScintillaBase
SCLEX_PYTHON enum valueQsciScintillaBase
SCLEX_R enum valueQsciScintillaBase
SCLEX_REBOL enum valueQsciScintillaBase
SCLEX_REGISTRY enum valueQsciScintillaBase
SCLEX_RUBY enum valueQsciScintillaBase
SCLEX_RUST enum valueQsciScintillaBase
SCLEX_SAS enum valueQsciScintillaBase
SCLEX_SCRIPTOL enum valueQsciScintillaBase
SCLEX_SMALLTALK enum valueQsciScintillaBase
SCLEX_SML enum valueQsciScintillaBase
SCLEX_SORCUS enum valueQsciScintillaBase
SCLEX_SPECMAN enum valueQsciScintillaBase
SCLEX_SPICE enum valueQsciScintillaBase
SCLEX_SQL enum valueQsciScintillaBase
SCLEX_SREC enum valueQsciScintillaBase
SCLEX_STATA enum valueQsciScintillaBase
SCLEX_STTXT enum valueQsciScintillaBase
SCLEX_TACL enum valueQsciScintillaBase
SCLEX_TADS3 enum valueQsciScintillaBase
SCLEX_TAL enum valueQsciScintillaBase
SCLEX_TCL enum valueQsciScintillaBase
SCLEX_TCMD enum valueQsciScintillaBase
SCLEX_TEHEX enum valueQsciScintillaBase
SCLEX_TEX enum valueQsciScintillaBase
SCLEX_TXT2TAGS enum valueQsciScintillaBase
SCLEX_VB enum valueQsciScintillaBase
SCLEX_VBSCRIPT enum valueQsciScintillaBase
SCLEX_VERILOG enum valueQsciScintillaBase
SCLEX_VHDL enum valueQsciScintillaBase
SCLEX_VISUALPROLOG enum valueQsciScintillaBase
SCLEX_XML enum valueQsciScintillaBase
SCLEX_YAML enum valueQsciScintillaBase
SCMOD_ALT enum valueQsciScintillaBase
SCMOD_CTRL enum valueQsciScintillaBase
SCMOD_META enum valueQsciScintillaBase
SCMOD_NORM enum valueQsciScintillaBase
SCMOD_SHIFT enum valueQsciScintillaBase
SCMOD_SUPER enum valueQsciScintillaBase
SCN_AUTOCCANCELLED()QsciScintillaBasesignal
SCN_AUTOCCHARDELETED()QsciScintillaBasesignal
SCN_AUTOCCOMPLETED(const char *selection, int position, int ch, int method)QsciScintillaBasesignal
SCN_AUTOCSELECTION(const char *selection, int position, int ch, int method)QsciScintillaBasesignal
SCN_AUTOCSELECTION(const char *selection, int position)QsciScintillaBasesignal
SCN_AUTOCSELECTIONCHANGE(const char *selection, int id, int position)QsciScintillaBasesignal
SCN_CALLTIPCLICK(int direction)QsciScintillaBasesignal
SCN_CHARADDED(int charadded)QsciScintillaBasesignal
SCN_DOUBLECLICK(int position, int line, int modifiers)QsciScintillaBasesignal
SCN_DWELLEND(int position, int x, int y)QsciScintillaBasesignal
SCN_DWELLSTART(int position, int x, int y)QsciScintillaBasesignal
SCN_FOCUSIN()QsciScintillaBasesignal
SCN_FOCUSOUT()QsciScintillaBasesignal
SCN_HOTSPOTCLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_HOTSPOTDOUBLECLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_HOTSPOTRELEASECLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_INDICATORCLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_INDICATORRELEASE(int position, int modifiers)QsciScintillaBasesignal
SCN_MACRORECORD(unsigned int, unsigned long, void *)QsciScintillaBasesignal
SCN_MARGINCLICK(int position, int modifiers, int margin)QsciScintillaBasesignal
SCN_MARGINRIGHTCLICK(int position, int modifiers, int margin)QsciScintillaBasesignal
SCN_MODIFIED(int, int, const char *, int, int, int, int, int, int, int) (defined in QsciScintillaBase)QsciScintillaBasesignal
SCN_MODIFYATTEMPTRO()QsciScintillaBasesignal
SCN_NEEDSHOWN(int, int) (defined in QsciScintillaBase)QsciScintillaBasesignal
SCN_PAINTED()QsciScintillaBasesignal
SCN_SAVEPOINTLEFT()QsciScintillaBasesignal
SCN_SAVEPOINTREACHED()QsciScintillaBasesignal
SCN_STYLENEEDED(int position)QsciScintillaBasesignal
SCN_UPDATEUI(int updated)QsciScintillaBasesignal
SCN_URIDROPPED(const QUrl &url)QsciScintillaBasesignal
SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method, int position)QsciScintillaBasesignal
SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method)QsciScintillaBasesignal
SCN_USERLISTSELECTION(const char *selection, int id)QsciScintillaBasesignal
SCN_ZOOM() (defined in QsciScintillaBase)QsciScintillaBasesignal
scrollContentsBy(int dx, int dy) (defined in QsciScintillaBase)QsciScintillaBaseprotectedvirtual
scrollWidth() constQsciScintilla
scrollWidthTracking() constQsciScintilla
SCTD_LONGARROW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCTD_STRIKEOUT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_NOWRAPLINESTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_RECTANGULARSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_USERACCESSIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_INVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_VISIBLEAFTERINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_VISIBLEALWAYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_VISIBLEONLYININDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
selectAll(bool select=true)QsciScintillavirtualslot
selectedText() constQsciScintilla
selectionChanged()QsciScintillasignal
selectionToEol() constQsciScintilla
selectToMatchingBrace()QsciScintillavirtualslot
SendScintilla(unsigned int msg, unsigned long wParam=0, long lParam=0) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, void *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, uintptr_t wParam, const char *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, const char *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, const char *wParam, const char *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, long wParam) constQsciScintillaBase
SendScintilla(unsigned int msg, int wParam) constQsciScintillaBase
SendScintilla(unsigned int msg, long cpMin, long cpMax, char *lpstrText) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, const QColor &col) constQsciScintillaBase
SendScintilla(unsigned int msg, const QColor &col) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &rc, long cpMin, long cpMax) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, const QPixmap &lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, const QImage &lParam) constQsciScintillaBase
SendScintillaPtrResult(unsigned int msg) constQsciScintillaBase
setAnnotationDisplay(AnnotationDisplay display)QsciScintilla
setAutoCompletionCaseSensitivity(bool cs)QsciScintillavirtualslot
setAutoCompletionFillups(const char *fillups)QsciScintilla
setAutoCompletionFillupsEnabled(bool enabled)QsciScintilla
setAutoCompletionReplaceWord(bool replace)QsciScintillavirtualslot
setAutoCompletionShowSingle(bool single)QsciScintillavirtualslot
setAutoCompletionSource(AutoCompletionSource source)QsciScintillavirtualslot
setAutoCompletionThreshold(int thresh)QsciScintillavirtualslot
setAutoCompletionUseSingle(AutoCompletionUseSingle single)QsciScintillavirtualslot
setAutoCompletionWordSeparators(const QStringList &separators)QsciScintilla
setAutoIndent(bool autoindent)QsciScintillavirtualslot
setBackspaceUnindents(bool unindent)QsciScintillavirtualslot
setBraceMatching(BraceMatch bm)QsciScintillavirtualslot
setCallTipsBackgroundColor(const QColor &col)QsciScintilla
setCallTipsForegroundColor(const QColor &col)QsciScintilla
setCallTipsHighlightColor(const QColor &col)QsciScintilla
setCallTipsPosition(CallTipsPosition position)QsciScintilla
setCallTipsStyle(CallTipsStyle style)QsciScintilla
setCallTipsVisible(int nr)QsciScintilla
setCaretForegroundColor(const QColor &col)QsciScintillavirtualslot
setCaretLineBackgroundColor(const QColor &col)QsciScintillavirtualslot
setCaretLineFrameWidth(int width)QsciScintillavirtualslot
setCaretLineVisible(bool enable)QsciScintillavirtualslot
setCaretWidth(int width)QsciScintillavirtualslot
setColor(const QColor &c)QsciScintillavirtualslot
setContractedFolds(const QList< int > &folds)QsciScintilla
setCursorPosition(int line, int index)QsciScintillavirtualslot
setDocument(const QsciDocument &document)QsciScintilla
setEdgeColor(const QColor &col)QsciScintilla
setEdgeColumn(int colnr)QsciScintilla
setEdgeMode(EdgeMode mode)QsciScintilla
setEolMode(EolMode mode)QsciScintillavirtualslot
setEolVisibility(bool visible)QsciScintillavirtualslot
setExtraAscent(int extra)QsciScintilla
setExtraDescent(int extra)QsciScintilla
setFirstVisibleLine(int linenr)QsciScintilla
setFolding(FoldStyle fold, int margin=2)QsciScintillavirtualslot
setFoldMarginColors(const QColor &fore, const QColor &back)QsciScintilla
setFont(const QFont &f)QsciScintilla
setHotspotBackgroundColor(const QColor &col)QsciScintilla
setHotspotForegroundColor(const QColor &col)QsciScintilla
setHotspotUnderline(bool enable)QsciScintilla
setHotspotWrap(bool enable)QsciScintilla
setIndentation(int line, int indentation)QsciScintillavirtualslot
setIndentationGuides(bool enable)QsciScintillavirtualslot
setIndentationGuidesBackgroundColor(const QColor &col)QsciScintillavirtualslot
setIndentationGuidesForegroundColor(const QColor &col)QsciScintillavirtualslot
setIndentationsUseTabs(bool tabs)QsciScintillavirtualslot
setIndentationWidth(int width)QsciScintillavirtualslot
setIndicatorDrawUnder(bool under, int indicatorNumber=-1)QsciScintilla
setIndicatorForegroundColor(const QColor &col, int indicatorNumber=-1)QsciScintilla
setIndicatorHoverForegroundColor(const QColor &col, int indicatorNumber=-1)QsciScintilla
setIndicatorHoverStyle(IndicatorStyle style, int indicatorNumber=-1)QsciScintilla
setIndicatorOutlineColor(const QColor &col, int indicatorNumber=-1)QsciScintilla
setLexer(QsciLexer *lexer=0)QsciScintillavirtualslot
setMarginBackgroundColor(int margin, const QColor &col)QsciScintilla
setMarginLineNumbers(int margin, bool lnrs)QsciScintillavirtualslot
setMarginMarkerMask(int margin, int mask)QsciScintillavirtualslot
setMarginOptions(int options)QsciScintilla
setMargins(int margins)QsciScintilla
setMarginsBackgroundColor(const QColor &col)QsciScintillavirtualslot
setMarginSensitivity(int margin, bool sens)QsciScintillavirtualslot
setMarginsFont(const QFont &f)QsciScintillavirtualslot
setMarginsForegroundColor(const QColor &col)QsciScintillavirtualslot
setMarginText(int line, const QString &text, int style)QsciScintilla
setMarginText(int line, const QString &text, const QsciStyle &style)QsciScintilla
setMarginText(int line, const QsciStyledText &text)QsciScintilla
setMarginText(int line, const QList< QsciStyledText > &text)QsciScintilla
setMarginType(int margin, MarginType type)QsciScintilla
setMarginWidth(int margin, int width)QsciScintillavirtualslot
setMarginWidth(int margin, const QString &s)QsciScintillavirtualslot
setMarkerBackgroundColor(const QColor &col, int markerNumber=-1)QsciScintilla
setMarkerForegroundColor(const QColor &col, int markerNumber=-1)QsciScintilla
setMatchedBraceBackgroundColor(const QColor &col)QsciScintilla
setMatchedBraceForegroundColor(const QColor &col)QsciScintilla
setMatchedBraceIndicator(int indicatorNumber)QsciScintilla
setModified(bool m)QsciScintillavirtualslot
setOverwriteMode(bool overwrite)QsciScintilla
setPaper(const QColor &c)QsciScintillavirtualslot
setReadOnly(bool ro)QsciScintillavirtualslot
setScrollBars() (defined in QsciScintillaBase)QsciScintillaBaseprotected
setScrollWidth(int pixelWidth)QsciScintilla
setScrollWidthTracking(bool enabled)QsciScintilla
setSelection(int lineFrom, int indexFrom, int lineTo, int indexTo)QsciScintillavirtualslot
setSelectionBackgroundColor(const QColor &col)QsciScintillavirtualslot
setSelectionForegroundColor(const QColor &col)QsciScintillavirtualslot
setSelectionToEol(bool filled)QsciScintilla
setTabDrawMode(TabDrawMode mode)QsciScintilla
setTabIndents(bool indent)QsciScintillavirtualslot
setTabWidth(int width)QsciScintillavirtualslot
setText(const QString &text)QsciScintillavirtualslot
setUnmatchedBraceBackgroundColor(const QColor &col)QsciScintilla
setUnmatchedBraceForegroundColor(const QColor &col)QsciScintilla
setUnmatchedBraceIndicator(int indicatorNumber)QsciScintilla
setUtf8(bool cp)QsciScintillavirtualslot
setWhitespaceBackgroundColor(const QColor &col)QsciScintilla
setWhitespaceForegroundColor(const QColor &col)QsciScintilla
setWhitespaceSize(int size)QsciScintilla
setWhitespaceVisibility(WhitespaceVisibility mode)QsciScintillavirtualslot
setWrapIndentMode(WrapIndentMode mode)QsciScintilla
setWrapMode(WrapMode mode)QsciScintillavirtualslot
setWrapVisualFlags(WrapVisualFlag endFlag, WrapVisualFlag startFlag=WrapFlagNone, int indent=0)QsciScintilla
showUserList(int id, const QStringList &list)QsciScintilla
SloppyBraceMatch enum valueQsciScintilla
SmallRectangle enum valueQsciScintilla
SquiggleIndicator enum valueQsciScintilla
SquiggleLowIndicator enum valueQsciScintilla
SquigglePixmapIndicator enum valueQsciScintilla
standardCommands() constQsciScintillainline
StraightBoxIndicator enum valueQsciScintilla
StrictBraceMatch enum valueQsciScintilla
StrikeIndicator enum valueQsciScintilla
STYLE_BRACEBAD enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_BRACELIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_CALLTIP enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_CONTROLCHAR enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_FOLDDISPLAYTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_INDENTGUIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_LASTPREDEFINED enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_LINENUMBER enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_MAX enum value (defined in QsciScintillaBase)QsciScintillaBase
SymbolMargin enum valueQsciScintilla
SymbolMarginColor enum valueQsciScintilla
SymbolMarginDefaultBackgroundColor enum valueQsciScintilla
SymbolMarginDefaultForegroundColor enum valueQsciScintilla
tabDrawMode() constQsciScintilla
TabDrawMode enum nameQsciScintilla
tabIndents() constQsciScintilla
TabLongArrow enum valueQsciScintilla
TabStrikeOut enum valueQsciScintilla
tabWidth() constQsciScintilla
text() constQsciScintilla
text(int line) constQsciScintilla
text(int start, int end) constQsciScintilla
textAsBytes(const QString &text) const (defined in QsciScintillaBase)QsciScintillaBaseprotected
textChanged()QsciScintillasignal
TextColorIndicator enum valueQsciScintilla
textHeight(int linenr) constQsciScintilla
TextMargin enum valueQsciScintilla
TextMarginRightJustified enum valueQsciScintilla
ThickCompositionIndicator enum valueQsciScintilla
ThinCompositionIndicator enum valueQsciScintilla
ThreeDots enum valueQsciScintilla
ThreeRightArrows enum valueQsciScintilla
toMimeData(const QByteArray &text, bool rectangular) constQsciScintillaBaseprotectedvirtual
TriangleCharacterIndicator enum valueQsciScintilla
TriangleIndicator enum valueQsciScintilla
TTIndicator enum valueQsciScintilla
Underline enum valueQsciScintilla
undo()QsciScintillavirtualslot
UNDO_MAY_COALESCE enum value (defined in QsciScintillaBase)QsciScintillaBase
unindent(int line)QsciScintillavirtualslot
userListActivated(int id, const QString &string)QsciScintillasignal
VerticalLine enum valueQsciScintilla
VISIBLE_SLOP enum value (defined in QsciScintillaBase)QsciScintillaBase
VISIBLE_STRICT enum value (defined in QsciScintillaBase)QsciScintillaBase
wheelEvent(QWheelEvent *e)QsciScintillaprotectedvirtual
whitespaceSize() constQsciScintilla
WhitespaceVisibility enum nameQsciScintilla
whitespaceVisibility() constQsciScintilla
wordAtLineIndex(int line, int index) constQsciScintilla
wordAtPoint(const QPoint &point) constQsciScintilla
wordCharacters() constQsciScintilla
WrapCharacter enum valueQsciScintilla
WrapFlagByBorder enum valueQsciScintilla
WrapFlagByText enum valueQsciScintilla
WrapFlagInMargin enum valueQsciScintilla
WrapFlagNone enum valueQsciScintilla
WrapIndentDeeplyIndented enum valueQsciScintilla
WrapIndentFixed enum valueQsciScintilla
WrapIndentIndented enum valueQsciScintilla
wrapIndentMode() constQsciScintilla
WrapIndentMode enum nameQsciScintilla
WrapIndentSame enum valueQsciScintilla
WrapMode enum nameQsciScintilla
wrapMode() constQsciScintilla
WrapNone enum valueQsciScintilla
WrapVisualFlag enum nameQsciScintilla
WrapWhitespace enum valueQsciScintilla
WrapWord enum valueQsciScintilla
write(QIODevice *io) constQsciScintilla
WsInvisible enum valueQsciScintilla
WsVisible enum valueQsciScintilla
WsVisibleAfterIndent enum valueQsciScintilla
WsVisibleOnlyInIndent enum valueQsciScintilla
zoomIn(int range)QsciScintillavirtualslot
zoomIn()QsciScintillavirtualslot
zoomOut(int range)QsciScintillavirtualslot
zoomOut()QsciScintillavirtualslot
zoomTo(int size)QsciScintillavirtualslot
~QsciScintilla()QsciScintillavirtual
~QsciScintillaBase()QsciScintillaBasevirtual
================================================ FILE: src/qscint/doc/html/classQsciScintilla.html ================================================ QScintilla: QsciScintilla Class Reference
QScintilla  2.12.1

#include <qsciscintilla.h>

Inherits QsciScintillaBase.

Public Types

enum  { AiMaintain = 0x01, AiOpening = 0x02, AiClosing = 0x04 }
 
enum  AnnotationDisplay {
  AnnotationHidden = ANNOTATION_HIDDEN, AnnotationStandard = ANNOTATION_STANDARD, AnnotationBoxed = ANNOTATION_BOXED,
  AnnotationIndented = ANNOTATION_INDENTED
}
 
enum  AutoCompletionUseSingle { AcusNever, AcusExplicit, AcusAlways }
 
enum  AutoCompletionSource {
  AcsNone, AcsAll, AcsDocument,
  AcsAPIs
}
 
enum  BraceMatch { NoBraceMatch, StrictBraceMatch, SloppyBraceMatch }
 
enum  CallTipsPosition { CallTipsBelowText, CallTipsAboveText }
 
enum  CallTipsStyle {
  CallTipsNone, CallTipsNoContext, CallTipsNoAutoCompletionContext,
  CallTipsContext
}
 
enum  EdgeMode {
  EdgeNone = EDGE_NONE, EdgeLine = EDGE_LINE, EdgeBackground = EDGE_BACKGROUND,
  EdgeMultipleLines = EDGE_MULTILINE
}
 
enum  EolMode { EolWindows = SC_EOL_CRLF, EolUnix = SC_EOL_LF, EolMac = SC_EOL_CR }
 
enum  FoldStyle {
  NoFoldStyle, PlainFoldStyle, CircledFoldStyle,
  BoxedFoldStyle, CircledTreeFoldStyle, BoxedTreeFoldStyle
}
 
enum  IndicatorStyle {
  PlainIndicator = INDIC_PLAIN, SquiggleIndicator = INDIC_SQUIGGLE, TTIndicator = INDIC_TT,
  DiagonalIndicator = INDIC_DIAGONAL, StrikeIndicator = INDIC_STRIKE, HiddenIndicator = INDIC_HIDDEN,
  BoxIndicator = INDIC_BOX, RoundBoxIndicator = INDIC_ROUNDBOX, StraightBoxIndicator = INDIC_STRAIGHTBOX,
  FullBoxIndicator = INDIC_FULLBOX, DashesIndicator = INDIC_DASH, DotsIndicator = INDIC_DOTS,
  SquiggleLowIndicator = INDIC_SQUIGGLELOW, DotBoxIndicator = INDIC_DOTBOX, SquigglePixmapIndicator = INDIC_SQUIGGLEPIXMAP,
  ThickCompositionIndicator = INDIC_COMPOSITIONTHICK, ThinCompositionIndicator = INDIC_COMPOSITIONTHIN, TextColorIndicator = INDIC_TEXTFORE,
  TriangleIndicator = INDIC_POINT, TriangleCharacterIndicator = INDIC_POINTCHARACTER, GradientIndicator = INDIC_GRADIENT,
  CentreGradientIndicator = INDIC_GRADIENTCENTRE
}
 
enum  { MoNone = SC_MARGINOPTION_NONE, MoSublineSelect = SC_MARGINOPTION_SUBLINESELECT }
 
enum  MarginType {
  SymbolMargin = SC_MARGIN_SYMBOL, SymbolMarginDefaultForegroundColor = SC_MARGIN_FORE, SymbolMarginDefaultBackgroundColor = SC_MARGIN_BACK,
  NumberMargin = SC_MARGIN_NUMBER, TextMargin = SC_MARGIN_TEXT, TextMarginRightJustified = SC_MARGIN_RTEXT,
  SymbolMarginColor = SC_MARGIN_COLOUR
}
 
enum  MarkerSymbol {
  Circle = SC_MARK_CIRCLE, Rectangle = SC_MARK_ROUNDRECT, RightTriangle = SC_MARK_ARROW,
  SmallRectangle = SC_MARK_SMALLRECT, RightArrow = SC_MARK_SHORTARROW, Invisible = SC_MARK_EMPTY,
  DownTriangle = SC_MARK_ARROWDOWN, Minus = SC_MARK_MINUS, Plus = SC_MARK_PLUS,
  VerticalLine = SC_MARK_VLINE, BottomLeftCorner = SC_MARK_LCORNER, LeftSideSplitter = SC_MARK_TCORNER,
  BoxedPlus = SC_MARK_BOXPLUS, BoxedPlusConnected = SC_MARK_BOXPLUSCONNECTED, BoxedMinus = SC_MARK_BOXMINUS,
  BoxedMinusConnected = SC_MARK_BOXMINUSCONNECTED, RoundedBottomLeftCorner = SC_MARK_LCORNERCURVE, LeftSideRoundedSplitter = SC_MARK_TCORNERCURVE,
  CircledPlus = SC_MARK_CIRCLEPLUS, CircledPlusConnected = SC_MARK_CIRCLEPLUSCONNECTED, CircledMinus = SC_MARK_CIRCLEMINUS,
  CircledMinusConnected = SC_MARK_CIRCLEMINUSCONNECTED, Background = SC_MARK_BACKGROUND, ThreeDots = SC_MARK_DOTDOTDOT,
  ThreeRightArrows = SC_MARK_ARROWS, FullRectangle = SC_MARK_FULLRECT, LeftRectangle = SC_MARK_LEFTRECT,
  Underline = SC_MARK_UNDERLINE, Bookmark = SC_MARK_BOOKMARK
}
 
enum  TabDrawMode { TabLongArrow = SCTD_LONGARROW, TabStrikeOut = SCTD_STRIKEOUT }
 
enum  WhitespaceVisibility {
  WsInvisible = SCWS_INVISIBLE, WsVisible = SCWS_VISIBLEALWAYS, WsVisibleAfterIndent = SCWS_VISIBLEAFTERINDENT,
  WsVisibleOnlyInIndent = SCWS_VISIBLEONLYININDENT
}
 
enum  WrapMode {
  WrapNone = SC_WRAP_NONE, WrapWord = SC_WRAP_WORD, WrapCharacter = SC_WRAP_CHAR,
  WrapWhitespace = SC_WRAP_WHITESPACE
}
 
enum  WrapVisualFlag {
  WrapFlagNone, WrapFlagByText, WrapFlagByBorder,
  WrapFlagInMargin
}
 
enum  WrapIndentMode {
  WrapIndentFixed = SC_WRAPINDENT_FIXED, WrapIndentSame = SC_WRAPINDENT_SAME, WrapIndentIndented = SC_WRAPINDENT_INDENT,
  WrapIndentDeeplyIndented = SC_WRAPINDENT_DEEPINDENT
}
 
- Public Types inherited from QsciScintillaBase
enum  {
  SCI_START = 2000, SCI_OPTIONAL_START = 3000, SCI_LEXER_START = 4000,
  SCI_ADDTEXT = 2001, SCI_ADDSTYLEDTEXT = 2002, SCI_INSERTTEXT = 2003,
  SCI_CLEARALL = 2004, SCI_CLEARDOCUMENTSTYLE = 2005, SCI_GETLENGTH = 2006,
  SCI_GETCHARAT = 2007, SCI_GETCURRENTPOS = 2008, SCI_GETANCHOR = 2009,
  SCI_GETSTYLEAT = 2010, SCI_REDO = 2011, SCI_SETUNDOCOLLECTION = 2012,
  SCI_SELECTALL = 2013, SCI_SETSAVEPOINT = 2014, SCI_GETSTYLEDTEXT = 2015,
  SCI_CANREDO = 2016, SCI_MARKERLINEFROMHANDLE = 2017, SCI_MARKERDELETEHANDLE = 2018,
  SCI_GETUNDOCOLLECTION = 2019, SCI_GETVIEWWS = 2020, SCI_SETVIEWWS = 2021,
  SCI_POSITIONFROMPOINT = 2022, SCI_POSITIONFROMPOINTCLOSE = 2023, SCI_GOTOLINE = 2024,
  SCI_GOTOPOS = 2025, SCI_SETANCHOR = 2026, SCI_GETCURLINE = 2027,
  SCI_GETENDSTYLED = 2028, SCI_CONVERTEOLS = 2029, SCI_GETEOLMODE = 2030,
  SCI_SETEOLMODE = 2031, SCI_STARTSTYLING = 2032, SCI_SETSTYLING = 2033,
  SCI_GETBUFFEREDDRAW = 2034, SCI_SETBUFFEREDDRAW = 2035, SCI_SETTABWIDTH = 2036,
  SCI_GETTABWIDTH = 2121, SCI_SETCODEPAGE = 2037, SCI_MARKERDEFINE = 2040,
  SCI_MARKERSETFORE = 2041, SCI_MARKERSETBACK = 2042, SCI_MARKERADD = 2043,
  SCI_MARKERDELETE = 2044, SCI_MARKERDELETEALL = 2045, SCI_MARKERGET = 2046,
  SCI_MARKERNEXT = 2047, SCI_MARKERPREVIOUS = 2048, SCI_MARKERDEFINEPIXMAP = 2049,
  SCI_SETMARGINTYPEN = 2240, SCI_GETMARGINTYPEN = 2241, SCI_SETMARGINWIDTHN = 2242,
  SCI_GETMARGINWIDTHN = 2243, SCI_SETMARGINMASKN = 2244, SCI_GETMARGINMASKN = 2245,
  SCI_SETMARGINSENSITIVEN = 2246, SCI_GETMARGINSENSITIVEN = 2247, SCI_SETMARGINCURSORN = 2248,
  SCI_GETMARGINCURSORN = 2249, SCI_STYLECLEARALL = 2050, SCI_STYLESETFORE = 2051,
  SCI_STYLESETBACK = 2052, SCI_STYLESETBOLD = 2053, SCI_STYLESETITALIC = 2054,
  SCI_STYLESETSIZE = 2055, SCI_STYLESETFONT = 2056, SCI_STYLESETEOLFILLED = 2057,
  SCI_STYLERESETDEFAULT = 2058, SCI_STYLESETUNDERLINE = 2059, SCI_STYLESETCASE = 2060,
  SCI_STYLESETSIZEFRACTIONAL = 2061, SCI_STYLEGETSIZEFRACTIONAL = 2062, SCI_STYLESETWEIGHT = 2063,
  SCI_STYLEGETWEIGHT = 2064, SCI_STYLESETCHARACTERSET = 2066, SCI_SETSELFORE = 2067,
  SCI_SETSELBACK = 2068, SCI_SETCARETFORE = 2069, SCI_ASSIGNCMDKEY = 2070,
  SCI_CLEARCMDKEY = 2071, SCI_CLEARALLCMDKEYS = 2072, SCI_SETSTYLINGEX = 2073,
  SCI_STYLESETVISIBLE = 2074, SCI_GETCARETPERIOD = 2075, SCI_SETCARETPERIOD = 2076,
  SCI_SETWORDCHARS = 2077, SCI_BEGINUNDOACTION = 2078, SCI_ENDUNDOACTION = 2079,
  SCI_INDICSETSTYLE = 2080, SCI_INDICGETSTYLE = 2081, SCI_INDICSETFORE = 2082,
  SCI_INDICGETFORE = 2083, SCI_SETWHITESPACEFORE = 2084, SCI_SETWHITESPACEBACK = 2085,
  SCI_SETWHITESPACESIZE = 2086, SCI_GETWHITESPACESIZE = 2087, SCI_SETSTYLEBITS = 2090,
  SCI_GETSTYLEBITS = 2091, SCI_SETLINESTATE = 2092, SCI_GETLINESTATE = 2093,
  SCI_GETMAXLINESTATE = 2094, SCI_GETCARETLINEVISIBLE = 2095, SCI_SETCARETLINEVISIBLE = 2096,
  SCI_GETCARETLINEBACK = 2097, SCI_SETCARETLINEBACK = 2098, SCI_STYLESETCHANGEABLE = 2099,
  SCI_AUTOCSHOW = 2100, SCI_AUTOCCANCEL = 2101, SCI_AUTOCACTIVE = 2102,
  SCI_AUTOCPOSSTART = 2103, SCI_AUTOCCOMPLETE = 2104, SCI_AUTOCSTOPS = 2105,
  SCI_AUTOCSETSEPARATOR = 2106, SCI_AUTOCGETSEPARATOR = 2107, SCI_AUTOCSELECT = 2108,
  SCI_AUTOCSETCANCELATSTART = 2110, SCI_AUTOCGETCANCELATSTART = 2111, SCI_AUTOCSETFILLUPS = 2112,
  SCI_AUTOCSETCHOOSESINGLE = 2113, SCI_AUTOCGETCHOOSESINGLE = 2114, SCI_AUTOCSETIGNORECASE = 2115,
  SCI_AUTOCGETIGNORECASE = 2116, SCI_USERLISTSHOW = 2117, SCI_AUTOCSETAUTOHIDE = 2118,
  SCI_AUTOCGETAUTOHIDE = 2119, SCI_AUTOCSETDROPRESTOFWORD = 2270, SCI_AUTOCGETDROPRESTOFWORD = 2271,
  SCI_SETINDENT = 2122, SCI_GETINDENT = 2123, SCI_SETUSETABS = 2124,
  SCI_GETUSETABS = 2125, SCI_SETLINEINDENTATION = 2126, SCI_GETLINEINDENTATION = 2127,
  SCI_GETLINEINDENTPOSITION = 2128, SCI_GETCOLUMN = 2129, SCI_SETHSCROLLBAR = 2130,
  SCI_GETHSCROLLBAR = 2131, SCI_SETINDENTATIONGUIDES = 2132, SCI_GETINDENTATIONGUIDES = 2133,
  SCI_SETHIGHLIGHTGUIDE = 2134, SCI_GETHIGHLIGHTGUIDE = 2135, SCI_GETLINEENDPOSITION = 2136,
  SCI_GETCODEPAGE = 2137, SCI_GETCARETFORE = 2138, SCI_GETREADONLY = 2140,
  SCI_SETCURRENTPOS = 2141, SCI_SETSELECTIONSTART = 2142, SCI_GETSELECTIONSTART = 2143,
  SCI_SETSELECTIONEND = 2144, SCI_GETSELECTIONEND = 2145, SCI_SETPRINTMAGNIFICATION = 2146,
  SCI_GETPRINTMAGNIFICATION = 2147, SCI_SETPRINTCOLOURMODE = 2148, SCI_GETPRINTCOLOURMODE = 2149,
  SCI_FINDTEXT = 2150, SCI_FORMATRANGE = 2151, SCI_GETFIRSTVISIBLELINE = 2152,
  SCI_GETLINE = 2153, SCI_GETLINECOUNT = 2154, SCI_SETMARGINLEFT = 2155,
  SCI_GETMARGINLEFT = 2156, SCI_SETMARGINRIGHT = 2157, SCI_GETMARGINRIGHT = 2158,
  SCI_GETMODIFY = 2159, SCI_SETSEL = 2160, SCI_GETSELTEXT = 2161,
  SCI_GETTEXTRANGE = 2162, SCI_HIDESELECTION = 2163, SCI_POINTXFROMPOSITION = 2164,
  SCI_POINTYFROMPOSITION = 2165, SCI_LINEFROMPOSITION = 2166, SCI_POSITIONFROMLINE = 2167,
  SCI_LINESCROLL = 2168, SCI_SCROLLCARET = 2169, SCI_REPLACESEL = 2170,
  SCI_SETREADONLY = 2171, SCI_NULL = 2172, SCI_CANPASTE = 2173,
  SCI_CANUNDO = 2174, SCI_EMPTYUNDOBUFFER = 2175, SCI_UNDO = 2176,
  SCI_CUT = 2177, SCI_COPY = 2178, SCI_PASTE = 2179,
  SCI_CLEAR = 2180, SCI_SETTEXT = 2181, SCI_GETTEXT = 2182,
  SCI_GETTEXTLENGTH = 2183, SCI_GETDIRECTFUNCTION = 2184, SCI_GETDIRECTPOINTER = 2185,
  SCI_SETOVERTYPE = 2186, SCI_GETOVERTYPE = 2187, SCI_SETCARETWIDTH = 2188,
  SCI_GETCARETWIDTH = 2189, SCI_SETTARGETSTART = 2190, SCI_GETTARGETSTART = 2191,
  SCI_SETTARGETEND = 2192, SCI_GETTARGETEND = 2193, SCI_REPLACETARGET = 2194,
  SCI_REPLACETARGETRE = 2195, SCI_SEARCHINTARGET = 2197, SCI_SETSEARCHFLAGS = 2198,
  SCI_GETSEARCHFLAGS = 2199, SCI_CALLTIPSHOW = 2200, SCI_CALLTIPCANCEL = 2201,
  SCI_CALLTIPACTIVE = 2202, SCI_CALLTIPPOSSTART = 2203, SCI_CALLTIPSETHLT = 2204,
  SCI_CALLTIPSETBACK = 2205, SCI_CALLTIPSETFORE = 2206, SCI_CALLTIPSETFOREHLT = 2207,
  SCI_AUTOCSETMAXWIDTH = 2208, SCI_AUTOCGETMAXWIDTH = 2209, SCI_AUTOCSETMAXHEIGHT = 2210,
  SCI_AUTOCGETMAXHEIGHT = 2211, SCI_CALLTIPUSESTYLE = 2212, SCI_CALLTIPSETPOSITION = 2213,
  SCI_CALLTIPSETPOSSTART = 2214, SCI_VISIBLEFROMDOCLINE = 2220, SCI_DOCLINEFROMVISIBLE = 2221,
  SCI_SETFOLDLEVEL = 2222, SCI_GETFOLDLEVEL = 2223, SCI_GETLASTCHILD = 2224,
  SCI_GETFOLDPARENT = 2225, SCI_SHOWLINES = 2226, SCI_HIDELINES = 2227,
  SCI_GETLINEVISIBLE = 2228, SCI_SETFOLDEXPANDED = 2229, SCI_GETFOLDEXPANDED = 2230,
  SCI_TOGGLEFOLD = 2231, SCI_ENSUREVISIBLE = 2232, SCI_SETFOLDFLAGS = 2233,
  SCI_ENSUREVISIBLEENFORCEPOLICY = 2234, SCI_WRAPCOUNT = 2235, SCI_GETALLLINESVISIBLE = 2236,
  SCI_FOLDLINE = 2237, SCI_FOLDCHILDREN = 2238, SCI_EXPANDCHILDREN = 2239,
  SCI_SETMARGINBACKN = 2250, SCI_GETMARGINBACKN = 2251, SCI_SETMARGINS = 2252,
  SCI_GETMARGINS = 2253, SCI_SETTABINDENTS = 2260, SCI_GETTABINDENTS = 2261,
  SCI_SETBACKSPACEUNINDENTS = 2262, SCI_GETBACKSPACEUNINDENTS = 2263, SCI_SETMOUSEDWELLTIME = 2264,
  SCI_GETMOUSEDWELLTIME = 2265, SCI_WORDSTARTPOSITION = 2266, SCI_WORDENDPOSITION = 2267,
  SCI_SETWRAPMODE = 2268, SCI_GETWRAPMODE = 2269, SCI_SETLAYOUTCACHE = 2272,
  SCI_GETLAYOUTCACHE = 2273, SCI_SETSCROLLWIDTH = 2274, SCI_GETSCROLLWIDTH = 2275,
  SCI_TEXTWIDTH = 2276, SCI_SETENDATLASTLINE = 2277, SCI_GETENDATLASTLINE = 2278,
  SCI_TEXTHEIGHT = 2279, SCI_SETVSCROLLBAR = 2280, SCI_GETVSCROLLBAR = 2281,
  SCI_APPENDTEXT = 2282, SCI_GETTWOPHASEDRAW = 2283, SCI_SETTWOPHASEDRAW = 2284,
  SCI_AUTOCGETTYPESEPARATOR = 2285, SCI_AUTOCSETTYPESEPARATOR = 2286, SCI_TARGETFROMSELECTION = 2287,
  SCI_LINESJOIN = 2288, SCI_LINESSPLIT = 2289, SCI_SETFOLDMARGINCOLOUR = 2290,
  SCI_SETFOLDMARGINHICOLOUR = 2291, SCI_MARKERSETBACKSELECTED = 2292, SCI_MARKERENABLEHIGHLIGHT = 2293,
  SCI_LINEDOWN = 2300, SCI_LINEDOWNEXTEND = 2301, SCI_LINEUP = 2302,
  SCI_LINEUPEXTEND = 2303, SCI_CHARLEFT = 2304, SCI_CHARLEFTEXTEND = 2305,
  SCI_CHARRIGHT = 2306, SCI_CHARRIGHTEXTEND = 2307, SCI_WORDLEFT = 2308,
  SCI_WORDLEFTEXTEND = 2309, SCI_WORDRIGHT = 2310, SCI_WORDRIGHTEXTEND = 2311,
  SCI_HOME = 2312, SCI_HOMEEXTEND = 2313, SCI_LINEEND = 2314,
  SCI_LINEENDEXTEND = 2315, SCI_DOCUMENTSTART = 2316, SCI_DOCUMENTSTARTEXTEND = 2317,
  SCI_DOCUMENTEND = 2318, SCI_DOCUMENTENDEXTEND = 2319, SCI_PAGEUP = 2320,
  SCI_PAGEUPEXTEND = 2321, SCI_PAGEDOWN = 2322, SCI_PAGEDOWNEXTEND = 2323,
  SCI_EDITTOGGLEOVERTYPE = 2324, SCI_CANCEL = 2325, SCI_DELETEBACK = 2326,
  SCI_TAB = 2327, SCI_BACKTAB = 2328, SCI_NEWLINE = 2329,
  SCI_FORMFEED = 2330, SCI_VCHOME = 2331, SCI_VCHOMEEXTEND = 2332,
  SCI_ZOOMIN = 2333, SCI_ZOOMOUT = 2334, SCI_DELWORDLEFT = 2335,
  SCI_DELWORDRIGHT = 2336, SCI_LINECUT = 2337, SCI_LINEDELETE = 2338,
  SCI_LINETRANSPOSE = 2339, SCI_LOWERCASE = 2340, SCI_UPPERCASE = 2341,
  SCI_LINESCROLLDOWN = 2342, SCI_LINESCROLLUP = 2343, SCI_DELETEBACKNOTLINE = 2344,
  SCI_HOMEDISPLAY = 2345, SCI_HOMEDISPLAYEXTEND = 2346, SCI_LINEENDDISPLAY = 2347,
  SCI_LINEENDDISPLAYEXTEND = 2348, SCI_MOVECARETINSIDEVIEW = 2401, SCI_LINELENGTH = 2350,
  SCI_BRACEHIGHLIGHT = 2351, SCI_BRACEBADLIGHT = 2352, SCI_BRACEMATCH = 2353,
  SCI_LINEREVERSE = 2354, SCI_GETVIEWEOL = 2355, SCI_SETVIEWEOL = 2356,
  SCI_GETDOCPOINTER = 2357, SCI_SETDOCPOINTER = 2358, SCI_SETMODEVENTMASK = 2359,
  SCI_GETEDGECOLUMN = 2360, SCI_SETEDGECOLUMN = 2361, SCI_GETEDGEMODE = 2362,
  SCI_SETEDGEMODE = 2363, SCI_GETEDGECOLOUR = 2364, SCI_SETEDGECOLOUR = 2365,
  SCI_SEARCHANCHOR = 2366, SCI_SEARCHNEXT = 2367, SCI_SEARCHPREV = 2368,
  SCI_LINESONSCREEN = 2370, SCI_USEPOPUP = 2371, SCI_SELECTIONISRECTANGLE = 2372,
  SCI_SETZOOM = 2373, SCI_GETZOOM = 2374, SCI_CREATEDOCUMENT = 2375,
  SCI_ADDREFDOCUMENT = 2376, SCI_RELEASEDOCUMENT = 2377, SCI_GETMODEVENTMASK = 2378,
  SCI_SETFOCUS = 2380, SCI_GETFOCUS = 2381, SCI_SETSTATUS = 2382,
  SCI_GETSTATUS = 2383, SCI_SETMOUSEDOWNCAPTURES = 2384, SCI_GETMOUSEDOWNCAPTURES = 2385,
  SCI_SETCURSOR = 2386, SCI_GETCURSOR = 2387, SCI_SETCONTROLCHARSYMBOL = 2388,
  SCI_GETCONTROLCHARSYMBOL = 2389, SCI_WORDPARTLEFT = 2390, SCI_WORDPARTLEFTEXTEND = 2391,
  SCI_WORDPARTRIGHT = 2392, SCI_WORDPARTRIGHTEXTEND = 2393, SCI_SETVISIBLEPOLICY = 2394,
  SCI_DELLINELEFT = 2395, SCI_DELLINERIGHT = 2396, SCI_SETXOFFSET = 2397,
  SCI_GETXOFFSET = 2398, SCI_CHOOSECARETX = 2399, SCI_GRABFOCUS = 2400,
  SCI_SETXCARETPOLICY = 2402, SCI_SETYCARETPOLICY = 2403, SCI_LINEDUPLICATE = 2404,
  SCI_REGISTERIMAGE = 2405, SCI_SETPRINTWRAPMODE = 2406, SCI_GETPRINTWRAPMODE = 2407,
  SCI_CLEARREGISTEREDIMAGES = 2408, SCI_STYLESETHOTSPOT = 2409, SCI_SETHOTSPOTACTIVEFORE = 2410,
  SCI_SETHOTSPOTACTIVEBACK = 2411, SCI_SETHOTSPOTACTIVEUNDERLINE = 2412, SCI_PARADOWN = 2413,
  SCI_PARADOWNEXTEND = 2414, SCI_PARAUP = 2415, SCI_PARAUPEXTEND = 2416,
  SCI_POSITIONBEFORE = 2417, SCI_POSITIONAFTER = 2418, SCI_COPYRANGE = 2419,
  SCI_COPYTEXT = 2420, SCI_SETHOTSPOTSINGLELINE = 2421, SCI_SETSELECTIONMODE = 2422,
  SCI_GETSELECTIONMODE = 2423, SCI_GETLINESELSTARTPOSITION = 2424, SCI_GETLINESELENDPOSITION = 2425,
  SCI_LINEDOWNRECTEXTEND = 2426, SCI_LINEUPRECTEXTEND = 2427, SCI_CHARLEFTRECTEXTEND = 2428,
  SCI_CHARRIGHTRECTEXTEND = 2429, SCI_HOMERECTEXTEND = 2430, SCI_VCHOMERECTEXTEND = 2431,
  SCI_LINEENDRECTEXTEND = 2432, SCI_PAGEUPRECTEXTEND = 2433, SCI_PAGEDOWNRECTEXTEND = 2434,
  SCI_STUTTEREDPAGEUP = 2435, SCI_STUTTEREDPAGEUPEXTEND = 2436, SCI_STUTTEREDPAGEDOWN = 2437,
  SCI_STUTTEREDPAGEDOWNEXTEND = 2438, SCI_WORDLEFTEND = 2439, SCI_WORDLEFTENDEXTEND = 2440,
  SCI_WORDRIGHTEND = 2441, SCI_WORDRIGHTENDEXTEND = 2442, SCI_SETWHITESPACECHARS = 2443,
  SCI_SETCHARSDEFAULT = 2444, SCI_AUTOCGETCURRENT = 2445, SCI_ALLOCATE = 2446,
  SCI_HOMEWRAP = 2349, SCI_HOMEWRAPEXTEND = 2450, SCI_LINEENDWRAP = 2451,
  SCI_LINEENDWRAPEXTEND = 2452, SCI_VCHOMEWRAP = 2453, SCI_VCHOMEWRAPEXTEND = 2454,
  SCI_LINECOPY = 2455, SCI_FINDCOLUMN = 2456, SCI_GETCARETSTICKY = 2457,
  SCI_SETCARETSTICKY = 2458, SCI_TOGGLECARETSTICKY = 2459, SCI_SETWRAPVISUALFLAGS = 2460,
  SCI_GETWRAPVISUALFLAGS = 2461, SCI_SETWRAPVISUALFLAGSLOCATION = 2462, SCI_GETWRAPVISUALFLAGSLOCATION = 2463,
  SCI_SETWRAPSTARTINDENT = 2464, SCI_GETWRAPSTARTINDENT = 2465, SCI_MARKERADDSET = 2466,
  SCI_SETPASTECONVERTENDINGS = 2467, SCI_GETPASTECONVERTENDINGS = 2468, SCI_SELECTIONDUPLICATE = 2469,
  SCI_SETCARETLINEBACKALPHA = 2470, SCI_GETCARETLINEBACKALPHA = 2471, SCI_SETWRAPINDENTMODE = 2472,
  SCI_GETWRAPINDENTMODE = 2473, SCI_MARKERSETALPHA = 2476, SCI_GETSELALPHA = 2477,
  SCI_SETSELALPHA = 2478, SCI_GETSELEOLFILLED = 2479, SCI_SETSELEOLFILLED = 2480,
  SCI_STYLEGETFORE = 2481, SCI_STYLEGETBACK = 2482, SCI_STYLEGETBOLD = 2483,
  SCI_STYLEGETITALIC = 2484, SCI_STYLEGETSIZE = 2485, SCI_STYLEGETFONT = 2486,
  SCI_STYLEGETEOLFILLED = 2487, SCI_STYLEGETUNDERLINE = 2488, SCI_STYLEGETCASE = 2489,
  SCI_STYLEGETCHARACTERSET = 2490, SCI_STYLEGETVISIBLE = 2491, SCI_STYLEGETCHANGEABLE = 2492,
  SCI_STYLEGETHOTSPOT = 2493, SCI_GETHOTSPOTACTIVEFORE = 2494, SCI_GETHOTSPOTACTIVEBACK = 2495,
  SCI_GETHOTSPOTACTIVEUNDERLINE = 2496, SCI_GETHOTSPOTSINGLELINE = 2497, SCI_BRACEHIGHLIGHTINDICATOR = 2498,
  SCI_BRACEBADLIGHTINDICATOR = 2499, SCI_SETINDICATORCURRENT = 2500, SCI_GETINDICATORCURRENT = 2501,
  SCI_SETINDICATORVALUE = 2502, SCI_GETINDICATORVALUE = 2503, SCI_INDICATORFILLRANGE = 2504,
  SCI_INDICATORCLEARRANGE = 2505, SCI_INDICATORALLONFOR = 2506, SCI_INDICATORVALUEAT = 2507,
  SCI_INDICATORSTART = 2508, SCI_INDICATOREND = 2509, SCI_INDICSETUNDER = 2510,
  SCI_INDICGETUNDER = 2511, SCI_SETCARETSTYLE = 2512, SCI_GETCARETSTYLE = 2513,
  SCI_SETPOSITIONCACHE = 2514, SCI_GETPOSITIONCACHE = 2515, SCI_SETSCROLLWIDTHTRACKING = 2516,
  SCI_GETSCROLLWIDTHTRACKING = 2517, SCI_DELWORDRIGHTEND = 2518, SCI_COPYALLOWLINE = 2519,
  SCI_GETCHARACTERPOINTER = 2520, SCI_INDICSETALPHA = 2523, SCI_INDICGETALPHA = 2524,
  SCI_SETEXTRAASCENT = 2525, SCI_GETEXTRAASCENT = 2526, SCI_SETEXTRADESCENT = 2527,
  SCI_GETEXTRADESCENT = 2528, SCI_MARKERSYMBOLDEFINED = 2529, SCI_MARGINSETTEXT = 2530,
  SCI_MARGINGETTEXT = 2531, SCI_MARGINSETSTYLE = 2532, SCI_MARGINGETSTYLE = 2533,
  SCI_MARGINSETSTYLES = 2534, SCI_MARGINGETSTYLES = 2535, SCI_MARGINTEXTCLEARALL = 2536,
  SCI_MARGINSETSTYLEOFFSET = 2537, SCI_MARGINGETSTYLEOFFSET = 2538, SCI_SETMARGINOPTIONS = 2539,
  SCI_ANNOTATIONSETTEXT = 2540, SCI_ANNOTATIONGETTEXT = 2541, SCI_ANNOTATIONSETSTYLE = 2542,
  SCI_ANNOTATIONGETSTYLE = 2543, SCI_ANNOTATIONSETSTYLES = 2544, SCI_ANNOTATIONGETSTYLES = 2545,
  SCI_ANNOTATIONGETLINES = 2546, SCI_ANNOTATIONCLEARALL = 2547, SCI_ANNOTATIONSETVISIBLE = 2548,
  SCI_ANNOTATIONGETVISIBLE = 2549, SCI_ANNOTATIONSETSTYLEOFFSET = 2550, SCI_ANNOTATIONGETSTYLEOFFSET = 2551,
  SCI_RELEASEALLEXTENDEDSTYLES = 2552, SCI_ALLOCATEEXTENDEDSTYLES = 2553, SCI_SETEMPTYSELECTION = 2556,
  SCI_GETMARGINOPTIONS = 2557, SCI_INDICSETOUTLINEALPHA = 2558, SCI_INDICGETOUTLINEALPHA = 2559,
  SCI_ADDUNDOACTION = 2560, SCI_CHARPOSITIONFROMPOINT = 2561, SCI_CHARPOSITIONFROMPOINTCLOSE = 2562,
  SCI_SETMULTIPLESELECTION = 2563, SCI_GETMULTIPLESELECTION = 2564, SCI_SETADDITIONALSELECTIONTYPING = 2565,
  SCI_GETADDITIONALSELECTIONTYPING = 2566, SCI_SETADDITIONALCARETSBLINK = 2567, SCI_GETADDITIONALCARETSBLINK = 2568,
  SCI_SCROLLRANGE = 2569, SCI_GETSELECTIONS = 2570, SCI_CLEARSELECTIONS = 2571,
  SCI_SETSELECTION = 2572, SCI_ADDSELECTION = 2573, SCI_SETMAINSELECTION = 2574,
  SCI_GETMAINSELECTION = 2575, SCI_SETSELECTIONNCARET = 2576, SCI_GETSELECTIONNCARET = 2577,
  SCI_SETSELECTIONNANCHOR = 2578, SCI_GETSELECTIONNANCHOR = 2579, SCI_SETSELECTIONNCARETVIRTUALSPACE = 2580,
  SCI_GETSELECTIONNCARETVIRTUALSPACE = 2581, SCI_SETSELECTIONNANCHORVIRTUALSPACE = 2582, SCI_GETSELECTIONNANCHORVIRTUALSPACE = 2583,
  SCI_SETSELECTIONNSTART = 2584, SCI_GETSELECTIONNSTART = 2585, SCI_SETSELECTIONNEND = 2586,
  SCI_GETSELECTIONNEND = 2587, SCI_SETRECTANGULARSELECTIONCARET = 2588, SCI_GETRECTANGULARSELECTIONCARET = 2589,
  SCI_SETRECTANGULARSELECTIONANCHOR = 2590, SCI_GETRECTANGULARSELECTIONANCHOR = 2591, SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2592,
  SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2593, SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2594, SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2595,
  SCI_SETVIRTUALSPACEOPTIONS = 2596, SCI_GETVIRTUALSPACEOPTIONS = 2597, SCI_SETRECTANGULARSELECTIONMODIFIER = 2598,
  SCI_GETRECTANGULARSELECTIONMODIFIER = 2599, SCI_SETADDITIONALSELFORE = 2600, SCI_SETADDITIONALSELBACK = 2601,
  SCI_SETADDITIONALSELALPHA = 2602, SCI_GETADDITIONALSELALPHA = 2603, SCI_SETADDITIONALCARETFORE = 2604,
  SCI_GETADDITIONALCARETFORE = 2605, SCI_ROTATESELECTION = 2606, SCI_SWAPMAINANCHORCARET = 2607,
  SCI_SETADDITIONALCARETSVISIBLE = 2608, SCI_GETADDITIONALCARETSVISIBLE = 2609, SCI_AUTOCGETCURRENTTEXT = 2610,
  SCI_SETFONTQUALITY = 2611, SCI_GETFONTQUALITY = 2612, SCI_SETFIRSTVISIBLELINE = 2613,
  SCI_SETMULTIPASTE = 2614, SCI_GETMULTIPASTE = 2615, SCI_GETTAG = 2616,
  SCI_CHANGELEXERSTATE = 2617, SCI_CONTRACTEDFOLDNEXT = 2618, SCI_VERTICALCENTRECARET = 2619,
  SCI_MOVESELECTEDLINESUP = 2620, SCI_MOVESELECTEDLINESDOWN = 2621, SCI_SETIDENTIFIER = 2622,
  SCI_GETIDENTIFIER = 2623, SCI_RGBAIMAGESETWIDTH = 2624, SCI_RGBAIMAGESETHEIGHT = 2625,
  SCI_MARKERDEFINERGBAIMAGE = 2626, SCI_REGISTERRGBAIMAGE = 2627, SCI_SCROLLTOSTART = 2628,
  SCI_SCROLLTOEND = 2629, SCI_SETTECHNOLOGY = 2630, SCI_GETTECHNOLOGY = 2631,
  SCI_CREATELOADER = 2632, SCI_COUNTCHARACTERS = 2633, SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR = 2634,
  SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR = 2635, SCI_AUTOCSETMULTI = 2636, SCI_AUTOCGETMULTI = 2637,
  SCI_FINDINDICATORSHOW = 2640, SCI_FINDINDICATORFLASH = 2641, SCI_FINDINDICATORHIDE = 2642,
  SCI_GETRANGEPOINTER = 2643, SCI_GETGAPPOSITION = 2644, SCI_DELETERANGE = 2645,
  SCI_GETWORDCHARS = 2646, SCI_GETWHITESPACECHARS = 2647, SCI_SETPUNCTUATIONCHARS = 2648,
  SCI_GETPUNCTUATIONCHARS = 2649, SCI_GETSELECTIONEMPTY = 2650, SCI_RGBAIMAGESETSCALE = 2651,
  SCI_VCHOMEDISPLAY = 2652, SCI_VCHOMEDISPLAYEXTEND = 2653, SCI_GETCARETLINEVISIBLEALWAYS = 2654,
  SCI_SETCARETLINEVISIBLEALWAYS = 2655, SCI_SETLINEENDTYPESALLOWED = 2656, SCI_GETLINEENDTYPESALLOWED = 2657,
  SCI_GETLINEENDTYPESACTIVE = 2658, SCI_AUTOCSETORDER = 2660, SCI_AUTOCGETORDER = 2661,
  SCI_FOLDALL = 2662, SCI_SETAUTOMATICFOLD = 2663, SCI_GETAUTOMATICFOLD = 2664,
  SCI_SETREPRESENTATION = 2665, SCI_GETREPRESENTATION = 2666, SCI_CLEARREPRESENTATION = 2667,
  SCI_SETMOUSESELECTIONRECTANGULARSWITCH = 2668, SCI_GETMOUSESELECTIONRECTANGULARSWITCH = 2669, SCI_POSITIONRELATIVE = 2670,
  SCI_DROPSELECTIONN = 2671, SCI_CHANGEINSERTION = 2672, SCI_GETPHASESDRAW = 2673,
  SCI_SETPHASESDRAW = 2674, SCI_CLEARTABSTOPS = 2675, SCI_ADDTABSTOP = 2676,
  SCI_GETNEXTTABSTOP = 2677, SCI_GETIMEINTERACTION = 2678, SCI_SETIMEINTERACTION = 2679,
  SCI_INDICSETHOVERSTYLE = 2680, SCI_INDICGETHOVERSTYLE = 2681, SCI_INDICSETHOVERFORE = 2682,
  SCI_INDICGETHOVERFORE = 2683, SCI_INDICSETFLAGS = 2684, SCI_INDICGETFLAGS = 2685,
  SCI_SETTARGETRANGE = 2686, SCI_GETTARGETTEXT = 2687, SCI_MULTIPLESELECTADDNEXT = 2688,
  SCI_MULTIPLESELECTADDEACH = 2689, SCI_TARGETWHOLEDOCUMENT = 2690, SCI_ISRANGEWORD = 2691,
  SCI_SETIDLESTYLING = 2692, SCI_GETIDLESTYLING = 2693, SCI_MULTIEDGEADDLINE = 2694,
  SCI_MULTIEDGECLEARALL = 2695, SCI_SETMOUSEWHEELCAPTURES = 2696, SCI_GETMOUSEWHEELCAPTURES = 2697,
  SCI_GETTABDRAWMODE = 2698, SCI_SETTABDRAWMODE = 2699, SCI_TOGGLEFOLDSHOWTEXT = 2700,
  SCI_FOLDDISPLAYTEXTSETSTYLE = 2701, SCI_SETACCESSIBILITY = 2702, SCI_GETACCESSIBILITY = 2703,
  SCI_GETCARETLINEFRAME = 2704, SCI_SETCARETLINEFRAME = 2705, SCI_STARTRECORD = 3001,
  SCI_STOPRECORD = 3002, SCI_SETLEXER = 4001, SCI_GETLEXER = 4002,
  SCI_COLOURISE = 4003, SCI_SETPROPERTY = 4004, SCI_SETKEYWORDS = 4005,
  SCI_SETLEXERLANGUAGE = 4006, SCI_LOADLEXERLIBRARY = 4007, SCI_GETPROPERTY = 4008,
  SCI_GETPROPERTYEXPANDED = 4009, SCI_GETPROPERTYINT = 4010, SCI_GETSTYLEBITSNEEDED = 4011,
  SCI_GETLEXERLANGUAGE = 4012, SCI_PRIVATELEXERCALL = 4013, SCI_PROPERTYNAMES = 4014,
  SCI_PROPERTYTYPE = 4015, SCI_DESCRIBEPROPERTY = 4016, SCI_DESCRIBEKEYWORDSETS = 4017,
  SCI_GETLINEENDTYPESSUPPORTED = 4018, SCI_ALLOCATESUBSTYLES = 4020, SCI_GETSUBSTYLESSTART = 4021,
  SCI_GETSUBSTYLESLENGTH = 4022, SCI_GETSTYLEFROMSUBSTYLE = 4027, SCI_GETPRIMARYSTYLEFROMSTYLE = 4028,
  SCI_FREESUBSTYLES = 4023, SCI_SETIDENTIFIERS = 4024, SCI_DISTANCETOSECONDARYSTYLES = 4025,
  SCI_GETSUBSTYLEBASES = 4026, SCI_GETLINECHARACTERINDEX = 2710, SCI_ALLOCATELINECHARACTERINDEX = 2711,
  SCI_RELEASELINECHARACTERINDEX = 2712, SCI_LINEFROMINDEXPOSITION = 2713, SCI_INDEXPOSITIONFROMLINE = 2714,
  SCI_COUNTCODEUNITS = 2715, SCI_POSITIONRELATIVECODEUNITS = 2716, SCI_GETNAMEDSTYLES = 4029,
  SCI_NAMEOFSTYLE = 4030, SCI_TAGSOFSTYLE = 4031, SCI_DESCRIPTIONOFSTYLE = 4032,
  SCI_GETMOVEEXTENDSSELECTION = 2706, SCI_SETCOMMANDEVENTS = 2717, SCI_GETCOMMANDEVENTS = 2718,
  SCI_GETDOCUMENTOPTIONS = 2379
}
 
enum  {
  SC_AC_FILLUP = 1, SC_AC_DOUBLECLICK = 2, SC_AC_TAB = 3,
  SC_AC_NEWLINE = 4, SC_AC_COMMAND = 5
}
 
enum  { SC_ALPHA_TRANSPARENT = 0, SC_ALPHA_OPAQUE = 255, SC_ALPHA_NOALPHA = 256 }
 
enum  { SC_CARETSTICKY_OFF = 0, SC_CARETSTICKY_ON = 1, SC_CARETSTICKY_WHITESPACE = 2 }
 
enum  { SC_DOCUMENTOPTION_DEFAULT = 0x0000, SC_DOCUMENTOPTION_STYLES_NONE = 0x0001, SC_DOCUMENTOPTION_TEXT_LARGE = 0x0100 }
 
enum  {
  SC_EFF_QUALITY_MASK = 0x0f, SC_EFF_QUALITY_DEFAULT = 0, SC_EFF_QUALITY_NON_ANTIALIASED = 1,
  SC_EFF_QUALITY_ANTIALIASED = 2, SC_EFF_QUALITY_LCD_OPTIMIZED = 3
}
 
enum  {
  SC_IDLESTYLING_NONE = 0, SC_IDLESTYLING_TOVISIBLE = 1, SC_IDLESTYLING_AFTERVISIBLE = 2,
  SC_IDLESTYLING_ALL = 3
}
 
enum  { SC_IME_WINDOWED = 0, SC_IME_INLINE = 1 }
 
enum  { SC_LINECHARACTERINDEX_NONE = 0, SC_LINECHARACTERINDEX_UTF32 = 1, SC_LINECHARACTERINDEX_UTF16 = 2 }
 
enum  { SC_MARGINOPTION_NONE = 0x00, SC_MARGINOPTION_SUBLINESELECT = 0x01 }
 
enum  { SC_MULTIAUTOC_ONCE = 0, SC_MULTIAUTOC_EACH = 1 }
 
enum  { SC_MULTIPASTE_ONCE = 0, SC_MULTIPASTE_EACH = 1 }
 
enum  { SC_POPUP_NEVER = 0, SC_POPUP_ALL = 1, SC_POPUP_TEXT = 2 }
 
enum  {
  SC_SEL_STREAM = 0, SC_SEL_RECTANGLE = 1, SC_SEL_LINES = 2,
  SC_SEL_THIN = 3
}
 
enum  {
  SC_STATUS_OK = 0, SC_STATUS_FAILURE = 1, SC_STATUS_BADALLOC = 2,
  SC_STATUS_WARN_START = 1000, SC_STATUS_WARNREGEX = 1001
}
 
enum  { SC_TYPE_BOOLEAN = 0, SC_TYPE_INTEGER = 1, SC_TYPE_STRING = 2 }
 
enum  {
  SC_UPDATE_CONTENT = 0x01, SC_UPDATE_SELECTION = 0x02, SC_UPDATE_V_SCROLL = 0x04,
  SC_UPDATE_H_SCROLL = 0x08
}
 
enum  {
  SC_WRAPVISUALFLAG_NONE = 0x0000, SC_WRAPVISUALFLAG_END = 0x0001, SC_WRAPVISUALFLAG_START = 0x0002,
  SC_WRAPVISUALFLAG_MARGIN = 0x0004
}
 
enum  { SC_WRAPVISUALFLAGLOC_DEFAULT = 0x0000, SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 0x0001, SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 0x0002 }
 
enum  { SCTD_LONGARROW = 0, SCTD_STRIKEOUT = 1 }
 
enum  {
  SCVS_NONE = 0, SCVS_RECTANGULARSELECTION = 1, SCVS_USERACCESSIBLE = 2,
  SCVS_NOWRAPLINESTART = 4
}
 
enum  {
  SCWS_INVISIBLE = 0, SCWS_VISIBLEALWAYS = 1, SCWS_VISIBLEAFTERINDENT = 2,
  SCWS_VISIBLEONLYININDENT = 3
}
 
enum  { SC_EOL_CRLF = 0, SC_EOL_CR = 1, SC_EOL_LF = 2 }
 
enum  { SC_CP_DBCS = 1, SC_CP_UTF8 = 65001 }
 
enum  {
  SC_MARK_CIRCLE = 0, SC_MARK_ROUNDRECT = 1, SC_MARK_ARROW = 2,
  SC_MARK_SMALLRECT = 3, SC_MARK_SHORTARROW = 4, SC_MARK_EMPTY = 5,
  SC_MARK_ARROWDOWN = 6, SC_MARK_MINUS = 7, SC_MARK_PLUS = 8,
  SC_MARK_VLINE = 9, SC_MARK_LCORNER = 10, SC_MARK_TCORNER = 11,
  SC_MARK_BOXPLUS = 12, SC_MARK_BOXPLUSCONNECTED = 13, SC_MARK_BOXMINUS = 14,
  SC_MARK_BOXMINUSCONNECTED = 15, SC_MARK_LCORNERCURVE = 16, SC_MARK_TCORNERCURVE = 17,
  SC_MARK_CIRCLEPLUS = 18, SC_MARK_CIRCLEPLUSCONNECTED = 19, SC_MARK_CIRCLEMINUS = 20,
  SC_MARK_CIRCLEMINUSCONNECTED = 21, SC_MARK_BACKGROUND = 22, SC_MARK_DOTDOTDOT = 23,
  SC_MARK_ARROWS = 24, SC_MARK_PIXMAP = 25, SC_MARK_FULLRECT = 26,
  SC_MARK_LEFTRECT = 27, SC_MARK_AVAILABLE = 28, SC_MARK_UNDERLINE = 29,
  SC_MARK_RGBAIMAGE = 30, SC_MARK_BOOKMARK = 31, SC_MARK_CHARACTER = 10000
}
 
enum  {
  SC_MARKNUM_FOLDEREND = 25, SC_MARKNUM_FOLDEROPENMID = 26, SC_MARKNUM_FOLDERMIDTAIL = 27,
  SC_MARKNUM_FOLDERTAIL = 28, SC_MARKNUM_FOLDERSUB = 29, SC_MARKNUM_FOLDER = 30,
  SC_MARKNUM_FOLDEROPEN = 31, SC_MASK_FOLDERS = 0xfe000000
}
 
enum  {
  SC_MARGIN_SYMBOL = 0, SC_MARGIN_NUMBER = 1, SC_MARGIN_BACK = 2,
  SC_MARGIN_FORE = 3, SC_MARGIN_TEXT = 4, SC_MARGIN_RTEXT = 5,
  SC_MARGIN_COLOUR = 6
}
 
enum  {
  STYLE_DEFAULT = 32, STYLE_LINENUMBER = 33, STYLE_BRACELIGHT = 34,
  STYLE_BRACEBAD = 35, STYLE_CONTROLCHAR = 36, STYLE_INDENTGUIDE = 37,
  STYLE_CALLTIP = 38, STYLE_FOLDDISPLAYTEXT = 39, STYLE_LASTPREDEFINED = 39,
  STYLE_MAX = 255
}
 
enum  {
  SC_CHARSET_ANSI = 0, SC_CHARSET_DEFAULT = 1, SC_CHARSET_BALTIC = 186,
  SC_CHARSET_CHINESEBIG5 = 136, SC_CHARSET_EASTEUROPE = 238, SC_CHARSET_GB2312 = 134,
  SC_CHARSET_GREEK = 161, SC_CHARSET_HANGUL = 129, SC_CHARSET_MAC = 77,
  SC_CHARSET_OEM = 255, SC_CHARSET_RUSSIAN = 204, SC_CHARSET_OEM866 = 866,
  SC_CHARSET_CYRILLIC = 1251, SC_CHARSET_SHIFTJIS = 128, SC_CHARSET_SYMBOL = 2,
  SC_CHARSET_TURKISH = 162, SC_CHARSET_JOHAB = 130, SC_CHARSET_HEBREW = 177,
  SC_CHARSET_ARABIC = 178, SC_CHARSET_VIETNAMESE = 163, SC_CHARSET_THAI = 222,
  SC_CHARSET_8859_15 = 1000
}
 
enum  {
  SC_CASE_MIXED = 0, SC_CASE_UPPER = 1, SC_CASE_LOWER = 2,
  SC_CASE_CAMEL = 3
}
 
enum  {
  SC_IV_NONE = 0, SC_IV_REAL = 1, SC_IV_LOOKFORWARD = 2,
  SC_IV_LOOKBOTH = 3
}
 
enum  {
  INDIC_PLAIN = 0, INDIC_SQUIGGLE = 1, INDIC_TT = 2,
  INDIC_DIAGONAL = 3, INDIC_STRIKE = 4, INDIC_HIDDEN = 5,
  INDIC_BOX = 6, INDIC_ROUNDBOX = 7, INDIC_STRAIGHTBOX = 8,
  INDIC_DASH = 9, INDIC_DOTS = 10, INDIC_SQUIGGLELOW = 11,
  INDIC_DOTBOX = 12, INDIC_SQUIGGLEPIXMAP = 13, INDIC_COMPOSITIONTHICK = 14,
  INDIC_COMPOSITIONTHIN = 15, INDIC_FULLBOX = 16, INDIC_TEXTFORE = 17,
  INDIC_POINT = 18, INDIC_POINTCHARACTER = 19, INDIC_GRADIENT = 20,
  INDIC_GRADIENTCENTRE = 21, INDIC_IME = 32, INDIC_IME_MAX = 35,
  INDIC_CONTAINER = 8, INDIC_MAX = 35, INDIC0_MASK = 0x20,
  INDIC1_MASK = 0x40, INDIC2_MASK = 0x80, INDICS_MASK = 0xe0,
  SC_INDICVALUEBIT = 0x01000000, SC_INDICVALUEMASK = 0x00ffffff, SC_INDICFLAG_VALUEBEFORE = 1
}
 
enum  {
  SC_PRINT_NORMAL = 0, SC_PRINT_INVERTLIGHT = 1, SC_PRINT_BLACKONWHITE = 2,
  SC_PRINT_COLOURONWHITE = 3, SC_PRINT_COLOURONWHITEDEFAULTBG = 4, SC_PRINT_SCREENCOLOURS = 5
}
 
enum  {
  SCFIND_WHOLEWORD = 2, SCFIND_MATCHCASE = 4, SCFIND_WORDSTART = 0x00100000,
  SCFIND_REGEXP = 0x00200000, SCFIND_POSIX = 0x00400000, SCFIND_CXX11REGEX = 0x00800000
}
 
enum  { SC_FOLDDISPLAYTEXT_HIDDEN = 0, SC_FOLDDISPLAYTEXT_STANDARD = 1, SC_FOLDDISPLAYTEXT_BOXED = 2 }
 
enum  {
  SC_FOLDLEVELBASE = 0x00400, SC_FOLDLEVELWHITEFLAG = 0x01000, SC_FOLDLEVELHEADERFLAG = 0x02000,
  SC_FOLDLEVELNUMBERMASK = 0x00fff
}
 
enum  {
  SC_FOLDFLAG_LINEBEFORE_EXPANDED = 0x0002, SC_FOLDFLAG_LINEBEFORE_CONTRACTED = 0x0004, SC_FOLDFLAG_LINEAFTER_EXPANDED = 0x0008,
  SC_FOLDFLAG_LINEAFTER_CONTRACTED = 0x0010, SC_FOLDFLAG_LEVELNUMBERS = 0x0040, SC_FOLDFLAG_LINESTATE = 0x0080
}
 
enum  { SC_LINE_END_TYPE_DEFAULT = 0, SC_LINE_END_TYPE_UNICODE = 1 }
 
enum  { SC_TIME_FOREVER = 10000000 }
 
enum  {
  SC_WRAP_NONE = 0, SC_WRAP_WORD = 1, SC_WRAP_CHAR = 2,
  SC_WRAP_WHITESPACE = 3
}
 
enum  {
  SC_WRAPINDENT_FIXED = 0, SC_WRAPINDENT_SAME = 1, SC_WRAPINDENT_INDENT = 2,
  SC_WRAPINDENT_DEEPINDENT = 3
}
 
enum  {
  SC_CACHE_NONE = 0, SC_CACHE_CARET = 1, SC_CACHE_PAGE = 2,
  SC_CACHE_DOCUMENT = 3
}
 
enum  { SC_PHASES_ONE = 0, SC_PHASES_TWO = 1, SC_PHASES_MULTIPLE = 2 }
 
enum  {
  ANNOTATION_HIDDEN = 0, ANNOTATION_STANDARD = 1, ANNOTATION_BOXED = 2,
  ANNOTATION_INDENTED = 3
}
 
enum  {
  EDGE_NONE = 0, EDGE_LINE = 1, EDGE_BACKGROUND = 2,
  EDGE_MULTILINE = 3
}
 
enum  {
  SC_CURSORNORMAL = -1, SC_CURSORARROW = 2, SC_CURSORWAIT = 4,
  SC_CURSORREVERSEARROW = 7
}
 
enum  { UNDO_MAY_COALESCE = 1 }
 
enum  { VISIBLE_SLOP = 0x01, VISIBLE_STRICT = 0x04 }
 
enum  {
  CARET_SLOP = 0x01, CARET_STRICT = 0x04, CARET_JUMPS = 0x10,
  CARET_EVEN = 0x08
}
 
enum  { CARETSTYLE_INVISIBLE = 0, CARETSTYLE_LINE = 1, CARETSTYLE_BLOCK = 2 }
 
enum  {
  SC_MOD_INSERTTEXT = 0x1, SC_MOD_DELETETEXT = 0x2, SC_MOD_CHANGESTYLE = 0x4,
  SC_MOD_CHANGEFOLD = 0x8, SC_PERFORMED_USER = 0x10, SC_PERFORMED_UNDO = 0x20,
  SC_PERFORMED_REDO = 0x40, SC_MULTISTEPUNDOREDO = 0x80, SC_LASTSTEPINUNDOREDO = 0x100,
  SC_MOD_CHANGEMARKER = 0x200, SC_MOD_BEFOREINSERT = 0x400, SC_MOD_BEFOREDELETE = 0x800,
  SC_MULTILINEUNDOREDO = 0x1000, SC_STARTACTION = 0x2000, SC_MOD_CHANGEINDICATOR = 0x4000,
  SC_MOD_CHANGELINESTATE = 0x8000, SC_MOD_CHANGEMARGIN = 0x10000, SC_MOD_CHANGEANNOTATION = 0x20000,
  SC_MOD_CONTAINER = 0x40000, SC_MOD_LEXERSTATE = 0x80000, SC_MOD_INSERTCHECK = 0x100000,
  SC_MOD_CHANGETABSTOPS = 0x200000, SC_MODEVENTMASKALL = 0x3fffff
}
 
enum  {
  SCK_DOWN = 300, SCK_UP = 301, SCK_LEFT = 302,
  SCK_RIGHT = 303, SCK_HOME = 304, SCK_END = 305,
  SCK_PRIOR = 306, SCK_NEXT = 307, SCK_DELETE = 308,
  SCK_INSERT = 309, SCK_ESCAPE = 7, SCK_BACK = 8,
  SCK_TAB = 9, SCK_RETURN = 13, SCK_ADD = 310,
  SCK_SUBTRACT = 311, SCK_DIVIDE = 312, SCK_WIN = 313,
  SCK_RWIN = 314, SCK_MENU = 315
}
 
enum  {
  SCMOD_NORM = 0, SCMOD_SHIFT = 1, SCMOD_CTRL = 2,
  SCMOD_ALT = 4, SCMOD_SUPER = 8, SCMOD_META = 16
}
 
enum  {
  SCLEX_CONTAINER = 0, SCLEX_NULL = 1, SCLEX_PYTHON = 2,
  SCLEX_CPP = 3, SCLEX_HTML = 4, SCLEX_XML = 5,
  SCLEX_PERL = 6, SCLEX_SQL = 7, SCLEX_VB = 8,
  SCLEX_PROPERTIES = 9, SCLEX_ERRORLIST = 10, SCLEX_MAKEFILE = 11,
  SCLEX_BATCH = 12, SCLEX_LATEX = 14, SCLEX_LUA = 15,
  SCLEX_DIFF = 16, SCLEX_CONF = 17, SCLEX_PASCAL = 18,
  SCLEX_AVE = 19, SCLEX_ADA = 20, SCLEX_LISP = 21,
  SCLEX_RUBY = 22, SCLEX_EIFFEL = 23, SCLEX_EIFFELKW = 24,
  SCLEX_TCL = 25, SCLEX_NNCRONTAB = 26, SCLEX_BULLANT = 27,
  SCLEX_VBSCRIPT = 28, SCLEX_ASP = SCLEX_HTML, SCLEX_PHP = SCLEX_HTML,
  SCLEX_BAAN = 31, SCLEX_MATLAB = 32, SCLEX_SCRIPTOL = 33,
  SCLEX_ASM = 34, SCLEX_CPPNOCASE = 35, SCLEX_FORTRAN = 36,
  SCLEX_F77 = 37, SCLEX_CSS = 38, SCLEX_POV = 39,
  SCLEX_LOUT = 40, SCLEX_ESCRIPT = 41, SCLEX_PS = 42,
  SCLEX_NSIS = 43, SCLEX_MMIXAL = 44, SCLEX_CLW = 45,
  SCLEX_CLWNOCASE = 46, SCLEX_LOT = 47, SCLEX_YAML = 48,
  SCLEX_TEX = 49, SCLEX_METAPOST = 50, SCLEX_POWERBASIC = 51,
  SCLEX_FORTH = 52, SCLEX_ERLANG = 53, SCLEX_OCTAVE = 54,
  SCLEX_MSSQL = 55, SCLEX_VERILOG = 56, SCLEX_KIX = 57,
  SCLEX_GUI4CLI = 58, SCLEX_SPECMAN = 59, SCLEX_AU3 = 60,
  SCLEX_APDL = 61, SCLEX_BASH = 62, SCLEX_ASN1 = 63,
  SCLEX_VHDL = 64, SCLEX_CAML = 65, SCLEX_BLITZBASIC = 66,
  SCLEX_PUREBASIC = 67, SCLEX_HASKELL = 68, SCLEX_PHPSCRIPT = 69,
  SCLEX_TADS3 = 70, SCLEX_REBOL = 71, SCLEX_SMALLTALK = 72,
  SCLEX_FLAGSHIP = 73, SCLEX_CSOUND = 74, SCLEX_FREEBASIC = 75,
  SCLEX_INNOSETUP = 76, SCLEX_OPAL = 77, SCLEX_SPICE = 78,
  SCLEX_D = 79, SCLEX_CMAKE = 80, SCLEX_GAP = 81,
  SCLEX_PLM = 82, SCLEX_PROGRESS = 83, SCLEX_ABAQUS = 84,
  SCLEX_ASYMPTOTE = 85, SCLEX_R = 86, SCLEX_MAGIK = 87,
  SCLEX_POWERSHELL = 88, SCLEX_MYSQL = 89, SCLEX_PO = 90,
  SCLEX_TAL = 91, SCLEX_COBOL = 92, SCLEX_TACL = 93,
  SCLEX_SORCUS = 94, SCLEX_POWERPRO = 95, SCLEX_NIMROD = 96,
  SCLEX_SML = 97, SCLEX_MARKDOWN = 98, SCLEX_TXT2TAGS = 99,
  SCLEX_A68K = 100, SCLEX_MODULA = 101, SCLEX_COFFEESCRIPT = 102,
  SCLEX_TCMD = 103, SCLEX_AVS = 104, SCLEX_ECL = 105,
  SCLEX_OSCRIPT = 106, SCLEX_VISUALPROLOG = 107, SCLEX_LITERATEHASKELL = 108,
  SCLEX_STTXT = 109, SCLEX_KVIRC = 110, SCLEX_RUST = 111,
  SCLEX_DMAP = 112, SCLEX_AS = 113, SCLEX_DMIS = 114,
  SCLEX_REGISTRY = 115, SCLEX_BIBTEX = 116, SCLEX_SREC = 117,
  SCLEX_IHEX = 118, SCLEX_TEHEX = 119, SCLEX_JSON = 120,
  SCLEX_EDIFACT = 121, SCLEX_INDENT = 122, SCLEX_MAXIMA = 123,
  SCLEX_STATA = 124, SCLEX_SAS = 125
}
 
enum  { SC_WEIGHT_NORMAL = 400, SC_WEIGHT_SEMIBOLD = 600, SC_WEIGHT_BOLD = 700 }
 
enum  {
  SC_TECHNOLOGY_DEFAULT = 0, SC_TECHNOLOGY_DIRECTWRITE = 1, SC_TECHNOLOGY_DIRECTWRITERETAIN = 2,
  SC_TECHNOLOGY_DIRECTWRITEDC = 3
}
 
enum  { SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE = 0, SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE = 1 }
 
enum  { SC_FONT_SIZE_MULTIPLIER = 100 }
 
enum  { SC_FOLDACTION_CONTRACT = 0, SC_FOLDACTION_EXPAND = 1, SC_FOLDACTION_TOGGLE = 2 }
 
enum  { SC_AUTOMATICFOLD_SHOW = 0x0001, SC_AUTOMATICFOLD_CLICK = 0x0002, SC_AUTOMATICFOLD_CHANGE = 0x0004 }
 
enum  { SC_ORDER_PRESORTED = 0, SC_ORDER_PERFORMSORT = 1, SC_ORDER_CUSTOM = 2 }
 

Public Slots

virtual void append (const QString &text)
 
virtual void autoCompleteFromAll ()
 
virtual void autoCompleteFromAPIs ()
 
virtual void autoCompleteFromDocument ()
 
virtual void callTip ()
 
virtual void clear ()
 
virtual void copy ()
 
virtual void cut ()
 
virtual void ensureCursorVisible ()
 
virtual void ensureLineVisible (int line)
 
virtual void foldAll (bool children=false)
 
virtual void foldLine (int line)
 
virtual void indent (int line)
 
virtual void insert (const QString &text)
 
virtual void insertAt (const QString &text, int line, int index)
 
virtual void moveToMatchingBrace ()
 
virtual void paste ()
 
virtual void redo ()
 
virtual void removeSelectedText ()
 
virtual void replaceSelectedText (const QString &text)
 
virtual void resetSelectionBackgroundColor ()
 
virtual void resetSelectionForegroundColor ()
 
virtual void selectAll (bool select=true)
 
virtual void selectToMatchingBrace ()
 
virtual void setAutoCompletionCaseSensitivity (bool cs)
 
virtual void setAutoCompletionReplaceWord (bool replace)
 
virtual void setAutoCompletionShowSingle (bool single)
 
virtual void setAutoCompletionSource (AutoCompletionSource source)
 
virtual void setAutoCompletionThreshold (int thresh)
 
virtual void setAutoCompletionUseSingle (AutoCompletionUseSingle single)
 
virtual void setAutoIndent (bool autoindent)
 
virtual void setBraceMatching (BraceMatch bm)
 
virtual void setBackspaceUnindents (bool unindent)
 
virtual void setCaretForegroundColor (const QColor &col)
 
virtual void setCaretLineBackgroundColor (const QColor &col)
 
virtual void setCaretLineFrameWidth (int width)
 
virtual void setCaretLineVisible (bool enable)
 
virtual void setCaretWidth (int width)
 
virtual void setColor (const QColor &c)
 
virtual void setCursorPosition (int line, int index)
 
virtual void setEolMode (EolMode mode)
 
virtual void setEolVisibility (bool visible)
 
virtual void setFolding (FoldStyle fold, int margin=2)
 
virtual void setIndentation (int line, int indentation)
 
virtual void setIndentationGuides (bool enable)
 
virtual void setIndentationGuidesBackgroundColor (const QColor &col)
 
virtual void setIndentationGuidesForegroundColor (const QColor &col)
 
virtual void setIndentationsUseTabs (bool tabs)
 
virtual void setIndentationWidth (int width)
 
virtual void setLexer (QsciLexer *lexer=0)
 
virtual void setMarginsBackgroundColor (const QColor &col)
 
virtual void setMarginsFont (const QFont &f)
 
virtual void setMarginsForegroundColor (const QColor &col)
 
virtual void setMarginLineNumbers (int margin, bool lnrs)
 
virtual void setMarginMarkerMask (int margin, int mask)
 
virtual void setMarginSensitivity (int margin, bool sens)
 
virtual void setMarginWidth (int margin, int width)
 
virtual void setMarginWidth (int margin, const QString &s)
 
virtual void setModified (bool m)
 
virtual void setPaper (const QColor &c)
 
virtual void setReadOnly (bool ro)
 
virtual void setSelection (int lineFrom, int indexFrom, int lineTo, int indexTo)
 
virtual void setSelectionBackgroundColor (const QColor &col)
 
virtual void setSelectionForegroundColor (const QColor &col)
 
virtual void setTabIndents (bool indent)
 
virtual void setTabWidth (int width)
 
virtual void setText (const QString &text)
 
virtual void setUtf8 (bool cp)
 
virtual void setWhitespaceVisibility (WhitespaceVisibility mode)
 
virtual void setWrapMode (WrapMode mode)
 
virtual void undo ()
 
virtual void unindent (int line)
 
virtual void zoomIn (int range)
 
virtual void zoomIn ()
 
virtual void zoomOut (int range)
 
virtual void zoomOut ()
 
virtual void zoomTo (int size)
 

Signals

void cursorPositionChanged (int line, int index)
 
void copyAvailable (bool yes)
 
void indicatorClicked (int line, int index, Qt::KeyboardModifiers state)
 
void indicatorReleased (int line, int index, Qt::KeyboardModifiers state)
 
void linesChanged ()
 
void marginClicked (int margin, int line, Qt::KeyboardModifiers state)
 
void marginRightClicked (int margin, int line, Qt::KeyboardModifiers state)
 
void modificationAttempted ()
 
void modificationChanged (bool m)
 
void selectionChanged ()
 
void textChanged ()
 
void userListActivated (int id, const QString &string)
 
- Signals inherited from QsciScintillaBase
void QSCN_SELCHANGED (bool yes)
 
void SCN_AUTOCCANCELLED ()
 
void SCN_AUTOCCHARDELETED ()
 
void SCN_AUTOCCOMPLETED (const char *selection, int position, int ch, int method)
 
void SCN_AUTOCSELECTION (const char *selection, int position, int ch, int method)
 
void SCN_AUTOCSELECTION (const char *selection, int position)
 
void SCN_AUTOCSELECTIONCHANGE (const char *selection, int id, int position)
 
void SCEN_CHANGE ()
 
void SCN_CALLTIPCLICK (int direction)
 
void SCN_CHARADDED (int charadded)
 
void SCN_DOUBLECLICK (int position, int line, int modifiers)
 
void SCN_DWELLEND (int position, int x, int y)
 
void SCN_DWELLSTART (int position, int x, int y)
 
void SCN_FOCUSIN ()
 
void SCN_FOCUSOUT ()
 
void SCN_HOTSPOTCLICK (int position, int modifiers)
 
void SCN_HOTSPOTDOUBLECLICK (int position, int modifiers)
 
void SCN_HOTSPOTRELEASECLICK (int position, int modifiers)
 
void SCN_INDICATORCLICK (int position, int modifiers)
 
void SCN_INDICATORRELEASE (int position, int modifiers)
 
void SCN_MACRORECORD (unsigned int, unsigned long, void *)
 
void SCN_MARGINCLICK (int position, int modifiers, int margin)
 
void SCN_MARGINRIGHTCLICK (int position, int modifiers, int margin)
 
void SCN_MODIFIED (int, int, const char *, int, int, int, int, int, int, int)
 
void SCN_MODIFYATTEMPTRO ()
 
void SCN_NEEDSHOWN (int, int)
 
void SCN_PAINTED ()
 
void SCN_SAVEPOINTLEFT ()
 
void SCN_SAVEPOINTREACHED ()
 
void SCN_STYLENEEDED (int position)
 
void SCN_URIDROPPED (const QUrl &url)
 
void SCN_UPDATEUI (int updated)
 
void SCN_USERLISTSELECTION (const char *selection, int id, int ch, int method, int position)
 
void SCN_USERLISTSELECTION (const char *selection, int id, int ch, int method)
 
void SCN_USERLISTSELECTION (const char *selection, int id)
 
void SCN_ZOOM ()
 

Public Member Functions

 QsciScintilla (QWidget *parent=0)
 
virtual ~QsciScintilla ()
 
virtual QStringList apiContext (int pos, int &context_start, int &last_word_start)
 
void annotate (int line, const QString &text, int style)
 
void annotate (int line, const QString &text, const QsciStyle &style)
 
void annotate (int line, const QsciStyledText &text)
 
void annotate (int line, const QList< QsciStyledText > &text)
 
QString annotation (int line) const
 
AnnotationDisplay annotationDisplay () const
 
void clearAnnotations (int line=-1)
 
bool autoCompletionCaseSensitivity () const
 
bool autoCompletionFillupsEnabled () const
 
bool autoCompletionReplaceWord () const
 
bool autoCompletionShowSingle () const
 
AutoCompletionSource autoCompletionSource () const
 
int autoCompletionThreshold () const
 
AutoCompletionUseSingle autoCompletionUseSingle () const
 
bool autoIndent () const
 
bool backspaceUnindents () const
 
void beginUndoAction ()
 
BraceMatch braceMatching () const
 
QByteArray bytes (int start, int end) const
 
CallTipsPosition callTipsPosition () const
 
CallTipsStyle callTipsStyle () const
 
int callTipsVisible () const
 
void cancelFind ()
 
void cancelList ()
 
bool caseSensitive () const
 
void clearFolds ()
 
void clearIndicatorRange (int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)
 
void clearRegisteredImages ()
 
QColor color () const
 
QList< int > contractedFolds () const
 
void convertEols (EolMode mode)
 
QMenu * createStandardContextMenu ()
 
QsciDocument document () const
 
void endUndoAction ()
 
QColor edgeColor () const
 
int edgeColumn () const
 
EdgeMode edgeMode () const
 
void setFont (const QFont &f)
 
EolMode eolMode () const
 
bool eolVisibility () const
 
int extraAscent () const
 
int extraDescent () const
 
void fillIndicatorRange (int lineFrom, int indexFrom, int lineTo, int indexTo, int indicatorNumber)
 
virtual bool findFirst (const QString &expr, bool re, bool cs, bool wo, bool wrap, bool forward=true, int line=-1, int index=-1, bool show=true, bool posix=false, bool cxx11=false)
 
virtual bool findFirstInSelection (const QString &expr, bool re, bool cs, bool wo, bool forward=true, bool show=true, bool posix=false, bool cxx11=false)
 
virtual bool findNext ()
 
bool findMatchingBrace (long &brace, long &other, BraceMatch mode)
 
int firstVisibleLine () const
 
FoldStyle folding () const
 
void getCursorPosition (int *line, int *index) const
 
void getSelection (int *lineFrom, int *indexFrom, int *lineTo, int *indexTo) const
 
bool hasSelectedText () const
 
int indentation (int line) const
 
bool indentationGuides () const
 
bool indentationsUseTabs () const
 
int indentationWidth () const
 
int indicatorDefine (IndicatorStyle style, int indicatorNumber=-1)
 
bool indicatorDrawUnder (int indicatorNumber) const
 
bool isCallTipActive () const
 
bool isListActive () const
 
bool isModified () const
 
bool isReadOnly () const
 
bool isRedoAvailable () const
 
bool isUndoAvailable () const
 
bool isUtf8 () const
 
bool isWordCharacter (char ch) const
 
int lineAt (const QPoint &point) const
 
void lineIndexFromPosition (int position, int *line, int *index) const
 
int lineLength (int line) const
 
int lines () const
 
int length () const
 
QsciLexerlexer () const
 
QColor marginBackgroundColor (int margin) const
 
bool marginLineNumbers (int margin) const
 
int marginMarkerMask (int margin) const
 
int marginOptions () const
 
bool marginSensitivity (int margin) const
 
MarginType marginType (int margin) const
 
int marginWidth (int margin) const
 
int margins () const
 
int markerDefine (MarkerSymbol sym, int markerNumber=-1)
 
int markerDefine (char ch, int markerNumber=-1)
 
int markerDefine (const QPixmap &pm, int markerNumber=-1)
 
int markerDefine (const QImage &im, int markerNumber=-1)
 
int markerAdd (int linenr, int markerNumber)
 
unsigned markersAtLine (int linenr) const
 
void markerDelete (int linenr, int markerNumber=-1)
 
void markerDeleteAll (int markerNumber=-1)
 
void markerDeleteHandle (int mhandle)
 
int markerLine (int mhandle) const
 
int markerFindNext (int linenr, unsigned mask) const
 
int markerFindPrevious (int linenr, unsigned mask) const
 
bool overwriteMode () const
 
QColor paper () const
 
int positionFromLineIndex (int line, int index) const
 
bool read (QIODevice *io)
 
virtual void recolor (int start=0, int end=-1)
 
void registerImage (int id, const QPixmap &pm)
 
void registerImage (int id, const QImage &im)
 
virtual void replace (const QString &replaceStr)
 
void resetFoldMarginColors ()
 
void resetHotspotBackgroundColor ()
 
void resetHotspotForegroundColor ()
 
int scrollWidth () const
 
bool scrollWidthTracking () const
 
void setFoldMarginColors (const QColor &fore, const QColor &back)
 
void setAnnotationDisplay (AnnotationDisplay display)
 
void setAutoCompletionFillupsEnabled (bool enabled)
 
void setAutoCompletionFillups (const char *fillups)
 
void setAutoCompletionWordSeparators (const QStringList &separators)
 
void setCallTipsBackgroundColor (const QColor &col)
 
void setCallTipsForegroundColor (const QColor &col)
 
void setCallTipsHighlightColor (const QColor &col)
 
void setCallTipsPosition (CallTipsPosition position)
 
void setCallTipsStyle (CallTipsStyle style)
 
void setCallTipsVisible (int nr)
 
void setContractedFolds (const QList< int > &folds)
 
void setDocument (const QsciDocument &document)
 
void addEdgeColumn (int colnr, const QColor &col)
 
void clearEdgeColumns ()
 
void setEdgeColor (const QColor &col)
 
void setEdgeColumn (int colnr)
 
void setEdgeMode (EdgeMode mode)
 
void setFirstVisibleLine (int linenr)
 
void setIndicatorDrawUnder (bool under, int indicatorNumber=-1)
 
void setIndicatorForegroundColor (const QColor &col, int indicatorNumber=-1)
 
void setIndicatorHoverForegroundColor (const QColor &col, int indicatorNumber=-1)
 
void setIndicatorHoverStyle (IndicatorStyle style, int indicatorNumber=-1)
 
void setIndicatorOutlineColor (const QColor &col, int indicatorNumber=-1)
 
void setMarginBackgroundColor (int margin, const QColor &col)
 
void setMarginOptions (int options)
 
void setMarginText (int line, const QString &text, int style)
 
void setMarginText (int line, const QString &text, const QsciStyle &style)
 
void setMarginText (int line, const QsciStyledText &text)
 
void setMarginText (int line, const QList< QsciStyledText > &text)
 
void setMarginType (int margin, MarginType type)
 
void clearMarginText (int line=-1)
 
void setMargins (int margins)
 
void setMarkerBackgroundColor (const QColor &col, int markerNumber=-1)
 
void setMarkerForegroundColor (const QColor &col, int markerNumber=-1)
 
void setMatchedBraceBackgroundColor (const QColor &col)
 
void setMatchedBraceForegroundColor (const QColor &col)
 
void setMatchedBraceIndicator (int indicatorNumber)
 
void resetMatchedBraceIndicator ()
 
void setScrollWidth (int pixelWidth)
 
void setScrollWidthTracking (bool enabled)
 
void setTabDrawMode (TabDrawMode mode)
 
void setUnmatchedBraceBackgroundColor (const QColor &col)
 
void setUnmatchedBraceForegroundColor (const QColor &col)
 
void setUnmatchedBraceIndicator (int indicatorNumber)
 
void resetUnmatchedBraceIndicator ()
 
void setWrapVisualFlags (WrapVisualFlag endFlag, WrapVisualFlag startFlag=WrapFlagNone, int indent=0)
 
QString selectedText () const
 
bool selectionToEol () const
 
void setHotspotBackgroundColor (const QColor &col)
 
void setHotspotForegroundColor (const QColor &col)
 
void setHotspotUnderline (bool enable)
 
void setHotspotWrap (bool enable)
 
void setSelectionToEol (bool filled)
 
void setExtraAscent (int extra)
 
void setExtraDescent (int extra)
 
void setOverwriteMode (bool overwrite)
 
void setWhitespaceBackgroundColor (const QColor &col)
 
void setWhitespaceForegroundColor (const QColor &col)
 
void setWhitespaceSize (int size)
 
void setWrapIndentMode (WrapIndentMode mode)
 
void showUserList (int id, const QStringList &list)
 
QsciCommandSetstandardCommands () const
 
TabDrawMode tabDrawMode () const
 
bool tabIndents () const
 
int tabWidth () const
 
QString text () const
 
QString text (int line) const
 
QString text (int start, int end) const
 
int textHeight (int linenr) const
 
int whitespaceSize () const
 
WhitespaceVisibility whitespaceVisibility () const
 
QString wordAtLineIndex (int line, int index) const
 
QString wordAtPoint (const QPoint &point) const
 
const char * wordCharacters () const
 
WrapMode wrapMode () const
 
WrapIndentMode wrapIndentMode () const
 
bool write (QIODevice *io) const
 
- Public Member Functions inherited from QsciScintillaBase
 QsciScintillaBase (QWidget *parent=0)
 
virtual ~QsciScintillaBase ()
 
void replaceHorizontalScrollBar (QScrollBar *scrollBar)
 
void replaceVerticalScrollBar (QScrollBar *scrollBar)
 
long SendScintilla (unsigned int msg, unsigned long wParam=0, long lParam=0) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, void *lParam) const
 
long SendScintilla (unsigned int msg, uintptr_t wParam, const char *lParam) const
 
long SendScintilla (unsigned int msg, const char *lParam) const
 
long SendScintilla (unsigned int msg, const char *wParam, const char *lParam) const
 
long SendScintilla (unsigned int msg, long wParam) const
 
long SendScintilla (unsigned int msg, int wParam) const
 
long SendScintilla (unsigned int msg, long cpMin, long cpMax, char *lpstrText) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, const QColor &col) const
 
long SendScintilla (unsigned int msg, const QColor &col) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &rc, long cpMin, long cpMax) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, const QPixmap &lParam) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, const QImage &lParam) const
 
void * SendScintillaPtrResult (unsigned int msg) const
 

Protected Member Functions

virtual bool event (QEvent *e)
 
virtual void changeEvent (QEvent *e)
 
virtual void contextMenuEvent (QContextMenuEvent *e)
 
virtual void wheelEvent (QWheelEvent *e)
 
- Protected Member Functions inherited from QsciScintillaBase
virtual bool canInsertFromMimeData (const QMimeData *source) const
 
virtual QByteArray fromMimeData (const QMimeData *source, bool &rectangular) const
 
virtual QMimeData * toMimeData (const QByteArray &text, bool rectangular) const
 
virtual void dragEnterEvent (QDragEnterEvent *e)
 
virtual void dragLeaveEvent (QDragLeaveEvent *e)
 
virtual void dragMoveEvent (QDragMoveEvent *e)
 
virtual void dropEvent (QDropEvent *e)
 
virtual void focusInEvent (QFocusEvent *e)
 
virtual void focusOutEvent (QFocusEvent *e)
 
virtual bool focusNextPrevChild (bool next)
 
virtual void keyPressEvent (QKeyEvent *e)
 
virtual void inputMethodEvent (QInputMethodEvent *event)
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const
 
virtual void mouseDoubleClickEvent (QMouseEvent *e)
 
virtual void mouseMoveEvent (QMouseEvent *e)
 
virtual void mousePressEvent (QMouseEvent *e)
 
virtual void mouseReleaseEvent (QMouseEvent *e)
 
virtual void paintEvent (QPaintEvent *e)
 
virtual void resizeEvent (QResizeEvent *e)
 
virtual void scrollContentsBy (int dx, int dy)
 
void setScrollBars ()
 
ScintillaBytes textAsBytes (const QString &text) const
 
QString bytesAsText (const char *bytes) const
 
bool contextMenuNeeded (int x, int y) const
 

Additional Inherited Members

- Static Public Member Functions inherited from QsciScintillaBase
static QsciScintillaBasepool ()
 
static int commandKey (int qt_key, int &modifiers)
 
- Protected Types inherited from QsciScintillaBase
typedef QByteArray ScintillaBytes
 

Detailed Description

The QsciScintilla class implements a higher level, more Qt-like, API to the Scintilla editor widget.

QsciScintilla implements methods, signals and slots similar to those found in other Qt editor classes. It also provides a higher level interface to features specific to Scintilla such as syntax styling, call tips, auto-indenting and auto-completion than that provided by QsciScintillaBase.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

This enum defines the different auto-indentation styles.

Enumerator
AiMaintain 

A line is automatically indented to match the previous line.

AiOpening 

If the language supported by the current lexer has a specific start of block character (e.g. { in C++), then a line that begins with that character is indented as well as the lines that make up the block. It may be logically ored with AiClosing.

AiClosing 

If the language supported by the current lexer has a specific end of block character (e.g. } in C++), then a line that begins with that character is indented as well as the lines that make up the block. It may be logically ored with AiOpening.

◆ AnnotationDisplay

This enum defines the different annotation display styles.

Enumerator
AnnotationHidden 

Annotations are not displayed.

AnnotationStandard 

Annotations are drawn left justified with no adornment.

AnnotationBoxed 

Annotations are surrounded by a box.

AnnotationIndented 

Annotations are indented to match the text.

◆ AutoCompletionUseSingle

This enum defines the behavior if an auto-completion list contains a single entry.

Enumerator
AcusNever 

The single entry is not used automatically and the auto-completion list is displayed.

AcusExplicit 

The single entry is used automatically when auto-completion is explicitly requested (using autoCompleteFromAPIs() or autoCompleteFromDocument()) but not when auto-completion is triggered as the user types.

AcusAlways 

The single entry is used automatically and the auto-completion list is not displayed.

◆ AutoCompletionSource

This enum defines the different sources for auto-completion lists.

Enumerator
AcsNone 

No sources are used, ie. automatic auto-completion is disabled.

AcsAll 

The source is all available sources.

AcsDocument 

The source is the current document.

AcsAPIs 

The source is any installed APIs.

◆ BraceMatch

This enum defines the different brace matching modes. The character pairs {}, [] and () are treated as braces. The Python lexer will also match a : with the end of the corresponding indented block.

Enumerator
NoBraceMatch 

Brace matching is disabled.

StrictBraceMatch 

Brace matching is enabled for a brace immediately before the current position.

SloppyBraceMatch 

Brace matching is enabled for a brace immediately before or after the current position.

◆ CallTipsPosition

This enum defines the different call tip positions.

Enumerator
CallTipsBelowText 

Call tips are placed below the text.

CallTipsAboveText 

Call tips are placed above the text.

◆ CallTipsStyle

This enum defines the different call tip styles.

Enumerator
CallTipsNone 

Call tips are disabled.

CallTipsNoContext 

Call tips are displayed without a context. A context is any scope (e.g. a C++ namespace or a Python module) prior to the function name.

CallTipsNoAutoCompletionContext 

Call tips are displayed with a context only if the user hasn't already implicitly identified the context using autocompletion. Note that this style may not always be able to align the call tip with the text being entered.

CallTipsContext 

Call tips are displayed with a context. Note that this style may not always be able to align the call tip with the text being entered.

◆ EdgeMode

This enum defines the different edge modes for long lines.

Enumerator
EdgeNone 

Long lines are not marked.

EdgeLine 

A vertical line is drawn at the column set by setEdgeColumn(). This is recommended for monospace fonts.

EdgeBackground 

The background color of characters after the column limit is changed to the color set by setEdgeColor(). This is recommended for proportional fonts.

EdgeMultipleLines 

Multiple vertical lines are drawn at the columns defined by multiple calls to addEdgeColumn().

◆ EolMode

This enum defines the different end-of-line modes.

Enumerator
EolWindows 

A carriage return/line feed as used on Windows systems.

EolUnix 

A line feed as used on Unix systems, including OS/X.

EolMac 

A carriage return as used on Mac systems prior to OS/X.

◆ FoldStyle

This enum defines the different styles for the folding margin.

Enumerator
NoFoldStyle 

Folding is disabled.

PlainFoldStyle 

Plain folding style using plus and minus symbols.

CircledFoldStyle 

Circled folding style using circled plus and minus symbols.

BoxedFoldStyle 

Boxed folding style using boxed plus and minus symbols.

CircledTreeFoldStyle 

Circled tree style using a flattened tree with circled plus and minus symbols and rounded corners.

BoxedTreeFoldStyle 

Boxed tree style using a flattened tree with boxed plus and minus symbols and right-angled corners.

◆ IndicatorStyle

This enum defines the different indicator styles.

Enumerator
PlainIndicator 

A single straight underline.

SquiggleIndicator 

A squiggly underline that requires 3 pixels of descender space.

TTIndicator 

A line of small T shapes.

DiagonalIndicator 

Diagonal hatching.

StrikeIndicator 

Strike out.

HiddenIndicator 

An indicator with no visual appearence.

BoxIndicator 

A rectangle around the text.

RoundBoxIndicator 

A rectangle with rounded corners around the text with the interior usually more transparent than the border.

StraightBoxIndicator 

A rectangle around the text with the interior usually more transparent than the border. It does not colour the top pixel of the line so that indicators on contiguous lines are visually distinct and disconnected.

FullBoxIndicator 

A rectangle around the text with the interior usually more transparent than the border. Unlike StraightBoxIndicator it covers the entire character area.

DashesIndicator 

A dashed underline.

DotsIndicator 

A dotted underline.

SquiggleLowIndicator 

A squiggly underline that requires 2 pixels of descender space and so will fit under smaller fonts.

DotBoxIndicator 

A dotted rectangle around the text with the interior usually more transparent than the border.

SquigglePixmapIndicator 

A version of SquiggleIndicator that uses a pixmap. This is quicker but may be of lower quality.

ThickCompositionIndicator 

A thick underline typically used for the target during Asian language input composition.

ThinCompositionIndicator 

A thin underline typically used for non-target ranges during Asian language input composition.

TextColorIndicator 

The color of the text is set to the color of the indicator's foreground.

TriangleIndicator 

A triangle below the start of the indicator range.

TriangleCharacterIndicator 

A triangle below the centre of the first character in the indicator range.

GradientIndicator 

A vertical gradient between the indicator's foreground colour at top to fully transparent at the bottom.

CentreGradientIndicator 

A vertical gradient with the indicator's foreground colour in the middle and fading to fully transparent at the top and bottom.

◆ anonymous enum

anonymous enum

This enum defines the different margin options.

Enumerator
MoNone 

Reset all margin options.

MoSublineSelect 

If this is set then only the first sub-line of a wrapped line will be selected when clicking on a margin.

◆ MarginType

This enum defines the different margin types.

Enumerator
SymbolMargin 

The margin contains symbols, including those used for folding.

SymbolMarginDefaultForegroundColor 

The margin contains symbols and uses the default foreground color as its background color.

SymbolMarginDefaultBackgroundColor 

The margin contains symbols and uses the default background color as its background color.

NumberMargin 

The margin contains line numbers.

TextMargin 

The margin contains styled text.

TextMarginRightJustified 

The margin contains right justified styled text.

SymbolMarginColor 

The margin contains symbols and uses the color set by setMarginBackgroundColor() as its background color.

◆ MarkerSymbol

This enum defines the different pre-defined marker symbols.

Enumerator
Circle 

A circle.

Rectangle 

A rectangle.

RightTriangle 

A triangle pointing to the right.

SmallRectangle 

A smaller rectangle.

RightArrow 

An arrow pointing to the right.

Invisible 

An invisible marker that allows code to track the movement of lines.

DownTriangle 

A triangle pointing down.

Minus 

A drawn minus sign.

Plus 

A drawn plus sign.

VerticalLine 

A vertical line drawn in the background colour.

BottomLeftCorner 

A bottom left corner drawn in the background colour.

LeftSideSplitter 

A vertical line with a centre right horizontal line drawn in the background colour.

BoxedPlus 

A drawn plus sign in a box.

BoxedPlusConnected 

A drawn plus sign in a connected box.

BoxedMinus 

A drawn minus sign in a box.

BoxedMinusConnected 

A drawn minus sign in a connected box.

RoundedBottomLeftCorner 

A rounded bottom left corner drawn in the background colour.

LeftSideRoundedSplitter 

A vertical line with a centre right curved line drawn in the background colour.

CircledPlus 

A drawn plus sign in a circle.

CircledPlusConnected 

A drawn plus sign in a connected box.

CircledMinus 

A drawn minus sign in a circle.

CircledMinusConnected 

A drawn minus sign in a connected circle.

Background 

No symbol is drawn but the line is drawn with the same background color as the marker's.

ThreeDots 

Three drawn dots.

ThreeRightArrows 

Three drawn arrows pointing right.

FullRectangle 

A full rectangle (ie. the margin background) using the marker's background color.

LeftRectangle 

A left rectangle (ie. the left part of the margin background) using the marker's background color.

Underline 

No symbol is drawn but the line is drawn underlined using the marker's background color.

Bookmark 

A bookmark.

◆ TabDrawMode

This enum defines how tab characters are drawn when whitespace is visible.

Enumerator
TabLongArrow 

An arrow stretching to the tab stop.

TabStrikeOut 

A horizontal line stretching to the tab stop.

◆ WhitespaceVisibility

This enum defines the different whitespace visibility modes. When whitespace is visible spaces are displayed as small centred dots and tabs are displayed as light arrows pointing to the right.

Enumerator
WsInvisible 

Whitespace is invisible.

WsVisible 

Whitespace is always visible.

WsVisibleAfterIndent 

Whitespace is visible after the whitespace used for indentation.

WsVisibleOnlyInIndent 

Whitespace used for indentation is visible.

◆ WrapMode

This enum defines the different line wrap modes.

Enumerator
WrapNone 

Lines are not wrapped.

WrapWord 

Lines are wrapped at word boundaries.

WrapCharacter 

Lines are wrapped at character boundaries.

WrapWhitespace 

Lines are wrapped at whitespace boundaries.

◆ WrapVisualFlag

This enum defines the different line wrap visual flags.

Enumerator
WrapFlagNone 

No wrap flag is displayed.

WrapFlagByText 

A wrap flag is displayed by the text.

WrapFlagByBorder 

A wrap flag is displayed by the border.

WrapFlagInMargin 

A wrap flag is displayed in the line number margin.

◆ WrapIndentMode

This enum defines the different line wrap indentation modes.

Enumerator
WrapIndentFixed 

Wrapped sub-lines are indented by the amount set by setWrapVisualFlags().

WrapIndentSame 

Wrapped sub-lines are indented by the same amount as the first sub-line.

WrapIndentIndented 

Wrapped sub-lines are indented by the same amount as the first sub-line plus one more level of indentation.

WrapIndentDeeplyIndented 

Wrapped sub-lines are indented by the same amount as the first sub-line plus two more level of indentation.

Member Function Documentation

◆ apiContext()

virtual QStringList QsciScintilla::apiContext ( int  pos,
int &  context_start,
int &  last_word_start 
)
virtual

Returns the API context, which is a list of words, before the position pos in the document. The context can be used by auto-completion and call tips to help to identify which API call the user is referring to. In the default implementation the current lexer determines what characters make up a word, and what characters determine the boundaries of words (ie. the start characters). If there is no current lexer then the context will consist of a single word. On return context_start will contain the position in the document of the start of the context and last_word_start will contain the position in the document of the start of the last word of the context.

◆ annotate() [1/2]

void QsciScintilla::annotate ( int  line,
const QString &  text,
int  style 
)

Annotate the line line with the text text using the style number style.

◆ annotate() [2/2]

void QsciScintilla::annotate ( int  line,
const QString &  text,
const QsciStyle style 
)

Annotate the line line with the text text using the style style.

◆ annotationDisplay()

AnnotationDisplay QsciScintilla::annotationDisplay ( ) const

Returns the display style for annotations.

See also
setAnnotationDisplay()

◆ clearAnnotations()

void QsciScintilla::clearAnnotations ( int  line = -1)

The annotations on line line are removed. If line is negative then all annotations are removed.

◆ autoCompletionCaseSensitivity()

bool QsciScintilla::autoCompletionCaseSensitivity ( ) const

Returns true if auto-completion lists are case sensitive.

See also
setAutoCompletionCaseSensitivity()

◆ autoCompletionFillupsEnabled()

bool QsciScintilla::autoCompletionFillupsEnabled ( ) const

Returns true if auto-completion fill-up characters are enabled.

See also
setAutoCompletionFillups(), setAutoCompletionFillupsEnabled()

◆ autoCompletionReplaceWord()

bool QsciScintilla::autoCompletionReplaceWord ( ) const

Returns true if the rest of the word to the right of the current cursor is removed when an item from an auto-completion list is selected.

See also
setAutoCompletionReplaceWord()

◆ autoCompletionShowSingle()

bool QsciScintilla::autoCompletionShowSingle ( ) const

Returns true if the only item in an auto-completion list with a single entry is automatically used and the list not displayed. Note that this is deprecated and autoCompletionUseSingle() should be used instead.

See also
setAutoCompletionShowSingle()

◆ autoCompletionSource()

AutoCompletionSource QsciScintilla::autoCompletionSource ( ) const
inline

Returns the current source for the auto-completion list when it is being displayed automatically as the user types.

See also
setAutoCompletionSource()

◆ autoCompletionThreshold()

int QsciScintilla::autoCompletionThreshold ( ) const
inline

Returns the current threshold for the automatic display of the auto-completion list as the user types.

See also
setAutoCompletionThreshold()

◆ autoCompletionUseSingle()

AutoCompletionUseSingle QsciScintilla::autoCompletionUseSingle ( ) const

Returns the current behavior when an auto-completion list contains a single entry.

See also
setAutoCompletionUseSingle()

◆ autoIndent()

bool QsciScintilla::autoIndent ( ) const
inline

Returns true if auto-indentation is enabled.

See also
setAutoIndent()

◆ backspaceUnindents()

bool QsciScintilla::backspaceUnindents ( ) const

Returns true if the backspace key unindents a line instead of deleting a character. The default is false.

See also
setBackspaceUnindents(), tabIndents(), setTabIndents()

◆ beginUndoAction()

void QsciScintilla::beginUndoAction ( )

Mark the beginning of a sequence of actions that can be undone by a single call to undo().

See also
endUndoAction(), undo()

◆ braceMatching()

BraceMatch QsciScintilla::braceMatching ( ) const
inline

Returns the brace matching mode.

See also
setBraceMatching()

◆ bytes()

QByteArray QsciScintilla::bytes ( int  start,
int  end 
) const

Returns the encoded text between positions start and end. This is typically used by QsciLexerCustom::styleText().

See also
text()

◆ callTipsPosition()

CallTipsPosition QsciScintilla::callTipsPosition ( ) const
inline

Returns the current call tip position.

See also
setCallTipsPosition()

◆ callTipsStyle()

CallTipsStyle QsciScintilla::callTipsStyle ( ) const
inline

Returns the current call tip style.

See also
setCallTipsStyle()

◆ callTipsVisible()

int QsciScintilla::callTipsVisible ( ) const
inline

Returns the maximum number of call tips that are displayed.

See also
setCallTipsVisible()

◆ cancelFind()

void QsciScintilla::cancelFind ( )

Cancel any previous call to findFirst(), findFirstInSelection() or findNext() so that replace() does nothing.

◆ caseSensitive()

bool QsciScintilla::caseSensitive ( ) const

Returns true if the current language lexer is case sensitive. If there is no current lexer then true is returned.

◆ clearFolds()

void QsciScintilla::clearFolds ( )

Clear all current folds, i.e. ensure that all lines are displayed unfolded.

See also
setFolding()

◆ clearIndicatorRange()

void QsciScintilla::clearIndicatorRange ( int  lineFrom,
int  indexFrom,
int  lineTo,
int  indexTo,
int  indicatorNumber 
)

Clears the range of text with indicator indicatorNumber starting at position indexFrom in line lineFrom and finishing at position indexTo in line lineTo.

See also
fillIndicatorRange()

◆ clearRegisteredImages()

void QsciScintilla::clearRegisteredImages ( )

Clear all registered images.

See also
registerImage()

◆ color()

QColor QsciScintilla::color ( ) const

Returns the widget's text (ie. foreground) colour.

See also
setColor()

◆ contractedFolds()

QList<int> QsciScintilla::contractedFolds ( ) const

Returns a list of the line numbers that have contracted folds. This is typically used to save the fold state of a document.

See also
setContractedFolds()

◆ convertEols()

void QsciScintilla::convertEols ( EolMode  mode)

All the lines of the text have their end-of-lines converted to mode mode.

See also
eolMode(), setEolMode()

◆ createStandardContextMenu()

QMenu* QsciScintilla::createStandardContextMenu ( )

Create the standard context menu which is shown when the user clicks with the right mouse button. It is called from contextMenuEvent(). The menu's ownership is transferred to the caller.

◆ document()

QsciDocument QsciScintilla::document ( ) const
inline

Returns the attached document.

See also
setDocument()

◆ endUndoAction()

void QsciScintilla::endUndoAction ( )

Mark the end of a sequence of actions that can be undone by a single call to undo().

See also
beginUndoAction(), undo()

◆ edgeColor()

QColor QsciScintilla::edgeColor ( ) const

Returns the color of the marker used to show that a line has exceeded the length set by setEdgeColumn().

See also
setEdgeColor(),
setEdgeColumn

◆ edgeColumn()

int QsciScintilla::edgeColumn ( ) const

Returns the number of the column after which lines are considered to be long.

See also
setEdgeColumn()

◆ edgeMode()

EdgeMode QsciScintilla::edgeMode ( ) const

Returns the edge mode which determines how long lines are marked.

See also
setEdgeMode()

◆ setFont()

void QsciScintilla::setFont ( const QFont &  f)

Set the default font. This has no effect if a language lexer has been set.

◆ eolMode()

EolMode QsciScintilla::eolMode ( ) const

Returns the end-of-line mode.

See also
setEolMode()

◆ eolVisibility()

bool QsciScintilla::eolVisibility ( ) const

Returns the visibility of end-of-lines.

See also
setEolVisibility()

◆ extraAscent()

int QsciScintilla::extraAscent ( ) const

Returns the extra space added to the height of a line above the baseline of the text.

See also
setExtraAscent(), extraDescent()

◆ extraDescent()

int QsciScintilla::extraDescent ( ) const

Returns the extra space added to the height of a line below the baseline of the text.

See also
setExtraDescent(), extraAscent()

◆ fillIndicatorRange()

void QsciScintilla::fillIndicatorRange ( int  lineFrom,
int  indexFrom,
int  lineTo,
int  indexTo,
int  indicatorNumber 
)

Fills the range of text with indicator indicatorNumber starting at position indexFrom in line lineFrom and finishing at position indexTo in line lineTo.

See also
clearIndicatorRange()

◆ findFirst()

virtual bool QsciScintilla::findFirst ( const QString &  expr,
bool  re,
bool  cs,
bool  wo,
bool  wrap,
bool  forward = true,
int  line = -1,
int  index = -1,
bool  show = true,
bool  posix = false,
bool  cxx11 = false 
)
virtual

Find the first occurrence of the string expr and return true if expr was found, otherwise returns false. If expr is found it becomes the current selection.

If re is true then expr is interpreted as a regular expression rather than a simple string.

If cs is true then the search is case sensitive.

If wo is true then the search looks for whole word matches only, otherwise it searches for any matching text.

If wrap is true then the search wraps around the end of the text.

If forward is true (the default) then the search is forward from the starting position to the end of the text, otherwise it is backwards to the beginning of the text.

If either line or index are negative (the default) then the search begins from the current cursor position. Otherwise the search begins at position index of line line.

If show is true (the default) then any text found is made visible (ie. it is unfolded).

If posix is true then a regular expression is treated in a more POSIX compatible manner by interpreting bare ( and ) as tagged sections rather than ( and ).

If cxx11 is true then a regular expression is treated as a Cxx11 regular expression.

See also
cancelFind(), findFirstInSelection(), findNext(), replace()

◆ findFirstInSelection()

virtual bool QsciScintilla::findFirstInSelection ( const QString &  expr,
bool  re,
bool  cs,
bool  wo,
bool  forward = true,
bool  show = true,
bool  posix = false,
bool  cxx11 = false 
)
virtual

Find the first occurrence of the string expr in the current selection and return true if expr was found, otherwise returns false. If expr is found it becomes the current selection. The original selection is restored when a subsequent call to findNext() returns false.

If re is true then expr is interpreted as a regular expression rather than a simple string.

If cs is true then the search is case sensitive.

If wo is true then the search looks for whole word matches only, otherwise it searches for any matching text.

If forward is true (the default) then the search is forward from the start to the end of the selection, otherwise it is backwards from the end to the start of the selection.

If show is true (the default) then any text found is made visible (ie. it is unfolded).

If posix is true then a regular expression is treated in a more POSIX compatible manner by interpreting bare ( and ) as tagged sections rather than ( and ).

If cxx11 is true then a regular expression is treated as a Cxx11 regular expression.

See also
cancelFind(), findFirst(), findNext(), replace()

◆ findNext()

virtual bool QsciScintilla::findNext ( )
virtual

Find the next occurence of the string found using findFirst() or findFirstInSelection().

See also
cancelFind(), findFirst(), findFirstInSelection(), replace()

◆ findMatchingBrace()

bool QsciScintilla::findMatchingBrace ( long &  brace,
long &  other,
BraceMatch  mode 
)

Find a brace and it's match. brace is updated with the position of the brace and will be -1 if there is none. is updated with the position of the matching brace and will be -1 if there is none. mode specifies how braces are matched. true is returned if the current position is inside a pair of braces.

◆ firstVisibleLine()

int QsciScintilla::firstVisibleLine ( ) const

Returns the number of the first visible line.

See also
setFirstVisibleLine()

◆ folding()

FoldStyle QsciScintilla::folding ( ) const
inline

Returns the current folding style.

See also
setFolding()

◆ getCursorPosition()

void QsciScintilla::getCursorPosition ( int *  line,
int *  index 
) const

Sets *line and *index to the line and index of the cursor.

See also
setCursorPosition()

◆ getSelection()

void QsciScintilla::getSelection ( int *  lineFrom,
int *  indexFrom,
int *  lineTo,
int *  indexTo 
) const

If there is a selection, *lineFrom is set to the line number in which the selection begins and *lineTo is set to the line number in which the selection ends. (They could be the same.) *indexFrom is set to the index at which the selection begins within *lineFrom, and *indexTo is set to the index at which the selection ends within *lineTo. If there is no selection, *lineFrom, *indexFrom, *lineTo and *indexTo are all set to -1.

See also
setSelection()

◆ hasSelectedText()

bool QsciScintilla::hasSelectedText ( ) const
inline

Returns true if some text is selected.

See also
selectedText()

◆ indentation()

int QsciScintilla::indentation ( int  line) const

Returns the number of characters that line line is indented by.

See also
setIndentation()

◆ indentationGuides()

bool QsciScintilla::indentationGuides ( ) const

Returns true if the display of indentation guides is enabled.

See also
setIndentationGuides()

◆ indentationsUseTabs()

bool QsciScintilla::indentationsUseTabs ( ) const

Returns true if indentations are created using tabs and spaces, rather than just spaces. The default is true.

See also
setIndentationsUseTabs()

◆ indentationWidth()

int QsciScintilla::indentationWidth ( ) const

Returns the indentation width in characters. The default is 0 which means that the value returned by tabWidth() is actually used.

See also
setIndentationWidth(), tabWidth()

◆ indicatorDefine()

int QsciScintilla::indicatorDefine ( IndicatorStyle  style,
int  indicatorNumber = -1 
)

Define a type of indicator using the style style with the indicator number indicatorNumber. If indicatorNumber is -1 then the indicator number is automatically allocated. The indicator number is returned or -1 if too many types of indicator have been defined.

Indicators are used to display additional information over the top of styling. They can be used to show, for example, syntax errors, deprecated names and bad indentation by drawing lines under text or boxes around text.

There may be up to 32 types of indicator defined at a time. The first 8 are normally used by lexers. By default indicator number 0 is a dark green SquiggleIndicator, 1 is a blue TTIndicator, and 2 is a red PlainIndicator.

◆ indicatorDrawUnder()

bool QsciScintilla::indicatorDrawUnder ( int  indicatorNumber) const

Returns true if the indicator indicatorNumber is drawn under the text (i.e. in the background). The default is false.

See also
setIndicatorDrawUnder()

◆ isListActive()

bool QsciScintilla::isListActive ( ) const

Returns true if an auto-completion or user defined list is currently active.

◆ isModified()

bool QsciScintilla::isModified ( ) const

Returns true if the text has been modified.

See also
setModified(), modificationChanged()

◆ isReadOnly()

bool QsciScintilla::isReadOnly ( ) const

Returns true if the text edit is read-only.

See also
setReadOnly()

◆ isRedoAvailable()

bool QsciScintilla::isRedoAvailable ( ) const

Returns true if there is something that can be redone.

See also
redo()

◆ isUndoAvailable()

bool QsciScintilla::isUndoAvailable ( ) const

Returns true if there is something that can be undone.

See also
undo()

◆ isUtf8()

bool QsciScintilla::isUtf8 ( ) const

Returns true if text is interpreted as being UTF8 encoded. The default is to interpret the text as Latin1 encoded.

See also
setUtf8()

◆ isWordCharacter()

bool QsciScintilla::isWordCharacter ( char  ch) const

Returns true if character ch is a valid word character.

See also
wordCharacters()

◆ lineAt()

int QsciScintilla::lineAt ( const QPoint &  point) const

Returns the line which is at point pixel coordinates or -1 if there is no line at that point.

◆ lineIndexFromPosition()

void QsciScintilla::lineIndexFromPosition ( int  position,
int *  line,
int *  index 
) const

QScintilla uses the combination of a line number and a character index from the start of that line to specify the position of a character within the text. The underlying Scintilla instead uses a byte index from the start of the text. This will convert the position byte index to the *line line number and *index character index.

See also
positionFromLineIndex()

◆ lineLength()

int QsciScintilla::lineLength ( int  line) const

Returns the length of line line int bytes or -1 if there is no such line. In order to get the length in characters use text(line).length().

◆ length()

int QsciScintilla::length ( ) const

Returns the length of the text edit's text in bytes. In order to get the length in characters use text().length().

◆ lexer()

QsciLexer* QsciScintilla::lexer ( ) const

Returns the current language lexer used to style text. If it is 0 then syntax styling is disabled.

See also
setLexer()

◆ marginBackgroundColor()

QColor QsciScintilla::marginBackgroundColor ( int  margin) const

Returns the background color of margin margin.

See also
setMarginBackgroundColor()

◆ marginLineNumbers()

bool QsciScintilla::marginLineNumbers ( int  margin) const

Returns true if line numbers are enabled for margin margin.

See also
setMarginLineNumbers(), marginType(), SCI_GETMARGINTYPEN

◆ marginMarkerMask()

int QsciScintilla::marginMarkerMask ( int  margin) const

Returns the marker mask of margin margin.

See also
setMarginMask(), QsciMarker, SCI_GETMARGINMASKN

◆ marginOptions()

int QsciScintilla::marginOptions ( ) const

Returns the margin options. The default is MoNone.

See also
setMarginOptions(), MoNone, MoSublineSelect.

◆ marginSensitivity()

bool QsciScintilla::marginSensitivity ( int  margin) const

Returns true if margin margin is sensitive to mouse clicks.

See also
setMarginSensitivity(), marginClicked(), SCI_GETMARGINTYPEN

◆ marginType()

MarginType QsciScintilla::marginType ( int  margin) const

Returns the type of margin margin.

See also
setMarginType(), SCI_GETMARGINTYPEN

◆ marginWidth()

int QsciScintilla::marginWidth ( int  margin) const

Returns the width in pixels of margin margin.

See also
setMarginWidth(), SCI_GETMARGINWIDTHN

◆ margins()

int QsciScintilla::margins ( ) const

Returns the number of margins.

See also
setMargins()

◆ markerDefine() [1/4]

int QsciScintilla::markerDefine ( MarkerSymbol  sym,
int  markerNumber = -1 
)

Define a type of marker using the symbol sym with the marker number markerNumber. If markerNumber is -1 then the marker number is automatically allocated. The marker number is returned or -1 if too many types of marker have been defined.

Markers are small geometric symbols and characters used, for example, to indicate the current line or, in debuggers, to indicate breakpoints. If a margin has a width of 0 then its markers are not drawn, but their background colours affect the background colour of the corresponding line of text.

There may be up to 32 types of marker defined at a time and each line of text has a set of marker instances associated with it. Markers are drawn according to their numerical identifier. Markers try to move with their text by tracking where the start of their line moves to. For example, when a line is deleted its markers are added to previous line's markers.

Each marker type is identified by a marker number. Each instance of a marker is identified by a marker handle.

◆ markerDefine() [2/4]

int QsciScintilla::markerDefine ( char  ch,
int  markerNumber = -1 
)

Define a marker using the character ch with the marker number markerNumber. If markerNumber is -1 then the marker number is automatically allocated. The marker number is returned or -1 if too many markers have been defined.

◆ markerDefine() [3/4]

int QsciScintilla::markerDefine ( const QPixmap &  pm,
int  markerNumber = -1 
)

Define a marker using a copy of the pixmap pm with the marker number markerNumber. If markerNumber is -1 then the marker number is automatically allocated. The marker number is returned or -1 if too many markers have been defined.

◆ markerDefine() [4/4]

int QsciScintilla::markerDefine ( const QImage &  im,
int  markerNumber = -1 
)

Define a marker using a copy of the image im with the marker number markerNumber. If markerNumber is -1 then the marker number is automatically allocated. The marker number is returned or -1 if too many markers have been defined.

◆ markerAdd()

int QsciScintilla::markerAdd ( int  linenr,
int  markerNumber 
)

Add an instance of marker number markerNumber to line number linenr. A handle for the marker is returned which can be used to track the marker's position, or -1 if the markerNumber was invalid.

See also
markerDelete(), markerDeleteAll(), markerDeleteHandle()

◆ markersAtLine()

unsigned QsciScintilla::markersAtLine ( int  linenr) const

Returns the 32 bit mask of marker numbers at line number linenr.

See also
markerAdd()

◆ markerDelete()

void QsciScintilla::markerDelete ( int  linenr,
int  markerNumber = -1 
)

Delete all markers with the marker number markerNumber in the line linenr. If markerNumber is -1 then delete all markers from line linenr.

See also
markerAdd(), markerDeleteAll(), markerDeleteHandle()

◆ markerDeleteAll()

void QsciScintilla::markerDeleteAll ( int  markerNumber = -1)

Delete the all markers with the marker number markerNumber. If markerNumber is -1 then delete all markers.

See also
markerAdd(), markerDelete(), markerDeleteHandle()

◆ markerDeleteHandle()

void QsciScintilla::markerDeleteHandle ( int  mhandle)

Delete the the marker instance with the marker handle mhandle.

See also
markerAdd(), markerDelete(), markerDeleteAll()

◆ markerLine()

int QsciScintilla::markerLine ( int  mhandle) const

Return the line number that contains the marker instance with the marker handle mhandle.

◆ markerFindNext()

int QsciScintilla::markerFindNext ( int  linenr,
unsigned  mask 
) const

Return the number of the next line to contain at least one marker from a 32 bit mask of markers. linenr is the line number to start the search from. mask is the mask of markers to search for.

See also
markerFindPrevious()

◆ markerFindPrevious()

int QsciScintilla::markerFindPrevious ( int  linenr,
unsigned  mask 
) const

Return the number of the previous line to contain at least one marker from a 32 bit mask of markers. linenr is the line number to start the search from. mask is the mask of markers to search for.

See also
markerFindNext()

◆ overwriteMode()

bool QsciScintilla::overwriteMode ( ) const

Returns true if text entered by the user will overwrite existing text.

See also
setOverwriteMode()

◆ paper()

QColor QsciScintilla::paper ( ) const

Returns the widget's paper (ie. background) colour.

See also
setPaper()

◆ positionFromLineIndex()

int QsciScintilla::positionFromLineIndex ( int  line,
int  index 
) const

QScintilla uses the combination of a line number and a character index from the start of that line to specify the position of a character within the text. The underlying Scintilla instead uses a byte index from the start of the text. This will return the byte index corresponding to the line line number and index character index.

See also
lineIndexFromPosition()

◆ read()

bool QsciScintilla::read ( QIODevice *  io)

Reads the current document from the io device and returns true if there was no error.

See also
write()

◆ recolor()

virtual void QsciScintilla::recolor ( int  start = 0,
int  end = -1 
)
virtual

Recolours the document between the start and end positions. start defaults to the start of the document and end defaults to the end of the document.

◆ registerImage() [1/2]

void QsciScintilla::registerImage ( int  id,
const QPixmap &  pm 
)

Register an image pm with ID id. Registered images can be displayed in auto-completion lists.

See also
clearRegisteredImages(), QsciLexer::apiLoad()

◆ registerImage() [2/2]

void QsciScintilla::registerImage ( int  id,
const QImage &  im 
)

Register an image im with ID id. Registered images can be displayed in auto-completion lists.

See also
clearRegisteredImages(), QsciLexer::apiLoad()

◆ replace()

virtual void QsciScintilla::replace ( const QString &  replaceStr)
virtual

Replace the current selection, set by a previous call to findFirst(), findFirstInSelection() or findNext(), with replaceStr.

See also
cancelFind(), findFirst(), findFirstInSelection(), findNext()

◆ resetFoldMarginColors()

void QsciScintilla::resetFoldMarginColors ( )

Reset the fold margin colours to their defaults.

See also
setFoldMarginColors()

◆ resetHotspotBackgroundColor()

void QsciScintilla::resetHotspotBackgroundColor ( )

Resets the background colour of an active hotspot area to the default.

See also
setHotspotBackgroundColor(), resetHotspotForegroundColor()

◆ resetHotspotForegroundColor()

void QsciScintilla::resetHotspotForegroundColor ( )

Resets the foreground colour of an active hotspot area to the default.

See also
setHotspotForegroundColor(), resetHotspotBackgroundColor()

◆ scrollWidth()

int QsciScintilla::scrollWidth ( ) const

Gets the assumed document width in pixels.

See also
setScrollWidth(), setScrollWidthTracking()

◆ scrollWidthTracking()

bool QsciScintilla::scrollWidthTracking ( ) const

Returns true if scroll width tracking is enabled.

See also
scrollWidth(), setScrollWidthTracking()

◆ setFoldMarginColors()

void QsciScintilla::setFoldMarginColors ( const QColor &  fore,
const QColor &  back 
)

The fold margin may be drawn as a one pixel sized checkerboard pattern of two colours, fore and back.

See also
resetFoldMarginColors()

◆ setAnnotationDisplay()

void QsciScintilla::setAnnotationDisplay ( AnnotationDisplay  display)

Set the display style for annotations. The default is AnnotationStandard.

See also
annotationDisplay()

◆ setAutoCompletionFillupsEnabled()

void QsciScintilla::setAutoCompletionFillupsEnabled ( bool  enabled)

Enable the use of fill-up characters, either those explicitly set or those set by a lexer. By default, fill-up characters are disabled.

See also
autoCompletionFillupsEnabled(), setAutoCompletionFillups()

◆ setAutoCompletionFillups()

void QsciScintilla::setAutoCompletionFillups ( const char *  fillups)

A fill-up character is one that, when entered while an auto-completion list is being displayed, causes the currently selected item from the list to be added to the text followed by the fill-up character. fillups is the set of fill-up characters. If a language lexer has been set then this is ignored and the lexer defines the fill-up characters. The default is that no fill-up characters are set.

See also
autoCompletionFillupsEnabled(), setAutoCompletionFillupsEnabled()

◆ setAutoCompletionWordSeparators()

void QsciScintilla::setAutoCompletionWordSeparators ( const QStringList &  separators)

A word separator is a sequence of characters that, when entered, causes the auto-completion list to be displayed. If a language lexer has been set then this is ignored and the lexer defines the word separators. The default is that no word separators are set.

See also
setAutoCompletionThreshold()

◆ setCallTipsBackgroundColor()

void QsciScintilla::setCallTipsBackgroundColor ( const QColor &  col)

Set the background colour of call tips to col. The default is white.

◆ setCallTipsForegroundColor()

void QsciScintilla::setCallTipsForegroundColor ( const QColor &  col)

Set the foreground colour of call tips to col. The default is mid-gray.

◆ setCallTipsHighlightColor()

void QsciScintilla::setCallTipsHighlightColor ( const QColor &  col)

Set the highlighted colour of call tip text to col. The default is dark blue.

◆ setCallTipsPosition()

void QsciScintilla::setCallTipsPosition ( CallTipsPosition  position)

Set the current call tip position. The default is CallTipsBelowText.

See also
callTipsPosition()

◆ setCallTipsStyle()

void QsciScintilla::setCallTipsStyle ( CallTipsStyle  style)

Set the current call tip style. The default is CallTipsNoContext.

See also
callTipsStyle()

◆ setCallTipsVisible()

void QsciScintilla::setCallTipsVisible ( int  nr)

Set the maximum number of call tips that are displayed to nr. If the maximum number is 0 then all applicable call tips are displayed. If the maximum number is -1 then one call tip will be displayed with up and down arrows that allow the use to scroll through the full list. The default is -1.

See also
callTipsVisible()

◆ setContractedFolds()

void QsciScintilla::setContractedFolds ( const QList< int > &  folds)

Sets each line in the folds list of line numbers to be a contracted fold. This is typically used to restore the fold state of a document.

See also
contractedFolds()

◆ setDocument()

void QsciScintilla::setDocument ( const QsciDocument document)

Attach the document document, replacing the currently attached document.

See also
document()

◆ addEdgeColumn()

void QsciScintilla::addEdgeColumn ( int  colnr,
const QColor &  col 
)

Add colnr to the columns which are displayed with a vertical line. The edge mode must be set to EdgeMultipleLines.

See also
clearEdgeColumns()

◆ clearEdgeColumns()

void QsciScintilla::clearEdgeColumns ( )

Remove any columns added by previous calls to addEdgeColumn().

See also
addEdgeColumn()

◆ setEdgeColor()

void QsciScintilla::setEdgeColor ( const QColor &  col)

Set the color of the marker used to show that a line has exceeded the length set by setEdgeColumn().

See also
edgeColor(),
setEdgeColumn

◆ setEdgeColumn()

void QsciScintilla::setEdgeColumn ( int  colnr)

Set the number of the column after which lines are considered to be long.

See also
edgeColumn()

◆ setEdgeMode()

void QsciScintilla::setEdgeMode ( EdgeMode  mode)

Set the edge mode which determines how long lines are marked.

See also
edgeMode()

◆ setFirstVisibleLine()

void QsciScintilla::setFirstVisibleLine ( int  linenr)

Set the number of the first visible line to linenr.

See also
firstVisibleLine()

◆ setIndicatorDrawUnder()

void QsciScintilla::setIndicatorDrawUnder ( bool  under,
int  indicatorNumber = -1 
)

Enables or disables, according to under, if the indicator indicatorNumber is drawn under or over the text (i.e. in the background or foreground). If indicatorNumber is -1 then the state of all indicators is set.

See also
indicatorDrawUnder()

◆ setIndicatorForegroundColor()

void QsciScintilla::setIndicatorForegroundColor ( const QColor &  col,
int  indicatorNumber = -1 
)

Set the foreground colour of indicator indicatorNumber to col. If indicatorNumber is -1 then the colour of all indicators is set.

◆ setIndicatorHoverForegroundColor()

void QsciScintilla::setIndicatorHoverForegroundColor ( const QColor &  col,
int  indicatorNumber = -1 
)

Set the foreground colour of indicator indicatorNumber to col when the mouse is over it or the caret moved into it. If indicatorNumber is -1 then the colour of all indicators is set.

◆ setIndicatorHoverStyle()

void QsciScintilla::setIndicatorHoverStyle ( IndicatorStyle  style,
int  indicatorNumber = -1 
)

Set the style of indicator indicatorNumber to style when the mouse is over it or the caret moved into it. If indicatorNumber is -1 then the style of all indicators is set.

◆ setIndicatorOutlineColor()

void QsciScintilla::setIndicatorOutlineColor ( const QColor &  col,
int  indicatorNumber = -1 
)

Set the outline colour of indicator indicatorNumber to col. If indicatorNumber is -1 then the colour of all indicators is set. At the moment only the alpha value of the colour has any affect.

◆ setMarginBackgroundColor()

void QsciScintilla::setMarginBackgroundColor ( int  margin,
const QColor &  col 
)

Sets the background color of margin margin to col.

See also
marginBackgroundColor()

◆ setMarginOptions()

void QsciScintilla::setMarginOptions ( int  options)

Set the margin options to options.

See also
marginOptions(), MoNone, MoSublineSelect.

◆ setMarginText() [1/3]

void QsciScintilla::setMarginText ( int  line,
const QString &  text,
int  style 
)

Set the margin text of line line with the text text using the style number style.

◆ setMarginText() [2/3]

void QsciScintilla::setMarginText ( int  line,
const QString &  text,
const QsciStyle style 
)

Set the margin text of line line with the text text using the style style.

◆ setMarginText() [3/3]

void QsciScintilla::setMarginText ( int  line,
const QList< QsciStyledText > &  text 
)

Set the margin text of line line with the list of styled text text.

◆ setMarginType()

void QsciScintilla::setMarginType ( int  margin,
MarginType  type 
)

Set the type of margin margin to type type.

See also
marginType(), SCI_SETMARGINTYPEN

◆ clearMarginText()

void QsciScintilla::clearMarginText ( int  line = -1)

The margin text on line line is removed. If line is negative then all margin text is removed.

◆ setMargins()

void QsciScintilla::setMargins ( int  margins)

Set the number of margins to margins.

See also
margins()

◆ setMarkerBackgroundColor()

void QsciScintilla::setMarkerBackgroundColor ( const QColor &  col,
int  markerNumber = -1 
)

Set the background colour, including the alpha component, of marker markerNumber to col. If markerNumber is -1 then the colour of all markers is set. The default is white.

See also
setMarkerForegroundColor()

◆ setMarkerForegroundColor()

void QsciScintilla::setMarkerForegroundColor ( const QColor &  col,
int  markerNumber = -1 
)

Set the foreground colour of marker markerNumber to col. If markerNumber is -1 then the colour of all markers is set. The default is black.

See also
setMarkerBackgroundColor()

◆ setMatchedBraceBackgroundColor()

void QsciScintilla::setMatchedBraceBackgroundColor ( const QColor &  col)

Set the background colour used to display matched braces to col. It is ignored if an indicator is being used. The default is white.

See also
setMatchedBraceForegroundColor(), setMatchedBraceIndicator()

◆ setMatchedBraceForegroundColor()

void QsciScintilla::setMatchedBraceForegroundColor ( const QColor &  col)

Set the foreground colour used to display matched braces to col. It is ignored if an indicator is being used. The default is red.

See also
setMatchedBraceBackgroundColor(), setMatchedBraceIndicator()

◆ setMatchedBraceIndicator()

void QsciScintilla::setMatchedBraceIndicator ( int  indicatorNumber)

Set the indicator used to display matched braces to indicatorNumber. The default is not to use an indicator.

See also
resetMatchedBraceIndicator(), setMatchedBraceBackgroundColor()

◆ resetMatchedBraceIndicator()

void QsciScintilla::resetMatchedBraceIndicator ( )

Stop using an indicator to display matched braces.

See also
setMatchedBraceIndicator()

◆ setScrollWidth()

void QsciScintilla::setScrollWidth ( int  pixelWidth)

For performance, QScintilla does not measure the display width of the document to determine the properties of the horizontal scroll bar. Instead, an assumed width is used. This sets the document width in pixels assumed by QScintilla to pixelWidth. The default value is 2000.

See also
scrollWidth(), setScrollWidthTracking()

◆ setScrollWidthTracking()

void QsciScintilla::setScrollWidthTracking ( bool  enabled)

If scroll width tracking is enabled then the scroll width is adjusted to ensure that all of the lines currently displayed can be completely scrolled. This mode never adjusts the scroll width to be narrower. This sets the scroll width tracking to enabled.

See also
setScrollWidth(), scrollWidthTracking()

◆ setTabDrawMode()

void QsciScintilla::setTabDrawMode ( TabDrawMode  mode)

Sets the mode used to draw tab characters when whitespace is visible to mode. The default is to use an arrow.

See also
tabDrawMode()

◆ setUnmatchedBraceBackgroundColor()

void QsciScintilla::setUnmatchedBraceBackgroundColor ( const QColor &  col)

Set the background colour used to display unmatched braces to col. It is ignored if an indicator is being used. The default is white.

See also
setUnmatchedBraceForegroundColor(), setUnmatchedBraceIndicator()

◆ setUnmatchedBraceForegroundColor()

void QsciScintilla::setUnmatchedBraceForegroundColor ( const QColor &  col)

Set the foreground colour used to display unmatched braces to col. It is ignored if an indicator is being used. The default is blue.

See also
setUnmatchedBraceBackgroundColor(), setUnmatchedBraceIndicator()

◆ setUnmatchedBraceIndicator()

void QsciScintilla::setUnmatchedBraceIndicator ( int  indicatorNumber)

Set the indicator used to display unmatched braces to indicatorNumber. The default is not to use an indicator.

See also
resetUnmatchedBraceIndicator(), setUnmatchedBraceBackgroundColor()

◆ resetUnmatchedBraceIndicator()

void QsciScintilla::resetUnmatchedBraceIndicator ( )

Stop using an indicator to display unmatched braces.

See also
setUnmatchedBraceIndicator()

◆ setWrapVisualFlags()

void QsciScintilla::setWrapVisualFlags ( WrapVisualFlag  endFlag,
WrapVisualFlag  startFlag = WrapFlagNone,
int  indent = 0 
)

Set the visual flags displayed when a line is wrapped. endFlag determines if and where the flag at the end of a line is displayed. startFlag determines if and where the flag at the start of a line is displayed. indent is the number of characters a wrapped line is indented by. By default no visual flags are displayed.

◆ selectedText()

QString QsciScintilla::selectedText ( ) const

Returns the selected text or an empty string if there is no currently selected text.

See also
hasSelectedText()

◆ selectionToEol()

bool QsciScintilla::selectionToEol ( ) const

Returns whether or not the selection is drawn up to the right hand border.

See also
setSelectionToEol()

◆ setHotspotBackgroundColor()

void QsciScintilla::setHotspotBackgroundColor ( const QColor &  col)

Sets the background colour of an active hotspot area to col.

See also
resetHotspotBackgroundColor(), setHotspotForegroundColor()

◆ setHotspotForegroundColor()

void QsciScintilla::setHotspotForegroundColor ( const QColor &  col)

Sets the foreground colour of an active hotspot area to col.

See also
resetHotspotForegroundColor(), setHotspotBackgroundColor()

◆ setHotspotUnderline()

void QsciScintilla::setHotspotUnderline ( bool  enable)

Enables or disables, according to enable, the underlining of an active hotspot area. The default is false.

◆ setHotspotWrap()

void QsciScintilla::setHotspotWrap ( bool  enable)

Enables or disables, according to enable, the wrapping of a hotspot area to following lines. The default is true.

◆ setSelectionToEol()

void QsciScintilla::setSelectionToEol ( bool  filled)

Sets whether or not the selection is drawn up to the right hand border. filled is set if the selection is drawn to the border.

See also
selectionToEol()

◆ setExtraAscent()

void QsciScintilla::setExtraAscent ( int  extra)

Sets the extra space added to the height of a line above the baseline of the text to extra.

See also
extraAscent(), setExtraDescent()

◆ setExtraDescent()

void QsciScintilla::setExtraDescent ( int  extra)

Sets the extra space added to the height of a line below the baseline of the text to extra.

See also
extraDescent(), setExtraAscent()

◆ setOverwriteMode()

void QsciScintilla::setOverwriteMode ( bool  overwrite)

Text entered by the user will overwrite existing text if overwrite is true.

See also
overwriteMode()

◆ setWhitespaceBackgroundColor()

void QsciScintilla::setWhitespaceBackgroundColor ( const QColor &  col)

Sets the background colour of visible whitespace to col. If col is an invalid color (the default) then the color specified by the current lexer is used.

◆ setWhitespaceForegroundColor()

void QsciScintilla::setWhitespaceForegroundColor ( const QColor &  col)

Sets the foreground colour of visible whitespace to col. If col is an invalid color (the default) then the color specified by the current lexer is used.

◆ setWhitespaceSize()

void QsciScintilla::setWhitespaceSize ( int  size)

Sets the size of the dots used to represent visible whitespace.

See also
whitespaceSize()

◆ setWrapIndentMode()

void QsciScintilla::setWrapIndentMode ( WrapIndentMode  mode)

Sets the line wrap indentation mode to mode. The default is WrapIndentFixed.

See also
wrapIndentMode()

◆ showUserList()

void QsciScintilla::showUserList ( int  id,
const QStringList &  list 
)

Displays a user defined list which can be interacted with like an auto-completion list. id is an identifier for the list which is passed as an argument to the userListActivated() signal and must be at least 1. list is the text with which the list is populated.

See also
cancelList(), isListActive(), userListActivated()

◆ tabDrawMode()

TabDrawMode QsciScintilla::tabDrawMode ( ) const

Returns the mode used to draw tab characters when whitespace is visible.

See also
setTabDrawMode()

◆ tabIndents()

bool QsciScintilla::tabIndents ( ) const

Returns true if the tab key indents a line instead of inserting a tab character. The default is true.

See also
setTabIndents(), backspaceUnindents(), setBackspaceUnindents()

◆ tabWidth()

int QsciScintilla::tabWidth ( ) const

Returns the tab width in characters. The default is 8.

See also
setTabWidth()

◆ text() [1/3]

QString QsciScintilla::text ( ) const

Returns the text of the current document.

See also
setText()

◆ text() [2/3]

QString QsciScintilla::text ( int  line) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns the text of line line.

See also
setText()

◆ text() [3/3]

QString QsciScintilla::text ( int  start,
int  end 
) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns the text between positions start and end. This is typically used by QsciLexerCustom::styleText().

See also
bytes(), setText()

◆ whitespaceSize()

int QsciScintilla::whitespaceSize ( ) const

Returns the size of the dots used to represent visible whitespace.

See also
setWhitespaceSize()

◆ whitespaceVisibility()

WhitespaceVisibility QsciScintilla::whitespaceVisibility ( ) const

Returns the visibility of whitespace.

See also
setWhitespaceVisibility()

◆ wordAtLineIndex()

QString QsciScintilla::wordAtLineIndex ( int  line,
int  index 
) const

Returns the word at the line line number and index character index.

◆ wordCharacters()

const char* QsciScintilla::wordCharacters ( ) const

Returns the set of valid word character as defined by the current language lexer. If there is no current lexer then the set contains an an underscore, numbers and all upper and lower case alphabetic characters.

See also
isWordCharacter()

◆ wrapMode()

WrapMode QsciScintilla::wrapMode ( ) const

Returns the line wrap mode.

See also
setWrapMode()

◆ wrapIndentMode()

WrapIndentMode QsciScintilla::wrapIndentMode ( ) const

Returns the line wrap indentation mode.

See also
setWrapIndentMode()

◆ write()

bool QsciScintilla::write ( QIODevice *  io) const

Writes the current document to the io device and returns true if there was no error.

See also
read()

◆ append

virtual void QsciScintilla::append ( const QString &  text)
virtualslot

Appends the text text to the end of the text edit. Note that the undo/redo history is cleared by this function.

◆ autoCompleteFromAll

virtual void QsciScintilla::autoCompleteFromAll ( )
virtualslot

Display an auto-completion list based on any installed APIs, the current contents of the document and the characters immediately to the left of the cursor.

See also
autoCompleteFromAPIs(), autoCompleteFromDocument()

◆ autoCompleteFromAPIs

virtual void QsciScintilla::autoCompleteFromAPIs ( )
virtualslot

Display an auto-completion list based on any installed APIs and the characters immediately to the left of the cursor.

See also
autoCompleteFromAll(), autoCompleteFromDocument(), setAutoCompletionAPIs()

◆ autoCompleteFromDocument

virtual void QsciScintilla::autoCompleteFromDocument ( )
virtualslot

Display an auto-completion list based on the current contents of the document and the characters immediately to the left of the cursor.

See also
autoCompleteFromAll(), autoCompleteFromAPIs()

◆ callTip

virtual void QsciScintilla::callTip ( )
virtualslot

Display a call tip based on the the characters immediately to the left of the cursor.

◆ copy

virtual void QsciScintilla::copy ( )
virtualslot

Copies any selected text to the clipboard.

See also
copyAvailable(), cut(), paste()

◆ cut

virtual void QsciScintilla::cut ( )
virtualslot

Copies any selected text to the clipboard and then deletes the text.

See also
copy(), paste()

◆ foldAll

virtual void QsciScintilla::foldAll ( bool  children = false)
virtualslot

If any lines are currently folded then they are all unfolded. Otherwise all lines are folded. This has the same effect as clicking in the fold margin with the shift and control keys pressed. If children is not set (the default) then only the top level fold points are affected, otherwise the state of all fold points are changed.

◆ foldLine

virtual void QsciScintilla::foldLine ( int  line)
virtualslot

If the line line is folded then it is unfolded. Otherwise it is folded. This has the same effect as clicking in the fold margin.

◆ indent

virtual void QsciScintilla::indent ( int  line)
virtualslot

Increases the indentation of line line by an indentation width.

See also
unindent()

◆ insertAt

virtual void QsciScintilla::insertAt ( const QString &  text,
int  line,
int  index 
)
virtualslot

Insert the text text in the line line at the position index.

◆ moveToMatchingBrace

virtual void QsciScintilla::moveToMatchingBrace ( )
virtualslot

If the cursor is either side of a brace character then move it to the position of the corresponding brace.

◆ paste

virtual void QsciScintilla::paste ( )
virtualslot

Pastes any text from the clipboard into the text edit at the current cursor position.

See also
copy(), cut()

◆ redo

virtual void QsciScintilla::redo ( )
virtualslot

Redo the last change or sequence of changes.

See also
isRedoAvailable()

◆ removeSelectedText

virtual void QsciScintilla::removeSelectedText ( )
virtualslot

Removes any selected text.

See also
replaceSelectedText()

◆ replaceSelectedText

virtual void QsciScintilla::replaceSelectedText ( const QString &  text)
virtualslot

Replaces any selected text with text.

See also
removeSelectedText()

◆ resetSelectionBackgroundColor

virtual void QsciScintilla::resetSelectionBackgroundColor ( )
virtualslot

Resets the background colour of selected text to the default.

See also
setSelectionBackgroundColor(), resetSelectionForegroundColor()

◆ resetSelectionForegroundColor

virtual void QsciScintilla::resetSelectionForegroundColor ( )
virtualslot

Resets the foreground colour of selected text to the default.

See also
setSelectionForegroundColor(), resetSelectionBackgroundColor()

◆ selectAll

virtual void QsciScintilla::selectAll ( bool  select = true)
virtualslot

If select is true (the default) then all the text is selected. If select is false then any currently selected text is deselected.

◆ selectToMatchingBrace

virtual void QsciScintilla::selectToMatchingBrace ( )
virtualslot

If the cursor is either side of a brace character then move it to the position of the corresponding brace and select the text between the braces.

◆ setAutoCompletionCaseSensitivity

virtual void QsciScintilla::setAutoCompletionCaseSensitivity ( bool  cs)
virtualslot

If cs is true then auto-completion lists are case sensitive. The default is true. Note that setting a lexer may change the case sensitivity.

See also
autoCompletionCaseSensitivity()

◆ setAutoCompletionReplaceWord

virtual void QsciScintilla::setAutoCompletionReplaceWord ( bool  replace)
virtualslot

If replace is true then when an item from an auto-completion list is selected, the rest of the word to the right of the current cursor is removed. The default is false.

See also
autoCompletionReplaceWord()

◆ setAutoCompletionShowSingle

virtual void QsciScintilla::setAutoCompletionShowSingle ( bool  single)
virtualslot

If single is true then when there is only a single entry in an auto-completion list it is automatically used and the list is not displayed. This only has an effect when auto-completion is explicitly requested (using autoCompleteFromAPIs() and autoCompleteFromDocument()) and has no effect when auto-completion is triggered as the user types. The default is false. Note that this is deprecated and setAutoCompletionUseSingle() should be used instead.

See also
autoCompletionShowSingle()

◆ setAutoCompletionSource

virtual void QsciScintilla::setAutoCompletionSource ( AutoCompletionSource  source)
virtualslot

Sets the source for the auto-completion list when it is being displayed automatically as the user types to source. The default is AcsNone, ie. it is disabled.

See also
autoCompletionSource()

◆ setAutoCompletionThreshold

virtual void QsciScintilla::setAutoCompletionThreshold ( int  thresh)
virtualslot

Sets the threshold for the automatic display of the auto-completion list as the user types to thresh. The threshold is the number of characters that the user must type before the list is displayed. If the threshold is less than or equal to 0 then the list is disabled. The default is -1.

See also
autoCompletionThreshold(), setAutoCompletionWordSeparators()

◆ setAutoCompletionUseSingle

virtual void QsciScintilla::setAutoCompletionUseSingle ( AutoCompletionUseSingle  single)
virtualslot

Sets the behavior of the auto-completion list when it has a single entry. The default is AcusNever.

See also
autoCompletionUseSingle()

◆ setAutoIndent

virtual void QsciScintilla::setAutoIndent ( bool  autoindent)
virtualslot

If autoindent is true then auto-indentation is enabled. The default is false.

See also
autoIndent()

◆ setBraceMatching

virtual void QsciScintilla::setBraceMatching ( BraceMatch  bm)
virtualslot

Sets the brace matching mode to bm. The default is NoBraceMatching.

See also
braceMatching()

◆ setBackspaceUnindents

virtual void QsciScintilla::setBackspaceUnindents ( bool  unindent)
virtualslot

If deindent is true then the backspace key will unindent a line rather then delete a character.

See also
backspaceUnindents(), tabIndents(), setTabIndents()

◆ setCaretLineBackgroundColor

virtual void QsciScintilla::setCaretLineBackgroundColor ( const QColor &  col)
virtualslot

Sets the background colour, including the alpha component, of the line containing the caret to col.

See also
setCaretLineVisible()

◆ setCaretLineFrameWidth

virtual void QsciScintilla::setCaretLineFrameWidth ( int  width)
virtualslot

Sets the width of the frame of the line containing the caret to width.

◆ setCaretLineVisible

virtual void QsciScintilla::setCaretLineVisible ( bool  enable)
virtualslot

Enables or disables, according to enable, the background color of the line containing the caret.

See also
setCaretLineBackgroundColor()

◆ setCaretWidth

virtual void QsciScintilla::setCaretWidth ( int  width)
virtualslot

Sets the width of the caret to width pixels. A width of 0 makes the caret invisible.

◆ setColor

virtual void QsciScintilla::setColor ( const QColor &  c)
virtualslot

The widget's text (ie. foreground) colour is set to c. This has no effect if a language lexer has been set.

See also
color()

◆ setCursorPosition

virtual void QsciScintilla::setCursorPosition ( int  line,
int  index 
)
virtualslot

Sets the cursor to the line line at the position index.

See also
getCursorPosition()

◆ setEolMode

virtual void QsciScintilla::setEolMode ( EolMode  mode)
virtualslot

Sets the end-of-line mode to mode. The default is the platform's natural mode.

See also
eolMode()

◆ setEolVisibility

virtual void QsciScintilla::setEolVisibility ( bool  visible)
virtualslot

If visible is true then end-of-lines are made visible. The default is that they are invisible.

See also
eolVisibility()

◆ setFolding

virtual void QsciScintilla::setFolding ( FoldStyle  fold,
int  margin = 2 
)
virtualslot

Sets the folding style for margin margin to fold. The default style is NoFoldStyle (ie. folding is disabled) and the default margin is 2.

See also
folding()

◆ setIndentation

virtual void QsciScintilla::setIndentation ( int  line,
int  indentation 
)
virtualslot

Sets the indentation of line line to indentation characters.

See also
indentation()

◆ setIndentationGuides

virtual void QsciScintilla::setIndentationGuides ( bool  enable)
virtualslot

Enables or disables, according to enable, this display of indentation guides.

See also
indentationGuides()

◆ setIndentationGuidesBackgroundColor

virtual void QsciScintilla::setIndentationGuidesBackgroundColor ( const QColor &  col)
virtualslot

Set the background colour of indentation guides to col.

See also
setIndentationGuidesForegroundColor()

◆ setIndentationGuidesForegroundColor

virtual void QsciScintilla::setIndentationGuidesForegroundColor ( const QColor &  col)
virtualslot

Set the foreground colour of indentation guides to col.

See also
setIndentationGuidesBackgroundColor()

◆ setIndentationsUseTabs

virtual void QsciScintilla::setIndentationsUseTabs ( bool  tabs)
virtualslot

If tabs is true then indentations are created using tabs and spaces, rather than just spaces.

See also
indentationsUseTabs()

◆ setIndentationWidth

virtual void QsciScintilla::setIndentationWidth ( int  width)
virtualslot

Sets the indentation width to width characters. If width is 0 then the value returned by tabWidth() is used.

See also
indentationWidth(), tabWidth()

◆ setLexer

virtual void QsciScintilla::setLexer ( QsciLexer lexer = 0)
virtualslot

Sets the specific language lexer used to style text to lex. If lex is 0 then syntax styling is disabled.

See also
lexer()

◆ setMarginsBackgroundColor

virtual void QsciScintilla::setMarginsBackgroundColor ( const QColor &  col)
virtualslot

Set the background colour of all margins to col. The default is a gray.

See also
setMarginsForegroundColor()

◆ setMarginsForegroundColor

virtual void QsciScintilla::setMarginsForegroundColor ( const QColor &  col)
virtualslot

Set the foreground colour of all margins to col. The default is black.

See also
setMarginsBackgroundColor()

◆ setMarginLineNumbers

virtual void QsciScintilla::setMarginLineNumbers ( int  margin,
bool  lnrs 
)
virtualslot

Enables or disables, according to lnrs, the display of line numbers in margin margin.

See also
marginLineNumbers(), setMarginType(), SCI_SETMARGINTYPEN

◆ setMarginMarkerMask

virtual void QsciScintilla::setMarginMarkerMask ( int  margin,
int  mask 
)
virtualslot

Sets the marker mask of margin margin to mask. Only those markers whose bit is set in the mask are displayed in the margin.

See also
marginMarkerMask(), QsciMarker, SCI_SETMARGINMASKN

◆ setMarginSensitivity

virtual void QsciScintilla::setMarginSensitivity ( int  margin,
bool  sens 
)
virtualslot

Enables or disables, according to sens, the sensitivity of margin margin to mouse clicks. If the user clicks in a sensitive margin the marginClicked() signal is emitted.

See also
marginSensitivity(), marginClicked(), SCI_SETMARGINSENSITIVEN

◆ setMarginWidth [1/2]

virtual void QsciScintilla::setMarginWidth ( int  margin,
int  width 
)
virtualslot

Sets the width of margin margin to width pixels. If the width of a margin is 0 then it is not displayed.

See also
marginWidth(), SCI_SETMARGINWIDTHN

◆ setMarginWidth [2/2]

virtual void QsciScintilla::setMarginWidth ( int  margin,
const QString &  s 
)
virtualslot

Sets the width of margin margin so that it is wide enough to display s in the current margin font.

See also
marginWidth(), SCI_SETMARGINWIDTHN

◆ setModified

virtual void QsciScintilla::setModified ( bool  m)
virtualslot

Sets the modified state of the text edit to m. Note that it is only possible to clear the modified state (where m is false). Attempts to set the modified state (where m is true) are ignored.

See also
isModified(), modificationChanged()

◆ setPaper

virtual void QsciScintilla::setPaper ( const QColor &  c)
virtualslot

The widget's paper (ie. background) colour is set to c. This has no effect if a language lexer has been set.

See also
paper()

◆ setReadOnly

virtual void QsciScintilla::setReadOnly ( bool  ro)
virtualslot

Sets the read-only state of the text edit to ro.

See also
isReadOnly()

◆ setSelection

virtual void QsciScintilla::setSelection ( int  lineFrom,
int  indexFrom,
int  lineTo,
int  indexTo 
)
virtualslot

Sets the selection which starts at position indexFrom in line lineFrom and ends at position indexTo in line lineTo. The cursor is moved to position indexTo in lineTo.

See also
getSelection()

◆ setSelectionBackgroundColor

virtual void QsciScintilla::setSelectionBackgroundColor ( const QColor &  col)
virtualslot

Sets the background colour, including the alpha component, of selected text to col.

See also
resetSelectionBackgroundColor(), setSelectionForegroundColor()

◆ setSelectionForegroundColor

virtual void QsciScintilla::setSelectionForegroundColor ( const QColor &  col)
virtualslot

Sets the foreground colour of selected text to col.

See also
resetSelectionForegroundColor(), setSelectionBackgroundColor()

◆ setTabIndents

virtual void QsciScintilla::setTabIndents ( bool  indent)
virtualslot

If indent is true then the tab key will indent a line rather than insert a tab character.

See also
tabIndents(), backspaceUnindents(), setBackspaceUnindents()

◆ setTabWidth

virtual void QsciScintilla::setTabWidth ( int  width)
virtualslot

Sets the tab width to width characters.

See also
tabWidth()

◆ setText

virtual void QsciScintilla::setText ( const QString &  text)
virtualslot

Replaces all of the current text with text. Note that the undo/redo history is cleared by this function.

See also
text()

◆ setUtf8

virtual void QsciScintilla::setUtf8 ( bool  cp)
virtualslot

Sets the current text encoding. If cp is true then UTF8 is used, otherwise Latin1 is used.

See also
isUtf8()

◆ setWhitespaceVisibility

virtual void QsciScintilla::setWhitespaceVisibility ( WhitespaceVisibility  mode)
virtualslot

Sets the visibility of whitespace to mode mode. The default is that whitespace is invisible.

See also
whitespaceVisibility()

◆ setWrapMode

virtual void QsciScintilla::setWrapMode ( WrapMode  mode)
virtualslot

Sets the line wrap mode to mode. The default is that lines are not wrapped.

See also
wrapMode()

◆ undo

virtual void QsciScintilla::undo ( )
virtualslot

Undo the last change or sequence of changes.

Scintilla has multiple level undo and redo. It will continue to record undoable actions until memory runs out. Sequences of typing or deleting are compressed into single actions to make it easier to undo and redo at a sensible level of detail. Sequences of actions can be combined into actions that are undone as a unit. These sequences occur between calls to beginUndoAction() and endUndoAction(). These sequences can be nested and only the top level sequences are undone as units.

See also
beginUndoAction(), endUndoAction(), isUndoAvailable()

◆ unindent

virtual void QsciScintilla::unindent ( int  line)
virtualslot

Decreases the indentation of line line by an indentation width.

See also
indent()

◆ zoomIn [1/2]

virtual void QsciScintilla::zoomIn ( int  range)
virtualslot

Zooms in on the text by by making the base font size range points larger and recalculating all font sizes.

See also
zoomOut(), zoomTo()

◆ zoomIn [2/2]

virtual void QsciScintilla::zoomIn ( )
virtualslot

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Zooms in on the text by by making the base font size one point larger and recalculating all font sizes.

◆ zoomOut [1/2]

virtual void QsciScintilla::zoomOut ( int  range)
virtualslot

Zooms out on the text by by making the base font size range points smaller and recalculating all font sizes.

See also
zoomIn(), zoomTo()

◆ zoomOut [2/2]

virtual void QsciScintilla::zoomOut ( )
virtualslot

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Zooms out on the text by by making the base font size one point larger and recalculating all font sizes.

◆ zoomTo

virtual void QsciScintilla::zoomTo ( int  size)
virtualslot

Zooms the text by making the base font size size points and recalculating all font sizes.

See also
zoomIn(), zoomOut()

◆ cursorPositionChanged

void QsciScintilla::cursorPositionChanged ( int  line,
int  index 
)
signal

This signal is emitted whenever the cursor position changes. line contains the line number and index contains the character index within the line.

◆ copyAvailable

void QsciScintilla::copyAvailable ( bool  yes)
signal

This signal is emitted whenever text is selected or de-selected. yes is true if text has been selected and false if text has been deselected. If yes is true then copy() can be used to copy the selection to the clipboard. If yes is false then copy() does nothing.

See also
copy(), selectionChanged()

◆ indicatorClicked

void QsciScintilla::indicatorClicked ( int  line,
int  index,
Qt::KeyboardModifiers  state 
)
signal

This signal is emitted whenever the user clicks on an indicator. line is the number of the line where the user clicked. index is the character index within the line. state is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user clicked.

See also
indicatorReleased()

◆ indicatorReleased

void QsciScintilla::indicatorReleased ( int  line,
int  index,
Qt::KeyboardModifiers  state 
)
signal

This signal is emitted whenever the user releases the mouse on an indicator. line is the number of the line where the user clicked. index is the character index within the line. state is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user released the mouse.

See also
indicatorClicked()

◆ marginClicked

void QsciScintilla::marginClicked ( int  margin,
int  line,
Qt::KeyboardModifiers  state 
)
signal

This signal is emitted whenever the user clicks on a sensitive margin. margin is the margin. line is the number of the line where the user clicked. state is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user clicked.

See also
marginSensitivity(), setMarginSensitivity()

◆ marginRightClicked

void QsciScintilla::marginRightClicked ( int  margin,
int  line,
Qt::KeyboardModifiers  state 
)
signal

This signal is emitted whenever the user right-clicks on a sensitive margin. margin is the margin. line is the number of the line where the user clicked. state is the state of the modifier keys (Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifer and Qt::MetaModifier) when the user clicked.

See also
marginSensitivity(), setMarginSensitivity()

◆ modificationAttempted

void QsciScintilla::modificationAttempted ( )
signal

This signal is emitted whenever the user attempts to modify read-only text.

See also
isReadOnly(), setReadOnly()

◆ modificationChanged

void QsciScintilla::modificationChanged ( bool  m)
signal

This signal is emitted whenever the modification state of the text changes. m is true if the text has been modified.

See also
isModified(), setModified()

◆ selectionChanged

void QsciScintilla::selectionChanged ( )
signal

This signal is emitted whenever the selection changes.

See also
copyAvailable()

◆ userListActivated

void QsciScintilla::userListActivated ( int  id,
const QString &  string 
)
signal

This signal is emitted when an item in a user defined list is activated (selected). id is the list identifier. string is the text of the item.

See also
showUserList()
================================================ FILE: src/qscint/doc/html/classQsciScintillaBase-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciScintillaBase Member List

This is the complete list of members for QsciScintillaBase, including all inherited members.

ANNOTATION_BOXED enum value (defined in QsciScintillaBase)QsciScintillaBase
ANNOTATION_HIDDEN enum value (defined in QsciScintillaBase)QsciScintillaBase
ANNOTATION_INDENTED enum value (defined in QsciScintillaBase)QsciScintillaBase
ANNOTATION_STANDARD enum value (defined in QsciScintillaBase)QsciScintillaBase
bytesAsText(const char *bytes) const (defined in QsciScintillaBase)QsciScintillaBaseprotected
canInsertFromMimeData(const QMimeData *source) constQsciScintillaBaseprotectedvirtual
CARET_EVEN enum value (defined in QsciScintillaBase)QsciScintillaBase
CARET_JUMPS enum value (defined in QsciScintillaBase)QsciScintillaBase
CARET_SLOP enum value (defined in QsciScintillaBase)QsciScintillaBase
CARET_STRICT enum value (defined in QsciScintillaBase)QsciScintillaBase
CARETSTYLE_BLOCK enum value (defined in QsciScintillaBase)QsciScintillaBase
CARETSTYLE_INVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
CARETSTYLE_LINE enum value (defined in QsciScintillaBase)QsciScintillaBase
changeEvent(QEvent *e)QsciScintillaBaseprotectedvirtual
commandKey(int qt_key, int &modifiers) (defined in QsciScintillaBase)QsciScintillaBasestatic
contextMenuEvent(QContextMenuEvent *e)QsciScintillaBaseprotectedvirtual
contextMenuNeeded(int x, int y) const (defined in QsciScintillaBase)QsciScintillaBaseprotected
dragEnterEvent(QDragEnterEvent *e)QsciScintillaBaseprotectedvirtual
dragLeaveEvent(QDragLeaveEvent *e)QsciScintillaBaseprotectedvirtual
dragMoveEvent(QDragMoveEvent *e)QsciScintillaBaseprotectedvirtual
dropEvent(QDropEvent *e)QsciScintillaBaseprotectedvirtual
EDGE_BACKGROUND enum value (defined in QsciScintillaBase)QsciScintillaBase
EDGE_LINE enum value (defined in QsciScintillaBase)QsciScintillaBase
EDGE_MULTILINE enum value (defined in QsciScintillaBase)QsciScintillaBase
EDGE_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
focusInEvent(QFocusEvent *e)QsciScintillaBaseprotectedvirtual
focusNextPrevChild(bool next)QsciScintillaBaseprotectedvirtual
focusOutEvent(QFocusEvent *e)QsciScintillaBaseprotectedvirtual
fromMimeData(const QMimeData *source, bool &rectangular) constQsciScintillaBaseprotectedvirtual
INDIC0_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC1_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC2_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_BOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_COMPOSITIONTHICK enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_COMPOSITIONTHIN enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_CONTAINER enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DASH enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DIAGONAL enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DOTBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_DOTS enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_FULLBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_GRADIENT enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_GRADIENTCENTRE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_HIDDEN enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_IME enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_IME_MAX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_MAX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_PLAIN enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_POINT enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_POINTCHARACTER enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_ROUNDBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_SQUIGGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_SQUIGGLELOW enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_SQUIGGLEPIXMAP enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_STRAIGHTBOX enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_STRIKE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_TEXTFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
INDIC_TT enum value (defined in QsciScintillaBase)QsciScintillaBase
INDICS_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
inputMethodEvent(QInputMethodEvent *event)QsciScintillaBaseprotectedvirtual
inputMethodQuery(Qt::InputMethodQuery query) const (defined in QsciScintillaBase)QsciScintillaBaseprotectedvirtual
keyPressEvent(QKeyEvent *e)QsciScintillaBaseprotectedvirtual
mouseDoubleClickEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
mouseMoveEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
mousePressEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
mouseReleaseEvent(QMouseEvent *e)QsciScintillaBaseprotectedvirtual
paintEvent(QPaintEvent *e)QsciScintillaBaseprotectedvirtual
pool()QsciScintillaBasestatic
QsciScintillaBase(QWidget *parent=0)QsciScintillaBaseexplicit
QSCN_SELCHANGED(bool yes)QsciScintillaBasesignal
replaceHorizontalScrollBar(QScrollBar *scrollBar)QsciScintillaBase
replaceVerticalScrollBar(QScrollBar *scrollBar)QsciScintillaBase
resizeEvent(QResizeEvent *e)QsciScintillaBaseprotectedvirtual
SC_AC_COMMAND enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_DOUBLECLICK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_FILLUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_NEWLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AC_TAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ALPHA_NOALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ALPHA_OPAQUE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ALPHA_TRANSPARENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AUTOMATICFOLD_CHANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AUTOMATICFOLD_CLICK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_AUTOMATICFOLD_SHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_CARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_DOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CACHE_PAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CARETSTICKY_OFF enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CARETSTICKY_ON enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CARETSTICKY_WHITESPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_CAMEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_LOWER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_MIXED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASE_UPPER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_8859_15 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_ANSI enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_ARABIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_BALTIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_CHINESEBIG5 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_CYRILLIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_EASTEUROPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_GB2312 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_GREEK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_HANGUL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_HEBREW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_JOHAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_MAC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_OEM enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_OEM866 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_RUSSIAN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_SHIFTJIS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_SYMBOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_THAI enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_TURKISH enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CHARSET_VIETNAMESE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CP_DBCS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CP_UTF8 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORARROW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORNORMAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORREVERSEARROW enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_CURSORWAIT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_DOCUMENTOPTION_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_DOCUMENTOPTION_STYLES_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_DOCUMENTOPTION_TEXT_LARGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_ANTIALIASED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_LCD_OPTIMIZED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_MASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EFF_QUALITY_NON_ANTIALIASED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EOL_CR enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EOL_CRLF enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_EOL_LF enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDACTION_CONTRACT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDACTION_EXPAND enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDACTION_TOGGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDDISPLAYTEXT_BOXED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDDISPLAYTEXT_HIDDEN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDDISPLAYTEXT_STANDARD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LEVELNUMBERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEAFTER_CONTRACTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEAFTER_EXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEBEFORE_CONTRACTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINEBEFORE_EXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDFLAG_LINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELBASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELHEADERFLAG enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELNUMBERMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FOLDLEVELWHITEFLAG enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_FONT_SIZE_MULTIPLIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_AFTERVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_ALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IDLESTYLING_TOVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IME_INLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IME_WINDOWED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_INDICFLAG_VALUEBEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_INDICVALUEBIT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_INDICVALUEMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_IV_LOOKBOTH enum valueQsciScintillaBase
SC_IV_LOOKFORWARD enum valueQsciScintillaBase
SC_IV_NONE enum valueQsciScintillaBase
SC_IV_REAL enum valueQsciScintillaBase
SC_LASTSTEPINUNDOREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINE_END_TYPE_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINE_END_TYPE_UNICODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINECHARACTERINDEX_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINECHARACTERINDEX_UTF16 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_LINECHARACTERINDEX_UTF32 enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARGIN_BACK enum valueQsciScintillaBase
SC_MARGIN_COLOUR enum valueQsciScintillaBase
SC_MARGIN_FORE enum valueQsciScintillaBase
SC_MARGIN_NUMBER enum valueQsciScintillaBase
SC_MARGIN_RTEXT enum valueQsciScintillaBase
SC_MARGIN_SYMBOL enum valueQsciScintillaBase
SC_MARGIN_TEXT enum valueQsciScintillaBase
SC_MARGINOPTION_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARGINOPTION_SUBLINESELECT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARK_ARROW enum valueQsciScintillaBase
SC_MARK_ARROWDOWN enum valueQsciScintillaBase
SC_MARK_ARROWS enum valueQsciScintillaBase
SC_MARK_AVAILABLE enum valueQsciScintillaBase
SC_MARK_BACKGROUND enum valueQsciScintillaBase
SC_MARK_BOOKMARK enum valueQsciScintillaBase
SC_MARK_BOXMINUS enum valueQsciScintillaBase
SC_MARK_BOXMINUSCONNECTED enum valueQsciScintillaBase
SC_MARK_BOXPLUS enum valueQsciScintillaBase
SC_MARK_BOXPLUSCONNECTED enum valueQsciScintillaBase
SC_MARK_CHARACTER enum valueQsciScintillaBase
SC_MARK_CIRCLE enum valueQsciScintillaBase
SC_MARK_CIRCLEMINUS enum valueQsciScintillaBase
SC_MARK_CIRCLEMINUSCONNECTED enum valueQsciScintillaBase
SC_MARK_CIRCLEPLUS enum valueQsciScintillaBase
SC_MARK_CIRCLEPLUSCONNECTED enum valueQsciScintillaBase
SC_MARK_DOTDOTDOT enum valueQsciScintillaBase
SC_MARK_EMPTY enum valueQsciScintillaBase
SC_MARK_FULLRECT enum valueQsciScintillaBase
SC_MARK_LCORNER enum valueQsciScintillaBase
SC_MARK_LCORNERCURVE enum valueQsciScintillaBase
SC_MARK_LEFTRECT enum valueQsciScintillaBase
SC_MARK_MINUS enum valueQsciScintillaBase
SC_MARK_PIXMAP enum valueQsciScintillaBase
SC_MARK_PLUS enum valueQsciScintillaBase
SC_MARK_RGBAIMAGE enum valueQsciScintillaBase
SC_MARK_ROUNDRECT enum valueQsciScintillaBase
SC_MARK_SHORTARROW enum valueQsciScintillaBase
SC_MARK_SMALLRECT enum valueQsciScintillaBase
SC_MARK_TCORNER enum valueQsciScintillaBase
SC_MARK_TCORNERCURVE enum valueQsciScintillaBase
SC_MARK_UNDERLINE enum valueQsciScintillaBase
SC_MARK_VLINE enum valueQsciScintillaBase
SC_MARKNUM_FOLDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDEREND enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDERMIDTAIL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDEROPEN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDEROPENMID enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDERSUB enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MARKNUM_FOLDERTAIL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MASK_FOLDERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_BEFOREDELETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_BEFOREINSERT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEANNOTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEINDICATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGELINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEMARGIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGEMARKER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGESTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CHANGETABSTOPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_CONTAINER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_DELETETEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_INSERTCHECK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_INSERTTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MOD_LEXERSTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MODEVENTMASKALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIAUTOC_EACH enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIAUTOC_ONCE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTILINEUNDOREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIPASTE_EACH enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTIPASTE_ONCE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_MULTISTEPUNDOREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ORDER_CUSTOM enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ORDER_PERFORMSORT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_ORDER_PRESORTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PERFORMED_REDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PERFORMED_UNDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PERFORMED_USER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PHASES_MULTIPLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PHASES_ONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PHASES_TWO enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_POPUP_ALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_POPUP_NEVER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_POPUP_TEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_BLACKONWHITE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_COLOURONWHITE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_COLOURONWHITEDEFAULTBG enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_INVERTLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_NORMAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_PRINT_SCREENCOLOURS enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_LINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_RECTANGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_STREAM enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_SEL_THIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STARTACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_BADALLOC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_FAILURE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_OK enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_WARN_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_STATUS_WARNREGEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DIRECTWRITE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DIRECTWRITEDC enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TECHNOLOGY_DIRECTWRITERETAIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TIME_FOREVER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TYPE_BOOLEAN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TYPE_INTEGER enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_TYPE_STRING enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_CONTENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_H_SCROLL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_SELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_UPDATE_V_SCROLL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WEIGHT_BOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WEIGHT_NORMAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WEIGHT_SEMIBOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_CHAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_WHITESPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAP_WORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_DEEPINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_FIXED enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_INDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPINDENT_SAME enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_END enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_MARGIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAG_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAGLOC_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAGLOC_END_BY_TEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SC_WRAPVISUALFLAGLOC_START_BY_TEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCEN_CHANGE()QsciScintillaBasesignal
SCFIND_CXX11REGEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_MATCHCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_POSIX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_REGEXP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_WHOLEWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCFIND_WORDSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDREFDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDSTYLEDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDTABSTOP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ADDTEXT enum valueQsciScintillaBase
SCI_ADDUNDOACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATEEXTENDEDSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATELINECHARACTERINDEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ALLOCATESUBSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONCLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETLINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONGETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ANNOTATIONSETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_APPENDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ASSIGNCMDKEY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCACTIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCCANCEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCCOMPLETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETAUTOHIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCANCELATSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCHOOSESINGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCURRENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETCURRENTTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETDROPRESTOFWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETIGNORECASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETMAXHEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETMAXWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETMULTI enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETORDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETSEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCGETTYPESEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCPOSSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSELECT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETAUTOHIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETCANCELATSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETCHOOSESINGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETDROPRESTOFWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETFILLUPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETIGNORECASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETMAXHEIGHT enum valueQsciScintillaBase
SCI_AUTOCSETMAXWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETMULTI enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETORDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETSEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSETTYPESEPARATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_AUTOCSTOPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BACKTAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BEGINUNDOACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEBADLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEBADLIGHTINDICATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEHIGHLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEHIGHLIGHTINDICATOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_BRACEMATCH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPACTIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPCANCEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPPOSSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETFOREHLT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETHLT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSETPOSSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CALLTIPUSESTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANCEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANPASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANREDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CANUNDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHANGEINSERTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHANGELEXERSTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARLEFTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARLEFTRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARPOSITIONFROMPOINT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARPOSITIONFROMPOINTCLOSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARRIGHTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHARRIGHTRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CHOOSECARETX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARALLCMDKEYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARCMDKEY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARDOCUMENTSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARREGISTEREDIMAGES enum valueQsciScintillaBase
SCI_CLEARREPRESENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARSELECTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CLEARTABSTOPS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COLOURISE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CONTRACTEDFOLDNEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CONVERTEOLS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COPY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COPYALLOWLINE enum valueQsciScintillaBase
SCI_COPYRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COPYTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COUNTCHARACTERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_COUNTCODEUNITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CREATEDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CREATELOADER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_CUT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELETEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELETEBACKNOTLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELETERANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELLINELEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELLINERIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELWORDLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELWORDRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DELWORDRIGHTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DESCRIBEKEYWORDSETS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DESCRIBEPROPERTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DESCRIPTIONOFSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DISTANCETOSECONDARYSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCLINEFROMVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DOCUMENTSTARTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_DROPSELECTIONN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_EDITTOGGLEOVERTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_EMPTYUNDOBUFFER enum valueQsciScintillaBase
SCI_ENDUNDOACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ENSUREVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ENSUREVISIBLEENFORCEPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_EXPANDCHILDREN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDCOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDINDICATORFLASH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDINDICATORHIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDINDICATORSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FINDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDCHILDREN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDDISPLAYTEXTSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FOLDLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FORMATRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FORMFEED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_FREESUBSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETACCESSIBILITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALCARETSBLINK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALCARETSVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETADDITIONALSELECTIONTYPING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETALLLINESVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETANCHOR enum valueQsciScintillaBase
SCI_GETAUTOMATICFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETBACKSPACEUNINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETBUFFEREDDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEBACKALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEFRAME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETLINEVISIBLEALWAYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETPERIOD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETSTICKY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCARETWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCHARACTERPOINTER enum valueQsciScintillaBase
SCI_GETCHARAT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCODEPAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCOMMANDEVENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCONTROLCHARSYMBOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCURLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETCURRENTPOS enum valueQsciScintillaBase
SCI_GETCURSOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDIRECTFUNCTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDIRECTPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDOCPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETDOCUMENTOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEDGECOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEDGECOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEDGEMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETENDATLASTLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETENDSTYLED enum valueQsciScintillaBase
SCI_GETEOLMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEXTRAASCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETEXTRADESCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFIRSTVISIBLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOCUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOLDEXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOLDLEVEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFOLDPARENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETFONTQUALITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETGAPPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHIGHLIGHTGUIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTACTIVEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTACTIVEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTACTIVEUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHOTSPOTSINGLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETHSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETIDENTIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETIDLESTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETIMEINTERACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDENTATIONGUIDES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDICATORCURRENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETINDICATORVALUE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLASTCHILD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLAYOUTCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLENGTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLEXER enum valueQsciScintillaBase
SCI_GETLEXERLANGUAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINECHARACTERINDEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINECOUNT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDTYPESACTIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDTYPESALLOWED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEENDTYPESSUPPORTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEINDENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEINDENTPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINESELENDPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINESELSTARTPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETLINEVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMAINSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINBACKN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINCURSORN enum valueQsciScintillaBase
SCI_GETMARGINLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINMASKN enum valueQsciScintillaBase
SCI_GETMARGINOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMARGINSENSITIVEN enum valueQsciScintillaBase
SCI_GETMARGINTYPEN enum valueQsciScintillaBase
SCI_GETMARGINWIDTHN enum valueQsciScintillaBase
SCI_GETMAXLINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMODEVENTMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMODIFY enum valueQsciScintillaBase
SCI_GETMOUSEDOWNCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOUSEDWELLTIME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOUSESELECTIONRECTANGULARSWITCH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOUSEWHEELCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMOVEEXTENDSSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMULTIPASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETMULTIPLESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETNAMEDSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETNEXTTABSTOP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETOVERTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPASTECONVERTENDINGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPHASESDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPOSITIONCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRIMARYSTYLEFROMSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRINTCOLOURMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRINTMAGNIFICATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPRINTWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPROPERTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPROPERTYEXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPROPERTYINT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETPUNCTUATIONCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRANGEPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETREADONLY enum valueQsciScintillaBase
SCI_GETRECTANGULARSELECTIONANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETRECTANGULARSELECTIONMODIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETREPRESENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSCROLLWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSCROLLWIDTHTRACKING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSEARCHFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONEMPTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONNSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELECTIONSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSELTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTATUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEAT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEBITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEBITSNEEDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEDTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSTYLEFROMSUBSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSUBSTYLEBASES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSUBSTYLESLENGTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETSUBSTYLESSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTABDRAWMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTABINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTABWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTAG enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTARGETEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTARGETSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTARGETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTECHNOLOGY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTEXT enum valueQsciScintillaBase
SCI_GETTEXTLENGTH enum valueQsciScintillaBase
SCI_GETTEXTRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETTWOPHASEDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETUNDOCOLLECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETUSETABS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVIEWEOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVIEWWS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVIRTUALSPACEOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETVSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWHITESPACECHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWHITESPACESIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWORDCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPINDENTMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPSTARTINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPVISUALFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETWRAPVISUALFLAGSLOCATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETXOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GETZOOM enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GOTOLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_GOTOPOS enum valueQsciScintillaBase
SCI_GRABFOCUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HIDELINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HIDESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEDISPLAY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEDISPLAYEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMERECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEWRAP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_HOMEWRAPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDEXPOSITIONFROMLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORALLONFOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORCLEARRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATOREND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORFILLRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICATORVALUEAT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETHOVERFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETHOVERSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETOUTLINEALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICGETUNDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETHOVERFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETHOVERSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETOUTLINEALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INDICSETUNDER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_INSERTTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ISRANGEWORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LEXER_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINECOPY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINECUT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDELETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDOWNRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEDUPLICATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDDISPLAY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDDISPLAYEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDWRAP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEENDWRAPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEFROMINDEXPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEFROMPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINELENGTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEREVERSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESCROLL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESCROLLDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESCROLLUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESJOIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESONSCREEN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINESSPLIT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINETRANSPOSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LINEUPRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LOADLEXERLIBRARY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_LOWERCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINGETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETSTYLEOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINSETTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARGINTEXTCLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERADD enum valueQsciScintillaBase
SCI_MARKERADDSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERDEFINE enum valueQsciScintillaBase
SCI_MARKERDEFINEPIXMAP enum valueQsciScintillaBase
SCI_MARKERDEFINERGBAIMAGE enum valueQsciScintillaBase
SCI_MARKERDELETE enum valueQsciScintillaBase
SCI_MARKERDELETEALL enum valueQsciScintillaBase
SCI_MARKERDELETEHANDLE enum valueQsciScintillaBase
SCI_MARKERENABLEHIGHLIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERGET enum valueQsciScintillaBase
SCI_MARKERLINEFROMHANDLE enum valueQsciScintillaBase
SCI_MARKERNEXT enum valueQsciScintillaBase
SCI_MARKERPREVIOUS enum valueQsciScintillaBase
SCI_MARKERSETALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERSETBACK enum valueQsciScintillaBase
SCI_MARKERSETBACKSELECTED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MARKERSETFORE enum valueQsciScintillaBase
SCI_MARKERSYMBOLDEFINED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MOVECARETINSIDEVIEW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MOVESELECTEDLINESDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MOVESELECTEDLINESUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIEDGEADDLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIEDGECLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIPLESELECTADDEACH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_MULTIPLESELECTADDNEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_NAMEOFSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_NEWLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_NULL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_OPTIONAL_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEDOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEDOWNRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PAGEUPRECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARADOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARADOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARAUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PARAUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POINTXFROMPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POINTYFROMPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONAFTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONBEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONFROMLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONFROMPOINT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONFROMPOINTCLOSE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONRELATIVE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_POSITIONRELATIVECODEUNITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PRIVATELEXERCALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PROPERTYNAMES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_PROPERTYTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REGISTERIMAGE enum valueQsciScintillaBase
SCI_REGISTERRGBAIMAGE enum valueQsciScintillaBase
SCI_RELEASEALLEXTENDEDSTYLES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RELEASEDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RELEASELINECHARACTERINDEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REPLACESEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REPLACETARGET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_REPLACETARGETRE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RGBAIMAGESETHEIGHT enum valueQsciScintillaBase
SCI_RGBAIMAGESETSCALE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_RGBAIMAGESETWIDTH enum valueQsciScintillaBase
SCI_ROTATESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLTOEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SCROLLTOSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHINTARGET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHNEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SEARCHPREV enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SELECTALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SELECTIONDUPLICATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SELECTIONISRECTANGLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETACCESSIBILITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALCARETSBLINK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALCARETSVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELECTIONTYPING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETADDITIONALSELFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETANCHOR enum valueQsciScintillaBase
SCI_SETAUTOMATICFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETBACKSPACEUNINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETBUFFEREDDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEBACKALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEFRAME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETLINEVISIBLEALWAYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETPERIOD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETSTICKY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCARETWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCHARSDEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCODEPAGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCOMMANDEVENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCONTROLCHARSYMBOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETCURRENTPOS enum valueQsciScintillaBase
SCI_SETCURSOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETDOCPOINTER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEDGECOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEDGECOLUMN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEDGEMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEMPTYSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETENDATLASTLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEOLMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEXTRAASCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETEXTRADESCENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFIRSTVISIBLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOCUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDEXPANDED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDLEVEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDMARGINCOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFOLDMARGINHICOLOUR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETFONTQUALITY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHIGHLIGHTGUIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTACTIVEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTACTIVEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTACTIVEUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHOTSPOTSINGLELINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETHSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIDENTIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIDENTIFIERS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIDLESTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETIMEINTERACTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDENTATIONGUIDES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDICATORCURRENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETINDICATORVALUE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETKEYWORDS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLAYOUTCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLEXER enum valueQsciScintillaBase
SCI_SETLEXERLANGUAGE enum valueQsciScintillaBase
SCI_SETLINEENDTYPESALLOWED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLINEINDENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETLINESTATE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMAINSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINBACKN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINCURSORN enum valueQsciScintillaBase
SCI_SETMARGINLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINMASKN enum valueQsciScintillaBase
SCI_SETMARGINOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMARGINSENSITIVEN enum valueQsciScintillaBase
SCI_SETMARGINTYPEN enum valueQsciScintillaBase
SCI_SETMARGINWIDTHN enum valueQsciScintillaBase
SCI_SETMODEVENTMASK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSEDOWNCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSEDWELLTIME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSESELECTIONRECTANGULARSWITCH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMOUSEWHEELCAPTURES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMULTIPASTE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETMULTIPLESELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETOVERTYPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPASTECONVERTENDINGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPHASESDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPOSITIONCACHE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPRINTCOLOURMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPRINTMAGNIFICATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPRINTWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPROPERTY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETPUNCTUATIONCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETREADONLY enum valueQsciScintillaBase
SCI_SETRECTANGULARSELECTIONANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETRECTANGULARSELECTIONMODIFIER enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETREPRESENTATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSAVEPOINT enum valueQsciScintillaBase
SCI_SETSCROLLWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSCROLLWIDTHTRACKING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSEARCHFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSEL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELALPHA enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNANCHOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNANCHORVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNCARETVIRTUALSPACE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONNSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELECTIONSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSELFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTATUS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTYLEBITS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETSTYLINGEX enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTABDRAWMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTABINDENTS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTABWIDTH enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTARGETEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTARGETRANGE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTARGETSTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTECHNOLOGY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETTEXT enum valueQsciScintillaBase
SCI_SETTWOPHASEDRAW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETUNDOCOLLECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETUSETABS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVIEWEOL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVIEWWS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVIRTUALSPACEOPTIONS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVISIBLEPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETVSCROLLBAR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACEBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACECHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACEFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWHITESPACESIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWORDCHARS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPINDENTMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPMODE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPSTARTINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPVISUALFLAGS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETWRAPVISUALFLAGSLOCATION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETXCARETPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETXOFFSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETYCARETPOLICY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SETZOOM enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SHOWLINES enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_START enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STARTRECORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STARTSTYLING enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STOPRECORD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEDOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEDOWNEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STUTTEREDPAGEUPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLECLEARALL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETBOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETCHANGEABLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETCHARACTERSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETFONT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETHOTSPOT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETITALIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETSIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETSIZEFRACTIONAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLEGETWEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLERESETDEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETBACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETBOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETCHANGEABLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETCHARACTERSET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETEOLFILLED enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETFONT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETFORE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETHOTSPOT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETITALIC enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETSIZE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETSIZEFRACTIONAL enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETUNDERLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_STYLESETWEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_SWAPMAINANCHORCARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TAGSOFSTYLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TARGETFROMSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TARGETWHOLEDOCUMENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TEXTHEIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TEXTWIDTH enum valueQsciScintillaBase
SCI_TOGGLECARETSTICKY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TOGGLEFOLD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_TOGGLEFOLDSHOWTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_UNDO enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_UPPERCASE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_USEPOPUP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_USERLISTSHOW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEDISPLAY enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEDISPLAYEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMERECTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEWRAP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VCHOMEWRAPEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VERTICALCENTRECARET enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_VISIBLEFROMDOCLINE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDENDPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFTENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDLEFTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTLEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTLEFTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDPARTRIGHTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHTENDEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDRIGHTEXTEND enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WORDSTARTPOSITION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_WRAPCOUNT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ZOOMIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCI_ZOOMOUT enum value (defined in QsciScintillaBase)QsciScintillaBase
ScintillaBytes typedef (defined in QsciScintillaBase)QsciScintillaBaseprotected
SCK_ADD enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_BACK enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_DELETE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_DIVIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_DOWN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_END enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_ESCAPE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_HOME enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_INSERT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_LEFT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_MENU enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_NEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_PRIOR enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_RETURN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_RIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_RWIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_SUBTRACT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_TAB enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_UP enum value (defined in QsciScintillaBase)QsciScintillaBase
SCK_WIN enum value (defined in QsciScintillaBase)QsciScintillaBase
SCLEX_A68K enum valueQsciScintillaBase
SCLEX_ABAQUS enum valueQsciScintillaBase
SCLEX_ADA enum valueQsciScintillaBase
SCLEX_APDL enum valueQsciScintillaBase
SCLEX_AS enum valueQsciScintillaBase
SCLEX_ASM enum valueQsciScintillaBase
SCLEX_ASN1 enum valueQsciScintillaBase
SCLEX_ASP enum valueQsciScintillaBase
SCLEX_ASYMPTOTE enum valueQsciScintillaBase
SCLEX_AU3 enum valueQsciScintillaBase
SCLEX_AVE enum valueQsciScintillaBase
SCLEX_AVS enum valueQsciScintillaBase
SCLEX_BAAN enum valueQsciScintillaBase
SCLEX_BASH enum valueQsciScintillaBase
SCLEX_BATCH enum valueQsciScintillaBase
SCLEX_BIBTEX enum valueQsciScintillaBase
SCLEX_BLITZBASIC enum valueQsciScintillaBase
SCLEX_BULLANT enum valueQsciScintillaBase
SCLEX_CAML enum valueQsciScintillaBase
SCLEX_CLW enum valueQsciScintillaBase
SCLEX_CLWNOCASE enum valueQsciScintillaBase
SCLEX_CMAKE enum valueQsciScintillaBase
SCLEX_COBOL enum valueQsciScintillaBase
SCLEX_COFFEESCRIPT enum valueQsciScintillaBase
SCLEX_CONF enum valueQsciScintillaBase
SCLEX_CONTAINER enum valueQsciScintillaBase
SCLEX_CPP enum valueQsciScintillaBase
SCLEX_CPPNOCASE enum valueQsciScintillaBase
SCLEX_CSOUND enum valueQsciScintillaBase
SCLEX_CSS enum valueQsciScintillaBase
SCLEX_D enum valueQsciScintillaBase
SCLEX_DIFF enum valueQsciScintillaBase
SCLEX_DMAP enum valueQsciScintillaBase
SCLEX_DMIS enum valueQsciScintillaBase
SCLEX_ECL enum valueQsciScintillaBase
SCLEX_EDIFACT enum valueQsciScintillaBase
SCLEX_EIFFEL enum valueQsciScintillaBase
SCLEX_EIFFELKW enum valueQsciScintillaBase
SCLEX_ERLANG enum valueQsciScintillaBase
SCLEX_ERRORLIST enum valueQsciScintillaBase
SCLEX_ESCRIPT enum valueQsciScintillaBase
SCLEX_F77 enum valueQsciScintillaBase
SCLEX_FLAGSHIP enum valueQsciScintillaBase
SCLEX_FORTH enum valueQsciScintillaBase
SCLEX_FORTRAN enum valueQsciScintillaBase
SCLEX_FREEBASIC enum valueQsciScintillaBase
SCLEX_GAP enum valueQsciScintillaBase
SCLEX_GUI4CLI enum valueQsciScintillaBase
SCLEX_HASKELL enum valueQsciScintillaBase
SCLEX_HTML enum valueQsciScintillaBase
SCLEX_IHEX enum valueQsciScintillaBase
SCLEX_INDENT enum valueQsciScintillaBase
SCLEX_INNOSETUP enum valueQsciScintillaBase
SCLEX_JSON enum valueQsciScintillaBase
SCLEX_KIX enum valueQsciScintillaBase
SCLEX_KVIRC enum valueQsciScintillaBase
SCLEX_LATEX enum valueQsciScintillaBase
SCLEX_LISP enum valueQsciScintillaBase
SCLEX_LITERATEHASKELL enum valueQsciScintillaBase
SCLEX_LOT enum valueQsciScintillaBase
SCLEX_LOUT enum valueQsciScintillaBase
SCLEX_LUA enum valueQsciScintillaBase
SCLEX_MAGIK enum valueQsciScintillaBase
SCLEX_MAKEFILE enum valueQsciScintillaBase
SCLEX_MARKDOWN enum valueQsciScintillaBase
SCLEX_MATLAB enum valueQsciScintillaBase
SCLEX_MAXIMA enum valueQsciScintillaBase
SCLEX_METAPOST enum valueQsciScintillaBase
SCLEX_MMIXAL enum valueQsciScintillaBase
SCLEX_MODULA enum valueQsciScintillaBase
SCLEX_MSSQL enum valueQsciScintillaBase
SCLEX_MYSQL enum valueQsciScintillaBase
SCLEX_NIMROD enum valueQsciScintillaBase
SCLEX_NNCRONTAB enum valueQsciScintillaBase
SCLEX_NSIS enum valueQsciScintillaBase
SCLEX_NULL enum valueQsciScintillaBase
SCLEX_OCTAVE enum valueQsciScintillaBase
SCLEX_OPAL enum valueQsciScintillaBase
SCLEX_OSCRIPT enum valueQsciScintillaBase
SCLEX_PASCAL enum valueQsciScintillaBase
SCLEX_PERL enum valueQsciScintillaBase
SCLEX_PHP enum valueQsciScintillaBase
SCLEX_PHPSCRIPT enum valueQsciScintillaBase
SCLEX_PLM enum valueQsciScintillaBase
SCLEX_PO enum valueQsciScintillaBase
SCLEX_POV enum valueQsciScintillaBase
SCLEX_POWERBASIC enum valueQsciScintillaBase
SCLEX_POWERPRO enum valueQsciScintillaBase
SCLEX_POWERSHELL enum valueQsciScintillaBase
SCLEX_PROGRESS enum valueQsciScintillaBase
SCLEX_PROPERTIES enum valueQsciScintillaBase
SCLEX_PS enum valueQsciScintillaBase
SCLEX_PUREBASIC enum valueQsciScintillaBase
SCLEX_PYTHON enum valueQsciScintillaBase
SCLEX_R enum valueQsciScintillaBase
SCLEX_REBOL enum valueQsciScintillaBase
SCLEX_REGISTRY enum valueQsciScintillaBase
SCLEX_RUBY enum valueQsciScintillaBase
SCLEX_RUST enum valueQsciScintillaBase
SCLEX_SAS enum valueQsciScintillaBase
SCLEX_SCRIPTOL enum valueQsciScintillaBase
SCLEX_SMALLTALK enum valueQsciScintillaBase
SCLEX_SML enum valueQsciScintillaBase
SCLEX_SORCUS enum valueQsciScintillaBase
SCLEX_SPECMAN enum valueQsciScintillaBase
SCLEX_SPICE enum valueQsciScintillaBase
SCLEX_SQL enum valueQsciScintillaBase
SCLEX_SREC enum valueQsciScintillaBase
SCLEX_STATA enum valueQsciScintillaBase
SCLEX_STTXT enum valueQsciScintillaBase
SCLEX_TACL enum valueQsciScintillaBase
SCLEX_TADS3 enum valueQsciScintillaBase
SCLEX_TAL enum valueQsciScintillaBase
SCLEX_TCL enum valueQsciScintillaBase
SCLEX_TCMD enum valueQsciScintillaBase
SCLEX_TEHEX enum valueQsciScintillaBase
SCLEX_TEX enum valueQsciScintillaBase
SCLEX_TXT2TAGS enum valueQsciScintillaBase
SCLEX_VB enum valueQsciScintillaBase
SCLEX_VBSCRIPT enum valueQsciScintillaBase
SCLEX_VERILOG enum valueQsciScintillaBase
SCLEX_VHDL enum valueQsciScintillaBase
SCLEX_VISUALPROLOG enum valueQsciScintillaBase
SCLEX_XML enum valueQsciScintillaBase
SCLEX_YAML enum valueQsciScintillaBase
SCMOD_ALT enum valueQsciScintillaBase
SCMOD_CTRL enum valueQsciScintillaBase
SCMOD_META enum valueQsciScintillaBase
SCMOD_NORM enum valueQsciScintillaBase
SCMOD_SHIFT enum valueQsciScintillaBase
SCMOD_SUPER enum valueQsciScintillaBase
SCN_AUTOCCANCELLED()QsciScintillaBasesignal
SCN_AUTOCCHARDELETED()QsciScintillaBasesignal
SCN_AUTOCCOMPLETED(const char *selection, int position, int ch, int method)QsciScintillaBasesignal
SCN_AUTOCSELECTION(const char *selection, int position, int ch, int method)QsciScintillaBasesignal
SCN_AUTOCSELECTION(const char *selection, int position)QsciScintillaBasesignal
SCN_AUTOCSELECTIONCHANGE(const char *selection, int id, int position)QsciScintillaBasesignal
SCN_CALLTIPCLICK(int direction)QsciScintillaBasesignal
SCN_CHARADDED(int charadded)QsciScintillaBasesignal
SCN_DOUBLECLICK(int position, int line, int modifiers)QsciScintillaBasesignal
SCN_DWELLEND(int position, int x, int y)QsciScintillaBasesignal
SCN_DWELLSTART(int position, int x, int y)QsciScintillaBasesignal
SCN_FOCUSIN()QsciScintillaBasesignal
SCN_FOCUSOUT()QsciScintillaBasesignal
SCN_HOTSPOTCLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_HOTSPOTDOUBLECLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_HOTSPOTRELEASECLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_INDICATORCLICK(int position, int modifiers)QsciScintillaBasesignal
SCN_INDICATORRELEASE(int position, int modifiers)QsciScintillaBasesignal
SCN_MACRORECORD(unsigned int, unsigned long, void *)QsciScintillaBasesignal
SCN_MARGINCLICK(int position, int modifiers, int margin)QsciScintillaBasesignal
SCN_MARGINRIGHTCLICK(int position, int modifiers, int margin)QsciScintillaBasesignal
SCN_MODIFIED(int, int, const char *, int, int, int, int, int, int, int) (defined in QsciScintillaBase)QsciScintillaBasesignal
SCN_MODIFYATTEMPTRO()QsciScintillaBasesignal
SCN_NEEDSHOWN(int, int) (defined in QsciScintillaBase)QsciScintillaBasesignal
SCN_PAINTED()QsciScintillaBasesignal
SCN_SAVEPOINTLEFT()QsciScintillaBasesignal
SCN_SAVEPOINTREACHED()QsciScintillaBasesignal
SCN_STYLENEEDED(int position)QsciScintillaBasesignal
SCN_UPDATEUI(int updated)QsciScintillaBasesignal
SCN_URIDROPPED(const QUrl &url)QsciScintillaBasesignal
SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method, int position)QsciScintillaBasesignal
SCN_USERLISTSELECTION(const char *selection, int id, int ch, int method)QsciScintillaBasesignal
SCN_USERLISTSELECTION(const char *selection, int id)QsciScintillaBasesignal
SCN_ZOOM() (defined in QsciScintillaBase)QsciScintillaBasesignal
scrollContentsBy(int dx, int dy) (defined in QsciScintillaBase)QsciScintillaBaseprotectedvirtual
SCTD_LONGARROW enum value (defined in QsciScintillaBase)QsciScintillaBase
SCTD_STRIKEOUT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_NONE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_NOWRAPLINESTART enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_RECTANGULARSELECTION enum value (defined in QsciScintillaBase)QsciScintillaBase
SCVS_USERACCESSIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_INVISIBLE enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_VISIBLEAFTERINDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_VISIBLEALWAYS enum value (defined in QsciScintillaBase)QsciScintillaBase
SCWS_VISIBLEONLYININDENT enum value (defined in QsciScintillaBase)QsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam=0, long lParam=0) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, void *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, uintptr_t wParam, const char *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, const char *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, const char *wParam, const char *lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, long wParam) constQsciScintillaBase
SendScintilla(unsigned int msg, int wParam) constQsciScintillaBase
SendScintilla(unsigned int msg, long cpMin, long cpMax, char *lpstrText) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, const QColor &col) constQsciScintillaBase
SendScintilla(unsigned int msg, const QColor &col) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &rc, long cpMin, long cpMax) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, const QPixmap &lParam) constQsciScintillaBase
SendScintilla(unsigned int msg, unsigned long wParam, const QImage &lParam) constQsciScintillaBase
SendScintillaPtrResult(unsigned int msg) constQsciScintillaBase
setScrollBars() (defined in QsciScintillaBase)QsciScintillaBaseprotected
STYLE_BRACEBAD enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_BRACELIGHT enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_CALLTIP enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_CONTROLCHAR enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_DEFAULT enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_FOLDDISPLAYTEXT enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_INDENTGUIDE enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_LASTPREDEFINED enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_LINENUMBER enum value (defined in QsciScintillaBase)QsciScintillaBase
STYLE_MAX enum value (defined in QsciScintillaBase)QsciScintillaBase
textAsBytes(const QString &text) const (defined in QsciScintillaBase)QsciScintillaBaseprotected
toMimeData(const QByteArray &text, bool rectangular) constQsciScintillaBaseprotectedvirtual
UNDO_MAY_COALESCE enum value (defined in QsciScintillaBase)QsciScintillaBase
VISIBLE_SLOP enum value (defined in QsciScintillaBase)QsciScintillaBase
VISIBLE_STRICT enum value (defined in QsciScintillaBase)QsciScintillaBase
~QsciScintillaBase()QsciScintillaBasevirtual
================================================ FILE: src/qscint/doc/html/classQsciScintillaBase.html ================================================ QScintilla: QsciScintillaBase Class Reference
QScintilla  2.12.1

#include <qsciscintillabase.h>

Inherits QAbstractScrollArea.

Inherited by QsciScintilla.

Public Types

enum  {
  SCI_START = 2000, SCI_OPTIONAL_START = 3000, SCI_LEXER_START = 4000,
  SCI_ADDTEXT = 2001, SCI_ADDSTYLEDTEXT = 2002, SCI_INSERTTEXT = 2003,
  SCI_CLEARALL = 2004, SCI_CLEARDOCUMENTSTYLE = 2005, SCI_GETLENGTH = 2006,
  SCI_GETCHARAT = 2007, SCI_GETCURRENTPOS = 2008, SCI_GETANCHOR = 2009,
  SCI_GETSTYLEAT = 2010, SCI_REDO = 2011, SCI_SETUNDOCOLLECTION = 2012,
  SCI_SELECTALL = 2013, SCI_SETSAVEPOINT = 2014, SCI_GETSTYLEDTEXT = 2015,
  SCI_CANREDO = 2016, SCI_MARKERLINEFROMHANDLE = 2017, SCI_MARKERDELETEHANDLE = 2018,
  SCI_GETUNDOCOLLECTION = 2019, SCI_GETVIEWWS = 2020, SCI_SETVIEWWS = 2021,
  SCI_POSITIONFROMPOINT = 2022, SCI_POSITIONFROMPOINTCLOSE = 2023, SCI_GOTOLINE = 2024,
  SCI_GOTOPOS = 2025, SCI_SETANCHOR = 2026, SCI_GETCURLINE = 2027,
  SCI_GETENDSTYLED = 2028, SCI_CONVERTEOLS = 2029, SCI_GETEOLMODE = 2030,
  SCI_SETEOLMODE = 2031, SCI_STARTSTYLING = 2032, SCI_SETSTYLING = 2033,
  SCI_GETBUFFEREDDRAW = 2034, SCI_SETBUFFEREDDRAW = 2035, SCI_SETTABWIDTH = 2036,
  SCI_GETTABWIDTH = 2121, SCI_SETCODEPAGE = 2037, SCI_MARKERDEFINE = 2040,
  SCI_MARKERSETFORE = 2041, SCI_MARKERSETBACK = 2042, SCI_MARKERADD = 2043,
  SCI_MARKERDELETE = 2044, SCI_MARKERDELETEALL = 2045, SCI_MARKERGET = 2046,
  SCI_MARKERNEXT = 2047, SCI_MARKERPREVIOUS = 2048, SCI_MARKERDEFINEPIXMAP = 2049,
  SCI_SETMARGINTYPEN = 2240, SCI_GETMARGINTYPEN = 2241, SCI_SETMARGINWIDTHN = 2242,
  SCI_GETMARGINWIDTHN = 2243, SCI_SETMARGINMASKN = 2244, SCI_GETMARGINMASKN = 2245,
  SCI_SETMARGINSENSITIVEN = 2246, SCI_GETMARGINSENSITIVEN = 2247, SCI_SETMARGINCURSORN = 2248,
  SCI_GETMARGINCURSORN = 2249, SCI_STYLECLEARALL = 2050, SCI_STYLESETFORE = 2051,
  SCI_STYLESETBACK = 2052, SCI_STYLESETBOLD = 2053, SCI_STYLESETITALIC = 2054,
  SCI_STYLESETSIZE = 2055, SCI_STYLESETFONT = 2056, SCI_STYLESETEOLFILLED = 2057,
  SCI_STYLERESETDEFAULT = 2058, SCI_STYLESETUNDERLINE = 2059, SCI_STYLESETCASE = 2060,
  SCI_STYLESETSIZEFRACTIONAL = 2061, SCI_STYLEGETSIZEFRACTIONAL = 2062, SCI_STYLESETWEIGHT = 2063,
  SCI_STYLEGETWEIGHT = 2064, SCI_STYLESETCHARACTERSET = 2066, SCI_SETSELFORE = 2067,
  SCI_SETSELBACK = 2068, SCI_SETCARETFORE = 2069, SCI_ASSIGNCMDKEY = 2070,
  SCI_CLEARCMDKEY = 2071, SCI_CLEARALLCMDKEYS = 2072, SCI_SETSTYLINGEX = 2073,
  SCI_STYLESETVISIBLE = 2074, SCI_GETCARETPERIOD = 2075, SCI_SETCARETPERIOD = 2076,
  SCI_SETWORDCHARS = 2077, SCI_BEGINUNDOACTION = 2078, SCI_ENDUNDOACTION = 2079,
  SCI_INDICSETSTYLE = 2080, SCI_INDICGETSTYLE = 2081, SCI_INDICSETFORE = 2082,
  SCI_INDICGETFORE = 2083, SCI_SETWHITESPACEFORE = 2084, SCI_SETWHITESPACEBACK = 2085,
  SCI_SETWHITESPACESIZE = 2086, SCI_GETWHITESPACESIZE = 2087, SCI_SETSTYLEBITS = 2090,
  SCI_GETSTYLEBITS = 2091, SCI_SETLINESTATE = 2092, SCI_GETLINESTATE = 2093,
  SCI_GETMAXLINESTATE = 2094, SCI_GETCARETLINEVISIBLE = 2095, SCI_SETCARETLINEVISIBLE = 2096,
  SCI_GETCARETLINEBACK = 2097, SCI_SETCARETLINEBACK = 2098, SCI_STYLESETCHANGEABLE = 2099,
  SCI_AUTOCSHOW = 2100, SCI_AUTOCCANCEL = 2101, SCI_AUTOCACTIVE = 2102,
  SCI_AUTOCPOSSTART = 2103, SCI_AUTOCCOMPLETE = 2104, SCI_AUTOCSTOPS = 2105,
  SCI_AUTOCSETSEPARATOR = 2106, SCI_AUTOCGETSEPARATOR = 2107, SCI_AUTOCSELECT = 2108,
  SCI_AUTOCSETCANCELATSTART = 2110, SCI_AUTOCGETCANCELATSTART = 2111, SCI_AUTOCSETFILLUPS = 2112,
  SCI_AUTOCSETCHOOSESINGLE = 2113, SCI_AUTOCGETCHOOSESINGLE = 2114, SCI_AUTOCSETIGNORECASE = 2115,
  SCI_AUTOCGETIGNORECASE = 2116, SCI_USERLISTSHOW = 2117, SCI_AUTOCSETAUTOHIDE = 2118,
  SCI_AUTOCGETAUTOHIDE = 2119, SCI_AUTOCSETDROPRESTOFWORD = 2270, SCI_AUTOCGETDROPRESTOFWORD = 2271,
  SCI_SETINDENT = 2122, SCI_GETINDENT = 2123, SCI_SETUSETABS = 2124,
  SCI_GETUSETABS = 2125, SCI_SETLINEINDENTATION = 2126, SCI_GETLINEINDENTATION = 2127,
  SCI_GETLINEINDENTPOSITION = 2128, SCI_GETCOLUMN = 2129, SCI_SETHSCROLLBAR = 2130,
  SCI_GETHSCROLLBAR = 2131, SCI_SETINDENTATIONGUIDES = 2132, SCI_GETINDENTATIONGUIDES = 2133,
  SCI_SETHIGHLIGHTGUIDE = 2134, SCI_GETHIGHLIGHTGUIDE = 2135, SCI_GETLINEENDPOSITION = 2136,
  SCI_GETCODEPAGE = 2137, SCI_GETCARETFORE = 2138, SCI_GETREADONLY = 2140,
  SCI_SETCURRENTPOS = 2141, SCI_SETSELECTIONSTART = 2142, SCI_GETSELECTIONSTART = 2143,
  SCI_SETSELECTIONEND = 2144, SCI_GETSELECTIONEND = 2145, SCI_SETPRINTMAGNIFICATION = 2146,
  SCI_GETPRINTMAGNIFICATION = 2147, SCI_SETPRINTCOLOURMODE = 2148, SCI_GETPRINTCOLOURMODE = 2149,
  SCI_FINDTEXT = 2150, SCI_FORMATRANGE = 2151, SCI_GETFIRSTVISIBLELINE = 2152,
  SCI_GETLINE = 2153, SCI_GETLINECOUNT = 2154, SCI_SETMARGINLEFT = 2155,
  SCI_GETMARGINLEFT = 2156, SCI_SETMARGINRIGHT = 2157, SCI_GETMARGINRIGHT = 2158,
  SCI_GETMODIFY = 2159, SCI_SETSEL = 2160, SCI_GETSELTEXT = 2161,
  SCI_GETTEXTRANGE = 2162, SCI_HIDESELECTION = 2163, SCI_POINTXFROMPOSITION = 2164,
  SCI_POINTYFROMPOSITION = 2165, SCI_LINEFROMPOSITION = 2166, SCI_POSITIONFROMLINE = 2167,
  SCI_LINESCROLL = 2168, SCI_SCROLLCARET = 2169, SCI_REPLACESEL = 2170,
  SCI_SETREADONLY = 2171, SCI_NULL = 2172, SCI_CANPASTE = 2173,
  SCI_CANUNDO = 2174, SCI_EMPTYUNDOBUFFER = 2175, SCI_UNDO = 2176,
  SCI_CUT = 2177, SCI_COPY = 2178, SCI_PASTE = 2179,
  SCI_CLEAR = 2180, SCI_SETTEXT = 2181, SCI_GETTEXT = 2182,
  SCI_GETTEXTLENGTH = 2183, SCI_GETDIRECTFUNCTION = 2184, SCI_GETDIRECTPOINTER = 2185,
  SCI_SETOVERTYPE = 2186, SCI_GETOVERTYPE = 2187, SCI_SETCARETWIDTH = 2188,
  SCI_GETCARETWIDTH = 2189, SCI_SETTARGETSTART = 2190, SCI_GETTARGETSTART = 2191,
  SCI_SETTARGETEND = 2192, SCI_GETTARGETEND = 2193, SCI_REPLACETARGET = 2194,
  SCI_REPLACETARGETRE = 2195, SCI_SEARCHINTARGET = 2197, SCI_SETSEARCHFLAGS = 2198,
  SCI_GETSEARCHFLAGS = 2199, SCI_CALLTIPSHOW = 2200, SCI_CALLTIPCANCEL = 2201,
  SCI_CALLTIPACTIVE = 2202, SCI_CALLTIPPOSSTART = 2203, SCI_CALLTIPSETHLT = 2204,
  SCI_CALLTIPSETBACK = 2205, SCI_CALLTIPSETFORE = 2206, SCI_CALLTIPSETFOREHLT = 2207,
  SCI_AUTOCSETMAXWIDTH = 2208, SCI_AUTOCGETMAXWIDTH = 2209, SCI_AUTOCSETMAXHEIGHT = 2210,
  SCI_AUTOCGETMAXHEIGHT = 2211, SCI_CALLTIPUSESTYLE = 2212, SCI_CALLTIPSETPOSITION = 2213,
  SCI_CALLTIPSETPOSSTART = 2214, SCI_VISIBLEFROMDOCLINE = 2220, SCI_DOCLINEFROMVISIBLE = 2221,
  SCI_SETFOLDLEVEL = 2222, SCI_GETFOLDLEVEL = 2223, SCI_GETLASTCHILD = 2224,
  SCI_GETFOLDPARENT = 2225, SCI_SHOWLINES = 2226, SCI_HIDELINES = 2227,
  SCI_GETLINEVISIBLE = 2228, SCI_SETFOLDEXPANDED = 2229, SCI_GETFOLDEXPANDED = 2230,
  SCI_TOGGLEFOLD = 2231, SCI_ENSUREVISIBLE = 2232, SCI_SETFOLDFLAGS = 2233,
  SCI_ENSUREVISIBLEENFORCEPOLICY = 2234, SCI_WRAPCOUNT = 2235, SCI_GETALLLINESVISIBLE = 2236,
  SCI_FOLDLINE = 2237, SCI_FOLDCHILDREN = 2238, SCI_EXPANDCHILDREN = 2239,
  SCI_SETMARGINBACKN = 2250, SCI_GETMARGINBACKN = 2251, SCI_SETMARGINS = 2252,
  SCI_GETMARGINS = 2253, SCI_SETTABINDENTS = 2260, SCI_GETTABINDENTS = 2261,
  SCI_SETBACKSPACEUNINDENTS = 2262, SCI_GETBACKSPACEUNINDENTS = 2263, SCI_SETMOUSEDWELLTIME = 2264,
  SCI_GETMOUSEDWELLTIME = 2265, SCI_WORDSTARTPOSITION = 2266, SCI_WORDENDPOSITION = 2267,
  SCI_SETWRAPMODE = 2268, SCI_GETWRAPMODE = 2269, SCI_SETLAYOUTCACHE = 2272,
  SCI_GETLAYOUTCACHE = 2273, SCI_SETSCROLLWIDTH = 2274, SCI_GETSCROLLWIDTH = 2275,
  SCI_TEXTWIDTH = 2276, SCI_SETENDATLASTLINE = 2277, SCI_GETENDATLASTLINE = 2278,
  SCI_TEXTHEIGHT = 2279, SCI_SETVSCROLLBAR = 2280, SCI_GETVSCROLLBAR = 2281,
  SCI_APPENDTEXT = 2282, SCI_GETTWOPHASEDRAW = 2283, SCI_SETTWOPHASEDRAW = 2284,
  SCI_AUTOCGETTYPESEPARATOR = 2285, SCI_AUTOCSETTYPESEPARATOR = 2286, SCI_TARGETFROMSELECTION = 2287,
  SCI_LINESJOIN = 2288, SCI_LINESSPLIT = 2289, SCI_SETFOLDMARGINCOLOUR = 2290,
  SCI_SETFOLDMARGINHICOLOUR = 2291, SCI_MARKERSETBACKSELECTED = 2292, SCI_MARKERENABLEHIGHLIGHT = 2293,
  SCI_LINEDOWN = 2300, SCI_LINEDOWNEXTEND = 2301, SCI_LINEUP = 2302,
  SCI_LINEUPEXTEND = 2303, SCI_CHARLEFT = 2304, SCI_CHARLEFTEXTEND = 2305,
  SCI_CHARRIGHT = 2306, SCI_CHARRIGHTEXTEND = 2307, SCI_WORDLEFT = 2308,
  SCI_WORDLEFTEXTEND = 2309, SCI_WORDRIGHT = 2310, SCI_WORDRIGHTEXTEND = 2311,
  SCI_HOME = 2312, SCI_HOMEEXTEND = 2313, SCI_LINEEND = 2314,
  SCI_LINEENDEXTEND = 2315, SCI_DOCUMENTSTART = 2316, SCI_DOCUMENTSTARTEXTEND = 2317,
  SCI_DOCUMENTEND = 2318, SCI_DOCUMENTENDEXTEND = 2319, SCI_PAGEUP = 2320,
  SCI_PAGEUPEXTEND = 2321, SCI_PAGEDOWN = 2322, SCI_PAGEDOWNEXTEND = 2323,
  SCI_EDITTOGGLEOVERTYPE = 2324, SCI_CANCEL = 2325, SCI_DELETEBACK = 2326,
  SCI_TAB = 2327, SCI_BACKTAB = 2328, SCI_NEWLINE = 2329,
  SCI_FORMFEED = 2330, SCI_VCHOME = 2331, SCI_VCHOMEEXTEND = 2332,
  SCI_ZOOMIN = 2333, SCI_ZOOMOUT = 2334, SCI_DELWORDLEFT = 2335,
  SCI_DELWORDRIGHT = 2336, SCI_LINECUT = 2337, SCI_LINEDELETE = 2338,
  SCI_LINETRANSPOSE = 2339, SCI_LOWERCASE = 2340, SCI_UPPERCASE = 2341,
  SCI_LINESCROLLDOWN = 2342, SCI_LINESCROLLUP = 2343, SCI_DELETEBACKNOTLINE = 2344,
  SCI_HOMEDISPLAY = 2345, SCI_HOMEDISPLAYEXTEND = 2346, SCI_LINEENDDISPLAY = 2347,
  SCI_LINEENDDISPLAYEXTEND = 2348, SCI_MOVECARETINSIDEVIEW = 2401, SCI_LINELENGTH = 2350,
  SCI_BRACEHIGHLIGHT = 2351, SCI_BRACEBADLIGHT = 2352, SCI_BRACEMATCH = 2353,
  SCI_LINEREVERSE = 2354, SCI_GETVIEWEOL = 2355, SCI_SETVIEWEOL = 2356,
  SCI_GETDOCPOINTER = 2357, SCI_SETDOCPOINTER = 2358, SCI_SETMODEVENTMASK = 2359,
  SCI_GETEDGECOLUMN = 2360, SCI_SETEDGECOLUMN = 2361, SCI_GETEDGEMODE = 2362,
  SCI_SETEDGEMODE = 2363, SCI_GETEDGECOLOUR = 2364, SCI_SETEDGECOLOUR = 2365,
  SCI_SEARCHANCHOR = 2366, SCI_SEARCHNEXT = 2367, SCI_SEARCHPREV = 2368,
  SCI_LINESONSCREEN = 2370, SCI_USEPOPUP = 2371, SCI_SELECTIONISRECTANGLE = 2372,
  SCI_SETZOOM = 2373, SCI_GETZOOM = 2374, SCI_CREATEDOCUMENT = 2375,
  SCI_ADDREFDOCUMENT = 2376, SCI_RELEASEDOCUMENT = 2377, SCI_GETMODEVENTMASK = 2378,
  SCI_SETFOCUS = 2380, SCI_GETFOCUS = 2381, SCI_SETSTATUS = 2382,
  SCI_GETSTATUS = 2383, SCI_SETMOUSEDOWNCAPTURES = 2384, SCI_GETMOUSEDOWNCAPTURES = 2385,
  SCI_SETCURSOR = 2386, SCI_GETCURSOR = 2387, SCI_SETCONTROLCHARSYMBOL = 2388,
  SCI_GETCONTROLCHARSYMBOL = 2389, SCI_WORDPARTLEFT = 2390, SCI_WORDPARTLEFTEXTEND = 2391,
  SCI_WORDPARTRIGHT = 2392, SCI_WORDPARTRIGHTEXTEND = 2393, SCI_SETVISIBLEPOLICY = 2394,
  SCI_DELLINELEFT = 2395, SCI_DELLINERIGHT = 2396, SCI_SETXOFFSET = 2397,
  SCI_GETXOFFSET = 2398, SCI_CHOOSECARETX = 2399, SCI_GRABFOCUS = 2400,
  SCI_SETXCARETPOLICY = 2402, SCI_SETYCARETPOLICY = 2403, SCI_LINEDUPLICATE = 2404,
  SCI_REGISTERIMAGE = 2405, SCI_SETPRINTWRAPMODE = 2406, SCI_GETPRINTWRAPMODE = 2407,
  SCI_CLEARREGISTEREDIMAGES = 2408, SCI_STYLESETHOTSPOT = 2409, SCI_SETHOTSPOTACTIVEFORE = 2410,
  SCI_SETHOTSPOTACTIVEBACK = 2411, SCI_SETHOTSPOTACTIVEUNDERLINE = 2412, SCI_PARADOWN = 2413,
  SCI_PARADOWNEXTEND = 2414, SCI_PARAUP = 2415, SCI_PARAUPEXTEND = 2416,
  SCI_POSITIONBEFORE = 2417, SCI_POSITIONAFTER = 2418, SCI_COPYRANGE = 2419,
  SCI_COPYTEXT = 2420, SCI_SETHOTSPOTSINGLELINE = 2421, SCI_SETSELECTIONMODE = 2422,
  SCI_GETSELECTIONMODE = 2423, SCI_GETLINESELSTARTPOSITION = 2424, SCI_GETLINESELENDPOSITION = 2425,
  SCI_LINEDOWNRECTEXTEND = 2426, SCI_LINEUPRECTEXTEND = 2427, SCI_CHARLEFTRECTEXTEND = 2428,
  SCI_CHARRIGHTRECTEXTEND = 2429, SCI_HOMERECTEXTEND = 2430, SCI_VCHOMERECTEXTEND = 2431,
  SCI_LINEENDRECTEXTEND = 2432, SCI_PAGEUPRECTEXTEND = 2433, SCI_PAGEDOWNRECTEXTEND = 2434,
  SCI_STUTTEREDPAGEUP = 2435, SCI_STUTTEREDPAGEUPEXTEND = 2436, SCI_STUTTEREDPAGEDOWN = 2437,
  SCI_STUTTEREDPAGEDOWNEXTEND = 2438, SCI_WORDLEFTEND = 2439, SCI_WORDLEFTENDEXTEND = 2440,
  SCI_WORDRIGHTEND = 2441, SCI_WORDRIGHTENDEXTEND = 2442, SCI_SETWHITESPACECHARS = 2443,
  SCI_SETCHARSDEFAULT = 2444, SCI_AUTOCGETCURRENT = 2445, SCI_ALLOCATE = 2446,
  SCI_HOMEWRAP = 2349, SCI_HOMEWRAPEXTEND = 2450, SCI_LINEENDWRAP = 2451,
  SCI_LINEENDWRAPEXTEND = 2452, SCI_VCHOMEWRAP = 2453, SCI_VCHOMEWRAPEXTEND = 2454,
  SCI_LINECOPY = 2455, SCI_FINDCOLUMN = 2456, SCI_GETCARETSTICKY = 2457,
  SCI_SETCARETSTICKY = 2458, SCI_TOGGLECARETSTICKY = 2459, SCI_SETWRAPVISUALFLAGS = 2460,
  SCI_GETWRAPVISUALFLAGS = 2461, SCI_SETWRAPVISUALFLAGSLOCATION = 2462, SCI_GETWRAPVISUALFLAGSLOCATION = 2463,
  SCI_SETWRAPSTARTINDENT = 2464, SCI_GETWRAPSTARTINDENT = 2465, SCI_MARKERADDSET = 2466,
  SCI_SETPASTECONVERTENDINGS = 2467, SCI_GETPASTECONVERTENDINGS = 2468, SCI_SELECTIONDUPLICATE = 2469,
  SCI_SETCARETLINEBACKALPHA = 2470, SCI_GETCARETLINEBACKALPHA = 2471, SCI_SETWRAPINDENTMODE = 2472,
  SCI_GETWRAPINDENTMODE = 2473, SCI_MARKERSETALPHA = 2476, SCI_GETSELALPHA = 2477,
  SCI_SETSELALPHA = 2478, SCI_GETSELEOLFILLED = 2479, SCI_SETSELEOLFILLED = 2480,
  SCI_STYLEGETFORE = 2481, SCI_STYLEGETBACK = 2482, SCI_STYLEGETBOLD = 2483,
  SCI_STYLEGETITALIC = 2484, SCI_STYLEGETSIZE = 2485, SCI_STYLEGETFONT = 2486,
  SCI_STYLEGETEOLFILLED = 2487, SCI_STYLEGETUNDERLINE = 2488, SCI_STYLEGETCASE = 2489,
  SCI_STYLEGETCHARACTERSET = 2490, SCI_STYLEGETVISIBLE = 2491, SCI_STYLEGETCHANGEABLE = 2492,
  SCI_STYLEGETHOTSPOT = 2493, SCI_GETHOTSPOTACTIVEFORE = 2494, SCI_GETHOTSPOTACTIVEBACK = 2495,
  SCI_GETHOTSPOTACTIVEUNDERLINE = 2496, SCI_GETHOTSPOTSINGLELINE = 2497, SCI_BRACEHIGHLIGHTINDICATOR = 2498,
  SCI_BRACEBADLIGHTINDICATOR = 2499, SCI_SETINDICATORCURRENT = 2500, SCI_GETINDICATORCURRENT = 2501,
  SCI_SETINDICATORVALUE = 2502, SCI_GETINDICATORVALUE = 2503, SCI_INDICATORFILLRANGE = 2504,
  SCI_INDICATORCLEARRANGE = 2505, SCI_INDICATORALLONFOR = 2506, SCI_INDICATORVALUEAT = 2507,
  SCI_INDICATORSTART = 2508, SCI_INDICATOREND = 2509, SCI_INDICSETUNDER = 2510,
  SCI_INDICGETUNDER = 2511, SCI_SETCARETSTYLE = 2512, SCI_GETCARETSTYLE = 2513,
  SCI_SETPOSITIONCACHE = 2514, SCI_GETPOSITIONCACHE = 2515, SCI_SETSCROLLWIDTHTRACKING = 2516,
  SCI_GETSCROLLWIDTHTRACKING = 2517, SCI_DELWORDRIGHTEND = 2518, SCI_COPYALLOWLINE = 2519,
  SCI_GETCHARACTERPOINTER = 2520, SCI_INDICSETALPHA = 2523, SCI_INDICGETALPHA = 2524,
  SCI_SETEXTRAASCENT = 2525, SCI_GETEXTRAASCENT = 2526, SCI_SETEXTRADESCENT = 2527,
  SCI_GETEXTRADESCENT = 2528, SCI_MARKERSYMBOLDEFINED = 2529, SCI_MARGINSETTEXT = 2530,
  SCI_MARGINGETTEXT = 2531, SCI_MARGINSETSTYLE = 2532, SCI_MARGINGETSTYLE = 2533,
  SCI_MARGINSETSTYLES = 2534, SCI_MARGINGETSTYLES = 2535, SCI_MARGINTEXTCLEARALL = 2536,
  SCI_MARGINSETSTYLEOFFSET = 2537, SCI_MARGINGETSTYLEOFFSET = 2538, SCI_SETMARGINOPTIONS = 2539,
  SCI_ANNOTATIONSETTEXT = 2540, SCI_ANNOTATIONGETTEXT = 2541, SCI_ANNOTATIONSETSTYLE = 2542,
  SCI_ANNOTATIONGETSTYLE = 2543, SCI_ANNOTATIONSETSTYLES = 2544, SCI_ANNOTATIONGETSTYLES = 2545,
  SCI_ANNOTATIONGETLINES = 2546, SCI_ANNOTATIONCLEARALL = 2547, SCI_ANNOTATIONSETVISIBLE = 2548,
  SCI_ANNOTATIONGETVISIBLE = 2549, SCI_ANNOTATIONSETSTYLEOFFSET = 2550, SCI_ANNOTATIONGETSTYLEOFFSET = 2551,
  SCI_RELEASEALLEXTENDEDSTYLES = 2552, SCI_ALLOCATEEXTENDEDSTYLES = 2553, SCI_SETEMPTYSELECTION = 2556,
  SCI_GETMARGINOPTIONS = 2557, SCI_INDICSETOUTLINEALPHA = 2558, SCI_INDICGETOUTLINEALPHA = 2559,
  SCI_ADDUNDOACTION = 2560, SCI_CHARPOSITIONFROMPOINT = 2561, SCI_CHARPOSITIONFROMPOINTCLOSE = 2562,
  SCI_SETMULTIPLESELECTION = 2563, SCI_GETMULTIPLESELECTION = 2564, SCI_SETADDITIONALSELECTIONTYPING = 2565,
  SCI_GETADDITIONALSELECTIONTYPING = 2566, SCI_SETADDITIONALCARETSBLINK = 2567, SCI_GETADDITIONALCARETSBLINK = 2568,
  SCI_SCROLLRANGE = 2569, SCI_GETSELECTIONS = 2570, SCI_CLEARSELECTIONS = 2571,
  SCI_SETSELECTION = 2572, SCI_ADDSELECTION = 2573, SCI_SETMAINSELECTION = 2574,
  SCI_GETMAINSELECTION = 2575, SCI_SETSELECTIONNCARET = 2576, SCI_GETSELECTIONNCARET = 2577,
  SCI_SETSELECTIONNANCHOR = 2578, SCI_GETSELECTIONNANCHOR = 2579, SCI_SETSELECTIONNCARETVIRTUALSPACE = 2580,
  SCI_GETSELECTIONNCARETVIRTUALSPACE = 2581, SCI_SETSELECTIONNANCHORVIRTUALSPACE = 2582, SCI_GETSELECTIONNANCHORVIRTUALSPACE = 2583,
  SCI_SETSELECTIONNSTART = 2584, SCI_GETSELECTIONNSTART = 2585, SCI_SETSELECTIONNEND = 2586,
  SCI_GETSELECTIONNEND = 2587, SCI_SETRECTANGULARSELECTIONCARET = 2588, SCI_GETRECTANGULARSELECTIONCARET = 2589,
  SCI_SETRECTANGULARSELECTIONANCHOR = 2590, SCI_GETRECTANGULARSELECTIONANCHOR = 2591, SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2592,
  SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2593, SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2594, SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2595,
  SCI_SETVIRTUALSPACEOPTIONS = 2596, SCI_GETVIRTUALSPACEOPTIONS = 2597, SCI_SETRECTANGULARSELECTIONMODIFIER = 2598,
  SCI_GETRECTANGULARSELECTIONMODIFIER = 2599, SCI_SETADDITIONALSELFORE = 2600, SCI_SETADDITIONALSELBACK = 2601,
  SCI_SETADDITIONALSELALPHA = 2602, SCI_GETADDITIONALSELALPHA = 2603, SCI_SETADDITIONALCARETFORE = 2604,
  SCI_GETADDITIONALCARETFORE = 2605, SCI_ROTATESELECTION = 2606, SCI_SWAPMAINANCHORCARET = 2607,
  SCI_SETADDITIONALCARETSVISIBLE = 2608, SCI_GETADDITIONALCARETSVISIBLE = 2609, SCI_AUTOCGETCURRENTTEXT = 2610,
  SCI_SETFONTQUALITY = 2611, SCI_GETFONTQUALITY = 2612, SCI_SETFIRSTVISIBLELINE = 2613,
  SCI_SETMULTIPASTE = 2614, SCI_GETMULTIPASTE = 2615, SCI_GETTAG = 2616,
  SCI_CHANGELEXERSTATE = 2617, SCI_CONTRACTEDFOLDNEXT = 2618, SCI_VERTICALCENTRECARET = 2619,
  SCI_MOVESELECTEDLINESUP = 2620, SCI_MOVESELECTEDLINESDOWN = 2621, SCI_SETIDENTIFIER = 2622,
  SCI_GETIDENTIFIER = 2623, SCI_RGBAIMAGESETWIDTH = 2624, SCI_RGBAIMAGESETHEIGHT = 2625,
  SCI_MARKERDEFINERGBAIMAGE = 2626, SCI_REGISTERRGBAIMAGE = 2627, SCI_SCROLLTOSTART = 2628,
  SCI_SCROLLTOEND = 2629, SCI_SETTECHNOLOGY = 2630, SCI_GETTECHNOLOGY = 2631,
  SCI_CREATELOADER = 2632, SCI_COUNTCHARACTERS = 2633, SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR = 2634,
  SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR = 2635, SCI_AUTOCSETMULTI = 2636, SCI_AUTOCGETMULTI = 2637,
  SCI_FINDINDICATORSHOW = 2640, SCI_FINDINDICATORFLASH = 2641, SCI_FINDINDICATORHIDE = 2642,
  SCI_GETRANGEPOINTER = 2643, SCI_GETGAPPOSITION = 2644, SCI_DELETERANGE = 2645,
  SCI_GETWORDCHARS = 2646, SCI_GETWHITESPACECHARS = 2647, SCI_SETPUNCTUATIONCHARS = 2648,
  SCI_GETPUNCTUATIONCHARS = 2649, SCI_GETSELECTIONEMPTY = 2650, SCI_RGBAIMAGESETSCALE = 2651,
  SCI_VCHOMEDISPLAY = 2652, SCI_VCHOMEDISPLAYEXTEND = 2653, SCI_GETCARETLINEVISIBLEALWAYS = 2654,
  SCI_SETCARETLINEVISIBLEALWAYS = 2655, SCI_SETLINEENDTYPESALLOWED = 2656, SCI_GETLINEENDTYPESALLOWED = 2657,
  SCI_GETLINEENDTYPESACTIVE = 2658, SCI_AUTOCSETORDER = 2660, SCI_AUTOCGETORDER = 2661,
  SCI_FOLDALL = 2662, SCI_SETAUTOMATICFOLD = 2663, SCI_GETAUTOMATICFOLD = 2664,
  SCI_SETREPRESENTATION = 2665, SCI_GETREPRESENTATION = 2666, SCI_CLEARREPRESENTATION = 2667,
  SCI_SETMOUSESELECTIONRECTANGULARSWITCH = 2668, SCI_GETMOUSESELECTIONRECTANGULARSWITCH = 2669, SCI_POSITIONRELATIVE = 2670,
  SCI_DROPSELECTIONN = 2671, SCI_CHANGEINSERTION = 2672, SCI_GETPHASESDRAW = 2673,
  SCI_SETPHASESDRAW = 2674, SCI_CLEARTABSTOPS = 2675, SCI_ADDTABSTOP = 2676,
  SCI_GETNEXTTABSTOP = 2677, SCI_GETIMEINTERACTION = 2678, SCI_SETIMEINTERACTION = 2679,
  SCI_INDICSETHOVERSTYLE = 2680, SCI_INDICGETHOVERSTYLE = 2681, SCI_INDICSETHOVERFORE = 2682,
  SCI_INDICGETHOVERFORE = 2683, SCI_INDICSETFLAGS = 2684, SCI_INDICGETFLAGS = 2685,
  SCI_SETTARGETRANGE = 2686, SCI_GETTARGETTEXT = 2687, SCI_MULTIPLESELECTADDNEXT = 2688,
  SCI_MULTIPLESELECTADDEACH = 2689, SCI_TARGETWHOLEDOCUMENT = 2690, SCI_ISRANGEWORD = 2691,
  SCI_SETIDLESTYLING = 2692, SCI_GETIDLESTYLING = 2693, SCI_MULTIEDGEADDLINE = 2694,
  SCI_MULTIEDGECLEARALL = 2695, SCI_SETMOUSEWHEELCAPTURES = 2696, SCI_GETMOUSEWHEELCAPTURES = 2697,
  SCI_GETTABDRAWMODE = 2698, SCI_SETTABDRAWMODE = 2699, SCI_TOGGLEFOLDSHOWTEXT = 2700,
  SCI_FOLDDISPLAYTEXTSETSTYLE = 2701, SCI_SETACCESSIBILITY = 2702, SCI_GETACCESSIBILITY = 2703,
  SCI_GETCARETLINEFRAME = 2704, SCI_SETCARETLINEFRAME = 2705, SCI_STARTRECORD = 3001,
  SCI_STOPRECORD = 3002, SCI_SETLEXER = 4001, SCI_GETLEXER = 4002,
  SCI_COLOURISE = 4003, SCI_SETPROPERTY = 4004, SCI_SETKEYWORDS = 4005,
  SCI_SETLEXERLANGUAGE = 4006, SCI_LOADLEXERLIBRARY = 4007, SCI_GETPROPERTY = 4008,
  SCI_GETPROPERTYEXPANDED = 4009, SCI_GETPROPERTYINT = 4010, SCI_GETSTYLEBITSNEEDED = 4011,
  SCI_GETLEXERLANGUAGE = 4012, SCI_PRIVATELEXERCALL = 4013, SCI_PROPERTYNAMES = 4014,
  SCI_PROPERTYTYPE = 4015, SCI_DESCRIBEPROPERTY = 4016, SCI_DESCRIBEKEYWORDSETS = 4017,
  SCI_GETLINEENDTYPESSUPPORTED = 4018, SCI_ALLOCATESUBSTYLES = 4020, SCI_GETSUBSTYLESSTART = 4021,
  SCI_GETSUBSTYLESLENGTH = 4022, SCI_GETSTYLEFROMSUBSTYLE = 4027, SCI_GETPRIMARYSTYLEFROMSTYLE = 4028,
  SCI_FREESUBSTYLES = 4023, SCI_SETIDENTIFIERS = 4024, SCI_DISTANCETOSECONDARYSTYLES = 4025,
  SCI_GETSUBSTYLEBASES = 4026, SCI_GETLINECHARACTERINDEX = 2710, SCI_ALLOCATELINECHARACTERINDEX = 2711,
  SCI_RELEASELINECHARACTERINDEX = 2712, SCI_LINEFROMINDEXPOSITION = 2713, SCI_INDEXPOSITIONFROMLINE = 2714,
  SCI_COUNTCODEUNITS = 2715, SCI_POSITIONRELATIVECODEUNITS = 2716, SCI_GETNAMEDSTYLES = 4029,
  SCI_NAMEOFSTYLE = 4030, SCI_TAGSOFSTYLE = 4031, SCI_DESCRIPTIONOFSTYLE = 4032,
  SCI_GETMOVEEXTENDSSELECTION = 2706, SCI_SETCOMMANDEVENTS = 2717, SCI_GETCOMMANDEVENTS = 2718,
  SCI_GETDOCUMENTOPTIONS = 2379
}
 
enum  {
  SC_AC_FILLUP = 1, SC_AC_DOUBLECLICK = 2, SC_AC_TAB = 3,
  SC_AC_NEWLINE = 4, SC_AC_COMMAND = 5
}
 
enum  { SC_ALPHA_TRANSPARENT = 0, SC_ALPHA_OPAQUE = 255, SC_ALPHA_NOALPHA = 256 }
 
enum  { SC_CARETSTICKY_OFF = 0, SC_CARETSTICKY_ON = 1, SC_CARETSTICKY_WHITESPACE = 2 }
 
enum  { SC_DOCUMENTOPTION_DEFAULT = 0x0000, SC_DOCUMENTOPTION_STYLES_NONE = 0x0001, SC_DOCUMENTOPTION_TEXT_LARGE = 0x0100 }
 
enum  {
  SC_EFF_QUALITY_MASK = 0x0f, SC_EFF_QUALITY_DEFAULT = 0, SC_EFF_QUALITY_NON_ANTIALIASED = 1,
  SC_EFF_QUALITY_ANTIALIASED = 2, SC_EFF_QUALITY_LCD_OPTIMIZED = 3
}
 
enum  {
  SC_IDLESTYLING_NONE = 0, SC_IDLESTYLING_TOVISIBLE = 1, SC_IDLESTYLING_AFTERVISIBLE = 2,
  SC_IDLESTYLING_ALL = 3
}
 
enum  { SC_IME_WINDOWED = 0, SC_IME_INLINE = 1 }
 
enum  { SC_LINECHARACTERINDEX_NONE = 0, SC_LINECHARACTERINDEX_UTF32 = 1, SC_LINECHARACTERINDEX_UTF16 = 2 }
 
enum  { SC_MARGINOPTION_NONE = 0x00, SC_MARGINOPTION_SUBLINESELECT = 0x01 }
 
enum  { SC_MULTIAUTOC_ONCE = 0, SC_MULTIAUTOC_EACH = 1 }
 
enum  { SC_MULTIPASTE_ONCE = 0, SC_MULTIPASTE_EACH = 1 }
 
enum  { SC_POPUP_NEVER = 0, SC_POPUP_ALL = 1, SC_POPUP_TEXT = 2 }
 
enum  {
  SC_SEL_STREAM = 0, SC_SEL_RECTANGLE = 1, SC_SEL_LINES = 2,
  SC_SEL_THIN = 3
}
 
enum  {
  SC_STATUS_OK = 0, SC_STATUS_FAILURE = 1, SC_STATUS_BADALLOC = 2,
  SC_STATUS_WARN_START = 1000, SC_STATUS_WARNREGEX = 1001
}
 
enum  { SC_TYPE_BOOLEAN = 0, SC_TYPE_INTEGER = 1, SC_TYPE_STRING = 2 }
 
enum  {
  SC_UPDATE_CONTENT = 0x01, SC_UPDATE_SELECTION = 0x02, SC_UPDATE_V_SCROLL = 0x04,
  SC_UPDATE_H_SCROLL = 0x08
}
 
enum  {
  SC_WRAPVISUALFLAG_NONE = 0x0000, SC_WRAPVISUALFLAG_END = 0x0001, SC_WRAPVISUALFLAG_START = 0x0002,
  SC_WRAPVISUALFLAG_MARGIN = 0x0004
}
 
enum  { SC_WRAPVISUALFLAGLOC_DEFAULT = 0x0000, SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 0x0001, SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 0x0002 }
 
enum  { SCTD_LONGARROW = 0, SCTD_STRIKEOUT = 1 }
 
enum  {
  SCVS_NONE = 0, SCVS_RECTANGULARSELECTION = 1, SCVS_USERACCESSIBLE = 2,
  SCVS_NOWRAPLINESTART = 4
}
 
enum  {
  SCWS_INVISIBLE = 0, SCWS_VISIBLEALWAYS = 1, SCWS_VISIBLEAFTERINDENT = 2,
  SCWS_VISIBLEONLYININDENT = 3
}
 
enum  { SC_EOL_CRLF = 0, SC_EOL_CR = 1, SC_EOL_LF = 2 }
 
enum  { SC_CP_DBCS = 1, SC_CP_UTF8 = 65001 }
 
enum  {
  SC_MARK_CIRCLE = 0, SC_MARK_ROUNDRECT = 1, SC_MARK_ARROW = 2,
  SC_MARK_SMALLRECT = 3, SC_MARK_SHORTARROW = 4, SC_MARK_EMPTY = 5,
  SC_MARK_ARROWDOWN = 6, SC_MARK_MINUS = 7, SC_MARK_PLUS = 8,
  SC_MARK_VLINE = 9, SC_MARK_LCORNER = 10, SC_MARK_TCORNER = 11,
  SC_MARK_BOXPLUS = 12, SC_MARK_BOXPLUSCONNECTED = 13, SC_MARK_BOXMINUS = 14,
  SC_MARK_BOXMINUSCONNECTED = 15, SC_MARK_LCORNERCURVE = 16, SC_MARK_TCORNERCURVE = 17,
  SC_MARK_CIRCLEPLUS = 18, SC_MARK_CIRCLEPLUSCONNECTED = 19, SC_MARK_CIRCLEMINUS = 20,
  SC_MARK_CIRCLEMINUSCONNECTED = 21, SC_MARK_BACKGROUND = 22, SC_MARK_DOTDOTDOT = 23,
  SC_MARK_ARROWS = 24, SC_MARK_PIXMAP = 25, SC_MARK_FULLRECT = 26,
  SC_MARK_LEFTRECT = 27, SC_MARK_AVAILABLE = 28, SC_MARK_UNDERLINE = 29,
  SC_MARK_RGBAIMAGE = 30, SC_MARK_BOOKMARK = 31, SC_MARK_CHARACTER = 10000
}
 
enum  {
  SC_MARKNUM_FOLDEREND = 25, SC_MARKNUM_FOLDEROPENMID = 26, SC_MARKNUM_FOLDERMIDTAIL = 27,
  SC_MARKNUM_FOLDERTAIL = 28, SC_MARKNUM_FOLDERSUB = 29, SC_MARKNUM_FOLDER = 30,
  SC_MARKNUM_FOLDEROPEN = 31, SC_MASK_FOLDERS = 0xfe000000
}
 
enum  {
  SC_MARGIN_SYMBOL = 0, SC_MARGIN_NUMBER = 1, SC_MARGIN_BACK = 2,
  SC_MARGIN_FORE = 3, SC_MARGIN_TEXT = 4, SC_MARGIN_RTEXT = 5,
  SC_MARGIN_COLOUR = 6
}
 
enum  {
  STYLE_DEFAULT = 32, STYLE_LINENUMBER = 33, STYLE_BRACELIGHT = 34,
  STYLE_BRACEBAD = 35, STYLE_CONTROLCHAR = 36, STYLE_INDENTGUIDE = 37,
  STYLE_CALLTIP = 38, STYLE_FOLDDISPLAYTEXT = 39, STYLE_LASTPREDEFINED = 39,
  STYLE_MAX = 255
}
 
enum  {
  SC_CHARSET_ANSI = 0, SC_CHARSET_DEFAULT = 1, SC_CHARSET_BALTIC = 186,
  SC_CHARSET_CHINESEBIG5 = 136, SC_CHARSET_EASTEUROPE = 238, SC_CHARSET_GB2312 = 134,
  SC_CHARSET_GREEK = 161, SC_CHARSET_HANGUL = 129, SC_CHARSET_MAC = 77,
  SC_CHARSET_OEM = 255, SC_CHARSET_RUSSIAN = 204, SC_CHARSET_OEM866 = 866,
  SC_CHARSET_CYRILLIC = 1251, SC_CHARSET_SHIFTJIS = 128, SC_CHARSET_SYMBOL = 2,
  SC_CHARSET_TURKISH = 162, SC_CHARSET_JOHAB = 130, SC_CHARSET_HEBREW = 177,
  SC_CHARSET_ARABIC = 178, SC_CHARSET_VIETNAMESE = 163, SC_CHARSET_THAI = 222,
  SC_CHARSET_8859_15 = 1000
}
 
enum  {
  SC_CASE_MIXED = 0, SC_CASE_UPPER = 1, SC_CASE_LOWER = 2,
  SC_CASE_CAMEL = 3
}
 
enum  {
  SC_IV_NONE = 0, SC_IV_REAL = 1, SC_IV_LOOKFORWARD = 2,
  SC_IV_LOOKBOTH = 3
}
 
enum  {
  INDIC_PLAIN = 0, INDIC_SQUIGGLE = 1, INDIC_TT = 2,
  INDIC_DIAGONAL = 3, INDIC_STRIKE = 4, INDIC_HIDDEN = 5,
  INDIC_BOX = 6, INDIC_ROUNDBOX = 7, INDIC_STRAIGHTBOX = 8,
  INDIC_DASH = 9, INDIC_DOTS = 10, INDIC_SQUIGGLELOW = 11,
  INDIC_DOTBOX = 12, INDIC_SQUIGGLEPIXMAP = 13, INDIC_COMPOSITIONTHICK = 14,
  INDIC_COMPOSITIONTHIN = 15, INDIC_FULLBOX = 16, INDIC_TEXTFORE = 17,
  INDIC_POINT = 18, INDIC_POINTCHARACTER = 19, INDIC_GRADIENT = 20,
  INDIC_GRADIENTCENTRE = 21, INDIC_IME = 32, INDIC_IME_MAX = 35,
  INDIC_CONTAINER = 8, INDIC_MAX = 35, INDIC0_MASK = 0x20,
  INDIC1_MASK = 0x40, INDIC2_MASK = 0x80, INDICS_MASK = 0xe0,
  SC_INDICVALUEBIT = 0x01000000, SC_INDICVALUEMASK = 0x00ffffff, SC_INDICFLAG_VALUEBEFORE = 1
}
 
enum  {
  SC_PRINT_NORMAL = 0, SC_PRINT_INVERTLIGHT = 1, SC_PRINT_BLACKONWHITE = 2,
  SC_PRINT_COLOURONWHITE = 3, SC_PRINT_COLOURONWHITEDEFAULTBG = 4, SC_PRINT_SCREENCOLOURS = 5
}
 
enum  {
  SCFIND_WHOLEWORD = 2, SCFIND_MATCHCASE = 4, SCFIND_WORDSTART = 0x00100000,
  SCFIND_REGEXP = 0x00200000, SCFIND_POSIX = 0x00400000, SCFIND_CXX11REGEX = 0x00800000
}
 
enum  { SC_FOLDDISPLAYTEXT_HIDDEN = 0, SC_FOLDDISPLAYTEXT_STANDARD = 1, SC_FOLDDISPLAYTEXT_BOXED = 2 }
 
enum  {
  SC_FOLDLEVELBASE = 0x00400, SC_FOLDLEVELWHITEFLAG = 0x01000, SC_FOLDLEVELHEADERFLAG = 0x02000,
  SC_FOLDLEVELNUMBERMASK = 0x00fff
}
 
enum  {
  SC_FOLDFLAG_LINEBEFORE_EXPANDED = 0x0002, SC_FOLDFLAG_LINEBEFORE_CONTRACTED = 0x0004, SC_FOLDFLAG_LINEAFTER_EXPANDED = 0x0008,
  SC_FOLDFLAG_LINEAFTER_CONTRACTED = 0x0010, SC_FOLDFLAG_LEVELNUMBERS = 0x0040, SC_FOLDFLAG_LINESTATE = 0x0080
}
 
enum  { SC_LINE_END_TYPE_DEFAULT = 0, SC_LINE_END_TYPE_UNICODE = 1 }
 
enum  { SC_TIME_FOREVER = 10000000 }
 
enum  {
  SC_WRAP_NONE = 0, SC_WRAP_WORD = 1, SC_WRAP_CHAR = 2,
  SC_WRAP_WHITESPACE = 3
}
 
enum  {
  SC_WRAPINDENT_FIXED = 0, SC_WRAPINDENT_SAME = 1, SC_WRAPINDENT_INDENT = 2,
  SC_WRAPINDENT_DEEPINDENT = 3
}
 
enum  {
  SC_CACHE_NONE = 0, SC_CACHE_CARET = 1, SC_CACHE_PAGE = 2,
  SC_CACHE_DOCUMENT = 3
}
 
enum  { SC_PHASES_ONE = 0, SC_PHASES_TWO = 1, SC_PHASES_MULTIPLE = 2 }
 
enum  {
  ANNOTATION_HIDDEN = 0, ANNOTATION_STANDARD = 1, ANNOTATION_BOXED = 2,
  ANNOTATION_INDENTED = 3
}
 
enum  {
  EDGE_NONE = 0, EDGE_LINE = 1, EDGE_BACKGROUND = 2,
  EDGE_MULTILINE = 3
}
 
enum  {
  SC_CURSORNORMAL = -1, SC_CURSORARROW = 2, SC_CURSORWAIT = 4,
  SC_CURSORREVERSEARROW = 7
}
 
enum  { UNDO_MAY_COALESCE = 1 }
 
enum  { VISIBLE_SLOP = 0x01, VISIBLE_STRICT = 0x04 }
 
enum  {
  CARET_SLOP = 0x01, CARET_STRICT = 0x04, CARET_JUMPS = 0x10,
  CARET_EVEN = 0x08
}
 
enum  { CARETSTYLE_INVISIBLE = 0, CARETSTYLE_LINE = 1, CARETSTYLE_BLOCK = 2 }
 
enum  {
  SC_MOD_INSERTTEXT = 0x1, SC_MOD_DELETETEXT = 0x2, SC_MOD_CHANGESTYLE = 0x4,
  SC_MOD_CHANGEFOLD = 0x8, SC_PERFORMED_USER = 0x10, SC_PERFORMED_UNDO = 0x20,
  SC_PERFORMED_REDO = 0x40, SC_MULTISTEPUNDOREDO = 0x80, SC_LASTSTEPINUNDOREDO = 0x100,
  SC_MOD_CHANGEMARKER = 0x200, SC_MOD_BEFOREINSERT = 0x400, SC_MOD_BEFOREDELETE = 0x800,
  SC_MULTILINEUNDOREDO = 0x1000, SC_STARTACTION = 0x2000, SC_MOD_CHANGEINDICATOR = 0x4000,
  SC_MOD_CHANGELINESTATE = 0x8000, SC_MOD_CHANGEMARGIN = 0x10000, SC_MOD_CHANGEANNOTATION = 0x20000,
  SC_MOD_CONTAINER = 0x40000, SC_MOD_LEXERSTATE = 0x80000, SC_MOD_INSERTCHECK = 0x100000,
  SC_MOD_CHANGETABSTOPS = 0x200000, SC_MODEVENTMASKALL = 0x3fffff
}
 
enum  {
  SCK_DOWN = 300, SCK_UP = 301, SCK_LEFT = 302,
  SCK_RIGHT = 303, SCK_HOME = 304, SCK_END = 305,
  SCK_PRIOR = 306, SCK_NEXT = 307, SCK_DELETE = 308,
  SCK_INSERT = 309, SCK_ESCAPE = 7, SCK_BACK = 8,
  SCK_TAB = 9, SCK_RETURN = 13, SCK_ADD = 310,
  SCK_SUBTRACT = 311, SCK_DIVIDE = 312, SCK_WIN = 313,
  SCK_RWIN = 314, SCK_MENU = 315
}
 
enum  {
  SCMOD_NORM = 0, SCMOD_SHIFT = 1, SCMOD_CTRL = 2,
  SCMOD_ALT = 4, SCMOD_SUPER = 8, SCMOD_META = 16
}
 
enum  {
  SCLEX_CONTAINER = 0, SCLEX_NULL = 1, SCLEX_PYTHON = 2,
  SCLEX_CPP = 3, SCLEX_HTML = 4, SCLEX_XML = 5,
  SCLEX_PERL = 6, SCLEX_SQL = 7, SCLEX_VB = 8,
  SCLEX_PROPERTIES = 9, SCLEX_ERRORLIST = 10, SCLEX_MAKEFILE = 11,
  SCLEX_BATCH = 12, SCLEX_LATEX = 14, SCLEX_LUA = 15,
  SCLEX_DIFF = 16, SCLEX_CONF = 17, SCLEX_PASCAL = 18,
  SCLEX_AVE = 19, SCLEX_ADA = 20, SCLEX_LISP = 21,
  SCLEX_RUBY = 22, SCLEX_EIFFEL = 23, SCLEX_EIFFELKW = 24,
  SCLEX_TCL = 25, SCLEX_NNCRONTAB = 26, SCLEX_BULLANT = 27,
  SCLEX_VBSCRIPT = 28, SCLEX_ASP = SCLEX_HTML, SCLEX_PHP = SCLEX_HTML,
  SCLEX_BAAN = 31, SCLEX_MATLAB = 32, SCLEX_SCRIPTOL = 33,
  SCLEX_ASM = 34, SCLEX_CPPNOCASE = 35, SCLEX_FORTRAN = 36,
  SCLEX_F77 = 37, SCLEX_CSS = 38, SCLEX_POV = 39,
  SCLEX_LOUT = 40, SCLEX_ESCRIPT = 41, SCLEX_PS = 42,
  SCLEX_NSIS = 43, SCLEX_MMIXAL = 44, SCLEX_CLW = 45,
  SCLEX_CLWNOCASE = 46, SCLEX_LOT = 47, SCLEX_YAML = 48,
  SCLEX_TEX = 49, SCLEX_METAPOST = 50, SCLEX_POWERBASIC = 51,
  SCLEX_FORTH = 52, SCLEX_ERLANG = 53, SCLEX_OCTAVE = 54,
  SCLEX_MSSQL = 55, SCLEX_VERILOG = 56, SCLEX_KIX = 57,
  SCLEX_GUI4CLI = 58, SCLEX_SPECMAN = 59, SCLEX_AU3 = 60,
  SCLEX_APDL = 61, SCLEX_BASH = 62, SCLEX_ASN1 = 63,
  SCLEX_VHDL = 64, SCLEX_CAML = 65, SCLEX_BLITZBASIC = 66,
  SCLEX_PUREBASIC = 67, SCLEX_HASKELL = 68, SCLEX_PHPSCRIPT = 69,
  SCLEX_TADS3 = 70, SCLEX_REBOL = 71, SCLEX_SMALLTALK = 72,
  SCLEX_FLAGSHIP = 73, SCLEX_CSOUND = 74, SCLEX_FREEBASIC = 75,
  SCLEX_INNOSETUP = 76, SCLEX_OPAL = 77, SCLEX_SPICE = 78,
  SCLEX_D = 79, SCLEX_CMAKE = 80, SCLEX_GAP = 81,
  SCLEX_PLM = 82, SCLEX_PROGRESS = 83, SCLEX_ABAQUS = 84,
  SCLEX_ASYMPTOTE = 85, SCLEX_R = 86, SCLEX_MAGIK = 87,
  SCLEX_POWERSHELL = 88, SCLEX_MYSQL = 89, SCLEX_PO = 90,
  SCLEX_TAL = 91, SCLEX_COBOL = 92, SCLEX_TACL = 93,
  SCLEX_SORCUS = 94, SCLEX_POWERPRO = 95, SCLEX_NIMROD = 96,
  SCLEX_SML = 97, SCLEX_MARKDOWN = 98, SCLEX_TXT2TAGS = 99,
  SCLEX_A68K = 100, SCLEX_MODULA = 101, SCLEX_COFFEESCRIPT = 102,
  SCLEX_TCMD = 103, SCLEX_AVS = 104, SCLEX_ECL = 105,
  SCLEX_OSCRIPT = 106, SCLEX_VISUALPROLOG = 107, SCLEX_LITERATEHASKELL = 108,
  SCLEX_STTXT = 109, SCLEX_KVIRC = 110, SCLEX_RUST = 111,
  SCLEX_DMAP = 112, SCLEX_AS = 113, SCLEX_DMIS = 114,
  SCLEX_REGISTRY = 115, SCLEX_BIBTEX = 116, SCLEX_SREC = 117,
  SCLEX_IHEX = 118, SCLEX_TEHEX = 119, SCLEX_JSON = 120,
  SCLEX_EDIFACT = 121, SCLEX_INDENT = 122, SCLEX_MAXIMA = 123,
  SCLEX_STATA = 124, SCLEX_SAS = 125
}
 
enum  { SC_WEIGHT_NORMAL = 400, SC_WEIGHT_SEMIBOLD = 600, SC_WEIGHT_BOLD = 700 }
 
enum  {
  SC_TECHNOLOGY_DEFAULT = 0, SC_TECHNOLOGY_DIRECTWRITE = 1, SC_TECHNOLOGY_DIRECTWRITERETAIN = 2,
  SC_TECHNOLOGY_DIRECTWRITEDC = 3
}
 
enum  { SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE = 0, SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE = 1 }
 
enum  { SC_FONT_SIZE_MULTIPLIER = 100 }
 
enum  { SC_FOLDACTION_CONTRACT = 0, SC_FOLDACTION_EXPAND = 1, SC_FOLDACTION_TOGGLE = 2 }
 
enum  { SC_AUTOMATICFOLD_SHOW = 0x0001, SC_AUTOMATICFOLD_CLICK = 0x0002, SC_AUTOMATICFOLD_CHANGE = 0x0004 }
 
enum  { SC_ORDER_PRESORTED = 0, SC_ORDER_PERFORMSORT = 1, SC_ORDER_CUSTOM = 2 }
 

Signals

void QSCN_SELCHANGED (bool yes)
 
void SCN_AUTOCCANCELLED ()
 
void SCN_AUTOCCHARDELETED ()
 
void SCN_AUTOCCOMPLETED (const char *selection, int position, int ch, int method)
 
void SCN_AUTOCSELECTION (const char *selection, int position, int ch, int method)
 
void SCN_AUTOCSELECTION (const char *selection, int position)
 
void SCN_AUTOCSELECTIONCHANGE (const char *selection, int id, int position)
 
void SCEN_CHANGE ()
 
void SCN_CALLTIPCLICK (int direction)
 
void SCN_CHARADDED (int charadded)
 
void SCN_DOUBLECLICK (int position, int line, int modifiers)
 
void SCN_DWELLEND (int position, int x, int y)
 
void SCN_DWELLSTART (int position, int x, int y)
 
void SCN_FOCUSIN ()
 
void SCN_FOCUSOUT ()
 
void SCN_HOTSPOTCLICK (int position, int modifiers)
 
void SCN_HOTSPOTDOUBLECLICK (int position, int modifiers)
 
void SCN_HOTSPOTRELEASECLICK (int position, int modifiers)
 
void SCN_INDICATORCLICK (int position, int modifiers)
 
void SCN_INDICATORRELEASE (int position, int modifiers)
 
void SCN_MACRORECORD (unsigned int, unsigned long, void *)
 
void SCN_MARGINCLICK (int position, int modifiers, int margin)
 
void SCN_MARGINRIGHTCLICK (int position, int modifiers, int margin)
 
void SCN_MODIFIED (int, int, const char *, int, int, int, int, int, int, int)
 
void SCN_MODIFYATTEMPTRO ()
 
void SCN_NEEDSHOWN (int, int)
 
void SCN_PAINTED ()
 
void SCN_SAVEPOINTLEFT ()
 
void SCN_SAVEPOINTREACHED ()
 
void SCN_STYLENEEDED (int position)
 
void SCN_URIDROPPED (const QUrl &url)
 
void SCN_UPDATEUI (int updated)
 
void SCN_USERLISTSELECTION (const char *selection, int id, int ch, int method, int position)
 
void SCN_USERLISTSELECTION (const char *selection, int id, int ch, int method)
 
void SCN_USERLISTSELECTION (const char *selection, int id)
 
void SCN_ZOOM ()
 

Public Member Functions

 QsciScintillaBase (QWidget *parent=0)
 
virtual ~QsciScintillaBase ()
 
void replaceHorizontalScrollBar (QScrollBar *scrollBar)
 
void replaceVerticalScrollBar (QScrollBar *scrollBar)
 
long SendScintilla (unsigned int msg, unsigned long wParam=0, long lParam=0) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, void *lParam) const
 
long SendScintilla (unsigned int msg, uintptr_t wParam, const char *lParam) const
 
long SendScintilla (unsigned int msg, const char *lParam) const
 
long SendScintilla (unsigned int msg, const char *wParam, const char *lParam) const
 
long SendScintilla (unsigned int msg, long wParam) const
 
long SendScintilla (unsigned int msg, int wParam) const
 
long SendScintilla (unsigned int msg, long cpMin, long cpMax, char *lpstrText) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, const QColor &col) const
 
long SendScintilla (unsigned int msg, const QColor &col) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, QPainter *hdc, const QRect &rc, long cpMin, long cpMax) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, const QPixmap &lParam) const
 
long SendScintilla (unsigned int msg, unsigned long wParam, const QImage &lParam) const
 
void * SendScintillaPtrResult (unsigned int msg) const
 

Static Public Member Functions

static QsciScintillaBasepool ()
 
static int commandKey (int qt_key, int &modifiers)
 

Protected Types

typedef QByteArray ScintillaBytes
 

Protected Member Functions

virtual bool canInsertFromMimeData (const QMimeData *source) const
 
virtual QByteArray fromMimeData (const QMimeData *source, bool &rectangular) const
 
virtual QMimeData * toMimeData (const QByteArray &text, bool rectangular) const
 
virtual void changeEvent (QEvent *e)
 
virtual void contextMenuEvent (QContextMenuEvent *e)
 
virtual void dragEnterEvent (QDragEnterEvent *e)
 
virtual void dragLeaveEvent (QDragLeaveEvent *e)
 
virtual void dragMoveEvent (QDragMoveEvent *e)
 
virtual void dropEvent (QDropEvent *e)
 
virtual void focusInEvent (QFocusEvent *e)
 
virtual void focusOutEvent (QFocusEvent *e)
 
virtual bool focusNextPrevChild (bool next)
 
virtual void keyPressEvent (QKeyEvent *e)
 
virtual void inputMethodEvent (QInputMethodEvent *event)
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const
 
virtual void mouseDoubleClickEvent (QMouseEvent *e)
 
virtual void mouseMoveEvent (QMouseEvent *e)
 
virtual void mousePressEvent (QMouseEvent *e)
 
virtual void mouseReleaseEvent (QMouseEvent *e)
 
virtual void paintEvent (QPaintEvent *e)
 
virtual void resizeEvent (QResizeEvent *e)
 
virtual void scrollContentsBy (int dx, int dy)
 
void setScrollBars ()
 
ScintillaBytes textAsBytes (const QString &text) const
 
QString bytesAsText (const char *bytes) const
 
bool contextMenuNeeded (int x, int y) const
 

Detailed Description

The QsciScintillaBase class implements the Scintilla editor widget and its low-level API.

Scintilla (http://www.scintilla.org) is a powerful C++ editor class that supports many features including syntax styling, error indicators, code completion and call tips. It is particularly useful as a programmer's editor.

QsciScintillaBase is a port to Qt of Scintilla. It implements the standard Scintilla API which consists of a number of messages each taking up to two arguments.

See QsciScintilla for the implementation of a higher level API that is more consistent with the rest of the Qt toolkit.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

The low-level Scintilla API is implemented as a set of messages each of which takes up to two parameters (wParam and lParam) and optionally return a value. This enum defines all the possible messages.

Enumerator
SCI_ADDTEXT 

This message appends some text to the end of the document. wParam is the length of the text. lParam is the text to be appended.

SCI_GETCURRENTPOS 

This message returns the current position.

    \sa SCI_SETCURRENTPOS 
SCI_GETANCHOR 

This message returns the anchor.

    \sa SCI_SETANCHOR 
SCI_SETSAVEPOINT 

This message marks the current state of the text as the the save point. This is usually done when the text is saved or loaded.

See also
SCN_SAVEPOINTREACHED(), SCN_SAVEPOINTLEFT()
SCI_MARKERLINEFROMHANDLE 

This message returns the line that contains a particular instance of a marker. wParam is the handle of the marker.

See also
SCI_MARKERADD
SCI_MARKERDELETEHANDLE 

This message removes a particular instance of a marker. wParam is the handle of the marker.

See also
SCI_MARKERADD
SCI_GOTOPOS 

This message clears the current selection and sets the current position. wParam is the new current position.

See also
SCI_SETCURRENTPOS
SCI_SETANCHOR 

This message sets the anchor. wParam is the new anchor.

See also
SCI_GETANCHOR
SCI_GETENDSTYLED 

This message returns the character position of the start of the text that needs to be syntax styled.

See also
SCN_STYLENEEDED()
SCI_MARKERDEFINE 

This message sets the symbol used to draw one of 32 markers. Some markers have pre-defined uses, see the SC_MARKNUM_* values. wParam is the number of the marker. lParam is the marker symbol and is one of the SC_MARK_* values.

See also
SCI_MARKERADD, SCI_MARKERDEFINEPIXMAP, SCI_MARKERDEFINERGBAIMAGE
SCI_MARKERSETFORE 

This message sets the foreground colour used to draw a marker. A colour is represented as a 24 bit value. The 8 least significant bits correspond to red, the middle 8 bits correspond to green, and the 8 most significant bits correspond to blue. The default value is 0x000000. wParam is the number of the marker. lParam is the colour.

See also
SCI_MARKERSETBACK
SCI_MARKERSETBACK 

This message sets the background colour used to draw a marker. A colour is represented as a 24 bit value. The 8 least significant bits correspond to red, the middle 8 bits correspond to green, and the 8 most significant bits correspond to blue. The default value is 0xffffff. wParam is the number of the marker. lParam is the colour.

See also
SCI_MARKERSETFORE
SCI_MARKERADD 

This message adds a marker to a line. A handle for the marker is returned which can be used to track the marker's position. wParam is the line number. lParam is the number of the marker.

See also
SCI_MARKERDELETE, SCI_MARKERDELETEALL, SCI_MARKERDELETEHANDLE
SCI_MARKERDELETE 

This message deletes a marker from a line. wParam is the line number. lParam is the number of the marker.

See also
SCI_MARKERADD, SCI_MARKERDELETEALL
SCI_MARKERDELETEALL 

This message deletes all occurences of a marker. wParam is the number of the marker. If wParam is -1 then all markers are removed.

See also
SCI_MARKERADD, SCI_MARKERDELETE
SCI_MARKERGET 

This message returns the 32 bit mask of markers at a line. wParam is the line number.

SCI_MARKERNEXT 

This message looks for the next line to contain at least one marker contained in a 32 bit mask of markers and returns the line number. wParam is the line number to start the search from. lParam is the mask of markers to search for.

See also
SCI_MARKERPREVIOUS
SCI_MARKERPREVIOUS 

This message looks for the previous line to contain at least one marker contained in a 32 bit mask of markers and returns the line number. wParam is the line number to start the search from. lParam is the mask of markers to search for.

See also
SCI_MARKERNEXT
SCI_MARKERDEFINEPIXMAP 

This message sets the symbol used to draw one of the 32 markers to a pixmap. Pixmaps use the SC_MARK_PIXMAP marker symbol. wParam is the number of the marker. lParam is a pointer to a QPixmap instance. Note that in other ports of Scintilla this is a pointer to either raw or textual XPM image data.

See also
SCI_MARKERDEFINE, SCI_MARKERDEFINERGBAIMAGE
SCI_SETMARGINTYPEN 

This message sets what can be displayed in a margin. wParam is the number of the margin. lParam is the logical or of the SC_MARGIN_* values.

See also
SCI_GETMARGINTYPEN
SCI_GETMARGINTYPEN 

This message returns what can be displayed in a margin. wParam is the number of the margin.

See also
SCI_SETMARGINTYPEN
SCI_SETMARGINWIDTHN 

This message sets the width of a margin in pixels. wParam is the number of the margin. lParam is the new margin width.

See also
SCI_GETMARGINWIDTHN
SCI_GETMARGINWIDTHN 

This message returns the width of a margin in pixels. wParam is the number of the margin.

See also
SCI_SETMARGINWIDTHN
SCI_SETMARGINMASKN 

This message sets the mask of a margin. The mask is a 32 value with one bit for each possible marker. If a bit is set then the corresponding marker is displayed. By default, all markers are displayed. wParam is the number of the margin. lParam is the new margin mask.

See also
SCI_GETMARGINMASKN, SCI_MARKERDEFINE
SCI_GETMARGINMASKN 

This message returns the mask of a margin. wParam is the number of the margin.

See also
SCI_SETMARGINMASKN
SCI_SETMARGINSENSITIVEN 

This message sets the sensitivity of a margin to mouse clicks. wParam is the number of the margin. lParam is non-zero to make the margin sensitive to mouse clicks. When the mouse is clicked the SCN_MARGINCLICK() signal is emitted.

See also
SCI_GETMARGINSENSITIVEN, SCN_MARGINCLICK()
SCI_GETMARGINSENSITIVEN 

This message returns the sensitivity of a margin to mouse clicks. wParam is the number of the margin.

See also
SCI_SETMARGINSENSITIVEN, SCN_MARGINCLICK()
SCI_SETMARGINCURSORN 

This message sets the cursor shape displayed over a margin. wParam is the number of the margin. lParam is the cursor shape, normally either SC_CURSORARROW or SC_CURSORREVERSEARROW. Note that, currently, QScintilla implements both of these as Qt::ArrowCursor.

See also
SCI_GETMARGINCURSORN
SCI_GETMARGINCURSORN 

This message returns the cursor shape displayed over a margin. wParam is the number of the margin.

See also
SCI_SETMARGINCURSORN
SCI_GETREADONLY 

This message returns a non-zero value if the document is read-only.

    \sa SCI_SETREADONLY 
SCI_SETCURRENTPOS 

This message sets the current position. wParam is the new current position.

See also
SCI_GETCURRENTPOS
SCI_GETMODIFY 

This message returns a non-zero value if the document has been modified.

SCI_SETREADONLY 

This message sets the read-only state of the document. wParam is the new read-only state of the document.

See also
SCI_GETREADONLY
SCI_EMPTYUNDOBUFFER 

This message empties the undo buffer.

SCI_SETTEXT 

This message sets the text of the document. wParam is unused. lParam is the new text of the document.

See also
SCI_GETTEXT
SCI_GETTEXT 

This message gets the text of the document. wParam is size of the buffer that the text is copied to. lParam is the address of the buffer that the text is copied to.

See also
SCI_SETTEXT
SCI_GETTEXTLENGTH 

This message returns the length of the document.

SCI_AUTOCSETMAXHEIGHT 

This message is not implemented.

SCI_TEXTWIDTH 

This message returns the width of some text when rendered in a particular style. wParam is the style number and is one of the STYLE_* values or one of the styles defined by a lexer. lParam is a pointer to the text.

SCI_REGISTERIMAGE 

This message takes a copy of an image and registers it so that it can be refered to by a unique integer identifier. wParam is the image's identifier. lParam is a pointer to a QPixmap instance. Note that in other ports of Scintilla this is a pointer to either raw or textual XPM image data.

See also
SCI_CLEARREGISTEREDIMAGES, SCI_REGISTERRGBAIMAGE
SCI_CLEARREGISTEREDIMAGES 

This message de-registers all currently registered images.

    \sa SCI_REGISTERIMAGE, SCI_REGISTERRGBAIMAGE 
SCI_COPYALLOWLINE 

This message copies the selection. If the selection is empty then copy the line with the caret.

SCI_GETCHARACTERPOINTER 

This message returns a pointer to the document text. Any subsequent message will invalidate the pointer.

SCI_RGBAIMAGESETWIDTH 

This message sets the width of an RGBA image specified by a future call to SCI_MARKERDEFINERGBAIMAGE or SCI_REGISTERRGBAIMAGE.

See also
SCI_RGBAIMAGESETHEIGHT, SCI_MARKERDEFINERGBAIMAGE, SCI_REGISTERRGBAIMAGE.
SCI_RGBAIMAGESETHEIGHT 

This message sets the height of an RGBA image specified by a future call to SCI_MARKERDEFINERGBAIMAGE or SCI_REGISTERRGBAIMAGE.

See also
SCI_RGBAIMAGESETWIDTH, SCI_MARKERDEFINERGBAIMAGE, SCI_REGISTERRGBAIMAGE.
SCI_MARKERDEFINERGBAIMAGE 

This message sets the symbol used to draw one of the 32 markers to an RGBA image. RGBA images use the SC_MARK_RGBAIMAGE marker symbol. wParam is the number of the marker. lParam is a pointer to a QImage instance. Note that in other ports of Scintilla this is a pointer to raw RGBA image data.

See also
SCI_MARKERDEFINE, SCI_MARKERDEFINEPIXMAP
SCI_REGISTERRGBAIMAGE 

This message takes a copy of an image and registers it so that it can be refered to by a unique integer identifier. wParam is the image's identifier. lParam is a pointer to a QImage instance. Note that in other ports of Scintilla this is a pointer to raw RGBA image data.

See also
SCI_CLEARREGISTEREDIMAGES, SCI_REGISTERIMAGE
SCI_SETLEXER 

This message sets the number of the lexer to use for syntax styling. wParam is the number of the lexer and is one of the SCLEX_* values.

SCI_GETLEXER 

This message returns the number of the lexer being used for syntax styling.

SCI_SETLEXERLANGUAGE 

This message sets the name of the lexer to use for syntax styling. wParam is unused. lParam is the name of the lexer.

◆ anonymous enum

anonymous enum

This enum defines the different selection modes.

See also
SCI_GETSELECTIONMODE, SCI_SETSELECTIONMODE

◆ anonymous enum

anonymous enum

This enum defines the different marker symbols.

See also
SCI_MARKERDEFINE
Enumerator
SC_MARK_CIRCLE 

A circle.

SC_MARK_ROUNDRECT 

A rectangle.

SC_MARK_ARROW 

A triangle pointing to the right.

SC_MARK_SMALLRECT 

A smaller rectangle.

SC_MARK_SHORTARROW 

An arrow pointing to the right.

SC_MARK_EMPTY 

An invisible marker that allows code to track the movement of lines.

SC_MARK_ARROWDOWN 

A triangle pointing down.

SC_MARK_MINUS 

A drawn minus sign.

SC_MARK_PLUS 

A drawn plus sign.

SC_MARK_VLINE 

A vertical line drawn in the background colour.

SC_MARK_LCORNER 

A bottom left corner drawn in the background colour.

SC_MARK_TCORNER 

A vertical line with a centre right horizontal line drawn in the background colour.

SC_MARK_BOXPLUS 

A drawn plus sign in a box.

SC_MARK_BOXPLUSCONNECTED 

A drawn plus sign in a connected box.

SC_MARK_BOXMINUS 

A drawn minus sign in a box.

SC_MARK_BOXMINUSCONNECTED 

A drawn minus sign in a connected box.

SC_MARK_LCORNERCURVE 

A rounded bottom left corner drawn in the background colour.

SC_MARK_TCORNERCURVE 

A vertical line with a centre right curved line drawn in the background colour.

SC_MARK_CIRCLEPLUS 

A drawn plus sign in a circle.

SC_MARK_CIRCLEPLUSCONNECTED 

A drawn plus sign in a connected box.

SC_MARK_CIRCLEMINUS 

A drawn minus sign in a circle.

SC_MARK_CIRCLEMINUSCONNECTED 

A drawn minus sign in a connected circle.

SC_MARK_BACKGROUND 

No symbol is drawn but the line is drawn with the same background color as the marker's.

SC_MARK_DOTDOTDOT 

Three drawn dots.

SC_MARK_ARROWS 

Three drawn arrows pointing right.

SC_MARK_PIXMAP 

An XPM format pixmap.

SC_MARK_FULLRECT 

A full rectangle (ie. the margin background) using the marker's background color.

SC_MARK_LEFTRECT 

A left rectangle (ie. the left part of the margin background) using the marker's background color.

SC_MARK_AVAILABLE 

The value is available for plugins to use.

SC_MARK_UNDERLINE 

The line is underlined using the marker's background color.

SC_MARK_RGBAIMAGE 

A RGBA format image.

SC_MARK_BOOKMARK 

A bookmark.

SC_MARK_CHARACTER 

Characters can be used as symbols by adding this to the ASCII value of the character.

◆ anonymous enum

anonymous enum

This enum defines what can be displayed in a margin.

See also
SCI_GETMARGINTYPEN, SCI_SETMARGINTYPEN
Enumerator
SC_MARGIN_SYMBOL 

The margin can display symbols. Note that all margins can display symbols.

SC_MARGIN_NUMBER 

The margin will display line numbers.

SC_MARGIN_BACK 

The margin's background color will be set to the default background color.

SC_MARGIN_FORE 

The margin's background color will be set to the default foreground color.

SC_MARGIN_TEXT 

The margin will display text.

SC_MARGIN_RTEXT 

The margin will display right justified text.

SC_MARGIN_COLOUR 

The margin's background color will be set to the color set by SCI_SETMARGINBACKN.

◆ anonymous enum

anonymous enum

This enum defines the different indentation guide views.

See also
SCI_GETINDENTATIONGUIDES, SCI_SETINDENTATIONGUIDES
Enumerator
SC_IV_NONE 

No indentation guides are shown.

SC_IV_REAL 

Indentation guides are shown inside real indentation white space.

SC_IV_LOOKFORWARD 

Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line. If the previous non-empty line was a fold header then indentation guides are shown for one more level of indent than that line. This setting is good for Python.

SC_IV_LOOKBOTH 

Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line or previous non-empty line whichever is the greater. This setting is good for most languages.

◆ anonymous enum

anonymous enum

This enum defines the different modifier keys.

Enumerator
SCMOD_NORM 

No modifier key.

SCMOD_SHIFT 

Shift key.

SCMOD_CTRL 

Control key (the Command key on OS/X, the Ctrl key on other platforms).

SCMOD_ALT 

Alt key.

SCMOD_SUPER 

This is the same as SCMOD_META on all platforms.

SCMOD_META 

Meta key (the Ctrl key on OS/X, the Windows key on other platforms).

◆ anonymous enum

anonymous enum

This enum defines the different language lexers.

See also
SCI_GETLEXER, SCI_SETLEXER
Enumerator
SCLEX_CONTAINER 

No lexer is selected and the SCN_STYLENEEDED signal is emitted so that the application can style the text as needed. This is the default.

SCLEX_NULL 

Select the null lexer that does no syntax styling.

SCLEX_PYTHON 

Select the Python lexer.

SCLEX_CPP 

Select the C++ lexer.

SCLEX_HTML 

Select the HTML lexer.

SCLEX_XML 

Select the XML lexer.

SCLEX_PERL 

Select the Perl lexer.

SCLEX_SQL 

Select the SQL lexer.

SCLEX_VB 

Select the Visual Basic lexer.

SCLEX_PROPERTIES 

Select the lexer for properties style files.

SCLEX_ERRORLIST 

Select the lexer for error list style files.

SCLEX_MAKEFILE 

Select the Makefile lexer.

SCLEX_BATCH 

Select the Windows batch file lexer.

SCLEX_LATEX 

Select the LaTex lexer.

SCLEX_LUA 

Select the Lua lexer.

SCLEX_DIFF 

Select the lexer for diff output.

SCLEX_CONF 

Select the lexer for Apache configuration files.

SCLEX_PASCAL 

Select the Pascal lexer.

SCLEX_AVE 

Select the Avenue lexer.

SCLEX_ADA 

Select the Ada lexer.

SCLEX_LISP 

Select the Lisp lexer.

SCLEX_RUBY 

Select the Ruby lexer.

SCLEX_EIFFEL 

Select the Eiffel lexer.

SCLEX_EIFFELKW 

Select the Eiffel lexer folding at keywords.

SCLEX_TCL 

Select the Tcl lexer.

SCLEX_NNCRONTAB 

Select the lexer for nnCron files.

SCLEX_BULLANT 

Select the Bullant lexer.

SCLEX_VBSCRIPT 

Select the VBScript lexer.

SCLEX_ASP 

Select the ASP lexer.

SCLEX_PHP 

Select the PHP lexer.

SCLEX_BAAN 

Select the Baan lexer.

SCLEX_MATLAB 

Select the Matlab lexer.

SCLEX_SCRIPTOL 

Select the Scriptol lexer.

SCLEX_ASM 

Select the assembler lexer (';' comment character).

SCLEX_CPPNOCASE 

Select the C++ lexer with case insensitive keywords.

SCLEX_FORTRAN 

Select the FORTRAN lexer.

SCLEX_F77 

Select the FORTRAN77 lexer.

SCLEX_CSS 

Select the CSS lexer.

SCLEX_POV 

Select the POV lexer.

SCLEX_LOUT 

Select the Basser Lout typesetting language lexer.

SCLEX_ESCRIPT 

Select the EScript lexer.

SCLEX_PS 

Select the PostScript lexer.

SCLEX_NSIS 

Select the NSIS lexer.

SCLEX_MMIXAL 

Select the MMIX assembly language lexer.

SCLEX_CLW 

Select the Clarion lexer.

SCLEX_CLWNOCASE 

Select the Clarion lexer with case insensitive keywords.

SCLEX_LOT 

Select the MPT text log file lexer.

SCLEX_YAML 

Select the YAML lexer.

SCLEX_TEX 

Select the TeX lexer.

SCLEX_METAPOST 

Select the Metapost lexer.

SCLEX_POWERBASIC 

Select the PowerBASIC lexer.

SCLEX_FORTH 

Select the Forth lexer.

SCLEX_ERLANG 

Select the Erlang lexer.

SCLEX_OCTAVE 

Select the Octave lexer.

SCLEX_MSSQL 

Select the MS SQL lexer.

SCLEX_VERILOG 

Select the Verilog lexer.

SCLEX_KIX 

Select the KIX-Scripts lexer.

SCLEX_GUI4CLI 

Select the Gui4Cli lexer.

SCLEX_SPECMAN 

Select the Specman E lexer.

SCLEX_AU3 

Select the AutoIt3 lexer.

SCLEX_APDL 

Select the APDL lexer.

SCLEX_BASH 

Select the Bash lexer.

SCLEX_ASN1 

Select the ASN.1 lexer.

SCLEX_VHDL 

Select the VHDL lexer.

SCLEX_CAML 

Select the Caml lexer.

SCLEX_BLITZBASIC 

Select the BlitzBasic lexer.

SCLEX_PUREBASIC 

Select the PureBasic lexer.

SCLEX_HASKELL 

Select the Haskell lexer.

SCLEX_PHPSCRIPT 

Select the PHPScript lexer.

SCLEX_TADS3 

Select the TADS3 lexer.

SCLEX_REBOL 

Select the REBOL lexer.

SCLEX_SMALLTALK 

Select the Smalltalk lexer.

SCLEX_FLAGSHIP 

Select the FlagShip lexer.

SCLEX_CSOUND 

Select the Csound lexer.

SCLEX_FREEBASIC 

Select the FreeBasic lexer.

SCLEX_INNOSETUP 

Select the InnoSetup lexer.

SCLEX_OPAL 

Select the Opal lexer.

SCLEX_SPICE 

Select the Spice lexer.

SCLEX_D 

Select the D lexer.

SCLEX_CMAKE 

Select the CMake lexer.

SCLEX_GAP 

Select the GAP lexer.

SCLEX_PLM 

Select the PLM lexer.

SCLEX_PROGRESS 

Select the Progress lexer.

SCLEX_ABAQUS 

Select the Abaqus lexer.

SCLEX_ASYMPTOTE 

Select the Asymptote lexer.

SCLEX_R 

Select the R lexer.

SCLEX_MAGIK 

Select the MagikSF lexer.

SCLEX_POWERSHELL 

Select the PowerShell lexer.

SCLEX_MYSQL 

Select the MySQL lexer.

SCLEX_PO 

Select the gettext .po file lexer.

SCLEX_TAL 

Select the TAL lexer.

SCLEX_COBOL 

Select the COBOL lexer.

SCLEX_TACL 

Select the TACL lexer.

SCLEX_SORCUS 

Select the Sorcus lexer.

SCLEX_POWERPRO 

Select the PowerPro lexer.

SCLEX_NIMROD 

Select the Nimrod lexer.

SCLEX_SML 

Select the SML lexer.

SCLEX_MARKDOWN 

Select the Markdown lexer.

SCLEX_TXT2TAGS 

Select the txt2tags lexer.

SCLEX_A68K 

Select the 68000 assembler lexer.

SCLEX_MODULA 

Select the Modula 3 lexer.

SCLEX_COFFEESCRIPT 

Select the CoffeeScript lexer.

SCLEX_TCMD 

Select the Take Command lexer.

SCLEX_AVS 

Select the AviSynth lexer.

SCLEX_ECL 

Select the ECL lexer.

SCLEX_OSCRIPT 

Select the OScript lexer.

SCLEX_VISUALPROLOG 

Select the Visual Prolog lexer.

SCLEX_LITERATEHASKELL 

Select the Literal Haskell lexer.

SCLEX_STTXT 

Select the Structured Text lexer.

SCLEX_KVIRC 

Select the KVIrc lexer.

SCLEX_RUST 

Select the Rust lexer.

SCLEX_DMAP 

Select the MSC Nastran DMAP lexer.

SCLEX_AS 

Select the assembler lexer ('#' comment character).

SCLEX_DMIS 

Select the DMIS lexer.

SCLEX_REGISTRY 

Select the lexer for Windows registry files.

SCLEX_BIBTEX 

Select the BibTex lexer.

SCLEX_SREC 

Select the Motorola S-Record hex lexer.

SCLEX_IHEX 

Select the Intel hex lexer.

SCLEX_TEHEX 

Select the Tektronix extended hex lexer.

SCLEX_JSON 

Select the JSON hex lexer.

SCLEX_EDIFACT 

Select the EDIFACT lexer.

SCLEX_INDENT 

Select the pseudo-lexer used for the indentation-based folding of files.

SCLEX_MAXIMA 

Select the Maxima lexer.

SCLEX_STATA 

Select the Stata lexer.

SCLEX_SAS 

Select the SAS lexer.

Member Function Documentation

◆ pool()

static QsciScintillaBase* QsciScintillaBase::pool ( )
static

Returns a pointer to a QsciScintillaBase instance, or 0 if there isn't one. This can be used by the higher level API to send messages that aren't associated with a particular instance.

◆ replaceHorizontalScrollBar()

void QsciScintillaBase::replaceHorizontalScrollBar ( QScrollBar *  scrollBar)

Replaces the existing horizontal scroll bar with scrollBar. The existing scroll bar is deleted. This should be called instead of QAbstractScrollArea::setHorizontalScrollBar().

◆ replaceVerticalScrollBar()

void QsciScintillaBase::replaceVerticalScrollBar ( QScrollBar *  scrollBar)

Replaces the existing vertical scroll bar with scrollBar. The existing scroll bar is deleted. This should be called instead of QAbstractScrollArea::setHorizontalScrollBar().

◆ SendScintilla()

long QsciScintillaBase::SendScintilla ( unsigned int  msg,
unsigned long  wParam = 0,
long  lParam = 0 
) const

Send the Scintilla message msg with the optional parameters wParam and lParam.

◆ QSCN_SELCHANGED

void QsciScintillaBase::QSCN_SELCHANGED ( bool  yes)
signal

This signal is emitted when text is selected or de-selected. yes is true if text has been selected and false if text has been deselected.

◆ SCN_AUTOCCANCELLED

void QsciScintillaBase::SCN_AUTOCCANCELLED ( )
signal

This signal is emitted when the user cancels an auto-completion list.

See also
SCN_AUTOCSELECTION()

◆ SCN_AUTOCCHARDELETED

void QsciScintillaBase::SCN_AUTOCCHARDELETED ( )
signal

This signal is emitted when the user deletes a character when an auto-completion list is active.

◆ SCN_AUTOCCOMPLETED

void QsciScintillaBase::SCN_AUTOCCOMPLETED ( const char *  selection,
int  position,
int  ch,
int  method 
)
signal

This signal is emitted after an auto-completion has inserted its text. selection is the text of the selection. position is the start position of the word being completed. ch is the fillup character that triggered the selection if method is SC_AC_FILLUP. method is the method used to trigger the selection.

See also
SCN_AUTOCCANCELLED(), SCN_AUTOCSELECTION()

◆ SCN_AUTOCSELECTION

void QsciScintillaBase::SCN_AUTOCSELECTION ( const char *  selection,
int  position,
int  ch,
int  method 
)
signal

This signal is emitted when the user selects an item in an auto-completion list. It is emitted before the selection is inserted. The insertion can be cancelled by sending an SCI_AUTOCANCEL message from a connected slot. selection is the text of the selection. position is the start position of the word being completed. ch is the fillup character that triggered the selection if method is SC_AC_FILLUP. method is the method used to trigger the selection.

See also
SCN_AUTOCCANCELLED(), SCN_AUTOCCOMPLETED()

◆ SCN_AUTOCSELECTIONCHANGE

void QsciScintillaBase::SCN_AUTOCSELECTIONCHANGE ( const char *  selection,
int  id,
int  position 
)
signal

This signal is emitted when the user highlights an item in an auto-completion or user list. selection is the text of the selection. id is an identifier for the list which was passed as an argument to the SCI_USERLISTSHOW message or 0 if the list is an auto-completion list. position is the position that the list was displayed at.

◆ SCN_CALLTIPCLICK

void QsciScintillaBase::SCN_CALLTIPCLICK ( int  direction)
signal

This signal is emitted when the user clicks on a calltip. direction is 1 if the user clicked on the up arrow, 2 if the user clicked on the down arrow, and 0 if the user clicked elsewhere.

◆ SCN_CHARADDED

void QsciScintillaBase::SCN_CHARADDED ( int  charadded)
signal

This signal is emitted whenever the user enters an ordinary character into the text. charadded is the character. It can be used to decide to display a call tip or an auto-completion list.

◆ SCN_DOUBLECLICK

void QsciScintillaBase::SCN_DOUBLECLICK ( int  position,
int  line,
int  modifiers 
)
signal

This signal is emitted when the user double clicks. position is the position in the text where the click occured. line is the number of the line in the text where the click occured. modifiers is the logical or of the modifier keys that were pressed when the user double clicked.

◆ SCN_DWELLEND

void QsciScintillaBase::SCN_DWELLEND ( int  position,
int  x,
int  y 
)
signal

This signal is emitted when the user moves the mouse (or presses a key) after keeping it in one position for the dwell period. position is the position in the text where the mouse dwells. x is the x-coordinate where the mouse dwells. y is the y-coordinate where the mouse dwells.

See also
SCN_DWELLSTART, SCI_SETMOUSEDWELLTIME

◆ SCN_DWELLSTART

void QsciScintillaBase::SCN_DWELLSTART ( int  position,
int  x,
int  y 
)
signal

This signal is emitted when the user keeps the mouse in one position for the dwell period. position is the position in the text where the mouse dwells. x is the x-coordinate where the mouse dwells. y is the y-coordinate where the mouse dwells.

See also
SCN_DWELLEND, SCI_SETMOUSEDWELLTIME

◆ SCN_HOTSPOTCLICK

void QsciScintillaBase::SCN_HOTSPOTCLICK ( int  position,
int  modifiers 
)
signal

This signal is emitted when the user clicks on text in a style with the hotspot attribute set. position is the position in the text where the click occured. modifiers is the logical or of the modifier keys that were pressed when the user clicked.

◆ SCN_HOTSPOTDOUBLECLICK

void QsciScintillaBase::SCN_HOTSPOTDOUBLECLICK ( int  position,
int  modifiers 
)
signal

This signal is emitted when the user double clicks on text in a style with the hotspot attribute set. position is the position in the text where the double click occured. modifiers is the logical or of the modifier keys that were pressed when the user double clicked.

◆ SCN_HOTSPOTRELEASECLICK

void QsciScintillaBase::SCN_HOTSPOTRELEASECLICK ( int  position,
int  modifiers 
)
signal

This signal is emitted when the user releases the mouse button on text in a style with the hotspot attribute set. position is the position in the text where the release occured. modifiers is the logical or of the modifier keys that were pressed when the user released the button.

◆ SCN_INDICATORCLICK

void QsciScintillaBase::SCN_INDICATORCLICK ( int  position,
int  modifiers 
)
signal

This signal is emitted when the user clicks on text that has an indicator. position is the position in the text where the click occured. modifiers is the logical or of the modifier keys that were pressed when the user clicked.

◆ SCN_INDICATORRELEASE

void QsciScintillaBase::SCN_INDICATORRELEASE ( int  position,
int  modifiers 
)
signal

This signal is emitted when the user releases the mouse button on text that has an indicator. position is the position in the text where the release occured. modifiers is the logical or of the modifier keys that were pressed when the user released.

◆ SCN_MACRORECORD

void QsciScintillaBase::SCN_MACRORECORD ( unsigned int  ,
unsigned long  ,
void *   
)
signal

This signal is emitted when a recordable editor command has been executed.

◆ SCN_MARGINCLICK

void QsciScintillaBase::SCN_MARGINCLICK ( int  position,
int  modifiers,
int  margin 
)
signal

This signal is emitted when the user clicks on a sensitive margin. position is the position of the start of the line against which the user clicked. modifiers is the logical or of the modifier keys that were pressed when the user clicked. margin is the number of the margin the user clicked in: 0, 1 or 2.

See also
SCI_GETMARGINSENSITIVEN, SCI_SETMARGINSENSITIVEN

◆ SCN_MARGINRIGHTCLICK

void QsciScintillaBase::SCN_MARGINRIGHTCLICK ( int  position,
int  modifiers,
int  margin 
)
signal

This signal is emitted when the user right-clicks on a sensitive margin. position is the position of the start of the line against which the user clicked. modifiers is the logical or of the modifier keys that were pressed when the user clicked. margin is the number of the margin the user clicked in: 0, 1 or 2.

See also
SCI_GETMARGINSENSITIVEN, SCI_SETMARGINSENSITIVEN

◆ SCN_MODIFYATTEMPTRO

void QsciScintillaBase::SCN_MODIFYATTEMPTRO ( )
signal

This signal is emitted when the user attempts to modify read-only text.

◆ SCN_PAINTED

void QsciScintillaBase::SCN_PAINTED ( )
signal

This signal is emitted when painting has been completed. It is useful to trigger some other change but to have the paint be done first to appear more reponsive to the user.

◆ SCN_SAVEPOINTLEFT

void QsciScintillaBase::SCN_SAVEPOINTLEFT ( )
signal

This signal is emitted when the current state of the text no longer corresponds to the state of the text at the save point.

See also
SCI_SETSAVEPOINT, SCN_SAVEPOINTREACHED()

◆ SCN_SAVEPOINTREACHED

void QsciScintillaBase::SCN_SAVEPOINTREACHED ( )
signal

This signal is emitted when the current state of the text corresponds to the state of the text at the save point. This allows feedback to be given to the user as to whether the text has been modified since it was last saved.

See also
SCI_SETSAVEPOINT, SCN_SAVEPOINTLEFT()

◆ SCN_STYLENEEDED

void QsciScintillaBase::SCN_STYLENEEDED ( int  position)
signal

This signal is emitted when a range of text needs to be syntax styled. The range is from the value returned by the SCI_GETENDSTYLED message and position. It is only emitted if the currently selected lexer is SCLEX_CONTAINER.

See also
SCI_COLOURISE, SCI_GETENDSTYLED

◆ SCN_URIDROPPED

void QsciScintillaBase::SCN_URIDROPPED ( const QUrl &  url)
signal

This signal is emitted when a URI is dropped. url is the value of the URI.

◆ SCN_UPDATEUI

void QsciScintillaBase::SCN_UPDATEUI ( int  updated)
signal

This signal is emitted when either the text or styling of the text has changed or the selection range or scroll position has changed. updated contains the set of SC_UPDATE_* flags describing the changes since the signal was last emitted.

◆ SCN_USERLISTSELECTION

void QsciScintillaBase::SCN_USERLISTSELECTION ( const char *  selection,
int  id,
int  ch,
int  method,
int  position 
)
signal

This signal is emitted when the user selects an item in a user list. selection is the text of the selection. id is an identifier for the list which was passed as an argument to the SCI_USERLISTSHOW message and must be at least 1. ch is the fillup character that triggered the selection if method is SC_AC_FILLUP. method is the method used to trigger the selection. position is the position that the list was displayed at.

See also
SCI_USERLISTSHOW, SCN_AUTOCSELECTION()

◆ canInsertFromMimeData()

virtual bool QsciScintillaBase::canInsertFromMimeData ( const QMimeData *  source) const
protectedvirtual

Returns true if the contents of a MIME data object can be decoded and inserted into the document. It is called during drag and paste operations. source is the MIME data object.

See also
fromMimeData(), toMimeData()

◆ fromMimeData()

virtual QByteArray QsciScintillaBase::fromMimeData ( const QMimeData *  source,
bool &  rectangular 
) const
protectedvirtual

Returns the text of a MIME data object. It is called when a drag and drop is completed and when text is pasted from the clipboard. source is the MIME data object. On return rectangular is set if the text corresponds to a rectangular selection.

See also
canInsertFromMimeData(), toMimeData()

◆ toMimeData()

virtual QMimeData* QsciScintillaBase::toMimeData ( const QByteArray &  text,
bool  rectangular 
) const
protectedvirtual

Returns a new MIME data object containing some text and whether it corresponds to a rectangular selection. It is called when a drag and drop is started and when the selection is copied to the clipboard. Ownership of the object is passed to the caller. text is the text. rectangular is set if the text corresponds to a rectangular selection.

See also
canInsertFromMimeData(), fromMimeData()
================================================ FILE: src/qscint/doc/html/classQsciStyle-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciStyle Member List

This is the complete list of members for QsciStyle, including all inherited members.

apply(QsciScintillaBase *sci) const (defined in QsciStyle)QsciStyle
changeable() constQsciStyleinline
color() constQsciStyleinline
description() constQsciStyleinline
eolFill() constQsciStyleinline
font() constQsciStyleinline
hotspot() constQsciStyleinline
LowerCase enum valueQsciStyle
OriginalCase enum valueQsciStyle
paper() constQsciStyleinline
QsciStyle(int style=-1)QsciStyle
QsciStyle(int style, const QString &description, const QColor &color, const QColor &paper, const QFont &font, bool eolFill=false)QsciStyle
refresh()QsciStyle
setChangeable(bool changeable)QsciStyle
setColor(const QColor &color)QsciStyle
setDescription(const QString &description)QsciStyleinline
setEolFill(bool fill)QsciStyle
setFont(const QFont &font)QsciStyle
setHotspot(bool hotspot)QsciStyle
setPaper(const QColor &paper)QsciStyle
setStyle(int style)QsciStyleinline
setTextCase(TextCase text_case)QsciStyle
setVisible(bool visible)QsciStyle
style() constQsciStyleinline
textCase() constQsciStyleinline
TextCase enum nameQsciStyle
UpperCase enum valueQsciStyle
visible() constQsciStyleinline
================================================ FILE: src/qscint/doc/html/classQsciStyle.html ================================================ QScintilla: QsciStyle Class Reference
QScintilla  2.12.1

#include <qscistyle.h>

Public Types

enum  TextCase { OriginalCase = 0, UpperCase = 1, LowerCase = 2 }
 

Public Member Functions

 QsciStyle (int style=-1)
 
 QsciStyle (int style, const QString &description, const QColor &color, const QColor &paper, const QFont &font, bool eolFill=false)
 
void apply (QsciScintillaBase *sci) const
 
void setStyle (int style)
 
int style () const
 
void setDescription (const QString &description)
 
QString description () const
 
void setColor (const QColor &color)
 
QColor color () const
 
void setPaper (const QColor &paper)
 
QColor paper () const
 
void setFont (const QFont &font)
 
QFont font () const
 
void setEolFill (bool fill)
 
bool eolFill () const
 
void setTextCase (TextCase text_case)
 
TextCase textCase () const
 
void setVisible (bool visible)
 
bool visible () const
 
void setChangeable (bool changeable)
 
bool changeable () const
 
void setHotspot (bool hotspot)
 
bool hotspot () const
 
void refresh ()
 

Detailed Description

The QsciStyle class encapsulates all the attributes of a style.

Each character of a document has an associated style which determines how the character is displayed, e.g. its font and color. A style is identified by a number. Lexers define styles for each of the language's features so that they are displayed differently. Some style numbers have hard-coded meanings, e.g. the style used for call tips.

Member Enumeration Documentation

◆ TextCase

This enum defines the different ways the displayed case of the text can be changed.

Enumerator
OriginalCase 

The text is displayed as its original case.

UpperCase 

The text is displayed as upper case.

LowerCase 

The text is displayed as lower case.

Constructor & Destructor Documentation

◆ QsciStyle() [1/2]

QsciStyle::QsciStyle ( int  style = -1)

Constructs a QsciStyle instance for style number style. If style is negative then a new style number is automatically allocated if possible. If it is not possible then style() will return a negative value.

See also
style()

◆ QsciStyle() [2/2]

QsciStyle::QsciStyle ( int  style,
const QString &  description,
const QColor &  color,
const QColor &  paper,
const QFont &  font,
bool  eolFill = false 
)

Constructs a QsciStyle instance for style number style. If style is negative then a new style number is automatically allocated if possible. If it is not possible then style() will return a negative value. The styles description, color, paper color, font and end-of-line fill are set to description, color, paper, font and eolFill respectively.

See also
style()

Member Function Documentation

◆ setStyle()

void QsciStyle::setStyle ( int  style)
inline

The style's number is set to style.

See also
style()

◆ style()

int QsciStyle::style ( ) const
inline

Returns the number of the style. This will be negative if the style is invalid.

See also
setStyle()

◆ setDescription()

void QsciStyle::setDescription ( const QString &  description)
inline

The style's description is set to description.

See also
description()

◆ description()

QString QsciStyle::description ( ) const
inline

Returns the style's description.

See also
setDescription()

◆ setColor()

void QsciStyle::setColor ( const QColor &  color)

The style's foreground color is set to color. The default is taken from the application's default palette.

See also
color()

◆ color()

QColor QsciStyle::color ( ) const
inline

Returns the style's foreground color.

See also
setColor()

◆ setPaper()

void QsciStyle::setPaper ( const QColor &  paper)

The style's background color is set to paper. The default is taken from the application's default palette.

See also
paper()

◆ paper()

QColor QsciStyle::paper ( ) const
inline

Returns the style's background color.

See also
setPaper()

◆ setFont()

void QsciStyle::setFont ( const QFont &  font)

The style's font is set to font. The default is the application's default font.

See also
font()

◆ font()

QFont QsciStyle::font ( ) const
inline

Returns the style's font.

See also
setFont()

◆ setEolFill()

void QsciStyle::setEolFill ( bool  fill)

The style's end-of-line fill is set to fill. The default is false.

See also
eolFill()

◆ eolFill()

bool QsciStyle::eolFill ( ) const
inline

Returns the style's end-of-line fill.

See also
setEolFill()

◆ setTextCase()

void QsciStyle::setTextCase ( TextCase  text_case)

The style's text case is set to text_case. The default is OriginalCase.

See also
textCase()

◆ textCase()

TextCase QsciStyle::textCase ( ) const
inline

Returns the style's text case.

See also
setTextCase()

◆ setVisible()

void QsciStyle::setVisible ( bool  visible)

The style's visibility is set to visible. The default is true.

See also
visible()

◆ visible()

bool QsciStyle::visible ( ) const
inline

Returns the style's visibility.

See also
setVisible()

◆ setChangeable()

void QsciStyle::setChangeable ( bool  changeable)

The style's changeability is set to changeable. The default is true.

See also
changeable()

◆ changeable()

bool QsciStyle::changeable ( ) const
inline

Returns the style's changeability.

See also
setChangeable()

◆ setHotspot()

void QsciStyle::setHotspot ( bool  hotspot)

The style's sensitivity to mouse clicks is set to hotspot. The default is false.

See also
hotspot()

◆ hotspot()

bool QsciStyle::hotspot ( ) const
inline

Returns the style's sensitivity to mouse clicks.

See also
setHotspot()
================================================ FILE: src/qscint/doc/html/classQsciStyledText-members.html ================================================ QScintilla: Member List
QScintilla  2.12.1
QsciStyledText Member List

This is the complete list of members for QsciStyledText, including all inherited members.

apply(QsciScintillaBase *sci) const (defined in QsciStyledText)QsciStyledText
QsciStyledText(const QString &text, int style)QsciStyledText
QsciStyledText(const QString &text, const QsciStyle &style)QsciStyledText
style() constQsciStyledText
text() constQsciStyledTextinline
================================================ FILE: src/qscint/doc/html/classQsciStyledText.html ================================================ QScintilla: QsciStyledText Class Reference
QScintilla  2.12.1
QsciStyledText Class Reference

#include <qscistyledtext.h>

Public Member Functions

 QsciStyledText (const QString &text, int style)
 
 QsciStyledText (const QString &text, const QsciStyle &style)
 
void apply (QsciScintillaBase *sci) const
 
const QString & text () const
 
int style () const
 

Detailed Description

The QsciStyledText class is a container for a piece of text and the style used to display the text.

Constructor & Destructor Documentation

◆ QsciStyledText() [1/2]

QsciStyledText::QsciStyledText ( const QString &  text,
int  style 
)

Constructs a QsciStyledText instance for text text and style number style.

◆ QsciStyledText() [2/2]

QsciStyledText::QsciStyledText ( const QString &  text,
const QsciStyle style 
)

Constructs a QsciStyledText instance for text text and style style.

================================================ FILE: src/qscint/doc/html/classes.html ================================================ QScintilla: Class Index
QScintilla  2.12.1
Class Index
a | c | d | l | m | p | s
  a  
QsciLexerAVS    QsciLexerHTML    QsciLexerPOV   
  p  
QsciLexerBash    QsciLexerIDL    QsciLexerProperties   
QsciAbstractAPIs    QsciLexerBatch    QsciLexerJava    QsciLexerPython    QsciPrinter   
QsciAPIs    QsciLexerCMake    QsciLexerJavaScript    QsciLexerRuby   
  s  
  c  
QsciLexerCoffeeScript    QsciLexerJSON    QsciLexerSpice   
QsciLexerCPP    QsciLexerLua    QsciLexerSQL    QsciScintilla   
QsciCommand    QsciLexerCSharp    QsciLexerMakefile    QsciLexerTCL    QsciScintillaBase   
QsciCommandSet    QsciLexerCSS    QsciLexerMarkdown    QsciLexerTeX    QsciStyle   
  d  
QsciLexerCustom    QsciLexerMatlab    QsciLexerVerilog    QsciStyledText   
QsciLexerD    QsciLexerOctave    QsciLexerVHDL   
QsciDocument    QsciLexerDiff    QsciLexerPascal    QsciLexerXML   
  l  
QsciLexerEDIFACT    QsciLexerPerl    QsciLexerYAML   
QsciLexerFortran    QsciLexerPO   
  m  
QsciLexer    QsciLexerFortran77    QsciLexerPostScript   
QsciMacro   
a | c | d | l | m | p | s
================================================ FILE: src/qscint/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html ================================================ QScintilla: src Directory Reference
QScintilla  2.12.1
src Directory Reference

Directories

================================================ FILE: src/qscint/doc/html/dir_e7e7b0b6fe362def31d601fa026bbeed.html ================================================ QScintilla: Qsci Directory Reference
QScintilla  2.12.1
Qsci Directory Reference
================================================ FILE: src/qscint/doc/html/doxygen.css ================================================ /* The standard CSS for doxygen 1.8.20 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; } p.reference, p.definition { font: 400 14px/22px Roboto,sans-serif; } /* @group Heading Levels */ h1.groupheader { font-size: 150%; } .title { font: 400 14px/28px Roboto,sans-serif; font-size: 150%; font-weight: bold; margin: 10px 2px; } h2.groupheader { border-bottom: 1px solid #879ECB; color: #354C7B; font-size: 150%; font-weight: normal; margin-top: 1.75em; padding-top: 8px; padding-bottom: 4px; width: 100%; } h3.groupheader { font-size: 100%; } h1, h2, h3, h4, h5, h6 { -webkit-transition: text-shadow 0.5s linear; -moz-transition: text-shadow 0.5s linear; -ms-transition: text-shadow 0.5s linear; -o-transition: text-shadow 0.5s linear; transition: text-shadow 0.5s linear; margin-right: 15px; } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { text-shadow: 0 0 15px cyan; } dt { font-weight: bold; } ul.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; column-count: 3; } p.startli, p.startdd { margin-top: 2px; } th p.starttd, th p.intertd, th p.endtd { font-size: 100%; font-weight: 700; } p.starttd { margin-top: 0px; } p.endli { margin-bottom: 0px; } p.enddd { margin-bottom: 4px; } p.endtd { margin-bottom: 2px; } p.interli { } p.interdd { } p.intertd { } /* @end */ caption { font-weight: bold; } span.legend { font-size: 70%; text-align: center; } h3.version { font-size: 90%; text-align: center; } div.qindex, div.navtab{ background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; } div.qindex, div.navpath { width: 100%; line-height: 140%; } div.navtab { margin-right: 15px; } /* @group Link Styling */ a { color: #3D578C; font-weight: normal; text-decoration: none; } .contents a:visited { color: #4665A2; } a:hover { text-decoration: underline; } a.qindex { font-weight: bold; } a.qindexHL { font-weight: bold; background-color: #9CAFD4; color: #FFFFFF; border: 1px double #869DCA; } .contents a.qindexHL:visited { color: #FFFFFF; } a.el { font-weight: bold; } a.elRef { } a.code, a.code:visited, a.line, a.line:visited { color: #4665A2; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { color: #4665A2; } /* @end */ dl.el { margin-left: -1cm; } ul { overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ } #side-nav ul { overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ } #main-nav ul { overflow: visible; /* reset ul rule for the navigation bar drop down lists */ } .fragment { text-align: left; direction: ltr; overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ overflow-y: hidden; } pre.fragment { border: 1px solid #C4CFE5; background-color: #FBFCFD; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; font-family: monospace, fixed; font-size: 105%; } div.fragment { padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ margin: 4px 8px 4px 2px; background-color: #FBFCFD; border: 1px solid #C4CFE5; } div.line { font-family: monospace, fixed; font-size: 13px; min-height: 13px; line-height: 1.0; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ text-indent: -53px; padding-left: 53px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } div.line:after { content:"\000A"; white-space: pre; } div.line.glow { background-color: cyan; box-shadow: 0 0 10px cyan; } span.lineno { padding-right: 4px; text-align: right; border-right: 2px solid #0F0; background-color: #E8E8E8; white-space: pre; } span.lineno a { background-color: #D8D8D8; } span.lineno a:hover { background-color: #C8C8C8; } .lineno { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } div.ah, span.ah { background-color: black; font-weight: bold; color: #FFFFFF; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; border: solid thin #333; border-radius: 0.5em; -webkit-border-radius: .5em; -moz-border-radius: .5em; box-shadow: 2px 2px 3px #999; -webkit-box-shadow: 2px 2px 3px #999; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); } div.classindex ul { list-style: none; padding-left: 0; } div.classindex span.ai { display: inline-block; } div.groupHeader { margin-left: 16px; margin-top: 12px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; } body { background-color: white; color: black; margin: 0; } div.contents { margin-top: 10px; margin-left: 12px; margin-right: 8px; } td.indexkey { background-color: #EBEFF6; font-weight: bold; border: 1px solid #C4CFE5; margin: 2px 0px 2px 0; padding: 2px 10px; white-space: nowrap; vertical-align: top; } td.indexvalue { background-color: #EBEFF6; border: 1px solid #C4CFE5; padding: 2px 10px; margin: 2px 0px; } tr.memlist { background-color: #EEF1F7; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl, img.inline { vertical-align: middle; } div.center { text-align: center; margin-top: 0px; margin-bottom: 0px; padding: 0px; } div.center img { border: 0px; } address.footer { text-align: right; padding-right: 12px; } img.footer { border: 0px; vertical-align: middle; } /* @group Code Colorization */ span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } span.vhdldigit { color: #ff00ff } span.vhdlchar { color: #000000 } span.vhdlkeyword { color: #700070 } span.vhdllogic { color: #ff0000 } blockquote { background-color: #F7F8FB; border-left: 2px solid #9CAFD4; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } blockquote.DocNodeRTL { border-left: 0; border-right: 2px solid #9CAFD4; margin: 0 4px 0 24px; padding: 0 16px 0 12px; } /* @end */ /* .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } */ td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #A3B4D7; } th.dirtab { background: #EBEFF6; font-weight: bold; } hr { height: 0px; border: none; border-top: 1px solid #4A6AAA; } hr.footer { height: 1px; } /* @group Member Descriptions */ table.memberdecls { border-spacing: 0px; padding: 0px; } .memberdecls td, .fieldtable tr { -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } .memberdecls td.glow, .fieldtable tr.glow { background-color: cyan; box-shadow: 0 0 15px cyan; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #F9FAFC; border: none; margin: 4px; padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; color: #555; } .memSeparator { border-bottom: 1px solid #DEE4F0; line-height: 1px; margin: 0px; padding: 0px; } .memItemLeft, .memTemplItemLeft { white-space: nowrap; } .memItemRight, .memTemplItemRight { width: 100%; } .memTemplParams { color: #4665A2; white-space: nowrap; font-size: 80%; } /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ .memtitle { padding: 8px; border-top: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; background-image: url('nav_f.png'); background-repeat: repeat-x; background-color: #E2E8F2; line-height: 1.25; font-weight: 300; float:left; } .permalink { font-size: 65%; display: inline-block; vertical-align: middle; } .memtemplate { font-size: 80%; color: #4665A2; font-weight: normal; margin-left: 9px; } .memnav { background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } .mempage { width: 100%; } .memitem { padding: 0; margin-bottom: 10px; margin-right: 5px; -webkit-transition: box-shadow 0.5s linear; -moz-transition: box-shadow 0.5s linear; -ms-transition: box-shadow 0.5s linear; -o-transition: box-shadow 0.5s linear; transition: box-shadow 0.5s linear; display: table !important; width: 100%; } .memitem.glow { box-shadow: 0 0 15px cyan; } .memname { font-weight: 400; margin-left: 6px; } .memname td { vertical-align: bottom; } .memproto, dl.reflist dt { border-top: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 0px 6px 0px; color: #253555; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); background-color: #DFE5F1; /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; /* firefox specific markup */ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; -moz-border-radius-topright: 4px; /* webkit specific markup */ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -webkit-border-top-right-radius: 4px; } .overload { font-family: "courier new",courier,monospace; font-size: 65%; } .memdoc, dl.reflist dd { border-bottom: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 10px 2px 10px; background-color: #FBFCFD; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; background-color: #FFFFFF; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; /* webkit specific markup */ -webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-right-radius: 4px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); } dl.reflist dt { padding: 5px; } dl.reflist dd { margin: 0px 0px 10px 0px; padding: 5px; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; white-space: nowrap; } .paramname em { font-style: normal; } .paramname code { line-height: 14px; } .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; } .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } .params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; } .params .paramdir, .tparams .paramdir { font-family: "courier new",courier,monospace; vertical-align: top; } table.mlabels { border-spacing: 0px; } td.mlabels-left { width: 100%; padding: 0px; } td.mlabels-right { vertical-align: bottom; padding: 0px; white-space: nowrap; } span.mlabels { margin-left: 8px; } span.mlabel { background-color: #728DC1; border-top:1px solid #5373B4; border-left:1px solid #5373B4; border-right:1px solid #C4CFE5; border-bottom:1px solid #C4CFE5; text-shadow: none; color: white; margin-right: 4px; padding: 2px 3px; border-radius: 3px; font-size: 7pt; white-space: nowrap; vertical-align: middle; } /* @end */ /* these are for tree view inside a (index) page */ div.directory { margin: 10px 0px; border-top: 1px solid #9CAFD4; border-bottom: 1px solid #9CAFD4; width: 100%; } .directory table { border-collapse:collapse; } .directory td { margin: 0px; padding: 0px; vertical-align: top; } .directory td.entry { white-space: nowrap; padding-right: 6px; padding-top: 3px; } .directory td.entry a { outline:none; } .directory td.entry a img { border: none; } .directory td.desc { width: 100%; padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); } .directory tr.even { padding-left: 6px; background-color: #F7F8FB; } .directory img { vertical-align: -30%; } .directory .levels { white-space: nowrap; width: 100%; text-align: right; font-size: 9pt; } .directory .levels span { cursor: pointer; padding-left: 2px; padding-right: 2px; color: #3D578C; } .arrow { color: #9CAFD4; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; font-size: 80%; display: inline-block; width: 16px; height: 22px; } .icon { font-family: Arial, Helvetica; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; background-color: #728DC1; color: white; text-align: center; border-radius: 4px; margin-left: 2px; margin-right: 2px; } .icona { width: 24px; height: 22px; display: inline-block; } .iconfopen { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('folderopen.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .iconfclosed { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('folderclosed.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .icondoc { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('doc.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } table.directory { font: 400 14px Roboto,sans-serif; } /* @end */ div.dynheader { margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } address { font-style: normal; color: #2A3D61; } table.doxtable caption { caption-side: top; } table.doxtable { border-collapse:collapse; margin-top: 4px; margin-bottom: 4px; } table.doxtable td, table.doxtable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } table.doxtable th { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { /*width: 100%;*/ margin-bottom: 10px; border: 1px solid #A8B8D9; border-spacing: 0px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; border-right: 1px solid #A8B8D9; border-bottom: 1px solid #A8B8D9; vertical-align: top; } .fieldtable td.fieldname { padding-top: 3px; } .fieldtable td.fielddoc { border-bottom: 1px solid #A8B8D9; /*width: 100%;*/ } .fieldtable td.fielddoc p:first-child { margin-top: 0px; } .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } .fieldtable tr:last-child td { border-bottom: none; } .fieldtable th { background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; font-size: 90%; color: #253555; padding-bottom: 4px; padding-top: 5px; text-align:left; font-weight: 400; -moz-border-radius-topleft: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-left-radius: 4px; -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom: 1px solid #A8B8D9; } .tabsearch { top: 0px; left: 10px; height: 36px; background-image: url('tab_b.png'); z-index: 101; overflow: hidden; font-size: 13px; } .navpath ul { font-size: 11px; background-image:url('tab_b.png'); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; color:#8AA0CC; border:solid 1px #C2CDE4; overflow:hidden; margin:0px; padding:0px; } .navpath li { list-style-type:none; float:left; padding-left:10px; padding-right:15px; background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; color:#364D7C; } .navpath li.navelem a { height:32px; display:block; text-decoration: none; outline: none; color: #283A5D; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; } .navpath li.navelem a:hover { color:#6884BD; } .navpath li.footer { list-style-type:none; float:right; padding-left:10px; padding-right:15px; background-image:none; background-repeat:no-repeat; background-position:right; color:#364D7C; font-size: 8pt; } div.summary { float: right; font-size: 8pt; padding-right: 5px; width: 50%; text-align: right; } div.summary a { white-space: nowrap; } table.classindex { margin: 10px; white-space: nowrap; margin-left: 3%; margin-right: 3%; width: 94%; border: 0; border-spacing: 0; padding: 0; } div.ingroups { font-size: 8pt; width: 50%; text-align: left; } div.ingroups a { white-space: nowrap; } div.header { background-image:url('nav_h.png'); background-repeat:repeat-x; background-color: #F9FAFC; margin: 0px; border-bottom: 1px solid #C4CFE5; } div.headertitle { padding: 5px 5px 5px 10px; } .PageDocRTL-title div.headertitle { text-align: right; direction: rtl; } dl { padding: 0 0 0 0; } /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ dl.section { margin-left: 0px; padding-left: 0px; } dl.section.DocNodeRTL { margin-right: 0px; padding-right: 0px; } dl.note { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #D0C000; } dl.note.DocNodeRTL { margin-left: 0; padding-left: 0; border-left: 0; margin-right: -7px; padding-right: 3px; border-right: 4px solid; border-color: #D0C000; } dl.warning, dl.attention { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #FF0000; } dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { margin-left: 0; padding-left: 0; border-left: 0; margin-right: -7px; padding-right: 3px; border-right: 4px solid; border-color: #FF0000; } dl.pre, dl.post, dl.invariant { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #00D000; } dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { margin-left: 0; padding-left: 0; border-left: 0; margin-right: -7px; padding-right: 3px; border-right: 4px solid; border-color: #00D000; } dl.deprecated { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #505050; } dl.deprecated.DocNodeRTL { margin-left: 0; padding-left: 0; border-left: 0; margin-right: -7px; padding-right: 3px; border-right: 4px solid; border-color: #505050; } dl.todo { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #00C0E0; } dl.todo.DocNodeRTL { margin-left: 0; padding-left: 0; border-left: 0; margin-right: -7px; padding-right: 3px; border-right: 4px solid; border-color: #00C0E0; } dl.test { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #3030E0; } dl.test.DocNodeRTL { margin-left: 0; padding-left: 0; border-left: 0; margin-right: -7px; padding-right: 3px; border-right: 4px solid; border-color: #3030E0; } dl.bug { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #C08050; } dl.bug.DocNodeRTL { margin-left: 0; padding-left: 0; border-left: 0; margin-right: -7px; padding-right: 3px; border-right: 4px solid; border-color: #C08050; } dl.section dd { margin-bottom: 6px; } #projectlogo { text-align: center; vertical-align: bottom; border-collapse: separate; } #projectlogo img { border: 0px none; } #projectalign { vertical-align: middle; } #projectname { font: 300% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px; } #projectbrief { font: 120% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #projectnumber { font: 50% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #titlearea { padding: 0px; margin: 0px; width: 100%; border-bottom: 1px solid #5373B4; } .image { text-align: center; } .dotgraph { text-align: center; } .mscgraph { text-align: center; } .plantumlgraph { text-align: center; } .diagraph { text-align: center; } .caption { font-weight: bold; } div.zoom { border: 1px solid #90A5CE; } dl.citelist { margin-bottom:50px; } dl.citelist dt { color:#334975; float:left; font-weight:bold; margin-right:10px; padding:5px; text-align:right; width:52px; } dl.citelist dd { margin:2px 0 2px 72px; padding:5px 0; } div.toc { padding: 14px 25px; background-color: #F4F6FA; border: 1px solid #D8DFEE; border-radius: 7px 7px 7px 7px; float: right; height: auto; margin: 0 8px 10px 10px; width: 200px; } .PageDocRTL-title div.toc { float: left !important; text-align: right; } div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; margin-top: 5px; padding-left: 10px; padding-top: 2px; } .PageDocRTL-title div.toc li { background-position-x: right !important; padding-left: 0 !important; padding-right: 10px; } div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; color: #4665A2; border-bottom: 0 none; margin: 0; } div.toc ul { list-style: none outside none; border: medium none; padding: 0px; } div.toc li.level1 { margin-left: 0px; } div.toc li.level2 { margin-left: 15px; } div.toc li.level3 { margin-left: 30px; } div.toc li.level4 { margin-left: 45px; } .PageDocRTL-title div.toc li.level1 { margin-left: 0 !important; margin-right: 0; } .PageDocRTL-title div.toc li.level2 { margin-left: 0 !important; margin-right: 15px; } .PageDocRTL-title div.toc li.level3 { margin-left: 0 !important; margin-right: 30px; } .PageDocRTL-title div.toc li.level4 { margin-left: 0 !important; margin-right: 45px; } .inherit_header { font-weight: bold; color: gray; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .inherit_header td { padding: 6px 0px 2px 5px; } .inherit { display: none; } tr.heading h2 { margin-top: 12px; margin-bottom: 4px; } /* tooltip related style info */ .ttc { position: absolute; display: none; } #powerTip { cursor: default; white-space: nowrap; background-color: white; border: 1px solid gray; border-radius: 4px 4px 4px 4px; box-shadow: 1px 1px 7px gray; display: none; font-size: smaller; max-width: 80%; opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } #powerTip div.ttdoc { color: grey; font-style: italic; } #powerTip div.ttname a { font-weight: bold; } #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { color: #006318; } #powerTip div { margin: 0px; padding: 0px; font: 12px/16px Roboto,sans-serif; } #powerTip:before, #powerTip:after { content: ""; position: absolute; margin: 0px; } #powerTip.n:after, #powerTip.n:before, #powerTip.s:after, #powerTip.s:before, #powerTip.w:after, #powerTip.w:before, #powerTip.e:after, #powerTip.e:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.se:after, #powerTip.se:before, #powerTip.nw:after, #powerTip.nw:before, #powerTip.sw:after, #powerTip.sw:before { border: solid transparent; content: " "; height: 0; width: 0; position: absolute; } #powerTip.n:after, #powerTip.s:after, #powerTip.w:after, #powerTip.e:after, #powerTip.nw:after, #powerTip.ne:after, #powerTip.sw:after, #powerTip.se:after { border-color: rgba(255, 255, 255, 0); } #powerTip.n:before, #powerTip.s:before, #powerTip.w:before, #powerTip.e:before, #powerTip.nw:before, #powerTip.ne:before, #powerTip.sw:before, #powerTip.se:before { border-color: rgba(128, 128, 128, 0); } #powerTip.n:after, #powerTip.n:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.nw:after, #powerTip.nw:before { top: 100%; } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { border-top-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } #powerTip.n:before { border-top-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.n:after, #powerTip.n:before { left: 50%; } #powerTip.nw:after, #powerTip.nw:before { right: 14px; } #powerTip.ne:after, #powerTip.ne:before { left: 14px; } #powerTip.s:after, #powerTip.s:before, #powerTip.se:after, #powerTip.se:before, #powerTip.sw:after, #powerTip.sw:before { bottom: 100%; } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { border-bottom-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { border-bottom-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.s:after, #powerTip.s:before { left: 50%; } #powerTip.sw:after, #powerTip.sw:before { right: 14px; } #powerTip.se:after, #powerTip.se:before { left: 14px; } #powerTip.e:after, #powerTip.e:before { left: 100%; } #powerTip.e:after { border-left-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { border-left-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } #powerTip.w:after, #powerTip.w:before { right: 100%; } #powerTip.w:after { border-right-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { border-right-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } @media print { #top { display: none; } #side-nav { display: none; } #nav-path { display: none; } body { overflow:visible; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } .summary { display: none; } .memitem { page-break-inside: avoid; } #doc-content { margin-left:0 !important; height:auto !important; width:auto !important; overflow:inherit; display:inline; } } /* @group Markdown */ table.markdownTable { border-collapse:collapse; margin-top: 4px; margin-bottom: 4px; } table.markdownTable td, table.markdownTable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } th.markdownTableHeadLeft, td.markdownTableBodyLeft { text-align: left } th.markdownTableHeadRight, td.markdownTableBodyRight { text-align: right } th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } .DocNodeRTL { text-align: right; direction: rtl; } .DocNodeLTR { text-align: left; direction: ltr; } table.DocNodeRTL { width: auto; margin-right: 0; margin-left: auto; } table.DocNodeLTR { width: auto; margin-right: auto; margin-left: 0; } tt, code, kbd, samp { display: inline-block; direction:ltr; } /* @end */ u { text-decoration: underline; } ================================================ FILE: src/qscint/doc/html/dynsections.js ================================================ /* @licstart The following is the entire license notice for the JavaScript code in this file. The MIT License (MIT) Copyright (C) 1997-2020 by Dimitri van Heesch Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @licend The above is the entire license notice for the JavaScript code in this file */ function toggleVisibility(linkObj) { var base = $(linkObj).attr('id'); var summary = $('#'+base+'-summary'); var content = $('#'+base+'-content'); var trigger = $('#'+base+'-trigger'); var src=$(trigger).attr('src'); if (content.is(':visible')===true) { content.hide(); summary.show(); $(linkObj).addClass('closed').removeClass('opened'); $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); } else { content.show(); summary.hide(); $(linkObj).removeClass('closed').addClass('opened'); $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); } return false; } function updateStripes() { $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); } function toggleLevel(level) { $('table.directory tr').each(function() { var l = this.id.split('_').length-1; var i = $('#img'+this.id.substring(3)); var a = $('#arr'+this.id.substring(3)); if (l QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- a -

================================================ FILE: src/qscint/doc/html/functions_b.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- b -

================================================ FILE: src/qscint/doc/html/functions_c.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- c -

================================================ FILE: src/qscint/doc/html/functions_d.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- d -

================================================ FILE: src/qscint/doc/html/functions_e.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- e -

================================================ FILE: src/qscint/doc/html/functions_enum.html ================================================ QScintilla: Class Members - Enumerations
QScintilla  2.12.1
 
================================================ FILE: src/qscint/doc/html/functions_eval.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- a -

================================================ FILE: src/qscint/doc/html/functions_eval_b.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- b -

================================================ FILE: src/qscint/doc/html/functions_eval_c.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- c -

================================================ FILE: src/qscint/doc/html/functions_eval_d.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- d -

================================================ FILE: src/qscint/doc/html/functions_eval_e.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- e -

================================================ FILE: src/qscint/doc/html/functions_eval_f.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- f -

================================================ FILE: src/qscint/doc/html/functions_eval_g.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- g -

================================================ FILE: src/qscint/doc/html/functions_eval_h.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- h -

================================================ FILE: src/qscint/doc/html/functions_eval_i.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
================================================ FILE: src/qscint/doc/html/functions_eval_j.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- j -

================================================ FILE: src/qscint/doc/html/functions_eval_k.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
================================================ FILE: src/qscint/doc/html/functions_eval_l.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- l -

================================================ FILE: src/qscint/doc/html/functions_eval_m.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- m -

================================================ FILE: src/qscint/doc/html/functions_eval_n.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
================================================ FILE: src/qscint/doc/html/functions_eval_o.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
================================================ FILE: src/qscint/doc/html/functions_eval_p.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- p -

================================================ FILE: src/qscint/doc/html/functions_eval_q.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- q -

================================================ FILE: src/qscint/doc/html/functions_eval_r.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- r -

================================================ FILE: src/qscint/doc/html/functions_eval_s.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- s -

================================================ FILE: src/qscint/doc/html/functions_eval_t.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- t -

================================================ FILE: src/qscint/doc/html/functions_eval_u.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- u -

================================================ FILE: src/qscint/doc/html/functions_eval_v.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- v -

================================================ FILE: src/qscint/doc/html/functions_eval_w.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- w -

================================================ FILE: src/qscint/doc/html/functions_eval_x.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- x -

================================================ FILE: src/qscint/doc/html/functions_eval_z.html ================================================ QScintilla: Class Members - Enumerator
QScintilla  2.12.1
 

- z -

================================================ FILE: src/qscint/doc/html/functions_f.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- f -

================================================ FILE: src/qscint/doc/html/functions_func.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- a -

================================================ FILE: src/qscint/doc/html/functions_func_b.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
================================================ FILE: src/qscint/doc/html/functions_func_c.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- c -

================================================ FILE: src/qscint/doc/html/functions_func_d.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- d -

================================================ FILE: src/qscint/doc/html/functions_func_e.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- e -

================================================ FILE: src/qscint/doc/html/functions_func_f.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- f -

================================================ FILE: src/qscint/doc/html/functions_func_g.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- g -

================================================ FILE: src/qscint/doc/html/functions_func_h.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- h -

================================================ FILE: src/qscint/doc/html/functions_func_i.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- i -

================================================ FILE: src/qscint/doc/html/functions_func_k.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
================================================ FILE: src/qscint/doc/html/functions_func_l.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- l -

================================================ FILE: src/qscint/doc/html/functions_func_m.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- m -

================================================ FILE: src/qscint/doc/html/functions_func_o.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- o -

================================================ FILE: src/qscint/doc/html/functions_func_p.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- p -

================================================ FILE: src/qscint/doc/html/functions_func_q.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- q -

================================================ FILE: src/qscint/doc/html/functions_func_r.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- r -

================================================ FILE: src/qscint/doc/html/functions_func_s.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- s -

================================================ FILE: src/qscint/doc/html/functions_func_t.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- t -

================================================ FILE: src/qscint/doc/html/functions_func_u.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- u -

================================================ FILE: src/qscint/doc/html/functions_func_v.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- v -

================================================ FILE: src/qscint/doc/html/functions_func_w.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
================================================ FILE: src/qscint/doc/html/functions_func_z.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- z -

================================================ FILE: src/qscint/doc/html/functions_func_~.html ================================================ QScintilla: Class Members - Functions
QScintilla  2.12.1
 

- ~ -

================================================ FILE: src/qscint/doc/html/functions_g.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- g -

================================================ FILE: src/qscint/doc/html/functions_h.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- h -

================================================ FILE: src/qscint/doc/html/functions_i.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- i -

================================================ FILE: src/qscint/doc/html/functions_j.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- j -

================================================ FILE: src/qscint/doc/html/functions_k.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- k -

================================================ FILE: src/qscint/doc/html/functions_l.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- l -

================================================ FILE: src/qscint/doc/html/functions_m.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- m -

================================================ FILE: src/qscint/doc/html/functions_n.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- n -

================================================ FILE: src/qscint/doc/html/functions_o.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- o -

================================================ FILE: src/qscint/doc/html/functions_p.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- p -

================================================ FILE: src/qscint/doc/html/functions_q.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- q -

================================================ FILE: src/qscint/doc/html/functions_r.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- r -

================================================ FILE: src/qscint/doc/html/functions_s.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- s -

================================================ FILE: src/qscint/doc/html/functions_t.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- t -

================================================ FILE: src/qscint/doc/html/functions_u.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- u -

================================================ FILE: src/qscint/doc/html/functions_v.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- v -

================================================ FILE: src/qscint/doc/html/functions_w.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- w -

================================================ FILE: src/qscint/doc/html/functions_x.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- x -

================================================ FILE: src/qscint/doc/html/functions_z.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- z -

================================================ FILE: src/qscint/doc/html/functions_~.html ================================================ QScintilla: Class Members
QScintilla  2.12.1
Here is a list of all documented class members with links to the class documentation for each member:

- ~ -

================================================ FILE: src/qscint/doc/html/hierarchy.html ================================================ QScintilla: Class Hierarchy
QScintilla  2.12.1
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CQAbstractScrollArea
 CQsciScintillaBaseImplements the Scintilla editor widget and its low-level API
 CQsciScintillaImplements a higher level, more Qt-like, API to the Scintilla editor widget
 CQObject
 CQsciAbstractAPIsInterface to the textual API information used in call tips and for auto-completion. A sub-class will provide the actual implementation of the interface
 CQsciAPIsProvies an implementation of the textual API information used in call tips and for auto-completion
 CQsciLexerAbstract class used as a base for language lexers
 CQsciLexerAVSEncapsulates the Scintilla AVS lexer
 CQsciLexerBashEncapsulates the Scintilla Bash lexer
 CQsciLexerBatchEncapsulates the Scintilla batch file lexer
 CQsciLexerCMakeEncapsulates the Scintilla CMake lexer
 CQsciLexerCoffeeScriptEncapsulates the Scintilla CoffeeScript lexer
 CQsciLexerCPPEncapsulates the Scintilla C++ lexer
 CQsciLexerCSharpEncapsulates the Scintilla C# lexer
 CQsciLexerIDLEncapsulates the Scintilla IDL lexer
 CQsciLexerJavaEncapsulates the Scintilla Java lexer
 CQsciLexerJavaScriptEncapsulates the Scintilla JavaScript lexer
 CQsciLexerCSSEncapsulates the Scintilla CSS lexer
 CQsciLexerCustomAbstract class used as a base for new language lexers
 CQsciLexerDEncapsulates the Scintilla D lexer
 CQsciLexerDiffEncapsulates the Scintilla Diff lexer
 CQsciLexerEDIFACTEncapsulates the Scintilla EDIFACT lexer
 CQsciLexerFortran77Encapsulates the Scintilla Fortran77 lexer
 CQsciLexerFortranEncapsulates the Scintilla Fortran lexer
 CQsciLexerHTMLEncapsulates the Scintilla HTML lexer
 CQsciLexerXMLEncapsulates the Scintilla XML lexer
 CQsciLexerJSONEncapsulates the Scintilla JSON lexer
 CQsciLexerLuaEncapsulates the Scintilla Lua lexer
 CQsciLexerMakefileEncapsulates the Scintilla Makefile lexer
 CQsciLexerMarkdownEncapsulates the Scintilla Markdown lexer
 CQsciLexerMatlabEncapsulates the Scintilla Matlab file lexer
 CQsciLexerOctaveEncapsulates the Scintilla Octave file lexer
 CQsciLexerPascalEncapsulates the Scintilla Pascal lexer
 CQsciLexerPerlEncapsulates the Scintilla Perl lexer
 CQsciLexerPOEncapsulates the Scintilla PO lexer
 CQsciLexerPostScriptEncapsulates the Scintilla PostScript lexer
 CQsciLexerPOVEncapsulates the Scintilla POV lexer
 CQsciLexerPropertiesEncapsulates the Scintilla Properties lexer
 CQsciLexerPythonEncapsulates the Scintilla Python lexer
 CQsciLexerRubyEncapsulates the Scintilla Ruby lexer
 CQsciLexerSpiceEncapsulates the Scintilla Spice lexer
 CQsciLexerSQLEncapsulates the Scintilla SQL lexer
 CQsciLexerTCLEncapsulates the Scintilla TCL lexer
 CQsciLexerTeXEncapsulates the Scintilla TeX lexer
 CQsciLexerVerilogEncapsulates the Scintilla Verilog lexer
 CQsciLexerVHDLEncapsulates the Scintilla VHDL lexer
 CQsciLexerYAMLEncapsulates the Scintilla YAML lexer
 CQsciMacroSequence of recordable editor commands
 CQPrinter
 CQsciPrinterSub-class of the Qt QPrinter class that is able to print the text of a Scintilla document
 CQsciCommandInternal editor command that may have one or two keys bound to it
 CQsciCommandSetSet of all internal editor commands that may have keys bound
 CQsciDocumentDocument to be edited
 CQsciStyleEncapsulates all the attributes of a style
 CQsciStyledTextContainer for a piece of text and the style used to display the text
================================================ FILE: src/qscint/doc/html/index.html ================================================ QScintilla: QScintilla - a Port to Qt v5 and Qt v6 of Scintilla
QScintilla  2.12.1
QScintilla - a Port to Qt v5 and Qt v6 of Scintilla

Introduction

QScintilla is a port to Qt of the Scintilla editing component.

As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code:

  • syntax styling with support for over 70 languages
  • error indicators
  • code completion
  • call tips
  • code folding
  • margins can contain markers like those used in debuggers to indicate breakpoints and the current line.
  • recordable macros
  • multiple views
  • printing.

QScintilla is a port or Scintilla to the Qt GUI toolkit from The Qt Company and runs on any operating system supported by Qt (eg. Windows, Linux, macOS, iOS and Android). QScintilla works with Qt v5 and v6.

QScintilla also includes language bindings for Python. These require that PyQt v5 or v6 is also installed.

This version of QScintilla is based on Scintilla v3.10.1.

Licensing

QScintilla is available under the GNU General Public License v3 and the Riverbank Commercial License.

The commercial license allows closed source applications using QScintilla to be developed and distributed. At the moment the commercial version of QScintilla is bundled with, but packaged separately from, the commercial version of PyQt.

The Scintilla code within QScintilla is released under the following license:

 License for Scintilla and SciTE
 Copyright 1998-2003 by Neil Hodgson neilh.nosp@m.@sci.nosp@m.ntill.nosp@m.a.or.nosp@m.g
 All Rights Reserved
 Permission to use, copy, modify, and distribute this software and its
 documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
 both that copyright notice and this permission notice appear in
 supporting documentation.
 NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY
 SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
 OR PERFORMANCE OF THIS SOFTWARE.

Installation

As supplied QScintilla will be built as a shared library/DLL and installed in the same directories as the Qt libraries and include files.

If you wish to build a static version of the library then pass CONFIG+=staticlib on the qmake command line.

If you want to make more significant changes to the configuration then edit the file qscintilla.pro in the src directory.

If you do make changes, specifically to the names of the installation directories or the name of the library, then you may also need to update the src/features/qscintilla2.prf file.

See your qmake documentation for more details.

To build and install QScintilla, run:

    cd src
    qmake
    make
    make install

If you have multiple versions of Qt installed then make sure you use the correct version of qmake.

The underlying Scintilla code may support additional compile-time options. These can be configured by passing appropriate arguments to qmake. For example, if you have an old C++ compiler that does not have a working std::regex then invoke qmake as follows:

    qmake DEFINES+=NO_CXX11_REGEX=1

Installation on Windows

Before compiling QScintilla on Windows you should remove the Qsci directory containing the QScintilla header files from any previous installation. This is because the Makefile generated by qmake will find these older header files instead of the new ones.

Depending on the compiler you are using you may need to run nmake rather than make.

If you have built a Windows DLL then you probably also want to run:

    copy %QTDIR%\lib\qscintilla2.dll %QTDIR%\bin

Integration with qmake

To configure qmake to find your QScintilla installation, add the following line to your application's .pro file:

    CONFIG += qscintilla2

Qt Designer Plugin

QScintilla includes an optional plugin for Qt Designer that allows QScintilla instances to be included in GUI designs just like any other Qt widget.

To build the plugin on all platforms, make sure QScintilla is installed and then run (as root or administrator):

    cd designer
    qmake
    make
    make install

On Windows (and depending on the compiler you are using) you may need to run nmake rather than make.

Example Application

The example application provided is a port of the standard Qt application example with the QsciScintilla class being used instead of Qt's QTextEdit class.

The example does not demonstrate all of the extra features of QScintilla.

To build the example, run:

    cd example
    qmake
    make

On Windows (and depending on the compiler you are using) you may need to run nmake rather than make.

Python Bindings

The Python bindings are in the Python sub-directory. You must have either PyQt5 or PyQt6 already installed and PyQt-builder. QScintilla must also already be built and installed.

The Python sub-directory contains a pyproject-qt5.toml file and a pyproject-qt6.toml file. If you are building for PyQt5 and Qt v5 then you must copy the pyproject-qt5.toml file to pyproject.toml. If instead you are building for PyQt6 and Qt v6 then you must copy the pyproject-qt6.toml file to pyproject.toml.

To build and install the bindings, run:

    cd Python
    sip-install
================================================ FILE: src/qscint/doc/html/jquery.js ================================================ /*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element },_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler * Licensed under MIT * @author Ariel Flesler * @version 2.1.2 */ ;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 * http://www.smartmenus.org/ * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); ================================================ FILE: src/qscint/doc/html/menu.js ================================================ /* @licstart The following is the entire license notice for the JavaScript code in this file. The MIT License (MIT) Copyright (C) 1997-2020 by Dimitri van Heesch Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @licend The above is the entire license notice for the JavaScript code in this file */ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { function makeTree(data,relPath) { var result=''; if ('children' in data) { result+=''; } return result; } $('#main-nav').append(makeTree(menudata,relPath)); $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); if (searchEnabled) { if (serverSide) { $('#main-menu').append('
  • '); } else { $('#main-menu').append('
  • '); } } $('#main-menu').smartmenus(); } /* @license-end */ ================================================ FILE: src/qscint/doc/html/menudata.js ================================================ /* @licstart The following is the entire license notice for the JavaScript code in this file. The MIT License (MIT) Copyright (C) 1997-2020 by Dimitri van Heesch Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @licend The above is the entire license notice for the JavaScript code in this file */ var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Classes",url:"annotated.html",children:[ {text:"Class List",url:"annotated.html"}, {text:"Class Hierarchy",url:"hierarchy.html"}, {text:"Class Members",url:"functions.html",children:[ {text:"All",url:"functions.html",children:[ {text:"a",url:"functions.html#index_a"}, {text:"b",url:"functions_b.html#index_b"}, {text:"c",url:"functions_c.html#index_c"}, {text:"d",url:"functions_d.html#index_d"}, {text:"e",url:"functions_e.html#index_e"}, {text:"f",url:"functions_f.html#index_f"}, {text:"g",url:"functions_g.html#index_g"}, {text:"h",url:"functions_h.html#index_h"}, {text:"i",url:"functions_i.html#index_i"}, {text:"j",url:"functions_j.html#index_j"}, {text:"k",url:"functions_k.html#index_k"}, {text:"l",url:"functions_l.html#index_l"}, {text:"m",url:"functions_m.html#index_m"}, {text:"n",url:"functions_n.html#index_n"}, {text:"o",url:"functions_o.html#index_o"}, {text:"p",url:"functions_p.html#index_p"}, {text:"q",url:"functions_q.html#index_q"}, {text:"r",url:"functions_r.html#index_r"}, {text:"s",url:"functions_s.html#index_s"}, {text:"t",url:"functions_t.html#index_t"}, {text:"u",url:"functions_u.html#index_u"}, {text:"v",url:"functions_v.html#index_v"}, {text:"w",url:"functions_w.html#index_w"}, {text:"x",url:"functions_x.html#index_x"}, {text:"z",url:"functions_z.html#index_z"}, {text:"~",url:"functions_~.html#index__7E"}]}, {text:"Functions",url:"functions_func.html",children:[ {text:"a",url:"functions_func.html#index_a"}, {text:"b",url:"functions_func_b.html#index_b"}, {text:"c",url:"functions_func_c.html#index_c"}, {text:"d",url:"functions_func_d.html#index_d"}, {text:"e",url:"functions_func_e.html#index_e"}, {text:"f",url:"functions_func_f.html#index_f"}, {text:"g",url:"functions_func_g.html#index_g"}, {text:"h",url:"functions_func_h.html#index_h"}, {text:"i",url:"functions_func_i.html#index_i"}, {text:"k",url:"functions_func_k.html#index_k"}, {text:"l",url:"functions_func_l.html#index_l"}, {text:"m",url:"functions_func_m.html#index_m"}, {text:"o",url:"functions_func_o.html#index_o"}, {text:"p",url:"functions_func_p.html#index_p"}, {text:"q",url:"functions_func_q.html#index_q"}, {text:"r",url:"functions_func_r.html#index_r"}, {text:"s",url:"functions_func_s.html#index_s"}, {text:"t",url:"functions_func_t.html#index_t"}, {text:"u",url:"functions_func_u.html#index_u"}, {text:"v",url:"functions_func_v.html#index_v"}, {text:"w",url:"functions_func_w.html#index_w"}, {text:"z",url:"functions_func_z.html#index_z"}, {text:"~",url:"functions_func_~.html#index__7E"}]}, {text:"Enumerations",url:"functions_enum.html"}, {text:"Enumerator",url:"functions_eval.html",children:[ {text:"a",url:"functions_eval.html#index_a"}, {text:"b",url:"functions_eval_b.html#index_b"}, {text:"c",url:"functions_eval_c.html#index_c"}, {text:"d",url:"functions_eval_d.html#index_d"}, {text:"e",url:"functions_eval_e.html#index_e"}, {text:"f",url:"functions_eval_f.html#index_f"}, {text:"g",url:"functions_eval_g.html#index_g"}, {text:"h",url:"functions_eval_h.html#index_h"}, {text:"i",url:"functions_eval_i.html#index_i"}, {text:"j",url:"functions_eval_j.html#index_j"}, {text:"k",url:"functions_eval_k.html#index_k"}, {text:"l",url:"functions_eval_l.html#index_l"}, {text:"m",url:"functions_eval_m.html#index_m"}, {text:"n",url:"functions_eval_n.html#index_n"}, {text:"o",url:"functions_eval_o.html#index_o"}, {text:"p",url:"functions_eval_p.html#index_p"}, {text:"q",url:"functions_eval_q.html#index_q"}, {text:"r",url:"functions_eval_r.html#index_r"}, {text:"s",url:"functions_eval_s.html#index_s"}, {text:"t",url:"functions_eval_t.html#index_t"}, {text:"u",url:"functions_eval_u.html#index_u"}, {text:"v",url:"functions_eval_v.html#index_v"}, {text:"w",url:"functions_eval_w.html#index_w"}, {text:"x",url:"functions_eval_x.html#index_x"}, {text:"z",url:"functions_eval_z.html#index_z"}]}]}]}]} ================================================ FILE: src/qscint/doc/html/tabs.css ================================================ .sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} ================================================ FILE: src/qscint/doc/qscintilla.dxy ================================================ # Doxyfile 1.6.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = QScintilla # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = "2.12.1" # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = NO # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it parses. # With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this tag. # The format is ext=language, where ext is a file extension, and language is one of # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = NO # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = YES # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = NO # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # doxygen. The layout file controls the global structure of the generated output files # in an output format independent way. The create the layout file that represents # doxygen's defaults, run doxygen with the -l option. You can optionally specify a # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text " # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = README.doc ../src/Qsci # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = qsci*.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = Qsci #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = NO # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. # For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's # filter section matches. # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 3 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list. USE_INLINE_TREES = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP) # there is already a search function so this one should typically # be disabled. SEARCHENGINE = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = QT_VERSION=0x040000 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = NO # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES ================================================ FILE: src/qscint/qsci/api/python/Python-2.4.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseHTTPServer.BaseHTTPRequestHandler(??) BaseHTTPServer.DEFAULT_ERROR_MESSAGE BaseHTTPServer.HTTPServer(??) BaseHTTPServer.SocketServer BaseHTTPServer.mimetools BaseHTTPServer.socket BaseHTTPServer.sys BaseHTTPServer.test(??) BaseHTTPServer.time Bastion.Bastion(??) Bastion.BastionClass(??) Bastion.MethodType CGIHTTPServer.BaseHTTPServer CGIHTTPServer.CGIHTTPRequestHandler(??) CGIHTTPServer.SimpleHTTPServer CGIHTTPServer.executable(??) CGIHTTPServer.nobody CGIHTTPServer.nobody_uid(??) CGIHTTPServer.os CGIHTTPServer.select CGIHTTPServer.sys CGIHTTPServer.test(??) CGIHTTPServer.urllib ConfigParser.ConfigParser(??) ConfigParser.DEFAULTSECT ConfigParser.DuplicateSectionError(??) ConfigParser.Error(??) ConfigParser.InterpolationDepthError(??) ConfigParser.InterpolationError(??) ConfigParser.InterpolationMissingOptionError(??) ConfigParser.InterpolationSyntaxError(??) ConfigParser.MAX_INTERPOLATION_DEPTH ConfigParser.MissingSectionHeaderError(??) ConfigParser.NoOptionError(??) ConfigParser.NoSectionError(??) ConfigParser.ParsingError(??) ConfigParser.RawConfigParser(??) ConfigParser.SafeConfigParser(??) ConfigParser.re Cookie.BaseCookie Cookie.Cookie Cookie.CookieError(??) Cookie.Morsel Cookie.SerialCookie Cookie.SimpleCookie Cookie.SmartCookie Cookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. Cookie.loads(string) -- Load a pickle from the given string Cookie.re Cookie.string Cookie.warnings DeprecationWarning(??) DocXMLRPCServer.CGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocCGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCServer(??) DocXMLRPCServer.ServerHTMLDoc(??) DocXMLRPCServer.SimpleXMLRPCRequestHandler(??) DocXMLRPCServer.SimpleXMLRPCServer(??) DocXMLRPCServer.XMLRPCDocGenerator(??) DocXMLRPCServer.inspect DocXMLRPCServer.pydoc DocXMLRPCServer.re DocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d DocXMLRPCServer.sys DocXMLRPCServer.types EOFError(??) Ellipsis EnvironmentError(??) Exception(??) False FloatingPointError(??) FutureWarning(??) HTMLParser.HTMLParseError(??) HTMLParser.HTMLParser(??) HTMLParser.attrfind HTMLParser.charref HTMLParser.commentclose HTMLParser.endendtag HTMLParser.endtagfind HTMLParser.entityref HTMLParser.incomplete HTMLParser.interesting_cdata HTMLParser.interesting_normal HTMLParser.locatestarttagend HTMLParser.markupbase HTMLParser.piclose HTMLParser.re HTMLParser.starttagopen HTMLParser.tagfind IOError(??) ImportError(??) IndentationError(??) IndexError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) MimeWriter.MimeWriter(??) MimeWriter.mimetools NameError(??) None NotImplemented NotImplementedError(??) OSError(??) OverflowError(??) OverflowWarning(??) PendingDeprecationWarning(??) Queue.Empty(??) Queue.Full(??) Queue.Queue(??) Queue.deque(iterable) --> deque object ReferenceError(??) RuntimeError(??) RuntimeWarning(??) SimpleHTTPServer.BaseHTTPServer SimpleHTTPServer.SimpleHTTPRequestHandler(??) SimpleHTTPServer.StringIO(??) SimpleHTTPServer.cgi SimpleHTTPServer.mimetypes SimpleHTTPServer.os SimpleHTTPServer.posixpath SimpleHTTPServer.shutil SimpleHTTPServer.test(??) SimpleHTTPServer.urllib SimpleHTTPServer.urlparse SimpleXMLRPCServer.BaseHTTPServer SimpleXMLRPCServer.CGIXMLRPCRequestHandler(??) SimpleXMLRPCServer.Fault(??) SimpleXMLRPCServer.SimpleXMLRPCDispatcher(??) SimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??) SimpleXMLRPCServer.SimpleXMLRPCServer(??) SimpleXMLRPCServer.SocketServer SimpleXMLRPCServer.list_public_methods(??) SimpleXMLRPCServer.os SimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2] SimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d SimpleXMLRPCServer.sys SimpleXMLRPCServer.xmlrpclib SocketServer.BaseRequestHandler(??) SocketServer.BaseServer(??) SocketServer.DatagramRequestHandler(??) SocketServer.ForkingMixIn(??) SocketServer.ForkingTCPServer(??) SocketServer.ForkingUDPServer(??) SocketServer.StreamRequestHandler(??) SocketServer.TCPServer(??) SocketServer.ThreadingMixIn(??) SocketServer.ThreadingTCPServer(??) SocketServer.ThreadingUDPServer(??) SocketServer.ThreadingUnixDatagramServer(??) SocketServer.ThreadingUnixStreamServer(??) SocketServer.UDPServer(??) SocketServer.UnixDatagramServer(??) SocketServer.UnixStreamServer(??) SocketServer.os SocketServer.socket SocketServer.sys StandardError(??) StopIteration(??) StringIO.EINVAL StringIO.StringIO(??) StringIO.test(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) True TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UserDict.DictMixin(??) UserDict.IterableUserDict(??) UserDict.UserDict(??) UserList.UserList(??) UserString.MutableString(??) UserString.StringTypes UserString.UserString(??) UserString.sys UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.open(??) aifc.openfp(??) aifc.struct anydbm.error anydbm.open(??) apply(object[, args[, kwargs]]) -> value array.ArrayType array.array(typecode [, initializer]) -> array asynchat.async_chat(??) asynchat.asyncore asynchat.deque(iterable) --> deque object asynchat.fifo(??) asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asynchat.socket asyncore.EALREADY asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINTR asyncore.EISCONN asyncore.ENOTCONN asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode asyncore.exceptions asyncore.fcntl asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select asyncore.socket asyncore.socket_map asyncore.sys asyncore.time asyncore.write(??) atexit.register(??) atexit.sys audiodev.AudioDev(??) audiodev.Play_Audio_sgi(??) audiodev.Play_Audio_sun(??) audiodev.error(??) audiodev.test(??) audioop.add audioop.adpcm2lin audioop.avg audioop.avgpp audioop.bias audioop.cross audioop.error(??) audioop.findfactor audioop.findfit audioop.findmax audioop.getsample audioop.lin2adpcm audioop.lin2lin audioop.lin2ulaw audioop.max audioop.maxpp audioop.minmax audioop.mul audioop.ratecv audioop.reverse audioop.rms audioop.tomono audioop.tostereo audioop.ulaw2lin base64.EMPTYSTRING base64.MAXBINSIZE base64.MAXLINESIZE base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.binascii base64.decode(??) base64.decodestring(??) base64.encode(??) base64.encodestring(??) base64.k base64.re base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct base64.test(??) base64.test1(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) base64.v basestring bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.foo(??) bdb.os bdb.set_trace(??) bdb.sys bdb.test(??) bdb.types binascii.Error(??) binascii.Incomplete(??) binascii.a2b_base64 binascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation. binascii.a2b_hqx binascii.a2b_qp binascii.a2b_uu binascii.b2a_base64 binascii.b2a_hex(data) -> s; Hexadecimal representation of binary data. binascii.b2a_hqx binascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; binascii.b2a_uu binascii.crc32 binascii.crc_hqx binascii.hexlify binascii.rlecode_hqx binascii.rledecode_hqx binascii.unhexlify binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii binhex.binhex(??) binhex.getfileinfo(??) binhex.hexbin(??) binhex.openrsrc(??) binhex.os binhex.struct binhex.sys bisect.bisect bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool bsddb.UserDict bsddb.btopen(??) bsddb.db bsddb.db.DB bsddb.db.DBAccessError(??) bsddb.db.DBAgainError(??) bsddb.db.DBBusyError(??) bsddb.db.DBCursorClosedError(??) bsddb.db.DBEnv bsddb.db.DBError(??) bsddb.db.DBFileExistsError(??) bsddb.db.DBInvalidArgError(??) bsddb.db.DBKeyEmptyError(??) bsddb.db.DBKeyExistError(??) bsddb.db.DBLockDeadlockError(??) bsddb.db.DBLockNotGrantedError(??) bsddb.db.DBNoMemoryError(??) bsddb.db.DBNoServerError(??) bsddb.db.DBNoServerHomeError(??) bsddb.db.DBNoServerIDError(??) bsddb.db.DBNoSpaceError(??) bsddb.db.DBNoSuchFileError(??) bsddb.db.DBNotFoundError(??) bsddb.db.DBOldVersionError(??) bsddb.db.DBPageNotFoundError(??) bsddb.db.DBPermissionsError(??) bsddb.db.DBRunRecoveryError(??) bsddb.db.DBSecondaryBadError(??) bsddb.db.DBVerifyBadError(??) bsddb.db.DB_AFTER bsddb.db.DB_AGGRESSIVE bsddb.db.DB_APPEND bsddb.db.DB_ARCH_ABS bsddb.db.DB_ARCH_DATA bsddb.db.DB_ARCH_LOG bsddb.db.DB_AUTO_COMMIT bsddb.db.DB_BEFORE bsddb.db.DB_BTREE bsddb.db.DB_CACHED_COUNTS bsddb.db.DB_CDB_ALLDB bsddb.db.DB_CHECKPOINT bsddb.db.DB_CHKSUM bsddb.db.DB_CONSUME bsddb.db.DB_CONSUME_WAIT bsddb.db.DB_CREATE bsddb.db.DB_CURRENT bsddb.db.DB_DIRECT_DB bsddb.db.DB_DIRECT_LOG bsddb.db.DB_DIRTY_READ bsddb.db.DB_DONOTINDEX bsddb.db.DB_DUP bsddb.db.DB_DUPSORT bsddb.db.DB_ENCRYPT bsddb.db.DB_ENCRYPT_AES bsddb.db.DB_EXCL bsddb.db.DB_EXTENT bsddb.db.DB_FAST_STAT bsddb.db.DB_FCNTL_LOCKING bsddb.db.DB_FIRST bsddb.db.DB_FLUSH bsddb.db.DB_FORCE bsddb.db.DB_GET_BOTH bsddb.db.DB_GET_RECNO bsddb.db.DB_HASH bsddb.db.DB_INCOMPLETE bsddb.db.DB_INIT_CDB bsddb.db.DB_INIT_LOCK bsddb.db.DB_INIT_LOG bsddb.db.DB_INIT_MPOOL bsddb.db.DB_INIT_REP bsddb.db.DB_INIT_TXN bsddb.db.DB_JOINENV bsddb.db.DB_JOIN_ITEM bsddb.db.DB_JOIN_NOSORT bsddb.db.DB_KEYEMPTY bsddb.db.DB_KEYEXIST bsddb.db.DB_KEYFIRST bsddb.db.DB_KEYLAST bsddb.db.DB_LAST bsddb.db.DB_LOCKDOWN bsddb.db.DB_LOCK_CONFLICT bsddb.db.DB_LOCK_DEADLOCK bsddb.db.DB_LOCK_DEFAULT bsddb.db.DB_LOCK_DIRTY bsddb.db.DB_LOCK_DUMP bsddb.db.DB_LOCK_GET bsddb.db.DB_LOCK_INHERIT bsddb.db.DB_LOCK_IREAD bsddb.db.DB_LOCK_IWR bsddb.db.DB_LOCK_IWRITE bsddb.db.DB_LOCK_MAXLOCKS bsddb.db.DB_LOCK_MINLOCKS bsddb.db.DB_LOCK_MINWRITE bsddb.db.DB_LOCK_NG bsddb.db.DB_LOCK_NORUN bsddb.db.DB_LOCK_NOTGRANTED bsddb.db.DB_LOCK_NOWAIT bsddb.db.DB_LOCK_OLDEST bsddb.db.DB_LOCK_PUT bsddb.db.DB_LOCK_PUT_ALL bsddb.db.DB_LOCK_PUT_OBJ bsddb.db.DB_LOCK_RANDOM bsddb.db.DB_LOCK_READ bsddb.db.DB_LOCK_RECORD bsddb.db.DB_LOCK_SWITCH bsddb.db.DB_LOCK_UPGRADE bsddb.db.DB_LOCK_UPGRADE_WRITE bsddb.db.DB_LOCK_WAIT bsddb.db.DB_LOCK_WRITE bsddb.db.DB_LOCK_WWRITE bsddb.db.DB_LOCK_YOUNGEST bsddb.db.DB_LOG_AUTOREMOVE bsddb.db.DB_LSTAT_ABORTED bsddb.db.DB_LSTAT_ERR bsddb.db.DB_LSTAT_FREE bsddb.db.DB_LSTAT_HELD bsddb.db.DB_LSTAT_PENDING bsddb.db.DB_LSTAT_WAITING bsddb.db.DB_MAX_PAGES bsddb.db.DB_MAX_RECORDS bsddb.db.DB_MULTIPLE bsddb.db.DB_MULTIPLE_KEY bsddb.db.DB_NEXT bsddb.db.DB_NEXT_DUP bsddb.db.DB_NEXT_NODUP bsddb.db.DB_NODUPDATA bsddb.db.DB_NOLOCKING bsddb.db.DB_NOMMAP bsddb.db.DB_NOORDERCHK bsddb.db.DB_NOOVERWRITE bsddb.db.DB_NOPANIC bsddb.db.DB_NOSERVER bsddb.db.DB_NOSERVER_HOME bsddb.db.DB_NOSERVER_ID bsddb.db.DB_NOSYNC bsddb.db.DB_NOTFOUND bsddb.db.DB_ODDFILESIZE bsddb.db.DB_OLD_VERSION bsddb.db.DB_OPFLAGS_MASK bsddb.db.DB_ORDERCHKONLY bsddb.db.DB_PAGE_NOTFOUND bsddb.db.DB_PANIC_ENVIRONMENT bsddb.db.DB_POSITION bsddb.db.DB_PREV bsddb.db.DB_PREV_NODUP bsddb.db.DB_PRIVATE bsddb.db.DB_PR_PAGE bsddb.db.DB_PR_RECOVERYTEST bsddb.db.DB_QUEUE bsddb.db.DB_RDONLY bsddb.db.DB_RDWRMASTER bsddb.db.DB_RECNO bsddb.db.DB_RECNUM bsddb.db.DB_RECORDCOUNT bsddb.db.DB_RECOVER bsddb.db.DB_RECOVER_FATAL bsddb.db.DB_REGION_INIT bsddb.db.DB_RENUMBER bsddb.db.DB_REVSPLITOFF bsddb.db.DB_RMW bsddb.db.DB_RPCCLIENT bsddb.db.DB_RUNRECOVERY bsddb.db.DB_SALVAGE bsddb.db.DB_SECONDARY_BAD bsddb.db.DB_SET bsddb.db.DB_SET_LOCK_TIMEOUT bsddb.db.DB_SET_RANGE bsddb.db.DB_SET_RECNO bsddb.db.DB_SET_TXN_TIMEOUT bsddb.db.DB_SNAPSHOT bsddb.db.DB_STAT_CLEAR bsddb.db.DB_SYSTEM_MEM bsddb.db.DB_THREAD bsddb.db.DB_TIME_NOTGRANTED bsddb.db.DB_TRUNCATE bsddb.db.DB_TXN_NOSYNC bsddb.db.DB_TXN_NOT_DURABLE bsddb.db.DB_TXN_NOWAIT bsddb.db.DB_TXN_SYNC bsddb.db.DB_TXN_WRITE_NOSYNC bsddb.db.DB_UNKNOWN bsddb.db.DB_UPGRADE bsddb.db.DB_USE_ENVIRON bsddb.db.DB_USE_ENVIRON_ROOT bsddb.db.DB_VERIFY bsddb.db.DB_VERIFY_BAD bsddb.db.DB_VERSION_MAJOR bsddb.db.DB_VERSION_MINOR bsddb.db.DB_VERSION_PATCH bsddb.db.DB_VERSION_STRING bsddb.db.DB_WRITECURSOR bsddb.db.DB_XA_CREATE bsddb.db.DB_YIELDCPU bsddb.db.EACCES bsddb.db.EAGAIN bsddb.db.EBUSY bsddb.db.EEXIST bsddb.db.EINVAL bsddb.db.ENOENT bsddb.db.ENOMEM bsddb.db.ENOSPC bsddb.db.EPERM bsddb.db.cvsid bsddb.db.version bsddb.dbobj bsddb.dbobj.DB(??) bsddb.dbobj.DBEnv(??) bsddb.dbobj.DictMixin(??) bsddb.dbobj.db bsddb.dbrecio bsddb.dbrecio.DBRecIO(??) bsddb.dbrecio.errno bsddb.dbrecio.string bsddb.dbshelve bsddb.dbshelve.DBShelf(??) bsddb.dbshelve.DBShelfCursor(??) bsddb.dbshelve.DictMixin(??) bsddb.dbshelve.cPickle bsddb.dbshelve.db bsddb.dbshelve.open(??) bsddb.dbtables bsddb.dbtables.Cond(??) bsddb.dbtables.DB bsddb.dbtables.DBAccessError(??) bsddb.dbtables.DBAgainError(??) bsddb.dbtables.DBBusyError(??) bsddb.dbtables.DBCursorClosedError(??) bsddb.dbtables.DBEnv bsddb.dbtables.DBError(??) bsddb.dbtables.DBFileExistsError(??) bsddb.dbtables.DBInvalidArgError(??) bsddb.dbtables.DBKeyEmptyError(??) bsddb.dbtables.DBKeyExistError(??) bsddb.dbtables.DBLockDeadlockError(??) bsddb.dbtables.DBLockNotGrantedError(??) bsddb.dbtables.DBNoMemoryError(??) bsddb.dbtables.DBNoServerError(??) bsddb.dbtables.DBNoServerHomeError(??) bsddb.dbtables.DBNoServerIDError(??) bsddb.dbtables.DBNoSpaceError(??) bsddb.dbtables.DBNoSuchFileError(??) bsddb.dbtables.DBNotFoundError(??) bsddb.dbtables.DBOldVersionError(??) bsddb.dbtables.DBPageNotFoundError(??) bsddb.dbtables.DBPermissionsError(??) bsddb.dbtables.DBRunRecoveryError(??) bsddb.dbtables.DBSecondaryBadError(??) bsddb.dbtables.DBVerifyBadError(??) bsddb.dbtables.DB_AFTER bsddb.dbtables.DB_AGGRESSIVE bsddb.dbtables.DB_APPEND bsddb.dbtables.DB_ARCH_ABS bsddb.dbtables.DB_ARCH_DATA bsddb.dbtables.DB_ARCH_LOG bsddb.dbtables.DB_AUTO_COMMIT bsddb.dbtables.DB_BEFORE bsddb.dbtables.DB_BTREE bsddb.dbtables.DB_CACHED_COUNTS bsddb.dbtables.DB_CDB_ALLDB bsddb.dbtables.DB_CHECKPOINT bsddb.dbtables.DB_CHKSUM bsddb.dbtables.DB_CONSUME bsddb.dbtables.DB_CONSUME_WAIT bsddb.dbtables.DB_CREATE bsddb.dbtables.DB_CURRENT bsddb.dbtables.DB_DIRECT_DB bsddb.dbtables.DB_DIRECT_LOG bsddb.dbtables.DB_DIRTY_READ bsddb.dbtables.DB_DONOTINDEX bsddb.dbtables.DB_DUP bsddb.dbtables.DB_DUPSORT bsddb.dbtables.DB_ENCRYPT bsddb.dbtables.DB_ENCRYPT_AES bsddb.dbtables.DB_EXCL bsddb.dbtables.DB_EXTENT bsddb.dbtables.DB_FAST_STAT bsddb.dbtables.DB_FCNTL_LOCKING bsddb.dbtables.DB_FIRST bsddb.dbtables.DB_FLUSH bsddb.dbtables.DB_FORCE bsddb.dbtables.DB_GET_BOTH bsddb.dbtables.DB_GET_RECNO bsddb.dbtables.DB_HASH bsddb.dbtables.DB_INCOMPLETE bsddb.dbtables.DB_INIT_CDB bsddb.dbtables.DB_INIT_LOCK bsddb.dbtables.DB_INIT_LOG bsddb.dbtables.DB_INIT_MPOOL bsddb.dbtables.DB_INIT_REP bsddb.dbtables.DB_INIT_TXN bsddb.dbtables.DB_JOINENV bsddb.dbtables.DB_JOIN_ITEM bsddb.dbtables.DB_JOIN_NOSORT bsddb.dbtables.DB_KEYEMPTY bsddb.dbtables.DB_KEYEXIST bsddb.dbtables.DB_KEYFIRST bsddb.dbtables.DB_KEYLAST bsddb.dbtables.DB_LAST bsddb.dbtables.DB_LOCKDOWN bsddb.dbtables.DB_LOCK_CONFLICT bsddb.dbtables.DB_LOCK_DEADLOCK bsddb.dbtables.DB_LOCK_DEFAULT bsddb.dbtables.DB_LOCK_DIRTY bsddb.dbtables.DB_LOCK_DUMP bsddb.dbtables.DB_LOCK_GET bsddb.dbtables.DB_LOCK_INHERIT bsddb.dbtables.DB_LOCK_IREAD bsddb.dbtables.DB_LOCK_IWR bsddb.dbtables.DB_LOCK_IWRITE bsddb.dbtables.DB_LOCK_MAXLOCKS bsddb.dbtables.DB_LOCK_MINLOCKS bsddb.dbtables.DB_LOCK_MINWRITE bsddb.dbtables.DB_LOCK_NG bsddb.dbtables.DB_LOCK_NORUN bsddb.dbtables.DB_LOCK_NOTGRANTED bsddb.dbtables.DB_LOCK_NOWAIT bsddb.dbtables.DB_LOCK_OLDEST bsddb.dbtables.DB_LOCK_PUT bsddb.dbtables.DB_LOCK_PUT_ALL bsddb.dbtables.DB_LOCK_PUT_OBJ bsddb.dbtables.DB_LOCK_RANDOM bsddb.dbtables.DB_LOCK_READ bsddb.dbtables.DB_LOCK_RECORD bsddb.dbtables.DB_LOCK_SWITCH bsddb.dbtables.DB_LOCK_UPGRADE bsddb.dbtables.DB_LOCK_UPGRADE_WRITE bsddb.dbtables.DB_LOCK_WAIT bsddb.dbtables.DB_LOCK_WRITE bsddb.dbtables.DB_LOCK_WWRITE bsddb.dbtables.DB_LOCK_YOUNGEST bsddb.dbtables.DB_LOG_AUTOREMOVE bsddb.dbtables.DB_LSTAT_ABORTED bsddb.dbtables.DB_LSTAT_ERR bsddb.dbtables.DB_LSTAT_FREE bsddb.dbtables.DB_LSTAT_HELD bsddb.dbtables.DB_LSTAT_PENDING bsddb.dbtables.DB_LSTAT_WAITING bsddb.dbtables.DB_MAX_PAGES bsddb.dbtables.DB_MAX_RECORDS bsddb.dbtables.DB_MULTIPLE bsddb.dbtables.DB_MULTIPLE_KEY bsddb.dbtables.DB_NEXT bsddb.dbtables.DB_NEXT_DUP bsddb.dbtables.DB_NEXT_NODUP bsddb.dbtables.DB_NODUPDATA bsddb.dbtables.DB_NOLOCKING bsddb.dbtables.DB_NOMMAP bsddb.dbtables.DB_NOORDERCHK bsddb.dbtables.DB_NOOVERWRITE bsddb.dbtables.DB_NOPANIC bsddb.dbtables.DB_NOSERVER bsddb.dbtables.DB_NOSERVER_HOME bsddb.dbtables.DB_NOSERVER_ID bsddb.dbtables.DB_NOSYNC bsddb.dbtables.DB_NOTFOUND bsddb.dbtables.DB_ODDFILESIZE bsddb.dbtables.DB_OLD_VERSION bsddb.dbtables.DB_OPFLAGS_MASK bsddb.dbtables.DB_ORDERCHKONLY bsddb.dbtables.DB_PAGE_NOTFOUND bsddb.dbtables.DB_PANIC_ENVIRONMENT bsddb.dbtables.DB_POSITION bsddb.dbtables.DB_PREV bsddb.dbtables.DB_PREV_NODUP bsddb.dbtables.DB_PRIVATE bsddb.dbtables.DB_PR_PAGE bsddb.dbtables.DB_PR_RECOVERYTEST bsddb.dbtables.DB_QUEUE bsddb.dbtables.DB_RDONLY bsddb.dbtables.DB_RDWRMASTER bsddb.dbtables.DB_RECNO bsddb.dbtables.DB_RECNUM bsddb.dbtables.DB_RECORDCOUNT bsddb.dbtables.DB_RECOVER bsddb.dbtables.DB_RECOVER_FATAL bsddb.dbtables.DB_REGION_INIT bsddb.dbtables.DB_RENUMBER bsddb.dbtables.DB_REVSPLITOFF bsddb.dbtables.DB_RMW bsddb.dbtables.DB_RPCCLIENT bsddb.dbtables.DB_RUNRECOVERY bsddb.dbtables.DB_SALVAGE bsddb.dbtables.DB_SECONDARY_BAD bsddb.dbtables.DB_SET bsddb.dbtables.DB_SET_LOCK_TIMEOUT bsddb.dbtables.DB_SET_RANGE bsddb.dbtables.DB_SET_RECNO bsddb.dbtables.DB_SET_TXN_TIMEOUT bsddb.dbtables.DB_SNAPSHOT bsddb.dbtables.DB_STAT_CLEAR bsddb.dbtables.DB_SYSTEM_MEM bsddb.dbtables.DB_THREAD bsddb.dbtables.DB_TIME_NOTGRANTED bsddb.dbtables.DB_TRUNCATE bsddb.dbtables.DB_TXN_NOSYNC bsddb.dbtables.DB_TXN_NOT_DURABLE bsddb.dbtables.DB_TXN_NOWAIT bsddb.dbtables.DB_TXN_SYNC bsddb.dbtables.DB_TXN_WRITE_NOSYNC bsddb.dbtables.DB_UNKNOWN bsddb.dbtables.DB_UPGRADE bsddb.dbtables.DB_USE_ENVIRON bsddb.dbtables.DB_USE_ENVIRON_ROOT bsddb.dbtables.DB_VERIFY bsddb.dbtables.DB_VERIFY_BAD bsddb.dbtables.DB_VERSION_MAJOR bsddb.dbtables.DB_VERSION_MINOR bsddb.dbtables.DB_VERSION_PATCH bsddb.dbtables.DB_VERSION_STRING bsddb.dbtables.DB_WRITECURSOR bsddb.dbtables.DB_XA_CREATE bsddb.dbtables.DB_YIELDCPU bsddb.dbtables.EACCES bsddb.dbtables.EAGAIN bsddb.dbtables.EBUSY bsddb.dbtables.EEXIST bsddb.dbtables.EINVAL bsddb.dbtables.ENOENT bsddb.dbtables.ENOMEM bsddb.dbtables.ENOSPC bsddb.dbtables.EPERM bsddb.dbtables.ExactCond(??) bsddb.dbtables.LikeCond(??) bsddb.dbtables.ListType bsddb.dbtables.PostfixCond(??) bsddb.dbtables.PrefixCond(??) bsddb.dbtables.StringType bsddb.dbtables.TableAlreadyExists(??) bsddb.dbtables.TableDBError(??) bsddb.dbtables.bsdTableDB(??) bsddb.dbtables.contains_metastrings(??) bsddb.dbtables.copy bsddb.dbtables.cvsid bsddb.dbtables.pickle bsddb.dbtables.random bsddb.dbtables.re bsddb.dbtables.sys bsddb.dbtables.version bsddb.dbtables.xdrlib bsddb.dbutils bsddb.dbutils.DeadlockWrap(function, *_args, **_kwargs) - automatically retries bsddb.dbutils.db bsddb.error(??) bsddb.hashopen(??) bsddb.os bsddb.ref bsddb.rnopen(??) bsddb.sys buffer(object [, offset[, size]]) bz2.BZ2Compressor([compresslevel=9]) -> compressor object bz2.BZ2Decompressor() -> decompressor object bz2.BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object bz2.compress(data [, compresslevel=9]) -> string bz2.decompress(data) -> decompressed data cPickle.BadPickleGet(??) cPickle.HIGHEST_PROTOCOL cPickle.PickleError(??) cPickle.Pickler(file, protocol=0) -- Create a pickler. cPickle.PicklingError(??) cPickle.UnpickleableError(??) cPickle.Unpickler(file) -- Create an unpickler. cPickle.UnpicklingError(??) cPickle.compatible_formats cPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file. cPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. cPickle.format_version cPickle.load(file) -- Load a pickle from the given file cPickle.loads(string) -- Load a pickle from the given string cStringIO.InputType cStringIO.OutputType cStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing cStringIO.cStringIO_CAPI calendar.EPOCH calendar.FRIDAY calendar.February calendar.January calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.WEDNESDAY calendar.calendar(??) calendar.datetime calendar.day_abbr calendar.day_name calendar.error(??) calendar.firstweekday(??) calendar.format3c(??) calendar.format3cstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.mdays calendar.month(??) calendar.month_abbr calendar.month_name calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.setfirstweekday(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(object) -> bool cgi.FieldStorage(??) cgi.FormContent(??) cgi.FormContentDict(??) cgi.InterpFormContentDict(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.SvFormContentDict(??) cgi.UserDict cgi.dolog(??) cgi.escape(??) cgi.initlog(??) cgi.log(??) cgi.logfile cgi.logfp cgi.maxlen cgi.mimetools cgi.nolog(??) cgi.os cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.rfc822 cgi.sys cgi.test(??) cgi.urllib cgi.valid_boundary(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler cgitb.html(??) cgitb.lookup(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys cgitb.text(??) chr(i) -> character chunk.Chunk(??) classmethod(function) -> method cmath.acos(x) cmath.acosh(x) cmath.asin(x) cmath.asinh(x) cmath.atan(x) cmath.atanh(x) cmath.cos(x) cmath.cosh(x) cmath.e cmath.exp(x) cmath.log(x[, base]) -> the logarithm of x to the given base. cmath.log10(x) cmath.pi cmath.sin(x) cmath.sinh(x) cmath.sqrt(x) cmath.tan(x) cmath.tanh(x) cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string cmp(x, y) -> integer code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.softspace(??) code.sys code.traceback codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.Codec(??) codecs.EncodedFile(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode codecs.ascii_encode codecs.backslashreplace_errors codecs.charbuffer_encode codecs.charmap_decode codecs.charmap_encode codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode codecs.escape_encode codecs.getdecoder(??) codecs.getencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors codecs.latin_1_decode codecs.latin_1_encode codecs.lookup(encoding) -> (encoder, decoder, stream_reader, stream_writer) codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode codecs.raw_unicode_escape_encode codecs.readbuffer_encode codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors codecs.strict_errors codecs.sys codecs.unicode_escape_decode codecs.unicode_escape_encode codecs.unicode_internal_decode codecs.unicode_internal_encode codecs.utf_16_be_decode codecs.utf_16_be_encode codecs.utf_16_decode codecs.utf_16_encode codecs.utf_16_ex_decode codecs.utf_16_le_decode codecs.utf_16_le_encode codecs.utf_7_decode codecs.utf_7_encode codecs.utf_8_decode codecs.utf_8_encode codecs.xmlcharrefreplace_errors codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) codeop.fname coerce(x, y) -> (x1, y1) collections.deque(iterable) --> deque object colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) commands.getoutput(??) commands.getstatus(??) commands.getstatusoutput(??) commands.mk2arg(??) commands.mkarg(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_path(??) compileall.main(??) compileall.os compileall.py_compile compileall.sys compiler.ast compiler.ast.Add(??) compiler.ast.And(??) compiler.ast.AssAttr(??) compiler.ast.AssList(??) compiler.ast.AssName(??) compiler.ast.AssTuple(??) compiler.ast.Assert(??) compiler.ast.Assign(??) compiler.ast.AugAssign(??) compiler.ast.Backquote(??) compiler.ast.Bitand(??) compiler.ast.Bitor(??) compiler.ast.Bitxor(??) compiler.ast.Break(??) compiler.ast.CO_VARARGS compiler.ast.CO_VARKEYWORDS compiler.ast.CallFunc(??) compiler.ast.Class(??) compiler.ast.Compare(??) compiler.ast.Const(??) compiler.ast.Continue(??) compiler.ast.Decorators(??) compiler.ast.Dict(??) compiler.ast.Discard(??) compiler.ast.Div(??) compiler.ast.Ellipsis(??) compiler.ast.EmptyNode(??) compiler.ast.Exec(??) compiler.ast.Expression(??) compiler.ast.FloorDiv(??) compiler.ast.For(??) compiler.ast.From(??) compiler.ast.Function(??) compiler.ast.GenExpr(??) compiler.ast.GenExprFor(??) compiler.ast.GenExprIf(??) compiler.ast.GenExprInner(??) compiler.ast.Getattr(??) compiler.ast.Global(??) compiler.ast.If(??) compiler.ast.Import(??) compiler.ast.Invert(??) compiler.ast.Keyword(??) compiler.ast.Lambda(??) compiler.ast.LeftShift(??) compiler.ast.List(??) compiler.ast.ListComp(??) compiler.ast.ListCompFor(??) compiler.ast.ListCompIf(??) compiler.ast.Mod(??) compiler.ast.Module(??) compiler.ast.Mul(??) compiler.ast.Name(??) compiler.ast.Node(??) compiler.ast.Not(??) compiler.ast.Or(??) compiler.ast.Pass(??) compiler.ast.Power(??) compiler.ast.Print(??) compiler.ast.Printnl(??) compiler.ast.Raise(??) compiler.ast.Return(??) compiler.ast.RightShift(??) compiler.ast.Slice(??) compiler.ast.Sliceobj(??) compiler.ast.Stmt(??) compiler.ast.Sub(??) compiler.ast.Subscript(??) compiler.ast.TryExcept(??) compiler.ast.TryFinally(??) compiler.ast.Tuple(??) compiler.ast.UnaryAdd(??) compiler.ast.UnarySub(??) compiler.ast.While(??) compiler.ast.Yield(??) compiler.ast.flatten(??) compiler.ast.flatten_nodes(??) compiler.ast.name compiler.ast.nodes compiler.ast.obj(??) compiler.compile(??) compiler.compileFile(??) compiler.consts compiler.consts.CO_FUTURE_DIVISION compiler.consts.CO_GENERATOR compiler.consts.CO_GENERATOR_ALLOWED compiler.consts.CO_NESTED compiler.consts.CO_NEWLOCALS compiler.consts.CO_OPTIMIZED compiler.consts.CO_VARARGS compiler.consts.CO_VARKEYWORDS compiler.consts.OP_APPLY compiler.consts.OP_ASSIGN compiler.consts.OP_DELETE compiler.consts.SC_CELL compiler.consts.SC_FREE compiler.consts.SC_GLOBAL compiler.consts.SC_LOCAL compiler.consts.SC_UNKNOWN compiler.future compiler.future.BadFutureParser(??) compiler.future.FutureParser(??) compiler.future.ast compiler.future.find_futures(??) compiler.future.is_future(??) compiler.future.walk(??) compiler.misc compiler.misc.MANGLE_LEN compiler.misc.Set(??) compiler.misc.Stack(??) compiler.misc.flatten(??) compiler.misc.mangle(??) compiler.misc.set_filename(??) compiler.misc.types compiler.parse(??) compiler.parseFile(??) compiler.pyassem compiler.pyassem.Block(??) compiler.pyassem.CONV compiler.pyassem.CO_NEWLOCALS compiler.pyassem.CO_OPTIMIZED compiler.pyassem.CO_VARARGS compiler.pyassem.CO_VARKEYWORDS compiler.pyassem.DONE compiler.pyassem.FLAT compiler.pyassem.FlowGraph(??) compiler.pyassem.LineAddrTable(??) compiler.pyassem.PyFlowGraph(??) compiler.pyassem.RAW compiler.pyassem.StackDepthTracker(??) compiler.pyassem.TupleArg(??) compiler.pyassem.dfs_postorder(??) compiler.pyassem.dis compiler.pyassem.findDepth compiler.pyassem.getArgCount(??) compiler.pyassem.isJump(??) compiler.pyassem.misc compiler.pyassem.new compiler.pyassem.sys compiler.pyassem.twobyte(??) compiler.pyassem.types compiler.pycodegen compiler.pycodegen.AbstractClassCode(??) compiler.pycodegen.AbstractCompileMode(??) compiler.pycodegen.AbstractFunctionCode(??) compiler.pycodegen.AugGetattr(??) compiler.pycodegen.AugName(??) compiler.pycodegen.AugSlice(??) compiler.pycodegen.AugSubscript(??) compiler.pycodegen.CO_FUTURE_DIVISION compiler.pycodegen.CO_GENERATOR compiler.pycodegen.CO_GENERATOR_ALLOWED compiler.pycodegen.CO_NESTED compiler.pycodegen.CO_NEWLOCALS compiler.pycodegen.CO_VARARGS compiler.pycodegen.CO_VARKEYWORDS compiler.pycodegen.ClassCodeGenerator(??) compiler.pycodegen.CodeGenerator(??) compiler.pycodegen.Delegator(??) compiler.pycodegen.END_FINALLY compiler.pycodegen.EXCEPT compiler.pycodegen.Expression(??) compiler.pycodegen.ExpressionCodeGenerator(??) compiler.pycodegen.FunctionCodeGenerator(??) compiler.pycodegen.GenExprCodeGenerator(??) compiler.pycodegen.Interactive(??) compiler.pycodegen.InteractiveCodeGenerator(??) compiler.pycodegen.LOOP compiler.pycodegen.LocalNameFinder(??) compiler.pycodegen.Module(??) compiler.pycodegen.ModuleCodeGenerator(??) compiler.pycodegen.NestedScopeMixin(??) compiler.pycodegen.OpFinder(??) compiler.pycodegen.SC_CELL compiler.pycodegen.SC_FREE compiler.pycodegen.SC_GLOBAL compiler.pycodegen.SC_LOCAL compiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing compiler.pycodegen.TRY_FINALLY compiler.pycodegen.TupleArg(??) compiler.pycodegen.VERSION compiler.pycodegen.ast compiler.pycodegen.callfunc_opcode_info compiler.pycodegen.compile(??) compiler.pycodegen.compileFile(??) compiler.pycodegen.findOp(??) compiler.pycodegen.future compiler.pycodegen.generateArgList(??) compiler.pycodegen.imp compiler.pycodegen.is_constant_false(??) compiler.pycodegen.marshal compiler.pycodegen.misc compiler.pycodegen.os compiler.pycodegen.parse(??) compiler.pycodegen.pyassem compiler.pycodegen.struct compiler.pycodegen.symbols compiler.pycodegen.syntax compiler.pycodegen.sys compiler.pycodegen.types compiler.pycodegen.walk(??) compiler.pycodegen.wrap_aug(??) compiler.pycodegen.wrapper compiler.symbols compiler.symbols.ClassScope(??) compiler.symbols.FunctionScope(??) compiler.symbols.GenExprScope(??) compiler.symbols.LambdaScope(??) compiler.symbols.MANGLE_LEN compiler.symbols.ModuleScope(??) compiler.symbols.SC_CELL compiler.symbols.SC_FREE compiler.symbols.SC_GLOBAL compiler.symbols.SC_LOCAL compiler.symbols.SC_UNKNOWN compiler.symbols.Scope(??) compiler.symbols.SymbolVisitor(??) compiler.symbols.ast compiler.symbols.list_eq(??) compiler.symbols.mangle(??) compiler.symbols.sort(??) compiler.symbols.sys compiler.symbols.types compiler.syntax compiler.syntax.SyntaxErrorChecker(??) compiler.syntax.ast compiler.syntax.check(??) compiler.syntax.walk(??) compiler.transformer compiler.transformer.Add(??) compiler.transformer.And(??) compiler.transformer.AssAttr(??) compiler.transformer.AssList(??) compiler.transformer.AssName(??) compiler.transformer.AssTuple(??) compiler.transformer.Assert(??) compiler.transformer.Assign(??) compiler.transformer.AugAssign(??) compiler.transformer.Backquote(??) compiler.transformer.Bitand(??) compiler.transformer.Bitor(??) compiler.transformer.Bitxor(??) compiler.transformer.Break(??) compiler.transformer.CO_VARARGS compiler.transformer.CO_VARKEYWORDS compiler.transformer.CallFunc(??) compiler.transformer.Class(??) compiler.transformer.Compare(??) compiler.transformer.Const(??) compiler.transformer.Continue(??) compiler.transformer.Decorators(??) compiler.transformer.Dict(??) compiler.transformer.Discard(??) compiler.transformer.Div(??) compiler.transformer.Ellipsis(??) compiler.transformer.EmptyNode(??) compiler.transformer.Exec(??) compiler.transformer.Expression(??) compiler.transformer.FloorDiv(??) compiler.transformer.For(??) compiler.transformer.From(??) compiler.transformer.Function(??) compiler.transformer.GenExpr(??) compiler.transformer.GenExprFor(??) compiler.transformer.GenExprIf(??) compiler.transformer.GenExprInner(??) compiler.transformer.Getattr(??) compiler.transformer.Global(??) compiler.transformer.If(??) compiler.transformer.Import(??) compiler.transformer.Invert(??) compiler.transformer.Keyword(??) compiler.transformer.Lambda(??) compiler.transformer.LeftShift(??) compiler.transformer.List(??) compiler.transformer.ListComp(??) compiler.transformer.ListCompFor(??) compiler.transformer.ListCompIf(??) compiler.transformer.Mod(??) compiler.transformer.Module(??) compiler.transformer.Mul(??) compiler.transformer.Name(??) compiler.transformer.Node(??) compiler.transformer.Not(??) compiler.transformer.OP_APPLY compiler.transformer.OP_ASSIGN compiler.transformer.OP_DELETE compiler.transformer.Or(??) compiler.transformer.Pass(??) compiler.transformer.Power(??) compiler.transformer.Print(??) compiler.transformer.Printnl(??) compiler.transformer.Raise(??) compiler.transformer.Return(??) compiler.transformer.RightShift(??) compiler.transformer.Slice(??) compiler.transformer.Sliceobj(??) compiler.transformer.Stmt(??) compiler.transformer.Sub(??) compiler.transformer.Subscript(??) compiler.transformer.Transformer(??) compiler.transformer.TryExcept(??) compiler.transformer.TryFinally(??) compiler.transformer.Tuple(??) compiler.transformer.UnaryAdd(??) compiler.transformer.UnarySub(??) compiler.transformer.WalkerError(??) compiler.transformer.While(??) compiler.transformer.Yield(??) compiler.transformer.asList(??) compiler.transformer.debug_tree(??) compiler.transformer.extractLineNo(??) compiler.transformer.flatten(??) compiler.transformer.flatten_nodes(??) compiler.transformer.k compiler.transformer.name compiler.transformer.nodes compiler.transformer.obj(??) compiler.transformer.parse(??) compiler.transformer.parseFile(??) compiler.transformer.parser compiler.transformer.symbol compiler.transformer.sys compiler.transformer.token compiler.transformer.types compiler.transformer.v compiler.visitor compiler.visitor.ASTVisitor(??) compiler.visitor.ExampleASTVisitor(??) compiler.visitor.ast compiler.visitor.dumpNode(??) compiler.visitor.walk(??) compiler.walk(??) complex(real[, imag]) -> complex number cookielib.Absent(??) cookielib.Cookie(??) cookielib.CookieJar(??) cookielib.CookiePolicy(??) cookielib.DAYS cookielib.DEFAULT_HTTP_PORT cookielib.DefaultCookiePolicy(??) cookielib.EPOCH_YEAR cookielib.ESCAPED_CHAR_RE cookielib.FileCookieJar(??) cookielib.HEADER_ESCAPE_RE cookielib.HEADER_JOIN_ESCAPE_RE cookielib.HEADER_QUOTED_VALUE_RE cookielib.HEADER_TOKEN_RE cookielib.HEADER_VALUE_RE cookielib.HTTP_PATH_SAFE cookielib.IPV4_RE cookielib.ISO_DATE_RE cookielib.LOOSE_HTTP_DATE_RE cookielib.LWPCookieJar(??) cookielib.LoadError(??) cookielib.MISSING_FILENAME_TEXT cookielib.MONTHS cookielib.MONTHS_LOWER cookielib.MozillaCookieJar(??) cookielib.STRICT_DATE_RE cookielib.StringTypes cookielib.TIMEZONE_RE cookielib.UTC_ZONES cookielib.WEEKDAY_RE cookielib.copy cookielib.cut_port_re cookielib.debug cookielib.deepvalues(??) cookielib.domain_match(??) cookielib.eff_request_host(??) cookielib.escape_path(??) cookielib.http2time(??) cookielib.httplib cookielib.is_HDN(??) cookielib.is_third_party(??) cookielib.iso2time(??) cookielib.join_header_words(??) cookielib.liberal_is_HDN(??) cookielib.logging cookielib.lwp_cookie_str(??) cookielib.month cookielib.offset_from_tz_string(??) cookielib.parse_ns_headers(??) cookielib.re cookielib.reach(??) cookielib.request_host(??) cookielib.request_path(??) cookielib.request_port(??) cookielib.reraise_unmasked_exceptions(??) cookielib.split_header_words(??) cookielib.sys cookielib.time cookielib.time2isoz(??) cookielib.time2netscape(??) cookielib.timegm(??) cookielib.unmatched(??) cookielib.uppercase_escaped_char(??) cookielib.urllib cookielib.urlparse cookielib.user_domain_match(??) cookielib.vals_sorted_by_key(??) copy.Error(??) copy.PyStringMap copy.copy(??) copy.deepcopy(??) copy.dispatch_table copy.error(??) copy.inspect copy.name copy.t copy_reg.add_extension(??) copy_reg.clear_extension_cache(??) copy_reg.constructor(??) copy_reg.dispatch_table copy_reg.pickle(??) copy_reg.pickle_complex(??) copy_reg.remove_extension(??) copyright credits crypt.crypt(word, salt) -> string csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO([s]) -- Return a StringIO-like stream for reading or writing csv.excel(??) csv.excel_tab(??) csv.get_dialect csv.list_dialects csv.re csv.reader csv.register_dialect csv.unregister_dialect csv.writer curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate curses.beep curses.can_change_color curses.cbreak curses.color_content curses.color_pair curses.curs_set curses.def_prog_mode curses.def_shell_mode curses.delay_output curses.doupdate curses.echo curses.endwin curses.erasechar curses.error(??) curses.filter curses.flash curses.flushinp curses.getmouse curses.getsyx curses.getwin curses.halfdelay curses.has_colors curses.has_ic curses.has_il curses.has_key curses.has_key.has_key(??) curses.init_color curses.init_pair curses.initscr(??) curses.intrflush curses.isendwin curses.keyname curses.killchar curses.longname curses.meta curses.mouseinterval curses.mousemask curses.napms curses.newpad curses.newwin curses.nl curses.nocbreak curses.noecho curses.nonl curses.noqiflush curses.noraw curses.pair_content curses.pair_number curses.panel curses.panel.bottom_panel curses.panel.error(??) curses.panel.new_panel curses.panel.top_panel curses.panel.update_panels curses.panel.version curses.putp curses.qiflush curses.raw curses.reset_prog_mode curses.reset_shell_mode curses.resetty curses.savetty curses.setsyx curses.setupterm curses.start_color(??) curses.termattrs curses.termname curses.textpad curses.textpad.Textbox(??) curses.textpad.ascii curses.textpad.curses curses.textpad.rectangle(??) curses.tigetflag curses.tigetnum curses.tigetstr curses.tparm curses.typeahead curses.unctrl curses.ungetch curses.ungetmouse curses.use_default_colors curses.use_env curses.version curses.wrapper(??) curses.wrapper.func_closure curses.wrapper.func_code curses.wrapper.func_defaults curses.wrapper.func_dict curses.wrapper.func_doc curses.wrapper.func_globals curses.wrapper.func_name datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta datetime.tzinfo dbhash.bsddb dbhash.error(??) dbhash.open(??) dbhash.sys decimal.ALWAYS_ROUND decimal.BasicContext decimal.Clamped(??) decimal.Context decimal.ConversionSyntax(??) decimal.Decimal decimal.DecimalException(??) decimal.DefaultContext decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext decimal.Inexact(??) decimal.Inf decimal.Infsign decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.NEVER_ROUND decimal.NaN decimal.Overflow(??) decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.negInf decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary. difflib.Differ(??) difflib.HtmlDiff difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dircache.annotate(??) dircache.cache dircache.listdir(??) dircache.opendir(??) dircache.os dircache.reset(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.cmp_op dis.dis(??) dis.disassemble(??) dis.disassemble_string(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.hascompare dis.hasconst dis.hasfree dis.hasjabs dis.hasjrel dis.haslocal dis.hasname dis.opmap dis.opname dis.sys dis.types divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.StringIO(??) doctest.Tester(??) doctest.UnexpectedException(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib doctest.inspect doctest.is_private(??) doctest.linecache doctest.master doctest.os doctest.pdb doctest.re doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys doctest.tempfile doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback doctest.types doctest.unittest doctest.warnings dumbdbm.UserDict dumbdbm.error(??) dumbdbm.open(??) dummy_thread.LockType dummy_thread.allocate_lock(??) dummy_thread.error(??) dummy_thread.exit(??) dummy_thread.get_ident(??) dummy_thread.interrupt_main(??) dummy_thread.start_new_thread(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread dummy_threading.Timer(??) dummy_threading.activeCount(??) dummy_threading.currentThread(??) dummy_threading.enumerate(??) dummy_threading.local dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.threading email.Charset email.Charset.ALIASES email.Charset.BASE64 email.Charset.CHARSETS email.Charset.CODEC_MAP email.Charset.Charset(??) email.Charset.DEFAULT_CHARSET email.Charset.MISC_LEN email.Charset.QP email.Charset.SHORTEST email.Charset.add_alias(??) email.Charset.add_charset(??) email.Charset.add_codec(??) email.Charset.email email.Charset.encode_7or8bit(??) email.Encoders email.Encoders.base64 email.Encoders.encode_7or8bit(??) email.Encoders.encode_base64(??) email.Encoders.encode_noop(??) email.Encoders.encode_quopri(??) email.Errors email.Errors.BoundaryError(??) email.Errors.FirstHeaderLineIsContinuationDefect(??) email.Errors.HeaderParseError(??) email.Errors.MalformedHeaderDefect(??) email.Errors.MessageDefect(??) email.Errors.MessageError(??) email.Errors.MessageParseError(??) email.Errors.MisplacedEnvelopeHeaderDefect(??) email.Errors.MultipartConversionError(??) email.Errors.MultipartInvariantViolationDefect(??) email.Errors.NoBoundaryInMultipartDefect(??) email.Errors.StartBoundaryNotFoundDefect(??) email.FeedParser email.FeedParser.BufferedSubFile email.FeedParser.EMPTYSTRING email.FeedParser.Errors email.FeedParser.FeedParser(??) email.FeedParser.Message email.FeedParser.NL email.FeedParser.NLCRE email.FeedParser.NLCRE_bol email.FeedParser.NLCRE_crack email.FeedParser.NLCRE_eol email.FeedParser.NeedMoreData email.FeedParser.headerRE email.FeedParser.re email.Generator.DecodedGenerator(??) email.Generator.Generator(??) email.Generator.Header(??) email.Generator.NL email.Generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.Generator.UNDERSCORE email.Generator.fcre email.Generator.random email.Generator.re email.Generator.sys email.Generator.time email.Generator.warnings email.Header email.Header.Charset(??) email.Header.Header(??) email.Header.HeaderParseError(??) email.Header.MAXLINELEN email.Header.NL email.Header.SPACE email.Header.SPACE8 email.Header.UEMPTYSTRING email.Header.USASCII email.Header.USPACE email.Header.UTF8 email.Header.binascii email.Header.decode_header(??) email.Header.ecre email.Header.email email.Header.fcre email.Header.make_header(??) email.Header.re email.Iterators email.Iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.Iterators.body_line_iterator(??) email.Iterators.sys email.Iterators.typed_subpart_iterator(??) email.Iterators.walk(??) email.MIMEAudio email.MIMEAudio.Encoders email.MIMEAudio.Errors email.MIMEAudio.MIMEAudio(??) email.MIMEAudio.MIMENonMultipart(??) email.MIMEAudio.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.MIMEAudio.sndhdr email.MIMEBase email.MIMEBase.MIMEBase(??) email.MIMEBase.Message email.MIMEImage email.MIMEImage.Encoders email.MIMEImage.Errors email.MIMEImage.MIMEImage(??) email.MIMEImage.MIMENonMultipart(??) email.MIMEImage.imghdr email.MIMEMessage.MIMEMessage(??) email.MIMEMessage.MIMENonMultipart(??) email.MIMEMessage.Message email.MIMEMultipart email.MIMEMultipart.MIMEBase email.MIMEMultipart.MIMEMultipart(??) email.MIMENonMultipart email.MIMENonMultipart.Errors email.MIMENonMultipart.MIMEBase email.MIMENonMultipart.MIMENonMultipart(??) email.MIMEText email.MIMEText.MIMENonMultipart(??) email.MIMEText.MIMEText(??) email.MIMEText.encode_7or8bit(??) email.Message email.Message.Charset email.Message.Errors email.Message.Message(??) email.Message.SEMISPACE email.Message.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.Message.Utils email.Message.binascii email.Message.paramre email.Message.re email.Message.tspecials email.Message.uu email.Message.warnings email.Parser email.Parser.FeedParser(??) email.Parser.HeaderParser(??) email.Parser.Message(??) email.Parser.Parser(??) email.Parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.Parser.warnings email.Utils email.Utils.COMMASPACE email.Utils.CRLF email.Utils.EMPTYSTRING email.Utils.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.Utils.UEMPTYSTRING email.Utils.base64 email.Utils.collapse_rfc2231_value(??) email.Utils.decode_params(??) email.Utils.decode_rfc2231(??) email.Utils.ecre email.Utils.encode_rfc2231(??) email.Utils.escapesre email.Utils.fix_eols(??) email.Utils.formataddr(??) email.Utils.formatdate(??) email.Utils.getaddresses(??) email.Utils.make_msgid(??) email.Utils.mktime_tz(??) email.Utils.os email.Utils.parseaddr(??) email.Utils.parsedate(??) email.Utils.parsedate_tz(??) email.Utils.quote(??) email.Utils.random email.Utils.re email.Utils.rfc2231_continuation email.Utils.socket email.Utils.specialsre email.Utils.time email.Utils.unquote(??) email.Utils.warnings email.base64MIME email.base64MIME.CRLF email.base64MIME.EMPTYSTRING email.base64MIME.MISC_LEN email.base64MIME.NL email.base64MIME.a2b_base64 email.base64MIME.b2a_base64 email.base64MIME.base64_len(??) email.base64MIME.body_decode(??) email.base64MIME.body_encode(??) email.base64MIME.decode(??) email.base64MIME.decodestring(??) email.base64MIME.encode(??) email.base64MIME.encodestring(??) email.base64MIME.fix_eols(??) email.base64MIME.header_encode(??) email.base64MIME.re email.message_from_file(??) email.message_from_string(??) email.quopriMIME email.quopriMIME.CRLF email.quopriMIME.MISC_LEN email.quopriMIME.NL email.quopriMIME.body_decode(??) email.quopriMIME.body_encode(??) email.quopriMIME.body_quopri_check(??) email.quopriMIME.body_quopri_len(??) email.quopriMIME.bqre email.quopriMIME.decode(??) email.quopriMIME.decodestring(??) email.quopriMIME.encode(??) email.quopriMIME.encodestring(??) email.quopriMIME.fix_eols(??) email.quopriMIME.header_decode(??) email.quopriMIME.header_encode(??) email.quopriMIME.header_quopri_check(??) email.quopriMIME.header_quopri_len(??) email.quopriMIME.hexdigits email.quopriMIME.hqre email.quopriMIME.quote(??) email.quopriMIME.re email.quopriMIME.unquote(??) enumerate(iterable) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EADV errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EBADE errno.EBADF errno.EBADFD errno.EBADMSG errno.EBADR errno.EBADRQC errno.EBADSLT errno.EBFONT errno.EBUSY errno.ECHILD errno.ECHRNG errno.ECOMM errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDEADLOCK errno.EDESTADDRREQ errno.EDOM errno.EDOTDOT errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.EISNAM errno.EL2HLT errno.EL2NSYNC errno.EL3HLT errno.EL3RST errno.ELIBACC errno.ELIBBAD errno.ELIBEXEC errno.ELIBMAX errno.ELIBSCN errno.ELNRNG errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENAVAIL errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOANO errno.ENOBUFS errno.ENOCSI errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENONET errno.ENOPKG errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTNAM errno.ENOTSOCK errno.ENOTTY errno.ENOTUNIQ errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.ERANGE errno.EREMCHG errno.EREMOTE errno.EREMOTEIO errno.ERESTART errno.EROFS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESRMNT errno.ESTALE errno.ESTRPIPE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUCLEAN errno.EUNATCH errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.EXFULL errno.errorcode eval(source[, globals[, locals]]) -> value exceptions.ArithmeticError(??) exceptions.AssertionError(??) exceptions.AttributeError(??) exceptions.DeprecationWarning(??) exceptions.EOFError(??) exceptions.EnvironmentError(??) exceptions.Exception(??) exceptions.FloatingPointError(??) exceptions.FutureWarning(??) exceptions.IOError(??) exceptions.ImportError(??) exceptions.IndentationError(??) exceptions.IndexError(??) exceptions.KeyError(??) exceptions.KeyboardInterrupt(??) exceptions.LookupError(??) exceptions.MemoryError(??) exceptions.NameError(??) exceptions.NotImplementedError(??) exceptions.OSError(??) exceptions.OverflowError(??) exceptions.OverflowWarning(??) exceptions.PendingDeprecationWarning(??) exceptions.ReferenceError(??) exceptions.RuntimeError(??) exceptions.RuntimeWarning(??) exceptions.StandardError(??) exceptions.StopIteration(??) exceptions.SyntaxError(??) exceptions.SyntaxWarning(??) exceptions.SystemError(??) exceptions.SystemExit(??) exceptions.TabError(??) exceptions.TypeError(??) exceptions.UnboundLocalError(??) exceptions.UnicodeDecodeError(??) exceptions.UnicodeEncodeError(??) exceptions.UnicodeError(??) exceptions.UnicodeTranslateError(??) exceptions.UserWarning(??) exceptions.ValueError(??) exceptions.Warning(??) exceptions.ZeroDivisionError(??) execfile(filename[, globals[, locals]]) exit fcntl.DN_ACCESS fcntl.DN_ATTRIB fcntl.DN_CREATE fcntl.DN_DELETE fcntl.DN_MODIFY fcntl.DN_MULTISHOT fcntl.DN_RENAME fcntl.FD_CLOEXEC fcntl.F_DUPFD fcntl.F_EXLCK fcntl.F_GETFD fcntl.F_GETFL fcntl.F_GETLEASE fcntl.F_GETLK fcntl.F_GETLK64 fcntl.F_GETOWN fcntl.F_GETSIG fcntl.F_NOTIFY fcntl.F_RDLCK fcntl.F_SETFD fcntl.F_SETFL fcntl.F_SETLEASE fcntl.F_SETLK fcntl.F_SETLK64 fcntl.F_SETLKW fcntl.F_SETLKW64 fcntl.F_SETOWN fcntl.F_SETSIG fcntl.F_SHLCK fcntl.F_UNLCK fcntl.F_WRLCK fcntl.I_ATMARK fcntl.I_CANPUT fcntl.I_CKBAND fcntl.I_FDINSERT fcntl.I_FIND fcntl.I_FLUSH fcntl.I_FLUSHBAND fcntl.I_GETBAND fcntl.I_GETCLTIME fcntl.I_GETSIG fcntl.I_GRDOPT fcntl.I_GWROPT fcntl.I_LINK fcntl.I_LIST fcntl.I_LOOK fcntl.I_NREAD fcntl.I_PEEK fcntl.I_PLINK fcntl.I_POP fcntl.I_PUNLINK fcntl.I_PUSH fcntl.I_RECVFD fcntl.I_SENDFD fcntl.I_SETCLTIME fcntl.I_SETSIG fcntl.I_SRDOPT fcntl.I_STR fcntl.I_SWROPT fcntl.I_UNLINK fcntl.LOCK_EX fcntl.LOCK_MAND fcntl.LOCK_NB fcntl.LOCK_READ fcntl.LOCK_RW fcntl.LOCK_SH fcntl.LOCK_UN fcntl.LOCK_WRITE fcntl.fcntl(fd, opt, [arg]) fcntl.flock(fd, operation) fcntl.ioctl(fd, opt[, arg[, mutate_flag]]) fcntl.lockf (fd, operation, length=0, start=0, whence=0) file(name[, mode[, buffering]]) -> file object filecmp.BUFSIZE filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.ifilter(function or None, sequence) --> ifilter object filecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object filecmp.imap(func, *iterables) --> imap object filecmp.izip(iter1 [,iter2 [...]]) --> izip object filecmp.os filecmp.stat filecmp.warnings fileinput.DEFAULT_BUFSIZE fileinput.FileInput(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.input([files[, inplace[, backup]]]) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os fileinput.sys filter(function or None, sequence) -> list, tuple, or string float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.re fnmatch.translate(??) formatter.AS_IS formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys formatter.test(??) fpformat.NotANumber(??) fpformat.decoder fpformat.extract(??) fpformat.fix(??) fpformat.re fpformat.roundfrac(??) fpformat.sci(??) fpformat.test(??) fpformat.unexpo(??) frozenset(iterable) --> frozenset object ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.os ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket ftplib.sys ftplib.test(??) gc.DEBUG_COLLECTABLE gc.DEBUG_INSTANCES gc.DEBUG_LEAK gc.DEBUG_OBJECTS gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.collect() -> n gc.disable() -> None gc.enable() -> None gc.garbage gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None gdbm.error(??) gdbm.open(filename, [flags, [mode]]) -> dbm_object gdbm.open_flags getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os getopt.short_has_arg(??) getpass.default_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.sys getpass.termios getpass.unix_getpass(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale gettext.ngettext(??) gettext.os gettext.re gettext.struct gettext.sys gettext.test(??) gettext.textdomain(??) gettext.translation(??) glob.fnmatch glob.glob(??) glob.glob1(??) glob.has_magic(??) glob.magic_check glob.os glob.re globals() -> dictionary gopherlib.A_BINARY gopherlib.A_CALENDAR gopherlib.A_CSO gopherlib.A_DUPLICATE gopherlib.A_ERROR gopherlib.A_EVENT gopherlib.A_GIF gopherlib.A_HTML gopherlib.A_IMAGE gopherlib.A_INDEX gopherlib.A_MACBINHEX gopherlib.A_MENU gopherlib.A_MIME gopherlib.A_PCBINHEX gopherlib.A_PLUS_IMAGE gopherlib.A_PLUS_MOVIE gopherlib.A_PLUS_SOUND gopherlib.A_QUERY gopherlib.A_SOUND gopherlib.A_TELNET gopherlib.A_TEXT gopherlib.A_TN3270 gopherlib.A_UUENCODED gopherlib.A_WHOIS gopherlib.A_WWW gopherlib.CRLF gopherlib.DEF_HOST gopherlib.DEF_PORT gopherlib.DEF_SELECTOR gopherlib.TAB gopherlib.get_alt_binary(??) gopherlib.get_alt_textfile(??) gopherlib.get_binary(??) gopherlib.get_directory(??) gopherlib.get_textfile(??) gopherlib.path_to_datatype_name(??) gopherlib.path_to_selector(??) gopherlib.send_query(??) gopherlib.send_selector(??) gopherlib.test(??) gopherlib.type_to_name(??) grp.getgrall() -> list of tuples grp.getgrgid(id) -> tuple grp.getgrnam(name) -> tuple grp.struct_group gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.LOWU32(??) gzip.READ gzip.U32(??) gzip.WRITE gzip.open(??) gzip.read32(??) gzip.struct gzip.sys gzip.time gzip.write32(??) gzip.write32u(??) gzip.zlib hasattr(object, name) -> bool hash(object) -> integer heapq.bisect heapq.heapify heapq.heappop heapq.heappush heapq.heapreplace heapq.islice(iterable, [start,] stop [, step]) --> islice object heapq.nlargest heapq.nsmallest heapq.repeat(element [,times]) -> create an iterator which returns the element help hex(number) -> string hmac.HMAC(??) hmac.digest_size hmac.new(??) hotshot.Profile(??) hotshot.ProfilerError(??) hotshot.log hotshot.log.ENTER hotshot.log.EXIT hotshot.log.LINE hotshot.log.LogReader(??) hotshot.log.WHAT_ADD_INFO hotshot.log.WHAT_DEFINE_FILE hotshot.log.WHAT_DEFINE_FUNC hotshot.log.WHAT_ENTER hotshot.log.WHAT_EXIT hotshot.log.WHAT_LINENO hotshot.log.os hotshot.log.parser hotshot.log.symbol hotshot.log.sys hotshot.stats hotshot.stats.ENTER hotshot.stats.EXIT hotshot.stats.FakeCode(??) hotshot.stats.FakeFrame(??) hotshot.stats.Profile(??) hotshot.stats.StatsLoader(??) hotshot.stats.hotshot hotshot.stats.load(??) hotshot.stats.profile hotshot.stats.pstats hotshot.stones hotshot.stones.errno hotshot.stones.hotshot hotshot.stones.main(??) hotshot.stones.os hotshot.stones.sys hotshot.stones.test htmlentitydefs.codepoint2name htmlentitydefs.entitydefs htmlentitydefs.name2codepoint htmllib.AS_IS htmllib.HTMLParseError(??) htmllib.HTMLParser(??) htmllib.sgmllib htmllib.test(??) httplib.ACCEPTED httplib.BAD_GATEWAY httplib.BAD_REQUEST httplib.BadStatusLine(??) httplib.CONFLICT httplib.CONTINUE httplib.CREATED httplib.CannotSendHeader(??) httplib.CannotSendRequest(??) httplib.EXPECTATION_FAILED httplib.FAILED_DEPENDENCY httplib.FORBIDDEN httplib.FOUND httplib.FakeSocket(??) httplib.GATEWAY_TIMEOUT httplib.GONE httplib.HTTP(??) httplib.HTTPConnection(??) httplib.HTTPException(??) httplib.HTTPMessage(??) httplib.HTTPResponse(??) httplib.HTTPS(??) httplib.HTTPSConnection(??) httplib.HTTPS_PORT httplib.HTTP_PORT httplib.HTTP_VERSION_NOT_SUPPORTED httplib.IM_USED httplib.INSUFFICIENT_STORAGE httplib.INTERNAL_SERVER_ERROR httplib.ImproperConnectionState(??) httplib.IncompleteRead(??) httplib.InvalidURL(??) httplib.LENGTH_REQUIRED httplib.LOCKED httplib.LineAndFileWrapper(??) httplib.MAXAMOUNT httplib.METHOD_NOT_ALLOWED httplib.MOVED_PERMANENTLY httplib.MULTIPLE_CHOICES httplib.MULTI_STATUS httplib.NON_AUTHORITATIVE_INFORMATION httplib.NOT_ACCEPTABLE httplib.NOT_EXTENDED httplib.NOT_FOUND httplib.NOT_IMPLEMENTED httplib.NOT_MODIFIED httplib.NO_CONTENT httplib.NotConnected(??) httplib.OK httplib.PARTIAL_CONTENT httplib.PAYMENT_REQUIRED httplib.PRECONDITION_FAILED httplib.PROCESSING httplib.PROXY_AUTHENTICATION_REQUIRED httplib.REQUESTED_RANGE_NOT_SATISFIABLE httplib.REQUEST_ENTITY_TOO_LARGE httplib.REQUEST_TIMEOUT httplib.REQUEST_URI_TOO_LONG httplib.RESET_CONTENT httplib.ResponseNotReady(??) httplib.SEE_OTHER httplib.SERVICE_UNAVAILABLE httplib.SSLFile(??) httplib.SWITCHING_PROTOCOLS httplib.SharedSocket(??) httplib.SharedSocketClient(??) httplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing httplib.TEMPORARY_REDIRECT httplib.UNAUTHORIZED httplib.UNPROCESSABLE_ENTITY httplib.UNSUPPORTED_MEDIA_TYPE httplib.UPGRADE_REQUIRED httplib.USE_PROXY httplib.UnimplementedFileMode(??) httplib.UnknownProtocol(??) httplib.UnknownTransferEncoding(??) httplib.errno httplib.error(??) httplib.mimetools httplib.socket httplib.test(??) httplib.urlsplit(??) id(object) -> integer ihooks.BUILTIN_MODULE ihooks.BasicModuleImporter(??) ihooks.BasicModuleLoader(??) ihooks.C_BUILTIN ihooks.C_EXTENSION ihooks.FROZEN_MODULE ihooks.FancyModuleLoader(??) ihooks.Hooks(??) ihooks.ModuleImporter(??) ihooks.ModuleLoader(??) ihooks.PKG_DIRECTORY ihooks.PY_COMPILED ihooks.PY_FROZEN ihooks.PY_SOURCE ihooks.VERBOSE ihooks.current_importer ihooks.default_importer ihooks.imp ihooks.install(??) ihooks.os ihooks.sys ihooks.uninstall(??) imaplib.AllowedVersions imaplib.CRLF imaplib.Commands imaplib.Continuation imaplib.Debug imaplib.Flags imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate imaplib.Internaldate2tuple(??) imaplib.Literal imaplib.MapCRLF imaplib.Mon2num imaplib.ParseFlags(??) imaplib.Response_code imaplib.Time2Internaldate(??) imaplib.Untagged_response imaplib.Untagged_status imaplib.binascii imaplib.os imaplib.random imaplib.re imaplib.socket imaplib.sys imaplib.time imghdr.test(??) imghdr.test_bmp(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.acquire_lock() -> None imp.find_module(name, [path]) -> (file, filename, (suffix, mode, type)) imp.get_frozen_object imp.get_magic() -> string imp.get_suffixes() -> [(suffix, mode, type), ...] imp.init_builtin imp.init_frozen imp.is_builtin imp.is_frozen imp.load_compiled imp.load_dynamic imp.load_module(name, file, filename, (suffix, mode, type)) -> module imp.load_package imp.load_source imp.lock_held() -> boolean imp.new_module(name) -> module imp.release_lock() -> None imputil.BuiltinImporter(??) imputil.DynLoadSuffixImporter(??) imputil.ImportManager(??) imputil.Importer(??) imputil.imp imputil.marshal imputil.py_suffix_importer(??) imputil.struct imputil.sys input([prompt]) -> value inspect.BlockFinder(??) inspect.CO_NEWLOCALS inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.EndOfBlock(??) inspect.ListReader(??) inspect.classify_class_attrs(??) inspect.currentframe inspect.dis inspect.findsource(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getblock(??) inspect.getclasstree(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.imp inspect.indentsize(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.joinseq(??) inspect.linecache inspect.modulesbyfile inspect.os inspect.re inspect.stack(??) inspect.string inspect.strseq(??) inspect.sys inspect.tokenize inspect.trace(??) inspect.types inspect.walktree(??) int(x[, base]) -> integer intern(string) -> string isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(collection) -> iterator itertools.chain(*iterables) --> chain object itertools.count([firstval]) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.ifilter(function or None, sequence) --> ifilter object itertools.ifilterfalse(function or None, sequence) --> ifilterfalse object itertools.imap(func, *iterables) --> imap object itertools.islice(iterable, [start,] stop [, step]) --> islice object itertools.izip(iter1 [,iter2 [...]]) --> izip object itertools.repeat(element [,times]) -> create an iterator which returns the element itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. keyword.iskeyword keyword.kwlist keyword.main(??) len(object) -> integer license linecache.cache linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os linecache.sys linecache.updatecache(??) linuxaudiodev.AFMT_A_LAW linuxaudiodev.AFMT_MU_LAW linuxaudiodev.AFMT_S16_BE linuxaudiodev.AFMT_S16_LE linuxaudiodev.AFMT_S16_NE linuxaudiodev.AFMT_S8 linuxaudiodev.AFMT_U16_BE linuxaudiodev.AFMT_U16_LE linuxaudiodev.AFMT_U8 linuxaudiodev.error(??) linuxaudiodev.open list() -> new list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.bind_textdomain_codeset(domain, codeset) -> string locale.bindtextdomain(domain, dir) -> string locale.dcgettext(domain, msg, category) -> string locale.dgettext(domain, msg) -> string locale.encoding_alias locale.format(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.gettext(msg) -> string locale.locale_alias locale.localeconv locale.nl_langinfo(key) -> string locale.normalize(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll locale.strxfrm locale.sys locale.textdomain(domain) -> string locale.windows_locale locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.Manager(??) logging.NOTSET logging.PlaceHolder(??) logging.RootLogger(??) logging.StreamHandler(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit logging.basicConfig(??) logging.cStringIO logging.codecs logging.config logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.fileConfig(??) logging.config.listen(??) logging.config.logging logging.config.os logging.config.socket logging.config.stopListening(??) logging.config.string logging.config.struct logging.config.sys logging.config.thread logging.config.threading logging.config.traceback logging.critical(??) logging.currentframe logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.cPickle logging.handlers.codecs logging.handlers.glob logging.handlers.logging logging.handlers.os logging.handlers.socket logging.handlers.string logging.handlers.struct logging.handlers.sys logging.handlers.time logging.handlers.types logging.info(??) logging.log(??) logging.makeLogRecord(??) logging.os logging.raiseExceptions logging.root logging.setLoggerClass(??) logging.shutdown(??) logging.string logging.sys logging.thread logging.threading logging.time logging.traceback logging.types logging.warn(??) logging.warning(??) long(x[, base]) -> integer macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFREG macpath.S_IFSOCK macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(??) macpath.S_ISCHR(??) macpath.S_ISDIR(??) macpath.S_ISFIFO(??) macpath.S_ISGID macpath.S_ISLNK(??) macpath.S_ISREG(??) macpath.S_ISSOCK(??) macpath.S_ISUID macpath.S_ISVTX macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.abspath(??) macpath.altsep macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os macpath.pardir macpath.pathsep macpath.realpath(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames macpath.walk(??) macurl2path.os macurl2path.pathname2url(??) macurl2path.test(??) macurl2path.url2pathname(??) macurl2path.urllib mailbox.BabylMailbox(??) mailbox.MHMailbox(??) mailbox.Maildir(??) mailbox.MmdfMailbox(??) mailbox.PortableUnixMailbox(??) mailbox.UnixMailbox(??) mailbox.os mailbox.rfc822 mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(function, sequence[, sequence, ...]) -> list markupbase.ParserBase(??) marshal.dump marshal.dumps marshal.load marshal.loads marshal.version math.acos(x) math.asin(x) math.atan(x) math.atan2(y, x) math.ceil(x) math.cos(x) math.cosh(x) math.degrees(x) -> converts angle x from radians to degrees math.e math.exp(x) math.fabs(x) math.floor(x) math.fmod(x,y) math.frexp(x) math.hypot(x,y) math.ldexp(x, i) -> x * (2**i) math.log(x[, base]) -> the logarithm of x to the given base. math.log10(x) -> the base 10 logarithm of x. math.modf(x) math.pi math.pow(x,y) math.radians(x) -> converts angle x from degrees to radians math.sin(x) math.sinh(x) math.sqrt(x) math.tan(x) math.tanh(x) max(sequence) -> value md5.MD5Type md5.digest_size md5.md5 md5.new([arg]) -> md5 object mhlib.Error(??) mhlib.FOLDER_PROTECT mhlib.Folder(??) mhlib.IntSet(??) mhlib.MH(??) mhlib.MH_PROFILE mhlib.MH_SEQUENCES mhlib.Message(??) mhlib.PATH mhlib.SubMessage(??) mhlib.bisect mhlib.isnumeric(??) mhlib.mimetools mhlib.multifile mhlib.numericprog mhlib.os mhlib.pickline(??) mhlib.re mhlib.shutil mhlib.sys mhlib.test(??) mhlib.updateline(??) mimetools.Message(??) mimetools.choose_boundary(??) mimetools.copybinary(??) mimetools.copyliteral(??) mimetools.decode(??) mimetools.decodetab mimetools.encode(??) mimetools.encodetab mimetools.os mimetools.pipethrough(??) mimetools.pipeto(??) mimetools.rfc822 mimetools.tempfile mimetools.uudecode_pipe mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types mimetypes.encodings_map mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited mimetypes.knownfiles mimetypes.os mimetypes.posixpath mimetypes.read_mime_types(??) mimetypes.suffix_map mimetypes.types_map mimetypes.urllib mimify.CHARSET mimify.File(??) mimify.HeaderFile(??) mimify.MAXLEN mimify.QUOTE mimify.base64_re mimify.chrset mimify.cte mimify.he mimify.iso_char mimify.mime_char mimify.mime_code mimify.mime_decode(??) mimify.mime_decode_header(??) mimify.mime_encode(??) mimify.mime_encode_header(??) mimify.mime_head mimify.mime_header mimify.mime_header_char mimify.mimify(??) mimify.mimify_part(??) mimify.mp mimify.mv mimify.qp mimify.re mimify.repl mimify.sys mimify.unmimify(??) mimify.unmimify_part(??) min(sequence) -> value mmap.ACCESS_COPY mmap.ACCESS_READ mmap.ACCESS_WRITE mmap.MAP_ANON mmap.MAP_ANONYMOUS mmap.MAP_DENYWRITE mmap.MAP_EXECUTABLE mmap.MAP_PRIVATE mmap.MAP_SHARED mmap.PAGESIZE mmap.PROT_EXEC mmap.PROT_READ mmap.PROT_WRITE mmap.error(??) mmap.mmap modulefinder.AddPackagePath(??) modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.READ_MODE modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS modulefinder.dis modulefinder.imp modulefinder.marshal modulefinder.new modulefinder.os modulefinder.packagePathMap modulefinder.replacePackageMap modulefinder.sys modulefinder.test(??) multifile.Error(??) multifile.MultiFile(??) mutex.deque(iterable) --> deque object mutex.mutex(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os netrc.shlex new.classobj(name, bases, dict) new.code new.function(code, globals[, name[, argdefs[, closure]]]) new.instance(class[, dict]) new.instancemethod(function, instance, class) new.module(name[, doc]) nis.cat nis.error(??) nis.maps nis.match nntplib.CRLF nntplib.LONGRESP nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.error_data(??) nntplib.error_perm(??) nntplib.error_proto(??) nntplib.error_reply(??) nntplib.error_temp(??) nntplib.re nntplib.socket ntpath.abspath(??) ntpath.altsep ntpath.basename(??) ntpath.commonprefix(??) ntpath.curdir ntpath.defpath ntpath.devnull ntpath.dirname(??) ntpath.exists(??) ntpath.expanduser(??) ntpath.expandvars(??) ntpath.extsep ntpath.getatime(??) ntpath.getctime(??) ntpath.getmtime(??) ntpath.getsize(??) ntpath.isabs(??) ntpath.isdir(??) ntpath.isfile(??) ntpath.islink(??) ntpath.ismount(??) ntpath.join(??) ntpath.lexists(??) ntpath.normcase(??) ntpath.normpath(??) ntpath.os ntpath.pardir ntpath.pathsep ntpath.realpath(??) ntpath.sep ntpath.split(??) ntpath.splitdrive(??) ntpath.splitext(??) ntpath.splitunc(??) ntpath.stat ntpath.supports_unicode_filenames ntpath.sys ntpath.walk(??) nturl2path.pathname2url(??) nturl2path.url2pathname(??) object oct(number) -> string opcode.EXTENDED_ARG opcode.HAVE_ARGUMENT opcode.cmp_op opcode.hascompare opcode.hasconst opcode.hasfree opcode.hasjabs opcode.hasjrel opcode.haslocal opcode.hasname opcode.opmap opcode.opname open operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.delslice(a, b, c) -- Same as del a[b:c]. operator.div(a, b) -- Same as a / b when __future__.division is not in effect. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.getslice(a, b, c) -- Same as a[b:c]. operator.gt(a, b) -- Same as a>b. operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.isCallable(a) -- Same as callable(a). operator.isMappingType(a) -- Return True if a has a mapping type, False otherwise. operator.isNumberType(a) -- Return True if a has a numeric type, False otherwise. operator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise. operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.itemgetter(item) --> itemgetter object operator.le(a, b) -- Same as a<=b. operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a> b. operator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated). operator.setitem(a, b, c) -- Same as a[b] = c. operator.setslice(a, b, c, d) -- Same as a[b:c] = d. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b when __future__.division is in effect. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.make_option(??) optparse.os optparse.sys optparse.textwrap optparse.types ord(c) -> integer os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_OK os.NGROUPS_MAX os.O_APPEND os.O_CREAT os.O_DIRECT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_LARGEFILE os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_RSYNC os.O_SYNC os.O_TRUNC os.O_WRONLY os.P_NOWAIT os.P_NOWAITO os.P_WAIT os.R_OK os.TMP_MAX os.UserDict os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(path, mode) -> 1 if granted, 0 otherwise os.altsep os.chdir(path) os.chmod(path, mode) os.chown(path, uid, gid) os.chroot(path) os.close(fd) os.confstr(name) -> string os.confstr_names os.ctermid() -> string os.curdir os.defpath os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(??) os.execvpe(file, args, env) os.extsep os.fchdir(fildes) os.fdatasync(fildes) os.fdopen(fd [, mode='r' [, bufsize]]) -> file_object os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.getcwd() -> path os.getcwdu() -> path os.getegid() -> egid os.getenv(??) os.geteuid() -> euid os.getgid() -> gid os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getsid(pid) -> sid os.getuid() -> uid os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchown(path, uid, gid) os.linesep os.link(src, dst) os.listdir(path) -> list_of_strings os.lseek(fd, pos, how) -> newpos os.lstat(path) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0777]) os.minor(device) -> minor number os.mkdir(path [, mode=0777]) os.mkfifo(filename [, mode=0666]) os.mknod(filename [, mode=0600, device]) os.name os.nice(inc) -> new_priority os.open(filename, flag [, mode=0777]) -> fd os.openpty() -> (master_fd, slave_fd) os.pardir os.path os.pathconf(path, name) -> integer os.pathconf_names os.pathsep os.pipe() -> (read_end, write_end) os.popen(command [, mode='r' [, bufsize]]) -> pipe os.popen2(??) os.popen3(??) os.popen4(??) os.putenv(key, value) os.read(fd, buffersize) -> string os.readlink(path) -> path os.remove(path) os.removedirs(path) os.rename(old, new) os.renames(old, new) os.rmdir(path) os.sep os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setregid(rgid, egid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.stat(path) -> stat result os.stat_float_times([newval]) -> oldval os.stat_result os.statvfs(path) -> statvfs result os.statvfs_result os.strerror(code) -> string os.symlink(src, dst) os.sys os.sysconf(name) -> integer os.sysconf_names os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.tempnam([dir[, prefix]]) -> string os.times() -> (utime, stime, cutime, cstime, elapsed_time) os.tmpfile() -> file object os.tmpnam() -> string os.ttyname(fd) -> string os.umask(new_mask) -> old_mask os.uname() -> (sysname, nodename, release, version, machine) os.unlink(path) os.unsetenv(key) os.urandom(n) -> str os.utime(path, (atime, utime)) os.wait() -> (pid, status) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, string) -> byteswritten os2emxpath.abspath(??) os2emxpath.altsep os2emxpath.basename(??) os2emxpath.commonprefix(??) os2emxpath.curdir os2emxpath.defpath os2emxpath.devnull os2emxpath.dirname(??) os2emxpath.exists(??) os2emxpath.expanduser(??) os2emxpath.expandvars(??) os2emxpath.extsep os2emxpath.getatime(??) os2emxpath.getctime(??) os2emxpath.getmtime(??) os2emxpath.getsize(??) os2emxpath.isabs(??) os2emxpath.isdir(??) os2emxpath.isfile(??) os2emxpath.islink(??) os2emxpath.ismount(??) os2emxpath.join(??) os2emxpath.lexists(??) os2emxpath.normcase(??) os2emxpath.normpath(??) os2emxpath.os os2emxpath.pardir os2emxpath.pathsep os2emxpath.realpath(??) os2emxpath.sep os2emxpath.split(??) os2emxpath.splitdrive(??) os2emxpath.splitext(??) os2emxpath.splitunc(??) os2emxpath.stat os2emxpath.supports_unicode_filenames os2emxpath.walk(??) ossaudiodev.AFMT_AC3 ossaudiodev.AFMT_A_LAW ossaudiodev.AFMT_IMA_ADPCM ossaudiodev.AFMT_MPEG ossaudiodev.AFMT_MU_LAW ossaudiodev.AFMT_QUERY ossaudiodev.AFMT_S16_BE ossaudiodev.AFMT_S16_LE ossaudiodev.AFMT_S16_NE ossaudiodev.AFMT_S8 ossaudiodev.AFMT_U16_BE ossaudiodev.AFMT_U16_LE ossaudiodev.AFMT_U8 ossaudiodev.OSSAudioError(??) ossaudiodev.SNDCTL_COPR_HALT ossaudiodev.SNDCTL_COPR_LOAD ossaudiodev.SNDCTL_COPR_RCODE ossaudiodev.SNDCTL_COPR_RCVMSG ossaudiodev.SNDCTL_COPR_RDATA ossaudiodev.SNDCTL_COPR_RESET ossaudiodev.SNDCTL_COPR_RUN ossaudiodev.SNDCTL_COPR_SENDMSG ossaudiodev.SNDCTL_COPR_WCODE ossaudiodev.SNDCTL_COPR_WDATA ossaudiodev.SNDCTL_DSP_BIND_CHANNEL ossaudiodev.SNDCTL_DSP_CHANNELS ossaudiodev.SNDCTL_DSP_GETBLKSIZE ossaudiodev.SNDCTL_DSP_GETCAPS ossaudiodev.SNDCTL_DSP_GETCHANNELMASK ossaudiodev.SNDCTL_DSP_GETFMTS ossaudiodev.SNDCTL_DSP_GETIPTR ossaudiodev.SNDCTL_DSP_GETISPACE ossaudiodev.SNDCTL_DSP_GETODELAY ossaudiodev.SNDCTL_DSP_GETOPTR ossaudiodev.SNDCTL_DSP_GETOSPACE ossaudiodev.SNDCTL_DSP_GETSPDIF ossaudiodev.SNDCTL_DSP_GETTRIGGER ossaudiodev.SNDCTL_DSP_MAPINBUF ossaudiodev.SNDCTL_DSP_MAPOUTBUF ossaudiodev.SNDCTL_DSP_NONBLOCK ossaudiodev.SNDCTL_DSP_POST ossaudiodev.SNDCTL_DSP_PROFILE ossaudiodev.SNDCTL_DSP_RESET ossaudiodev.SNDCTL_DSP_SAMPLESIZE ossaudiodev.SNDCTL_DSP_SETDUPLEX ossaudiodev.SNDCTL_DSP_SETFMT ossaudiodev.SNDCTL_DSP_SETFRAGMENT ossaudiodev.SNDCTL_DSP_SETSPDIF ossaudiodev.SNDCTL_DSP_SETSYNCRO ossaudiodev.SNDCTL_DSP_SETTRIGGER ossaudiodev.SNDCTL_DSP_SPEED ossaudiodev.SNDCTL_DSP_STEREO ossaudiodev.SNDCTL_DSP_SUBDIVIDE ossaudiodev.SNDCTL_DSP_SYNC ossaudiodev.SNDCTL_FM_4OP_ENABLE ossaudiodev.SNDCTL_FM_LOAD_INSTR ossaudiodev.SNDCTL_MIDI_INFO ossaudiodev.SNDCTL_MIDI_MPUCMD ossaudiodev.SNDCTL_MIDI_MPUMODE ossaudiodev.SNDCTL_MIDI_PRETIME ossaudiodev.SNDCTL_SEQ_CTRLRATE ossaudiodev.SNDCTL_SEQ_GETINCOUNT ossaudiodev.SNDCTL_SEQ_GETOUTCOUNT ossaudiodev.SNDCTL_SEQ_GETTIME ossaudiodev.SNDCTL_SEQ_NRMIDIS ossaudiodev.SNDCTL_SEQ_NRSYNTHS ossaudiodev.SNDCTL_SEQ_OUTOFBAND ossaudiodev.SNDCTL_SEQ_PANIC ossaudiodev.SNDCTL_SEQ_PERCMODE ossaudiodev.SNDCTL_SEQ_RESET ossaudiodev.SNDCTL_SEQ_RESETSAMPLES ossaudiodev.SNDCTL_SEQ_SYNC ossaudiodev.SNDCTL_SEQ_TESTMIDI ossaudiodev.SNDCTL_SEQ_THRESHOLD ossaudiodev.SNDCTL_SYNTH_CONTROL ossaudiodev.SNDCTL_SYNTH_ID ossaudiodev.SNDCTL_SYNTH_INFO ossaudiodev.SNDCTL_SYNTH_MEMAVL ossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE ossaudiodev.SNDCTL_TMR_CONTINUE ossaudiodev.SNDCTL_TMR_METRONOME ossaudiodev.SNDCTL_TMR_SELECT ossaudiodev.SNDCTL_TMR_SOURCE ossaudiodev.SNDCTL_TMR_START ossaudiodev.SNDCTL_TMR_STOP ossaudiodev.SNDCTL_TMR_TEMPO ossaudiodev.SNDCTL_TMR_TIMEBASE ossaudiodev.SOUND_MIXER_ALTPCM ossaudiodev.SOUND_MIXER_BASS ossaudiodev.SOUND_MIXER_CD ossaudiodev.SOUND_MIXER_DIGITAL1 ossaudiodev.SOUND_MIXER_DIGITAL2 ossaudiodev.SOUND_MIXER_DIGITAL3 ossaudiodev.SOUND_MIXER_IGAIN ossaudiodev.SOUND_MIXER_IMIX ossaudiodev.SOUND_MIXER_LINE ossaudiodev.SOUND_MIXER_LINE1 ossaudiodev.SOUND_MIXER_LINE2 ossaudiodev.SOUND_MIXER_LINE3 ossaudiodev.SOUND_MIXER_MIC ossaudiodev.SOUND_MIXER_MONITOR ossaudiodev.SOUND_MIXER_NRDEVICES ossaudiodev.SOUND_MIXER_OGAIN ossaudiodev.SOUND_MIXER_PCM ossaudiodev.SOUND_MIXER_PHONEIN ossaudiodev.SOUND_MIXER_PHONEOUT ossaudiodev.SOUND_MIXER_RADIO ossaudiodev.SOUND_MIXER_RECLEV ossaudiodev.SOUND_MIXER_SPEAKER ossaudiodev.SOUND_MIXER_SYNTH ossaudiodev.SOUND_MIXER_TREBLE ossaudiodev.SOUND_MIXER_VIDEO ossaudiodev.SOUND_MIXER_VOLUME ossaudiodev.control_labels ossaudiodev.control_names ossaudiodev.error(??) ossaudiodev.open ossaudiodev.openmixer parser.ASTType parser.ParserError(??) parser.STType parser.ast2list parser.ast2tuple parser.compileast parser.compilest parser.expr parser.isexpr parser.issuite parser.sequence2ast parser.sequence2st parser.st2list parser.st2tuple parser.suite parser.tuple2ast parser.tuple2st pdb.Pdb(??) pdb.Repr(??) pdb.TESTCMD pdb.bdb pdb.cmd pdb.find_function(??) pdb.help(??) pdb.line_prefix pdb.linecache pdb.main(??) pdb.os pdb.pm(??) pdb.post_mortem(??) pdb.pprint pdb.re pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.sys pdb.test(??) pdb.traceback pickle.APPEND pickle.APPENDS pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BUILD pickle.BooleanType pickle.BufferType pickle.BuiltinFunctionType pickle.BuiltinMethodType pickle.ClassType pickle.CodeType pickle.ComplexType pickle.DICT pickle.DUP pickle.DictProxyType pickle.DictType pickle.DictionaryType pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.EllipsisType pickle.FALSE pickle.FLOAT pickle.FileType pickle.FloatType pickle.FrameType pickle.FunctionType pickle.GET pickle.GLOBAL pickle.GeneratorType pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.InstanceType pickle.IntType pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.LambdaType pickle.ListType pickle.LongType pickle.MARK pickle.MethodType pickle.ModuleType pickle.NEWFALSE pickle.NEWOBJ pickle.NEWTRUE pickle.NONE pickle.NoneType pickle.NotImplementedType pickle.OBJ pickle.ObjectType pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(??) pickle.PicklingError(??) pickle.PyStringMap pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINSTRING pickle.STOP pickle.STRING pickle.SliceType pickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing pickle.StringType pickle.StringTypes pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.TracebackType pickle.TupleType pickle.TypeType pickle.UNICODE pickle.UnboundMethodType pickle.UnicodeType pickle.Unpickler(??) pickle.UnpicklingError(??) pickle.XRangeType pickle.classmap pickle.compatible_formats pickle.decode_long(??) pickle.dispatch_table pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.load(??) pickle.loads(??) pickle.marshal pickle.mloads pickle.re pickle.struct pickle.sys pickle.warnings pickle.whichmodule(??) pickletools.ArgumentDescriptor pickletools.OpcodeInfo pickletools.StackObject pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.UP_TO_NEWLINE pickletools.anyobject pickletools.code2op pickletools.decimalnl_long pickletools.decimalnl_short pickletools.decode_long(??) pickletools.dis(??) pickletools.float8 pickletools.floatnl pickletools.genops(??) pickletools.int4 pickletools.long1 pickletools.long4 pickletools.markobject pickletools.opcodes pickletools.pybool pickletools.pydict pickletools.pyfloat pickletools.pyint pickletools.pyinteger_or_bool pickletools.pylist pickletools.pylong pickletools.pynone pickletools.pystring pickletools.pytuple pickletools.pyunicode pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestringnl(??) pickletools.stackslice pickletools.string1 pickletools.string4 pickletools.stringnl pickletools.stringnl_noescape pickletools.stringnl_noescape_pair pickletools.uint1 pickletools.uint2 pickletools.unicodestring4 pickletools.unicodestringnl pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os pipes.quote(??) pipes.re pipes.stepkinds pipes.string pipes.tempfile pipes.test(??) pkgutil.extend_path(??) pkgutil.os pkgutil.sys platform.architecture(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os platform.platform(??) platform.popen(??) platform.processor(??) platform.python_build(??) platform.python_compiler(??) platform.python_version(??) platform.python_version_tuple(??) platform.re platform.release(??) platform.string platform.sys platform.system(??) platform.system_alias(??) platform.uname(??) platform.version(??) platform.win32_ver(??) popen2.MAXFD popen2.Popen3(??) popen2.Popen4(??) popen2.os popen2.popen2(??) popen2.popen3(??) popen2.popen4(??) popen2.sys poplib.CR poplib.CRLF poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.error_proto(??) poplib.re poplib.socket posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_OK posix.NGROUPS_MAX posix.O_APPEND posix.O_CREAT posix.O_DIRECT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_LARGEFILE posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_RSYNC posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.R_OK posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(path, mode) -> 1 if granted, 0 otherwise posix.chdir(path) posix.chmod(path, mode) posix.chown(path, uid, gid) posix.chroot(path) posix.close(fd) posix.confstr(name) -> string posix.confstr_names posix.ctermid() -> string posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ posix.error(??) posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fildes) posix.fdatasync(fildes) posix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.getcwd() -> path posix.getcwdu() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getsid(pid) -> sid posix.getuid() -> uid posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchown(path, uid, gid) posix.link(src, dst) posix.listdir(path) -> list_of_strings posix.lseek(fd, pos, how) -> newpos posix.lstat(path) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path [, mode=0777]) posix.mkfifo(filename [, mode=0666]) posix.mknod(filename [, mode=0600, device]) posix.nice(inc) -> new_priority posix.open(filename, flag [, mode=0777]) -> fd posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names posix.pipe() -> (read_end, write_end) posix.popen(command [, mode='r' [, bufsize]]) -> pipe posix.putenv(key, value) posix.read(fd, buffersize) -> string posix.readlink(path) -> path posix.remove(path) posix.rename(old, new) posix.rmdir(path) posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setregid(rgid, egid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(path) -> stat result posix.stat_float_times([newval]) -> oldval posix.stat_result posix.statvfs(path) -> statvfs result posix.statvfs_result posix.strerror(code) -> string posix.symlink(src, dst) posix.sysconf(name) -> integer posix.sysconf_names posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.tempnam([dir[, prefix]]) -> string posix.times() -> (utime, stime, cutime, cstime, elapsed_time) posix.tmpfile() -> file object posix.tmpnam() -> string posix.ttyname(fd) -> string posix.umask(new_mask) -> old_mask posix.uname() -> (sysname, nodename, release, version, machine) posix.unlink(path) posix.unsetenv(key) posix.utime(path, (atime, utime)) posix.wait() -> (pid, status) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, string) -> byteswritten posixfile.SEEK_CUR posixfile.SEEK_END posixfile.SEEK_SET posixfile.fileopen(??) posixfile.open(??) posixpath.abspath(??) posixpath.altsep posixpath.basename(??) posixpath.commonprefix(??) posixpath.curdir posixpath.defpath posixpath.devnull posixpath.dirname(??) posixpath.exists(??) posixpath.expanduser(??) posixpath.expandvars(??) posixpath.extsep posixpath.getatime(??) posixpath.getctime(??) posixpath.getmtime(??) posixpath.getsize(??) posixpath.isabs(??) posixpath.isdir(??) posixpath.isfile(??) posixpath.islink(??) posixpath.ismount(??) posixpath.join(??) posixpath.lexists(??) posixpath.normcase(??) posixpath.normpath(??) posixpath.os posixpath.pardir posixpath.pathsep posixpath.realpath(??) posixpath.samefile(??) posixpath.sameopenfile(??) posixpath.samestat(??) posixpath.sep posixpath.split(??) posixpath.splitdrive(??) posixpath.splitext(??) posixpath.stat posixpath.supports_unicode_filenames posixpath.walk(??) pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.saferepr(??) profile.OptionParser(??) profile.Profile(??) profile.Stats(??) profile.help(??) profile.marshal profile.os profile.run(??) profile.runctx(??) profile.sys profile.time property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal pstats.os pstats.re pstats.time pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd pwd.struct_pwent py_compile.MAGIC py_compile.PyCompileError(??) py_compile.compile(??) py_compile.imp py_compile.main(??) py_compile.marshal py_compile.os py_compile.set_creator_type(??) py_compile.sys py_compile.traceback py_compile.wr_long(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.NEWLINE pyclbr.imp pyclbr.itemgetter(item) --> itemgetter object pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys pyclbr.tokenize pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.Scanner(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque(iterable) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.expandtabs(s [,tabsize]) -> string pydoc.find(s, sub [,start [,end]]) -> in pydoc.getdoc(??) pydoc.getpager(??) pydoc.gui(??) pydoc.help pydoc.html pydoc.imp pydoc.importfile(??) pydoc.inspect pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.join(list [,sep]) -> string pydoc.locate(??) pydoc.lower(s) -> string pydoc.os pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.re pydoc.replace(??) pydoc.resolve(??) pydoc.rfind(s, sub [,start [,end]]) -> int pydoc.rstrip(s [,chars]) -> string pydoc.safeimport(??) pydoc.serve(??) pydoc.split(s [,sep [,maxsplit]]) -> list of strings pydoc.splitdoc(??) pydoc.strip(s [,chars]) -> string pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys pydoc.tempfilepager(??) pydoc.text pydoc.ttypager(??) pydoc.types pydoc.visiblename(??) pydoc.writedoc(??) pydoc.writedocs(??) pyexpat.EXPAT_VERSION pyexpat.ErrorString(errno) -> string pyexpat.ExpatError(??) pyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser pyexpat.XMLParserType pyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS pyexpat.XML_PARAM_ENTITY_PARSING_NEVER pyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE pyexpat.error(??) pyexpat.errors pyexpat.features pyexpat.model pyexpat.native_encoding pyexpat.version_info quit quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random random.SG_MAGICCONST random.SystemRandom random.TWOPI random.WichmannHill random.betavariate random.choice random.expovariate random.gammavariate random.gauss random.getrandbits(k) -> x. Generates a long int with k random bits. random.getstate random.jumpahead(int) -> None. Create new state from existing state and integer. random.lognormvariate random.normalvariate random.paretovariate random.randint random.random() -> x in the interval [0, 1). random.randrange random.sample random.seed random.setstate random.shuffle random.uniform random.vonmisesvariate random.weibullvariate range([start,] stop[, step]) -> list of integers raw_input([prompt]) -> string re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.engine re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sub(??) re.subn(??) re.template(??) readline.add_history(string) -> None readline.clear_history() -> None readline.get_begidx() -> int readline.get_completer() -> function readline.get_completer_delims() -> string readline.get_current_history_length() -> integer readline.get_endidx() -> int readline.get_history_item() -> string readline.get_history_length() -> int readline.get_line_buffer() -> string readline.insert_text(string) -> None readline.parse_and_bind(string) -> None readline.read_history_file([filename]) -> None readline.read_init_file([filename]) -> None readline.redisplay() -> None readline.remove_history_item(pos) -> None readline.replace_history_item(pos, line) -> None readline.set_completer([function]) -> None readline.set_completer_delims(string) -> None readline.set_history_length(length) -> None readline.set_startup_hook([function]) -> None readline.write_history_file([filename]) -> None reconvert.RE_ANSI_HEX reconvert.RE_BK_PLUS_QM reconvert.RE_CONTEXT_INDEP_OPS reconvert.RE_NEWLINE_OR reconvert.RE_NO_BK_PARENS reconvert.RE_NO_BK_VBAR reconvert.RE_NO_GNU_EXTENSIONS reconvert.RE_SYNTAX_AWK reconvert.RE_SYNTAX_EGREP reconvert.RE_SYNTAX_EMACS reconvert.RE_SYNTAX_GREP reconvert.RE_TIGHT_VBAR reconvert.convert(??) reconvert.main(??) reconvert.mastertable reconvert.quote(??) reconvert.regex reconvert.warnings reduce(function, sequence[, initial]) -> value regex.casefold regex.compile regex.error(??) regex.get_syntax regex.match regex.search regex.set_syntax regex.symcomp regex_syntax.RE_ANSI_HEX regex_syntax.RE_BK_PLUS_QM regex_syntax.RE_CONTEXT_INDEP_OPS regex_syntax.RE_NEWLINE_OR regex_syntax.RE_NO_BK_PARENS regex_syntax.RE_NO_BK_VBAR regex_syntax.RE_NO_GNU_EXTENSIONS regex_syntax.RE_SYNTAX_AWK regex_syntax.RE_SYNTAX_EGREP regex_syntax.RE_SYNTAX_EMACS regex_syntax.RE_SYNTAX_GREP regex_syntax.RE_TIGHT_VBAR regsub.cache regsub.capwords(??) regsub.clear_cache(??) regsub.compile(??) regsub.expand(??) regsub.gsub(??) regsub.intsplit(??) regsub.regex regsub.split(??) regsub.splitx(??) regsub.sub(??) regsub.test(??) regsub.warnings reload(module) -> module repr(object) -> string repr.Repr(??) repr.aRepr repr.islice(iterable, [start,] stop [, step]) --> islice object repr.repr resource.RLIMIT_AS resource.RLIMIT_CORE resource.RLIMIT_CPU resource.RLIMIT_DATA resource.RLIMIT_FSIZE resource.RLIMIT_MEMLOCK resource.RLIMIT_NOFILE resource.RLIMIT_NPROC resource.RLIMIT_OFILE resource.RLIMIT_RSS resource.RLIMIT_STACK resource.RLIM_INFINITY resource.RUSAGE_CHILDREN resource.RUSAGE_SELF resource.error(??) resource.getpagesize resource.getrlimit resource.getrusage resource.setrlimit resource.struct_rusage reversed(sequence) -> reverse iterator over values of the sequence rexec.FileBase(??) rexec.FileDelegate(??) rexec.FileWrapper(??) rexec.RExec(??) rexec.RHooks(??) rexec.RModuleImporter(??) rexec.RModuleLoader(??) rexec.TEMPLATE rexec.ihooks rexec.imp rexec.os rexec.sys rexec.test(??) rfc822.AddressList(??) rfc822.AddrlistClass(??) rfc822.Message(??) rfc822.dump_address_pair(??) rfc822.formatdate(??) rfc822.mktime_tz(??) rfc822.parseaddr(??) rfc822.parsedate(??) rfc822.parsedate_tz(??) rfc822.quote(??) rfc822.time rfc822.unquote(??) rlcompleter.Completer(??) rlcompleter.get_class_members(??) rlcompleter.readline robotparser.Entry(??) robotparser.RobotFileParser(??) robotparser.RuleLine(??) robotparser.URLopener(??) robotparser.debug robotparser.urllib robotparser.urlparse round(number[, ndigits]) -> floating point number sched.bisect sched.scheduler(??) select.POLLERR select.POLLHUP select.POLLIN select.POLLMSG select.POLLNVAL select.POLLOUT select.POLLPRI select.POLLRDBAND select.POLLRDNORM select.POLLWRBAND select.POLLWRNORM select.error(??) select.poll select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) set(iterable) --> set object setattr(object, name, value) sets.BaseSet sets.ImmutableSet sets.Set sets.generators sets.ifilter(function or None, sequence) --> ifilter object sets.ifilterfalse(function or None, sequence) --> ifilterfalse object sgmllib.SGMLParseError(??) sgmllib.SGMLParser(??) sgmllib.TestSGMLParser(??) sgmllib.attrfind sgmllib.charref sgmllib.endbracket sgmllib.entityref sgmllib.incomplete sgmllib.interesting sgmllib.markupbase sgmllib.piclose sgmllib.re sgmllib.shorttag sgmllib.shorttagopen sgmllib.starttagopen sgmllib.tagfind sgmllib.test(??) sha.blocksize sha.digest_size sha.digestsize sha.new sha.sha shelve.BsdDbShelf(??) shelve.DbfilenameShelf(??) shelve.Pickler(file, protocol=0) -- Create a pickler. shelve.Shelf(??) shelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing shelve.Unpickler(file) -- Create an unpickler. shelve.UserDict shelve.open(??) shelve.warnings shlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing shlex.deque(iterable) --> deque object shlex.os shlex.shlex(??) shlex.split(??) shlex.sys shutil.Error(??) shutil.abspath(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.destinsrc(??) shutil.exceptions shutil.move(??) shutil.os shutil.rmtree(??) shutil.stat shutil.sys signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCLD signal.SIGCONT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPOLL signal.SIGPROF signal.SIGPWR signal.SIGQUIT signal.SIGRTMAX signal.SIGRTMIN signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_DFL signal.SIG_IGN signal.alarm(seconds) signal.default_int_handler(...) signal.getsignal(sig) -> action signal.pause() signal.signal(sig, action) -> action site.abs__file__(??) site.addbuilddir(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.aliasmbcs(??) site.execsitecustomize(??) site.main(??) site.makepath(??) site.os site.removeduppaths(??) site.setBEGINLIBPATH(??) site.setcopyright(??) site.setencoding(??) site.sethelper(??) site.setquit(??) site.sys slice([start,] stop[, step]) smtpd.COMMASPACE smtpd.DEBUGSTREAM smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat smtpd.asyncore smtpd.errno smtpd.getopt smtpd.os smtpd.parseargs(??) smtpd.program smtpd.socket smtpd.sys smtpd.time smtpd.usage(??) smtplib.CRLF smtplib.OLDSTYLE_AUTH smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SSLFakeFile(??) smtplib.SSLFakeSocket(??) smtplib.base64 smtplib.encode_base64(??) smtplib.hmac smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re smtplib.rfc822 smtplib.socket smtplib.stderr sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK socket.AF_ASH socket.AF_ATMPVC socket.AF_ATMSVC socket.AF_AX25 socket.AF_BRIDGE socket.AF_DECnet socket.AF_ECONET socket.AF_INET socket.AF_INET6 socket.AF_IPX socket.AF_IRDA socket.AF_KEY socket.AF_NETBEUI socket.AF_NETLINK socket.AF_NETROM socket.AF_PACKET socket.AF_PPPOX socket.AF_ROSE socket.AF_ROUTE socket.AF_SECURITY socket.AF_SNA socket.AF_UNIX socket.AF_UNSPEC socket.AF_WANPIPE socket.AF_X25 socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.CAPI socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GRE socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPIP socket.IPPROTO_IPV6 socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVDSTOPTS socket.IPV6_RECVHOPLIMIT socket.IPV6_RECVHOPOPTS socket.IPV6_RECVPKTINFO socket.IPV6_RECVRTHDR socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDRDSTOPTS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PACKET_BROADCAST socket.PACKET_FASTROUTE socket.PACKET_HOST socket.PACKET_LOOPBACK socket.PACKET_MULTICAST socket.PACKET_OTHERHOST socket.PACKET_OUTGOING socket.PF_PACKET socket.RAND_add(string, entropy) socket.RAND_egd(path) -> bytes socket.RAND_status() -> 0 or 1 socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM socket.SOCK_RAW socket.SOCK_RDM socket.SOCK_SEQPACKET socket.SOCK_STREAM socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SSLType socket.SSL_ERROR_EOF socket.SSL_ERROR_INVALID_ERROR_CODE socket.SSL_ERROR_SSL socket.SSL_ERROR_SYSCALL socket.SSL_ERROR_WANT_CONNECT socket.SSL_ERROR_WANT_READ socket.SSL_ERROR_WANT_WRITE socket.SSL_ERROR_WANT_X509_LOOKUP socket.SSL_ERROR_ZERO_RETURN socket.SocketType socket.TCP_CORK socket.TCP_DEFER_ACCEPT socket.TCP_INFO socket.TCP_KEEPCNT socket.TCP_KEEPIDLE socket.TCP_KEEPINTVL socket.TCP_LINGER2 socket.TCP_MAXSEG socket.TCP_NODELAY socket.TCP_QUICKACK socket.TCP_SYNCNT socket.TCP_WINDOW_CLAMP socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(host, port [, family, socktype, proto, flags]) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6 socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.inet_aton(string) -> packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os socket.setdefaulttimeout(timeout) socket.socket([family[, type[, proto]]]) -> socket object socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.ssl(??) socket.sslerror(??) socket.sys socket.timeout(??) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list sre.DEBUG sre.DOTALL sre.I sre.IGNORECASE sre.L sre.LOCALE sre.M sre.MULTILINE sre.S sre.Scanner(??) sre.T sre.TEMPLATE sre.U sre.UNICODE sre.VERBOSE sre.X sre.compile(??) sre.copy_reg sre.error(??) sre.escape(??) sre.findall(??) sre.finditer(??) sre.match(??) sre.purge(??) sre.search(??) sre.split(??) sre.sre_compile sre.sre_parse sre.sub(??) sre.subn(??) sre.sys sre.template(??) sre_compile.ANY sre_compile.ANY_ALL sre_compile.ASSERT sre_compile.ASSERT_NOT sre_compile.AT sre_compile.ATCODES sre_compile.AT_BEGINNING sre_compile.AT_BEGINNING_LINE sre_compile.AT_BEGINNING_STRING sre_compile.AT_BOUNDARY sre_compile.AT_END sre_compile.AT_END_LINE sre_compile.AT_END_STRING sre_compile.AT_LOCALE sre_compile.AT_LOC_BOUNDARY sre_compile.AT_LOC_NON_BOUNDARY sre_compile.AT_MULTILINE sre_compile.AT_NON_BOUNDARY sre_compile.AT_UNICODE sre_compile.AT_UNI_BOUNDARY sre_compile.AT_UNI_NON_BOUNDARY sre_compile.BIGCHARSET sre_compile.BRANCH sre_compile.CALL sre_compile.CATEGORY sre_compile.CATEGORY_DIGIT sre_compile.CATEGORY_LINEBREAK sre_compile.CATEGORY_LOC_NOT_WORD sre_compile.CATEGORY_LOC_WORD sre_compile.CATEGORY_NOT_DIGIT sre_compile.CATEGORY_NOT_LINEBREAK sre_compile.CATEGORY_NOT_SPACE sre_compile.CATEGORY_NOT_WORD sre_compile.CATEGORY_SPACE sre_compile.CATEGORY_UNI_DIGIT sre_compile.CATEGORY_UNI_LINEBREAK sre_compile.CATEGORY_UNI_NOT_DIGIT sre_compile.CATEGORY_UNI_NOT_LINEBREAK sre_compile.CATEGORY_UNI_NOT_SPACE sre_compile.CATEGORY_UNI_NOT_WORD sre_compile.CATEGORY_UNI_SPACE sre_compile.CATEGORY_UNI_WORD sre_compile.CATEGORY_WORD sre_compile.CHARSET sre_compile.CHCODES sre_compile.CH_LOCALE sre_compile.CH_UNICODE sre_compile.FAILURE sre_compile.GROUPREF sre_compile.GROUPREF_EXISTS sre_compile.GROUPREF_IGNORE sre_compile.IN sre_compile.INFO sre_compile.IN_IGNORE sre_compile.JUMP sre_compile.LITERAL sre_compile.LITERAL_IGNORE sre_compile.MAGIC sre_compile.MARK sre_compile.MAXCODE sre_compile.MAXREPEAT sre_compile.MAX_REPEAT sre_compile.MAX_UNTIL sre_compile.MIN_REPEAT sre_compile.MIN_REPEAT_ONE sre_compile.MIN_UNTIL sre_compile.NEGATE sre_compile.NOT_LITERAL sre_compile.NOT_LITERAL_IGNORE sre_compile.OPCODES sre_compile.OP_IGNORE sre_compile.RANGE sre_compile.REPEAT sre_compile.REPEAT_ONE sre_compile.SRE_FLAG_DEBUG sre_compile.SRE_FLAG_DOTALL sre_compile.SRE_FLAG_IGNORECASE sre_compile.SRE_FLAG_LOCALE sre_compile.SRE_FLAG_MULTILINE sre_compile.SRE_FLAG_TEMPLATE sre_compile.SRE_FLAG_UNICODE sre_compile.SRE_FLAG_VERBOSE sre_compile.SRE_INFO_CHARSET sre_compile.SRE_INFO_LITERAL sre_compile.SRE_INFO_PREFIX sre_compile.STRING_TYPES sre_compile.SUBPATTERN sre_compile.SUCCESS sre_compile.compile(??) sre_compile.error(??) sre_compile.isstring(??) sre_compile.makedict(??) sre_compile.sys sre_constants.ANY sre_constants.ANY_ALL sre_constants.ASSERT sre_constants.ASSERT_NOT sre_constants.AT sre_constants.ATCODES sre_constants.AT_BEGINNING sre_constants.AT_BEGINNING_LINE sre_constants.AT_BEGINNING_STRING sre_constants.AT_BOUNDARY sre_constants.AT_END sre_constants.AT_END_LINE sre_constants.AT_END_STRING sre_constants.AT_LOCALE sre_constants.AT_LOC_BOUNDARY sre_constants.AT_LOC_NON_BOUNDARY sre_constants.AT_MULTILINE sre_constants.AT_NON_BOUNDARY sre_constants.AT_UNICODE sre_constants.AT_UNI_BOUNDARY sre_constants.AT_UNI_NON_BOUNDARY sre_constants.BIGCHARSET sre_constants.BRANCH sre_constants.CALL sre_constants.CATEGORY sre_constants.CATEGORY_DIGIT sre_constants.CATEGORY_LINEBREAK sre_constants.CATEGORY_LOC_NOT_WORD sre_constants.CATEGORY_LOC_WORD sre_constants.CATEGORY_NOT_DIGIT sre_constants.CATEGORY_NOT_LINEBREAK sre_constants.CATEGORY_NOT_SPACE sre_constants.CATEGORY_NOT_WORD sre_constants.CATEGORY_SPACE sre_constants.CATEGORY_UNI_DIGIT sre_constants.CATEGORY_UNI_LINEBREAK sre_constants.CATEGORY_UNI_NOT_DIGIT sre_constants.CATEGORY_UNI_NOT_LINEBREAK sre_constants.CATEGORY_UNI_NOT_SPACE sre_constants.CATEGORY_UNI_NOT_WORD sre_constants.CATEGORY_UNI_SPACE sre_constants.CATEGORY_UNI_WORD sre_constants.CATEGORY_WORD sre_constants.CHARSET sre_constants.CHCODES sre_constants.CH_LOCALE sre_constants.CH_UNICODE sre_constants.FAILURE sre_constants.GROUPREF sre_constants.GROUPREF_EXISTS sre_constants.GROUPREF_IGNORE sre_constants.IN sre_constants.INFO sre_constants.IN_IGNORE sre_constants.JUMP sre_constants.LITERAL sre_constants.LITERAL_IGNORE sre_constants.MAGIC sre_constants.MARK sre_constants.MAXREPEAT sre_constants.MAX_REPEAT sre_constants.MAX_UNTIL sre_constants.MIN_REPEAT sre_constants.MIN_REPEAT_ONE sre_constants.MIN_UNTIL sre_constants.NEGATE sre_constants.NOT_LITERAL sre_constants.NOT_LITERAL_IGNORE sre_constants.OPCODES sre_constants.OP_IGNORE sre_constants.RANGE sre_constants.REPEAT sre_constants.REPEAT_ONE sre_constants.SRE_FLAG_DEBUG sre_constants.SRE_FLAG_DOTALL sre_constants.SRE_FLAG_IGNORECASE sre_constants.SRE_FLAG_LOCALE sre_constants.SRE_FLAG_MULTILINE sre_constants.SRE_FLAG_TEMPLATE sre_constants.SRE_FLAG_UNICODE sre_constants.SRE_FLAG_VERBOSE sre_constants.SRE_INFO_CHARSET sre_constants.SRE_INFO_LITERAL sre_constants.SRE_INFO_PREFIX sre_constants.SUBPATTERN sre_constants.SUCCESS sre_constants.error(??) sre_constants.makedict(??) sre_parse.ANY sre_parse.ANY_ALL sre_parse.ASSERT sre_parse.ASSERT_NOT sre_parse.AT sre_parse.ATCODES sre_parse.AT_BEGINNING sre_parse.AT_BEGINNING_LINE sre_parse.AT_BEGINNING_STRING sre_parse.AT_BOUNDARY sre_parse.AT_END sre_parse.AT_END_LINE sre_parse.AT_END_STRING sre_parse.AT_LOCALE sre_parse.AT_LOC_BOUNDARY sre_parse.AT_LOC_NON_BOUNDARY sre_parse.AT_MULTILINE sre_parse.AT_NON_BOUNDARY sre_parse.AT_UNICODE sre_parse.AT_UNI_BOUNDARY sre_parse.AT_UNI_NON_BOUNDARY sre_parse.BIGCHARSET sre_parse.BRANCH sre_parse.CALL sre_parse.CATEGORIES sre_parse.CATEGORY sre_parse.CATEGORY_DIGIT sre_parse.CATEGORY_LINEBREAK sre_parse.CATEGORY_LOC_NOT_WORD sre_parse.CATEGORY_LOC_WORD sre_parse.CATEGORY_NOT_DIGIT sre_parse.CATEGORY_NOT_LINEBREAK sre_parse.CATEGORY_NOT_SPACE sre_parse.CATEGORY_NOT_WORD sre_parse.CATEGORY_SPACE sre_parse.CATEGORY_UNI_DIGIT sre_parse.CATEGORY_UNI_LINEBREAK sre_parse.CATEGORY_UNI_NOT_DIGIT sre_parse.CATEGORY_UNI_NOT_LINEBREAK sre_parse.CATEGORY_UNI_NOT_SPACE sre_parse.CATEGORY_UNI_NOT_WORD sre_parse.CATEGORY_UNI_SPACE sre_parse.CATEGORY_UNI_WORD sre_parse.CATEGORY_WORD sre_parse.CHARSET sre_parse.CHCODES sre_parse.CH_LOCALE sre_parse.CH_UNICODE sre_parse.DIGITS sre_parse.ESCAPES sre_parse.FAILURE sre_parse.FLAGS sre_parse.GROUPREF sre_parse.GROUPREF_EXISTS sre_parse.GROUPREF_IGNORE sre_parse.HEXDIGITS sre_parse.IN sre_parse.INFO sre_parse.IN_IGNORE sre_parse.JUMP sre_parse.LITERAL sre_parse.LITERAL_IGNORE sre_parse.MAGIC sre_parse.MARK sre_parse.MAXREPEAT sre_parse.MAX_REPEAT sre_parse.MAX_UNTIL sre_parse.MIN_REPEAT sre_parse.MIN_REPEAT_ONE sre_parse.MIN_UNTIL sre_parse.NEGATE sre_parse.NOT_LITERAL sre_parse.NOT_LITERAL_IGNORE sre_parse.OCTDIGITS sre_parse.OPCODES sre_parse.OP_IGNORE sre_parse.Pattern(??) sre_parse.RANGE sre_parse.REPEAT sre_parse.REPEAT_CHARS sre_parse.REPEAT_ONE sre_parse.SPECIAL_CHARS sre_parse.SRE_FLAG_DEBUG sre_parse.SRE_FLAG_DOTALL sre_parse.SRE_FLAG_IGNORECASE sre_parse.SRE_FLAG_LOCALE sre_parse.SRE_FLAG_MULTILINE sre_parse.SRE_FLAG_TEMPLATE sre_parse.SRE_FLAG_UNICODE sre_parse.SRE_FLAG_VERBOSE sre_parse.SRE_INFO_CHARSET sre_parse.SRE_INFO_LITERAL sre_parse.SRE_INFO_PREFIX sre_parse.SUBPATTERN sre_parse.SUCCESS sre_parse.SubPattern(??) sre_parse.Tokenizer(??) sre_parse.WHITESPACE sre_parse.error(??) sre_parse.expand_template(??) sre_parse.isdigit(??) sre_parse.isident(??) sre_parse.isname(??) sre_parse.makedict(??) sre_parse.parse(??) sre_parse.parse_template(??) sre_parse.sys stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFREG stat.S_IFSOCK stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(??) stat.S_ISCHR(??) stat.S_ISDIR(??) stat.S_ISFIFO(??) stat.S_ISGID stat.S_ISLNK(??) stat.S_ISREG(??) stat.S_ISSOCK(??) stat.S_ISUID stat.S_ISVTX stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR statcache.ST_ATIME statcache.ST_CTIME statcache.ST_DEV statcache.ST_GID statcache.ST_INO statcache.ST_MODE statcache.ST_MTIME statcache.ST_NLINK statcache.ST_SIZE statcache.ST_UID statcache.S_ENFMT statcache.S_IEXEC statcache.S_IFBLK statcache.S_IFCHR statcache.S_IFDIR statcache.S_IFIFO statcache.S_IFLNK statcache.S_IFMT(??) statcache.S_IFREG statcache.S_IFSOCK statcache.S_IMODE(??) statcache.S_IREAD statcache.S_IRGRP statcache.S_IROTH statcache.S_IRUSR statcache.S_IRWXG statcache.S_IRWXO statcache.S_IRWXU statcache.S_ISBLK(??) statcache.S_ISCHR(??) statcache.S_ISDIR(??) statcache.S_ISFIFO(??) statcache.S_ISGID statcache.S_ISLNK(??) statcache.S_ISREG(??) statcache.S_ISSOCK(??) statcache.S_ISUID statcache.S_ISVTX statcache.S_IWGRP statcache.S_IWOTH statcache.S_IWRITE statcache.S_IWUSR statcache.S_IXGRP statcache.S_IXOTH statcache.S_IXUSR statcache.cache statcache.forget(??) statcache.forget_dir(??) statcache.forget_except_prefix(??) statcache.forget_prefix(??) statcache.isdir(??) statcache.reset(??) statcache.stat(??) staticmethod(function) -> method statvfs.F_BAVAIL statvfs.F_BFREE statvfs.F_BLOCKS statvfs.F_BSIZE statvfs.F_FAVAIL statvfs.F_FFREE statvfs.F_FILES statvfs.F_FLAG statvfs.F_FRSIZE statvfs.F_NAMEMAX str(object) -> string string.Template string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.atof(s) -> float string.atof_error(??) string.atoi(s [,base]) -> int string.atoi_error(??) string.atol(s [,base]) -> long string.atol_error(??) string.capitalize(s) -> string string.capwords(s, [sep]) -> string string.center(s, width[, fillchar]) -> string string.count(s, sub[, start[,end]]) -> int string.digits string.expandtabs(s [,tabsize]) -> string string.find(s, sub [,start [,end]]) -> in string.hexdigits string.index(s, sub [,start [,end]]) -> int string.index_error(??) string.join(list [,sep]) -> string string.joinfields(??) string.letters string.ljust(s, width[, fillchar]) -> string string.lower(s) -> string string.lowercase string.lstrip(s [,chars]) -> string string.maketrans(frm, to) -> string string.octdigits string.printable string.punctuation string.replace (str, old, new[, maxsplit]) -> string string.rfind(s, sub [,start [,end]]) -> int string.rindex(s, sub [,start [,end]]) -> int string.rjust(s, width[, fillchar]) -> string string.rsplit(s [,sep [,maxsplit]]) -> list of strings string.rstrip(s [,chars]) -> string string.split(s [,sep [,maxsplit]]) -> list of strings string.splitfields(??) string.strip(s [,chars]) -> string string.swapcase(s) -> string string.translate(s,table [,deletions]) -> string string.upper(s) -> string string.uppercase string.whitespace string.zfill(x, width) -> string stringold.atof(s) -> float stringold.atof_error(??) stringold.atoi(s [,base]) -> int stringold.atoi_error(??) stringold.atol(s [,base]) -> long stringold.atol_error(??) stringold.capitalize(s) -> string stringold.capwords(s, [sep]) -> string stringold.center(s, width) -> string stringold.count(s, sub[, start[,end]]) -> int stringold.digits stringold.expandtabs(s [,tabsize]) -> string stringold.find(s, sub [,start [,end]]) -> in stringold.hexdigits stringold.index(s, sub [,start [,end]]) -> int stringold.index_error(??) stringold.join(list [,sep]) -> string stringold.joinfields(??) stringold.letters stringold.ljust(s, width) -> string stringold.lower(s) -> string stringold.lowercase stringold.lstrip(s) -> string stringold.maketrans(frm, to) -> string stringold.octdigits stringold.replace (str, old, new[, maxsplit]) -> string stringold.rfind(s, sub [,start [,end]]) -> int stringold.rindex(s, sub [,start [,end]]) -> int stringold.rjust(s, width) -> string stringold.rstrip(s) -> string stringold.split(str [,sep [,maxsplit]]) -> list of strings stringold.splitfields(??) stringold.strip(s) -> string stringold.swapcase(s) -> string stringold.translate(s,table [,deletechars]) -> string stringold.upper(s) -> string stringold.uppercase stringold.whitespace stringold.zfill(x, width) -> string stringprep.b1_set stringprep.b3_exceptions stringprep.c22_specials stringprep.c6_set stringprep.c7_set stringprep.c8_set stringprep.c9_set stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata strop.atof(s) -> float strop.atoi(s [,base]) -> int strop.atol(s [,base]) -> long strop.capitalize(s) -> string strop.count(s, sub[, start[, end]]) -> int strop.expandtabs(string, [tabsize]) -> string strop.find(s, sub [,start [,end]]) -> in strop.join(list [,sep]) -> string strop.joinfields strop.lower(s) -> string strop.lowercase strop.lstrip(s) -> string strop.maketrans(frm, to) -> string strop.replace (str, old, new[, maxsplit]) -> string strop.rfind(s, sub [,start [,end]]) -> int strop.rstrip(s) -> string strop.split(s [,sep [,maxsplit]]) -> list of strings strop.splitfields strop.strip(s) -> string strop.swapcase(s) -> string strop.translate(s,table [,deletechars]) -> string strop.upper(s) -> string strop.uppercase strop.whitespace struct.calcsize(fmt) -> int struct.error(??) struct.pack(fmt, v1, v2, ...) -> string struct.unpack(fmt, string) -> (v1, v2, ...) subprocess.MAXFD subprocess.PIPE subprocess.Popen subprocess.STDOUT subprocess.call(??) subprocess.errno subprocess.fcntl subprocess.list2cmdline(??) subprocess.mswindows subprocess.os subprocess.pickle subprocess.select subprocess.sys subprocess.traceback subprocess.types sum(sequence, start=0) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.open(??) sunau.openfp(??) sunaudio.MAGIC sunaudio.error(??) sunaudio.get_long_be(??) sunaudio.gethdr(??) sunaudio.printhdr(??) super(type) -> unbound super object symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorator symbol.decorators symbol.del_stmt symbol.dictmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.exec_stmt symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.fpdef symbol.fplist symbol.funcdef symbol.gen_for symbol.gen_if symbol.gen_iter symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.list_for symbol.list_if symbol.list_iter symbol.listmaker symbol.main(??) symbol.not_test symbol.parameters symbol.pass_stmt symbol.power symbol.print_stmt symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name symbol.term symbol.test symbol.testlist symbol.testlist1 symbol.testlist_gexp symbol.testlist_safe symbol.trailer symbol.try_stmt symbol.varargslist symbol.while_stmt symbol.xor_expr symbol.yield_stmt symtable.Class(??) symtable.DEF_BOUND symtable.DEF_DOUBLESTAR symtable.DEF_FREE symtable.DEF_FREE_CLASS symtable.DEF_FREE_GLOBAL symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_INTUPLE symtable.DEF_LOCAL symtable.DEF_PARAM symtable.DEF_STAR symtable.Function(??) symtable.OPT_BARE_EXEC symtable.OPT_EXEC symtable.OPT_IMPORT_STAR symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.is_free(??) symtable.newSymbolTable symtable.symtable(??) symtable.weakref sys.api_version sys.argv sys.builtin_module_names sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.exc_clear() -> None sys.exc_info() -> (type, value, traceback) sys.exc_type sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.hexversion sys.maxint sys.maxunicode sys.meta_path sys.modules sys.path sys.path_hooks sys.path_importer_cache sys.platform sys.prefix sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.settrace(function) sys.stderr sys.stdin sys.stdout sys.version sys.version_info sys.warnoptions syslog.LOG_ALERT syslog.LOG_AUTH syslog.LOG_CONS syslog.LOG_CRIT syslog.LOG_CRON syslog.LOG_DAEMON syslog.LOG_DEBUG syslog.LOG_EMERG syslog.LOG_ERR syslog.LOG_INFO syslog.LOG_KERN syslog.LOG_LOCAL0 syslog.LOG_LOCAL1 syslog.LOG_LOCAL2 syslog.LOG_LOCAL3 syslog.LOG_LOCAL4 syslog.LOG_LOCAL5 syslog.LOG_LOCAL6 syslog.LOG_LOCAL7 syslog.LOG_LPR syslog.LOG_MAIL syslog.LOG_MASK syslog.LOG_NDELAY syslog.LOG_NEWS syslog.LOG_NOTICE syslog.LOG_NOWAIT syslog.LOG_PERROR syslog.LOG_PID syslog.LOG_SYSLOG syslog.LOG_UPTO syslog.LOG_USER syslog.LOG_UUCP syslog.LOG_WARNING syslog.closelog syslog.openlog syslog.setlogmask syslog.syslog tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt tabnanny.main(??) tabnanny.os tabnanny.process_tokens(??) tabnanny.sys tabnanny.tokenize tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DIRTYPE tarfile.ExFileObject tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.MAGIC tarfile.MAXSIZE_MEMBER tarfile.NUL tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES tarfile.ReadError(??) tarfile.SUPPORTED_TYPES tarfile.SYMTYPE tarfile.S_IFBLK tarfile.S_IFCHR tarfile.S_IFDIR tarfile.S_IFIFO tarfile.S_IFLNK tarfile.S_IFREG tarfile.StreamError(??) tarfile.TAR_GZIPPED tarfile.TAR_PLAIN tarfile.TGEXEC tarfile.TGREAD tarfile.TGWRITE tarfile.TOEXEC tarfile.TOREAD tarfile.TOWRITE tarfile.TSGID tarfile.TSUID tarfile.TSVTX tarfile.TUEXEC tarfile.TUREAD tarfile.TUWRITE tarfile.TarError(??) tarfile.TarFile tarfile.TarFileCompat(??) tarfile.TarInfo tarfile.TarIter(??) tarfile.VERSION tarfile.calc_chksum(??) tarfile.copyfileobj(??) tarfile.errno tarfile.filemode(??) tarfile.filemode_table tarfile.grp tarfile.is_tarfile(??) tarfile.normpath(??) tarfile.nts(??) tarfile.open tarfile.os tarfile.pwd tarfile.shutil tarfile.stat tarfile.struct tarfile.sys tarfile.time tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.select telnetlib.socket telnetlib.sys telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp([suffix, [prefix, [dir]]]) tempfile.mkstemp([suffix, [prefix, [dir, [text]]]]) tempfile.mktemp([suffix, [prefix, [dir]]]) tempfile.tempdir tempfile.template termios.B0 termios.B110 termios.B115200 termios.B1200 termios.B134 termios.B150 termios.B1800 termios.B19200 termios.B200 termios.B230400 termios.B2400 termios.B300 termios.B38400 termios.B460800 termios.B4800 termios.B50 termios.B57600 termios.B600 termios.B75 termios.B9600 termios.BRKINT termios.BS0 termios.BS1 termios.BSDLY termios.CBAUD termios.CBAUDEX termios.CDSUSP termios.CEOF termios.CEOL termios.CEOT termios.CERASE termios.CFLUSH termios.CIBAUD termios.CINTR termios.CKILL termios.CLNEXT termios.CLOCAL termios.CQUIT termios.CR0 termios.CR1 termios.CR2 termios.CR3 termios.CRDLY termios.CREAD termios.CRPRNT termios.CRTSCTS termios.CS5 termios.CS6 termios.CS7 termios.CS8 termios.CSIZE termios.CSTART termios.CSTOP termios.CSTOPB termios.CSUSP termios.CWERASE termios.ECHO termios.ECHOCTL termios.ECHOE termios.ECHOK termios.ECHOKE termios.ECHONL termios.ECHOPRT termios.EXTA termios.EXTB termios.FF0 termios.FF1 termios.FFDLY termios.FIOASYNC termios.FIOCLEX termios.FIONBIO termios.FIONCLEX termios.FIONREAD termios.FLUSHO termios.HUPCL termios.ICANON termios.ICRNL termios.IEXTEN termios.IGNBRK termios.IGNCR termios.IGNPAR termios.IMAXBEL termios.INLCR termios.INPCK termios.IOCSIZE_MASK termios.IOCSIZE_SHIFT termios.ISIG termios.ISTRIP termios.IUCLC termios.IXANY termios.IXOFF termios.IXON termios.NCC termios.NCCS termios.NL0 termios.NL1 termios.NLDLY termios.NOFLSH termios.N_MOUSE termios.N_PPP termios.N_SLIP termios.N_STRIP termios.N_TTY termios.OCRNL termios.OFDEL termios.OFILL termios.OLCUC termios.ONLCR termios.ONLRET termios.ONOCR termios.OPOST termios.PARENB termios.PARMRK termios.PARODD termios.PENDIN termios.TAB0 termios.TAB1 termios.TAB2 termios.TAB3 termios.TABDLY termios.TCFLSH termios.TCGETA termios.TCGETS termios.TCIFLUSH termios.TCIOFF termios.TCIOFLUSH termios.TCION termios.TCOFLUSH termios.TCOOFF termios.TCOON termios.TCSADRAIN termios.TCSAFLUSH termios.TCSANOW termios.TCSBRK termios.TCSBRKP termios.TCSETA termios.TCSETAF termios.TCSETAW termios.TCSETS termios.TCSETSF termios.TCSETSW termios.TCXONC termios.TIOCCONS termios.TIOCEXCL termios.TIOCGETD termios.TIOCGICOUNT termios.TIOCGLCKTRMIOS termios.TIOCGPGRP termios.TIOCGSERIAL termios.TIOCGSOFTCAR termios.TIOCGWINSZ termios.TIOCINQ termios.TIOCLINUX termios.TIOCMBIC termios.TIOCMBIS termios.TIOCMGET termios.TIOCMIWAIT termios.TIOCMSET termios.TIOCM_CAR termios.TIOCM_CD termios.TIOCM_CTS termios.TIOCM_DSR termios.TIOCM_DTR termios.TIOCM_LE termios.TIOCM_RI termios.TIOCM_RNG termios.TIOCM_RTS termios.TIOCM_SR termios.TIOCM_ST termios.TIOCNOTTY termios.TIOCNXCL termios.TIOCOUTQ termios.TIOCPKT termios.TIOCPKT_DATA termios.TIOCPKT_DOSTOP termios.TIOCPKT_FLUSHREAD termios.TIOCPKT_FLUSHWRITE termios.TIOCPKT_NOSTOP termios.TIOCPKT_START termios.TIOCPKT_STOP termios.TIOCSCTTY termios.TIOCSERCONFIG termios.TIOCSERGETLSR termios.TIOCSERGETMULTI termios.TIOCSERGSTRUCT termios.TIOCSERGWILD termios.TIOCSERSETMULTI termios.TIOCSERSWILD termios.TIOCSER_TEMT termios.TIOCSETD termios.TIOCSLCKTRMIOS termios.TIOCSPGRP termios.TIOCSSERIAL termios.TIOCSSOFTCAR termios.TIOCSTI termios.TIOCSWINSZ termios.TOSTOP termios.VDISCARD termios.VEOF termios.VEOL termios.VEOL2 termios.VERASE termios.VINTR termios.VKILL termios.VLNEXT termios.VMIN termios.VQUIT termios.VREPRINT termios.VSTART termios.VSTOP termios.VSUSP termios.VSWTC termios.VSWTCH termios.VT0 termios.VT1 termios.VTDLY termios.VTIME termios.VWERASE termios.XCASE termios.XTABS termios.error(??) termios.tcdrain(fd) -> None termios.tcflow(fd, action) -> None termios.tcflush(fd, queue) -> None termios.tcgetattr(fd) -> list_of_attrs termios.tcsendbreak(fd, duration) -> None termios.tcsetattr(fd, when, attributes) -> None textwrap.TextWrapper(??) textwrap.dedent(text : string) -> string textwrap.fill(??) textwrap.re textwrap.string textwrap.wrap(??) this.c this.d this.i this.s thread.LockType thread.allocate thread.allocate_lock() -> lock object thread.error(??) thread.exit() thread.exit_thread thread.get_ident() -> integer thread.interrupt_main() thread.start_new thread.start_new_thread(function, args[, kwargs]) threading.BoundedSemaphore(??) threading.Condition(??) threading.Event(??) threading.Lock threading.RLock(??) threading.Semaphore(??) threading.Thread threading.ThreadError(??) threading.Timer(??) threading.activeCount(??) threading.currentThread(??) threading.deque(iterable) --> deque object threading.enumerate(??) threading.local threading.setprofile(??) threading.settrace(??) time.accept2dyear time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst) time.mktime(tuple) -> floating point number time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time time.time() -> floating point number time.timezone time.tzname time.tzset(zone) timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer timeit.dummy_src_name timeit.gc timeit.itertools timeit.main(??) timeit.reindent(??) timeit.sys timeit.template timeit.time timing.finish timing.micro timing.milli timing.seconds timing.start toaiff.error(??) toaiff.os toaiff.pipes toaiff.sndhdr toaiff.t toaiff.table toaiff.tempfile toaiff.toaiff(??) toaiff.uncompress token.AMPER token.AMPEREQUAL token.AT token.BACKQUOTE token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.main(??) token.tok_name tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BACKQUOTE tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.TILDE tokenize.Token tokenize.TokenError(??) tokenize.Triple tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.double3prog tokenize.endprogs tokenize.generate_tokens(??) tokenize.group(??) tokenize.main(??) tokenize.maybe(??) tokenize.printtoken(??) tokenize.pseudoprog tokenize.re tokenize.single3prog tokenize.single_quoted tokenize.string tokenize.t tokenize.tabsize tokenize.tok_name tokenize.tokenize(??) tokenize.tokenize_loop(??) tokenize.tokenprog tokenize.triple_quoted trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.cPickle trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc trace.linecache trace.main(??) trace.modname(??) trace.os trace.pickle trace.re trace.rx_blank trace.sys trace.threading trace.token trace.tokenize trace.types trace.usage(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys traceback.tb_lineno(??) traceback.types tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B460800 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CBAUD tty.CBAUDEX tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CIBAUD tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.IOCSIZE_MASK tty.IOCSIZE_SHIFT tty.ISIG tty.ISPEED tty.ISTRIP tty.IUCLC tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCC tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.N_MOUSE tty.N_PPP tty.N_SLIP tty.N_STRIP tty.N_TTY tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.OLCUC tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCFLSH tty.TCGETA tty.TCGETS tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSBRK tty.TCSBRKP tty.TCSETA tty.TCSETAF tty.TCSETAW tty.TCSETS tty.TCSETSF tty.TCSETSW tty.TCXONC tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGICOUNT tty.TIOCGLCKTRMIOS tty.TIOCGPGRP tty.TIOCGSERIAL tty.TIOCGSOFTCAR tty.TIOCGWINSZ tty.TIOCINQ tty.TIOCLINUX tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMIWAIT tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSERCONFIG tty.TIOCSERGETLSR tty.TIOCSERGETMULTI tty.TIOCSERGSTRUCT tty.TIOCSERGWILD tty.TIOCSERSETMULTI tty.TIOCSERSWILD tty.TIOCSER_TEMT tty.TIOCSETD tty.TIOCSLCKTRMIOS tty.TIOCSPGRP tty.TIOCSSERIAL tty.TIOCSSOFTCAR tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VSWTC tty.VSWTCH tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.XCASE tty.XTABS tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> an empty tuple type(object) -> the object's type types.BooleanType types.BufferType types.BuiltinFunctionType types.BuiltinMethodType types.ClassType types.CodeType types.ComplexType types.DictProxyType types.DictType types.DictionaryType types.EllipsisType types.FileType types.FloatType types.FrameType types.FunctionType types.GeneratorType types.InstanceType types.IntType types.LambdaType types.ListType types.LongType types.MethodType types.ModuleType types.NoneType types.NotImplementedType types.ObjectType types.SliceType types.StringType types.StringTypes types.TracebackType types.TupleType types.TypeType types.UnboundMethodType types.UnicodeType types.XRangeType unichr(i) -> Unicode character unicode(string [, encoding[, errors]]) -> object unicodedata.bidirectional unicodedata.category unicodedata.combining unicodedata.decimal unicodedata.decomposition unicodedata.digit unicodedata.east_asian_width unicodedata.lookup unicodedata.mirrored unicodedata.name unicodedata.normalize unicodedata.numeric unicodedata.ucnhash_CAPI unicodedata.unidata_version unittest.FunctionTestCase unittest.TestCase unittest.TestLoader unittest.TestProgram unittest.TestResult unittest.TestSuite unittest.TextTestRunner unittest.defaultTestLoader unittest.findTestCases(??) unittest.getTestCaseNames(??) unittest.main unittest.makeSuite(??) unittest.os unittest.sys unittest.time unittest.traceback unittest.types urllib.ContentTooShortError(??) urllib.FancyURLopener(??) urllib.MAXFTPCACHE urllib.URLopener(??) urllib.addbase(??) urllib.addclosehook(??) urllib.addinfo(??) urllib.addinfourl(??) urllib.always_safe urllib.basejoin(??) urllib.ftpcache urllib.ftperrors(??) urllib.ftpwrapper(??) urllib.getproxies(??) urllib.getproxies_environment(??) urllib.localhost(??) urllib.main(??) urllib.noheaders(??) urllib.os urllib.pathname2url(??) urllib.proxy_bypass(??) urllib.quote('abc def') -> 'abc%20def' urllib.quote_plus(??) urllib.reporthook(??) urllib.socket urllib.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.splitgophertype('/Xselector') --> 'X', 'selector'. urllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.splitnport(??) urllib.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.splitport('host:port') --> 'host', 'port'. urllib.splitquery('/path?query') --> '/path', 'query'. urllib.splittag('/path#tag') --> '/path', 'tag'. urllib.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.splitvalue('attr=value') --> 'attr', 'value'. urllib.string urllib.sys urllib.test(??) urllib.test1(??) urllib.thishost(??) urllib.time urllib.toBytes(u"URL") --> 'URL'. urllib.unquote('abc%20def') -> 'abc def'. urllib.unquote_plus(??) urllib.unwrap('') --> 'type://host/path'. urllib.url2pathname(??) urllib.urlcleanup(??) urllib.urlencode(??) urllib.urlopen(url [, data]) -> open file-like object urllib.urlretrieve(??) urllib2.AbstractBasicAuthHandler(??) urllib2.AbstractDigestAuthHandler(??) urllib2.AbstractHTTPHandler(??) urllib2.BaseHandler(??) urllib2.CacheFTPHandler(??) urllib2.CustomProxy(??) urllib2.CustomProxyHandler(??) urllib2.FTPHandler(??) urllib2.FileHandler(??) urllib2.GopherError(??) urllib2.GopherHandler(??) urllib2.HTTPBasicAuthHandler(??) urllib2.HTTPCookieProcessor(??) urllib2.HTTPDefaultErrorHandler(??) urllib2.HTTPDigestAuthHandler(??) urllib2.HTTPError(??) urllib2.HTTPErrorProcessor(??) urllib2.HTTPHandler(??) urllib2.HTTPPasswordMgr(??) urllib2.HTTPPasswordMgrWithDefaultRealm(??) urllib2.HTTPRedirectHandler(??) urllib2.HTTPSHandler(??) urllib2.OpenerDirector(??) urllib2.OpenerFactory(??) urllib2.ProxyBasicAuthHandler(??) urllib2.ProxyDigestAuthHandler(??) urllib2.ProxyHandler(??) urllib2.Request(??) urllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing urllib2.URLError(??) urllib2.UnknownHandler(??) urllib2.addinfourl(??) urllib2.base64 urllib2.bisect urllib2.build_opener(??) urllib2.cookielib urllib2.ftplib urllib2.ftpwrapper(??) urllib2.getproxies(??) urllib2.gopherlib urllib2.httplib urllib2.inspect urllib2.install_opener(??) urllib2.localhost(??) urllib2.md5 urllib2.mimetools urllib2.mimetypes urllib2.noheaders(??) urllib2.os urllib2.parse_http_list(??) urllib2.parse_keqv_list(??) urllib2.posixpath urllib2.random urllib2.randombytes(??) urllib2.re urllib2.sha urllib2.socket urllib2.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib2.splitgophertype('/Xselector') --> 'X', 'selector'. urllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib2.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib2.splitport('host:port') --> 'host', 'port'. urllib2.splitquery('/path?query') --> '/path', 'query'. urllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib2.splitvalue('attr=value') --> 'attr', 'value'. urllib2.sys urllib2.time urllib2.unquote('abc%20def') -> 'abc def'. urllib2.unwrap('') --> 'type://host/path'. urllib2.url2pathname(??) urllib2.urlopen(??) urllib2.urlparse urlparse.MAX_CACHE_SIZE urlparse.clear_cache(??) urlparse.non_hierarchical urlparse.scheme_chars urlparse.test(??) urlparse.test_input urlparse.urldefrag(??) urlparse.urljoin(??) urlparse.urlparse(??) urlparse.urlsplit(??) urlparse.urlunparse(??) urlparse.urlunsplit(??) urlparse.uses_fragment urlparse.uses_netloc urlparse.uses_params urlparse.uses_query urlparse.uses_relative user.home user.os user.pythonrc uu.Error(??) uu.StringType uu.binascii uu.decode(??) uu.encode(??) uu.os uu.sys uu.test(??) vars([object]) -> dictionary warnings.defaultaction warnings.filters warnings.filterwarnings(??) warnings.formatwarning(??) warnings.linecache warnings.onceregistry warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys warnings.types warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.big_endian wave.open(??) wave.openfp(??) wave.struct weakref.CallableProxyType weakref.KeyedRef weakref.ProxyType weakref.ProxyTypes weakref.ReferenceError(??) weakref.ReferenceType weakref.UserDict weakref.WeakKeyDictionary(??) weakref.WeakValueDictionary(??) weakref.getweakrefcount(object) -- return the number of weak references weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.InternetConfig(??) webbrowser.Konqueror(??) webbrowser.Netscape(??) webbrowser.PROCESS_CREATION_DELAY webbrowser.WindowsDefault(??) webbrowser.browser webbrowser.get(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.os webbrowser.register(??) webbrowser.sys whichdb.dbm whichdb.os whichdb.struct whichdb.sys whichdb.whichdb(??) whrandom.choice whrandom.randint whrandom.random whrandom.randrange whrandom.seed whrandom.uniform whrandom.warnings whrandom.whrandom(??) xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct xml.dom xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE xml.dom.EMPTY_PREFIX xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg xml.dom.domreg.EmptyNodeList xml.dom.domreg.GetattrMagic(??) xml.dom.domreg.NewStyle xml.dom.domreg.NodeList xml.dom.domreg.StringTypes xml.dom.domreg.defproperty(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered xml.dom.domreg.well_known_implementations xml.dom.expatbuilder xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE xml.dom.expatbuilder.EMPTY_PREFIX xml.dom.expatbuilder.ElementInfo xml.dom.expatbuilder.EmptyNodeList xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch xml.dom.expatbuilder.FilterVisibilityController xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.GetattrMagic(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.NewStyle xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.NodeList xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter xml.dom.expatbuilder.Skipper xml.dom.expatbuilder.StringTypes xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.defproperty(??) xml.dom.expatbuilder.expat xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation xml.dom.expatbuilder.xmlbuilder xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat xml.dom.minicompat.EmptyNodeList xml.dom.minicompat.GetattrMagic(??) xml.dom.minicompat.NewStyle xml.dom.minicompat.NodeList xml.dom.minicompat.StringTypes xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml xml.dom.minidom xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE xml.dom.minidom.EMPTY_PREFIX xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo xml.dom.minidom.EmptyNodeList xml.dom.minidom.Entity(??) xml.dom.minidom.GetattrMagic(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap xml.dom.minidom.NewStyle xml.dom.minidom.Node(??) xml.dom.minidom.NodeList xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap xml.dom.minidom.StringTypes xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml xml.dom.pulldom xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.types xml.dom.pulldom.xml xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.EmptyNodeList xml.dom.xmlbuilder.GetattrMagic(??) xml.dom.xmlbuilder.NewStyle xml.dom.xmlbuilder.NodeList xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.StringTypes xml.dom.xmlbuilder.copy xml.dom.xmlbuilder.defproperty(??) xml.dom.xmlbuilder.xml xml.parsers xml.parsers.expat xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors xml.parsers.expat.features xml.parsers.expat.model xml.parsers.expat.native_encoding xml.parsers.expat.version_info xml.sax xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list xml.sax.expatreader xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils xml.sax.expatreader.version xml.sax.expatreader.xmlreader xml.sax.handler xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features xml.sax.handler.all_properties xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler xml.sax.saxutils.os xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.types xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib xml.sax.saxutils.urlparse xml.sax.saxutils.xmlreader xml.sax.xmlreader xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler xmllib.Error(??) xmllib.TestXMLParser(??) xmllib.XMLParser(??) xmllib.amp xmllib.attrfind xmllib.attrtrans xmllib.cdataclose xmllib.cdataopen xmllib.charref xmllib.commentclose xmllib.commentopen xmllib.doctype xmllib.doubledash xmllib.endbracket xmllib.endbracketfind xmllib.endtagopen xmllib.entityref xmllib.illegal xmllib.interesting xmllib.ncname xmllib.newline xmllib.procclose xmllib.procopen xmllib.qname xmllib.re xmllib.ref xmllib.space xmllib.starttagend xmllib.starttagmatch xmllib.starttagopen xmllib.string xmllib.tagfind xmllib.test(??) xmllib.version xmllib.xmldecl xmllib.xmlns xmlrpclib.APPLICATION_ERROR xmlrpclib.Binary(??) xmlrpclib.Boolean xmlrpclib.BooleanType xmlrpclib.BufferType xmlrpclib.BuiltinFunctionType xmlrpclib.BuiltinMethodType xmlrpclib.ClassType xmlrpclib.CodeType xmlrpclib.ComplexType xmlrpclib.DateTime(??) xmlrpclib.DictProxyType xmlrpclib.DictType xmlrpclib.DictionaryType xmlrpclib.EllipsisType xmlrpclib.Error(??) xmlrpclib.ExpatParser(??) xmlrpclib.False xmlrpclib.FastMarshaller xmlrpclib.FastParser xmlrpclib.FastUnmarshaller xmlrpclib.Fault(??) xmlrpclib.FileType xmlrpclib.FloatType xmlrpclib.FrameType xmlrpclib.FunctionType xmlrpclib.GeneratorType xmlrpclib.INTERNAL_ERROR xmlrpclib.INVALID_ENCODING_CHAR xmlrpclib.INVALID_METHOD_PARAMS xmlrpclib.INVALID_XMLRPC xmlrpclib.InstanceType xmlrpclib.IntType xmlrpclib.LambdaType xmlrpclib.ListType xmlrpclib.LongType xmlrpclib.MAXINT xmlrpclib.METHOD_NOT_FOUND xmlrpclib.MININT xmlrpclib.Marshaller(??) xmlrpclib.MethodType xmlrpclib.ModuleType xmlrpclib.MultiCall(??) xmlrpclib.MultiCallIterator(??) xmlrpclib.NOT_WELLFORMED_ERROR xmlrpclib.NoneType xmlrpclib.NotImplementedType xmlrpclib.ObjectType xmlrpclib.PARSE_ERROR xmlrpclib.ProtocolError(??) xmlrpclib.ResponseError(??) xmlrpclib.SERVER_ERROR xmlrpclib.SYSTEM_ERROR xmlrpclib.SafeTransport(??) xmlrpclib.Server(??) xmlrpclib.ServerProxy(??) xmlrpclib.SgmlopParser xmlrpclib.SliceType xmlrpclib.SlowParser(??) xmlrpclib.StringIO xmlrpclib.StringType xmlrpclib.StringTypes xmlrpclib.TRANSPORT_ERROR xmlrpclib.TracebackType xmlrpclib.Transport(??) xmlrpclib.True xmlrpclib.TupleType xmlrpclib.TypeType xmlrpclib.UNSUPPORTED_ENCODING xmlrpclib.UnboundMethodType xmlrpclib.UnicodeType xmlrpclib.Unmarshaller(??) xmlrpclib.WRAPPERS xmlrpclib.XRangeType xmlrpclib.base64 xmlrpclib.boolean xmlrpclib.dumps(??) xmlrpclib.escape(??) xmlrpclib.expat xmlrpclib.getparser() -> parser, unmarshaller xmlrpclib.loads(??) xmlrpclib.operator xmlrpclib.re xmlrpclib.string xmlrpclib.time xrange([start,] stop[, step]) -> xrange object xxsubtype.bench xxsubtype.spamdict xxsubtype.spamlist zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] zipfile.BadZipfile(??) zipfile.PyZipFile(??) zipfile.ZIP_DEFLATED zipfile.ZIP_STORED zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii zipfile.error(??) zipfile.is_zipfile(??) zipfile.os zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringFileHeader zipfile.struct zipfile.structCentralDir zipfile.structEndArchive zipfile.structFileHeader zipfile.time zipfile.zlib zipimport.ZipImportError(??) zipimport.zipimporter(archivepath) -> zipimporter object zlib.DEFLATED zlib.DEF_MEM_LEVEL zlib.MAX_WBITS zlib.ZLIB_VERSION zlib.Z_BEST_COMPRESSION zlib.Z_BEST_SPEED zlib.Z_DEFAULT_COMPRESSION zlib.Z_DEFAULT_STRATEGY zlib.Z_FILTERED zlib.Z_FINISH zlib.Z_FULL_FLUSH zlib.Z_HUFFMAN_ONLY zlib.Z_NO_FLUSH zlib.Z_SYNC_FLUSH zlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string. zlib.compress(string[, level]) -- Returned compressed string. zlib.compressobj([level]) -- Return a compressor object. zlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. zlib.decompressobj([wbits]) -- Return a decompressor object. zlib.error(??) ================================================ FILE: src/qscint/qsci/api/python/Python-2.5.api ================================================ ArithmeticError AssertionError AttributeError BaseException BaseHTTPServer.BaseHTTPRequestHandler(??) BaseHTTPServer.DEFAULT_ERROR_MESSAGE BaseHTTPServer.HTTPServer(??) BaseHTTPServer.SocketServer BaseHTTPServer.mimetools BaseHTTPServer.socket BaseHTTPServer.sys BaseHTTPServer.test(??) BaseHTTPServer.time Bastion.Bastion(??) Bastion.BastionClass(??) Bastion.MethodType CGIHTTPServer.BaseHTTPServer CGIHTTPServer.CGIHTTPRequestHandler(??) CGIHTTPServer.SimpleHTTPServer CGIHTTPServer.executable(??) CGIHTTPServer.nobody CGIHTTPServer.nobody_uid(??) CGIHTTPServer.os CGIHTTPServer.select CGIHTTPServer.sys CGIHTTPServer.test(??) CGIHTTPServer.urllib ConfigParser.ConfigParser(??) ConfigParser.DEFAULTSECT ConfigParser.DuplicateSectionError ConfigParser.Error ConfigParser.InterpolationDepthError ConfigParser.InterpolationError ConfigParser.InterpolationMissingOptionError ConfigParser.InterpolationSyntaxError ConfigParser.MAX_INTERPOLATION_DEPTH ConfigParser.MissingSectionHeaderError ConfigParser.NoOptionError ConfigParser.NoSectionError ConfigParser.ParsingError ConfigParser.RawConfigParser(??) ConfigParser.SafeConfigParser(??) ConfigParser.re Cookie.BaseCookie Cookie.Cookie Cookie.CookieError Cookie.Morsel Cookie.SerialCookie Cookie.SimpleCookie Cookie.SmartCookie Cookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. Cookie.loads(string) -- Load a pickle from the given string Cookie.re Cookie.string Cookie.warnings DeprecationWarning DocXMLRPCServer.CGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocCGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCServer(??) DocXMLRPCServer.ServerHTMLDoc(??) DocXMLRPCServer.SimpleXMLRPCRequestHandler(??) DocXMLRPCServer.SimpleXMLRPCServer(??) DocXMLRPCServer.XMLRPCDocGenerator(??) DocXMLRPCServer.inspect DocXMLRPCServer.pydoc DocXMLRPCServer.re DocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d DocXMLRPCServer.sys EOFError Ellipsis EnvironmentError Exception False FloatingPointError FutureWarning GeneratorExit HTMLParser.HTMLParseError HTMLParser.HTMLParser(??) HTMLParser.attrfind HTMLParser.charref HTMLParser.commentclose HTMLParser.endendtag HTMLParser.endtagfind HTMLParser.entityref HTMLParser.incomplete HTMLParser.interesting_cdata HTMLParser.interesting_normal HTMLParser.locatestarttagend HTMLParser.markupbase HTMLParser.piclose HTMLParser.re HTMLParser.starttagopen HTMLParser.tagfind IOError ImportError ImportWarning IndentationError IndexError KeyError KeyboardInterrupt LookupError MemoryError MimeWriter.MimeWriter(??) MimeWriter.mimetools NameError None NotImplemented NotImplementedError OSError OverflowError PendingDeprecationWarning Queue.Empty Queue.Full Queue.Queue(??) Queue.deque(iterable) --> deque object ReferenceError RuntimeError RuntimeWarning SimpleHTTPServer.BaseHTTPServer SimpleHTTPServer.SimpleHTTPRequestHandler(??) SimpleHTTPServer.StringIO([s]) -- Return a StringIO-like stream for reading or writing SimpleHTTPServer.cgi SimpleHTTPServer.mimetypes SimpleHTTPServer.os SimpleHTTPServer.posixpath SimpleHTTPServer.shutil SimpleHTTPServer.test(??) SimpleHTTPServer.urllib SimpleHTTPServer.urlparse SimpleXMLRPCServer.BaseHTTPServer SimpleXMLRPCServer.CGIXMLRPCRequestHandler(??) SimpleXMLRPCServer.Fault SimpleXMLRPCServer.SimpleXMLRPCDispatcher(??) SimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??) SimpleXMLRPCServer.SimpleXMLRPCServer(??) SimpleXMLRPCServer.SocketServer SimpleXMLRPCServer.fcntl SimpleXMLRPCServer.list_public_methods(??) SimpleXMLRPCServer.os SimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2] SimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d SimpleXMLRPCServer.sys SimpleXMLRPCServer.xmlrpclib SocketServer.BaseRequestHandler(??) SocketServer.BaseServer(??) SocketServer.DatagramRequestHandler(??) SocketServer.ForkingMixIn(??) SocketServer.ForkingTCPServer(??) SocketServer.ForkingUDPServer(??) SocketServer.StreamRequestHandler(??) SocketServer.TCPServer(??) SocketServer.ThreadingMixIn(??) SocketServer.ThreadingTCPServer(??) SocketServer.ThreadingUDPServer(??) SocketServer.ThreadingUnixDatagramServer(??) SocketServer.ThreadingUnixStreamServer(??) SocketServer.UDPServer(??) SocketServer.UnixDatagramServer(??) SocketServer.UnixStreamServer(??) SocketServer.os SocketServer.socket SocketServer.sys StandardError StopIteration StringIO.EINVAL StringIO.StringIO(??) StringIO.test(??) SyntaxError SyntaxWarning SystemError SystemExit TabError True TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserDict.DictMixin(??) UserDict.IterableUserDict(??) UserDict.UserDict(??) UserList.UserList(??) UserString.MutableString(??) UserString.UserString(??) UserString.sys UserWarning ValueError Warning ZeroDivisionError abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error aifc.open(??) aifc.openfp(??) aifc.struct all(iterable) -> bool any(iterable) -> bool anydbm.error anydbm.open(??) apply(object[, args[, kwargs]]) -> value array.ArrayType array.array(typecode [, initializer]) -> array asynchat.async_chat(??) asynchat.asyncore asynchat.deque(iterable) --> deque object asynchat.fifo(??) asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asynchat.socket asyncore.EALREADY asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINTR asyncore.EISCONN asyncore.ENOTCONN asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode asyncore.fcntl asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select asyncore.socket asyncore.socket_map asyncore.sys asyncore.time asyncore.write(??) atexit.register(??) atexit.sys audiodev.AudioDev(??) audiodev.Play_Audio_sgi(??) audiodev.Play_Audio_sun(??) audiodev.error audiodev.test(??) audioop.add audioop.adpcm2lin audioop.alaw2lin audioop.avg audioop.avgpp audioop.bias audioop.cross audioop.error audioop.findfactor audioop.findfit audioop.findmax audioop.getsample audioop.lin2adpcm audioop.lin2alaw audioop.lin2lin audioop.lin2ulaw audioop.max audioop.maxpp audioop.minmax audioop.mul audioop.ratecv audioop.reverse audioop.rms audioop.tomono audioop.tostereo audioop.ulaw2lin base64.EMPTYSTRING base64.MAXBINSIZE base64.MAXLINESIZE base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.binascii base64.decode(??) base64.decodestring(??) base64.encode(??) base64.encodestring(??) base64.k base64.re base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct base64.test(??) base64.test1(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) base64.v basestring bdb.Bdb(??) bdb.BdbQuit bdb.Breakpoint(??) bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.foo(??) bdb.os bdb.set_trace(??) bdb.sys bdb.test(??) bdb.types binascii.Error binascii.Incomplete binascii.a2b_base64 binascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation. binascii.a2b_hqx binascii.a2b_qp binascii.a2b_uu binascii.b2a_base64 binascii.b2a_hex(data) -> s; Hexadecimal representation of binary data. binascii.b2a_hqx binascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; binascii.b2a_uu binascii.crc32 binascii.crc_hqx binascii.hexlify binascii.rlecode_hqx binascii.rledecode_hqx binascii.unhexlify binhex.BinHex(??) binhex.Error binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii binhex.binhex(??) binhex.getfileinfo(??) binhex.hexbin(??) binhex.openrsrc(??) binhex.os binhex.struct binhex.sys bisect.bisect bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool bsddb.UserDict bsddb.btopen(??) bsddb.db bsddb.db.DB bsddb.db.DBAccessError bsddb.db.DBAgainError bsddb.db.DBBusyError bsddb.db.DBCursorClosedError bsddb.db.DBEnv bsddb.db.DBError bsddb.db.DBFileExistsError bsddb.db.DBInvalidArgError bsddb.db.DBKeyEmptyError bsddb.db.DBKeyExistError bsddb.db.DBLockDeadlockError bsddb.db.DBLockNotGrantedError bsddb.db.DBNoMemoryError bsddb.db.DBNoServerError bsddb.db.DBNoServerHomeError bsddb.db.DBNoServerIDError bsddb.db.DBNoSpaceError bsddb.db.DBNoSuchFileError bsddb.db.DBNotFoundError bsddb.db.DBOldVersionError bsddb.db.DBPageNotFoundError bsddb.db.DBPermissionsError bsddb.db.DBRunRecoveryError bsddb.db.DBSecondaryBadError bsddb.db.DBVerifyBadError bsddb.db.DB_AFTER bsddb.db.DB_AGGRESSIVE bsddb.db.DB_APPEND bsddb.db.DB_ARCH_ABS bsddb.db.DB_ARCH_DATA bsddb.db.DB_ARCH_LOG bsddb.db.DB_ARCH_REMOVE bsddb.db.DB_AUTO_COMMIT bsddb.db.DB_BEFORE bsddb.db.DB_BTREE bsddb.db.DB_CACHED_COUNTS bsddb.db.DB_CDB_ALLDB bsddb.db.DB_CHECKPOINT bsddb.db.DB_CHKSUM bsddb.db.DB_CONSUME bsddb.db.DB_CONSUME_WAIT bsddb.db.DB_CREATE bsddb.db.DB_CURRENT bsddb.db.DB_DIRECT_DB bsddb.db.DB_DIRECT_LOG bsddb.db.DB_DIRTY_READ bsddb.db.DB_DONOTINDEX bsddb.db.DB_DUP bsddb.db.DB_DUPSORT bsddb.db.DB_ENCRYPT bsddb.db.DB_ENCRYPT_AES bsddb.db.DB_EXCL bsddb.db.DB_EXTENT bsddb.db.DB_FAST_STAT bsddb.db.DB_FCNTL_LOCKING bsddb.db.DB_FIRST bsddb.db.DB_FLUSH bsddb.db.DB_FORCE bsddb.db.DB_GET_BOTH bsddb.db.DB_GET_RECNO bsddb.db.DB_HASH bsddb.db.DB_INCOMPLETE bsddb.db.DB_INIT_CDB bsddb.db.DB_INIT_LOCK bsddb.db.DB_INIT_LOG bsddb.db.DB_INIT_MPOOL bsddb.db.DB_INIT_REP bsddb.db.DB_INIT_TXN bsddb.db.DB_JOINENV bsddb.db.DB_JOIN_ITEM bsddb.db.DB_JOIN_NOSORT bsddb.db.DB_KEYEMPTY bsddb.db.DB_KEYEXIST bsddb.db.DB_KEYFIRST bsddb.db.DB_KEYLAST bsddb.db.DB_LAST bsddb.db.DB_LOCKDOWN bsddb.db.DB_LOCK_CONFLICT bsddb.db.DB_LOCK_DEADLOCK bsddb.db.DB_LOCK_DEFAULT bsddb.db.DB_LOCK_DIRTY bsddb.db.DB_LOCK_DUMP bsddb.db.DB_LOCK_GET bsddb.db.DB_LOCK_INHERIT bsddb.db.DB_LOCK_IREAD bsddb.db.DB_LOCK_IWR bsddb.db.DB_LOCK_IWRITE bsddb.db.DB_LOCK_MAXLOCKS bsddb.db.DB_LOCK_MINLOCKS bsddb.db.DB_LOCK_MINWRITE bsddb.db.DB_LOCK_NG bsddb.db.DB_LOCK_NORUN bsddb.db.DB_LOCK_NOTGRANTED bsddb.db.DB_LOCK_NOWAIT bsddb.db.DB_LOCK_OLDEST bsddb.db.DB_LOCK_PUT bsddb.db.DB_LOCK_PUT_ALL bsddb.db.DB_LOCK_PUT_OBJ bsddb.db.DB_LOCK_RANDOM bsddb.db.DB_LOCK_READ bsddb.db.DB_LOCK_RECORD bsddb.db.DB_LOCK_SWITCH bsddb.db.DB_LOCK_UPGRADE bsddb.db.DB_LOCK_UPGRADE_WRITE bsddb.db.DB_LOCK_WAIT bsddb.db.DB_LOCK_WRITE bsddb.db.DB_LOCK_WWRITE bsddb.db.DB_LOCK_YOUNGEST bsddb.db.DB_LOG_AUTOREMOVE bsddb.db.DB_LSTAT_ABORTED bsddb.db.DB_LSTAT_ERR bsddb.db.DB_LSTAT_FREE bsddb.db.DB_LSTAT_HELD bsddb.db.DB_LSTAT_PENDING bsddb.db.DB_LSTAT_WAITING bsddb.db.DB_MAX_PAGES bsddb.db.DB_MAX_RECORDS bsddb.db.DB_MULTIPLE bsddb.db.DB_MULTIPLE_KEY bsddb.db.DB_NEXT bsddb.db.DB_NEXT_DUP bsddb.db.DB_NEXT_NODUP bsddb.db.DB_NODUPDATA bsddb.db.DB_NOLOCKING bsddb.db.DB_NOMMAP bsddb.db.DB_NOORDERCHK bsddb.db.DB_NOOVERWRITE bsddb.db.DB_NOPANIC bsddb.db.DB_NOSERVER bsddb.db.DB_NOSERVER_HOME bsddb.db.DB_NOSERVER_ID bsddb.db.DB_NOSYNC bsddb.db.DB_NOTFOUND bsddb.db.DB_ODDFILESIZE bsddb.db.DB_OLD_VERSION bsddb.db.DB_OPFLAGS_MASK bsddb.db.DB_ORDERCHKONLY bsddb.db.DB_PAGE_NOTFOUND bsddb.db.DB_PANIC_ENVIRONMENT bsddb.db.DB_POSITION bsddb.db.DB_PREV bsddb.db.DB_PREV_NODUP bsddb.db.DB_PRIVATE bsddb.db.DB_PR_PAGE bsddb.db.DB_PR_RECOVERYTEST bsddb.db.DB_QUEUE bsddb.db.DB_RDONLY bsddb.db.DB_RDWRMASTER bsddb.db.DB_RECNO bsddb.db.DB_RECNUM bsddb.db.DB_RECORDCOUNT bsddb.db.DB_RECOVER bsddb.db.DB_RECOVER_FATAL bsddb.db.DB_REGION_INIT bsddb.db.DB_RENUMBER bsddb.db.DB_REVSPLITOFF bsddb.db.DB_RMW bsddb.db.DB_RPCCLIENT bsddb.db.DB_RUNRECOVERY bsddb.db.DB_SALVAGE bsddb.db.DB_SECONDARY_BAD bsddb.db.DB_SET bsddb.db.DB_SET_LOCK_TIMEOUT bsddb.db.DB_SET_RANGE bsddb.db.DB_SET_RECNO bsddb.db.DB_SET_TXN_TIMEOUT bsddb.db.DB_SNAPSHOT bsddb.db.DB_STAT_CLEAR bsddb.db.DB_SYSTEM_MEM bsddb.db.DB_THREAD bsddb.db.DB_TIME_NOTGRANTED bsddb.db.DB_TRUNCATE bsddb.db.DB_TXN_NOSYNC bsddb.db.DB_TXN_NOT_DURABLE bsddb.db.DB_TXN_NOWAIT bsddb.db.DB_TXN_SYNC bsddb.db.DB_TXN_WRITE_NOSYNC bsddb.db.DB_UNKNOWN bsddb.db.DB_UPGRADE bsddb.db.DB_USE_ENVIRON bsddb.db.DB_USE_ENVIRON_ROOT bsddb.db.DB_VERIFY bsddb.db.DB_VERIFY_BAD bsddb.db.DB_VERSION_MAJOR bsddb.db.DB_VERSION_MINOR bsddb.db.DB_VERSION_PATCH bsddb.db.DB_VERSION_STRING bsddb.db.DB_WRITECURSOR bsddb.db.DB_XA_CREATE bsddb.db.DB_YIELDCPU bsddb.db.EACCES bsddb.db.EAGAIN bsddb.db.EBUSY bsddb.db.EEXIST bsddb.db.EINVAL bsddb.db.ENOENT bsddb.db.ENOMEM bsddb.db.ENOSPC bsddb.db.EPERM bsddb.db.cvsid bsddb.db.version bsddb.dbobj bsddb.dbobj.DB(??) bsddb.dbobj.DBEnv(??) bsddb.dbobj.DBSequence(??) bsddb.dbobj.DictMixin(??) bsddb.dbobj.db bsddb.dbrecio bsddb.dbrecio.DBRecIO(??) bsddb.dbrecio.errno bsddb.dbrecio.string bsddb.dbshelve bsddb.dbshelve.DBShelf(??) bsddb.dbshelve.DBShelfCursor(??) bsddb.dbshelve.DictMixin(??) bsddb.dbshelve.cPickle bsddb.dbshelve.db bsddb.dbshelve.open(??) bsddb.dbtables bsddb.dbtables.Cond(??) bsddb.dbtables.DB bsddb.dbtables.DBAccessError bsddb.dbtables.DBAgainError bsddb.dbtables.DBBusyError bsddb.dbtables.DBCursorClosedError bsddb.dbtables.DBEnv bsddb.dbtables.DBError bsddb.dbtables.DBFileExistsError bsddb.dbtables.DBIncompleteError bsddb.dbtables.DBInvalidArgError bsddb.dbtables.DBKeyEmptyError bsddb.dbtables.DBKeyExistError bsddb.dbtables.DBLockDeadlockError bsddb.dbtables.DBLockNotGrantedError bsddb.dbtables.DBNoMemoryError bsddb.dbtables.DBNoServerError bsddb.dbtables.DBNoServerHomeError bsddb.dbtables.DBNoServerIDError bsddb.dbtables.DBNoSpaceError bsddb.dbtables.DBNoSuchFileError bsddb.dbtables.DBNotFoundError bsddb.dbtables.DBOldVersionError bsddb.dbtables.DBPageNotFoundError bsddb.dbtables.DBPermissionsError bsddb.dbtables.DBRunRecoveryError bsddb.dbtables.DBSecondaryBadError bsddb.dbtables.DBVerifyBadError bsddb.dbtables.DB_AFTER bsddb.dbtables.DB_AGGRESSIVE bsddb.dbtables.DB_APPEND bsddb.dbtables.DB_ARCH_ABS bsddb.dbtables.DB_ARCH_DATA bsddb.dbtables.DB_ARCH_LOG bsddb.dbtables.DB_ARCH_REMOVE bsddb.dbtables.DB_AUTO_COMMIT bsddb.dbtables.DB_BEFORE bsddb.dbtables.DB_BTREE bsddb.dbtables.DB_CACHED_COUNTS bsddb.dbtables.DB_CDB_ALLDB bsddb.dbtables.DB_CHECKPOINT bsddb.dbtables.DB_CHKSUM bsddb.dbtables.DB_CONSUME bsddb.dbtables.DB_CONSUME_WAIT bsddb.dbtables.DB_CREATE bsddb.dbtables.DB_CURRENT bsddb.dbtables.DB_DIRECT_DB bsddb.dbtables.DB_DIRECT_LOG bsddb.dbtables.DB_DIRTY_READ bsddb.dbtables.DB_DONOTINDEX bsddb.dbtables.DB_DUP bsddb.dbtables.DB_DUPSORT bsddb.dbtables.DB_ENCRYPT bsddb.dbtables.DB_ENCRYPT_AES bsddb.dbtables.DB_EXCL bsddb.dbtables.DB_EXTENT bsddb.dbtables.DB_FAST_STAT bsddb.dbtables.DB_FCNTL_LOCKING bsddb.dbtables.DB_FIRST bsddb.dbtables.DB_FLUSH bsddb.dbtables.DB_FORCE bsddb.dbtables.DB_GET_BOTH bsddb.dbtables.DB_GET_RECNO bsddb.dbtables.DB_HASH bsddb.dbtables.DB_INCOMPLETE bsddb.dbtables.DB_INIT_CDB bsddb.dbtables.DB_INIT_LOCK bsddb.dbtables.DB_INIT_LOG bsddb.dbtables.DB_INIT_MPOOL bsddb.dbtables.DB_INIT_REP bsddb.dbtables.DB_INIT_TXN bsddb.dbtables.DB_JOINENV bsddb.dbtables.DB_JOIN_ITEM bsddb.dbtables.DB_JOIN_NOSORT bsddb.dbtables.DB_KEYEMPTY bsddb.dbtables.DB_KEYEXIST bsddb.dbtables.DB_KEYFIRST bsddb.dbtables.DB_KEYLAST bsddb.dbtables.DB_LAST bsddb.dbtables.DB_LOCKDOWN bsddb.dbtables.DB_LOCK_CONFLICT bsddb.dbtables.DB_LOCK_DEADLOCK bsddb.dbtables.DB_LOCK_DEFAULT bsddb.dbtables.DB_LOCK_DIRTY bsddb.dbtables.DB_LOCK_DUMP bsddb.dbtables.DB_LOCK_GET bsddb.dbtables.DB_LOCK_INHERIT bsddb.dbtables.DB_LOCK_IREAD bsddb.dbtables.DB_LOCK_IWR bsddb.dbtables.DB_LOCK_IWRITE bsddb.dbtables.DB_LOCK_MAXLOCKS bsddb.dbtables.DB_LOCK_MINLOCKS bsddb.dbtables.DB_LOCK_MINWRITE bsddb.dbtables.DB_LOCK_NG bsddb.dbtables.DB_LOCK_NORUN bsddb.dbtables.DB_LOCK_NOTGRANTED bsddb.dbtables.DB_LOCK_NOWAIT bsddb.dbtables.DB_LOCK_OLDEST bsddb.dbtables.DB_LOCK_PUT bsddb.dbtables.DB_LOCK_PUT_ALL bsddb.dbtables.DB_LOCK_PUT_OBJ bsddb.dbtables.DB_LOCK_RANDOM bsddb.dbtables.DB_LOCK_READ bsddb.dbtables.DB_LOCK_RECORD bsddb.dbtables.DB_LOCK_SWITCH bsddb.dbtables.DB_LOCK_UPGRADE bsddb.dbtables.DB_LOCK_UPGRADE_WRITE bsddb.dbtables.DB_LOCK_WAIT bsddb.dbtables.DB_LOCK_WRITE bsddb.dbtables.DB_LOCK_WWRITE bsddb.dbtables.DB_LOCK_YOUNGEST bsddb.dbtables.DB_LOG_AUTOREMOVE bsddb.dbtables.DB_LSTAT_ABORTED bsddb.dbtables.DB_LSTAT_ERR bsddb.dbtables.DB_LSTAT_FREE bsddb.dbtables.DB_LSTAT_HELD bsddb.dbtables.DB_LSTAT_PENDING bsddb.dbtables.DB_LSTAT_WAITING bsddb.dbtables.DB_MAX_PAGES bsddb.dbtables.DB_MAX_RECORDS bsddb.dbtables.DB_MULTIPLE bsddb.dbtables.DB_MULTIPLE_KEY bsddb.dbtables.DB_NEXT bsddb.dbtables.DB_NEXT_DUP bsddb.dbtables.DB_NEXT_NODUP bsddb.dbtables.DB_NODUPDATA bsddb.dbtables.DB_NOLOCKING bsddb.dbtables.DB_NOMMAP bsddb.dbtables.DB_NOORDERCHK bsddb.dbtables.DB_NOOVERWRITE bsddb.dbtables.DB_NOPANIC bsddb.dbtables.DB_NOSERVER bsddb.dbtables.DB_NOSERVER_HOME bsddb.dbtables.DB_NOSERVER_ID bsddb.dbtables.DB_NOSYNC bsddb.dbtables.DB_NOTFOUND bsddb.dbtables.DB_ODDFILESIZE bsddb.dbtables.DB_OLD_VERSION bsddb.dbtables.DB_OPFLAGS_MASK bsddb.dbtables.DB_ORDERCHKONLY bsddb.dbtables.DB_PAGE_NOTFOUND bsddb.dbtables.DB_PANIC_ENVIRONMENT bsddb.dbtables.DB_POSITION bsddb.dbtables.DB_PREV bsddb.dbtables.DB_PREV_NODUP bsddb.dbtables.DB_PRIVATE bsddb.dbtables.DB_PR_PAGE bsddb.dbtables.DB_PR_RECOVERYTEST bsddb.dbtables.DB_QUEUE bsddb.dbtables.DB_RDONLY bsddb.dbtables.DB_RDWRMASTER bsddb.dbtables.DB_RECNO bsddb.dbtables.DB_RECNUM bsddb.dbtables.DB_RECORDCOUNT bsddb.dbtables.DB_RECOVER bsddb.dbtables.DB_RECOVER_FATAL bsddb.dbtables.DB_REGION_INIT bsddb.dbtables.DB_RENUMBER bsddb.dbtables.DB_REVSPLITOFF bsddb.dbtables.DB_RMW bsddb.dbtables.DB_RPCCLIENT bsddb.dbtables.DB_RUNRECOVERY bsddb.dbtables.DB_SALVAGE bsddb.dbtables.DB_SECONDARY_BAD bsddb.dbtables.DB_SET bsddb.dbtables.DB_SET_LOCK_TIMEOUT bsddb.dbtables.DB_SET_RANGE bsddb.dbtables.DB_SET_RECNO bsddb.dbtables.DB_SET_TXN_TIMEOUT bsddb.dbtables.DB_SNAPSHOT bsddb.dbtables.DB_STAT_CLEAR bsddb.dbtables.DB_SYSTEM_MEM bsddb.dbtables.DB_THREAD bsddb.dbtables.DB_TIME_NOTGRANTED bsddb.dbtables.DB_TRUNCATE bsddb.dbtables.DB_TXN_NOSYNC bsddb.dbtables.DB_TXN_NOT_DURABLE bsddb.dbtables.DB_TXN_NOWAIT bsddb.dbtables.DB_TXN_SYNC bsddb.dbtables.DB_TXN_WRITE_NOSYNC bsddb.dbtables.DB_UNKNOWN bsddb.dbtables.DB_UPGRADE bsddb.dbtables.DB_USE_ENVIRON bsddb.dbtables.DB_USE_ENVIRON_ROOT bsddb.dbtables.DB_VERIFY bsddb.dbtables.DB_VERIFY_BAD bsddb.dbtables.DB_VERSION_MAJOR bsddb.dbtables.DB_VERSION_MINOR bsddb.dbtables.DB_VERSION_PATCH bsddb.dbtables.DB_VERSION_STRING bsddb.dbtables.DB_WRITECURSOR bsddb.dbtables.DB_XA_CREATE bsddb.dbtables.DB_YIELDCPU bsddb.dbtables.EACCES bsddb.dbtables.EAGAIN bsddb.dbtables.EBUSY bsddb.dbtables.EEXIST bsddb.dbtables.EINVAL bsddb.dbtables.ENOENT bsddb.dbtables.ENOMEM bsddb.dbtables.ENOSPC bsddb.dbtables.EPERM bsddb.dbtables.ExactCond(??) bsddb.dbtables.LikeCond(??) bsddb.dbtables.ListType bsddb.dbtables.PostfixCond(??) bsddb.dbtables.PrefixCond(??) bsddb.dbtables.StringType bsddb.dbtables.TableAlreadyExists bsddb.dbtables.TableDBError bsddb.dbtables.bsdTableDB(??) bsddb.dbtables.contains_metastrings(??) bsddb.dbtables.copy bsddb.dbtables.cvsid bsddb.dbtables.pickle bsddb.dbtables.random bsddb.dbtables.re bsddb.dbtables.sys bsddb.dbtables.version bsddb.dbtables.xdrlib bsddb.dbutils bsddb.dbutils.DeadlockWrap(function, *_args, **_kwargs) - automatically retries bsddb.dbutils.db bsddb.error bsddb.hashopen(??) bsddb.os bsddb.ref bsddb.rnopen(??) bsddb.sys buffer(object [, offset[, size]]) bz2.BZ2Compressor([compresslevel=9]) -> compressor object bz2.BZ2Decompressor() -> decompressor object bz2.BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object bz2.compress(data [, compresslevel=9]) -> string bz2.decompress(data) -> decompressed data cPickle.BadPickleGet cPickle.HIGHEST_PROTOCOL cPickle.PickleError cPickle.Pickler(file, protocol=0) -- Create a pickler. cPickle.PicklingError cPickle.UnpickleableError cPickle.Unpickler(file) -- Create an unpickler. cPickle.UnpicklingError cPickle.compatible_formats cPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file. cPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. cPickle.format_version cPickle.load(file) -- Load a pickle from the given file cPickle.loads(string) -- Load a pickle from the given string cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.help(??) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) cStringIO.InputType cStringIO.OutputType cStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing cStringIO.cStringIO_CAPI calendar.Calendar calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar calendar.IllegalMonthError calendar.IllegalWeekdayError calendar.January calendar.LocaleHTMLCalendar calendar.LocaleTextCalendar calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar calendar.TimeEncoding(??) calendar.WEDNESDAY calendar.c calendar.calendar calendar.datetime calendar.day_abbr calendar.day_name calendar.error calendar.firstweekday calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.locale calendar.main(??) calendar.mdays calendar.month calendar.month_abbr calendar.month_name calendar.monthcalendar calendar.monthrange(??) calendar.prcal calendar.prmonth calendar.prweek calendar.setfirstweekday(??) calendar.sys calendar.timegm(??) calendar.week calendar.weekday(??) calendar.weekheader calendar.with_statement callable(object) -> bool cgi.FieldStorage(??) cgi.FormContent(??) cgi.FormContentDict(??) cgi.InterpFormContentDict(??) cgi.MiniFieldStorage(??) cgi.StringIO([s]) -- Return a StringIO-like stream for reading or writing cgi.SvFormContentDict(??) cgi.UserDict cgi.attrgetter(attr, ...) --> attrgetter object cgi.dolog(??) cgi.escape(??) cgi.initlog(??) cgi.log(??) cgi.logfile cgi.logfp cgi.maxlen cgi.mimetools cgi.nolog(??) cgi.os cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.rfc822 cgi.sys cgi.test(??) cgi.urllib cgi.valid_boundary(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler cgitb.html(??) cgitb.lookup(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys cgitb.text(??) chr(i) -> character chunk.Chunk(??) classmethod(function) -> method cmath.acos(x) cmath.acosh(x) cmath.asin(x) cmath.asinh(x) cmath.atan(x) cmath.atanh(x) cmath.cos(x) cmath.cosh(x) cmath.e cmath.exp(x) cmath.log(x[, base]) -> the logarithm of x to the given base. cmath.log10(x) cmath.pi cmath.sin(x) cmath.sinh(x) cmath.sqrt(x) cmath.tan(x) cmath.tanh(x) cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string cmp(x, y) -> integer code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.softspace(??) code.sys code.traceback codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder codecs.BufferedIncrementalEncoder codecs.Codec(??) codecs.CodecInfo codecs.EncodedFile(??) codecs.IncrementalDecoder codecs.IncrementalEncoder codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode codecs.ascii_encode codecs.backslashreplace_errors codecs.charbuffer_encode codecs.charmap_build codecs.charmap_decode codecs.charmap_encode codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode codecs.escape_encode codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode codecs.latin_1_encode codecs.lookup(encoding) -> (encoder, decoder, stream_reader, stream_writer) codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode codecs.raw_unicode_escape_encode codecs.readbuffer_encode codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors codecs.strict_errors codecs.sys codecs.unicode_escape_decode codecs.unicode_escape_encode codecs.unicode_internal_decode codecs.unicode_internal_encode codecs.utf_16_be_decode codecs.utf_16_be_encode codecs.utf_16_decode codecs.utf_16_encode codecs.utf_16_ex_decode codecs.utf_16_le_decode codecs.utf_16_le_encode codecs.utf_7_decode codecs.utf_7_encode codecs.utf_8_decode codecs.utf_8_encode codecs.xmlcharrefreplace_errors codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) codeop.fname coerce(x, y) -> (x1, y1) collections.defaultdict(default_factory) --> dict with default factory collections.deque(iterable) --> deque object colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) commands.getoutput(??) commands.getstatus(??) commands.getstatusoutput(??) commands.mk2arg(??) commands.mkarg(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_path(??) compileall.main(??) compileall.os compileall.py_compile compileall.sys compiler.ast compiler.ast.Add(??) compiler.ast.And(??) compiler.ast.AssAttr(??) compiler.ast.AssList(??) compiler.ast.AssName(??) compiler.ast.AssTuple(??) compiler.ast.Assert(??) compiler.ast.Assign(??) compiler.ast.AugAssign(??) compiler.ast.Backquote(??) compiler.ast.Bitand(??) compiler.ast.Bitor(??) compiler.ast.Bitxor(??) compiler.ast.Break(??) compiler.ast.CO_VARARGS compiler.ast.CO_VARKEYWORDS compiler.ast.CallFunc(??) compiler.ast.Class(??) compiler.ast.Compare(??) compiler.ast.Const(??) compiler.ast.Continue(??) compiler.ast.Decorators(??) compiler.ast.Dict(??) compiler.ast.Discard(??) compiler.ast.Div(??) compiler.ast.Ellipsis(??) compiler.ast.EmptyNode(??) compiler.ast.Exec(??) compiler.ast.Expression(??) compiler.ast.FloorDiv(??) compiler.ast.For(??) compiler.ast.From(??) compiler.ast.Function(??) compiler.ast.GenExpr(??) compiler.ast.GenExprFor(??) compiler.ast.GenExprIf(??) compiler.ast.GenExprInner(??) compiler.ast.Getattr(??) compiler.ast.Global(??) compiler.ast.If(??) compiler.ast.IfExp(??) compiler.ast.Import(??) compiler.ast.Invert(??) compiler.ast.Keyword(??) compiler.ast.Lambda(??) compiler.ast.LeftShift(??) compiler.ast.List(??) compiler.ast.ListComp(??) compiler.ast.ListCompFor(??) compiler.ast.ListCompIf(??) compiler.ast.Mod(??) compiler.ast.Module(??) compiler.ast.Mul(??) compiler.ast.Name(??) compiler.ast.Node(??) compiler.ast.Not(??) compiler.ast.Or(??) compiler.ast.Pass(??) compiler.ast.Power(??) compiler.ast.Print(??) compiler.ast.Printnl(??) compiler.ast.Raise(??) compiler.ast.Return(??) compiler.ast.RightShift(??) compiler.ast.Slice(??) compiler.ast.Sliceobj(??) compiler.ast.Stmt(??) compiler.ast.Sub(??) compiler.ast.Subscript(??) compiler.ast.TryExcept(??) compiler.ast.TryFinally(??) compiler.ast.Tuple(??) compiler.ast.UnaryAdd(??) compiler.ast.UnarySub(??) compiler.ast.While(??) compiler.ast.With(??) compiler.ast.Yield(??) compiler.ast.flatten(??) compiler.ast.flatten_nodes(??) compiler.ast.name compiler.ast.nodes compiler.ast.obj(??) compiler.compile(??) compiler.compileFile(??) compiler.consts compiler.consts.CO_FUTURE_ABSIMPORT compiler.consts.CO_FUTURE_DIVISION compiler.consts.CO_FUTURE_WITH_STATEMENT compiler.consts.CO_GENERATOR compiler.consts.CO_GENERATOR_ALLOWED compiler.consts.CO_NESTED compiler.consts.CO_NEWLOCALS compiler.consts.CO_OPTIMIZED compiler.consts.CO_VARARGS compiler.consts.CO_VARKEYWORDS compiler.consts.OP_APPLY compiler.consts.OP_ASSIGN compiler.consts.OP_DELETE compiler.consts.SC_CELL compiler.consts.SC_FREE compiler.consts.SC_GLOBAL compiler.consts.SC_LOCAL compiler.consts.SC_UNKNOWN compiler.future compiler.future.BadFutureParser(??) compiler.future.FutureParser(??) compiler.future.ast compiler.future.find_futures(??) compiler.future.is_future(??) compiler.future.walk(??) compiler.misc compiler.misc.MANGLE_LEN compiler.misc.Set(??) compiler.misc.Stack(??) compiler.misc.flatten(??) compiler.misc.mangle(??) compiler.misc.set_filename(??) compiler.parse(??) compiler.parseFile(??) compiler.pyassem compiler.pyassem.Block(??) compiler.pyassem.CONV compiler.pyassem.CO_NEWLOCALS compiler.pyassem.CO_OPTIMIZED compiler.pyassem.CO_VARARGS compiler.pyassem.CO_VARKEYWORDS compiler.pyassem.DONE compiler.pyassem.FLAT compiler.pyassem.FlowGraph(??) compiler.pyassem.LineAddrTable(??) compiler.pyassem.PyFlowGraph(??) compiler.pyassem.RAW compiler.pyassem.StackDepthTracker(??) compiler.pyassem.TupleArg(??) compiler.pyassem.dfs_postorder(??) compiler.pyassem.dis compiler.pyassem.findDepth compiler.pyassem.getArgCount(??) compiler.pyassem.isJump(??) compiler.pyassem.misc compiler.pyassem.new compiler.pyassem.sys compiler.pyassem.twobyte(??) compiler.pycodegen compiler.pycodegen.AbstractClassCode(??) compiler.pycodegen.AbstractCompileMode(??) compiler.pycodegen.AbstractFunctionCode(??) compiler.pycodegen.AugGetattr(??) compiler.pycodegen.AugName(??) compiler.pycodegen.AugSlice(??) compiler.pycodegen.AugSubscript(??) compiler.pycodegen.CO_FUTURE_ABSIMPORT compiler.pycodegen.CO_FUTURE_DIVISION compiler.pycodegen.CO_FUTURE_WITH_STATEMENT compiler.pycodegen.CO_GENERATOR compiler.pycodegen.CO_NESTED compiler.pycodegen.CO_NEWLOCALS compiler.pycodegen.CO_VARARGS compiler.pycodegen.CO_VARKEYWORDS compiler.pycodegen.ClassCodeGenerator(??) compiler.pycodegen.CodeGenerator(??) compiler.pycodegen.Delegator(??) compiler.pycodegen.END_FINALLY compiler.pycodegen.EXCEPT compiler.pycodegen.Expression(??) compiler.pycodegen.ExpressionCodeGenerator(??) compiler.pycodegen.FunctionCodeGenerator(??) compiler.pycodegen.GenExprCodeGenerator(??) compiler.pycodegen.Interactive(??) compiler.pycodegen.InteractiveCodeGenerator(??) compiler.pycodegen.LOOP compiler.pycodegen.LocalNameFinder(??) compiler.pycodegen.Module(??) compiler.pycodegen.ModuleCodeGenerator(??) compiler.pycodegen.NestedScopeMixin(??) compiler.pycodegen.OpFinder(??) compiler.pycodegen.SC_CELL compiler.pycodegen.SC_FREE compiler.pycodegen.SC_GLOBAL compiler.pycodegen.SC_LOCAL compiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing compiler.pycodegen.TRY_FINALLY compiler.pycodegen.TupleArg(??) compiler.pycodegen.VERSION compiler.pycodegen.ast compiler.pycodegen.callfunc_opcode_info compiler.pycodegen.compile(??) compiler.pycodegen.compileFile(??) compiler.pycodegen.findOp(??) compiler.pycodegen.future compiler.pycodegen.generateArgList(??) compiler.pycodegen.imp compiler.pycodegen.is_constant_false(??) compiler.pycodegen.marshal compiler.pycodegen.misc compiler.pycodegen.os compiler.pycodegen.parse(??) compiler.pycodegen.pyassem compiler.pycodegen.struct compiler.pycodegen.symbols compiler.pycodegen.syntax compiler.pycodegen.sys compiler.pycodegen.walk(??) compiler.pycodegen.wrap_aug(??) compiler.pycodegen.wrapper compiler.symbols compiler.symbols.ClassScope(??) compiler.symbols.FunctionScope(??) compiler.symbols.GenExprScope(??) compiler.symbols.LambdaScope(??) compiler.symbols.MANGLE_LEN compiler.symbols.ModuleScope(??) compiler.symbols.SC_CELL compiler.symbols.SC_FREE compiler.symbols.SC_GLOBAL compiler.symbols.SC_LOCAL compiler.symbols.SC_UNKNOWN compiler.symbols.Scope(??) compiler.symbols.SymbolVisitor(??) compiler.symbols.ast compiler.symbols.list_eq(??) compiler.symbols.mangle(??) compiler.symbols.sys compiler.symbols.types compiler.syntax compiler.syntax.SyntaxErrorChecker(??) compiler.syntax.ast compiler.syntax.check(??) compiler.syntax.walk(??) compiler.transformer compiler.transformer.Add(??) compiler.transformer.And(??) compiler.transformer.AssAttr(??) compiler.transformer.AssList(??) compiler.transformer.AssName(??) compiler.transformer.AssTuple(??) compiler.transformer.Assert(??) compiler.transformer.Assign(??) compiler.transformer.AugAssign(??) compiler.transformer.Backquote(??) compiler.transformer.Bitand(??) compiler.transformer.Bitor(??) compiler.transformer.Bitxor(??) compiler.transformer.Break(??) compiler.transformer.CO_VARARGS compiler.transformer.CO_VARKEYWORDS compiler.transformer.CallFunc(??) compiler.transformer.Class(??) compiler.transformer.Compare(??) compiler.transformer.Const(??) compiler.transformer.Continue(??) compiler.transformer.Decorators(??) compiler.transformer.Dict(??) compiler.transformer.Discard(??) compiler.transformer.Div(??) compiler.transformer.Ellipsis(??) compiler.transformer.EmptyNode(??) compiler.transformer.Exec(??) compiler.transformer.Expression(??) compiler.transformer.FloorDiv(??) compiler.transformer.For(??) compiler.transformer.From(??) compiler.transformer.Function(??) compiler.transformer.GenExpr(??) compiler.transformer.GenExprFor(??) compiler.transformer.GenExprIf(??) compiler.transformer.GenExprInner(??) compiler.transformer.Getattr(??) compiler.transformer.Global(??) compiler.transformer.If(??) compiler.transformer.IfExp(??) compiler.transformer.Import(??) compiler.transformer.Invert(??) compiler.transformer.Keyword(??) compiler.transformer.Lambda(??) compiler.transformer.LeftShift(??) compiler.transformer.List(??) compiler.transformer.ListComp(??) compiler.transformer.ListCompFor(??) compiler.transformer.ListCompIf(??) compiler.transformer.Mod(??) compiler.transformer.Module(??) compiler.transformer.Mul(??) compiler.transformer.Name(??) compiler.transformer.Node(??) compiler.transformer.Not(??) compiler.transformer.OP_APPLY compiler.transformer.OP_ASSIGN compiler.transformer.OP_DELETE compiler.transformer.Or(??) compiler.transformer.Pass(??) compiler.transformer.Power(??) compiler.transformer.Print(??) compiler.transformer.Printnl(??) compiler.transformer.Raise(??) compiler.transformer.Return(??) compiler.transformer.RightShift(??) compiler.transformer.Slice(??) compiler.transformer.Sliceobj(??) compiler.transformer.Stmt(??) compiler.transformer.Sub(??) compiler.transformer.Subscript(??) compiler.transformer.Transformer(??) compiler.transformer.TryExcept(??) compiler.transformer.TryFinally(??) compiler.transformer.Tuple(??) compiler.transformer.UnaryAdd(??) compiler.transformer.UnarySub(??) compiler.transformer.WalkerError compiler.transformer.While(??) compiler.transformer.With(??) compiler.transformer.Yield(??) compiler.transformer.asList(??) compiler.transformer.debug_tree(??) compiler.transformer.extractLineNo(??) compiler.transformer.flatten(??) compiler.transformer.flatten_nodes(??) compiler.transformer.k compiler.transformer.name compiler.transformer.nodes compiler.transformer.obj(??) compiler.transformer.parse(??) compiler.transformer.parseFile(??) compiler.transformer.parser compiler.transformer.symbol compiler.transformer.sys compiler.transformer.token compiler.transformer.v compiler.visitor compiler.visitor.ASTVisitor(??) compiler.visitor.ExampleASTVisitor(??) compiler.visitor.ast compiler.visitor.dumpNode(??) compiler.visitor.walk(??) compiler.walk(??) complex(real[, imag]) -> complex number contextlib.GeneratorContextManager contextlib.closing contextlib.contextmanager(??) contextlib.nested(??) contextlib.sys cookielib.Absent(??) cookielib.Cookie(??) cookielib.CookieJar(??) cookielib.CookiePolicy(??) cookielib.DAYS cookielib.DEFAULT_HTTP_PORT cookielib.DefaultCookiePolicy(??) cookielib.EPOCH_YEAR cookielib.ESCAPED_CHAR_RE cookielib.FileCookieJar(??) cookielib.HEADER_ESCAPE_RE cookielib.HEADER_JOIN_ESCAPE_RE cookielib.HEADER_QUOTED_VALUE_RE cookielib.HEADER_TOKEN_RE cookielib.HEADER_VALUE_RE cookielib.HTTP_PATH_SAFE cookielib.IPV4_RE cookielib.ISO_DATE_RE cookielib.LOOSE_HTTP_DATE_RE cookielib.LWPCookieJar(??) cookielib.LoadError cookielib.MISSING_FILENAME_TEXT cookielib.MONTHS cookielib.MONTHS_LOWER cookielib.MozillaCookieJar(??) cookielib.STRICT_DATE_RE cookielib.TIMEZONE_RE cookielib.UTC_ZONES cookielib.WEEKDAY_RE cookielib.copy cookielib.cut_port_re cookielib.debug cookielib.deepvalues(??) cookielib.domain_match(??) cookielib.eff_request_host(??) cookielib.escape_path(??) cookielib.http2time(??) cookielib.httplib cookielib.is_HDN(??) cookielib.is_third_party(??) cookielib.iso2time(??) cookielib.join_header_words(??) cookielib.liberal_is_HDN(??) cookielib.logger cookielib.lwp_cookie_str(??) cookielib.month cookielib.offset_from_tz_string(??) cookielib.parse_ns_headers(??) cookielib.re cookielib.reach(??) cookielib.request_host(??) cookielib.request_path(??) cookielib.request_port(??) cookielib.split_header_words(??) cookielib.time cookielib.time2isoz(??) cookielib.time2netscape(??) cookielib.timegm(??) cookielib.unmatched(??) cookielib.uppercase_escaped_char(??) cookielib.urllib cookielib.urlparse cookielib.user_domain_match(??) cookielib.vals_sorted_by_key(??) copy.Error copy.PyStringMap copy.copy(??) copy.deepcopy(??) copy.dispatch_table copy.error copy.name copy.t copy_reg.add_extension(??) copy_reg.clear_extension_cache(??) copy_reg.constructor(??) copy_reg.dispatch_table copy_reg.pickle(??) copy_reg.pickle_complex(??) copy_reg.remove_extension(??) copyright credits crypt.crypt(word, salt) -> string csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO([s]) -- Return a StringIO-like stream for reading or writing csv.excel(??) csv.excel_tab(??) csv.field_size_limit csv.get_dialect csv.list_dialects csv.re csv.reader csv.register_dialect csv.unregister_dialect csv.writer ctypes.ARRAY(??) ctypes.ArgumentError ctypes.Array ctypes.BigEndianStructure ctypes.CDLL ctypes.CFUNCTYPE(restype, *argtypes) -> function prototype. ctypes.DEFAULT_MODE ctypes.LibraryLoader ctypes.LittleEndianStructure ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure ctypes.Union ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance) -> byref-object ctypes.c_buffer(??) ctypes.c_byte ctypes.c_char ctypes.c_char_p ctypes.c_double ctypes.c_float ctypes.c_int ctypes.c_int16 ctypes.c_int32 ctypes.c_int64 ctypes.c_int8 ctypes.c_long ctypes.c_longlong ctypes.c_short ctypes.c_size_t ctypes.c_ubyte ctypes.c_uint ctypes.c_uint16 ctypes.c_uint32 ctypes.c_uint64 ctypes.c_uint8 ctypes.c_ulong ctypes.c_ulonglong ctypes.c_ushort ctypes.c_void_p ctypes.c_voidp ctypes.c_wchar ctypes.c_wchar_p ctypes.cast(??) ctypes.cdll ctypes.create_string_buffer(aString) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.macholib ctypes.macholib.dyld ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.count([firstval]) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.ensure_utf8(??) ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.ifilter(function or None, sequence) --> ifilter object ctypes.macholib.dyld.ifilterfalse(function or None, sequence) --> ifilterfalse object ctypes.macholib.dyld.imap(func, *iterables) --> imap object ctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object ctypes.macholib.dyld.izip(iter1 [,iter2 [...]]) --> izip object ctypes.macholib.dyld.os ctypes.macholib.dyld.repeat(element [,times]) -> create an iterator which returns the element ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dylib ctypes.macholib.dylib.DYLIB_RE ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework ctypes.macholib.framework.STRICT_FRAMEWORK_RE ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re ctypes.macholib.framework.test_framework_info(??) ctypes.memmove ctypes.memset ctypes.pointer(??) ctypes.py_object ctypes.pydll ctypes.pythonapi ctypes.resize ctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util ctypes.util.errno ctypes.util.find_library(??) ctypes.util.os ctypes.util.re ctypes.util.sys ctypes.util.tempfile ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate curses.beep curses.can_change_color curses.cbreak curses.color_content curses.color_pair curses.curs_set curses.def_prog_mode curses.def_shell_mode curses.delay_output curses.doupdate curses.echo curses.endwin curses.erasechar curses.error curses.filter curses.flash curses.flushinp curses.getmouse curses.getsyx curses.getwin curses.halfdelay curses.has_colors curses.has_ic curses.has_il curses.has_key curses.has_key.has_key(??) curses.init_color curses.init_pair curses.initscr(??) curses.intrflush curses.is_term_resized curses.isendwin curses.keyname curses.killchar curses.longname curses.meta curses.mouseinterval curses.mousemask curses.napms curses.newpad curses.newwin curses.nl curses.nocbreak curses.noecho curses.nonl curses.noqiflush curses.noraw curses.pair_content curses.pair_number curses.panel curses.panel.bottom_panel curses.panel.error curses.panel.new_panel curses.panel.top_panel curses.panel.update_panels curses.panel.version curses.putp curses.qiflush curses.raw curses.reset_prog_mode curses.reset_shell_mode curses.resetty curses.resize_term curses.resizeterm curses.savetty curses.setsyx curses.setupterm curses.start_color(??) curses.termattrs curses.termname curses.textpad curses.textpad.Textbox(??) curses.textpad.ascii curses.textpad.curses curses.textpad.rectangle(??) curses.tigetflag curses.tigetnum curses.tigetstr curses.tparm curses.typeahead curses.unctrl curses.ungetch curses.ungetmouse curses.use_default_colors curses.use_env curses.version curses.wrapper(??) curses.wrapper.func_closure curses.wrapper.func_code curses.wrapper.func_defaults curses.wrapper.func_dict curses.wrapper.func_doc curses.wrapper.func_globals curses.wrapper.func_name datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta datetime.tzinfo dbhash.bsddb dbhash.error dbhash.open(??) dbhash.sys decimal.ALWAYS_ROUND decimal.BasicContext decimal.Clamped decimal.Context decimal.ConversionSyntax decimal.Decimal decimal.DecimalException decimal.DefaultContext decimal.DivisionByZero decimal.DivisionImpossible decimal.DivisionUndefined decimal.ExtendedContext decimal.Inexact decimal.Inf decimal.Infsign decimal.InvalidContext decimal.InvalidOperation decimal.NEVER_ROUND decimal.NaN decimal.Overflow decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded decimal.Subnormal decimal.Underflow decimal.getcontext(??) decimal.localcontext(??) decimal.negInf decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary. difflib.Differ(??) difflib.HtmlDiff difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dircache.annotate(??) dircache.cache dircache.listdir(??) dircache.opendir(??) dircache.os dircache.reset(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.cmp_op dis.dis(??) dis.disassemble(??) dis.disassemble_string(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.hascompare dis.hasconst dis.hasfree dis.hasjabs dis.hasjrel dis.haslocal dis.hasname dis.opmap dis.opname dis.sys dis.types divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase doctest.DocTestFailure doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.StringIO(??) doctest.Tester(??) doctest.UnexpectedException doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib doctest.inspect doctest.linecache doctest.master doctest.os doctest.pdb doctest.re doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys doctest.tempfile doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback doctest.unittest doctest.warnings dumbdbm.UserDict dumbdbm.error dumbdbm.open(??) dummy_thread.LockType dummy_thread.allocate_lock(??) dummy_thread.error dummy_thread.exit(??) dummy_thread.get_ident(??) dummy_thread.interrupt_main(??) dummy_thread.stack_size(??) dummy_thread.start_new_thread(??) dummy_thread.warnings dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread dummy_threading.Timer(??) dummy_threading.activeCount(??) dummy_threading.currentThread(??) dummy_threading.enumerate(??) dummy_threading.local dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading email.Charset email.Encoders email.Errors email.FeedParser email.Generator email.Header email.Iterators email.LazyImporter email.MIMEAudio email.MIMEBase email.MIMEImage email.MIMEMessage email.MIMEMultipart email.MIMENonMultipart email.MIMEText email.Message email.Parser email.Utils email.base64MIME email.base64mime email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64 email.base64mime.b2a_base64 email.base64mime.base64_len(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.encode(??) email.base64mime.encodestring(??) email.base64mime.fix_eols(??) email.base64mime.header_encode(??) email.base64mime.re email.charset email.charset.ALIASES email.charset.BASE64 email.charset.CHARSETS email.charset.CODEC_MAP email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.MISC_LEN email.charset.QP email.charset.SHORTEST email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email email.charset.encode_7or8bit(??) email.charset.errors email.email email.encoders email.encoders.base64 email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors email.errors.BoundaryError email.errors.CharsetError email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderParseError email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError email.errors.MessageParseError email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MultipartConversionError email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.feedparser email.feedparser.BufferedSubFile email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE email.feedparser.NLCRE_bol email.feedparser.NLCRE_crack email.feedparser.NLCRE_eol email.feedparser.NeedMoreData email.feedparser.errors email.feedparser.headerRE email.feedparser.message email.feedparser.re email.generator email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.Header(??) email.generator.NL email.generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.generator.UNDERSCORE email.generator.fcre email.generator.random email.generator.re email.generator.sys email.generator.time email.generator.warnings email.header email.header.Charset(??) email.header.Header(??) email.header.HeaderParseError email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.UEMPTYSTRING email.header.USASCII email.header.USPACE email.header.UTF8 email.header.binascii email.header.decode_header(??) email.header.ecre email.header.email email.header.fcre email.header.make_header(??) email.header.re email.importer email.iterators email.iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.iterators.body_line_iterator(??) email.iterators.sys email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message email.message.Message(??) email.message.SEMISPACE email.message.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.message.binascii email.message.email email.message.errors email.message.paramre email.message.re email.message.tspecials email.message.utils email.message.uu email.message.warnings email.message_from_file(??) email.message_from_string(??) email.mime email.mime.Audio email.mime.Base email.mime.Image email.mime.Message email.mime.Multipart email.mime.NonMultipart email.mime.Text email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders email.mime.audio email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.mime.audio.encoders email.mime.audio.sndhdr email.mime.base email.mime.base.MIMEBase(??) email.mime.base.message email.mime.image email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders email.mime.image.imghdr email.mime.message email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message email.mime.multipart email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors email.mime.text email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.mime.text.encode_7or8bit(??) email.parser email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Message(??) email.parser.Parser(??) email.parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.parser.warnings email.quopriMIME email.quoprimime email.quoprimime.CRLF email.quoprimime.MISC_LEN email.quoprimime.NL email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_quopri_check(??) email.quoprimime.body_quopri_len(??) email.quoprimime.bqre email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.encode(??) email.quoprimime.encodestring(??) email.quoprimime.fix_eols(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_quopri_check(??) email.quoprimime.header_quopri_len(??) email.quoprimime.hexdigits email.quoprimime.hqre email.quoprimime.quote(??) email.quoprimime.re email.quoprimime.unquote(??) email.sys email.utils email.utils.COMMASPACE email.utils.CRLF email.utils.EMPTYSTRING email.utils.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.utils.TICK email.utils.UEMPTYSTRING email.utils.base64 email.utils.collapse_rfc2231_value(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre email.utils.encode_rfc2231(??) email.utils.escapesre email.utils.fix_eols(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random email.utils.re email.utils.rfc2231_continuation email.utils.socket email.utils.specialsre email.utils.time email.utils.unquote(??) email.utils.urllib email.utils.warnings enumerate(iterable) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EADV errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EBADE errno.EBADF errno.EBADFD errno.EBADMSG errno.EBADR errno.EBADRQC errno.EBADSLT errno.EBFONT errno.EBUSY errno.ECHILD errno.ECHRNG errno.ECOMM errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDEADLOCK errno.EDESTADDRREQ errno.EDOM errno.EDOTDOT errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.EISNAM errno.EL2HLT errno.EL2NSYNC errno.EL3HLT errno.EL3RST errno.ELIBACC errno.ELIBBAD errno.ELIBEXEC errno.ELIBMAX errno.ELIBSCN errno.ELNRNG errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENAVAIL errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOANO errno.ENOBUFS errno.ENOCSI errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENONET errno.ENOPKG errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTNAM errno.ENOTSOCK errno.ENOTTY errno.ENOTUNIQ errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.ERANGE errno.EREMCHG errno.EREMOTE errno.EREMOTEIO errno.ERESTART errno.EROFS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESRMNT errno.ESTALE errno.ESTRPIPE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUCLEAN errno.EUNATCH errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.EXFULL errno.errorcode eval(source[, globals[, locals]]) -> value exceptions.ArithmeticError exceptions.AssertionError exceptions.AttributeError exceptions.BaseException exceptions.DeprecationWarning exceptions.EOFError exceptions.EnvironmentError exceptions.Exception exceptions.FloatingPointError exceptions.FutureWarning exceptions.GeneratorExit exceptions.IOError exceptions.ImportError exceptions.ImportWarning exceptions.IndentationError exceptions.IndexError exceptions.KeyError exceptions.KeyboardInterrupt exceptions.LookupError exceptions.MemoryError exceptions.NameError exceptions.NotImplementedError exceptions.OSError exceptions.OverflowError exceptions.PendingDeprecationWarning exceptions.ReferenceError exceptions.RuntimeError exceptions.RuntimeWarning exceptions.StandardError exceptions.StopIteration exceptions.SyntaxError exceptions.SyntaxWarning exceptions.SystemError exceptions.SystemExit exceptions.TabError exceptions.TypeError exceptions.UnboundLocalError exceptions.UnicodeDecodeError exceptions.UnicodeEncodeError exceptions.UnicodeError exceptions.UnicodeTranslateError exceptions.UnicodeWarning exceptions.UserWarning exceptions.ValueError exceptions.Warning exceptions.ZeroDivisionError execfile(filename[, globals[, locals]]) exit fcntl.DN_ACCESS fcntl.DN_ATTRIB fcntl.DN_CREATE fcntl.DN_DELETE fcntl.DN_MODIFY fcntl.DN_MULTISHOT fcntl.DN_RENAME fcntl.FD_CLOEXEC fcntl.F_DUPFD fcntl.F_EXLCK fcntl.F_GETFD fcntl.F_GETFL fcntl.F_GETLEASE fcntl.F_GETLK fcntl.F_GETLK64 fcntl.F_GETOWN fcntl.F_GETSIG fcntl.F_NOTIFY fcntl.F_RDLCK fcntl.F_SETFD fcntl.F_SETFL fcntl.F_SETLEASE fcntl.F_SETLK fcntl.F_SETLK64 fcntl.F_SETLKW fcntl.F_SETLKW64 fcntl.F_SETOWN fcntl.F_SETSIG fcntl.F_SHLCK fcntl.F_UNLCK fcntl.F_WRLCK fcntl.I_ATMARK fcntl.I_CANPUT fcntl.I_CKBAND fcntl.I_FDINSERT fcntl.I_FIND fcntl.I_FLUSH fcntl.I_FLUSHBAND fcntl.I_GETBAND fcntl.I_GETCLTIME fcntl.I_GETSIG fcntl.I_GRDOPT fcntl.I_GWROPT fcntl.I_LINK fcntl.I_LIST fcntl.I_LOOK fcntl.I_NREAD fcntl.I_PEEK fcntl.I_PLINK fcntl.I_POP fcntl.I_PUNLINK fcntl.I_PUSH fcntl.I_RECVFD fcntl.I_SENDFD fcntl.I_SETCLTIME fcntl.I_SETSIG fcntl.I_SRDOPT fcntl.I_STR fcntl.I_SWROPT fcntl.I_UNLINK fcntl.LOCK_EX fcntl.LOCK_MAND fcntl.LOCK_NB fcntl.LOCK_READ fcntl.LOCK_RW fcntl.LOCK_SH fcntl.LOCK_UN fcntl.LOCK_WRITE fcntl.fcntl(fd, opt, [arg]) fcntl.flock(fd, operation) fcntl.ioctl(fd, opt[, arg[, mutate_flag]]) fcntl.lockf (fd, operation, length=0, start=0, whence=0) file(name[, mode[, buffering]]) -> file object filecmp.BUFSIZE filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.ifilter(function or None, sequence) --> ifilter object filecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object filecmp.imap(func, *iterables) --> imap object filecmp.izip(iter1 [,iter2 [...]]) --> izip object filecmp.os filecmp.stat filecmp.warnings fileinput.DEFAULT_BUFSIZE fileinput.FileInput(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input([files[, inplace[, backup[, mode[, openhook]]]]]) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os fileinput.sys filter(function or None, sequence) -> list, tuple, or string float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.re fnmatch.translate(??) formatter.AS_IS formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys formatter.test(??) fpformat.NotANumber fpformat.decoder fpformat.extract(??) fpformat.fix(??) fpformat.re fpformat.roundfrac(??) fpformat.sci(??) fpformat.test(??) fpformat.unexpo(??) frozenset(iterable) --> frozenset object ftplib.CRLF ftplib.Error ftplib.FTP(??) ftplib.FTP_PORT ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors ftplib.error_perm ftplib.error_proto ftplib.error_reply ftplib.error_temp ftplib.ftpcp(??) ftplib.os ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket ftplib.sys ftplib.test(??) functools.WRAPPER_ASSIGNMENTS functools.WRAPPER_UPDATES functools.partial(func, *args, **keywords) - new function with partial application functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_INSTANCES gc.DEBUG_LEAK gc.DEBUG_OBJECTS gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None gdbm.error gdbm.open(filename, [flags, [mode]]) -> dbm_object gdbm.open_flags getattr(object, name[, default]) -> value getopt.GetoptError getopt.do_longs(??) getopt.do_shorts(??) getopt.error getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os getopt.short_has_arg(??) getpass.default_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.sys getpass.termios getpass.unix_getpass(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale gettext.ngettext(??) gettext.os gettext.re gettext.struct gettext.sys gettext.test(??) gettext.textdomain(??) gettext.translation(??) glob.fnmatch glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check glob.os glob.re globals() -> dictionary gopherlib.A_BINARY gopherlib.A_CALENDAR gopherlib.A_CSO gopherlib.A_DUPLICATE gopherlib.A_ERROR gopherlib.A_EVENT gopherlib.A_GIF gopherlib.A_HTML gopherlib.A_IMAGE gopherlib.A_INDEX gopherlib.A_MACBINHEX gopherlib.A_MENU gopherlib.A_MIME gopherlib.A_PCBINHEX gopherlib.A_PLUS_IMAGE gopherlib.A_PLUS_MOVIE gopherlib.A_PLUS_SOUND gopherlib.A_QUERY gopherlib.A_SOUND gopherlib.A_TELNET gopherlib.A_TEXT gopherlib.A_TN3270 gopherlib.A_UUENCODED gopherlib.A_WHOIS gopherlib.A_WWW gopherlib.CRLF gopherlib.DEF_HOST gopherlib.DEF_PORT gopherlib.DEF_SELECTOR gopherlib.TAB gopherlib.get_alt_binary(??) gopherlib.get_alt_textfile(??) gopherlib.get_binary(??) gopherlib.get_directory(??) gopherlib.get_textfile(??) gopherlib.path_to_datatype_name(??) gopherlib.path_to_selector(??) gopherlib.send_query(??) gopherlib.send_selector(??) gopherlib.test(??) gopherlib.type_to_name(??) gopherlib.warnings grp.getgrall() -> list of tuples grp.getgrgid(id) -> tuple grp.getgrnam(name) -> tuple grp.struct_group gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.LOWU32(??) gzip.READ gzip.U32(??) gzip.WRITE gzip.open(??) gzip.read32(??) gzip.struct gzip.sys gzip.time gzip.write32(??) gzip.write32u(??) gzip.zlib hasattr(object, name) -> bool hash(object) -> integer hashlib.md5 hashlib.new(name, string='') - Return a new hashing object using the named algorithm; hashlib.sha1 hashlib.sha224 hashlib.sha256 hashlib.sha384 hashlib.sha512 heapq.bisect heapq.count([firstval]) --> count object heapq.heapify heapq.heappop heapq.heappush heapq.heapreplace heapq.imap(func, *iterables) --> imap object heapq.islice(iterable, [start,] stop [, step]) --> islice object heapq.itemgetter(item, ...) --> itemgetter object heapq.izip(iter1 [,iter2 [...]]) --> izip object heapq.neg(a) -- Same as -a. heapq.nlargest(??) heapq.nsmallest(??) heapq.repeat(element [,times]) -> create an iterator which returns the element heapq.tee(iterable, n=2) --> tuple of n independent iterators. help hex(number) -> string hmac.HMAC(??) hmac.digest_size hmac.new(??) hotshot.Profile(??) hotshot.ProfilerError hotshot.log hotshot.log.ENTER hotshot.log.EXIT hotshot.log.LINE hotshot.log.LogReader(??) hotshot.log.WHAT_ADD_INFO hotshot.log.WHAT_DEFINE_FILE hotshot.log.WHAT_DEFINE_FUNC hotshot.log.WHAT_ENTER hotshot.log.WHAT_EXIT hotshot.log.WHAT_LINENO hotshot.log.os hotshot.log.parser hotshot.log.symbol hotshot.log.sys hotshot.stats hotshot.stats.ENTER hotshot.stats.EXIT hotshot.stats.FakeCode(??) hotshot.stats.FakeFrame(??) hotshot.stats.Profile(??) hotshot.stats.StatsLoader(??) hotshot.stats.hotshot hotshot.stats.load(??) hotshot.stats.profile hotshot.stats.pstats hotshot.stones hotshot.stones.errno hotshot.stones.hotshot hotshot.stones.main(??) hotshot.stones.os hotshot.stones.sys hotshot.stones.test htmlentitydefs.codepoint2name htmlentitydefs.entitydefs htmlentitydefs.name2codepoint htmllib.AS_IS htmllib.HTMLParseError htmllib.HTMLParser(??) htmllib.sgmllib htmllib.test(??) httplib.ACCEPTED httplib.BAD_GATEWAY httplib.BAD_REQUEST httplib.BadStatusLine httplib.CONFLICT httplib.CONTINUE httplib.CREATED httplib.CannotSendHeader httplib.CannotSendRequest httplib.EXPECTATION_FAILED httplib.FAILED_DEPENDENCY httplib.FORBIDDEN httplib.FOUND httplib.FakeSocket(??) httplib.GATEWAY_TIMEOUT httplib.GONE httplib.HTTP(??) httplib.HTTPConnection(??) httplib.HTTPException httplib.HTTPMessage(??) httplib.HTTPResponse(??) httplib.HTTPS(??) httplib.HTTPSConnection(??) httplib.HTTPS_PORT httplib.HTTP_PORT httplib.HTTP_VERSION_NOT_SUPPORTED httplib.IM_USED httplib.INSUFFICIENT_STORAGE httplib.INTERNAL_SERVER_ERROR httplib.ImproperConnectionState httplib.IncompleteRead httplib.InvalidURL httplib.LENGTH_REQUIRED httplib.LOCKED httplib.LineAndFileWrapper(??) httplib.MAXAMOUNT httplib.METHOD_NOT_ALLOWED httplib.MOVED_PERMANENTLY httplib.MULTIPLE_CHOICES httplib.MULTI_STATUS httplib.NON_AUTHORITATIVE_INFORMATION httplib.NOT_ACCEPTABLE httplib.NOT_EXTENDED httplib.NOT_FOUND httplib.NOT_IMPLEMENTED httplib.NOT_MODIFIED httplib.NO_CONTENT httplib.NotConnected httplib.OK httplib.PARTIAL_CONTENT httplib.PAYMENT_REQUIRED httplib.PRECONDITION_FAILED httplib.PROCESSING httplib.PROXY_AUTHENTICATION_REQUIRED httplib.REQUESTED_RANGE_NOT_SATISFIABLE httplib.REQUEST_ENTITY_TOO_LARGE httplib.REQUEST_TIMEOUT httplib.REQUEST_URI_TOO_LONG httplib.RESET_CONTENT httplib.ResponseNotReady httplib.SEE_OTHER httplib.SERVICE_UNAVAILABLE httplib.SSLFile(??) httplib.SWITCHING_PROTOCOLS httplib.SharedSocket(??) httplib.SharedSocketClient(??) httplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing httplib.TEMPORARY_REDIRECT httplib.UNAUTHORIZED httplib.UNPROCESSABLE_ENTITY httplib.UNSUPPORTED_MEDIA_TYPE httplib.UPGRADE_REQUIRED httplib.USE_PROXY httplib.UnimplementedFileMode httplib.UnknownProtocol httplib.UnknownTransferEncoding httplib.errno httplib.error httplib.mimetools httplib.responses httplib.socket httplib.test(??) httplib.urlsplit(??) id(object) -> integer ihooks.BUILTIN_MODULE ihooks.BasicModuleImporter(??) ihooks.BasicModuleLoader(??) ihooks.C_BUILTIN ihooks.C_EXTENSION ihooks.FROZEN_MODULE ihooks.FancyModuleLoader(??) ihooks.Hooks(??) ihooks.ModuleImporter(??) ihooks.ModuleLoader(??) ihooks.PKG_DIRECTORY ihooks.PY_COMPILED ihooks.PY_FROZEN ihooks.PY_SOURCE ihooks.VERBOSE ihooks.current_importer ihooks.default_importer ihooks.imp ihooks.install(??) ihooks.os ihooks.sys ihooks.uninstall(??) imaplib.AllowedVersions imaplib.CRLF imaplib.Commands imaplib.Continuation imaplib.Debug imaplib.Flags imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate imaplib.Internaldate2tuple(??) imaplib.Literal imaplib.MapCRLF imaplib.Mon2num imaplib.ParseFlags(??) imaplib.Response_code imaplib.Time2Internaldate(??) imaplib.Untagged_response imaplib.Untagged_status imaplib.binascii imaplib.os imaplib.random imaplib.re imaplib.socket imaplib.sys imaplib.time imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exif(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.acquire_lock() -> None imp.find_module(name, [path]) -> (file, filename, (suffix, mode, type)) imp.get_frozen_object imp.get_magic() -> string imp.get_suffixes() -> [(suffix, mode, type), ...] imp.init_builtin imp.init_frozen imp.is_builtin imp.is_frozen imp.load_compiled imp.load_dynamic imp.load_module(name, file, filename, (suffix, mode, type)) -> module imp.load_package imp.load_source imp.lock_held() -> boolean imp.new_module(name) -> module imp.release_lock() -> None imputil.BuiltinImporter(??) imputil.DynLoadSuffixImporter(??) imputil.ImportManager(??) imputil.Importer(??) imputil.imp imputil.marshal imputil.py_suffix_importer(??) imputil.struct imputil.sys input([prompt]) -> value inspect.BlockFinder(??) inspect.CO_NEWLOCALS inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.EndOfBlock inspect.attrgetter(attr, ...) --> attrgetter object inspect.classify_class_attrs(??) inspect.currentframe inspect.dis inspect.findsource(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getblock(??) inspect.getclasstree(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.imp inspect.indentsize(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.joinseq(??) inspect.linecache inspect.modulesbyfile inspect.os inspect.re inspect.stack(??) inspect.string inspect.strseq(??) inspect.sys inspect.tokenize inspect.trace(??) inspect.types inspect.walktree(??) int(x[, base]) -> integer intern(string) -> string isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(collection) -> iterator itertools.chain(*iterables) --> chain object itertools.count([firstval]) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.ifilter(function or None, sequence) --> ifilter object itertools.ifilterfalse(function or None, sequence) --> ifilterfalse object itertools.imap(func, *iterables) --> imap object itertools.islice(iterable, [start,] stop [, step]) --> islice object itertools.izip(iter1 [,iter2 [...]]) --> izip object itertools.repeat(element [,times]) -> create an iterator which returns the element itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. keyword.iskeyword keyword.kwlist keyword.main(??) len(object) -> integer license linecache.cache linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os linecache.sys linecache.updatecache(??) linuxaudiodev.AFMT_A_LAW linuxaudiodev.AFMT_MU_LAW linuxaudiodev.AFMT_S16_BE linuxaudiodev.AFMT_S16_LE linuxaudiodev.AFMT_S16_NE linuxaudiodev.AFMT_S8 linuxaudiodev.AFMT_U16_BE linuxaudiodev.AFMT_U16_LE linuxaudiodev.AFMT_U8 linuxaudiodev.error linuxaudiodev.open list() -> new list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.bind_textdomain_codeset(domain, codeset) -> string locale.bindtextdomain(domain, dir) -> string locale.currency(??) locale.dcgettext(domain, msg, category) -> string locale.dgettext(domain, msg) -> string locale.encodings locale.format(??) locale.format_string(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.gettext(msg) -> string locale.locale_alias locale.locale_encoding_alias locale.localeconv locale.nl_langinfo(key) -> string locale.normalize(??) locale.operator locale.re locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll locale.strxfrm locale.sys locale.textdomain(domain) -> string locale.windows_locale locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.Manager(??) logging.NOTSET logging.PlaceHolder(??) logging.RootLogger(??) logging.StreamHandler(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit logging.basicConfig(??) logging.cStringIO logging.codecs logging.config logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.fileConfig(??) logging.config.listen(??) logging.config.logging logging.config.os logging.config.socket logging.config.stopListening(??) logging.config.string logging.config.struct logging.config.sys logging.config.thread logging.config.threading logging.config.traceback logging.config.types logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.cPickle logging.handlers.codecs logging.handlers.glob logging.handlers.logging logging.handlers.os logging.handlers.socket logging.handlers.string logging.handlers.struct logging.handlers.sys logging.handlers.time logging.handlers.types logging.info(??) logging.log(??) logging.logProcesses logging.logThreads logging.makeLogRecord(??) logging.os logging.raiseExceptions logging.root logging.setLoggerClass(??) logging.shutdown(??) logging.string logging.sys logging.thread logging.threading logging.time logging.traceback logging.types logging.warn(??) logging.warning(??) long(x[, base]) -> integer macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFREG macpath.S_IFSOCK macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(??) macpath.S_ISCHR(??) macpath.S_ISDIR(??) macpath.S_ISFIFO(??) macpath.S_ISGID macpath.S_ISLNK(??) macpath.S_ISREG(??) macpath.S_ISSOCK(??) macpath.S_ISUID macpath.S_ISVTX macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.abspath(??) macpath.altsep macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error macpath.normcase(??) macpath.normpath(??) macpath.os macpath.pardir macpath.pathsep macpath.realpath(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames macpath.walk(??) macurl2path.os macurl2path.pathname2url(??) macurl2path.test(??) macurl2path.url2pathname(??) macurl2path.urllib mailbox.Babyl(??) mailbox.BabylMailbox(??) mailbox.BabylMessage(??) mailbox.Error mailbox.ExternalClashError mailbox.FormatError mailbox.MH(??) mailbox.MHMailbox(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.MmdfMailbox(??) mailbox.NoSuchMailboxError mailbox.NotEmptyError mailbox.PortableUnixMailbox(??) mailbox.StringIO mailbox.UnixMailbox(??) mailbox.calendar mailbox.copy mailbox.email mailbox.errno mailbox.fcntl mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os mailbox.rfc822 mailbox.socket mailbox.sys mailbox.time mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(function, sequence[, sequence, ...]) -> list markupbase.ParserBase(??) marshal.dump marshal.dumps marshal.load marshal.loads marshal.version math.acos(x) math.asin(x) math.atan(x) math.atan2(y, x) math.ceil(x) math.cos(x) math.cosh(x) math.degrees(x) -> converts angle x from radians to degrees math.e math.exp(x) math.fabs(x) math.floor(x) math.fmod(x,y) math.frexp(x) math.hypot(x,y) math.ldexp(x, i) -> x * (2**i) math.log(x[, base]) -> the logarithm of x to the given base. math.log10(x) -> the base 10 logarithm of x. math.modf(x) math.pi math.pow(x,y) math.radians(x) -> converts angle x from degrees to radians math.sin(x) math.sinh(x) math.sqrt(x) math.tan(x) math.tanh(x) max(iterable[, key=func]) -> value md5.blocksize md5.digest_size md5.md5 md5.new mhlib.Error mhlib.FOLDER_PROTECT mhlib.Folder(??) mhlib.IntSet(??) mhlib.MH(??) mhlib.MH_PROFILE mhlib.MH_SEQUENCES mhlib.Message(??) mhlib.PATH mhlib.SubMessage(??) mhlib.bisect mhlib.isnumeric(??) mhlib.mimetools mhlib.multifile mhlib.numericprog mhlib.os mhlib.pickline(??) mhlib.re mhlib.shutil mhlib.sys mhlib.test(??) mhlib.updateline(??) mimetools.Message(??) mimetools.choose_boundary(??) mimetools.copybinary(??) mimetools.copyliteral(??) mimetools.decode(??) mimetools.decodetab mimetools.encode(??) mimetools.encodetab mimetools.os mimetools.pipethrough(??) mimetools.pipeto(??) mimetools.rfc822 mimetools.tempfile mimetools.uudecode_pipe mimetypes.MimeTypes(??) mimetypes.add_type mimetypes.common_types mimetypes.encodings_map mimetypes.guess_all_extensions mimetypes.guess_extension mimetypes.guess_type mimetypes.init(??) mimetypes.inited mimetypes.knownfiles mimetypes.os mimetypes.posixpath mimetypes.read_mime_types(??) mimetypes.suffix_map mimetypes.types_map mimetypes.urllib mimify.CHARSET mimify.File(??) mimify.HeaderFile(??) mimify.MAXLEN mimify.QUOTE mimify.base64_re mimify.chrset mimify.cte mimify.he mimify.iso_char mimify.mime_char mimify.mime_code mimify.mime_decode(??) mimify.mime_decode_header(??) mimify.mime_encode(??) mimify.mime_encode_header(??) mimify.mime_head mimify.mime_header mimify.mime_header_char mimify.mimify(??) mimify.mimify_part(??) mimify.mp mimify.mv mimify.qp mimify.re mimify.repl mimify.sys mimify.unmimify(??) mimify.unmimify_part(??) min(iterable[, key=func]) -> value mmap.ACCESS_COPY mmap.ACCESS_READ mmap.ACCESS_WRITE mmap.MAP_ANON mmap.MAP_ANONYMOUS mmap.MAP_DENYWRITE mmap.MAP_EXECUTABLE mmap.MAP_PRIVATE mmap.MAP_SHARED mmap.PAGESIZE mmap.PROT_EXEC mmap.PROT_READ mmap.PROT_WRITE mmap.error mmap.mmap modulefinder.AddPackagePath(??) modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.READ_MODE modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS modulefinder.dis modulefinder.imp modulefinder.marshal modulefinder.new modulefinder.os modulefinder.packagePathMap modulefinder.replacePackageMap modulefinder.sys modulefinder.test(??) multifile.Error multifile.MultiFile(??) mutex.deque(iterable) --> deque object mutex.mutex(??) netrc.NetrcParseError netrc.netrc(??) netrc.os netrc.shlex new.classobj(name, bases, dict) new.code new.function(code, globals[, name[, argdefs[, closure]]]) new.instance(class[, dict]) new.instancemethod(function, instance, class) new.module(name[, doc]) nis.cat(map, domain = defaultdomain) nis.error nis.get_default_domain() -> str nis.maps(domain = defaultdomain) nis.match(key, map, domain = defaultdomain) nntplib.CRLF nntplib.LONGRESP nntplib.NNTP(??) nntplib.NNTPDataError nntplib.NNTPError nntplib.NNTPPermanentError nntplib.NNTPProtocolError nntplib.NNTPReplyError nntplib.NNTPTemporaryError nntplib.NNTP_PORT nntplib.error_data nntplib.error_perm nntplib.error_proto nntplib.error_reply nntplib.error_temp nntplib.re nntplib.socket ntpath.abspath(??) ntpath.altsep ntpath.basename(??) ntpath.commonprefix(??) ntpath.curdir ntpath.defpath ntpath.devnull ntpath.dirname(??) ntpath.exists(??) ntpath.expanduser(??) ntpath.expandvars(??) ntpath.extsep ntpath.getatime(??) ntpath.getctime(??) ntpath.getmtime(??) ntpath.getsize(??) ntpath.isabs(??) ntpath.isdir(??) ntpath.isfile(??) ntpath.islink(??) ntpath.ismount(??) ntpath.join(??) ntpath.lexists(??) ntpath.normcase(??) ntpath.normpath(??) ntpath.os ntpath.pardir ntpath.pathsep ntpath.realpath(??) ntpath.sep ntpath.split(??) ntpath.splitdrive(??) ntpath.splitext(??) ntpath.splitunc(??) ntpath.stat ntpath.supports_unicode_filenames ntpath.sys ntpath.walk(??) nturl2path.pathname2url(??) nturl2path.url2pathname(??) object oct(number) -> string opcode.EXTENDED_ARG opcode.HAVE_ARGUMENT opcode.cmp_op opcode.hascompare opcode.hasconst opcode.hasfree opcode.hasjabs opcode.hasjrel opcode.haslocal opcode.hasname opcode.opmap opcode.opname open(name[, mode[, buffering]]) -> file object operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.delslice(a, b, c) -- Same as del a[b:c]. operator.div(a, b) -- Same as a / b when __future__.division is not in effect. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.getslice(a, b, c) -- Same as a[b:c]. operator.gt(a, b) -- Same as a>b. operator.iadd(a, b) -- Same as a += b. operator.iand(a, b) -- Same as a &= b. operator.iconcat(a, b) -- Same as a += b, for a and b sequences. operator.idiv(a, b) -- Same as a /= b when __future__.division is not in effect. operator.ifloordiv(a, b) -- Same as a //= b. operator.ilshift(a, b) -- Same as a <<= b. operator.imod(a, b) -- Same as a %= b. operator.imul(a, b) -- Same as a *= b. operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(a, b) -- Same as a |= b. operator.ipow(a, b) -- Same as a **= b. operator.irepeat(a, b) -- Same as a *= b, where a is a sequence, and b is an integer. operator.irshift(a, b) -- Same as a >>= b. operator.isCallable(a) -- Same as callable(a). operator.isMappingType(a) -- Return True if a has a mapping type, False otherwise. operator.isNumberType(a) -- Return True if a has a numeric type, False otherwise. operator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise. operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(a, b) -- Same as a -= b. operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(a, b) -- Same as a /= b when __future__.division is in effect. operator.ixor(a, b) -- Same as a ^= b. operator.le(a, b) -- Same as a<=b. operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a> b. operator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated). operator.setitem(a, b, c) -- Same as a[b] = c. operator.setslice(a, b, c, d) -- Same as a[b:c] = d. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b when __future__.division is in effect. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError optparse.BadOptionError optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT optparse.OptParseError optparse.Option(??) optparse.OptionConflictError optparse.OptionContainer(??) optparse.OptionError optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.isbasestring(??) optparse.make_option(??) optparse.os optparse.sys optparse.textwrap optparse.types ord(c) -> integer os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_OK os.NGROUPS_MAX os.O_APPEND os.O_CREAT os.O_DIRECT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_LARGEFILE os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_RSYNC os.O_SYNC os.O_TRUNC os.O_WRONLY os.P_NOWAIT os.P_NOWAITO os.P_WAIT os.R_OK os.SEEK_CUR os.SEEK_END os.SEEK_SET os.TMP_MAX os.UserDict os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(path, mode) -> True if granted, False otherwise os.altsep os.chdir(path) os.chmod(path, mode) os.chown(path, uid, gid) os.chroot(path) os.close(fd) os.confstr(name) -> string os.confstr_names os.ctermid() -> string os.curdir os.defpath os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ os.error os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(??) os.execvpe(file, args, env) os.extsep os.fchdir(fildes) os.fdatasync(fildes) os.fdopen(fd [, mode='r' [, bufsize]]) -> file_object os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.getcwd() -> path os.getcwdu() -> path os.getegid() -> egid os.getenv(??) os.geteuid() -> euid os.getgid() -> gid os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getsid(pid) -> sid os.getuid() -> uid os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchown(path, uid, gid) os.linesep os.link(src, dst) os.listdir(path) -> list_of_strings os.lseek(fd, pos, how) -> newpos os.lstat(path) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0777]) os.minor(device) -> minor number os.mkdir(path [, mode=0777]) os.mkfifo(filename [, mode=0666]) os.mknod(filename [, mode=0600, device]) os.name os.nice(inc) -> new_priority os.open(filename, flag [, mode=0777]) -> fd os.openpty() -> (master_fd, slave_fd) os.pardir os.path os.pathconf(path, name) -> integer os.pathconf_names os.pathsep os.pipe() -> (read_end, write_end) os.popen(command [, mode='r' [, bufsize]]) -> pipe os.popen2(??) os.popen3(??) os.popen4(??) os.putenv(key, value) os.read(fd, buffersize) -> string os.readlink(path) -> path os.remove(path) os.removedirs(path) os.rename(old, new) os.renames(old, new) os.rmdir(path) os.sep os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setregid(rgid, egid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.stat(path) -> stat result os.stat_float_times([newval]) -> oldval os.stat_result os.statvfs(path) -> statvfs result os.statvfs_result os.strerror(code) -> string os.symlink(src, dst) os.sys os.sysconf(name) -> integer os.sysconf_names os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.tempnam([dir[, prefix]]) -> string os.times() -> (utime, stime, cutime, cstime, elapsed_time) os.tmpfile() -> file object os.tmpnam() -> string os.ttyname(fd) -> string os.umask(new_mask) -> old_mask os.uname() -> (sysname, nodename, release, version, machine) os.unlink(path) os.unsetenv(key) os.urandom(n) -> str os.utime(path, (atime, mtime)) os.wait() -> (pid, status) os.wait3(options) -> (pid, status, rusage) os.wait4(pid, options) -> (pid, status, rusage) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, string) -> byteswritten os2emxpath.abspath(??) os2emxpath.altsep os2emxpath.basename(??) os2emxpath.commonprefix(??) os2emxpath.curdir os2emxpath.defpath os2emxpath.devnull os2emxpath.dirname(??) os2emxpath.exists(??) os2emxpath.expanduser(??) os2emxpath.expandvars(??) os2emxpath.extsep os2emxpath.getatime(??) os2emxpath.getctime(??) os2emxpath.getmtime(??) os2emxpath.getsize(??) os2emxpath.isabs(??) os2emxpath.isdir(??) os2emxpath.isfile(??) os2emxpath.islink(??) os2emxpath.ismount(??) os2emxpath.join(??) os2emxpath.lexists(??) os2emxpath.normcase(??) os2emxpath.normpath(??) os2emxpath.os os2emxpath.pardir os2emxpath.pathsep os2emxpath.realpath(??) os2emxpath.sep os2emxpath.split(??) os2emxpath.splitdrive(??) os2emxpath.splitext(??) os2emxpath.splitunc(??) os2emxpath.stat os2emxpath.supports_unicode_filenames os2emxpath.walk(??) ossaudiodev.AFMT_AC3 ossaudiodev.AFMT_A_LAW ossaudiodev.AFMT_IMA_ADPCM ossaudiodev.AFMT_MPEG ossaudiodev.AFMT_MU_LAW ossaudiodev.AFMT_QUERY ossaudiodev.AFMT_S16_BE ossaudiodev.AFMT_S16_LE ossaudiodev.AFMT_S16_NE ossaudiodev.AFMT_S8 ossaudiodev.AFMT_U16_BE ossaudiodev.AFMT_U16_LE ossaudiodev.AFMT_U8 ossaudiodev.OSSAudioError ossaudiodev.SNDCTL_COPR_HALT ossaudiodev.SNDCTL_COPR_LOAD ossaudiodev.SNDCTL_COPR_RCODE ossaudiodev.SNDCTL_COPR_RCVMSG ossaudiodev.SNDCTL_COPR_RDATA ossaudiodev.SNDCTL_COPR_RESET ossaudiodev.SNDCTL_COPR_RUN ossaudiodev.SNDCTL_COPR_SENDMSG ossaudiodev.SNDCTL_COPR_WCODE ossaudiodev.SNDCTL_COPR_WDATA ossaudiodev.SNDCTL_DSP_BIND_CHANNEL ossaudiodev.SNDCTL_DSP_CHANNELS ossaudiodev.SNDCTL_DSP_GETBLKSIZE ossaudiodev.SNDCTL_DSP_GETCAPS ossaudiodev.SNDCTL_DSP_GETCHANNELMASK ossaudiodev.SNDCTL_DSP_GETFMTS ossaudiodev.SNDCTL_DSP_GETIPTR ossaudiodev.SNDCTL_DSP_GETISPACE ossaudiodev.SNDCTL_DSP_GETODELAY ossaudiodev.SNDCTL_DSP_GETOPTR ossaudiodev.SNDCTL_DSP_GETOSPACE ossaudiodev.SNDCTL_DSP_GETSPDIF ossaudiodev.SNDCTL_DSP_GETTRIGGER ossaudiodev.SNDCTL_DSP_MAPINBUF ossaudiodev.SNDCTL_DSP_MAPOUTBUF ossaudiodev.SNDCTL_DSP_NONBLOCK ossaudiodev.SNDCTL_DSP_POST ossaudiodev.SNDCTL_DSP_PROFILE ossaudiodev.SNDCTL_DSP_RESET ossaudiodev.SNDCTL_DSP_SAMPLESIZE ossaudiodev.SNDCTL_DSP_SETDUPLEX ossaudiodev.SNDCTL_DSP_SETFMT ossaudiodev.SNDCTL_DSP_SETFRAGMENT ossaudiodev.SNDCTL_DSP_SETSPDIF ossaudiodev.SNDCTL_DSP_SETSYNCRO ossaudiodev.SNDCTL_DSP_SETTRIGGER ossaudiodev.SNDCTL_DSP_SPEED ossaudiodev.SNDCTL_DSP_STEREO ossaudiodev.SNDCTL_DSP_SUBDIVIDE ossaudiodev.SNDCTL_DSP_SYNC ossaudiodev.SNDCTL_FM_4OP_ENABLE ossaudiodev.SNDCTL_FM_LOAD_INSTR ossaudiodev.SNDCTL_MIDI_INFO ossaudiodev.SNDCTL_MIDI_MPUCMD ossaudiodev.SNDCTL_MIDI_MPUMODE ossaudiodev.SNDCTL_MIDI_PRETIME ossaudiodev.SNDCTL_SEQ_CTRLRATE ossaudiodev.SNDCTL_SEQ_GETINCOUNT ossaudiodev.SNDCTL_SEQ_GETOUTCOUNT ossaudiodev.SNDCTL_SEQ_GETTIME ossaudiodev.SNDCTL_SEQ_NRMIDIS ossaudiodev.SNDCTL_SEQ_NRSYNTHS ossaudiodev.SNDCTL_SEQ_OUTOFBAND ossaudiodev.SNDCTL_SEQ_PANIC ossaudiodev.SNDCTL_SEQ_PERCMODE ossaudiodev.SNDCTL_SEQ_RESET ossaudiodev.SNDCTL_SEQ_RESETSAMPLES ossaudiodev.SNDCTL_SEQ_SYNC ossaudiodev.SNDCTL_SEQ_TESTMIDI ossaudiodev.SNDCTL_SEQ_THRESHOLD ossaudiodev.SNDCTL_SYNTH_CONTROL ossaudiodev.SNDCTL_SYNTH_ID ossaudiodev.SNDCTL_SYNTH_INFO ossaudiodev.SNDCTL_SYNTH_MEMAVL ossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE ossaudiodev.SNDCTL_TMR_CONTINUE ossaudiodev.SNDCTL_TMR_METRONOME ossaudiodev.SNDCTL_TMR_SELECT ossaudiodev.SNDCTL_TMR_SOURCE ossaudiodev.SNDCTL_TMR_START ossaudiodev.SNDCTL_TMR_STOP ossaudiodev.SNDCTL_TMR_TEMPO ossaudiodev.SNDCTL_TMR_TIMEBASE ossaudiodev.SOUND_MIXER_ALTPCM ossaudiodev.SOUND_MIXER_BASS ossaudiodev.SOUND_MIXER_CD ossaudiodev.SOUND_MIXER_DIGITAL1 ossaudiodev.SOUND_MIXER_DIGITAL2 ossaudiodev.SOUND_MIXER_DIGITAL3 ossaudiodev.SOUND_MIXER_IGAIN ossaudiodev.SOUND_MIXER_IMIX ossaudiodev.SOUND_MIXER_LINE ossaudiodev.SOUND_MIXER_LINE1 ossaudiodev.SOUND_MIXER_LINE2 ossaudiodev.SOUND_MIXER_LINE3 ossaudiodev.SOUND_MIXER_MIC ossaudiodev.SOUND_MIXER_MONITOR ossaudiodev.SOUND_MIXER_NRDEVICES ossaudiodev.SOUND_MIXER_OGAIN ossaudiodev.SOUND_MIXER_PCM ossaudiodev.SOUND_MIXER_PHONEIN ossaudiodev.SOUND_MIXER_PHONEOUT ossaudiodev.SOUND_MIXER_RADIO ossaudiodev.SOUND_MIXER_RECLEV ossaudiodev.SOUND_MIXER_SPEAKER ossaudiodev.SOUND_MIXER_SYNTH ossaudiodev.SOUND_MIXER_TREBLE ossaudiodev.SOUND_MIXER_VIDEO ossaudiodev.SOUND_MIXER_VOLUME ossaudiodev.control_labels ossaudiodev.control_names ossaudiodev.error ossaudiodev.open ossaudiodev.openmixer parser.ASTType parser.ParserError parser.STType parser.ast2list parser.ast2tuple parser.compileast parser.compilest parser.expr parser.isexpr parser.issuite parser.sequence2ast parser.sequence2st parser.st2list parser.st2tuple parser.suite parser.tuple2ast parser.tuple2st pdb.Pdb(??) pdb.Repr(??) pdb.TESTCMD pdb.bdb pdb.cmd pdb.find_function(??) pdb.help(??) pdb.line_prefix pdb.linecache pdb.main(??) pdb.os pdb.pm(??) pdb.post_mortem(??) pdb.pprint pdb.re pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.sys pdb.test(??) pdb.traceback pickle.APPEND pickle.APPENDS pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BUILD pickle.BooleanType pickle.BufferType pickle.BuiltinFunctionType pickle.BuiltinMethodType pickle.ClassType pickle.CodeType pickle.ComplexType pickle.DICT pickle.DUP pickle.DictProxyType pickle.DictType pickle.DictionaryType pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.EllipsisType pickle.FALSE pickle.FLOAT pickle.FileType pickle.FloatType pickle.FrameType pickle.FunctionType pickle.GET pickle.GLOBAL pickle.GeneratorType pickle.GetSetDescriptorType pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.InstanceType pickle.IntType pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.LambdaType pickle.ListType pickle.LongType pickle.MARK pickle.MemberDescriptorType pickle.MethodType pickle.ModuleType pickle.NEWFALSE pickle.NEWOBJ pickle.NEWTRUE pickle.NONE pickle.NoneType pickle.NotImplementedType pickle.OBJ pickle.ObjectType pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError pickle.Pickler(??) pickle.PicklingError pickle.PyStringMap pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINSTRING pickle.STOP pickle.STRING pickle.SliceType pickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing pickle.StringType pickle.StringTypes pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.TracebackType pickle.TupleType pickle.TypeType pickle.UNICODE pickle.UnboundMethodType pickle.UnicodeType pickle.Unpickler(??) pickle.UnpicklingError pickle.XRangeType pickle.classmap pickle.compatible_formats pickle.decode_long(??) pickle.dispatch_table pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.load(??) pickle.loads(??) pickle.marshal pickle.mloads pickle.re pickle.struct pickle.sys pickle.whichmodule(??) pickletools.ArgumentDescriptor pickletools.OpcodeInfo pickletools.StackObject pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.UP_TO_NEWLINE pickletools.anyobject pickletools.code2op pickletools.decimalnl_long pickletools.decimalnl_short pickletools.decode_long(??) pickletools.dis(??) pickletools.float8 pickletools.floatnl pickletools.genops(??) pickletools.int4 pickletools.long1 pickletools.long4 pickletools.markobject pickletools.opcodes pickletools.pybool pickletools.pydict pickletools.pyfloat pickletools.pyint pickletools.pyinteger_or_bool pickletools.pylist pickletools.pylong pickletools.pynone pickletools.pystring pickletools.pytuple pickletools.pyunicode pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestringnl(??) pickletools.stackslice pickletools.string1 pickletools.string4 pickletools.stringnl pickletools.stringnl_noescape pickletools.stringnl_noescape_pair pickletools.uint1 pickletools.uint2 pickletools.unicodestring4 pickletools.unicodestringnl pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os pipes.quote(??) pipes.re pipes.stepkinds pipes.string pipes.tempfile pipes.test(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.imp pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys pkgutil.walk_packages(??) pkgutil.zipimport pkgutil.zipimporter(archivepath) -> zipimporter object platform.architecture(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os platform.platform(??) platform.popen(??) platform.processor(??) platform.python_build(??) platform.python_compiler(??) platform.python_version(??) platform.python_version_tuple(??) platform.re platform.release(??) platform.string platform.sys platform.system(??) platform.system_alias(??) platform.uname(??) platform.version(??) platform.win32_ver(??) popen2.MAXFD popen2.Popen3(??) popen2.Popen4(??) popen2.os popen2.popen2(??) popen2.popen3(??) popen2.popen4(??) popen2.sys poplib.CR poplib.CRLF poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.error_proto poplib.re poplib.socket posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_OK posix.NGROUPS_MAX posix.O_APPEND posix.O_CREAT posix.O_DIRECT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_LARGEFILE posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_RSYNC posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.R_OK posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(path, mode) -> True if granted, False otherwise posix.chdir(path) posix.chmod(path, mode) posix.chown(path, uid, gid) posix.chroot(path) posix.close(fd) posix.confstr(name) -> string posix.confstr_names posix.ctermid() -> string posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ posix.error posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fildes) posix.fdatasync(fildes) posix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.getcwd() -> path posix.getcwdu() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getsid(pid) -> sid posix.getuid() -> uid posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchown(path, uid, gid) posix.link(src, dst) posix.listdir(path) -> list_of_strings posix.lseek(fd, pos, how) -> newpos posix.lstat(path) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path [, mode=0777]) posix.mkfifo(filename [, mode=0666]) posix.mknod(filename [, mode=0600, device]) posix.nice(inc) -> new_priority posix.open(filename, flag [, mode=0777]) -> fd posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names posix.pipe() -> (read_end, write_end) posix.popen(command [, mode='r' [, bufsize]]) -> pipe posix.putenv(key, value) posix.read(fd, buffersize) -> string posix.readlink(path) -> path posix.remove(path) posix.rename(old, new) posix.rmdir(path) posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setregid(rgid, egid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(path) -> stat result posix.stat_float_times([newval]) -> oldval posix.stat_result posix.statvfs(path) -> statvfs result posix.statvfs_result posix.strerror(code) -> string posix.symlink(src, dst) posix.sysconf(name) -> integer posix.sysconf_names posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.tempnam([dir[, prefix]]) -> string posix.times() -> (utime, stime, cutime, cstime, elapsed_time) posix.tmpfile() -> file object posix.tmpnam() -> string posix.ttyname(fd) -> string posix.umask(new_mask) -> old_mask posix.uname() -> (sysname, nodename, release, version, machine) posix.unlink(path) posix.unsetenv(key) posix.utime(path, (atime, mtime)) posix.wait() -> (pid, status) posix.wait3(options) -> (pid, status, rusage) posix.wait4(pid, options) -> (pid, status, rusage) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, string) -> byteswritten posixfile.SEEK_CUR posixfile.SEEK_END posixfile.SEEK_SET posixfile.fileopen(??) posixfile.open(??) posixpath.abspath(??) posixpath.altsep posixpath.basename(??) posixpath.commonprefix(??) posixpath.curdir posixpath.defpath posixpath.devnull posixpath.dirname(??) posixpath.exists(??) posixpath.expanduser(??) posixpath.expandvars(??) posixpath.extsep posixpath.getatime(??) posixpath.getctime(??) posixpath.getmtime(??) posixpath.getsize(??) posixpath.isabs(??) posixpath.isdir(??) posixpath.isfile(??) posixpath.islink(??) posixpath.ismount(??) posixpath.join(??) posixpath.lexists(??) posixpath.normcase(??) posixpath.normpath(??) posixpath.os posixpath.pardir posixpath.pathsep posixpath.realpath(??) posixpath.samefile(??) posixpath.sameopenfile(??) posixpath.samestat(??) posixpath.sep posixpath.split(??) posixpath.splitdrive(??) posixpath.splitext(??) posixpath.stat posixpath.supports_unicode_filenames posixpath.walk(??) pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.saferepr(??) profile.OptionParser(??) profile.Profile(??) profile.Stats(??) profile.help(??) profile.main(??) profile.marshal profile.os profile.resgetrusage(??) profile.resource profile.run(??) profile.runctx(??) profile.sys profile.time property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal pstats.os pstats.re pstats.sys pstats.time pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd pwd.struct_pwent py_compile.MAGIC py_compile.PyCompileError py_compile.compile(??) py_compile.imp py_compile.main(??) py_compile.marshal py_compile.os py_compile.set_creator_type(??) py_compile.sys py_compile.traceback py_compile.wr_long(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.NEWLINE pyclbr.OP pyclbr.imp pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys pyclbr.tokenize pydoc.Doc(??) pydoc.ErrorDuringImport pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.Scanner(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque(iterable) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.expandtabs(s [,tabsize]) -> string pydoc.find(s, sub [,start [,end]]) -> in pydoc.getdoc(??) pydoc.getpager(??) pydoc.gui(??) pydoc.help pydoc.html pydoc.imp pydoc.importfile(??) pydoc.inspect pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.join(list [,sep]) -> string pydoc.locate(??) pydoc.lower(s) -> string pydoc.os pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil pydoc.plain(??) pydoc.plainpager(??) pydoc.re pydoc.replace(??) pydoc.resolve(??) pydoc.rfind(s, sub [,start [,end]]) -> int pydoc.rstrip(s [,chars]) -> string pydoc.safeimport(??) pydoc.serve(??) pydoc.source_synopsis(??) pydoc.split(s [,sep [,maxsplit]]) -> list of strings pydoc.splitdoc(??) pydoc.strip(s [,chars]) -> string pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys pydoc.tempfilepager(??) pydoc.text pydoc.ttypager(??) pydoc.types pydoc.visiblename(??) pydoc.writedoc(??) pydoc.writedocs(??) pyexpat.EXPAT_VERSION pyexpat.ErrorString(errno) -> string pyexpat.ExpatError pyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser pyexpat.XMLParserType pyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS pyexpat.XML_PARAM_ENTITY_PARSING_NEVER pyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE pyexpat.error pyexpat.errors pyexpat.expat_CAPI pyexpat.features pyexpat.model pyexpat.native_encoding pyexpat.version_info quit quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random random.SG_MAGICCONST random.SystemRandom random.TWOPI random.WichmannHill random.betavariate random.choice random.expovariate random.gammavariate random.gauss random.getrandbits(k) -> x. Generates a long int with k random bits. random.getstate random.jumpahead(int) -> None. Create new state from existing state and integer. random.lognormvariate random.normalvariate random.paretovariate random.randint random.random() -> x in the interval [0, 1). random.randrange random.sample random.seed random.setstate random.shuffle random.uniform random.vonmisesvariate random.weibullvariate range([start,] stop[, step]) -> list of integers raw_input([prompt]) -> string re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copy_reg re.error re.escape(??) re.findall(??) re.finditer(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile re.sre_parse re.sub(??) re.subn(??) re.sys re.template(??) readline.add_history(string) -> None readline.clear_history() -> None readline.get_begidx() -> int readline.get_completer() -> function readline.get_completer_delims() -> string readline.get_current_history_length() -> integer readline.get_endidx() -> int readline.get_history_item() -> string readline.get_history_length() -> int readline.get_line_buffer() -> string readline.insert_text(string) -> None readline.parse_and_bind(string) -> None readline.read_history_file([filename]) -> None readline.read_init_file([filename]) -> None readline.redisplay() -> None readline.remove_history_item(pos) -> None readline.replace_history_item(pos, line) -> None readline.set_completer([function]) -> None readline.set_completer_delims(string) -> None readline.set_history_length(length) -> None readline.set_pre_input_hook([function]) -> None readline.set_startup_hook([function]) -> None readline.write_history_file([filename]) -> None reduce(function, sequence[, initial]) -> value reload(module) -> module repr(object) -> string repr.Repr(??) repr.aRepr repr.islice(iterable, [start,] stop [, step]) --> islice object repr.repr resource.RLIMIT_AS resource.RLIMIT_CORE resource.RLIMIT_CPU resource.RLIMIT_DATA resource.RLIMIT_FSIZE resource.RLIMIT_MEMLOCK resource.RLIMIT_NOFILE resource.RLIMIT_NPROC resource.RLIMIT_OFILE resource.RLIMIT_RSS resource.RLIMIT_STACK resource.RLIM_INFINITY resource.RUSAGE_CHILDREN resource.RUSAGE_SELF resource.error resource.getpagesize resource.getrlimit resource.getrusage resource.setrlimit resource.struct_rusage reversed(sequence) -> reverse iterator over values of the sequence rexec.FileBase(??) rexec.FileDelegate(??) rexec.FileWrapper(??) rexec.RExec(??) rexec.RHooks(??) rexec.RModuleImporter(??) rexec.RModuleLoader(??) rexec.TEMPLATE rexec.ihooks rexec.imp rexec.os rexec.sys rexec.test(??) rfc822.AddressList(??) rfc822.AddrlistClass(??) rfc822.Message(??) rfc822.dump_address_pair(??) rfc822.formatdate(??) rfc822.mktime_tz(??) rfc822.parseaddr(??) rfc822.parsedate(??) rfc822.parsedate_tz(??) rfc822.quote(??) rfc822.time rfc822.unquote(??) rlcompleter.Completer(??) rlcompleter.get_class_members(??) rlcompleter.readline robotparser.Entry(??) robotparser.RobotFileParser(??) robotparser.RuleLine(??) robotparser.URLopener(??) robotparser.debug robotparser.urllib robotparser.urlparse round(number[, ndigits]) -> floating point number runpy.get_loader(??) runpy.imp runpy.run_module(??) runpy.sys sched.heapq sched.scheduler(??) select.POLLERR select.POLLHUP select.POLLIN select.POLLMSG select.POLLNVAL select.POLLOUT select.POLLPRI select.POLLRDBAND select.POLLRDNORM select.POLLWRBAND select.POLLWRNORM select.error select.poll select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) set(iterable) --> set object setattr(object, name, value) sets.BaseSet sets.ImmutableSet sets.Set sets.generators sets.ifilter(function or None, sequence) --> ifilter object sets.ifilterfalse(function or None, sequence) --> ifilterfalse object sgmllib.SGMLParseError sgmllib.SGMLParser(??) sgmllib.TestSGMLParser(??) sgmllib.attrfind sgmllib.charref sgmllib.endbracket sgmllib.entityref sgmllib.incomplete sgmllib.interesting sgmllib.markupbase sgmllib.piclose sgmllib.re sgmllib.shorttag sgmllib.shorttagopen sgmllib.starttagopen sgmllib.tagfind sgmllib.test(??) sha.blocksize sha.digest_size sha.digestsize sha.new sha.sha shelve.BsdDbShelf(??) shelve.DbfilenameShelf(??) shelve.Pickler(file, protocol=0) -- Create a pickler. shelve.Shelf(??) shelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing shelve.Unpickler(file) -- Create an unpickler. shelve.UserDict shelve.open(??) shelve.warnings shlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing shlex.deque(iterable) --> deque object shlex.os shlex.shlex(??) shlex.split(??) shlex.sys shutil.Error shutil.abspath(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.destinsrc(??) shutil.move(??) shutil.os shutil.rmtree(??) shutil.stat shutil.sys signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCLD signal.SIGCONT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPOLL signal.SIGPROF signal.SIGPWR signal.SIGQUIT signal.SIGRTMAX signal.SIGRTMIN signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_DFL signal.SIG_IGN signal.alarm(seconds) signal.default_int_handler(...) signal.getsignal(sig) -> action signal.pause() signal.signal(sig, action) -> action site.abs__file__(??) site.addbuilddir(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.aliasmbcs(??) site.execsitecustomize(??) site.main(??) site.makepath(??) site.os site.removeduppaths(??) site.setBEGINLIBPATH(??) site.setcopyright(??) site.setencoding(??) site.sethelper(??) site.setquit(??) site.sys slice([start,] stop[, step]) smtpd.COMMASPACE smtpd.DEBUGSTREAM smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat smtpd.asyncore smtpd.errno smtpd.getopt smtpd.os smtpd.parseargs(??) smtpd.program smtpd.socket smtpd.sys smtpd.time smtpd.usage(??) smtplib.CRLF smtplib.OLDSTYLE_AUTH smtplib.SMTP(??) smtplib.SMTPAuthenticationError smtplib.SMTPConnectError smtplib.SMTPDataError smtplib.SMTPException smtplib.SMTPHeloError smtplib.SMTPRecipientsRefused smtplib.SMTPResponseException smtplib.SMTPSenderRefused smtplib.SMTPServerDisconnected smtplib.SMTP_PORT smtplib.SSLFakeFile(??) smtplib.SSLFakeSocket(??) smtplib.base64 smtplib.email smtplib.encode_base64(??) smtplib.hmac smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re smtplib.socket smtplib.stderr sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK socket.AF_ASH socket.AF_ATMPVC socket.AF_ATMSVC socket.AF_AX25 socket.AF_BRIDGE socket.AF_DECnet socket.AF_ECONET socket.AF_INET socket.AF_INET6 socket.AF_IPX socket.AF_IRDA socket.AF_KEY socket.AF_NETBEUI socket.AF_NETLINK socket.AF_NETROM socket.AF_PACKET socket.AF_PPPOX socket.AF_ROSE socket.AF_ROUTE socket.AF_SECURITY socket.AF_SNA socket.AF_UNIX socket.AF_UNSPEC socket.AF_WANPIPE socket.AF_X25 socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.CAPI socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GRE socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPIP socket.IPPROTO_IPV6 socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVDSTOPTS socket.IPV6_RECVHOPLIMIT socket.IPV6_RECVHOPOPTS socket.IPV6_RECVPKTINFO socket.IPV6_RECVRTHDR socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDRDSTOPTS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NETLINK_DNRTMSG socket.NETLINK_FIREWALL socket.NETLINK_IP6_FW socket.NETLINK_NFLOG socket.NETLINK_ROUTE socket.NETLINK_USERSOCK socket.NETLINK_W1 socket.NETLINK_XFRM socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PACKET_BROADCAST socket.PACKET_FASTROUTE socket.PACKET_HOST socket.PACKET_LOOPBACK socket.PACKET_MULTICAST socket.PACKET_OTHERHOST socket.PACKET_OUTGOING socket.PF_PACKET socket.RAND_add(string, entropy) socket.RAND_egd(path) -> bytes socket.RAND_status() -> 0 or 1 socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM socket.SOCK_RAW socket.SOCK_RDM socket.SOCK_SEQPACKET socket.SOCK_STREAM socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SSLType socket.SSL_ERROR_EOF socket.SSL_ERROR_INVALID_ERROR_CODE socket.SSL_ERROR_SSL socket.SSL_ERROR_SYSCALL socket.SSL_ERROR_WANT_CONNECT socket.SSL_ERROR_WANT_READ socket.SSL_ERROR_WANT_WRITE socket.SSL_ERROR_WANT_X509_LOOKUP socket.SSL_ERROR_ZERO_RETURN socket.SocketType socket.TCP_CORK socket.TCP_DEFER_ACCEPT socket.TCP_INFO socket.TCP_KEEPCNT socket.TCP_KEEPIDLE socket.TCP_KEEPINTVL socket.TCP_LINGER2 socket.TCP_MAXSEG socket.TCP_NODELAY socket.TCP_QUICKACK socket.TCP_SYNCNT socket.TCP_WINDOW_CLAMP socket.error socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror socket.getaddrinfo(host, port [, family, socktype, proto, flags]) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6 socket.herror socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.inet_aton(string) -> packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os socket.setdefaulttimeout(timeout) socket.socket([family[, type[, proto]]]) -> socket object socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.ssl(??) socket.sslerror socket.sys socket.timeout sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list spwd.getspall() -> list_of_entries spwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max, spwd.struct_spwd sqlite3.Binary sqlite3.Cache sqlite3.Connection sqlite3.Cursor sqlite3.DataError sqlite3.DatabaseError sqlite3.Date sqlite3.DateFromTicks(??) sqlite3.Error sqlite3.IntegrityError sqlite3.InterfaceError sqlite3.InternalError sqlite3.NotSupportedError sqlite3.OperationalError sqlite3.OptimizedUnicode sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol sqlite3.ProgrammingError sqlite3.Row sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement sqlite3.Time sqlite3.TimeFromTicks(??) sqlite3.Timestamp sqlite3.TimestampFromTicks(??) sqlite3.Warning sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters sqlite3.apilevel sqlite3.complete_statement sqlite3.connect sqlite3.converters sqlite3.datetime sqlite3.dbapi2 sqlite3.dbapi2.Binary sqlite3.dbapi2.Cache sqlite3.dbapi2.Connection sqlite3.dbapi2.Cursor sqlite3.dbapi2.DataError sqlite3.dbapi2.DatabaseError sqlite3.dbapi2.Date sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error sqlite3.dbapi2.IntegrityError sqlite3.dbapi2.InterfaceError sqlite3.dbapi2.InternalError sqlite3.dbapi2.NotSupportedError sqlite3.dbapi2.OperationalError sqlite3.dbapi2.OptimizedUnicode sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol sqlite3.dbapi2.ProgrammingError sqlite3.dbapi2.Row sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement sqlite3.dbapi2.Time sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters sqlite3.dbapi2.apilevel sqlite3.dbapi2.complete_statement sqlite3.dbapi2.connect sqlite3.dbapi2.converters sqlite3.dbapi2.datetime sqlite3.dbapi2.enable_callback_tracebacks sqlite3.dbapi2.enable_shared_cache sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter sqlite3.dbapi2.register_converter sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time sqlite3.dbapi2.version sqlite3.dbapi2.version_info sqlite3.dbapi2.x sqlite3.enable_callback_tracebacks sqlite3.enable_shared_cache sqlite3.paramstyle sqlite3.register_adapter sqlite3.register_converter sqlite3.sqlite_version sqlite3.sqlite_version_info sqlite3.threadsafety sqlite3.time sqlite3.version sqlite3.version_info sqlite3.x sre.DOTALL sre.I sre.IGNORECASE sre.L sre.LOCALE sre.M sre.MULTILINE sre.S sre.U sre.UNICODE sre.VERBOSE sre.X sre.compile(??) sre.error sre.escape(??) sre.findall(??) sre.finditer(??) sre.match(??) sre.purge(??) sre.search(??) sre.split(??) sre.sub(??) sre.subn(??) sre.template(??) sre.warnings sre_compile.ANY sre_compile.ANY_ALL sre_compile.ASSERT sre_compile.ASSERT_NOT sre_compile.AT sre_compile.ATCODES sre_compile.AT_BEGINNING sre_compile.AT_BEGINNING_LINE sre_compile.AT_BEGINNING_STRING sre_compile.AT_BOUNDARY sre_compile.AT_END sre_compile.AT_END_LINE sre_compile.AT_END_STRING sre_compile.AT_LOCALE sre_compile.AT_LOC_BOUNDARY sre_compile.AT_LOC_NON_BOUNDARY sre_compile.AT_MULTILINE sre_compile.AT_NON_BOUNDARY sre_compile.AT_UNICODE sre_compile.AT_UNI_BOUNDARY sre_compile.AT_UNI_NON_BOUNDARY sre_compile.BIGCHARSET sre_compile.BRANCH sre_compile.CALL sre_compile.CATEGORY sre_compile.CATEGORY_DIGIT sre_compile.CATEGORY_LINEBREAK sre_compile.CATEGORY_LOC_NOT_WORD sre_compile.CATEGORY_LOC_WORD sre_compile.CATEGORY_NOT_DIGIT sre_compile.CATEGORY_NOT_LINEBREAK sre_compile.CATEGORY_NOT_SPACE sre_compile.CATEGORY_NOT_WORD sre_compile.CATEGORY_SPACE sre_compile.CATEGORY_UNI_DIGIT sre_compile.CATEGORY_UNI_LINEBREAK sre_compile.CATEGORY_UNI_NOT_DIGIT sre_compile.CATEGORY_UNI_NOT_LINEBREAK sre_compile.CATEGORY_UNI_NOT_SPACE sre_compile.CATEGORY_UNI_NOT_WORD sre_compile.CATEGORY_UNI_SPACE sre_compile.CATEGORY_UNI_WORD sre_compile.CATEGORY_WORD sre_compile.CHARSET sre_compile.CHCODES sre_compile.CH_LOCALE sre_compile.CH_UNICODE sre_compile.FAILURE sre_compile.GROUPREF sre_compile.GROUPREF_EXISTS sre_compile.GROUPREF_IGNORE sre_compile.IN sre_compile.INFO sre_compile.IN_IGNORE sre_compile.JUMP sre_compile.LITERAL sre_compile.LITERAL_IGNORE sre_compile.MAGIC sre_compile.MARK sre_compile.MAXCODE sre_compile.MAXREPEAT sre_compile.MAX_REPEAT sre_compile.MAX_UNTIL sre_compile.MIN_REPEAT sre_compile.MIN_REPEAT_ONE sre_compile.MIN_UNTIL sre_compile.NEGATE sre_compile.NOT_LITERAL sre_compile.NOT_LITERAL_IGNORE sre_compile.OPCODES sre_compile.OP_IGNORE sre_compile.RANGE sre_compile.REPEAT sre_compile.REPEAT_ONE sre_compile.SRE_FLAG_DEBUG sre_compile.SRE_FLAG_DOTALL sre_compile.SRE_FLAG_IGNORECASE sre_compile.SRE_FLAG_LOCALE sre_compile.SRE_FLAG_MULTILINE sre_compile.SRE_FLAG_TEMPLATE sre_compile.SRE_FLAG_UNICODE sre_compile.SRE_FLAG_VERBOSE sre_compile.SRE_INFO_CHARSET sre_compile.SRE_INFO_LITERAL sre_compile.SRE_INFO_PREFIX sre_compile.STRING_TYPES sre_compile.SUBPATTERN sre_compile.SUCCESS sre_compile.compile(??) sre_compile.error sre_compile.isstring(??) sre_compile.makedict(??) sre_compile.set(??) sre_compile.sys sre_constants.ANY sre_constants.ANY_ALL sre_constants.ASSERT sre_constants.ASSERT_NOT sre_constants.AT sre_constants.ATCODES sre_constants.AT_BEGINNING sre_constants.AT_BEGINNING_LINE sre_constants.AT_BEGINNING_STRING sre_constants.AT_BOUNDARY sre_constants.AT_END sre_constants.AT_END_LINE sre_constants.AT_END_STRING sre_constants.AT_LOCALE sre_constants.AT_LOC_BOUNDARY sre_constants.AT_LOC_NON_BOUNDARY sre_constants.AT_MULTILINE sre_constants.AT_NON_BOUNDARY sre_constants.AT_UNICODE sre_constants.AT_UNI_BOUNDARY sre_constants.AT_UNI_NON_BOUNDARY sre_constants.BIGCHARSET sre_constants.BRANCH sre_constants.CALL sre_constants.CATEGORY sre_constants.CATEGORY_DIGIT sre_constants.CATEGORY_LINEBREAK sre_constants.CATEGORY_LOC_NOT_WORD sre_constants.CATEGORY_LOC_WORD sre_constants.CATEGORY_NOT_DIGIT sre_constants.CATEGORY_NOT_LINEBREAK sre_constants.CATEGORY_NOT_SPACE sre_constants.CATEGORY_NOT_WORD sre_constants.CATEGORY_SPACE sre_constants.CATEGORY_UNI_DIGIT sre_constants.CATEGORY_UNI_LINEBREAK sre_constants.CATEGORY_UNI_NOT_DIGIT sre_constants.CATEGORY_UNI_NOT_LINEBREAK sre_constants.CATEGORY_UNI_NOT_SPACE sre_constants.CATEGORY_UNI_NOT_WORD sre_constants.CATEGORY_UNI_SPACE sre_constants.CATEGORY_UNI_WORD sre_constants.CATEGORY_WORD sre_constants.CHARSET sre_constants.CHCODES sre_constants.CH_LOCALE sre_constants.CH_UNICODE sre_constants.FAILURE sre_constants.GROUPREF sre_constants.GROUPREF_EXISTS sre_constants.GROUPREF_IGNORE sre_constants.IN sre_constants.INFO sre_constants.IN_IGNORE sre_constants.JUMP sre_constants.LITERAL sre_constants.LITERAL_IGNORE sre_constants.MAGIC sre_constants.MARK sre_constants.MAXREPEAT sre_constants.MAX_REPEAT sre_constants.MAX_UNTIL sre_constants.MIN_REPEAT sre_constants.MIN_REPEAT_ONE sre_constants.MIN_UNTIL sre_constants.NEGATE sre_constants.NOT_LITERAL sre_constants.NOT_LITERAL_IGNORE sre_constants.OPCODES sre_constants.OP_IGNORE sre_constants.RANGE sre_constants.REPEAT sre_constants.REPEAT_ONE sre_constants.SRE_FLAG_DEBUG sre_constants.SRE_FLAG_DOTALL sre_constants.SRE_FLAG_IGNORECASE sre_constants.SRE_FLAG_LOCALE sre_constants.SRE_FLAG_MULTILINE sre_constants.SRE_FLAG_TEMPLATE sre_constants.SRE_FLAG_UNICODE sre_constants.SRE_FLAG_VERBOSE sre_constants.SRE_INFO_CHARSET sre_constants.SRE_INFO_LITERAL sre_constants.SRE_INFO_PREFIX sre_constants.SUBPATTERN sre_constants.SUCCESS sre_constants.error sre_constants.makedict(??) sre_parse.ANY sre_parse.ANY_ALL sre_parse.ASSERT sre_parse.ASSERT_NOT sre_parse.AT sre_parse.ATCODES sre_parse.AT_BEGINNING sre_parse.AT_BEGINNING_LINE sre_parse.AT_BEGINNING_STRING sre_parse.AT_BOUNDARY sre_parse.AT_END sre_parse.AT_END_LINE sre_parse.AT_END_STRING sre_parse.AT_LOCALE sre_parse.AT_LOC_BOUNDARY sre_parse.AT_LOC_NON_BOUNDARY sre_parse.AT_MULTILINE sre_parse.AT_NON_BOUNDARY sre_parse.AT_UNICODE sre_parse.AT_UNI_BOUNDARY sre_parse.AT_UNI_NON_BOUNDARY sre_parse.BIGCHARSET sre_parse.BRANCH sre_parse.CALL sre_parse.CATEGORIES sre_parse.CATEGORY sre_parse.CATEGORY_DIGIT sre_parse.CATEGORY_LINEBREAK sre_parse.CATEGORY_LOC_NOT_WORD sre_parse.CATEGORY_LOC_WORD sre_parse.CATEGORY_NOT_DIGIT sre_parse.CATEGORY_NOT_LINEBREAK sre_parse.CATEGORY_NOT_SPACE sre_parse.CATEGORY_NOT_WORD sre_parse.CATEGORY_SPACE sre_parse.CATEGORY_UNI_DIGIT sre_parse.CATEGORY_UNI_LINEBREAK sre_parse.CATEGORY_UNI_NOT_DIGIT sre_parse.CATEGORY_UNI_NOT_LINEBREAK sre_parse.CATEGORY_UNI_NOT_SPACE sre_parse.CATEGORY_UNI_NOT_WORD sre_parse.CATEGORY_UNI_SPACE sre_parse.CATEGORY_UNI_WORD sre_parse.CATEGORY_WORD sre_parse.CHARSET sre_parse.CHCODES sre_parse.CH_LOCALE sre_parse.CH_UNICODE sre_parse.DIGITS sre_parse.ESCAPES sre_parse.FAILURE sre_parse.FLAGS sre_parse.GROUPREF sre_parse.GROUPREF_EXISTS sre_parse.GROUPREF_IGNORE sre_parse.HEXDIGITS sre_parse.IN sre_parse.INFO sre_parse.IN_IGNORE sre_parse.JUMP sre_parse.LITERAL sre_parse.LITERAL_IGNORE sre_parse.MAGIC sre_parse.MARK sre_parse.MAXREPEAT sre_parse.MAX_REPEAT sre_parse.MAX_UNTIL sre_parse.MIN_REPEAT sre_parse.MIN_REPEAT_ONE sre_parse.MIN_UNTIL sre_parse.NEGATE sre_parse.NOT_LITERAL sre_parse.NOT_LITERAL_IGNORE sre_parse.OCTDIGITS sre_parse.OPCODES sre_parse.OP_IGNORE sre_parse.Pattern(??) sre_parse.RANGE sre_parse.REPEAT sre_parse.REPEAT_CHARS sre_parse.REPEAT_ONE sre_parse.SPECIAL_CHARS sre_parse.SRE_FLAG_DEBUG sre_parse.SRE_FLAG_DOTALL sre_parse.SRE_FLAG_IGNORECASE sre_parse.SRE_FLAG_LOCALE sre_parse.SRE_FLAG_MULTILINE sre_parse.SRE_FLAG_TEMPLATE sre_parse.SRE_FLAG_UNICODE sre_parse.SRE_FLAG_VERBOSE sre_parse.SRE_INFO_CHARSET sre_parse.SRE_INFO_LITERAL sre_parse.SRE_INFO_PREFIX sre_parse.SUBPATTERN sre_parse.SUCCESS sre_parse.SubPattern(??) sre_parse.Tokenizer(??) sre_parse.WHITESPACE sre_parse.error sre_parse.expand_template(??) sre_parse.isdigit(??) sre_parse.isident(??) sre_parse.isname(??) sre_parse.makedict(??) sre_parse.parse(??) sre_parse.parse_template(??) sre_parse.set(??) sre_parse.sys stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFREG stat.S_IFSOCK stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(??) stat.S_ISCHR(??) stat.S_ISDIR(??) stat.S_ISFIFO(??) stat.S_ISGID stat.S_ISLNK(??) stat.S_ISREG(??) stat.S_ISSOCK(??) stat.S_ISUID stat.S_ISVTX stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR staticmethod(function) -> method statvfs.F_BAVAIL statvfs.F_BFREE statvfs.F_BLOCKS statvfs.F_BSIZE statvfs.F_FAVAIL statvfs.F_FFREE statvfs.F_FILES statvfs.F_FLAG statvfs.F_FRSIZE statvfs.F_NAMEMAX str(object) -> string string.Template string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.atof(s) -> float string.atof_error string.atoi(s [,base]) -> int string.atoi_error string.atol(s [,base]) -> long string.atol_error string.capitalize(s) -> string string.capwords(s, [sep]) -> string string.center(s, width[, fillchar]) -> string string.count(s, sub[, start[,end]]) -> int string.digits string.expandtabs(s [,tabsize]) -> string string.find(s, sub [,start [,end]]) -> in string.hexdigits string.index(s, sub [,start [,end]]) -> int string.index_error string.join(list [,sep]) -> string string.joinfields(??) string.letters string.ljust(s, width[, fillchar]) -> string string.lower(s) -> string string.lowercase string.lstrip(s [,chars]) -> string string.maketrans(frm, to) -> string string.octdigits string.printable string.punctuation string.replace (str, old, new[, maxsplit]) -> string string.rfind(s, sub [,start [,end]]) -> int string.rindex(s, sub [,start [,end]]) -> int string.rjust(s, width[, fillchar]) -> string string.rsplit(s [,sep [,maxsplit]]) -> list of strings string.rstrip(s [,chars]) -> string string.split(s [,sep [,maxsplit]]) -> list of strings string.splitfields(??) string.strip(s [,chars]) -> string string.swapcase(s) -> string string.translate(s,table [,deletions]) -> string string.upper(s) -> string string.uppercase string.whitespace string.zfill(x, width) -> string stringold.atof(s) -> float stringold.atof_error stringold.atoi(s [,base]) -> int stringold.atoi_error stringold.atol(s [,base]) -> long stringold.atol_error stringold.capitalize(s) -> string stringold.capwords(s, [sep]) -> string stringold.center(s, width) -> string stringold.count(s, sub[, start[,end]]) -> int stringold.digits stringold.expandtabs(s [,tabsize]) -> string stringold.find(s, sub [,start [,end]]) -> in stringold.hexdigits stringold.index(s, sub [,start [,end]]) -> int stringold.index_error stringold.join(list [,sep]) -> string stringold.joinfields(??) stringold.letters stringold.ljust(s, width) -> string stringold.lower(s) -> string stringold.lowercase stringold.lstrip(s) -> string stringold.maketrans(frm, to) -> string stringold.octdigits stringold.replace (str, old, new[, maxsplit]) -> string stringold.rfind(s, sub [,start [,end]]) -> int stringold.rindex(s, sub [,start [,end]]) -> int stringold.rjust(s, width) -> string stringold.rstrip(s) -> string stringold.split(str [,sep [,maxsplit]]) -> list of strings stringold.splitfields(??) stringold.strip(s) -> string stringold.swapcase(s) -> string stringold.translate(s,table [,deletechars]) -> string stringold.upper(s) -> string stringold.uppercase stringold.whitespace stringold.zfill(x, width) -> string stringprep.b1_set stringprep.b3_exceptions stringprep.c22_specials stringprep.c6_set stringprep.c7_set stringprep.c8_set stringprep.c9_set stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata strop.atof(s) -> float strop.atoi(s [,base]) -> int strop.atol(s [,base]) -> long strop.capitalize(s) -> string strop.count(s, sub[, start[, end]]) -> int strop.expandtabs(string, [tabsize]) -> string strop.find(s, sub [,start [,end]]) -> in strop.join(list [,sep]) -> string strop.joinfields strop.lower(s) -> string strop.lowercase strop.lstrip(s) -> string strop.maketrans(frm, to) -> string strop.replace (str, old, new[, maxsplit]) -> string strop.rfind(s, sub [,start [,end]]) -> int strop.rstrip(s) -> string strop.split(s [,sep [,maxsplit]]) -> list of strings strop.splitfields strop.strip(s) -> string strop.swapcase(s) -> string strop.translate(s,table [,deletechars]) -> string strop.upper(s) -> string strop.uppercase strop.whitespace struct.Struct struct.calcsize(??) struct.error struct.pack(??) struct.pack_into(??) struct.unpack(??) struct.unpack_from(??) subprocess.CalledProcessError subprocess.MAXFD subprocess.PIPE subprocess.Popen subprocess.STDOUT subprocess.call(??) subprocess.check_call(??) subprocess.errno subprocess.fcntl subprocess.list2cmdline(??) subprocess.mswindows subprocess.os subprocess.pickle subprocess.select subprocess.sys subprocess.traceback subprocess.types sum(sequence, start=0) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error sunau.open(??) sunau.openfp(??) sunaudio.MAGIC sunaudio.error sunaudio.get_long_be(??) sunaudio.gethdr(??) sunaudio.printhdr(??) super(type) -> unbound super object symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorator symbol.decorators symbol.del_stmt symbol.dictmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.exec_stmt symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.fpdef symbol.fplist symbol.funcdef symbol.gen_for symbol.gen_if symbol.gen_iter symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.list_for symbol.list_if symbol.list_iter symbol.listmaker symbol.main(??) symbol.not_test symbol.old_lambdef symbol.old_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.print_stmt symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name symbol.term symbol.test symbol.testlist symbol.testlist1 symbol.testlist_gexp symbol.testlist_safe symbol.trailer symbol.try_stmt symbol.varargslist symbol.while_stmt symbol.with_stmt symbol.with_var symbol.xor_expr symbol.yield_expr symbol.yield_stmt symtable.Class(??) symtable.DEF_BOUND symtable.DEF_DOUBLESTAR symtable.DEF_FREE symtable.DEF_FREE_CLASS symtable.DEF_FREE_GLOBAL symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_INTUPLE symtable.DEF_LOCAL symtable.DEF_PARAM symtable.DEF_STAR symtable.Function(??) symtable.OPT_BARE_EXEC symtable.OPT_EXEC symtable.OPT_IMPORT_STAR symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.is_free(??) symtable.newSymbolTable symtable.symtable(??) symtable.weakref sys.api_version sys.argv sys.builtin_module_names sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.exc_clear() -> None sys.exc_info() -> (type, value, traceback) sys.exc_type sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.hexversion sys.maxint sys.maxunicode sys.meta_path sys.modules sys.path sys.path_hooks sys.path_importer_cache sys.platform sys.prefix sys.setappdefaultencoding sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.settrace(function) sys.stderr sys.stdin sys.stdout sys.subversion sys.version sys.version_info sys.warnoptions syslog.LOG_ALERT syslog.LOG_AUTH syslog.LOG_CONS syslog.LOG_CRIT syslog.LOG_CRON syslog.LOG_DAEMON syslog.LOG_DEBUG syslog.LOG_EMERG syslog.LOG_ERR syslog.LOG_INFO syslog.LOG_KERN syslog.LOG_LOCAL0 syslog.LOG_LOCAL1 syslog.LOG_LOCAL2 syslog.LOG_LOCAL3 syslog.LOG_LOCAL4 syslog.LOG_LOCAL5 syslog.LOG_LOCAL6 syslog.LOG_LOCAL7 syslog.LOG_LPR syslog.LOG_MAIL syslog.LOG_MASK syslog.LOG_NDELAY syslog.LOG_NEWS syslog.LOG_NOTICE syslog.LOG_NOWAIT syslog.LOG_PERROR syslog.LOG_PID syslog.LOG_SYSLOG syslog.LOG_UPTO syslog.LOG_USER syslog.LOG_UUCP syslog.LOG_WARNING syslog.closelog syslog.openlog syslog.setlogmask syslog.syslog tabnanny.NannyNag tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt tabnanny.main(??) tabnanny.os tabnanny.process_tokens(??) tabnanny.sys tabnanny.tokenize tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError tarfile.DIRTYPE tarfile.ExFileObject tarfile.ExtractError tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.MAGIC tarfile.MAXSIZE_MEMBER tarfile.NUL tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES tarfile.ReadError tarfile.SUPPORTED_TYPES tarfile.SYMTYPE tarfile.S_IFBLK tarfile.S_IFCHR tarfile.S_IFDIR tarfile.S_IFIFO tarfile.S_IFLNK tarfile.S_IFREG tarfile.StreamError tarfile.TAR_GZIPPED tarfile.TAR_PLAIN tarfile.TGEXEC tarfile.TGREAD tarfile.TGWRITE tarfile.TOEXEC tarfile.TOREAD tarfile.TOWRITE tarfile.TSGID tarfile.TSUID tarfile.TSVTX tarfile.TUEXEC tarfile.TUREAD tarfile.TUWRITE tarfile.TarError tarfile.TarFile tarfile.TarFileCompat(??) tarfile.TarInfo tarfile.TarIter(??) tarfile.VERSION tarfile.calc_chksums(??) tarfile.copy tarfile.copyfileobj(??) tarfile.errno tarfile.filemode(??) tarfile.filemode_table tarfile.grp tarfile.is_tarfile(??) tarfile.itn(??) tarfile.normpath(??) tarfile.nti(??) tarfile.open tarfile.os tarfile.pwd tarfile.shutil tarfile.stat tarfile.stn(??) tarfile.struct tarfile.sys tarfile.time tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.select telnetlib.socket telnetlib.sys telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp([suffix, [prefix, [dir]]]) tempfile.mkstemp([suffix, [prefix, [dir, [text]]]]) tempfile.mktemp([suffix, [prefix, [dir]]]) tempfile.tempdir tempfile.template termios.B0 termios.B110 termios.B115200 termios.B1200 termios.B134 termios.B150 termios.B1800 termios.B19200 termios.B200 termios.B230400 termios.B2400 termios.B300 termios.B38400 termios.B460800 termios.B4800 termios.B50 termios.B57600 termios.B600 termios.B75 termios.B9600 termios.BRKINT termios.BS0 termios.BS1 termios.BSDLY termios.CBAUD termios.CBAUDEX termios.CDSUSP termios.CEOF termios.CEOL termios.CEOT termios.CERASE termios.CFLUSH termios.CIBAUD termios.CINTR termios.CKILL termios.CLNEXT termios.CLOCAL termios.CQUIT termios.CR0 termios.CR1 termios.CR2 termios.CR3 termios.CRDLY termios.CREAD termios.CRPRNT termios.CRTSCTS termios.CS5 termios.CS6 termios.CS7 termios.CS8 termios.CSIZE termios.CSTART termios.CSTOP termios.CSTOPB termios.CSUSP termios.CWERASE termios.ECHO termios.ECHOCTL termios.ECHOE termios.ECHOK termios.ECHOKE termios.ECHONL termios.ECHOPRT termios.EXTA termios.EXTB termios.FF0 termios.FF1 termios.FFDLY termios.FIOASYNC termios.FIOCLEX termios.FIONBIO termios.FIONCLEX termios.FIONREAD termios.FLUSHO termios.HUPCL termios.ICANON termios.ICRNL termios.IEXTEN termios.IGNBRK termios.IGNCR termios.IGNPAR termios.IMAXBEL termios.INLCR termios.INPCK termios.IOCSIZE_MASK termios.IOCSIZE_SHIFT termios.ISIG termios.ISTRIP termios.IUCLC termios.IXANY termios.IXOFF termios.IXON termios.NCC termios.NCCS termios.NL0 termios.NL1 termios.NLDLY termios.NOFLSH termios.N_MOUSE termios.N_PPP termios.N_SLIP termios.N_STRIP termios.N_TTY termios.OCRNL termios.OFDEL termios.OFILL termios.OLCUC termios.ONLCR termios.ONLRET termios.ONOCR termios.OPOST termios.PARENB termios.PARMRK termios.PARODD termios.PENDIN termios.TAB0 termios.TAB1 termios.TAB2 termios.TAB3 termios.TABDLY termios.TCFLSH termios.TCGETA termios.TCGETS termios.TCIFLUSH termios.TCIOFF termios.TCIOFLUSH termios.TCION termios.TCOFLUSH termios.TCOOFF termios.TCOON termios.TCSADRAIN termios.TCSAFLUSH termios.TCSANOW termios.TCSBRK termios.TCSBRKP termios.TCSETA termios.TCSETAF termios.TCSETAW termios.TCSETS termios.TCSETSF termios.TCSETSW termios.TCXONC termios.TIOCCONS termios.TIOCEXCL termios.TIOCGETD termios.TIOCGICOUNT termios.TIOCGLCKTRMIOS termios.TIOCGPGRP termios.TIOCGSERIAL termios.TIOCGSOFTCAR termios.TIOCGWINSZ termios.TIOCINQ termios.TIOCLINUX termios.TIOCMBIC termios.TIOCMBIS termios.TIOCMGET termios.TIOCMIWAIT termios.TIOCMSET termios.TIOCM_CAR termios.TIOCM_CD termios.TIOCM_CTS termios.TIOCM_DSR termios.TIOCM_DTR termios.TIOCM_LE termios.TIOCM_RI termios.TIOCM_RNG termios.TIOCM_RTS termios.TIOCM_SR termios.TIOCM_ST termios.TIOCNOTTY termios.TIOCNXCL termios.TIOCOUTQ termios.TIOCPKT termios.TIOCPKT_DATA termios.TIOCPKT_DOSTOP termios.TIOCPKT_FLUSHREAD termios.TIOCPKT_FLUSHWRITE termios.TIOCPKT_NOSTOP termios.TIOCPKT_START termios.TIOCPKT_STOP termios.TIOCSCTTY termios.TIOCSERCONFIG termios.TIOCSERGETLSR termios.TIOCSERGETMULTI termios.TIOCSERGSTRUCT termios.TIOCSERGWILD termios.TIOCSERSETMULTI termios.TIOCSERSWILD termios.TIOCSER_TEMT termios.TIOCSETD termios.TIOCSLCKTRMIOS termios.TIOCSPGRP termios.TIOCSSERIAL termios.TIOCSSOFTCAR termios.TIOCSTI termios.TIOCSWINSZ termios.TOSTOP termios.VDISCARD termios.VEOF termios.VEOL termios.VEOL2 termios.VERASE termios.VINTR termios.VKILL termios.VLNEXT termios.VMIN termios.VQUIT termios.VREPRINT termios.VSTART termios.VSTOP termios.VSUSP termios.VSWTC termios.VSWTCH termios.VT0 termios.VT1 termios.VTDLY termios.VTIME termios.VWERASE termios.XCASE termios.XTABS termios.error termios.tcdrain(fd) -> None termios.tcflow(fd, action) -> None termios.tcflush(fd, queue) -> None termios.tcgetattr(fd) -> list_of_attrs termios.tcsendbreak(fd, duration) -> None termios.tcsetattr(fd, when, attributes) -> None textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.re textwrap.string textwrap.wrap(??) this.c this.d this.i this.s thread.LockType thread.allocate thread.allocate_lock() -> lock object thread.error thread.exit() thread.exit_thread thread.get_ident() -> integer thread.interrupt_main() thread.stack_size([size]) -> size thread.start_new thread.start_new_thread(function, args[, kwargs]) threading.BoundedSemaphore(??) threading.Condition(??) threading.Event(??) threading.Lock threading.RLock(??) threading.Semaphore(??) threading.Thread threading.ThreadError threading.Timer(??) threading.activeCount(??) threading.currentThread(??) threading.deque(iterable) --> deque object threading.enumerate(??) threading.local threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.accept2dyear time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst) time.mktime(tuple) -> floating point number time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time time.time() -> floating point number time.timezone time.tzname time.tzset(zone) timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer timeit.dummy_src_name timeit.gc timeit.itertools timeit.main(??) timeit.reindent(??) timeit.sys timeit.template timeit.time toaiff.error toaiff.os toaiff.pipes toaiff.sndhdr toaiff.t toaiff.table toaiff.tempfile toaiff.toaiff(??) toaiff.uncompress token.AMPER token.AMPEREQUAL token.AT token.BACKQUOTE token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.main(??) token.tok_name tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BACKQUOTE tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing tokenize.String tokenize.TILDE tokenize.Token tokenize.TokenError tokenize.Triple tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.double3prog tokenize.endprogs tokenize.generate_tokens(??) tokenize.group(??) tokenize.main(??) tokenize.maybe(??) tokenize.printtoken(??) tokenize.pseudoprog tokenize.re tokenize.single3prog tokenize.single_quoted tokenize.string tokenize.t tokenize.tabsize tokenize.tok_name tokenize.tokenize(??) tokenize.tokenize_loop(??) tokenize.tokenprog tokenize.triple_quoted tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.cPickle trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc trace.linecache trace.main(??) trace.modname(??) trace.os trace.pickle trace.re trace.rx_blank trace.sys trace.threading trace.token trace.tokenize trace.types trace.usage(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys traceback.tb_lineno(??) traceback.types tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B460800 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CBAUD tty.CBAUDEX tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CIBAUD tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.IOCSIZE_MASK tty.IOCSIZE_SHIFT tty.ISIG tty.ISPEED tty.ISTRIP tty.IUCLC tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCC tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.N_MOUSE tty.N_PPP tty.N_SLIP tty.N_STRIP tty.N_TTY tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.OLCUC tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCFLSH tty.TCGETA tty.TCGETS tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSBRK tty.TCSBRKP tty.TCSETA tty.TCSETAF tty.TCSETAW tty.TCSETS tty.TCSETSF tty.TCSETSW tty.TCXONC tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGICOUNT tty.TIOCGLCKTRMIOS tty.TIOCGPGRP tty.TIOCGSERIAL tty.TIOCGSOFTCAR tty.TIOCGWINSZ tty.TIOCINQ tty.TIOCLINUX tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMIWAIT tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSERCONFIG tty.TIOCSERGETLSR tty.TIOCSERGETMULTI tty.TIOCSERGSTRUCT tty.TIOCSERGWILD tty.TIOCSERSETMULTI tty.TIOCSERSWILD tty.TIOCSER_TEMT tty.TIOCSETD tty.TIOCSLCKTRMIOS tty.TIOCSPGRP tty.TIOCSSERIAL tty.TIOCSSOFTCAR tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VSWTC tty.VSWTCH tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.XCASE tty.XTABS tty.error tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> an empty tuple type(object) -> the object's type types.BooleanType types.BufferType types.BuiltinFunctionType types.BuiltinMethodType types.ClassType types.CodeType types.ComplexType types.DictProxyType types.DictType types.DictionaryType types.EllipsisType types.FileType types.FloatType types.FrameType types.FunctionType types.GeneratorType types.GetSetDescriptorType types.InstanceType types.IntType types.LambdaType types.ListType types.LongType types.MemberDescriptorType types.MethodType types.ModuleType types.NoneType types.NotImplementedType types.ObjectType types.SliceType types.StringType types.StringTypes types.TracebackType types.TupleType types.TypeType types.UnboundMethodType types.UnicodeType types.XRangeType unichr(i) -> Unicode character unicode(string [, encoding[, errors]]) -> object unicodedata.UCD unicodedata.bidirectional(unichr) unicodedata.category(unichr) unicodedata.combining(unichr) unicodedata.decimal(unichr[, default]) unicodedata.decomposition(unichr) unicodedata.digit(unichr[, default]) unicodedata.east_asian_width(unichr) unicodedata.lookup(name) unicodedata.mirrored(unichr) unicodedata.name(unichr[, default]) unicodedata.normalize(form, unistr) unicodedata.numeric(unichr[, default]) unicodedata.ucd_3_2_0 unicodedata.ucnhash_CAPI unicodedata.unidata_version unittest.FunctionTestCase unittest.TestCase unittest.TestLoader unittest.TestProgram unittest.TestResult unittest.TestSuite unittest.TextTestRunner unittest.defaultTestLoader unittest.findTestCases(??) unittest.getTestCaseNames(??) unittest.main unittest.makeSuite(??) unittest.os unittest.sys unittest.time unittest.traceback unittest.types urllib.ContentTooShortError urllib.FancyURLopener(??) urllib.MAXFTPCACHE urllib.URLopener(??) urllib.addbase(??) urllib.addclosehook(??) urllib.addinfo(??) urllib.addinfourl(??) urllib.always_safe urllib.basejoin(??) urllib.ftpcache urllib.ftperrors(??) urllib.ftpwrapper(??) urllib.getproxies(??) urllib.getproxies_environment(??) urllib.localhost(??) urllib.main(??) urllib.noheaders(??) urllib.os urllib.pathname2url(??) urllib.proxy_bypass(??) urllib.quote('abc def') -> 'abc%20def' urllib.quote_plus(??) urllib.reporthook(??) urllib.socket urllib.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.splitgophertype('/Xselector') --> 'X', 'selector'. urllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.splitnport(??) urllib.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.splitport('host:port') --> 'host', 'port'. urllib.splitquery('/path?query') --> '/path', 'query'. urllib.splittag('/path#tag') --> '/path', 'tag'. urllib.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.splitvalue('attr=value') --> 'attr', 'value'. urllib.string urllib.sys urllib.test(??) urllib.test1(??) urllib.thishost(??) urllib.time urllib.toBytes(u"URL") --> 'URL'. urllib.unquote('abc%20def') -> 'abc def'. urllib.unquote_plus(??) urllib.unwrap('') --> 'type://host/path'. urllib.url2pathname(??) urllib.urlcleanup(??) urllib.urlencode(??) urllib.urlopen(url [, data]) -> open file-like object urllib.urlretrieve(??) urllib2.AbstractBasicAuthHandler(??) urllib2.AbstractDigestAuthHandler(??) urllib2.AbstractHTTPHandler(??) urllib2.BaseHandler(??) urllib2.CacheFTPHandler(??) urllib2.FTPHandler(??) urllib2.FileHandler(??) urllib2.GopherError urllib2.GopherHandler(??) urllib2.HTTPBasicAuthHandler(??) urllib2.HTTPCookieProcessor(??) urllib2.HTTPDefaultErrorHandler(??) urllib2.HTTPDigestAuthHandler(??) urllib2.HTTPError urllib2.HTTPErrorProcessor(??) urllib2.HTTPHandler(??) urllib2.HTTPPasswordMgr(??) urllib2.HTTPPasswordMgrWithDefaultRealm(??) urllib2.HTTPRedirectHandler(??) urllib2.HTTPSHandler(??) urllib2.OpenerDirector(??) urllib2.ProxyBasicAuthHandler(??) urllib2.ProxyDigestAuthHandler(??) urllib2.ProxyHandler(??) urllib2.Request(??) urllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing urllib2.URLError urllib2.UnknownHandler(??) urllib2.addinfourl(??) urllib2.base64 urllib2.bisect urllib2.build_opener(??) urllib2.ftpwrapper(??) urllib2.getproxies(??) urllib2.hashlib urllib2.httplib urllib2.install_opener(??) urllib2.localhost(??) urllib2.mimetools urllib2.noheaders(??) urllib2.os urllib2.parse_http_list(??) urllib2.parse_keqv_list(??) urllib2.posixpath urllib2.quote('abc def') -> 'abc%20def' urllib2.random urllib2.randombytes(??) urllib2.re urllib2.request_host(??) urllib2.socket urllib2.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib2.splitgophertype('/Xselector') --> 'X', 'selector'. urllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib2.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib2.splitport('host:port') --> 'host', 'port'. urllib2.splitquery('/path?query') --> '/path', 'query'. urllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib2.splitvalue('attr=value') --> 'attr', 'value'. urllib2.sys urllib2.time urllib2.unquote('abc%20def') -> 'abc def'. urllib2.unwrap('') --> 'type://host/path'. urllib2.url2pathname(??) urllib2.urlopen(??) urllib2.urlparse urlparse.BaseResult urlparse.MAX_CACHE_SIZE urlparse.ParseResult urlparse.SplitResult urlparse.clear_cache(??) urlparse.non_hierarchical urlparse.scheme_chars urlparse.test(??) urlparse.test_input urlparse.urldefrag(??) urlparse.urljoin(??) urlparse.urlparse(??) urlparse.urlsplit(??) urlparse.urlunparse(??) urlparse.urlunsplit(??) urlparse.uses_fragment urlparse.uses_netloc urlparse.uses_params urlparse.uses_query urlparse.uses_relative user.home user.os user.pythonrc uu.Error uu.binascii uu.decode(??) uu.encode(??) uu.os uu.sys uu.test(??) uuid.NAMESPACE_DNS uuid.NAMESPACE_OID uuid.NAMESPACE_URL uuid.NAMESPACE_X500 uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID uuid.ctypes uuid.getnode(??) uuid.lib uuid.libname uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary warnings.defaultaction warnings.filters warnings.filterwarnings(??) warnings.formatwarning(??) warnings.linecache warnings.onceregistry warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys warnings.types warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.big_endian wave.open(??) wave.openfp(??) wave.struct weakref.CallableProxyType weakref.KeyedRef weakref.ProxyType weakref.ProxyTypes weakref.ReferenceError weakref.ReferenceType weakref.UserDict weakref.WeakKeyDictionary(??) weakref.WeakValueDictionary(??) weakref.getweakrefcount(object) -- return the number of weak references weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref webbrowser.BackgroundBrowser webbrowser.BaseBrowser webbrowser.Elinks webbrowser.Error webbrowser.Galeon webbrowser.GenericBrowser webbrowser.Grail webbrowser.Konqueror webbrowser.Mozilla webbrowser.Netscape webbrowser.Opera webbrowser.UnixBrowser webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex webbrowser.stat webbrowser.subprocess webbrowser.sys webbrowser.time whichdb.dbm whichdb.os whichdb.struct whichdb.sys whichdb.whichdb(??) wsgiref.handlers wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.StringType wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os wsgiref.handlers.sys wsgiref.handlers.time wsgiref.headers wsgiref.headers.Headers(??) wsgiref.headers.ListType wsgiref.headers.TupleType wsgiref.headers.re wsgiref.headers.tspecials wsgiref.simple_server wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys wsgiref.simple_server.sys_version wsgiref.simple_server.urllib wsgiref.util wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.DictType wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.ListType wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.StringType wsgiref.validate.TupleType wsgiref.validate.WSGIWarning wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.header_re wsgiref.validate.re wsgiref.validate.sys wsgiref.validate.validator(??) wsgiref.validate.warnings xdrlib.ConversionError xdrlib.Error xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct xml.dom xml.dom.DOMException xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr xml.dom.EMPTY_NAMESPACE xml.dom.EMPTY_PREFIX xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr xml.dom.InuseAttributeErr xml.dom.InvalidAccessErr xml.dom.InvalidCharacterErr xml.dom.InvalidModificationErr xml.dom.InvalidStateErr xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr xml.dom.NoDataAllowedErr xml.dom.NoModificationAllowedErr xml.dom.Node(??) xml.dom.NodeFilter xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr xml.dom.NotSupportedErr xml.dom.SYNTAX_ERR xml.dom.SyntaxErr xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg xml.dom.domreg.EmptyNodeList xml.dom.domreg.NodeList xml.dom.domreg.StringTypes xml.dom.domreg.defproperty(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered xml.dom.domreg.well_known_implementations xml.dom.expatbuilder xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE xml.dom.expatbuilder.EMPTY_PREFIX xml.dom.expatbuilder.ElementInfo xml.dom.expatbuilder.EmptyNodeList xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch xml.dom.expatbuilder.FilterVisibilityController xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.NodeList xml.dom.expatbuilder.ParseEscape xml.dom.expatbuilder.Rejecter xml.dom.expatbuilder.Skipper xml.dom.expatbuilder.StringTypes xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.defproperty(??) xml.dom.expatbuilder.expat xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation xml.dom.expatbuilder.xmlbuilder xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat xml.dom.minicompat.EmptyNodeList xml.dom.minicompat.NodeList xml.dom.minicompat.StringTypes xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml xml.dom.minidom xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE xml.dom.minidom.EMPTY_PREFIX xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo xml.dom.minidom.EmptyNodeList xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap xml.dom.minidom.Node(??) xml.dom.minidom.NodeList xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap xml.dom.minidom.StringTypes xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml xml.dom.pulldom xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.types xml.dom.pulldom.xml xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy xml.dom.xmlbuilder.xml xml.etree xml.etree.ElementInclude xml.etree.ElementInclude.ElementTree xml.etree.ElementInclude.FatalIncludeError xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath xml.etree.ElementPath.Path(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.re xml.etree.ElementPath.xpath_descendant_or_self(??) xml.etree.ElementPath.xpath_tokenizer xml.etree.ElementTree xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLTreeBuilder(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fixtag(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re xml.etree.ElementTree.string xml.etree.ElementTree.sys xml.etree.ElementTree.tostring(??) xml.etree.cElementTree xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element xml.etree.cElementTree.ElementPath xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement xml.etree.cElementTree.TreeBuilder xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser xml.etree.cElementTree.XMLParserError xml.etree.cElementTree.XMLTreeBuilder xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse xml.etree.cElementTree.parse(??) xml.etree.cElementTree.tostring(??) xml.parsers xml.parsers.expat xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error xml.parsers.expat.errors xml.parsers.expat.expat_CAPI xml.parsers.expat.features xml.parsers.expat.model xml.parsers.expat.native_encoding xml.parsers.expat.version_info xml.sax xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException xml.sax.SAXNotRecognizedException xml.sax.SAXNotSupportedException xml.sax.SAXParseException xml.sax.SAXReaderNotAvailable xml.sax.default_parser_list xml.sax.expatreader xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException xml.sax.expatreader.SAXNotRecognizedException xml.sax.expatreader.SAXNotSupportedException xml.sax.expatreader.SAXParseException xml.sax.expatreader.SAXReaderNotAvailable xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils xml.sax.expatreader.version xml.sax.expatreader.xmlreader xml.sax.handler xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features xml.sax.handler.all_properties xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler xml.sax.saxutils.os xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.types xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib xml.sax.saxutils.urlparse xml.sax.saxutils.xmlreader xml.sax.xmlreader xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException xml.sax.xmlreader.SAXNotSupportedException xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler xmlcore.dom xmlcore.dom.DOMException xmlcore.dom.DOMSTRING_SIZE_ERR xmlcore.dom.DomstringSizeErr xmlcore.dom.EMPTY_NAMESPACE xmlcore.dom.EMPTY_PREFIX xmlcore.dom.HIERARCHY_REQUEST_ERR xmlcore.dom.HierarchyRequestErr xmlcore.dom.INDEX_SIZE_ERR xmlcore.dom.INUSE_ATTRIBUTE_ERR xmlcore.dom.INVALID_ACCESS_ERR xmlcore.dom.INVALID_CHARACTER_ERR xmlcore.dom.INVALID_MODIFICATION_ERR xmlcore.dom.INVALID_STATE_ERR xmlcore.dom.IndexSizeErr xmlcore.dom.InuseAttributeErr xmlcore.dom.InvalidAccessErr xmlcore.dom.InvalidCharacterErr xmlcore.dom.InvalidModificationErr xmlcore.dom.InvalidStateErr xmlcore.dom.NAMESPACE_ERR xmlcore.dom.NOT_FOUND_ERR xmlcore.dom.NOT_SUPPORTED_ERR xmlcore.dom.NO_DATA_ALLOWED_ERR xmlcore.dom.NO_MODIFICATION_ALLOWED_ERR xmlcore.dom.NamespaceErr xmlcore.dom.NoDataAllowedErr xmlcore.dom.NoModificationAllowedErr xmlcore.dom.Node(??) xmlcore.dom.NodeFilter xmlcore.dom.NodeFilter.NodeFilter(??) xmlcore.dom.NotFoundErr xmlcore.dom.NotSupportedErr xmlcore.dom.SYNTAX_ERR xmlcore.dom.SyntaxErr xmlcore.dom.UserDataHandler(??) xmlcore.dom.VALIDATION_ERR xmlcore.dom.ValidationErr xmlcore.dom.WRONG_DOCUMENT_ERR xmlcore.dom.WrongDocumentErr xmlcore.dom.XHTML_NAMESPACE xmlcore.dom.XMLNS_NAMESPACE xmlcore.dom.XML_NAMESPACE xmlcore.dom.domreg xmlcore.dom.domreg.EmptyNodeList xmlcore.dom.domreg.NodeList xmlcore.dom.domreg.StringTypes xmlcore.dom.domreg.defproperty(??) xmlcore.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xmlcore.dom.domreg.registerDOMImplementation(name, factory) xmlcore.dom.domreg.registered xmlcore.dom.domreg.well_known_implementations xmlcore.dom.expatbuilder xmlcore.dom.expatbuilder.CDATA_SECTION_NODE xmlcore.dom.expatbuilder.DOCUMENT_NODE xmlcore.dom.expatbuilder.EMPTY_NAMESPACE xmlcore.dom.expatbuilder.EMPTY_PREFIX xmlcore.dom.expatbuilder.ElementInfo xmlcore.dom.expatbuilder.EmptyNodeList xmlcore.dom.expatbuilder.ExpatBuilder(??) xmlcore.dom.expatbuilder.ExpatBuilderNS(??) xmlcore.dom.expatbuilder.FILTER_ACCEPT xmlcore.dom.expatbuilder.FILTER_INTERRUPT xmlcore.dom.expatbuilder.FILTER_REJECT xmlcore.dom.expatbuilder.FILTER_SKIP xmlcore.dom.expatbuilder.FilterCrutch xmlcore.dom.expatbuilder.FilterVisibilityController xmlcore.dom.expatbuilder.FragmentBuilder(??) xmlcore.dom.expatbuilder.FragmentBuilderNS(??) xmlcore.dom.expatbuilder.InternalSubsetExtractor(??) xmlcore.dom.expatbuilder.Namespaces(??) xmlcore.dom.expatbuilder.Node(??) xmlcore.dom.expatbuilder.NodeFilter(??) xmlcore.dom.expatbuilder.NodeList xmlcore.dom.expatbuilder.ParseEscape xmlcore.dom.expatbuilder.Rejecter xmlcore.dom.expatbuilder.Skipper xmlcore.dom.expatbuilder.StringTypes xmlcore.dom.expatbuilder.TEXT_NODE xmlcore.dom.expatbuilder.XMLNS_NAMESPACE xmlcore.dom.expatbuilder.defproperty(??) xmlcore.dom.expatbuilder.expat xmlcore.dom.expatbuilder.makeBuilder(??) xmlcore.dom.expatbuilder.minidom xmlcore.dom.expatbuilder.parse(??) xmlcore.dom.expatbuilder.parseFragment(??) xmlcore.dom.expatbuilder.parseFragmentString(??) xmlcore.dom.expatbuilder.parseString(??) xmlcore.dom.expatbuilder.theDOMImplementation xmlcore.dom.expatbuilder.xmlbuilder xmlcore.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xmlcore.dom.minicompat xmlcore.dom.minicompat.EmptyNodeList xmlcore.dom.minicompat.NodeList xmlcore.dom.minicompat.StringTypes xmlcore.dom.minicompat.defproperty(??) xmlcore.dom.minicompat.xmlcore xmlcore.dom.minidom xmlcore.dom.minidom.Attr(??) xmlcore.dom.minidom.AttributeList xmlcore.dom.minidom.CDATASection(??) xmlcore.dom.minidom.CharacterData(??) xmlcore.dom.minidom.Childless(??) xmlcore.dom.minidom.Comment(??) xmlcore.dom.minidom.DOMImplementation(??) xmlcore.dom.minidom.DOMImplementationLS(??) xmlcore.dom.minidom.Document(??) xmlcore.dom.minidom.DocumentFragment(??) xmlcore.dom.minidom.DocumentLS(??) xmlcore.dom.minidom.DocumentType(??) xmlcore.dom.minidom.EMPTY_NAMESPACE xmlcore.dom.minidom.EMPTY_PREFIX xmlcore.dom.minidom.Element(??) xmlcore.dom.minidom.ElementInfo xmlcore.dom.minidom.EmptyNodeList xmlcore.dom.minidom.Entity(??) xmlcore.dom.minidom.Identified(??) xmlcore.dom.minidom.NamedNodeMap xmlcore.dom.minidom.Node(??) xmlcore.dom.minidom.NodeList xmlcore.dom.minidom.Notation(??) xmlcore.dom.minidom.ProcessingInstruction(??) xmlcore.dom.minidom.ReadOnlySequentialNamedNodeMap xmlcore.dom.minidom.StringTypes xmlcore.dom.minidom.Text(??) xmlcore.dom.minidom.TypeInfo xmlcore.dom.minidom.XMLNS_NAMESPACE xmlcore.dom.minidom.defproperty(??) xmlcore.dom.minidom.domreg xmlcore.dom.minidom.getDOMImplementation(??) xmlcore.dom.minidom.parse(??) xmlcore.dom.minidom.parseString(??) xmlcore.dom.minidom.xmlcore xmlcore.dom.pulldom xmlcore.dom.pulldom.CHARACTERS xmlcore.dom.pulldom.COMMENT xmlcore.dom.pulldom.DOMEventStream(??) xmlcore.dom.pulldom.END_DOCUMENT xmlcore.dom.pulldom.END_ELEMENT xmlcore.dom.pulldom.ErrorHandler(??) xmlcore.dom.pulldom.IGNORABLE_WHITESPACE xmlcore.dom.pulldom.PROCESSING_INSTRUCTION xmlcore.dom.pulldom.PullDOM(??) xmlcore.dom.pulldom.SAX2DOM(??) xmlcore.dom.pulldom.START_DOCUMENT xmlcore.dom.pulldom.START_ELEMENT xmlcore.dom.pulldom.default_bufsize xmlcore.dom.pulldom.parse(??) xmlcore.dom.pulldom.parseString(??) xmlcore.dom.pulldom.types xmlcore.dom.pulldom.xmlcore xmlcore.dom.registerDOMImplementation(name, factory) xmlcore.dom.xmlbuilder xmlcore.dom.xmlbuilder.DOMBuilder(??) xmlcore.dom.xmlbuilder.DOMBuilderFilter(??) xmlcore.dom.xmlbuilder.DOMEntityResolver xmlcore.dom.xmlbuilder.DOMImplementationLS(??) xmlcore.dom.xmlbuilder.DOMInputSource xmlcore.dom.xmlbuilder.DocumentLS(??) xmlcore.dom.xmlbuilder.Options(??) xmlcore.dom.xmlbuilder.copy xmlcore.dom.xmlbuilder.xmlcore xmlcore.etree xmlcore.etree.ElementInclude xmlcore.etree.ElementInclude.ElementTree xmlcore.etree.ElementInclude.FatalIncludeError xmlcore.etree.ElementInclude.XINCLUDE xmlcore.etree.ElementInclude.XINCLUDE_FALLBACK xmlcore.etree.ElementInclude.XINCLUDE_INCLUDE xmlcore.etree.ElementInclude.copy xmlcore.etree.ElementInclude.default_loader(??) xmlcore.etree.ElementInclude.include(??) xmlcore.etree.ElementPath xmlcore.etree.ElementPath.Path(??) xmlcore.etree.ElementPath.find(??) xmlcore.etree.ElementPath.findall(??) xmlcore.etree.ElementPath.findtext(??) xmlcore.etree.ElementPath.re xmlcore.etree.ElementPath.xpath_descendant_or_self(??) xmlcore.etree.ElementPath.xpath_tokenizer xmlcore.etree.ElementTree xmlcore.etree.ElementTree.Comment(??) xmlcore.etree.ElementTree.Element(??) xmlcore.etree.ElementTree.ElementPath xmlcore.etree.ElementTree.ElementTree(??) xmlcore.etree.ElementTree.PI(??) xmlcore.etree.ElementTree.ProcessingInstruction(??) xmlcore.etree.ElementTree.QName(??) xmlcore.etree.ElementTree.SubElement(??) xmlcore.etree.ElementTree.TreeBuilder(??) xmlcore.etree.ElementTree.VERSION xmlcore.etree.ElementTree.XML(??) xmlcore.etree.ElementTree.XMLID(??) xmlcore.etree.ElementTree.XMLParser(??) xmlcore.etree.ElementTree.XMLTreeBuilder(??) xmlcore.etree.ElementTree.dump(??) xmlcore.etree.ElementTree.fixtag(??) xmlcore.etree.ElementTree.fromstring(??) xmlcore.etree.ElementTree.iselement(??) xmlcore.etree.ElementTree.iterparse(??) xmlcore.etree.ElementTree.parse(??) xmlcore.etree.ElementTree.re xmlcore.etree.ElementTree.string xmlcore.etree.ElementTree.sys xmlcore.etree.ElementTree.tostring(??) xmlcore.etree.cElementTree xmlcore.etree.cElementTree.Comment(??) xmlcore.etree.cElementTree.Element xmlcore.etree.cElementTree.ElementPath xmlcore.etree.cElementTree.ElementTree(??) xmlcore.etree.cElementTree.PI(??) xmlcore.etree.cElementTree.ProcessingInstruction(??) xmlcore.etree.cElementTree.QName(??) xmlcore.etree.cElementTree.SubElement xmlcore.etree.cElementTree.TreeBuilder xmlcore.etree.cElementTree.VERSION xmlcore.etree.cElementTree.XML(??) xmlcore.etree.cElementTree.XMLID(??) xmlcore.etree.cElementTree.XMLParser xmlcore.etree.cElementTree.XMLParserError xmlcore.etree.cElementTree.XMLTreeBuilder xmlcore.etree.cElementTree.dump(??) xmlcore.etree.cElementTree.fromstring(??) xmlcore.etree.cElementTree.iselement(??) xmlcore.etree.cElementTree.iterparse xmlcore.etree.cElementTree.parse(??) xmlcore.etree.cElementTree.tostring(??) xmlcore.parsers xmlcore.parsers.expat xmlcore.parsers.expat.EXPAT_VERSION xmlcore.parsers.expat.ErrorString(errno) -> string xmlcore.parsers.expat.ExpatError xmlcore.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xmlcore.parsers.expat.XMLParserType xmlcore.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xmlcore.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xmlcore.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xmlcore.parsers.expat.error xmlcore.parsers.expat.errors xmlcore.parsers.expat.expat_CAPI xmlcore.parsers.expat.features xmlcore.parsers.expat.model xmlcore.parsers.expat.native_encoding xmlcore.parsers.expat.version_info xmlcore.sax xmlcore.sax.ContentHandler(??) xmlcore.sax.ErrorHandler(??) xmlcore.sax.InputSource(??) xmlcore.sax.SAXException xmlcore.sax.SAXNotRecognizedException xmlcore.sax.SAXNotSupportedException xmlcore.sax.SAXParseException xmlcore.sax.SAXReaderNotAvailable xmlcore.sax.default_parser_list xmlcore.sax.expatreader xmlcore.sax.expatreader.AttributesImpl(??) xmlcore.sax.expatreader.AttributesNSImpl(??) xmlcore.sax.expatreader.ExpatLocator(??) xmlcore.sax.expatreader.ExpatParser(??) xmlcore.sax.expatreader.SAXException xmlcore.sax.expatreader.SAXNotRecognizedException xmlcore.sax.expatreader.SAXNotSupportedException xmlcore.sax.expatreader.SAXParseException xmlcore.sax.expatreader.SAXReaderNotAvailable xmlcore.sax.expatreader.create_parser(??) xmlcore.sax.expatreader.expat xmlcore.sax.expatreader.feature_external_ges xmlcore.sax.expatreader.feature_external_pes xmlcore.sax.expatreader.feature_namespace_prefixes xmlcore.sax.expatreader.feature_namespaces xmlcore.sax.expatreader.feature_string_interning xmlcore.sax.expatreader.feature_validation xmlcore.sax.expatreader.handler xmlcore.sax.expatreader.property_interning_dict xmlcore.sax.expatreader.property_xml_string xmlcore.sax.expatreader.saxutils xmlcore.sax.expatreader.version xmlcore.sax.expatreader.xmlreader xmlcore.sax.handler xmlcore.sax.handler.ContentHandler(??) xmlcore.sax.handler.DTDHandler(??) xmlcore.sax.handler.EntityResolver(??) xmlcore.sax.handler.ErrorHandler(??) xmlcore.sax.handler.all_features xmlcore.sax.handler.all_properties xmlcore.sax.handler.feature_external_ges xmlcore.sax.handler.feature_external_pes xmlcore.sax.handler.feature_namespace_prefixes xmlcore.sax.handler.feature_namespaces xmlcore.sax.handler.feature_string_interning xmlcore.sax.handler.feature_validation xmlcore.sax.handler.property_declaration_handler xmlcore.sax.handler.property_dom_node xmlcore.sax.handler.property_encoding xmlcore.sax.handler.property_interning_dict xmlcore.sax.handler.property_lexical_handler xmlcore.sax.handler.property_xml_string xmlcore.sax.handler.version xmlcore.sax.make_parser(??) xmlcore.sax.parse(??) xmlcore.sax.parseString(??) xmlcore.sax.saxutils xmlcore.sax.saxutils.XMLFilterBase(??) xmlcore.sax.saxutils.XMLGenerator(??) xmlcore.sax.saxutils.escape(??) xmlcore.sax.saxutils.handler xmlcore.sax.saxutils.os xmlcore.sax.saxutils.prepare_input_source(??) xmlcore.sax.saxutils.quoteattr(??) xmlcore.sax.saxutils.types xmlcore.sax.saxutils.unescape(??) xmlcore.sax.saxutils.urllib xmlcore.sax.saxutils.urlparse xmlcore.sax.saxutils.xmlreader xmlcore.sax.xmlreader xmlcore.sax.xmlreader.AttributesImpl(??) xmlcore.sax.xmlreader.AttributesNSImpl(??) xmlcore.sax.xmlreader.IncrementalParser(??) xmlcore.sax.xmlreader.InputSource(??) xmlcore.sax.xmlreader.Locator(??) xmlcore.sax.xmlreader.SAXNotRecognizedException xmlcore.sax.xmlreader.SAXNotSupportedException xmlcore.sax.xmlreader.XMLReader(??) xmlcore.sax.xmlreader.handler xmllib.Error xmllib.TestXMLParser(??) xmllib.XMLParser(??) xmllib.amp xmllib.attrfind xmllib.attrtrans xmllib.cdataclose xmllib.cdataopen xmllib.charref xmllib.commentclose xmllib.commentopen xmllib.doctype xmllib.doubledash xmllib.endbracket xmllib.endbracketfind xmllib.endtagopen xmllib.entityref xmllib.illegal xmllib.interesting xmllib.ncname xmllib.newline xmllib.procclose xmllib.procopen xmllib.qname xmllib.re xmllib.ref xmllib.space xmllib.starttagend xmllib.starttagmatch xmllib.starttagopen xmllib.string xmllib.tagfind xmllib.test(??) xmllib.version xmllib.xmldecl xmllib.xmlns xmlrpclib.APPLICATION_ERROR xmlrpclib.Binary(??) xmlrpclib.Boolean xmlrpclib.BooleanType xmlrpclib.BufferType xmlrpclib.BuiltinFunctionType xmlrpclib.BuiltinMethodType xmlrpclib.ClassType xmlrpclib.CodeType xmlrpclib.ComplexType xmlrpclib.DateTime(??) xmlrpclib.DictProxyType xmlrpclib.DictType xmlrpclib.DictionaryType xmlrpclib.EllipsisType xmlrpclib.Error xmlrpclib.ExpatParser(??) xmlrpclib.False xmlrpclib.FastMarshaller xmlrpclib.FastParser xmlrpclib.FastUnmarshaller xmlrpclib.Fault xmlrpclib.FileType xmlrpclib.FloatType xmlrpclib.FrameType xmlrpclib.FunctionType xmlrpclib.GeneratorType xmlrpclib.GetSetDescriptorType xmlrpclib.INTERNAL_ERROR xmlrpclib.INVALID_ENCODING_CHAR xmlrpclib.INVALID_METHOD_PARAMS xmlrpclib.INVALID_XMLRPC xmlrpclib.InstanceType xmlrpclib.IntType xmlrpclib.LambdaType xmlrpclib.ListType xmlrpclib.LongType xmlrpclib.MAXINT xmlrpclib.METHOD_NOT_FOUND xmlrpclib.MININT xmlrpclib.Marshaller(??) xmlrpclib.MemberDescriptorType xmlrpclib.MethodType xmlrpclib.ModuleType xmlrpclib.MultiCall(??) xmlrpclib.MultiCallIterator(??) xmlrpclib.NOT_WELLFORMED_ERROR xmlrpclib.NoneType xmlrpclib.NotImplementedType xmlrpclib.ObjectType xmlrpclib.PARSE_ERROR xmlrpclib.ProtocolError xmlrpclib.ResponseError xmlrpclib.SERVER_ERROR xmlrpclib.SYSTEM_ERROR xmlrpclib.SafeTransport(??) xmlrpclib.Server(??) xmlrpclib.ServerProxy(??) xmlrpclib.SgmlopParser xmlrpclib.SliceType xmlrpclib.SlowParser(??) xmlrpclib.StringIO xmlrpclib.StringType xmlrpclib.StringTypes xmlrpclib.TRANSPORT_ERROR xmlrpclib.TracebackType xmlrpclib.Transport(??) xmlrpclib.True xmlrpclib.TupleType xmlrpclib.TypeType xmlrpclib.UNSUPPORTED_ENCODING xmlrpclib.UnboundMethodType xmlrpclib.UnicodeType xmlrpclib.Unmarshaller(??) xmlrpclib.WRAPPERS xmlrpclib.XRangeType xmlrpclib.base64 xmlrpclib.boolean xmlrpclib.datetime xmlrpclib.dumps(??) xmlrpclib.escape(??) xmlrpclib.expat xmlrpclib.getparser() -> parser, unmarshaller xmlrpclib.loads(??) xmlrpclib.operator xmlrpclib.re xmlrpclib.string xmlrpclib.time xrange([start,] stop[, step]) -> xrange object xxsubtype.bench xxsubtype.spamdict xxsubtype.spamlist zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] zipfile.BadZipfile zipfile.LargeZipFile zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP_DEFLATED zipfile.ZIP_STORED zipfile.ZipFile(??) zipfile.ZipInfo zipfile.binascii zipfile.cStringIO zipfile.error zipfile.is_zipfile(??) zipfile.main(??) zipfile.os zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys zipfile.time zipfile.zlib zipimport.ZipImportError zipimport.zipimporter(archivepath) -> zipimporter object zlib.DEFLATED zlib.DEF_MEM_LEVEL zlib.MAX_WBITS zlib.ZLIB_VERSION zlib.Z_BEST_COMPRESSION zlib.Z_BEST_SPEED zlib.Z_DEFAULT_COMPRESSION zlib.Z_DEFAULT_STRATEGY zlib.Z_FILTERED zlib.Z_FINISH zlib.Z_FULL_FLUSH zlib.Z_HUFFMAN_ONLY zlib.Z_NO_FLUSH zlib.Z_SYNC_FLUSH zlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string. zlib.compress(string[, level]) -- Returned compressed string. zlib.compressobj([level]) -- Return a compressor object. zlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. zlib.decompressobj([wbits]) -- Return a decompressor object. zlib.error ================================================ FILE: src/qscint/qsci/api/python/Python-2.6.api ================================================ ArithmeticError AssertionError AttributeError BaseException BaseHTTPServer.BaseHTTPRequestHandler(??) BaseHTTPServer.DEFAULT_ERROR_CONTENT_TYPE BaseHTTPServer.DEFAULT_ERROR_MESSAGE BaseHTTPServer.HTTPServer(??) BaseHTTPServer.SocketServer BaseHTTPServer.catch_warnings BaseHTTPServer.filterwarnings(??) BaseHTTPServer.mimetools BaseHTTPServer.socket BaseHTTPServer.sys BaseHTTPServer.test(??) BaseHTTPServer.time Bastion.Bastion(??) Bastion.BastionClass(??) Bastion.MethodType BufferError BytesWarning CGIHTTPServer.BaseHTTPServer CGIHTTPServer.CGIHTTPRequestHandler(??) CGIHTTPServer.SimpleHTTPServer CGIHTTPServer.executable(??) CGIHTTPServer.nobody CGIHTTPServer.nobody_uid(??) CGIHTTPServer.os CGIHTTPServer.select CGIHTTPServer.sys CGIHTTPServer.test(??) CGIHTTPServer.urllib ConfigParser.ConfigParser(??) ConfigParser.DEFAULTSECT ConfigParser.DuplicateSectionError ConfigParser.Error ConfigParser.InterpolationDepthError ConfigParser.InterpolationError ConfigParser.InterpolationMissingOptionError ConfigParser.InterpolationSyntaxError ConfigParser.MAX_INTERPOLATION_DEPTH ConfigParser.MissingSectionHeaderError ConfigParser.NoOptionError ConfigParser.NoSectionError ConfigParser.ParsingError ConfigParser.RawConfigParser(??) ConfigParser.SafeConfigParser(??) ConfigParser.re Cookie.BaseCookie Cookie.Cookie Cookie.CookieError Cookie.Morsel Cookie.SerialCookie Cookie.SimpleCookie Cookie.SmartCookie Cookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. Cookie.loads(string) -- Load a pickle from the given string Cookie.re Cookie.string Cookie.warnings DeprecationWarning DocXMLRPCServer.CGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocCGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCServer(??) DocXMLRPCServer.ServerHTMLDoc(??) DocXMLRPCServer.SimpleXMLRPCRequestHandler(??) DocXMLRPCServer.SimpleXMLRPCServer(??) DocXMLRPCServer.XMLRPCDocGenerator(??) DocXMLRPCServer.inspect DocXMLRPCServer.pydoc DocXMLRPCServer.re DocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d DocXMLRPCServer.sys EOFError Ellipsis EnvironmentError Exception False FloatingPointError FutureWarning GeneratorExit HTMLParser.HTMLParseError HTMLParser.HTMLParser(??) HTMLParser.attrfind HTMLParser.charref HTMLParser.commentclose HTMLParser.endendtag HTMLParser.endtagfind HTMLParser.entityref HTMLParser.incomplete HTMLParser.interesting_cdata HTMLParser.interesting_normal HTMLParser.locatestarttagend HTMLParser.markupbase HTMLParser.piclose HTMLParser.re HTMLParser.starttagopen HTMLParser.tagfind IOError ImportError ImportWarning IndentationError IndexError KeyError KeyboardInterrupt LookupError MemoryError MimeWriter.MimeWriter(??) MimeWriter.mimetools MimeWriter.warnings NameError None NotImplemented NotImplementedError OSError OverflowError PendingDeprecationWarning Queue.Empty Queue.Full Queue.LifoQueue(??) Queue.PriorityQueue(??) Queue.Queue(??) Queue.deque(iterable[, maxlen]) --> deque object Queue.heapq ReferenceError RuntimeError RuntimeWarning SimpleHTTPServer.BaseHTTPServer SimpleHTTPServer.SimpleHTTPRequestHandler(??) SimpleHTTPServer.StringIO([s]) -- Return a StringIO-like stream for reading or writing SimpleHTTPServer.cgi SimpleHTTPServer.mimetypes SimpleHTTPServer.os SimpleHTTPServer.posixpath SimpleHTTPServer.shutil SimpleHTTPServer.test(??) SimpleHTTPServer.urllib SimpleXMLRPCServer.BaseHTTPServer SimpleXMLRPCServer.CGIXMLRPCRequestHandler(??) SimpleXMLRPCServer.Fault SimpleXMLRPCServer.SimpleXMLRPCDispatcher(??) SimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??) SimpleXMLRPCServer.SimpleXMLRPCServer(??) SimpleXMLRPCServer.SocketServer SimpleXMLRPCServer.fcntl SimpleXMLRPCServer.list_public_methods(??) SimpleXMLRPCServer.os SimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2] SimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d SimpleXMLRPCServer.sys SimpleXMLRPCServer.traceback SimpleXMLRPCServer.xmlrpclib SocketServer.BaseRequestHandler(??) SocketServer.BaseServer(??) SocketServer.DatagramRequestHandler(??) SocketServer.ForkingMixIn(??) SocketServer.ForkingTCPServer(??) SocketServer.ForkingUDPServer(??) SocketServer.StreamRequestHandler(??) SocketServer.TCPServer(??) SocketServer.ThreadingMixIn(??) SocketServer.ThreadingTCPServer(??) SocketServer.ThreadingUDPServer(??) SocketServer.ThreadingUnixDatagramServer(??) SocketServer.ThreadingUnixStreamServer(??) SocketServer.UDPServer(??) SocketServer.UnixDatagramServer(??) SocketServer.UnixStreamServer(??) SocketServer.os SocketServer.select SocketServer.socket SocketServer.sys SocketServer.threading StandardError StopIteration StringIO.EINVAL StringIO.StringIO(??) StringIO.test(??) SyntaxError SyntaxWarning SystemError SystemExit TabError True TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserDict.DictMixin(??) UserDict.IterableUserDict(??) UserDict.UserDict(??) UserList.UserList UserList.collections UserString.MutableString UserString.UserString UserString.collections UserString.sys UserWarning ValueError Warning ZeroDivisionError abc.ABCMeta abc.abstractmethod(??) abc.abstractproperty abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error aifc.open(??) aifc.openfp(??) aifc.struct all(iterable) -> bool any(iterable) -> bool anydbm.error anydbm.open(??) apply(object[, args[, kwargs]]) -> value array.ArrayType array.array(typecode [, initializer]) -> array ast.AST ast.Add ast.And ast.Assert ast.Assign ast.Attribute ast.AugAssign ast.AugLoad ast.AugStore ast.BinOp ast.BitAnd ast.BitOr ast.BitXor ast.BoolOp ast.Break ast.Call ast.ClassDef ast.Compare ast.Continue ast.Del ast.Delete ast.Dict ast.Div ast.Ellipsis ast.Eq ast.ExceptHandler ast.Exec ast.Expr ast.Expression ast.ExtSlice ast.FloorDiv ast.For ast.FunctionDef ast.GeneratorExp ast.Global ast.Gt ast.GtE ast.If ast.IfExp ast.Import ast.ImportFrom ast.In ast.Index ast.Interactive ast.Invert ast.Is ast.IsNot ast.LShift ast.Lambda ast.List ast.ListComp ast.Load ast.Lt ast.LtE ast.Mod ast.Module ast.Mult ast.Name ast.NodeTransformer ast.NodeVisitor ast.Not ast.NotEq ast.NotIn ast.Num ast.Or ast.Param ast.Pass ast.Pow ast.Print ast.PyCF_ONLY_AST ast.RShift ast.Raise ast.Repr ast.Return ast.Slice ast.Store ast.Str ast.Sub ast.Subscript ast.Suite ast.TryExcept ast.TryFinally ast.Tuple ast.UAdd ast.USub ast.UnaryOp ast.While ast.With ast.Yield ast.alias ast.arguments ast.boolop ast.cmpop ast.comprehension ast.copy_location(??) ast.dump(??) ast.excepthandler ast.expr ast.expr_context ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword ast.literal_eval(??) ast.mod ast.operator ast.parse(??) ast.slice ast.stmt ast.unaryop ast.walk(??) asynchat.async_chat(??) asynchat.asyncore asynchat.catch_warnings asynchat.deque(iterable[, maxlen]) --> deque object asynchat.fifo(??) asynchat.filterwarnings(??) asynchat.find_prefix_at_end(??) asynchat.py3kwarning asynchat.simple_producer(??) asynchat.socket asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINTR asyncore.EISCONN asyncore.ENOTCONN asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode asyncore.fcntl asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select asyncore.socket asyncore.socket_map asyncore.sys asyncore.time asyncore.write(??) atexit.register(??) atexit.sys audiodev.AudioDev(??) audiodev.Play_Audio_sgi(??) audiodev.Play_Audio_sun(??) audiodev.error audiodev.test(??) audioop.add audioop.adpcm2lin audioop.alaw2lin audioop.avg audioop.avgpp audioop.bias audioop.cross audioop.error audioop.findfactor audioop.findfit audioop.findmax audioop.getsample audioop.lin2adpcm audioop.lin2alaw audioop.lin2lin audioop.lin2ulaw audioop.max audioop.maxpp audioop.minmax audioop.mul audioop.ratecv audioop.reverse audioop.rms audioop.tomono audioop.tostereo audioop.ulaw2lin base64.EMPTYSTRING base64.MAXBINSIZE base64.MAXLINESIZE base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.binascii base64.decode(??) base64.decodestring(??) base64.encode(??) base64.encodestring(??) base64.k base64.re base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct base64.test(??) base64.test1(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) base64.v basestring bdb.Bdb(??) bdb.BdbQuit bdb.Breakpoint(??) bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.foo(??) bdb.os bdb.set_trace(??) bdb.sys bdb.test(??) bdb.types bin(number) -> string binascii.Error binascii.Incomplete binascii.a2b_base64 binascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation. binascii.a2b_hqx binascii.a2b_qp binascii.a2b_uu binascii.b2a_base64 binascii.b2a_hex(data) -> s; Hexadecimal representation of binary data. binascii.b2a_hqx binascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; binascii.b2a_uu binascii.crc32 binascii.crc_hqx binascii.hexlify binascii.rlecode_hqx binascii.rledecode_hqx binascii.unhexlify binhex.BinHex(??) binhex.Error binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii binhex.binhex(??) binhex.getfileinfo(??) binhex.hexbin(??) binhex.openrsrc(??) binhex.os binhex.struct binhex.sys bisect.bisect bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool buffer(object [, offset[, size]]) bytearray(iterable_of_ints) -> bytearray. bytes cPickle.BadPickleGet cPickle.HIGHEST_PROTOCOL cPickle.PickleError cPickle.Pickler(file, protocol=0) -- Create a pickler. cPickle.PicklingError cPickle.UnpickleableError cPickle.Unpickler(file) -- Create an unpickler. cPickle.UnpicklingError cPickle.compatible_formats cPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file. cPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. cPickle.format_version cPickle.load(file) -- Load a pickle from the given file cPickle.loads(string) -- Load a pickle from the given string cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.help(??) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) cStringIO.InputType cStringIO.OutputType cStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing cStringIO.cStringIO_CAPI calendar.Calendar calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar calendar.IllegalMonthError calendar.IllegalWeekdayError calendar.January calendar.LocaleHTMLCalendar calendar.LocaleTextCalendar calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar calendar.TimeEncoding(??) calendar.WEDNESDAY calendar.c calendar.calendar calendar.datetime calendar.day_abbr calendar.day_name calendar.error calendar.firstweekday calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays calendar.month calendar.month_abbr calendar.month_name calendar.monthcalendar calendar.monthrange(??) calendar.prcal calendar.prmonth calendar.prweek calendar.setfirstweekday(??) calendar.sys calendar.timegm(??) calendar.week calendar.weekday(??) calendar.weekheader callable(object) -> bool cgi.FieldStorage(??) cgi.FormContent(??) cgi.FormContentDict(??) cgi.InterpFormContentDict(??) cgi.MiniFieldStorage(??) cgi.StringIO([s]) -- Return a StringIO-like stream for reading or writing cgi.SvFormContentDict(??) cgi.UserDict cgi.attrgetter(attr, ...) --> attrgetter object cgi.catch_warnings cgi.dolog(??) cgi.escape(??) cgi.filterwarnings(??) cgi.initlog(??) cgi.log(??) cgi.logfile cgi.logfp cgi.maxlen cgi.mimetools cgi.nolog(??) cgi.os cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.rfc822 cgi.sys cgi.test(??) cgi.urllib cgi.urlparse cgi.valid_boundary(??) cgi.warn cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler cgitb.html(??) cgitb.lookup(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys cgitb.text(??) chr(i) -> character chunk.Chunk(??) classmethod(function) -> method cmath.acos(x) cmath.acosh(x) cmath.asin(x) cmath.asinh(x) cmath.atan(x) cmath.atanh(x) cmath.cos(x) cmath.cosh(x) cmath.e cmath.exp(x) cmath.isinf(z) -> bool cmath.isnan(z) -> bool cmath.log(x[, base]) -> the logarithm of x to the given base. cmath.log10(x) cmath.phase(z) -> float cmath.pi cmath.polar(z) -> r: float, phi: float cmath.rect(r, phi) -> z: complex cmath.sin(x) cmath.sinh(x) cmath.sqrt(x) cmath.tan(x) cmath.tanh(x) cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string cmp(x, y) -> integer code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.softspace(??) code.sys code.traceback codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder codecs.BufferedIncrementalEncoder codecs.Codec(??) codecs.CodecInfo codecs.EncodedFile(??) codecs.IncrementalDecoder codecs.IncrementalEncoder codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode codecs.ascii_encode codecs.backslashreplace_errors codecs.charbuffer_encode codecs.charmap_build codecs.charmap_decode codecs.charmap_encode codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode codecs.escape_encode codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode codecs.latin_1_encode codecs.lookup(encoding) -> CodecInfo codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode codecs.raw_unicode_escape_encode codecs.readbuffer_encode codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors codecs.strict_errors codecs.sys codecs.unicode_escape_decode codecs.unicode_escape_encode codecs.unicode_internal_decode codecs.unicode_internal_encode codecs.utf_16_be_decode codecs.utf_16_be_encode codecs.utf_16_decode codecs.utf_16_encode codecs.utf_16_ex_decode codecs.utf_16_le_decode codecs.utf_16_le_encode codecs.utf_32_be_decode codecs.utf_32_be_encode codecs.utf_32_decode codecs.utf_32_encode codecs.utf_32_ex_decode codecs.utf_32_le_decode codecs.utf_32_le_encode codecs.utf_7_decode codecs.utf_7_encode codecs.utf_8_decode codecs.utf_8_encode codecs.xmlcharrefreplace_errors codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) codeop.fname coerce(x, y) -> (x1, y1) collections.Callable collections.Container collections.Hashable collections.ItemsView collections.Iterable collections.Iterator collections.KeysView collections.Mapping collections.MappingView collections.MutableMapping collections.MutableSequence collections.MutableSet collections.Sequence collections.Set collections.Sized collections.ValuesView collections.defaultdict(default_factory) --> dict with default factory collections.deque(iterable[, maxlen]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) commands.getoutput(??) commands.getstatus(??) commands.getstatusoutput(??) commands.mk2arg(??) commands.mkarg(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_path(??) compileall.main(??) compileall.os compileall.py_compile compileall.sys compiler.ast compiler.ast.Add(??) compiler.ast.And(??) compiler.ast.AssAttr(??) compiler.ast.AssList(??) compiler.ast.AssName(??) compiler.ast.AssTuple(??) compiler.ast.Assert(??) compiler.ast.Assign(??) compiler.ast.AugAssign(??) compiler.ast.Backquote(??) compiler.ast.Bitand(??) compiler.ast.Bitor(??) compiler.ast.Bitxor(??) compiler.ast.Break(??) compiler.ast.CO_VARARGS compiler.ast.CO_VARKEYWORDS compiler.ast.CallFunc(??) compiler.ast.Class(??) compiler.ast.Compare(??) compiler.ast.Const(??) compiler.ast.Continue(??) compiler.ast.Decorators(??) compiler.ast.Dict(??) compiler.ast.Discard(??) compiler.ast.Div(??) compiler.ast.Ellipsis(??) compiler.ast.EmptyNode(??) compiler.ast.Exec(??) compiler.ast.Expression(??) compiler.ast.FloorDiv(??) compiler.ast.For(??) compiler.ast.From(??) compiler.ast.Function(??) compiler.ast.GenExpr(??) compiler.ast.GenExprFor(??) compiler.ast.GenExprIf(??) compiler.ast.GenExprInner(??) compiler.ast.Getattr(??) compiler.ast.Global(??) compiler.ast.If(??) compiler.ast.IfExp(??) compiler.ast.Import(??) compiler.ast.Invert(??) compiler.ast.Keyword(??) compiler.ast.Lambda(??) compiler.ast.LeftShift(??) compiler.ast.List(??) compiler.ast.ListComp(??) compiler.ast.ListCompFor(??) compiler.ast.ListCompIf(??) compiler.ast.Mod(??) compiler.ast.Module(??) compiler.ast.Mul(??) compiler.ast.Name(??) compiler.ast.Node(??) compiler.ast.Not(??) compiler.ast.Or(??) compiler.ast.Pass(??) compiler.ast.Power(??) compiler.ast.Print(??) compiler.ast.Printnl(??) compiler.ast.Raise(??) compiler.ast.Return(??) compiler.ast.RightShift(??) compiler.ast.Slice(??) compiler.ast.Sliceobj(??) compiler.ast.Stmt(??) compiler.ast.Sub(??) compiler.ast.Subscript(??) compiler.ast.TryExcept(??) compiler.ast.TryFinally(??) compiler.ast.Tuple(??) compiler.ast.UnaryAdd(??) compiler.ast.UnarySub(??) compiler.ast.While(??) compiler.ast.With(??) compiler.ast.Yield(??) compiler.ast.flatten(??) compiler.ast.flatten_nodes(??) compiler.ast.name compiler.ast.nodes compiler.ast.obj(??) compiler.compile(??) compiler.compileFile(??) compiler.consts compiler.consts.CO_FUTURE_ABSIMPORT compiler.consts.CO_FUTURE_DIVISION compiler.consts.CO_FUTURE_PRINT_FUNCTION compiler.consts.CO_FUTURE_WITH_STATEMENT compiler.consts.CO_GENERATOR compiler.consts.CO_GENERATOR_ALLOWED compiler.consts.CO_NESTED compiler.consts.CO_NEWLOCALS compiler.consts.CO_OPTIMIZED compiler.consts.CO_VARARGS compiler.consts.CO_VARKEYWORDS compiler.consts.OP_APPLY compiler.consts.OP_ASSIGN compiler.consts.OP_DELETE compiler.consts.SC_CELL compiler.consts.SC_FREE compiler.consts.SC_GLOBAL compiler.consts.SC_LOCAL compiler.consts.SC_UNKNOWN compiler.future compiler.future.BadFutureParser(??) compiler.future.FutureParser(??) compiler.future.ast compiler.future.find_futures(??) compiler.future.is_future(??) compiler.future.walk(??) compiler.misc compiler.misc.MANGLE_LEN compiler.misc.Set(??) compiler.misc.Stack(??) compiler.misc.flatten(??) compiler.misc.mangle(??) compiler.misc.set_filename(??) compiler.parse(??) compiler.parseFile(??) compiler.pyassem compiler.pyassem.Block(??) compiler.pyassem.CONV compiler.pyassem.CO_NEWLOCALS compiler.pyassem.CO_OPTIMIZED compiler.pyassem.CO_VARARGS compiler.pyassem.CO_VARKEYWORDS compiler.pyassem.DONE compiler.pyassem.FLAT compiler.pyassem.FlowGraph(??) compiler.pyassem.LineAddrTable(??) compiler.pyassem.PyFlowGraph(??) compiler.pyassem.RAW compiler.pyassem.StackDepthTracker(??) compiler.pyassem.TupleArg(??) compiler.pyassem.dfs_postorder(??) compiler.pyassem.dis compiler.pyassem.findDepth compiler.pyassem.getArgCount(??) compiler.pyassem.isJump(??) compiler.pyassem.misc compiler.pyassem.sys compiler.pyassem.twobyte(??) compiler.pyassem.types compiler.pycodegen compiler.pycodegen.AbstractClassCode(??) compiler.pycodegen.AbstractCompileMode(??) compiler.pycodegen.AbstractFunctionCode(??) compiler.pycodegen.AugGetattr(??) compiler.pycodegen.AugName(??) compiler.pycodegen.AugSlice(??) compiler.pycodegen.AugSubscript(??) compiler.pycodegen.CO_FUTURE_ABSIMPORT compiler.pycodegen.CO_FUTURE_DIVISION compiler.pycodegen.CO_FUTURE_PRINT_FUNCTION compiler.pycodegen.CO_FUTURE_WITH_STATEMENT compiler.pycodegen.CO_GENERATOR compiler.pycodegen.CO_NESTED compiler.pycodegen.CO_NEWLOCALS compiler.pycodegen.CO_VARARGS compiler.pycodegen.CO_VARKEYWORDS compiler.pycodegen.ClassCodeGenerator(??) compiler.pycodegen.CodeGenerator(??) compiler.pycodegen.Delegator(??) compiler.pycodegen.END_FINALLY compiler.pycodegen.EXCEPT compiler.pycodegen.Expression(??) compiler.pycodegen.ExpressionCodeGenerator(??) compiler.pycodegen.FunctionCodeGenerator(??) compiler.pycodegen.GenExprCodeGenerator(??) compiler.pycodegen.Interactive(??) compiler.pycodegen.InteractiveCodeGenerator(??) compiler.pycodegen.LOOP compiler.pycodegen.LocalNameFinder(??) compiler.pycodegen.Module(??) compiler.pycodegen.ModuleCodeGenerator(??) compiler.pycodegen.NestedScopeMixin(??) compiler.pycodegen.OpFinder(??) compiler.pycodegen.SC_CELL compiler.pycodegen.SC_FREE compiler.pycodegen.SC_GLOBAL compiler.pycodegen.SC_LOCAL compiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing compiler.pycodegen.TRY_FINALLY compiler.pycodegen.TupleArg(??) compiler.pycodegen.VERSION compiler.pycodegen.ast compiler.pycodegen.callfunc_opcode_info compiler.pycodegen.compile(??) compiler.pycodegen.compileFile(??) compiler.pycodegen.findOp(??) compiler.pycodegen.future compiler.pycodegen.generateArgList(??) compiler.pycodegen.imp compiler.pycodegen.is_constant_false(??) compiler.pycodegen.marshal compiler.pycodegen.misc compiler.pycodegen.os compiler.pycodegen.parse(??) compiler.pycodegen.pyassem compiler.pycodegen.struct compiler.pycodegen.symbols compiler.pycodegen.syntax compiler.pycodegen.sys compiler.pycodegen.walk(??) compiler.pycodegen.wrap_aug(??) compiler.pycodegen.wrapper compiler.symbols compiler.symbols.ClassScope(??) compiler.symbols.FunctionScope(??) compiler.symbols.GenExprScope(??) compiler.symbols.LambdaScope(??) compiler.symbols.MANGLE_LEN compiler.symbols.ModuleScope(??) compiler.symbols.SC_CELL compiler.symbols.SC_FREE compiler.symbols.SC_GLOBAL compiler.symbols.SC_LOCAL compiler.symbols.SC_UNKNOWN compiler.symbols.Scope(??) compiler.symbols.SymbolVisitor(??) compiler.symbols.ast compiler.symbols.list_eq(??) compiler.symbols.mangle(??) compiler.symbols.sys compiler.symbols.types compiler.syntax compiler.syntax.SyntaxErrorChecker(??) compiler.syntax.ast compiler.syntax.check(??) compiler.syntax.walk(??) compiler.transformer compiler.transformer.Add(??) compiler.transformer.And(??) compiler.transformer.AssAttr(??) compiler.transformer.AssList(??) compiler.transformer.AssName(??) compiler.transformer.AssTuple(??) compiler.transformer.Assert(??) compiler.transformer.Assign(??) compiler.transformer.AugAssign(??) compiler.transformer.Backquote(??) compiler.transformer.Bitand(??) compiler.transformer.Bitor(??) compiler.transformer.Bitxor(??) compiler.transformer.Break(??) compiler.transformer.CO_VARARGS compiler.transformer.CO_VARKEYWORDS compiler.transformer.CallFunc(??) compiler.transformer.Class(??) compiler.transformer.Compare(??) compiler.transformer.Const(??) compiler.transformer.Continue(??) compiler.transformer.Decorators(??) compiler.transformer.Dict(??) compiler.transformer.Discard(??) compiler.transformer.Div(??) compiler.transformer.Ellipsis(??) compiler.transformer.EmptyNode(??) compiler.transformer.Exec(??) compiler.transformer.Expression(??) compiler.transformer.FloorDiv(??) compiler.transformer.For(??) compiler.transformer.From(??) compiler.transformer.Function(??) compiler.transformer.GenExpr(??) compiler.transformer.GenExprFor(??) compiler.transformer.GenExprIf(??) compiler.transformer.GenExprInner(??) compiler.transformer.Getattr(??) compiler.transformer.Global(??) compiler.transformer.If(??) compiler.transformer.IfExp(??) compiler.transformer.Import(??) compiler.transformer.Invert(??) compiler.transformer.Keyword(??) compiler.transformer.Lambda(??) compiler.transformer.LeftShift(??) compiler.transformer.List(??) compiler.transformer.ListComp(??) compiler.transformer.ListCompFor(??) compiler.transformer.ListCompIf(??) compiler.transformer.Mod(??) compiler.transformer.Module(??) compiler.transformer.Mul(??) compiler.transformer.Name(??) compiler.transformer.Node(??) compiler.transformer.Not(??) compiler.transformer.OP_APPLY compiler.transformer.OP_ASSIGN compiler.transformer.OP_DELETE compiler.transformer.Or(??) compiler.transformer.Pass(??) compiler.transformer.Power(??) compiler.transformer.Print(??) compiler.transformer.Printnl(??) compiler.transformer.Raise(??) compiler.transformer.Return(??) compiler.transformer.RightShift(??) compiler.transformer.Slice(??) compiler.transformer.Sliceobj(??) compiler.transformer.Stmt(??) compiler.transformer.Sub(??) compiler.transformer.Subscript(??) compiler.transformer.Transformer(??) compiler.transformer.TryExcept(??) compiler.transformer.TryFinally(??) compiler.transformer.Tuple(??) compiler.transformer.UnaryAdd(??) compiler.transformer.UnarySub(??) compiler.transformer.WalkerError compiler.transformer.While(??) compiler.transformer.With(??) compiler.transformer.Yield(??) compiler.transformer.asList(??) compiler.transformer.debug_tree(??) compiler.transformer.extractLineNo(??) compiler.transformer.flatten(??) compiler.transformer.flatten_nodes(??) compiler.transformer.k compiler.transformer.name compiler.transformer.nodes compiler.transformer.obj(??) compiler.transformer.parse(??) compiler.transformer.parseFile(??) compiler.transformer.parser compiler.transformer.symbol compiler.transformer.token compiler.transformer.v compiler.visitor compiler.visitor.ASTVisitor(??) compiler.visitor.ExampleASTVisitor(??) compiler.visitor.ast compiler.visitor.dumpNode(??) compiler.visitor.walk(??) compiler.walk(??) complex(real[, imag]) -> complex number contextlib.GeneratorContextManager contextlib.closing contextlib.contextmanager(??) contextlib.nested(??) contextlib.sys contextlib.wraps(??) cookielib.Absent(??) cookielib.Cookie(??) cookielib.CookieJar(??) cookielib.CookiePolicy(??) cookielib.DAYS cookielib.DEFAULT_HTTP_PORT cookielib.DefaultCookiePolicy(??) cookielib.EPOCH_YEAR cookielib.ESCAPED_CHAR_RE cookielib.FileCookieJar(??) cookielib.HEADER_ESCAPE_RE cookielib.HEADER_JOIN_ESCAPE_RE cookielib.HEADER_QUOTED_VALUE_RE cookielib.HEADER_TOKEN_RE cookielib.HEADER_VALUE_RE cookielib.HTTP_PATH_SAFE cookielib.IPV4_RE cookielib.ISO_DATE_RE cookielib.LOOSE_HTTP_DATE_RE cookielib.LWPCookieJar(??) cookielib.LoadError cookielib.MISSING_FILENAME_TEXT cookielib.MONTHS cookielib.MONTHS_LOWER cookielib.MozillaCookieJar(??) cookielib.STRICT_DATE_RE cookielib.TIMEZONE_RE cookielib.UTC_ZONES cookielib.WEEKDAY_RE cookielib.copy cookielib.cut_port_re cookielib.debug cookielib.deepvalues(??) cookielib.domain_match(??) cookielib.eff_request_host(??) cookielib.escape_path(??) cookielib.http2time(??) cookielib.httplib cookielib.is_HDN(??) cookielib.is_third_party(??) cookielib.iso2time(??) cookielib.join_header_words(??) cookielib.liberal_is_HDN(??) cookielib.logger cookielib.lwp_cookie_str(??) cookielib.month cookielib.offset_from_tz_string(??) cookielib.parse_ns_headers(??) cookielib.re cookielib.reach(??) cookielib.request_host(??) cookielib.request_path(??) cookielib.request_port(??) cookielib.split_header_words(??) cookielib.time cookielib.time2isoz(??) cookielib.time2netscape(??) cookielib.timegm(??) cookielib.unmatched(??) cookielib.uppercase_escaped_char(??) cookielib.urllib cookielib.urlparse cookielib.user_domain_match(??) cookielib.vals_sorted_by_key(??) copy.Error copy.PyStringMap copy.copy(??) copy.deepcopy(??) copy.dispatch_table copy.error copy.name copy.t copy_reg.add_extension(??) copy_reg.clear_extension_cache(??) copy_reg.constructor(??) copy_reg.dispatch_table copy_reg.pickle(??) copy_reg.pickle_complex(??) copy_reg.remove_extension(??) copyright credits crypt.crypt(word, salt) -> string csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO([s]) -- Return a StringIO-like stream for reading or writing csv.excel(??) csv.excel_tab(??) csv.field_size_limit csv.get_dialect csv.list_dialects csv.re csv.reader csv.reduce(function, sequence[, initial]) -> value csv.register_dialect csv.unregister_dialect csv.writer ctypes.ARRAY(??) ctypes.ArgumentError ctypes.Array ctypes.BigEndianStructure ctypes.CDLL ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader ctypes.LittleEndianStructure ctypes.POINTER ctypes.PYFUNCTYPE(??) ctypes.PyDLL ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure ctypes.Union ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool ctypes.c_buffer(??) ctypes.c_byte ctypes.c_char ctypes.c_char_p ctypes.c_double ctypes.c_float ctypes.c_int ctypes.c_int16 ctypes.c_int32 ctypes.c_int64 ctypes.c_int8 ctypes.c_long ctypes.c_longdouble ctypes.c_longlong ctypes.c_short ctypes.c_size_t ctypes.c_ubyte ctypes.c_uint ctypes.c_uint16 ctypes.c_uint32 ctypes.c_uint64 ctypes.c_uint8 ctypes.c_ulong ctypes.c_ulonglong ctypes.c_ushort ctypes.c_void_p ctypes.c_voidp ctypes.c_wchar ctypes.c_wchar_p ctypes.cast(??) ctypes.cdll ctypes.create_string_buffer(aString) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable[, r]) --> combinations object ctypes.macholib.dyld.count([firstval]) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.ensure_utf8(??) ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.ifilter(function or None, sequence) --> ifilter object ctypes.macholib.dyld.ifilterfalse(function or None, sequence) --> ifilterfalse object ctypes.macholib.dyld.imap(func, *iterables) --> imap object ctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object ctypes.macholib.dyld.izip(iter1 [,iter2 [...]]) --> izip object ctypes.macholib.dyld.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object ctypes.macholib.dyld.os ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables) --> product object ctypes.macholib.dyld.repeat(element [,times]) -> create an iterator which returns the element ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dylib.DYLIB_RE ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework ctypes.macholib.framework.STRICT_FRAMEWORK_RE ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re ctypes.macholib.framework.test_framework_info(??) ctypes.memmove ctypes.memset ctypes.pointer ctypes.py_object ctypes.pydll ctypes.pythonapi ctypes.resize ctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors) ctypes.set_errno ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util ctypes.util.errno ctypes.util.find_library(??) ctypes.util.os ctypes.util.re ctypes.util.sys ctypes.util.tempfile ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta datetime.tzinfo decimal.BasicContext decimal.Clamped decimal.Context decimal.ConversionSyntax decimal.Dec_0 decimal.Dec_n1 decimal.Dec_p1 decimal.Decimal decimal.DecimalException decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext decimal.DivisionByZero decimal.DivisionImpossible decimal.DivisionUndefined decimal.ExtendedContext decimal.Inexact decimal.Inf decimal.Infsign decimal.InvalidContext decimal.InvalidOperation decimal.NaN decimal.Overflow decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded decimal.Subnormal decimal.Underflow decimal.getcontext(??) decimal.localcontext(??) decimal.negInf decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary. difflib.Differ(??) difflib.HtmlDiff difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq difflib.ndiff(??) difflib.reduce(function, sequence[, initial]) -> value difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dircache.annotate(??) dircache.cache dircache.listdir(??) dircache.opendir(??) dircache.os dircache.reset(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.cmp_op dis.dis(??) dis.disassemble(??) dis.disassemble_string(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.hascompare dis.hasconst dis.hasfree dis.hasjabs dis.hasjrel dis.haslocal dis.hasname dis.opmap dis.opname dis.sys dis.types divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase doctest.DocTestFailure doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.Tester(??) doctest.UnexpectedException doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib doctest.inspect doctest.linecache doctest.master doctest.namedtuple(??) doctest.os doctest.pdb doctest.re doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys doctest.tempfile doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback doctest.unittest doctest.warnings dumbdbm.UserDict dumbdbm.error dumbdbm.open(??) dummy_thread.LockType dummy_thread.allocate_lock(??) dummy_thread.error dummy_thread.exit(??) dummy_thread.get_ident(??) dummy_thread.interrupt_main(??) dummy_thread.stack_size(??) dummy_thread.start_new_thread(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread dummy_threading.Timer(??) dummy_threading.activeCount(??) dummy_threading.active_count(??) dummy_threading.currentThread(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.local dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading email.Charset email.Encoders email.Errors email.FeedParser email.Generator email.Header email.Iterators email.LazyImporter email.MIMEAudio email.MIMEBase email.MIMEImage email.MIMEMessage email.MIMEMultipart email.MIMENonMultipart email.MIMEText email.Message email.Parser email.Utils email.base64MIME email.base64mime email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64 email.base64mime.b2a_base64 email.base64mime.base64_len(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.encode(??) email.base64mime.encodestring(??) email.base64mime.fix_eols(??) email.base64mime.header_encode(??) email.charset email.charset.ALIASES email.charset.BASE64 email.charset.CHARSETS email.charset.CODEC_MAP email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.MISC_LEN email.charset.QP email.charset.SHORTEST email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email email.charset.encode_7or8bit(??) email.charset.errors email.email email.encoders email.encoders.base64 email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors email.errors.BoundaryError email.errors.CharsetError email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderParseError email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError email.errors.MessageParseError email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MultipartConversionError email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.feedparser email.feedparser.BufferedSubFile email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE email.feedparser.NLCRE_bol email.feedparser.NLCRE_crack email.feedparser.NLCRE_eol email.feedparser.NeedMoreData email.feedparser.errors email.feedparser.headerRE email.feedparser.message email.feedparser.re email.generator email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.Header(??) email.generator.NL email.generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.generator.UNDERSCORE email.generator.fcre email.generator.random email.generator.re email.generator.sys email.generator.time email.generator.warnings email.header email.header.Charset(??) email.header.Header(??) email.header.HeaderParseError email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.UEMPTYSTRING email.header.USASCII email.header.USPACE email.header.UTF8 email.header.binascii email.header.decode_header(??) email.header.ecre email.header.email email.header.fcre email.header.make_header(??) email.header.re email.importer email.iterators email.iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.iterators.body_line_iterator(??) email.iterators.sys email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message email.message.Message(??) email.message.SEMISPACE email.message.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.message.binascii email.message.email email.message.errors email.message.re email.message.tspecials email.message.utils email.message.uu email.message.warnings email.message_from_file(??) email.message_from_string(??) email.mime email.mime.Audio email.mime.Base email.mime.Image email.mime.Message email.mime.Multipart email.mime.NonMultipart email.mime.Text email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders email.mime.audio email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.mime.audio.encoders email.mime.audio.sndhdr email.mime.base email.mime.base.MIMEBase(??) email.mime.base.message email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders email.mime.image.imghdr email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors email.mime.text email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.mime.text.encode_7or8bit(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Message(??) email.parser.Parser(??) email.parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.parser.warnings email.quopriMIME email.quoprimime email.quoprimime.CRLF email.quoprimime.MISC_LEN email.quoprimime.NL email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_quopri_check(??) email.quoprimime.body_quopri_len(??) email.quoprimime.bqre email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.encode(??) email.quoprimime.encodestring(??) email.quoprimime.fix_eols(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_quopri_check(??) email.quoprimime.header_quopri_len(??) email.quoprimime.hexdigits email.quoprimime.hqre email.quoprimime.quote(??) email.quoprimime.re email.quoprimime.unquote(??) email.sys email.utils email.utils.COMMASPACE email.utils.CRLF email.utils.EMPTYSTRING email.utils.TICK email.utils.UEMPTYSTRING email.utils.base64 email.utils.collapse_rfc2231_value(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre email.utils.encode_rfc2231(??) email.utils.escapesre email.utils.fix_eols(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random email.utils.re email.utils.rfc2231_continuation email.utils.socket email.utils.specialsre email.utils.time email.utils.unquote(??) email.utils.urllib email.utils.warnings enumerate(iterable) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EADV errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EBADE errno.EBADF errno.EBADFD errno.EBADMSG errno.EBADR errno.EBADRQC errno.EBADSLT errno.EBFONT errno.EBUSY errno.ECHILD errno.ECHRNG errno.ECOMM errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDEADLOCK errno.EDESTADDRREQ errno.EDOM errno.EDOTDOT errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.EISNAM errno.EL2HLT errno.EL2NSYNC errno.EL3HLT errno.EL3RST errno.ELIBACC errno.ELIBBAD errno.ELIBEXEC errno.ELIBMAX errno.ELIBSCN errno.ELNRNG errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENAVAIL errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOANO errno.ENOBUFS errno.ENOCSI errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENONET errno.ENOPKG errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTNAM errno.ENOTSOCK errno.ENOTTY errno.ENOTUNIQ errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.ERANGE errno.EREMCHG errno.EREMOTE errno.EREMOTEIO errno.ERESTART errno.EROFS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESRMNT errno.ESTALE errno.ESTRPIPE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUCLEAN errno.EUNATCH errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.EXFULL errno.errorcode eval(source[, globals[, locals]]) -> value exceptions.ArithmeticError exceptions.AssertionError exceptions.AttributeError exceptions.BaseException exceptions.BufferError exceptions.BytesWarning exceptions.DeprecationWarning exceptions.EOFError exceptions.EnvironmentError exceptions.Exception exceptions.FloatingPointError exceptions.FutureWarning exceptions.GeneratorExit exceptions.IOError exceptions.ImportError exceptions.ImportWarning exceptions.IndentationError exceptions.IndexError exceptions.KeyError exceptions.KeyboardInterrupt exceptions.LookupError exceptions.MemoryError exceptions.NameError exceptions.NotImplementedError exceptions.OSError exceptions.OverflowError exceptions.PendingDeprecationWarning exceptions.ReferenceError exceptions.RuntimeError exceptions.RuntimeWarning exceptions.StandardError exceptions.StopIteration exceptions.SyntaxError exceptions.SyntaxWarning exceptions.SystemError exceptions.SystemExit exceptions.TabError exceptions.TypeError exceptions.UnboundLocalError exceptions.UnicodeDecodeError exceptions.UnicodeEncodeError exceptions.UnicodeError exceptions.UnicodeTranslateError exceptions.UnicodeWarning exceptions.UserWarning exceptions.ValueError exceptions.Warning exceptions.ZeroDivisionError execfile(filename[, globals[, locals]]) exit fcntl.DN_ACCESS fcntl.DN_ATTRIB fcntl.DN_CREATE fcntl.DN_DELETE fcntl.DN_MODIFY fcntl.DN_MULTISHOT fcntl.DN_RENAME fcntl.FASYNC fcntl.FD_CLOEXEC fcntl.F_DUPFD fcntl.F_EXLCK fcntl.F_GETFD fcntl.F_GETFL fcntl.F_GETLEASE fcntl.F_GETLK fcntl.F_GETLK64 fcntl.F_GETOWN fcntl.F_GETSIG fcntl.F_NOTIFY fcntl.F_RDLCK fcntl.F_SETFD fcntl.F_SETFL fcntl.F_SETLEASE fcntl.F_SETLK fcntl.F_SETLK64 fcntl.F_SETLKW fcntl.F_SETLKW64 fcntl.F_SETOWN fcntl.F_SETSIG fcntl.F_SHLCK fcntl.F_UNLCK fcntl.F_WRLCK fcntl.I_ATMARK fcntl.I_CANPUT fcntl.I_CKBAND fcntl.I_FDINSERT fcntl.I_FIND fcntl.I_FLUSH fcntl.I_FLUSHBAND fcntl.I_GETBAND fcntl.I_GETCLTIME fcntl.I_GETSIG fcntl.I_GRDOPT fcntl.I_GWROPT fcntl.I_LINK fcntl.I_LIST fcntl.I_LOOK fcntl.I_NREAD fcntl.I_PEEK fcntl.I_PLINK fcntl.I_POP fcntl.I_PUNLINK fcntl.I_PUSH fcntl.I_RECVFD fcntl.I_SENDFD fcntl.I_SETCLTIME fcntl.I_SETSIG fcntl.I_SRDOPT fcntl.I_STR fcntl.I_SWROPT fcntl.I_UNLINK fcntl.LOCK_EX fcntl.LOCK_MAND fcntl.LOCK_NB fcntl.LOCK_READ fcntl.LOCK_RW fcntl.LOCK_SH fcntl.LOCK_UN fcntl.LOCK_WRITE fcntl.fcntl(fd, opt, [arg]) fcntl.flock(fd, operation) fcntl.ioctl(fd, opt[, arg[, mutate_flag]]) fcntl.lockf (fd, operation, length=0, start=0, whence=0) file(name[, mode[, buffering]]) -> file object filecmp.BUFSIZE filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.ifilter(function or None, sequence) --> ifilter object filecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object filecmp.imap(func, *iterables) --> imap object filecmp.izip(iter1 [,iter2 [...]]) --> izip object filecmp.os filecmp.stat fileinput.DEFAULT_BUFSIZE fileinput.FileInput(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input([files[, inplace[, backup[, mode[, openhook]]]]]) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os fileinput.sys filter(function or None, sequence) -> list, tuple, or string float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.re fnmatch.translate(??) format(value[, format_spec]) -> string formatter.AS_IS formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys formatter.test(??) fpformat.NotANumber fpformat.decoder fpformat.extract(??) fpformat.fix(??) fpformat.re fpformat.roundfrac(??) fpformat.sci(??) fpformat.test(??) fpformat.unexpo(??) fractions.Fraction fractions.Rational fractions.division fractions.gcd(??) fractions.math fractions.numbers fractions.operator fractions.re frozenset(iterable) --> frozenset object ftplib.CRLF ftplib.Error ftplib.FTP(??) ftplib.FTP_PORT ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors ftplib.error_perm ftplib.error_proto ftplib.error_reply ftplib.error_temp ftplib.ftpcp(??) ftplib.os ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket ftplib.sys ftplib.test(??) functools.WRAPPER_ASSIGNMENTS functools.WRAPPER_UPDATES functools.partial(func, *args, **keywords) - new function with partial application functools.reduce(function, sequence[, initial]) -> value functools.update_wrapper(??) functools.wraps(??) future_builtins.ascii(object) -> string future_builtins.filter future_builtins.hex(number) -> string future_builtins.map future_builtins.oct(number) -> string future_builtins.zip gc.DEBUG_COLLECTABLE gc.DEBUG_INSTANCES gc.DEBUG_LEAK gc.DEBUG_OBJECTS gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os genericpath.stat getattr(object, name[, default]) -> value getopt.GetoptError getopt.do_longs(??) getopt.do_shorts(??) getopt.error getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os getopt.short_has_arg(??) getpass.GetPassWarning getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.os getpass.sys getpass.termios getpass.unix_getpass(??) getpass.warnings getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale gettext.ngettext(??) gettext.os gettext.re gettext.struct gettext.sys gettext.test(??) gettext.textdomain(??) gettext.translation(??) glob.fnmatch glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check glob.os glob.re glob.sys globals() -> dictionary grp.getgrall() -> list of tuples grp.getgrgid(id) -> tuple grp.getgrnam(name) -> tuple grp.struct_group gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.open(??) gzip.read32(??) gzip.struct gzip.sys gzip.time gzip.write32u(??) gzip.zlib hasattr(object, name) -> bool hash(object) -> integer hashlib.md5 hashlib.new(name, string='') - Return a new hashing object using the named algorithm; hashlib.sha1 hashlib.sha224 hashlib.sha256 hashlib.sha384 hashlib.sha512 heapq.bisect heapq.count([firstval]) --> count object heapq.heapify heapq.heappop heapq.heappush heapq.heappushpop heapq.heapreplace heapq.imap(func, *iterables) --> imap object heapq.islice(iterable, [start,] stop [, step]) --> islice object heapq.itemgetter(item, ...) --> itemgetter object heapq.izip(iter1 [,iter2 [...]]) --> izip object heapq.merge(??) heapq.neg(a) -- Same as -a. heapq.nlargest(??) heapq.nsmallest(??) heapq.repeat(element [,times]) -> create an iterator which returns the element heapq.tee(iterable, n=2) --> tuple of n independent iterators. help hex(number) -> string hmac.HMAC(??) hmac.digest_size hmac.new(??) hmac.trans_36 hmac.trans_5C hmac.x hotshot.Profile(??) hotshot.ProfilerError hotshot.log hotshot.log.ENTER hotshot.log.EXIT hotshot.log.LINE hotshot.log.LogReader(??) hotshot.log.WHAT_ADD_INFO hotshot.log.WHAT_DEFINE_FILE hotshot.log.WHAT_DEFINE_FUNC hotshot.log.WHAT_ENTER hotshot.log.WHAT_EXIT hotshot.log.WHAT_LINENO hotshot.log.os hotshot.log.parser hotshot.log.symbol hotshot.stats hotshot.stats.ENTER hotshot.stats.EXIT hotshot.stats.FakeCode(??) hotshot.stats.FakeFrame(??) hotshot.stats.Profile(??) hotshot.stats.StatsLoader(??) hotshot.stats.hotshot hotshot.stats.load(??) hotshot.stats.profile hotshot.stats.pstats hotshot.stones.errno hotshot.stones.hotshot hotshot.stones.main(??) hotshot.stones.sys hotshot.stones.test htmlentitydefs.codepoint2name htmlentitydefs.entitydefs htmlentitydefs.name2codepoint htmllib.AS_IS htmllib.HTMLParseError htmllib.HTMLParser(??) htmllib.sgmllib htmllib.test(??) httplib.ACCEPTED httplib.BAD_GATEWAY httplib.BAD_REQUEST httplib.BadStatusLine httplib.CONFLICT httplib.CONTINUE httplib.CREATED httplib.CannotSendHeader httplib.CannotSendRequest httplib.EXPECTATION_FAILED httplib.FAILED_DEPENDENCY httplib.FORBIDDEN httplib.FOUND httplib.FakeSocket(??) httplib.GATEWAY_TIMEOUT httplib.GONE httplib.HTTP(??) httplib.HTTPConnection(??) httplib.HTTPException httplib.HTTPMessage(??) httplib.HTTPResponse(??) httplib.HTTPS(??) httplib.HTTPSConnection(??) httplib.HTTPS_PORT httplib.HTTP_PORT httplib.HTTP_VERSION_NOT_SUPPORTED httplib.IM_USED httplib.INSUFFICIENT_STORAGE httplib.INTERNAL_SERVER_ERROR httplib.ImproperConnectionState httplib.IncompleteRead httplib.InvalidURL httplib.LENGTH_REQUIRED httplib.LOCKED httplib.LineAndFileWrapper(??) httplib.MAXAMOUNT httplib.METHOD_NOT_ALLOWED httplib.MOVED_PERMANENTLY httplib.MULTIPLE_CHOICES httplib.MULTI_STATUS httplib.NON_AUTHORITATIVE_INFORMATION httplib.NOT_ACCEPTABLE httplib.NOT_EXTENDED httplib.NOT_FOUND httplib.NOT_IMPLEMENTED httplib.NOT_MODIFIED httplib.NO_CONTENT httplib.NotConnected httplib.OK httplib.PARTIAL_CONTENT httplib.PAYMENT_REQUIRED httplib.PRECONDITION_FAILED httplib.PROCESSING httplib.PROXY_AUTHENTICATION_REQUIRED httplib.REQUESTED_RANGE_NOT_SATISFIABLE httplib.REQUEST_ENTITY_TOO_LARGE httplib.REQUEST_TIMEOUT httplib.REQUEST_URI_TOO_LONG httplib.RESET_CONTENT httplib.ResponseNotReady httplib.SEE_OTHER httplib.SERVICE_UNAVAILABLE httplib.SWITCHING_PROTOCOLS httplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing httplib.TEMPORARY_REDIRECT httplib.UNAUTHORIZED httplib.UNPROCESSABLE_ENTITY httplib.UNSUPPORTED_MEDIA_TYPE httplib.UPGRADE_REQUIRED httplib.USE_PROXY httplib.UnimplementedFileMode httplib.UnknownProtocol httplib.UnknownTransferEncoding httplib.error httplib.mimetools httplib.py3kwarning httplib.responses httplib.socket httplib.ssl httplib.test(??) httplib.urlsplit(??) httplib.warnings id(object) -> integer ihooks.BUILTIN_MODULE ihooks.BasicModuleImporter(??) ihooks.BasicModuleLoader(??) ihooks.C_BUILTIN ihooks.C_EXTENSION ihooks.FROZEN_MODULE ihooks.FancyModuleLoader(??) ihooks.Hooks(??) ihooks.ModuleImporter(??) ihooks.ModuleLoader(??) ihooks.PKG_DIRECTORY ihooks.PY_COMPILED ihooks.PY_FROZEN ihooks.PY_SOURCE ihooks.VERBOSE ihooks.current_importer ihooks.default_importer ihooks.imp ihooks.install(??) ihooks.os ihooks.sys ihooks.uninstall(??) imaplib.AllowedVersions imaplib.CRLF imaplib.Commands imaplib.Continuation imaplib.Debug imaplib.Flags imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate imaplib.Internaldate2tuple(??) imaplib.Literal imaplib.MapCRLF imaplib.Mon2num imaplib.ParseFlags(??) imaplib.Response_code imaplib.Time2Internaldate(??) imaplib.Untagged_response imaplib.Untagged_status imaplib.binascii imaplib.os imaplib.random imaplib.re imaplib.socket imaplib.ssl imaplib.sys imaplib.time imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exif(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.acquire_lock() -> None imp.find_module(name, [path]) -> (file, filename, (suffix, mode, type)) imp.get_frozen_object imp.get_magic() -> string imp.get_suffixes() -> [(suffix, mode, type), ...] imp.init_builtin imp.init_frozen imp.is_builtin imp.is_frozen imp.load_compiled imp.load_dynamic imp.load_module(name, file, filename, (suffix, mode, type)) -> module imp.load_package imp.load_source imp.lock_held() -> boolean imp.new_module(name) -> module imp.release_lock() -> None imp.reload(module) -> module imputil.BuiltinImporter(??) imputil.DynLoadSuffixImporter(??) imputil.ImportManager(??) imputil.Importer(??) imputil.imp imputil.marshal imputil.py_suffix_importer(??) imputil.struct imputil.sys input([prompt]) -> value inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, keywords) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.CO_GENERATOR inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.EndOfBlock inspect.ModuleInfo(name, suffix, mode, module_type) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.attrgetter(attr, ...) --> attrgetter object inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.currentframe inspect.dis inspect.findsource(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getblock(??) inspect.getclasstree(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.imp inspect.indentsize(??) inspect.isabstract(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.joinseq(??) inspect.linecache inspect.modulesbyfile inspect.namedtuple(??) inspect.os inspect.re inspect.stack(??) inspect.string inspect.strseq(??) inspect.sys inspect.tokenize inspect.trace(??) inspect.types inspect.walktree(??) int(x[, base]) -> integer intern(string) -> string io.BlockingIOError io.BufferedIOBase io.BufferedRWPair io.BufferedRandom io.BufferedReader io.BufferedWriter io.BytesIO([buffer]) -> object io.DEFAULT_BUFFER_SIZE io.FileIO io.IOBase io.IncrementalNewlineDecoder io.OpenWrapper io.RawIOBase io.StringIO io.TextIOBase io.TextIOWrapper io.UnsupportedOperation io.abc io.codecs io.open(??) io.os io.print_function io.threading io.unicode_literals isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(collection) -> iterator itertools.chain(*iterables) --> chain object itertools.combinations(iterable[, r]) --> combinations object itertools.count([firstval]) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.ifilter(function or None, sequence) --> ifilter object itertools.ifilterfalse(function or None, sequence) --> ifilterfalse object itertools.imap(func, *iterables) --> imap object itertools.islice(iterable, [start,] stop [, step]) --> islice object itertools.izip(iter1 [,iter2 [...]]) --> izip object itertools.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables) --> product object itertools.repeat(element [,times]) -> create an iterator which returns the element itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. json.JSONDecoder json.JSONEncoder json.decoder json.decoder.ANYTHING json.decoder.BACKSLASH json.decoder.DEFAULT_ENCODING json.decoder.FLAGS json.decoder.JSONArray(??) json.decoder.JSONConstant(??) json.decoder.JSONDecoder json.decoder.JSONNumber(??) json.decoder.JSONObject(??) json.decoder.JSONScanner json.decoder.JSONString(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK json.decoder.Scanner json.decoder.WHITESPACE json.decoder.c_scanstring json.decoder.errmsg(??) json.decoder.linecol(??) json.decoder.pattern(??) json.decoder.py_scanstring(??) json.decoder.re json.decoder.scanstring(basestring, end, encoding) -> (str, end) json.decoder.sys json.dump(??) json.dumps(??) json.encoder json.encoder.ESCAPE json.encoder.ESCAPE_ASCII json.encoder.ESCAPE_DCT json.encoder.FLOAT_REPR json.encoder.HAS_UTF8 json.encoder.JSONEncoder json.encoder.c_encode_basestring_ascii json.encoder.encode_basestring(??) json.encoder.encode_basestring_ascii(basestring) -> str json.encoder.floatstr(??) json.encoder.i json.encoder.math json.encoder.py_encode_basestring_ascii(??) json.encoder.re json.load(??) json.loads(??) json.scanner json.scanner.BRANCH json.scanner.DOTALL json.scanner.FLAGS json.scanner.MULTILINE json.scanner.SUBPATTERN json.scanner.Scanner json.scanner.VERBOSE json.scanner.pattern(??) json.scanner.re json.scanner.sre_compile json.scanner.sre_constants json.scanner.sre_parse json.tool.json json.tool.main(??) json.tool.sys keyword.iskeyword keyword.kwlist keyword.main(??) len(object) -> integer license linecache.cache linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os linecache.sys linecache.updatecache(??) linuxaudiodev.AFMT_A_LAW linuxaudiodev.AFMT_MU_LAW linuxaudiodev.AFMT_S16_BE linuxaudiodev.AFMT_S16_LE linuxaudiodev.AFMT_S16_NE linuxaudiodev.AFMT_S8 linuxaudiodev.AFMT_U16_BE linuxaudiodev.AFMT_U16_LE linuxaudiodev.AFMT_U8 linuxaudiodev.error linuxaudiodev.open list() -> new list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.bind_textdomain_codeset(domain, codeset) -> string locale.bindtextdomain(domain, dir) -> string locale.currency(??) locale.dcgettext(domain, msg, category) -> string locale.dgettext(domain, msg) -> string locale.encodings locale.format(??) locale.format_string(??) locale.functools locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.gettext(msg) -> string locale.locale_alias locale.locale_encoding_alias locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.operator locale.re locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll locale.strxfrm locale.sys locale.textdomain(domain) -> string locale.windows_locale locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.PlaceHolder(??) logging.RootLogger(??) logging.StreamHandler(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit logging.basicConfig(??) logging.cStringIO logging.codecs logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.fileConfig(??) logging.config.listen(??) logging.config.logging logging.config.os logging.config.socket logging.config.stopListening(??) logging.config.string logging.config.struct logging.config.sys logging.config.thread logging.config.threading logging.config.traceback logging.config.types logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.cPickle logging.handlers.codecs logging.handlers.logging logging.handlers.os logging.handlers.re logging.handlers.socket logging.handlers.string logging.handlers.struct logging.handlers.time logging.handlers.types logging.info(??) logging.log(??) logging.logProcesses logging.logThreads logging.makeLogRecord(??) logging.os logging.raiseExceptions logging.root logging.setLoggerClass(??) logging.shutdown(??) logging.string logging.sys logging.thread logging.threading logging.time logging.traceback logging.types logging.warn(??) logging.warning(??) long(x[, base]) -> integer macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFREG macpath.S_IFSOCK macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(??) macpath.S_ISCHR(??) macpath.S_ISDIR(??) macpath.S_ISFIFO(??) macpath.S_ISGID macpath.S_ISLNK(??) macpath.S_ISREG(??) macpath.S_ISSOCK(??) macpath.S_ISUID macpath.S_ISVTX macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.genericpath macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error macpath.normcase(??) macpath.normpath(??) macpath.os macpath.pardir macpath.pathsep macpath.realpath(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames macpath.walk(??) macpath.warnings macurl2path.os macurl2path.pathname2url(??) macurl2path.test(??) macurl2path.url2pathname(??) macurl2path.urllib mailbox.Babyl(??) mailbox.BabylMailbox(??) mailbox.BabylMessage(??) mailbox.Error mailbox.ExternalClashError mailbox.FormatError mailbox.MH(??) mailbox.MHMailbox(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.MmdfMailbox(??) mailbox.NoSuchMailboxError mailbox.NotEmptyError mailbox.PortableUnixMailbox(??) mailbox.StringIO mailbox.UnixMailbox(??) mailbox.calendar mailbox.copy mailbox.email mailbox.errno mailbox.fcntl mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os mailbox.rfc822 mailbox.socket mailbox.sys mailbox.time mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(function, sequence[, sequence, ...]) -> list markupbase.ParserBase(??) marshal.dump marshal.dumps marshal.load marshal.loads marshal.version math.acos(x) math.acosh(x) math.asin(x) math.asinh(x) math.atan(x) math.atan2(y, x) math.atanh(x) math.ceil(x) math.copysign(x,y) math.cos(x) math.cosh(x) math.degrees(x) -> converts angle x from radians to degrees math.e math.exp(x) math.fabs(x) math.factorial math.floor(x) math.fmod(x,y) math.frexp(x) math.fsum math.hypot(x,y) math.isinf(x) -> bool math.isnan(x) -> bool math.ldexp(x, i) -> x * (2**i) math.log(x[, base]) -> the logarithm of x to the given base. math.log10(x) -> the base 10 logarithm of x. math.log1p(x) math.modf(x) math.pi math.pow(x,y) math.radians(x) -> converts angle x from degrees to radians math.sin(x) math.sinh(x) math.sqrt(x) math.tan(x) math.tanh(x) math.trunc(x:Real) -> Integral max(iterable[, key=func]) -> value md5.blocksize md5.digest_size md5.md5 md5.new md5.warnings mhlib.Error mhlib.FOLDER_PROTECT mhlib.Folder(??) mhlib.IntSet(??) mhlib.MH(??) mhlib.MH_PROFILE mhlib.MH_SEQUENCES mhlib.Message(??) mhlib.PATH mhlib.SubMessage(??) mhlib.bisect mhlib.isnumeric(??) mhlib.mimetools mhlib.multifile mhlib.numericprog mhlib.os mhlib.pickline(??) mhlib.re mhlib.shutil mhlib.sys mhlib.test(??) mhlib.updateline(??) mimetools.Message(??) mimetools.catch_warnings mimetools.choose_boundary(??) mimetools.copybinary(??) mimetools.copyliteral(??) mimetools.decode(??) mimetools.decodetab mimetools.encode(??) mimetools.encodetab mimetools.filterwarnings(??) mimetools.os mimetools.pipethrough(??) mimetools.pipeto(??) mimetools.rfc822 mimetools.sys mimetools.tempfile mimetools.uudecode_pipe mimetools.warnpy3k(??) mimetypes.MimeTypes(??) mimetypes.add_type mimetypes.common_types mimetypes.encodings_map mimetypes.guess_all_extensions mimetypes.guess_extension mimetypes.guess_type mimetypes.init(??) mimetypes.inited mimetypes.knownfiles mimetypes.os mimetypes.posixpath mimetypes.read_mime_types(??) mimetypes.suffix_map mimetypes.types_map mimetypes.urllib mimify.CHARSET mimify.File(??) mimify.HeaderFile(??) mimify.MAXLEN mimify.QUOTE mimify.base64_re mimify.chrset mimify.cte mimify.he mimify.iso_char mimify.mime_char mimify.mime_code mimify.mime_decode(??) mimify.mime_decode_header(??) mimify.mime_encode(??) mimify.mime_encode_header(??) mimify.mime_head mimify.mime_header mimify.mime_header_char mimify.mimify(??) mimify.mimify_part(??) mimify.mp mimify.mv mimify.qp mimify.re mimify.repl mimify.sys mimify.unmimify(??) mimify.unmimify_part(??) mimify.warnings min(iterable[, key=func]) -> value mmap.ACCESS_COPY mmap.ACCESS_READ mmap.ACCESS_WRITE mmap.ALLOCATIONGRANULARITY mmap.MAP_ANON mmap.MAP_ANONYMOUS mmap.MAP_DENYWRITE mmap.MAP_EXECUTABLE mmap.MAP_PRIVATE mmap.MAP_SHARED mmap.PAGESIZE mmap.PROT_EXEC mmap.PROT_READ mmap.PROT_WRITE mmap.error mmap.mmap modulefinder.AddPackagePath(??) modulefinder.HAVE_ARGUMENT modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.READ_MODE modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS modulefinder.dis modulefinder.generators modulefinder.imp modulefinder.marshal modulefinder.os modulefinder.packagePathMap modulefinder.replacePackageMap modulefinder.struct modulefinder.sys modulefinder.test(??) modulefinder.types multifile.Error multifile.MultiFile(??) multiprocessing.Array(??) multiprocessing.AuthenticationError multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process multiprocessing.ProcessError multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.Semaphore(??) multiprocessing.TimeoutError multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection multiprocessing.connection.AuthenticationError multiprocessing.connection.BUFSIZE multiprocessing.connection.CHALLENGE multiprocessing.connection.Client(??) multiprocessing.connection.ConnectionWrapper multiprocessing.connection.FAILURE multiprocessing.connection.Finalize multiprocessing.connection.Listener multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.close(fd) multiprocessing.connection.current_process(??) multiprocessing.connection.debug(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.duplicate multiprocessing.connection.errno multiprocessing.connection.families multiprocessing.connection.get_temp_dir(??) multiprocessing.connection.itertools multiprocessing.connection.os multiprocessing.connection.socket multiprocessing.connection.sub_debug(??) multiprocessing.connection.sys multiprocessing.connection.tempfile multiprocessing.connection.time multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy multiprocessing.dummy.Array(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition multiprocessing.dummy.DummyProcess multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.TimeoutError multiprocessing.dummy.Value multiprocessing.dummy.active_children(??) multiprocessing.dummy.array multiprocessing.dummy.connection multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection multiprocessing.dummy.connection.Listener multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families multiprocessing.dummy.cpu_count(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary. multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.itertools multiprocessing.dummy.list() -> new list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys multiprocessing.dummy.threading multiprocessing.dummy.weakref multiprocessing.forking multiprocessing.forking.ForkingPickler(??) multiprocessing.forking.Pickler(??) multiprocessing.forking.Popen multiprocessing.forking.assert_spawning(??) multiprocessing.forking.close(fd) multiprocessing.forking.duplicate multiprocessing.forking.exit multiprocessing.forking.old_main_modules multiprocessing.forking.os multiprocessing.forking.partial(func, *args, **keywords) - new function with partial application multiprocessing.forking.prepare(??) multiprocessing.forking.process multiprocessing.forking.signal multiprocessing.forking.sys multiprocessing.forking.time multiprocessing.forking.util multiprocessing.freeze_support(??) multiprocessing.get_logger(??) multiprocessing.heap.Arena multiprocessing.heap.BufferWrapper multiprocessing.heap.Finalize multiprocessing.heap.Heap multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect multiprocessing.heap.info(??) multiprocessing.heap.itertools multiprocessing.heap.mmap multiprocessing.heap.os multiprocessing.heap.sys multiprocessing.heap.tempfile multiprocessing.heap.threading multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy multiprocessing.managers.AuthenticationString multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BaseListProxy multiprocessing.managers.BaseManager multiprocessing.managers.BaseProxy multiprocessing.managers.ConditionProxy multiprocessing.managers.DictProxy multiprocessing.managers.EventProxy multiprocessing.managers.Finalize multiprocessing.managers.ForkingPickler(??) multiprocessing.managers.IteratorProxy multiprocessing.managers.ListProxy multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace multiprocessing.managers.NamespaceProxy multiprocessing.managers.PicklingError multiprocessing.managers.Pool(??) multiprocessing.managers.PoolProxy multiprocessing.managers.Popen multiprocessing.managers.Process multiprocessing.managers.ProcessLocalSet multiprocessing.managers.Queue multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError multiprocessing.managers.Server multiprocessing.managers.State multiprocessing.managers.SyncManager multiprocessing.managers.Token multiprocessing.managers.Value multiprocessing.managers.ValueProxy multiprocessing.managers.active_children(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array multiprocessing.managers.assert_spawning(??) multiprocessing.managers.connection multiprocessing.managers.convert_to_error(??) multiprocessing.managers.current_process(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.exit multiprocessing.managers.format_exc(??) multiprocessing.managers.info(??) multiprocessing.managers.listener_client multiprocessing.managers.name multiprocessing.managers.os multiprocessing.managers.public_methods(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.sys multiprocessing.managers.threading multiprocessing.managers.util multiprocessing.managers.view_types multiprocessing.managers.weakref multiprocessing.os multiprocessing.pool multiprocessing.pool.ApplyResult multiprocessing.pool.CLOSE multiprocessing.pool.Finalize multiprocessing.pool.IMapIterator multiprocessing.pool.IMapUnorderedIterator multiprocessing.pool.MapResult multiprocessing.pool.Pool multiprocessing.pool.Process multiprocessing.pool.Queue multiprocessing.pool.RUN multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool multiprocessing.pool.TimeoutError multiprocessing.pool.collections multiprocessing.pool.cpu_count(??) multiprocessing.pool.debug(??) multiprocessing.pool.itertools multiprocessing.pool.job_counter multiprocessing.pool.mapstar(??) multiprocessing.pool.threading multiprocessing.pool.time multiprocessing.pool.worker(??) multiprocessing.process multiprocessing.process.AuthenticationString multiprocessing.process.ORIGINAL_DIR multiprocessing.process.Process multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools multiprocessing.process.name multiprocessing.process.os multiprocessing.process.signal multiprocessing.process.signum multiprocessing.process.sys multiprocessing.queues.BoundedSemaphore multiprocessing.queues.Condition multiprocessing.queues.Empty multiprocessing.queues.Finalize multiprocessing.queues.Full multiprocessing.queues.JoinableQueue multiprocessing.queues.Lock multiprocessing.queues.Pipe(??) multiprocessing.queues.Queue multiprocessing.queues.Semaphore multiprocessing.queues.SimpleQueue multiprocessing.queues.assert_spawning(??) multiprocessing.queues.atexit multiprocessing.queues.collections multiprocessing.queues.debug(??) multiprocessing.queues.info(??) multiprocessing.queues.os multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys multiprocessing.queues.threading multiprocessing.queues.time multiprocessing.queues.weakref multiprocessing.reduction.Client(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.Listener multiprocessing.reduction.Popen multiprocessing.reduction.close(fd) multiprocessing.reduction.current_process(??) multiprocessing.reduction.debug(??) multiprocessing.reduction.duplicate multiprocessing.reduction.fromfd(??) multiprocessing.reduction.os multiprocessing.reduction.rebuild_connection(??) multiprocessing.reduction.rebuild_handle(??) multiprocessing.reduction.rebuild_socket(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.reduce_connection(??) multiprocessing.reduction.reduce_handle(??) multiprocessing.reduction.reduce_socket(??) multiprocessing.reduction.register_after_fork(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.socket multiprocessing.reduction.sub_debug(??) multiprocessing.reduction.sys multiprocessing.reduction.threading multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.ForkingPickler(??) multiprocessing.sharedctypes.RLock(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized multiprocessing.sharedctypes.SynchronizedArray multiprocessing.sharedctypes.SynchronizedBase multiprocessing.sharedctypes.SynchronizedString multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes multiprocessing.sharedctypes.heap multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.sys multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type multiprocessing.sharedctypes.weakref multiprocessing.synchronize.BoundedSemaphore multiprocessing.synchronize.Condition multiprocessing.synchronize.Event multiprocessing.synchronize.Finalize multiprocessing.synchronize.Lock multiprocessing.synchronize.Popen multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock multiprocessing.synchronize.Semaphore multiprocessing.synchronize.assert_spawning(??) multiprocessing.synchronize.current_process(??) multiprocessing.synchronize.debug(??) multiprocessing.synchronize.os multiprocessing.synchronize.register_after_fork(??) multiprocessing.synchronize.sys multiprocessing.synchronize.threading multiprocessing.sys multiprocessing.util multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize multiprocessing.util.ForkAwareLocal multiprocessing.util.ForkAwareThreadLock multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.active_children(??) multiprocessing.util.atexit multiprocessing.util.current_process(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools multiprocessing.util.log_to_stderr(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.threading multiprocessing.util.weakref mutex.deque(iterable[, maxlen]) --> deque object mutex.mutex(??) netrc.NetrcParseError netrc.netrc(??) netrc.os netrc.shlex new.classobj(name, bases, dict) new.code new.function(code, globals[, name[, argdefs[, closure]]]) new.instance(class[, dict]) new.instancemethod(function, instance, class) new.module(name[, doc]) next(iterator[, default]) nis.cat(map, domain = defaultdomain) nis.error nis.get_default_domain() -> str nis.maps(domain = defaultdomain) nis.match(key, map, domain = defaultdomain) nntplib.CRLF nntplib.LONGRESP nntplib.NNTP(??) nntplib.NNTPDataError nntplib.NNTPError nntplib.NNTPPermanentError nntplib.NNTPProtocolError nntplib.NNTPReplyError nntplib.NNTPTemporaryError nntplib.NNTP_PORT nntplib.error_data nntplib.error_perm nntplib.error_proto nntplib.error_reply nntplib.error_temp nntplib.re nntplib.socket ntpath.abspath(??) ntpath.altsep ntpath.basename(??) ntpath.commonprefix(??) ntpath.curdir ntpath.defpath ntpath.devnull ntpath.dirname(??) ntpath.exists(??) ntpath.expanduser(??) ntpath.expandvars(??) ntpath.extsep ntpath.genericpath ntpath.getatime(??) ntpath.getctime(??) ntpath.getmtime(??) ntpath.getsize(??) ntpath.isabs(??) ntpath.isdir(??) ntpath.isfile(??) ntpath.islink(??) ntpath.ismount(??) ntpath.join(??) ntpath.lexists(??) ntpath.normcase(??) ntpath.normpath(??) ntpath.os ntpath.pardir ntpath.pathsep ntpath.realpath(??) ntpath.relpath(??) ntpath.sep ntpath.split(??) ntpath.splitdrive(??) ntpath.splitext(??) ntpath.splitunc(??) ntpath.stat ntpath.supports_unicode_filenames ntpath.sys ntpath.walk(??) ntpath.warnings nturl2path.pathname2url(??) nturl2path.url2pathname(??) numbers.ABCMeta numbers.Complex numbers.Integral numbers.Number numbers.Rational numbers.Real numbers.abstractmethod(??) numbers.abstractproperty numbers.division object oct(number) -> string opcode.EXTENDED_ARG opcode.HAVE_ARGUMENT opcode.cmp_op opcode.hascompare opcode.hasconst opcode.hasfree opcode.hasjabs opcode.hasjrel opcode.haslocal opcode.hasname opcode.opmap opcode.opname open(name[, mode[, buffering]]) -> file object operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.delslice(a, b, c) -- Same as del a[b:c]. operator.div(a, b) -- Same as a / b when __future__.division is not in effect. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.getslice(a, b, c) -- Same as a[b:c]. operator.gt(a, b) -- Same as a>b. operator.iadd(a, b) -- Same as a += b. operator.iand(a, b) -- Same as a &= b. operator.iconcat(a, b) -- Same as a += b, for a and b sequences. operator.idiv(a, b) -- Same as a /= b when __future__.division is not in effect. operator.ifloordiv(a, b) -- Same as a //= b. operator.ilshift(a, b) -- Same as a <<= b. operator.imod(a, b) -- Same as a %= b. operator.imul(a, b) -- Same as a *= b. operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(a, b) -- Same as a |= b. operator.ipow(a, b) -- Same as a **= b. operator.irepeat(a, b) -- Same as a *= b, where a is a sequence, and b is an integer. operator.irshift(a, b) -- Same as a >>= b. operator.isCallable(a) -- Same as callable(a). operator.isMappingType(a) -- Return True if a has a mapping type, False otherwise. operator.isNumberType(a) -- Return True if a has a numeric type, False otherwise. operator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise. operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(a, b) -- Same as a -= b. operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(a, b) -- Same as a /= b when __future__.division is in effect. operator.ixor(a, b) -- Same as a ^= b. operator.le(a, b) -- Same as a<=b. operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer. operator.rshift(a, b) -- Same as a >> b. operator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated). operator.setitem(a, b, c) -- Same as a[b] = c. operator.setslice(a, b, c, d) -- Same as a[b:c] = d. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b when __future__.division is in effect. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError optparse.BadOptionError optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT optparse.OptParseError optparse.Option(??) optparse.OptionConflictError optparse.OptionContainer(??) optparse.OptionError optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.isbasestring(??) optparse.make_option(??) optparse.os optparse.sys optparse.textwrap optparse.types ord(c) -> integer os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_OK os.NGROUPS_MAX os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_LARGEFILE os.O_NDELAY os.O_NOATIME os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_RSYNC os.O_SYNC os.O_TRUNC os.O_WRONLY os.P_NOWAIT os.P_NOWAITO os.P_WAIT os.R_OK os.SEEK_CUR os.SEEK_END os.SEEK_SET os.TMP_MAX os.UserDict os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(path, mode) -> True if granted, False otherwise os.altsep os.chdir(path) os.chmod(path, mode) os.chown(path, uid, gid) os.chroot(path) os.close(fd) os.closerange(fd_low, fd_high) os.confstr(name) -> string os.confstr_names os.ctermid() -> string os.curdir os.defpath os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ os.errno os.error os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(??) os.execvpe(file, args, env) os.extsep os.fchdir(fildes) os.fchmod(fd, mode) os.fchown(fd, uid, gid) os.fdatasync(fildes) os.fdopen(fd [, mode='r' [, bufsize]]) -> file_object os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.getcwd() -> path os.getcwdu() -> path os.getegid() -> egid os.getenv(??) os.geteuid() -> euid os.getgid() -> gid os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getsid(pid) -> sid os.getuid() -> uid os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchown(path, uid, gid) os.linesep os.link(src, dst) os.listdir(path) -> list_of_strings os.lseek(fd, pos, how) -> newpos os.lstat(path) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0777]) os.minor(device) -> minor number os.mkdir(path [, mode=0777]) os.mkfifo(filename [, mode=0666]) os.mknod(filename [, mode=0600, device]) os.name os.nice(inc) -> new_priority os.open(filename, flag [, mode=0777]) -> fd os.openpty() -> (master_fd, slave_fd) os.pardir os.path os.pathconf(path, name) -> integer os.pathconf_names os.pathsep os.pipe() -> (read_end, write_end) os.popen(command [, mode='r' [, bufsize]]) -> pipe os.popen2(??) os.popen3(??) os.popen4(??) os.putenv(key, value) os.read(fd, buffersize) -> string os.readlink(path) -> path os.remove(path) os.removedirs(path) os.rename(old, new) os.renames(old, new) os.rmdir(path) os.sep os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setregid(rgid, egid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.stat(path) -> stat result os.stat_float_times([newval]) -> oldval os.stat_result os.statvfs(path) -> statvfs result os.statvfs_result os.strerror(code) -> string os.symlink(src, dst) os.sys os.sysconf(name) -> integer os.sysconf_names os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.tempnam([dir[, prefix]]) -> string os.times() -> (utime, stime, cutime, cstime, elapsed_time) os.tmpfile() -> file object os.tmpnam() -> string os.ttyname(fd) -> string os.umask(new_mask) -> old_mask os.uname() -> (sysname, nodename, release, version, machine) os.unlink(path) os.unsetenv(key) os.urandom(n) -> str os.utime(path, (atime, mtime)) os.wait() -> (pid, status) os.wait3(options) -> (pid, status, rusage) os.wait4(pid, options) -> (pid, status, rusage) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, string) -> byteswritten os2emxpath.abspath(??) os2emxpath.altsep os2emxpath.basename(??) os2emxpath.commonprefix(??) os2emxpath.curdir os2emxpath.defpath os2emxpath.devnull os2emxpath.dirname(??) os2emxpath.exists(??) os2emxpath.expanduser(??) os2emxpath.expandvars(??) os2emxpath.extsep os2emxpath.getatime(??) os2emxpath.getctime(??) os2emxpath.getmtime(??) os2emxpath.getsize(??) os2emxpath.isabs(??) os2emxpath.isdir(??) os2emxpath.isfile(??) os2emxpath.islink(??) os2emxpath.ismount(??) os2emxpath.join(??) os2emxpath.lexists(??) os2emxpath.normcase(??) os2emxpath.normpath(??) os2emxpath.os os2emxpath.pardir os2emxpath.pathsep os2emxpath.realpath(??) os2emxpath.sep os2emxpath.split(??) os2emxpath.splitdrive(??) os2emxpath.splitext(??) os2emxpath.splitunc(??) os2emxpath.stat os2emxpath.supports_unicode_filenames os2emxpath.walk(??) ossaudiodev.AFMT_AC3 ossaudiodev.AFMT_A_LAW ossaudiodev.AFMT_IMA_ADPCM ossaudiodev.AFMT_MPEG ossaudiodev.AFMT_MU_LAW ossaudiodev.AFMT_QUERY ossaudiodev.AFMT_S16_BE ossaudiodev.AFMT_S16_LE ossaudiodev.AFMT_S16_NE ossaudiodev.AFMT_S8 ossaudiodev.AFMT_U16_BE ossaudiodev.AFMT_U16_LE ossaudiodev.AFMT_U8 ossaudiodev.OSSAudioError ossaudiodev.SNDCTL_COPR_HALT ossaudiodev.SNDCTL_COPR_LOAD ossaudiodev.SNDCTL_COPR_RCODE ossaudiodev.SNDCTL_COPR_RCVMSG ossaudiodev.SNDCTL_COPR_RDATA ossaudiodev.SNDCTL_COPR_RESET ossaudiodev.SNDCTL_COPR_RUN ossaudiodev.SNDCTL_COPR_SENDMSG ossaudiodev.SNDCTL_COPR_WCODE ossaudiodev.SNDCTL_COPR_WDATA ossaudiodev.SNDCTL_DSP_BIND_CHANNEL ossaudiodev.SNDCTL_DSP_CHANNELS ossaudiodev.SNDCTL_DSP_GETBLKSIZE ossaudiodev.SNDCTL_DSP_GETCAPS ossaudiodev.SNDCTL_DSP_GETCHANNELMASK ossaudiodev.SNDCTL_DSP_GETFMTS ossaudiodev.SNDCTL_DSP_GETIPTR ossaudiodev.SNDCTL_DSP_GETISPACE ossaudiodev.SNDCTL_DSP_GETODELAY ossaudiodev.SNDCTL_DSP_GETOPTR ossaudiodev.SNDCTL_DSP_GETOSPACE ossaudiodev.SNDCTL_DSP_GETSPDIF ossaudiodev.SNDCTL_DSP_GETTRIGGER ossaudiodev.SNDCTL_DSP_MAPINBUF ossaudiodev.SNDCTL_DSP_MAPOUTBUF ossaudiodev.SNDCTL_DSP_NONBLOCK ossaudiodev.SNDCTL_DSP_POST ossaudiodev.SNDCTL_DSP_PROFILE ossaudiodev.SNDCTL_DSP_RESET ossaudiodev.SNDCTL_DSP_SAMPLESIZE ossaudiodev.SNDCTL_DSP_SETDUPLEX ossaudiodev.SNDCTL_DSP_SETFMT ossaudiodev.SNDCTL_DSP_SETFRAGMENT ossaudiodev.SNDCTL_DSP_SETSPDIF ossaudiodev.SNDCTL_DSP_SETSYNCRO ossaudiodev.SNDCTL_DSP_SETTRIGGER ossaudiodev.SNDCTL_DSP_SPEED ossaudiodev.SNDCTL_DSP_STEREO ossaudiodev.SNDCTL_DSP_SUBDIVIDE ossaudiodev.SNDCTL_DSP_SYNC ossaudiodev.SNDCTL_FM_4OP_ENABLE ossaudiodev.SNDCTL_FM_LOAD_INSTR ossaudiodev.SNDCTL_MIDI_INFO ossaudiodev.SNDCTL_MIDI_MPUCMD ossaudiodev.SNDCTL_MIDI_MPUMODE ossaudiodev.SNDCTL_MIDI_PRETIME ossaudiodev.SNDCTL_SEQ_CTRLRATE ossaudiodev.SNDCTL_SEQ_GETINCOUNT ossaudiodev.SNDCTL_SEQ_GETOUTCOUNT ossaudiodev.SNDCTL_SEQ_GETTIME ossaudiodev.SNDCTL_SEQ_NRMIDIS ossaudiodev.SNDCTL_SEQ_NRSYNTHS ossaudiodev.SNDCTL_SEQ_OUTOFBAND ossaudiodev.SNDCTL_SEQ_PANIC ossaudiodev.SNDCTL_SEQ_PERCMODE ossaudiodev.SNDCTL_SEQ_RESET ossaudiodev.SNDCTL_SEQ_RESETSAMPLES ossaudiodev.SNDCTL_SEQ_SYNC ossaudiodev.SNDCTL_SEQ_TESTMIDI ossaudiodev.SNDCTL_SEQ_THRESHOLD ossaudiodev.SNDCTL_SYNTH_CONTROL ossaudiodev.SNDCTL_SYNTH_ID ossaudiodev.SNDCTL_SYNTH_INFO ossaudiodev.SNDCTL_SYNTH_MEMAVL ossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE ossaudiodev.SNDCTL_TMR_CONTINUE ossaudiodev.SNDCTL_TMR_METRONOME ossaudiodev.SNDCTL_TMR_SELECT ossaudiodev.SNDCTL_TMR_SOURCE ossaudiodev.SNDCTL_TMR_START ossaudiodev.SNDCTL_TMR_STOP ossaudiodev.SNDCTL_TMR_TEMPO ossaudiodev.SNDCTL_TMR_TIMEBASE ossaudiodev.SOUND_MIXER_ALTPCM ossaudiodev.SOUND_MIXER_BASS ossaudiodev.SOUND_MIXER_CD ossaudiodev.SOUND_MIXER_DIGITAL1 ossaudiodev.SOUND_MIXER_DIGITAL2 ossaudiodev.SOUND_MIXER_DIGITAL3 ossaudiodev.SOUND_MIXER_IGAIN ossaudiodev.SOUND_MIXER_IMIX ossaudiodev.SOUND_MIXER_LINE ossaudiodev.SOUND_MIXER_LINE1 ossaudiodev.SOUND_MIXER_LINE2 ossaudiodev.SOUND_MIXER_LINE3 ossaudiodev.SOUND_MIXER_MIC ossaudiodev.SOUND_MIXER_MONITOR ossaudiodev.SOUND_MIXER_NRDEVICES ossaudiodev.SOUND_MIXER_OGAIN ossaudiodev.SOUND_MIXER_PCM ossaudiodev.SOUND_MIXER_PHONEIN ossaudiodev.SOUND_MIXER_PHONEOUT ossaudiodev.SOUND_MIXER_RADIO ossaudiodev.SOUND_MIXER_RECLEV ossaudiodev.SOUND_MIXER_SPEAKER ossaudiodev.SOUND_MIXER_SYNTH ossaudiodev.SOUND_MIXER_TREBLE ossaudiodev.SOUND_MIXER_VIDEO ossaudiodev.SOUND_MIXER_VOLUME ossaudiodev.control_labels ossaudiodev.control_names ossaudiodev.error ossaudiodev.open ossaudiodev.openmixer parser.ASTType parser.ParserError parser.STType parser.ast2list parser.ast2tuple parser.compileast parser.compilest parser.expr parser.isexpr parser.issuite parser.sequence2ast parser.sequence2st parser.st2list parser.st2tuple parser.suite parser.tuple2ast parser.tuple2st pdb.Pdb(??) pdb.Repr(??) pdb.Restart pdb.TESTCMD pdb.bdb pdb.cmd pdb.find_function(??) pdb.help(??) pdb.line_prefix pdb.linecache pdb.main(??) pdb.os pdb.pm(??) pdb.post_mortem(??) pdb.pprint pdb.re pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.sys pdb.test(??) pdb.traceback pickle.APPEND pickle.APPENDS pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BUILD pickle.BooleanType pickle.BufferType pickle.BuiltinFunctionType pickle.BuiltinMethodType pickle.ClassType pickle.CodeType pickle.ComplexType pickle.DICT pickle.DUP pickle.DictProxyType pickle.DictType pickle.DictionaryType pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.EllipsisType pickle.FALSE pickle.FLOAT pickle.FileType pickle.FloatType pickle.FrameType pickle.FunctionType pickle.GET pickle.GLOBAL pickle.GeneratorType pickle.GetSetDescriptorType pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.InstanceType pickle.IntType pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.LambdaType pickle.ListType pickle.LongType pickle.MARK pickle.MemberDescriptorType pickle.MethodType pickle.ModuleType pickle.NEWFALSE pickle.NEWOBJ pickle.NEWTRUE pickle.NONE pickle.NoneType pickle.NotImplementedType pickle.OBJ pickle.ObjectType pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError pickle.Pickler(??) pickle.PicklingError pickle.PyStringMap pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINSTRING pickle.STOP pickle.STRING pickle.SliceType pickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing pickle.StringType pickle.StringTypes pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.TracebackType pickle.TupleType pickle.TypeType pickle.UNICODE pickle.UnboundMethodType pickle.UnicodeType pickle.Unpickler(??) pickle.UnpicklingError pickle.XRangeType pickle.classmap pickle.compatible_formats pickle.decode_long(??) pickle.dispatch_table pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.load(??) pickle.loads(??) pickle.marshal pickle.mloads pickle.re pickle.struct pickle.sys pickle.whichmodule(??) pickletools.ArgumentDescriptor pickletools.OpcodeInfo pickletools.StackObject pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.UP_TO_NEWLINE pickletools.anyobject pickletools.code2op pickletools.decimalnl_long pickletools.decimalnl_short pickletools.decode_long(??) pickletools.dis(??) pickletools.float8 pickletools.floatnl pickletools.genops(??) pickletools.int4 pickletools.long1 pickletools.long4 pickletools.markobject pickletools.opcodes pickletools.optimize(??) pickletools.pybool pickletools.pydict pickletools.pyfloat pickletools.pyint pickletools.pyinteger_or_bool pickletools.pylist pickletools.pylong pickletools.pynone pickletools.pystring pickletools.pytuple pickletools.pyunicode pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestringnl(??) pickletools.stackslice pickletools.string1 pickletools.string4 pickletools.stringnl pickletools.stringnl_noescape pickletools.stringnl_noescape_pair pickletools.uint1 pickletools.uint2 pickletools.unicodestring4 pickletools.unicodestringnl pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os pipes.quote(??) pipes.re pipes.stepkinds pipes.string pipes.tempfile pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.imp pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys pkgutil.walk_packages(??) pkgutil.zipimport pkgutil.zipimporter(archivepath) -> zipimporter object platform.architecture(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re platform.release(??) platform.string platform.sys platform.system(??) platform.system_alias(??) platform.uname(??) platform.version(??) platform.win32_ver(??) plistlib.Data(??) plistlib.Dict plistlib.DumbXMLWriter(??) plistlib.PLISTHEADER plistlib.Plist plistlib.PlistParser(??) plistlib.PlistWriter(??) plistlib.StringIO([s]) -- Return a StringIO-like stream for reading or writing plistlib.binascii plistlib.datetime plistlib.re plistlib.readPlist(??) plistlib.readPlistFromResource(??) plistlib.readPlistFromString(??) plistlib.warnings plistlib.writePlist(??) plistlib.writePlistToResource(??) plistlib.writePlistToString(??) popen2.MAXFD popen2.Popen3(??) popen2.Popen4(??) popen2.os popen2.popen2(??) popen2.popen3(??) popen2.popen4(??) popen2.sys popen2.warnings poplib.CR poplib.CRLF poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.error_proto poplib.re poplib.socket poplib.ssl posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_OK posix.NGROUPS_MAX posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_LARGEFILE posix.O_NDELAY posix.O_NOATIME posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_RSYNC posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.R_OK posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(path, mode) -> True if granted, False otherwise posix.chdir(path) posix.chmod(path, mode) posix.chown(path, uid, gid) posix.chroot(path) posix.close(fd) posix.closerange(fd_low, fd_high) posix.confstr(name) -> string posix.confstr_names posix.ctermid() -> string posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ posix.error posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fildes) posix.fchmod(fd, mode) posix.fchown(fd, uid, gid) posix.fdatasync(fildes) posix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.getcwd() -> path posix.getcwdu() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getsid(pid) -> sid posix.getuid() -> uid posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchown(path, uid, gid) posix.link(src, dst) posix.listdir(path) -> list_of_strings posix.lseek(fd, pos, how) -> newpos posix.lstat(path) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path [, mode=0777]) posix.mkfifo(filename [, mode=0666]) posix.mknod(filename [, mode=0600, device]) posix.nice(inc) -> new_priority posix.open(filename, flag [, mode=0777]) -> fd posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names posix.pipe() -> (read_end, write_end) posix.popen(command [, mode='r' [, bufsize]]) -> pipe posix.putenv(key, value) posix.read(fd, buffersize) -> string posix.readlink(path) -> path posix.remove(path) posix.rename(old, new) posix.rmdir(path) posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setregid(rgid, egid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(path) -> stat result posix.stat_float_times([newval]) -> oldval posix.stat_result posix.statvfs(path) -> statvfs result posix.statvfs_result posix.strerror(code) -> string posix.symlink(src, dst) posix.sysconf(name) -> integer posix.sysconf_names posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.tempnam([dir[, prefix]]) -> string posix.times() -> (utime, stime, cutime, cstime, elapsed_time) posix.tmpfile() -> file object posix.tmpnam() -> string posix.ttyname(fd) -> string posix.umask(new_mask) -> old_mask posix.uname() -> (sysname, nodename, release, version, machine) posix.unlink(path) posix.unsetenv(key) posix.utime(path, (atime, mtime)) posix.wait() -> (pid, status) posix.wait3(options) -> (pid, status, rusage) posix.wait4(pid, options) -> (pid, status, rusage) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, string) -> byteswritten posixfile.SEEK_CUR posixfile.SEEK_END posixfile.SEEK_SET posixfile.fileopen(??) posixfile.open(??) posixfile.warnings posixpath.abspath(??) posixpath.altsep posixpath.basename(??) posixpath.commonprefix(??) posixpath.curdir posixpath.defpath posixpath.devnull posixpath.dirname(??) posixpath.exists(??) posixpath.expanduser(??) posixpath.expandvars(??) posixpath.extsep posixpath.genericpath posixpath.getatime(??) posixpath.getctime(??) posixpath.getmtime(??) posixpath.getsize(??) posixpath.isabs(??) posixpath.isdir(??) posixpath.isfile(??) posixpath.islink(??) posixpath.ismount(??) posixpath.join(??) posixpath.lexists(??) posixpath.normcase(??) posixpath.normpath(??) posixpath.os posixpath.pardir posixpath.pathsep posixpath.realpath(??) posixpath.relpath(??) posixpath.samefile(??) posixpath.sameopenfile(??) posixpath.samestat(??) posixpath.sep posixpath.split(??) posixpath.splitdrive(??) posixpath.splitext(??) posixpath.stat posixpath.supports_unicode_filenames posixpath.walk(??) posixpath.warnings pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.saferepr(??) print profile.OptionParser(??) profile.Profile(??) profile.Stats(??) profile.help(??) profile.main(??) profile.marshal profile.os profile.resgetrusage(??) profile.resource profile.run(??) profile.runctx(??) profile.sys profile.time property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.CmpToKey(??) pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal pstats.os pstats.re pstats.sys pstats.time pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd pwd.struct_pwent py_compile.MAGIC py_compile.PyCompileError py_compile.compile(??) py_compile.imp py_compile.main(??) py_compile.marshal py_compile.os py_compile.set_creator_type(??) py_compile.sys py_compile.traceback py_compile.wr_long(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.imp pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys pyclbr.tokenize pydoc.Doc(??) pydoc.ErrorDuringImport pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.Scanner(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque(iterable[, maxlen]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.expandtabs(s [,tabsize]) -> string pydoc.find(s, sub [,start [,end]]) -> in pydoc.getdoc(??) pydoc.getpager(??) pydoc.gui(??) pydoc.help pydoc.html pydoc.imp pydoc.importfile(??) pydoc.inspect pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.join(list [,sep]) -> string pydoc.locate(??) pydoc.lower(s) -> string pydoc.os pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil pydoc.plain(??) pydoc.plainpager(??) pydoc.re pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.rfind(s, sub [,start [,end]]) -> int pydoc.rstrip(s [,chars]) -> string pydoc.safeimport(??) pydoc.serve(??) pydoc.source_synopsis(??) pydoc.split(s [,sep [,maxsplit]]) -> list of strings pydoc.splitdoc(??) pydoc.strip(s [,chars]) -> string pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys pydoc.tempfilepager(??) pydoc.text pydoc.ttypager(??) pydoc.types pydoc.visiblename(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_topics.topics pyexpat.EXPAT_VERSION pyexpat.ErrorString(errno) -> string pyexpat.ExpatError pyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser pyexpat.XMLParserType pyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS pyexpat.XML_PARAM_ENTITY_PARSING_NEVER pyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE pyexpat.error pyexpat.errors pyexpat.expat_CAPI pyexpat.features pyexpat.model pyexpat.native_encoding pyexpat.version_info quit quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random random.SG_MAGICCONST random.SystemRandom random.TWOPI random.WichmannHill random.betavariate random.choice random.division random.expovariate random.gammavariate random.gauss random.getrandbits(k) -> x. Generates a long int with k random bits. random.getstate random.jumpahead(int) -> None. Create new state from existing state and integer. random.lognormvariate random.normalvariate random.paretovariate random.randint random.random() -> x in the interval [0, 1). random.randrange random.sample random.seed random.setstate random.shuffle random.triangular random.uniform random.vonmisesvariate random.weibullvariate range([start,] stop[, step]) -> list of integers raw_input([prompt]) -> string re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copy_reg re.error re.escape(??) re.findall(??) re.finditer(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile re.sre_parse re.sub(??) re.subn(??) re.sys re.template(??) reduce(function, sequence[, initial]) -> value reload(module) -> module repr(object) -> string repr.Repr(??) repr.aRepr repr.islice(iterable, [start,] stop [, step]) --> islice object repr.repr resource.RLIMIT_AS resource.RLIMIT_CORE resource.RLIMIT_CPU resource.RLIMIT_DATA resource.RLIMIT_FSIZE resource.RLIMIT_MEMLOCK resource.RLIMIT_NOFILE resource.RLIMIT_NPROC resource.RLIMIT_OFILE resource.RLIMIT_RSS resource.RLIMIT_STACK resource.RLIM_INFINITY resource.RUSAGE_CHILDREN resource.RUSAGE_SELF resource.error resource.getpagesize resource.getrlimit resource.getrusage resource.setrlimit resource.struct_rusage reversed(sequence) -> reverse iterator over values of the sequence rexec.FileBase(??) rexec.FileDelegate(??) rexec.FileWrapper(??) rexec.RExec(??) rexec.RHooks(??) rexec.RModuleImporter(??) rexec.RModuleLoader(??) rexec.TEMPLATE rexec.ihooks rexec.imp rexec.os rexec.sys rexec.test(??) rfc822.AddressList(??) rfc822.AddrlistClass(??) rfc822.Message(??) rfc822.dump_address_pair(??) rfc822.formatdate(??) rfc822.mktime_tz(??) rfc822.parseaddr(??) rfc822.parsedate(??) rfc822.parsedate_tz(??) rfc822.quote(??) rfc822.time rfc822.unquote(??) rfc822.warnpy3k(??) rlcompleter.Completer(??) rlcompleter.get_class_members(??) robotparser.Entry(??) robotparser.RobotFileParser(??) robotparser.RuleLine(??) robotparser.URLopener(??) robotparser.urllib robotparser.urlparse round(number[, ndigits]) -> floating point number runpy.get_loader(??) runpy.imp runpy.run_module(??) runpy.sys sched.Event(time, priority, action, argument) sched.heapq sched.namedtuple(??) sched.scheduler(??) select.EPOLLERR select.EPOLLET select.EPOLLHUP select.EPOLLIN select.EPOLLMSG select.EPOLLONESHOT select.EPOLLOUT select.EPOLLPRI select.EPOLLRDBAND select.EPOLLRDNORM select.EPOLLWRBAND select.EPOLLWRNORM select.POLLERR select.POLLHUP select.POLLIN select.POLLMSG select.POLLNVAL select.POLLOUT select.POLLPRI select.POLLRDBAND select.POLLRDNORM select.POLLWRBAND select.POLLWRNORM select.epoll select.error select.poll select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) set(iterable) --> set object setattr(object, name, value) sets.BaseSet sets.ImmutableSet sets.Set sets.generators sets.ifilter(function or None, sequence) --> ifilter object sets.ifilterfalse(function or None, sequence) --> ifilterfalse object sets.warnings sgmllib.SGMLParseError sgmllib.SGMLParser(??) sgmllib.TestSGMLParser(??) sgmllib.attrfind sgmllib.charref sgmllib.endbracket sgmllib.entityref sgmllib.incomplete sgmllib.interesting sgmllib.markupbase sgmllib.piclose sgmllib.re sgmllib.shorttag sgmllib.shorttagopen sgmllib.starttagopen sgmllib.tagfind sgmllib.test(??) sha.blocksize sha.digest_size sha.digestsize sha.new sha.sha sha.warnings shelve.BsdDbShelf(??) shelve.DbfilenameShelf(??) shelve.Pickler(file, protocol=0) -- Create a pickler. shelve.Shelf(??) shelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing shelve.Unpickler(file) -- Create an unpickler. shelve.UserDict shelve.open(??) shlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing shlex.deque(iterable[, maxlen]) --> deque object shlex.os shlex.shlex(??) shlex.split(??) shlex.sys shutil.Error shutil.WindowsError shutil.abspath(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.destinsrc(??) shutil.fnmatch shutil.ignore_patterns(??) shutil.move(??) shutil.os shutil.rmtree(??) shutil.stat shutil.sys signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCLD signal.SIGCONT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPOLL signal.SIGPROF signal.SIGPWR signal.SIGQUIT signal.SIGRTMAX signal.SIGRTMIN signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_DFL signal.SIG_IGN signal.alarm(seconds) signal.default_int_handler(...) signal.getitimer(which) signal.getsignal(sig) -> action signal.pause() signal.set_wakeup_fd(fd) -> fd signal.setitimer(which, seconds[, interval]) signal.siginterrupt(sig, flag) -> None signal.signal(sig, action) -> action site.ENABLE_USER_SITE site.PREFIXES site.USER_BASE site.USER_SITE site.abs__file__(??) site.addbuilddir(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.aliasmbcs(??) site.check_enableusersite(??) site.execsitecustomize(??) site.execusercustomize(??) site.main(??) site.makepath(??) site.os site.removeduppaths(??) site.setBEGINLIBPATH(??) site.setcopyright(??) site.setencoding(??) site.sethelper(??) site.setquit(??) site.sys slice([start,] stop[, step]) smtpd.COMMASPACE smtpd.DEBUGSTREAM smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat smtpd.asyncore smtpd.errno smtpd.getopt smtpd.os smtpd.parseargs(??) smtpd.program smtpd.socket smtpd.sys smtpd.time smtpd.usage(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH smtplib.SMTP(??) smtplib.SMTPAuthenticationError smtplib.SMTPConnectError smtplib.SMTPDataError smtplib.SMTPException smtplib.SMTPHeloError smtplib.SMTPRecipientsRefused smtplib.SMTPResponseException smtplib.SMTPSenderRefused smtplib.SMTPServerDisconnected smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.SSLFakeFile(??) smtplib.base64 smtplib.email smtplib.encode_base64(??) smtplib.hmac smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re smtplib.socket smtplib.ssl smtplib.stderr sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK socket.AF_ASH socket.AF_ATMPVC socket.AF_ATMSVC socket.AF_AX25 socket.AF_BRIDGE socket.AF_DECnet socket.AF_ECONET socket.AF_INET socket.AF_INET6 socket.AF_IPX socket.AF_IRDA socket.AF_KEY socket.AF_NETBEUI socket.AF_NETLINK socket.AF_NETROM socket.AF_PACKET socket.AF_PPPOX socket.AF_ROSE socket.AF_ROUTE socket.AF_SECURITY socket.AF_SNA socket.AF_TIPC socket.AF_UNIX socket.AF_UNSPEC socket.AF_WANPIPE socket.AF_X25 socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.CAPI socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GRE socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPIP socket.IPPROTO_IPV6 socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVDSTOPTS socket.IPV6_RECVHOPLIMIT socket.IPV6_RECVHOPOPTS socket.IPV6_RECVPKTINFO socket.IPV6_RECVRTHDR socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDRDSTOPTS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NETLINK_DNRTMSG socket.NETLINK_FIREWALL socket.NETLINK_IP6_FW socket.NETLINK_NFLOG socket.NETLINK_ROUTE socket.NETLINK_USERSOCK socket.NETLINK_XFRM socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PACKET_BROADCAST socket.PACKET_FASTROUTE socket.PACKET_HOST socket.PACKET_LOOPBACK socket.PACKET_MULTICAST socket.PACKET_OTHERHOST socket.PACKET_OUTGOING socket.PF_PACKET socket.RAND_add(string, entropy) socket.RAND_egd(path) -> bytes socket.RAND_status() -> 0 or 1 socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM socket.SOCK_RAW socket.SOCK_RDM socket.SOCK_SEQPACKET socket.SOCK_STREAM socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_TIPC socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SSL_ERROR_EOF socket.SSL_ERROR_INVALID_ERROR_CODE socket.SSL_ERROR_SSL socket.SSL_ERROR_SYSCALL socket.SSL_ERROR_WANT_CONNECT socket.SSL_ERROR_WANT_READ socket.SSL_ERROR_WANT_WRITE socket.SSL_ERROR_WANT_X509_LOOKUP socket.SSL_ERROR_ZERO_RETURN socket.SocketType socket.StringIO([s]) -- Return a StringIO-like stream for reading or writing socket.TCP_CORK socket.TCP_DEFER_ACCEPT socket.TCP_INFO socket.TCP_KEEPCNT socket.TCP_KEEPIDLE socket.TCP_KEEPINTVL socket.TCP_LINGER2 socket.TCP_MAXSEG socket.TCP_NODELAY socket.TCP_QUICKACK socket.TCP_SYNCNT socket.TCP_WINDOW_CLAMP socket.TIPC_ADDR_ID socket.TIPC_ADDR_NAME socket.TIPC_ADDR_NAMESEQ socket.TIPC_CFG_SRV socket.TIPC_CLUSTER_SCOPE socket.TIPC_CONN_TIMEOUT socket.TIPC_CRITICAL_IMPORTANCE socket.TIPC_DEST_DROPPABLE socket.TIPC_HIGH_IMPORTANCE socket.TIPC_IMPORTANCE socket.TIPC_LOW_IMPORTANCE socket.TIPC_MEDIUM_IMPORTANCE socket.TIPC_NODE_SCOPE socket.TIPC_PUBLISHED socket.TIPC_SRC_DROPPABLE socket.TIPC_SUBSCR_TIMEOUT socket.TIPC_SUB_CANCEL socket.TIPC_SUB_PORTS socket.TIPC_SUB_SERVICE socket.TIPC_TOP_SRV socket.TIPC_WAIT_FOREVER socket.TIPC_WITHDRAWN socket.TIPC_ZONE_SCOPE socket.create_connection(??) socket.error socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror socket.getaddrinfo(host, port [, family, socktype, proto, flags]) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6 socket.herror socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.inet_aton(string) -> packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os socket.setdefaulttimeout(timeout) socket.socket([family[, type[, proto]]]) -> socket object socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.ssl(??) socket.sslerror socket.sys socket.timeout socket.warnings sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list spwd.getspall() -> list_of_entries spwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max, spwd.struct_spwd sqlite3.Binary sqlite3.Cache sqlite3.Connection sqlite3.Cursor sqlite3.DataError sqlite3.DatabaseError sqlite3.Date sqlite3.DateFromTicks(??) sqlite3.Error sqlite3.IntegrityError sqlite3.InterfaceError sqlite3.InternalError sqlite3.NotSupportedError sqlite3.OperationalError sqlite3.OptimizedUnicode sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol sqlite3.ProgrammingError sqlite3.Row sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement sqlite3.Time sqlite3.TimeFromTicks(??) sqlite3.Timestamp sqlite3.TimestampFromTicks(??) sqlite3.Warning sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters sqlite3.apilevel sqlite3.complete_statement(sql) sqlite3.connect(database[, timeout, isolation_level, detect_types, factory]) sqlite3.converters sqlite3.datetime sqlite3.dbapi2 sqlite3.dbapi2.Binary sqlite3.dbapi2.Cache sqlite3.dbapi2.Connection sqlite3.dbapi2.Cursor sqlite3.dbapi2.DataError sqlite3.dbapi2.DatabaseError sqlite3.dbapi2.Date sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error sqlite3.dbapi2.IntegrityError sqlite3.dbapi2.InterfaceError sqlite3.dbapi2.InternalError sqlite3.dbapi2.NotSupportedError sqlite3.dbapi2.OperationalError sqlite3.dbapi2.OptimizedUnicode sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol sqlite3.dbapi2.ProgrammingError sqlite3.dbapi2.Row sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement sqlite3.dbapi2.Time sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters sqlite3.dbapi2.apilevel sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(database[, timeout, isolation_level, detect_types, factory]) sqlite3.dbapi2.converters sqlite3.dbapi2.datetime sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time sqlite3.dbapi2.version sqlite3.dbapi2.version_info sqlite3.dbapi2.x sqlite3.dump sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info sqlite3.threadsafety sqlite3.time sqlite3.version sqlite3.version_info sqlite3.x sre.DOTALL sre.I sre.IGNORECASE sre.L sre.LOCALE sre.M sre.MULTILINE sre.S sre.U sre.UNICODE sre.VERBOSE sre.X sre.compile(??) sre.error sre.escape(??) sre.findall(??) sre.finditer(??) sre.match(??) sre.purge(??) sre.search(??) sre.split(??) sre.sub(??) sre.subn(??) sre.template(??) sre.warnings sre_compile.ANY sre_compile.ANY_ALL sre_compile.ASSERT sre_compile.ASSERT_NOT sre_compile.AT sre_compile.ATCODES sre_compile.AT_BEGINNING sre_compile.AT_BEGINNING_LINE sre_compile.AT_BEGINNING_STRING sre_compile.AT_BOUNDARY sre_compile.AT_END sre_compile.AT_END_LINE sre_compile.AT_END_STRING sre_compile.AT_LOCALE sre_compile.AT_LOC_BOUNDARY sre_compile.AT_LOC_NON_BOUNDARY sre_compile.AT_MULTILINE sre_compile.AT_NON_BOUNDARY sre_compile.AT_UNICODE sre_compile.AT_UNI_BOUNDARY sre_compile.AT_UNI_NON_BOUNDARY sre_compile.BIGCHARSET sre_compile.BRANCH sre_compile.CALL sre_compile.CATEGORY sre_compile.CATEGORY_DIGIT sre_compile.CATEGORY_LINEBREAK sre_compile.CATEGORY_LOC_NOT_WORD sre_compile.CATEGORY_LOC_WORD sre_compile.CATEGORY_NOT_DIGIT sre_compile.CATEGORY_NOT_LINEBREAK sre_compile.CATEGORY_NOT_SPACE sre_compile.CATEGORY_NOT_WORD sre_compile.CATEGORY_SPACE sre_compile.CATEGORY_UNI_DIGIT sre_compile.CATEGORY_UNI_LINEBREAK sre_compile.CATEGORY_UNI_NOT_DIGIT sre_compile.CATEGORY_UNI_NOT_LINEBREAK sre_compile.CATEGORY_UNI_NOT_SPACE sre_compile.CATEGORY_UNI_NOT_WORD sre_compile.CATEGORY_UNI_SPACE sre_compile.CATEGORY_UNI_WORD sre_compile.CATEGORY_WORD sre_compile.CHARSET sre_compile.CHCODES sre_compile.CH_LOCALE sre_compile.CH_UNICODE sre_compile.FAILURE sre_compile.GROUPREF sre_compile.GROUPREF_EXISTS sre_compile.GROUPREF_IGNORE sre_compile.IN sre_compile.INFO sre_compile.IN_IGNORE sre_compile.JUMP sre_compile.LITERAL sre_compile.LITERAL_IGNORE sre_compile.MAGIC sre_compile.MARK sre_compile.MAXCODE sre_compile.MAXREPEAT sre_compile.MAX_REPEAT sre_compile.MAX_UNTIL sre_compile.MIN_REPEAT sre_compile.MIN_REPEAT_ONE sre_compile.MIN_UNTIL sre_compile.NEGATE sre_compile.NOT_LITERAL sre_compile.NOT_LITERAL_IGNORE sre_compile.OPCODES sre_compile.OP_IGNORE sre_compile.RANGE sre_compile.REPEAT sre_compile.REPEAT_ONE sre_compile.SRE_FLAG_DEBUG sre_compile.SRE_FLAG_DOTALL sre_compile.SRE_FLAG_IGNORECASE sre_compile.SRE_FLAG_LOCALE sre_compile.SRE_FLAG_MULTILINE sre_compile.SRE_FLAG_TEMPLATE sre_compile.SRE_FLAG_UNICODE sre_compile.SRE_FLAG_VERBOSE sre_compile.SRE_INFO_CHARSET sre_compile.SRE_INFO_LITERAL sre_compile.SRE_INFO_PREFIX sre_compile.STRING_TYPES sre_compile.SUBPATTERN sre_compile.SUCCESS sre_compile.compile(??) sre_compile.error sre_compile.isstring(??) sre_compile.makedict(??) sre_compile.set(??) sre_compile.sre_parse sre_compile.sys sre_constants.ANY sre_constants.ANY_ALL sre_constants.ASSERT sre_constants.ASSERT_NOT sre_constants.AT sre_constants.ATCODES sre_constants.AT_BEGINNING sre_constants.AT_BEGINNING_LINE sre_constants.AT_BEGINNING_STRING sre_constants.AT_BOUNDARY sre_constants.AT_END sre_constants.AT_END_LINE sre_constants.AT_END_STRING sre_constants.AT_LOCALE sre_constants.AT_LOC_BOUNDARY sre_constants.AT_LOC_NON_BOUNDARY sre_constants.AT_MULTILINE sre_constants.AT_NON_BOUNDARY sre_constants.AT_UNICODE sre_constants.AT_UNI_BOUNDARY sre_constants.AT_UNI_NON_BOUNDARY sre_constants.BIGCHARSET sre_constants.BRANCH sre_constants.CALL sre_constants.CATEGORY sre_constants.CATEGORY_DIGIT sre_constants.CATEGORY_LINEBREAK sre_constants.CATEGORY_LOC_NOT_WORD sre_constants.CATEGORY_LOC_WORD sre_constants.CATEGORY_NOT_DIGIT sre_constants.CATEGORY_NOT_LINEBREAK sre_constants.CATEGORY_NOT_SPACE sre_constants.CATEGORY_NOT_WORD sre_constants.CATEGORY_SPACE sre_constants.CATEGORY_UNI_DIGIT sre_constants.CATEGORY_UNI_LINEBREAK sre_constants.CATEGORY_UNI_NOT_DIGIT sre_constants.CATEGORY_UNI_NOT_LINEBREAK sre_constants.CATEGORY_UNI_NOT_SPACE sre_constants.CATEGORY_UNI_NOT_WORD sre_constants.CATEGORY_UNI_SPACE sre_constants.CATEGORY_UNI_WORD sre_constants.CATEGORY_WORD sre_constants.CHARSET sre_constants.CHCODES sre_constants.CH_LOCALE sre_constants.CH_UNICODE sre_constants.FAILURE sre_constants.GROUPREF sre_constants.GROUPREF_EXISTS sre_constants.GROUPREF_IGNORE sre_constants.IN sre_constants.INFO sre_constants.IN_IGNORE sre_constants.JUMP sre_constants.LITERAL sre_constants.LITERAL_IGNORE sre_constants.MAGIC sre_constants.MARK sre_constants.MAXREPEAT sre_constants.MAX_REPEAT sre_constants.MAX_UNTIL sre_constants.MIN_REPEAT sre_constants.MIN_REPEAT_ONE sre_constants.MIN_UNTIL sre_constants.NEGATE sre_constants.NOT_LITERAL sre_constants.NOT_LITERAL_IGNORE sre_constants.OPCODES sre_constants.OP_IGNORE sre_constants.RANGE sre_constants.REPEAT sre_constants.REPEAT_ONE sre_constants.SRE_FLAG_DEBUG sre_constants.SRE_FLAG_DOTALL sre_constants.SRE_FLAG_IGNORECASE sre_constants.SRE_FLAG_LOCALE sre_constants.SRE_FLAG_MULTILINE sre_constants.SRE_FLAG_TEMPLATE sre_constants.SRE_FLAG_UNICODE sre_constants.SRE_FLAG_VERBOSE sre_constants.SRE_INFO_CHARSET sre_constants.SRE_INFO_LITERAL sre_constants.SRE_INFO_PREFIX sre_constants.SUBPATTERN sre_constants.SUCCESS sre_constants.error sre_constants.makedict(??) sre_parse.ANY sre_parse.ANY_ALL sre_parse.ASSERT sre_parse.ASSERT_NOT sre_parse.AT sre_parse.ATCODES sre_parse.AT_BEGINNING sre_parse.AT_BEGINNING_LINE sre_parse.AT_BEGINNING_STRING sre_parse.AT_BOUNDARY sre_parse.AT_END sre_parse.AT_END_LINE sre_parse.AT_END_STRING sre_parse.AT_LOCALE sre_parse.AT_LOC_BOUNDARY sre_parse.AT_LOC_NON_BOUNDARY sre_parse.AT_MULTILINE sre_parse.AT_NON_BOUNDARY sre_parse.AT_UNICODE sre_parse.AT_UNI_BOUNDARY sre_parse.AT_UNI_NON_BOUNDARY sre_parse.BIGCHARSET sre_parse.BRANCH sre_parse.CALL sre_parse.CATEGORIES sre_parse.CATEGORY sre_parse.CATEGORY_DIGIT sre_parse.CATEGORY_LINEBREAK sre_parse.CATEGORY_LOC_NOT_WORD sre_parse.CATEGORY_LOC_WORD sre_parse.CATEGORY_NOT_DIGIT sre_parse.CATEGORY_NOT_LINEBREAK sre_parse.CATEGORY_NOT_SPACE sre_parse.CATEGORY_NOT_WORD sre_parse.CATEGORY_SPACE sre_parse.CATEGORY_UNI_DIGIT sre_parse.CATEGORY_UNI_LINEBREAK sre_parse.CATEGORY_UNI_NOT_DIGIT sre_parse.CATEGORY_UNI_NOT_LINEBREAK sre_parse.CATEGORY_UNI_NOT_SPACE sre_parse.CATEGORY_UNI_NOT_WORD sre_parse.CATEGORY_UNI_SPACE sre_parse.CATEGORY_UNI_WORD sre_parse.CATEGORY_WORD sre_parse.CHARSET sre_parse.CHCODES sre_parse.CH_LOCALE sre_parse.CH_UNICODE sre_parse.DIGITS sre_parse.ESCAPES sre_parse.FAILURE sre_parse.FLAGS sre_parse.GROUPREF sre_parse.GROUPREF_EXISTS sre_parse.GROUPREF_IGNORE sre_parse.HEXDIGITS sre_parse.IN sre_parse.INFO sre_parse.IN_IGNORE sre_parse.JUMP sre_parse.LITERAL sre_parse.LITERAL_IGNORE sre_parse.MAGIC sre_parse.MARK sre_parse.MAXREPEAT sre_parse.MAX_REPEAT sre_parse.MAX_UNTIL sre_parse.MIN_REPEAT sre_parse.MIN_REPEAT_ONE sre_parse.MIN_UNTIL sre_parse.NEGATE sre_parse.NOT_LITERAL sre_parse.NOT_LITERAL_IGNORE sre_parse.OCTDIGITS sre_parse.OPCODES sre_parse.OP_IGNORE sre_parse.Pattern(??) sre_parse.RANGE sre_parse.REPEAT sre_parse.REPEAT_CHARS sre_parse.REPEAT_ONE sre_parse.SPECIAL_CHARS sre_parse.SRE_FLAG_DEBUG sre_parse.SRE_FLAG_DOTALL sre_parse.SRE_FLAG_IGNORECASE sre_parse.SRE_FLAG_LOCALE sre_parse.SRE_FLAG_MULTILINE sre_parse.SRE_FLAG_TEMPLATE sre_parse.SRE_FLAG_UNICODE sre_parse.SRE_FLAG_VERBOSE sre_parse.SRE_INFO_CHARSET sre_parse.SRE_INFO_LITERAL sre_parse.SRE_INFO_PREFIX sre_parse.SUBPATTERN sre_parse.SUCCESS sre_parse.SubPattern(??) sre_parse.Tokenizer(??) sre_parse.WHITESPACE sre_parse.error sre_parse.expand_template(??) sre_parse.isdigit(??) sre_parse.isident(??) sre_parse.isname(??) sre_parse.makedict(??) sre_parse.parse(??) sre_parse.parse_template(??) sre_parse.set(??) sre_parse.sys ssl.CERT_NONE ssl.CERT_OPTIONAL ssl.CERT_REQUIRED ssl.DER_cert_to_PEM_cert(??) ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv2 ssl.PROTOCOL_SSLv23 ssl.PROTOCOL_SSLv3 ssl.PROTOCOL_TLSv1 ssl.RAND_add(string, entropy) ssl.RAND_egd(path) -> bytes ssl.RAND_status() -> 0 or 1 ssl.SSLError ssl.SSLSocket ssl.SSL_ERROR_EOF ssl.SSL_ERROR_INVALID_ERROR_CODE ssl.SSL_ERROR_SSL ssl.SSL_ERROR_SYSCALL ssl.SSL_ERROR_WANT_CONNECT ssl.SSL_ERROR_WANT_READ ssl.SSL_ERROR_WANT_WRITE ssl.SSL_ERROR_WANT_X509_LOOKUP ssl.SSL_ERROR_ZERO_RETURN ssl.base64 ssl.cert_time_to_seconds(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.socket([family[, type[, proto]]]) -> socket object ssl.sslwrap_simple(??) ssl.textwrap ssl.wrap_socket(??) stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFREG stat.S_IFSOCK stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(??) stat.S_ISCHR(??) stat.S_ISDIR(??) stat.S_ISFIFO(??) stat.S_ISGID stat.S_ISLNK(??) stat.S_ISREG(??) stat.S_ISSOCK(??) stat.S_ISUID stat.S_ISVTX stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE staticmethod(function) -> method statvfs.F_BAVAIL statvfs.F_BFREE statvfs.F_BLOCKS statvfs.F_BSIZE statvfs.F_FAVAIL statvfs.F_FFREE statvfs.F_FILES statvfs.F_FLAG statvfs.F_FRSIZE statvfs.F_NAMEMAX str(object) -> string string.Formatter string.Template string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.atof(s) -> float string.atof_error string.atoi(s [,base]) -> int string.atoi_error string.atol(s [,base]) -> long string.atol_error string.capitalize(s) -> string string.capwords(s, [sep]) -> string string.center(s, width[, fillchar]) -> string string.count(s, sub[, start[,end]]) -> int string.digits string.expandtabs(s [,tabsize]) -> string string.find(s, sub [,start [,end]]) -> in string.hexdigits string.index(s, sub [,start [,end]]) -> int string.index_error string.join(list [,sep]) -> string string.joinfields(??) string.letters string.ljust(s, width[, fillchar]) -> string string.lower(s) -> string string.lowercase string.lstrip(s [,chars]) -> string string.maketrans(frm, to) -> string string.octdigits string.printable string.punctuation string.replace (str, old, new[, maxsplit]) -> string string.rfind(s, sub [,start [,end]]) -> int string.rindex(s, sub [,start [,end]]) -> int string.rjust(s, width[, fillchar]) -> string string.rsplit(s [,sep [,maxsplit]]) -> list of strings string.rstrip(s [,chars]) -> string string.split(s [,sep [,maxsplit]]) -> list of strings string.splitfields(??) string.strip(s [,chars]) -> string string.swapcase(s) -> string string.translate(s,table [,deletions]) -> string string.upper(s) -> string string.uppercase string.whitespace string.zfill(x, width) -> string stringold.atof(s) -> float stringold.atof_error stringold.atoi(s [,base]) -> int stringold.atoi_error stringold.atol(s [,base]) -> long stringold.atol_error stringold.capitalize(s) -> string stringold.capwords(s, [sep]) -> string stringold.center(s, width) -> string stringold.count(s, sub[, start[,end]]) -> int stringold.digits stringold.expandtabs(s [,tabsize]) -> string stringold.find(s, sub [,start [,end]]) -> in stringold.hexdigits stringold.index(s, sub [,start [,end]]) -> int stringold.index_error stringold.join(list [,sep]) -> string stringold.joinfields(??) stringold.letters stringold.ljust(s, width) -> string stringold.lower(s) -> string stringold.lowercase stringold.lstrip(s) -> string stringold.maketrans(frm, to) -> string stringold.octdigits stringold.replace (str, old, new[, maxsplit]) -> string stringold.rfind(s, sub [,start [,end]]) -> int stringold.rindex(s, sub [,start [,end]]) -> int stringold.rjust(s, width) -> string stringold.rstrip(s) -> string stringold.split(str [,sep [,maxsplit]]) -> list of strings stringold.splitfields(??) stringold.strip(s) -> string stringold.swapcase(s) -> string stringold.translate(s,table [,deletechars]) -> string stringold.upper(s) -> string stringold.uppercase stringold.whitespace stringold.zfill(x, width) -> string stringprep.b1_set stringprep.b3_exceptions stringprep.c22_specials stringprep.c6_set stringprep.c7_set stringprep.c8_set stringprep.c9_set stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata strop.atof(s) -> float strop.atoi(s [,base]) -> int strop.atol(s [,base]) -> long strop.capitalize(s) -> string strop.count(s, sub[, start[, end]]) -> int strop.expandtabs(string, [tabsize]) -> string strop.find(s, sub [,start [,end]]) -> in strop.join(list [,sep]) -> string strop.joinfields strop.lower(s) -> string strop.lowercase strop.lstrip(s) -> string strop.maketrans(frm, to) -> string strop.replace (str, old, new[, maxsplit]) -> string strop.rfind(s, sub [,start [,end]]) -> int strop.rstrip(s) -> string strop.split(s [,sep [,maxsplit]]) -> list of strings strop.splitfields strop.strip(s) -> string strop.swapcase(s) -> string strop.translate(s,table [,deletechars]) -> string strop.upper(s) -> string strop.uppercase strop.whitespace struct.Struct struct.calcsize struct.error struct.pack struct.pack_into struct.unpack struct.unpack_from subprocess.CalledProcessError subprocess.MAXFD subprocess.PIPE subprocess.Popen subprocess.STDOUT subprocess.call(??) subprocess.check_call(??) subprocess.errno subprocess.fcntl subprocess.gc subprocess.list2cmdline(??) subprocess.mswindows subprocess.os subprocess.pickle subprocess.select subprocess.signal subprocess.sys subprocess.traceback subprocess.types sum(sequence[, start]) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error sunau.open(??) sunau.openfp(??) sunaudio.MAGIC sunaudio.error sunaudio.get_long_be(??) sunaudio.gethdr(??) sunaudio.printhdr(??) super(type) -> unbound super object symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.exec_stmt symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.fpdef symbol.fplist symbol.funcdef symbol.gen_for symbol.gen_if symbol.gen_iter symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.list_for symbol.list_if symbol.list_iter symbol.listmaker symbol.main(??) symbol.not_test symbol.old_lambdef symbol.old_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.print_stmt symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name symbol.term symbol.test symbol.testlist symbol.testlist1 symbol.testlist_gexp symbol.testlist_safe symbol.trailer symbol.try_stmt symbol.varargslist symbol.while_stmt symbol.with_stmt symbol.with_var symbol.xor_expr symbol.yield_expr symbol.yield_stmt symtable.Class symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.OPT_BARE_EXEC symtable.OPT_EXEC symtable.OPT_IMPORT_STAR symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol symtable.SymbolTable symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.warnings symtable.weakref sys.api_version sys.argv sys.builtin_module_names sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode sys.exc_clear() -> None sys.exc_info() -> (type, value, traceback) sys.exc_type sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags sys.float_info sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.gettrace() sys.hexversion sys.maxint sys.maxsize sys.maxunicode sys.meta_path sys.modules sys.path sys.path_hooks sys.path_importer_cache sys.platform sys.prefix sys.py3kwarning sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.settrace(function) sys.stderr sys.stdin sys.stdout sys.subversion sys.version sys.version_info sys.warnoptions syslog.LOG_ALERT syslog.LOG_AUTH syslog.LOG_CONS syslog.LOG_CRIT syslog.LOG_CRON syslog.LOG_DAEMON syslog.LOG_DEBUG syslog.LOG_EMERG syslog.LOG_ERR syslog.LOG_INFO syslog.LOG_KERN syslog.LOG_LOCAL0 syslog.LOG_LOCAL1 syslog.LOG_LOCAL2 syslog.LOG_LOCAL3 syslog.LOG_LOCAL4 syslog.LOG_LOCAL5 syslog.LOG_LOCAL6 syslog.LOG_LOCAL7 syslog.LOG_LPR syslog.LOG_MAIL syslog.LOG_MASK syslog.LOG_NDELAY syslog.LOG_NEWS syslog.LOG_NOTICE syslog.LOG_NOWAIT syslog.LOG_PERROR syslog.LOG_PID syslog.LOG_SYSLOG syslog.LOG_UPTO syslog.LOG_USER syslog.LOG_UUCP syslog.LOG_WARNING syslog.closelog syslog.openlog syslog.setlogmask syslog.syslog tabnanny.NannyNag tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt tabnanny.main(??) tabnanny.os tabnanny.process_tokens(??) tabnanny.sys tabnanny.tokenize tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.ExFileObject tarfile.ExtractError tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES tarfile.HeaderError tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS tarfile.PAX_FORMAT tarfile.PAX_NUMBER_FIELDS tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES tarfile.ReadError tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES tarfile.SYMTYPE tarfile.S_IFBLK tarfile.S_IFCHR tarfile.S_IFDIR tarfile.S_IFIFO tarfile.S_IFLNK tarfile.S_IFREG tarfile.StreamError tarfile.TAR_GZIPPED tarfile.TAR_PLAIN tarfile.TGEXEC tarfile.TGREAD tarfile.TGWRITE tarfile.TOEXEC tarfile.TOREAD tarfile.TOWRITE tarfile.TSGID tarfile.TSUID tarfile.TSVTX tarfile.TUEXEC tarfile.TUREAD tarfile.TUWRITE tarfile.TarError tarfile.TarFile tarfile.TarFileCompat(??) tarfile.TarInfo tarfile.TarIter(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open tarfile.calc_chksums(??) tarfile.copy tarfile.copyfileobj(??) tarfile.errno tarfile.filemode(??) tarfile.filemode_table tarfile.grp tarfile.is_tarfile(??) tarfile.itn(??) tarfile.normpath(??) tarfile.nti(??) tarfile.nts(??) tarfile.open tarfile.operator tarfile.os tarfile.pwd tarfile.re tarfile.shutil tarfile.stat tarfile.stn(??) tarfile.struct tarfile.sys tarfile.time tarfile.uts(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.select telnetlib.socket telnetlib.sys telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir tempfile.template termios.B0 termios.B110 termios.B115200 termios.B1200 termios.B134 termios.B150 termios.B1800 termios.B19200 termios.B200 termios.B230400 termios.B2400 termios.B300 termios.B38400 termios.B460800 termios.B4800 termios.B50 termios.B57600 termios.B600 termios.B75 termios.B9600 termios.BRKINT termios.BS0 termios.BS1 termios.BSDLY termios.CBAUD termios.CBAUDEX termios.CDSUSP termios.CEOF termios.CEOL termios.CEOT termios.CERASE termios.CFLUSH termios.CIBAUD termios.CINTR termios.CKILL termios.CLNEXT termios.CLOCAL termios.CQUIT termios.CR0 termios.CR1 termios.CR2 termios.CR3 termios.CRDLY termios.CREAD termios.CRPRNT termios.CRTSCTS termios.CS5 termios.CS6 termios.CS7 termios.CS8 termios.CSIZE termios.CSTART termios.CSTOP termios.CSTOPB termios.CSUSP termios.CWERASE termios.ECHO termios.ECHOCTL termios.ECHOE termios.ECHOK termios.ECHOKE termios.ECHONL termios.ECHOPRT termios.EXTA termios.EXTB termios.FF0 termios.FF1 termios.FFDLY termios.FIOASYNC termios.FIOCLEX termios.FIONBIO termios.FIONCLEX termios.FIONREAD termios.FLUSHO termios.HUPCL termios.ICANON termios.ICRNL termios.IEXTEN termios.IGNBRK termios.IGNCR termios.IGNPAR termios.IMAXBEL termios.INLCR termios.INPCK termios.IOCSIZE_MASK termios.IOCSIZE_SHIFT termios.ISIG termios.ISTRIP termios.IUCLC termios.IXANY termios.IXOFF termios.IXON termios.NCC termios.NCCS termios.NL0 termios.NL1 termios.NLDLY termios.NOFLSH termios.N_MOUSE termios.N_PPP termios.N_SLIP termios.N_STRIP termios.N_TTY termios.OCRNL termios.OFDEL termios.OFILL termios.OLCUC termios.ONLCR termios.ONLRET termios.ONOCR termios.OPOST termios.PARENB termios.PARMRK termios.PARODD termios.PENDIN termios.TAB0 termios.TAB1 termios.TAB2 termios.TAB3 termios.TABDLY termios.TCFLSH termios.TCGETA termios.TCGETS termios.TCIFLUSH termios.TCIOFF termios.TCIOFLUSH termios.TCION termios.TCOFLUSH termios.TCOOFF termios.TCOON termios.TCSADRAIN termios.TCSAFLUSH termios.TCSANOW termios.TCSBRK termios.TCSBRKP termios.TCSETA termios.TCSETAF termios.TCSETAW termios.TCSETS termios.TCSETSF termios.TCSETSW termios.TCXONC termios.TIOCCONS termios.TIOCEXCL termios.TIOCGETD termios.TIOCGICOUNT termios.TIOCGLCKTRMIOS termios.TIOCGPGRP termios.TIOCGSERIAL termios.TIOCGSOFTCAR termios.TIOCGWINSZ termios.TIOCINQ termios.TIOCLINUX termios.TIOCMBIC termios.TIOCMBIS termios.TIOCMGET termios.TIOCMIWAIT termios.TIOCMSET termios.TIOCM_CAR termios.TIOCM_CD termios.TIOCM_CTS termios.TIOCM_DSR termios.TIOCM_DTR termios.TIOCM_LE termios.TIOCM_RI termios.TIOCM_RNG termios.TIOCM_RTS termios.TIOCM_SR termios.TIOCM_ST termios.TIOCNOTTY termios.TIOCNXCL termios.TIOCOUTQ termios.TIOCPKT termios.TIOCPKT_DATA termios.TIOCPKT_DOSTOP termios.TIOCPKT_FLUSHREAD termios.TIOCPKT_FLUSHWRITE termios.TIOCPKT_NOSTOP termios.TIOCPKT_START termios.TIOCPKT_STOP termios.TIOCSCTTY termios.TIOCSERCONFIG termios.TIOCSERGETLSR termios.TIOCSERGETMULTI termios.TIOCSERGSTRUCT termios.TIOCSERGWILD termios.TIOCSERSETMULTI termios.TIOCSERSWILD termios.TIOCSER_TEMT termios.TIOCSETD termios.TIOCSLCKTRMIOS termios.TIOCSPGRP termios.TIOCSSERIAL termios.TIOCSSOFTCAR termios.TIOCSTI termios.TIOCSWINSZ termios.TOSTOP termios.VDISCARD termios.VEOF termios.VEOL termios.VEOL2 termios.VERASE termios.VINTR termios.VKILL termios.VLNEXT termios.VMIN termios.VQUIT termios.VREPRINT termios.VSTART termios.VSTOP termios.VSUSP termios.VSWTC termios.VSWTCH termios.VT0 termios.VT1 termios.VTDLY termios.VTIME termios.VWERASE termios.XCASE termios.XTABS termios.error termios.tcdrain(fd) -> None termios.tcflow(fd, action) -> None termios.tcflush(fd, queue) -> None termios.tcgetattr(fd) -> list_of_attrs termios.tcsendbreak(fd, duration) -> None termios.tcsetattr(fd, when, attributes) -> None textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.re textwrap.string textwrap.wrap(??) this.c this.d this.i this.s thread.LockType thread.allocate thread.allocate_lock() -> lock object thread.error thread.exit() thread.exit_thread thread.get_ident() -> integer thread.interrupt_main() thread.stack_size([size]) -> size thread.start_new thread.start_new_thread(function, args[, kwargs]) threading.BoundedSemaphore(??) threading.Condition(??) threading.Event(??) threading.Lock threading.RLock(??) threading.Semaphore(??) threading.Thread threading.ThreadError threading.Timer(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.deque(iterable[, maxlen]) --> deque object threading.enumerate(??) threading.local threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size threading.warnings threading.wraps(??) time.accept2dyear time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time time.time() -> floating point number time.timezone time.tzname time.tzset(zone) timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer timeit.dummy_src_name timeit.gc timeit.itertools timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys timeit.template timeit.time timeit.timeit(??) toaiff.error toaiff.os toaiff.pipes toaiff.sndhdr toaiff.t toaiff.table toaiff.tempfile toaiff.toaiff(??) toaiff.uncompress token.AMPER token.AMPEREQUAL token.AT token.BACKQUOTE token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.main(??) token.tok_name tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BACKQUOTE tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing tokenize.String tokenize.TILDE tokenize.Token tokenize.TokenError tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.double3prog tokenize.endprogs tokenize.generate_tokens(??) tokenize.group(??) tokenize.main(??) tokenize.maybe(??) tokenize.printtoken(??) tokenize.pseudoprog tokenize.re tokenize.single3prog tokenize.single_quoted tokenize.string tokenize.t tokenize.tabsize tokenize.tok_name tokenize.tokenize(??) tokenize.tokenize_loop(??) tokenize.tokenprog tokenize.triple_quoted tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.cPickle trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc trace.linecache trace.main(??) trace.modname(??) trace.os trace.pickle trace.re trace.rx_blank trace.sys trace.threading trace.time trace.token trace.tokenize trace.types trace.usage(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys traceback.tb_lineno(??) traceback.types tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B460800 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CBAUD tty.CBAUDEX tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CIBAUD tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.IOCSIZE_MASK tty.IOCSIZE_SHIFT tty.ISIG tty.ISPEED tty.ISTRIP tty.IUCLC tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCC tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.N_MOUSE tty.N_PPP tty.N_SLIP tty.N_STRIP tty.N_TTY tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.OLCUC tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCFLSH tty.TCGETA tty.TCGETS tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSBRK tty.TCSBRKP tty.TCSETA tty.TCSETAF tty.TCSETAW tty.TCSETS tty.TCSETSF tty.TCSETSW tty.TCXONC tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGICOUNT tty.TIOCGLCKTRMIOS tty.TIOCGPGRP tty.TIOCGSERIAL tty.TIOCGSOFTCAR tty.TIOCGWINSZ tty.TIOCINQ tty.TIOCLINUX tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMIWAIT tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSERCONFIG tty.TIOCSERGETLSR tty.TIOCSERGETMULTI tty.TIOCSERGSTRUCT tty.TIOCSERGWILD tty.TIOCSERSETMULTI tty.TIOCSERSWILD tty.TIOCSER_TEMT tty.TIOCSETD tty.TIOCSLCKTRMIOS tty.TIOCSPGRP tty.TIOCSSERIAL tty.TIOCSSOFTCAR tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VSWTC tty.VSWTCH tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.XCASE tty.XTABS tty.error tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> an empty tuple type(object) -> the object's type types.BooleanType types.BufferType types.BuiltinFunctionType types.BuiltinMethodType types.ClassType types.CodeType types.ComplexType types.DictProxyType types.DictType types.DictionaryType types.EllipsisType types.FileType types.FloatType types.FrameType types.FunctionType types.GeneratorType types.GetSetDescriptorType types.InstanceType types.IntType types.LambdaType types.ListType types.LongType types.MemberDescriptorType types.MethodType types.ModuleType types.NoneType types.NotImplementedType types.ObjectType types.SliceType types.StringType types.StringTypes types.TracebackType types.TupleType types.TypeType types.UnboundMethodType types.UnicodeType types.XRangeType unichr(i) -> Unicode character unicode(string [, encoding[, errors]]) -> object unicodedata.UCD unicodedata.bidirectional(unichr) unicodedata.category(unichr) unicodedata.combining(unichr) unicodedata.decimal(unichr[, default]) unicodedata.decomposition(unichr) unicodedata.digit(unichr[, default]) unicodedata.east_asian_width(unichr) unicodedata.lookup(name) unicodedata.mirrored(unichr) unicodedata.name(unichr[, default]) unicodedata.normalize(form, unistr) unicodedata.numeric(unichr[, default]) unicodedata.ucd_3_2_0 unicodedata.ucnhash_CAPI unicodedata.unidata_version unittest.FunctionTestCase unittest.TestCase unittest.TestLoader unittest.TestProgram unittest.TestResult unittest.TestSuite unittest.TextTestRunner unittest.defaultTestLoader unittest.findTestCases(??) unittest.getTestCaseNames(??) unittest.main unittest.makeSuite(??) unittest.os unittest.sys unittest.time unittest.traceback unittest.types urllib.ContentTooShortError urllib.FancyURLopener(??) urllib.MAXFTPCACHE urllib.URLopener(??) urllib.addbase(??) urllib.addclosehook(??) urllib.addinfo(??) urllib.addinfourl(??) urllib.always_safe urllib.basejoin(??) urllib.ftpcache urllib.ftperrors(??) urllib.ftpwrapper(??) urllib.getproxies(??) urllib.getproxies_environment(??) urllib.localhost(??) urllib.main(??) urllib.noheaders(??) urllib.os urllib.pathname2url(??) urllib.proxy_bypass(??) urllib.proxy_bypass_environment(??) urllib.quote('abc def') -> 'abc%20def' urllib.quote_plus(??) urllib.reporthook(??) urllib.socket urllib.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.splitnport(??) urllib.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.splitport('host:port') --> 'host', 'port'. urllib.splitquery('/path?query') --> '/path', 'query'. urllib.splittag('/path#tag') --> '/path', 'tag'. urllib.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.splitvalue('attr=value') --> 'attr', 'value'. urllib.ssl urllib.string urllib.sys urllib.test(??) urllib.test1(??) urllib.thishost(??) urllib.time urllib.toBytes(u"URL") --> 'URL'. urllib.unquote('abc%20def') -> 'abc def'. urllib.unquote_plus(??) urllib.unwrap('') --> 'type://host/path'. urllib.url2pathname(??) urllib.urlcleanup(??) urllib.urlencode(??) urllib.urlopen(??) urllib.urlretrieve(??) urllib.warnings urllib2.AbstractBasicAuthHandler(??) urllib2.AbstractDigestAuthHandler(??) urllib2.AbstractHTTPHandler(??) urllib2.BaseHandler(??) urllib2.CacheFTPHandler(??) urllib2.FTPHandler(??) urllib2.FileHandler(??) urllib2.HTTPBasicAuthHandler(??) urllib2.HTTPCookieProcessor(??) urllib2.HTTPDefaultErrorHandler(??) urllib2.HTTPDigestAuthHandler(??) urllib2.HTTPError urllib2.HTTPErrorProcessor(??) urllib2.HTTPHandler(??) urllib2.HTTPPasswordMgr(??) urllib2.HTTPPasswordMgrWithDefaultRealm(??) urllib2.HTTPRedirectHandler(??) urllib2.HTTPSHandler(??) urllib2.OpenerDirector(??) urllib2.ProxyBasicAuthHandler(??) urllib2.ProxyDigestAuthHandler(??) urllib2.ProxyHandler(??) urllib2.Request(??) urllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing urllib2.URLError urllib2.UnknownHandler(??) urllib2.addinfourl(??) urllib2.base64 urllib2.bisect urllib2.build_opener(??) urllib2.ftpwrapper(??) urllib2.getproxies(??) urllib2.hashlib urllib2.httplib urllib2.install_opener(??) urllib2.localhost(??) urllib2.mimetools urllib2.os urllib2.parse_http_list(??) urllib2.parse_keqv_list(??) urllib2.posixpath urllib2.quote('abc def') -> 'abc%20def' urllib2.random urllib2.randombytes(??) urllib2.re urllib2.request_host(??) urllib2.socket urllib2.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib2.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib2.splitport('host:port') --> 'host', 'port'. urllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib2.splitvalue('attr=value') --> 'attr', 'value'. urllib2.sys urllib2.time urllib2.unquote('abc%20def') -> 'abc def'. urllib2.unwrap('') --> 'type://host/path'. urllib2.url2pathname(??) urllib2.urlopen(??) urllib2.urlparse urlparse.MAX_CACHE_SIZE urlparse.ParseResult urlparse.ResultMixin urlparse.SplitResult urlparse.clear_cache(??) urlparse.namedtuple(??) urlparse.non_hierarchical urlparse.parse_qs(??) urlparse.parse_qsl(??) urlparse.scheme_chars urlparse.test(??) urlparse.test_input urlparse.unquote('abc%20def') -> 'abc def'. urlparse.urldefrag(??) urlparse.urljoin(??) urlparse.urlparse(??) urlparse.urlsplit(??) urlparse.urlunparse(??) urlparse.urlunsplit(??) urlparse.uses_fragment urlparse.uses_netloc urlparse.uses_params urlparse.uses_query urlparse.uses_relative user.home user.os user.pythonrc uu.Error uu.binascii uu.decode(??) uu.encode(??) uu.os uu.sys uu.test(??) uuid.NAMESPACE_DNS uuid.NAMESPACE_OID uuid.NAMESPACE_URL uuid.NAMESPACE_X500 uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID uuid.ctypes uuid.getnode(??) uuid.lib uuid.libname uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary warnings.WarningMessage warnings.catch_warnings warnings.default_action warnings.defaultaction warnings.filters warnings.filterwarnings(??) warnings.formatwarning(??) warnings.linecache warnings.once_registry warnings.onceregistry warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys warnings.types warnings.warn warnings.warn_explicit warnings.warnpy3k(??) wave.Chunk(??) wave.Error wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.big_endian wave.open(??) wave.openfp(??) wave.struct weakref.CallableProxyType weakref.KeyedRef weakref.ProxyType weakref.ProxyTypes weakref.ReferenceError weakref.ReferenceType weakref.UserDict weakref.WeakKeyDictionary(??) weakref.WeakValueDictionary(??) weakref.getweakrefcount(object) -- return the number of weak references weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref webbrowser.BackgroundBrowser webbrowser.BaseBrowser webbrowser.Elinks webbrowser.Error webbrowser.Galeon webbrowser.GenericBrowser webbrowser.Grail webbrowser.Konqueror webbrowser.Mozilla webbrowser.Netscape webbrowser.Opera webbrowser.UnixBrowser webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex webbrowser.stat webbrowser.subprocess webbrowser.sys webbrowser.time whichdb.dbm whichdb.os whichdb.struct whichdb.sys whichdb.whichdb(??) wsgiref.handlers wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.StringType wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os wsgiref.handlers.sys wsgiref.handlers.time wsgiref.headers wsgiref.headers.Headers(??) wsgiref.headers.ListType wsgiref.headers.TupleType wsgiref.headers.re wsgiref.headers.tspecials wsgiref.simple_server wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys wsgiref.simple_server.sys_version wsgiref.simple_server.urllib wsgiref.util wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.DictType wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.ListType wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.StringType wsgiref.validate.TupleType wsgiref.validate.WSGIWarning wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.header_re wsgiref.validate.re wsgiref.validate.sys wsgiref.validate.validator(??) wsgiref.validate.warnings xdrlib.ConversionError xdrlib.Error xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct xml.dom xml.dom.DOMException xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr xml.dom.EMPTY_NAMESPACE xml.dom.EMPTY_PREFIX xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr xml.dom.InuseAttributeErr xml.dom.InvalidAccessErr xml.dom.InvalidCharacterErr xml.dom.InvalidModificationErr xml.dom.InvalidStateErr xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr xml.dom.NoDataAllowedErr xml.dom.NoModificationAllowedErr xml.dom.Node(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr xml.dom.NotSupportedErr xml.dom.SYNTAX_ERR xml.dom.SyntaxErr xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg xml.dom.domreg.EmptyNodeList xml.dom.domreg.NodeList xml.dom.domreg.StringTypes xml.dom.domreg.defproperty(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered xml.dom.domreg.well_known_implementations xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE xml.dom.expatbuilder.EMPTY_PREFIX xml.dom.expatbuilder.ElementInfo xml.dom.expatbuilder.EmptyNodeList xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch xml.dom.expatbuilder.FilterVisibilityController xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.NodeList xml.dom.expatbuilder.ParseEscape xml.dom.expatbuilder.Rejecter xml.dom.expatbuilder.Skipper xml.dom.expatbuilder.StringTypes xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.defproperty(??) xml.dom.expatbuilder.expat xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation xml.dom.expatbuilder.xmlbuilder xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat xml.dom.minicompat.EmptyNodeList xml.dom.minicompat.NodeList xml.dom.minicompat.StringTypes xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE xml.dom.minidom.EMPTY_PREFIX xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo xml.dom.minidom.EmptyNodeList xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap xml.dom.minidom.Node(??) xml.dom.minidom.NodeList xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap xml.dom.minidom.StringTypes xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml xml.dom.pulldom xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.types xml.dom.pulldom.xml xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy xml.dom.xmlbuilder.xml xml.etree.ElementInclude.ElementTree xml.etree.ElementInclude.FatalIncludeError xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath.Path(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.re xml.etree.ElementPath.xpath_descendant_or_self(??) xml.etree.ElementPath.xpath_tokenizer xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLTreeBuilder(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fixtag(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re xml.etree.ElementTree.string xml.etree.ElementTree.sys xml.etree.ElementTree.tostring(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element xml.etree.cElementTree.ElementPath xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement xml.etree.cElementTree.TreeBuilder xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser xml.etree.cElementTree.XMLParserError xml.etree.cElementTree.XMLTreeBuilder xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse xml.etree.cElementTree.parse(??) xml.etree.cElementTree.tostring(??) xml.parsers xml.parsers.expat xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error xml.parsers.expat.errors xml.parsers.expat.expat_CAPI xml.parsers.expat.features xml.parsers.expat.model xml.parsers.expat.native_encoding xml.parsers.expat.version_info xml.sax xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException xml.sax.SAXNotRecognizedException xml.sax.SAXNotSupportedException xml.sax.SAXParseException xml.sax.SAXReaderNotAvailable xml.sax.default_parser_list xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException xml.sax.expatreader.SAXNotRecognizedException xml.sax.expatreader.SAXNotSupportedException xml.sax.expatreader.SAXParseException xml.sax.expatreader.SAXReaderNotAvailable xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils xml.sax.expatreader.version xml.sax.expatreader.xmlreader xml.sax.handler xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features xml.sax.handler.all_properties xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler xml.sax.saxutils.os xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.types xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib xml.sax.saxutils.urlparse xml.sax.saxutils.xmlreader xml.sax.xmlreader xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException xml.sax.xmlreader.SAXNotSupportedException xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler xmllib.Error xmllib.TestXMLParser(??) xmllib.XMLParser(??) xmllib.amp xmllib.attrfind xmllib.attrtrans xmllib.cdataclose xmllib.cdataopen xmllib.charref xmllib.commentclose xmllib.commentopen xmllib.doctype xmllib.doubledash xmllib.endbracket xmllib.endbracketfind xmllib.endtagopen xmllib.entityref xmllib.illegal xmllib.interesting xmllib.ncname xmllib.newline xmllib.procclose xmllib.procopen xmllib.qname xmllib.re xmllib.ref xmllib.space xmllib.starttagend xmllib.starttagmatch xmllib.starttagopen xmllib.string xmllib.tagfind xmllib.test(??) xmllib.version xmllib.xmldecl xmllib.xmlns xmlrpclib.APPLICATION_ERROR xmlrpclib.Binary(??) xmlrpclib.Boolean xmlrpclib.BooleanType xmlrpclib.BufferType xmlrpclib.BuiltinFunctionType xmlrpclib.BuiltinMethodType xmlrpclib.ClassType xmlrpclib.CodeType xmlrpclib.ComplexType xmlrpclib.DateTime(??) xmlrpclib.DictProxyType xmlrpclib.DictType xmlrpclib.DictionaryType xmlrpclib.EllipsisType xmlrpclib.Error xmlrpclib.ExpatParser(??) xmlrpclib.False xmlrpclib.FastMarshaller xmlrpclib.FastParser xmlrpclib.FastUnmarshaller xmlrpclib.Fault xmlrpclib.FileType xmlrpclib.FloatType xmlrpclib.FrameType xmlrpclib.FunctionType xmlrpclib.GeneratorType xmlrpclib.GetSetDescriptorType xmlrpclib.INTERNAL_ERROR xmlrpclib.INVALID_ENCODING_CHAR xmlrpclib.INVALID_METHOD_PARAMS xmlrpclib.INVALID_XMLRPC xmlrpclib.InstanceType xmlrpclib.IntType xmlrpclib.LambdaType xmlrpclib.ListType xmlrpclib.LongType xmlrpclib.MAXINT xmlrpclib.METHOD_NOT_FOUND xmlrpclib.MININT xmlrpclib.Marshaller(??) xmlrpclib.MemberDescriptorType xmlrpclib.MethodType xmlrpclib.ModuleType xmlrpclib.MultiCall(??) xmlrpclib.MultiCallIterator(??) xmlrpclib.NOT_WELLFORMED_ERROR xmlrpclib.NoneType xmlrpclib.NotImplementedType xmlrpclib.ObjectType xmlrpclib.PARSE_ERROR xmlrpclib.ProtocolError xmlrpclib.ResponseError xmlrpclib.SERVER_ERROR xmlrpclib.SYSTEM_ERROR xmlrpclib.SafeTransport(??) xmlrpclib.Server(??) xmlrpclib.ServerProxy(??) xmlrpclib.SgmlopParser xmlrpclib.SliceType xmlrpclib.SlowParser(??) xmlrpclib.StringIO xmlrpclib.StringType xmlrpclib.StringTypes xmlrpclib.TRANSPORT_ERROR xmlrpclib.TracebackType xmlrpclib.Transport(??) xmlrpclib.True xmlrpclib.TupleType xmlrpclib.TypeType xmlrpclib.UNSUPPORTED_ENCODING xmlrpclib.UnboundMethodType xmlrpclib.UnicodeType xmlrpclib.Unmarshaller(??) xmlrpclib.WRAPPERS xmlrpclib.XRangeType xmlrpclib.base64 xmlrpclib.boolean xmlrpclib.datetime xmlrpclib.dumps(??) xmlrpclib.escape(??) xmlrpclib.expat xmlrpclib.getparser() -> parser, unmarshaller xmlrpclib.loads(??) xmlrpclib.operator xmlrpclib.re xmlrpclib.string xmlrpclib.time xrange([start,] stop[, step]) -> xrange object xxsubtype.bench xxsubtype.spamdict xxsubtype.spamlist zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] zipfile.BadZipfile zipfile.LargeZipFile zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo zipfile.binascii zipfile.cStringIO zipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zipfile.error zipfile.is_zipfile(??) zipfile.main(??) zipfile.os zipfile.shutil zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys zipfile.time zipfile.zlib zipimport.ZipImportError zipimport.zipimporter(archivepath) -> zipimporter object zlib.DEFLATED zlib.DEF_MEM_LEVEL zlib.MAX_WBITS zlib.ZLIB_VERSION zlib.Z_BEST_COMPRESSION zlib.Z_BEST_SPEED zlib.Z_DEFAULT_COMPRESSION zlib.Z_DEFAULT_STRATEGY zlib.Z_FILTERED zlib.Z_FINISH zlib.Z_FULL_FLUSH zlib.Z_HUFFMAN_ONLY zlib.Z_NO_FLUSH zlib.Z_SYNC_FLUSH zlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string. zlib.compress(string[, level]) -- Returned compressed string. zlib.compressobj([level]) -- Return a compressor object. zlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. zlib.decompressobj([wbits]) -- Return a decompressor object. zlib.error ================================================ FILE: src/qscint/qsci/api/python/Python-2.7.api ================================================ ArithmeticError AssertionError AttributeError BaseException BaseHTTPServer.BaseHTTPRequestHandler(??) BaseHTTPServer.DEFAULT_ERROR_CONTENT_TYPE BaseHTTPServer.DEFAULT_ERROR_MESSAGE BaseHTTPServer.HTTPServer(??) BaseHTTPServer.SocketServer BaseHTTPServer.catch_warnings BaseHTTPServer.filterwarnings(??) BaseHTTPServer.mimetools BaseHTTPServer.socket BaseHTTPServer.sys BaseHTTPServer.test(??) BaseHTTPServer.time Bastion.Bastion(??) Bastion.BastionClass(??) Bastion.MethodType BufferError BytesWarning CGIHTTPServer.BaseHTTPServer CGIHTTPServer.CGIHTTPRequestHandler(??) CGIHTTPServer.SimpleHTTPServer CGIHTTPServer.executable(??) CGIHTTPServer.nobody CGIHTTPServer.nobody_uid(??) CGIHTTPServer.os CGIHTTPServer.select CGIHTTPServer.sys CGIHTTPServer.test(??) CGIHTTPServer.urllib ConfigParser.ConfigParser(??) ConfigParser.DEFAULTSECT ConfigParser.DuplicateSectionError ConfigParser.Error ConfigParser.InterpolationDepthError ConfigParser.InterpolationError ConfigParser.InterpolationMissingOptionError ConfigParser.InterpolationSyntaxError ConfigParser.MAX_INTERPOLATION_DEPTH ConfigParser.MissingSectionHeaderError ConfigParser.NoOptionError ConfigParser.NoSectionError ConfigParser.ParsingError ConfigParser.RawConfigParser(??) ConfigParser.SafeConfigParser(??) ConfigParser.re Cookie.BaseCookie Cookie.Cookie Cookie.CookieError Cookie.Morsel Cookie.SerialCookie Cookie.SimpleCookie Cookie.SmartCookie Cookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. Cookie.loads(string) -- Load a pickle from the given string Cookie.re Cookie.string Cookie.warnings DeprecationWarning DocXMLRPCServer.CGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocCGIXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCRequestHandler(??) DocXMLRPCServer.DocXMLRPCServer(??) DocXMLRPCServer.ServerHTMLDoc(??) DocXMLRPCServer.SimpleXMLRPCRequestHandler(??) DocXMLRPCServer.SimpleXMLRPCServer(??) DocXMLRPCServer.XMLRPCDocGenerator(??) DocXMLRPCServer.inspect DocXMLRPCServer.pydoc DocXMLRPCServer.re DocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d DocXMLRPCServer.sys EOFError Ellipsis EnvironmentError Exception False FloatingPointError FutureWarning GeneratorExit HTMLParser.HTMLParseError HTMLParser.HTMLParser(??) HTMLParser.attrfind HTMLParser.charref HTMLParser.commentclose HTMLParser.endendtag HTMLParser.endtagfind HTMLParser.entityref HTMLParser.incomplete HTMLParser.interesting_cdata HTMLParser.interesting_normal HTMLParser.locatestarttagend HTMLParser.markupbase HTMLParser.piclose HTMLParser.re HTMLParser.starttagopen HTMLParser.tagfind IOError ImportError ImportWarning IndentationError IndexError KeyError KeyboardInterrupt LookupError MemoryError MimeWriter.MimeWriter(??) MimeWriter.mimetools MimeWriter.warnings NameError None NotImplemented NotImplementedError OSError OverflowError PendingDeprecationWarning Queue.Empty Queue.Full Queue.LifoQueue(??) Queue.PriorityQueue(??) Queue.Queue(??) Queue.deque(iterable[, maxlen]) --> deque object Queue.heapq ReferenceError RuntimeError RuntimeWarning SimpleHTTPServer.BaseHTTPServer SimpleHTTPServer.SimpleHTTPRequestHandler(??) SimpleHTTPServer.StringIO([s]) -- Return a StringIO-like stream for reading or writing SimpleHTTPServer.cgi SimpleHTTPServer.mimetypes SimpleHTTPServer.os SimpleHTTPServer.posixpath SimpleHTTPServer.shutil SimpleHTTPServer.test(??) SimpleHTTPServer.urllib SimpleXMLRPCServer.BaseHTTPServer SimpleXMLRPCServer.CGIXMLRPCRequestHandler(??) SimpleXMLRPCServer.Fault SimpleXMLRPCServer.MultiPathXMLRPCServer(??) SimpleXMLRPCServer.SimpleXMLRPCDispatcher(??) SimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??) SimpleXMLRPCServer.SimpleXMLRPCServer(??) SimpleXMLRPCServer.SocketServer SimpleXMLRPCServer.fcntl SimpleXMLRPCServer.list_public_methods(??) SimpleXMLRPCServer.os SimpleXMLRPCServer.re SimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2] SimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d SimpleXMLRPCServer.sys SimpleXMLRPCServer.traceback SimpleXMLRPCServer.xmlrpclib SocketServer.BaseRequestHandler(??) SocketServer.BaseServer(??) SocketServer.DatagramRequestHandler(??) SocketServer.ForkingMixIn(??) SocketServer.ForkingTCPServer(??) SocketServer.ForkingUDPServer(??) SocketServer.StreamRequestHandler(??) SocketServer.TCPServer(??) SocketServer.ThreadingMixIn(??) SocketServer.ThreadingTCPServer(??) SocketServer.ThreadingUDPServer(??) SocketServer.ThreadingUnixDatagramServer(??) SocketServer.ThreadingUnixStreamServer(??) SocketServer.UDPServer(??) SocketServer.UnixDatagramServer(??) SocketServer.UnixStreamServer(??) SocketServer.os SocketServer.select SocketServer.socket SocketServer.sys SocketServer.threading StandardError StopIteration StringIO.EINVAL StringIO.StringIO(??) StringIO.test(??) SyntaxError SyntaxWarning SystemError SystemExit TabError True TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserDict.DictMixin(??) UserDict.IterableUserDict(??) UserDict.UserDict(??) UserList.UserList UserList.collections UserString.MutableString UserString.UserString UserString.collections UserString.sys UserWarning ValueError Warning ZeroDivisionError abc.ABCMeta abc.abstractmethod(??) abc.abstractproperty abc.types abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error aifc.open(??) aifc.openfp(??) aifc.struct all(iterable) -> bool antigravity.webbrowser any(iterable) -> bool anydbm.error anydbm.open(??) apply(object[, args[, kwargs]]) -> value argparse.Action argparse.ArgumentDefaultsHelpFormatter argparse.ArgumentError argparse.ArgumentParser argparse.ArgumentTypeError argparse.FileType argparse.HelpFormatter argparse.Namespace argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter argparse.RawTextHelpFormatter argparse.SUPPRESS argparse.ZERO_OR_MORE array.ArrayType array.array(typecode [, initializer]) -> array ast.AST ast.Add ast.And ast.Assert ast.Assign ast.Attribute ast.AugAssign ast.AugLoad ast.AugStore ast.BinOp ast.BitAnd ast.BitOr ast.BitXor ast.BoolOp ast.Break ast.Call ast.ClassDef ast.Compare ast.Continue ast.Del ast.Delete ast.Dict ast.DictComp ast.Div ast.Ellipsis ast.Eq ast.ExceptHandler ast.Exec ast.Expr ast.Expression ast.ExtSlice ast.FloorDiv ast.For ast.FunctionDef ast.GeneratorExp ast.Global ast.Gt ast.GtE ast.If ast.IfExp ast.Import ast.ImportFrom ast.In ast.Index ast.Interactive ast.Invert ast.Is ast.IsNot ast.LShift ast.Lambda ast.List ast.ListComp ast.Load ast.Lt ast.LtE ast.Mod ast.Module ast.Mult ast.Name ast.NodeTransformer ast.NodeVisitor ast.Not ast.NotEq ast.NotIn ast.Num ast.Or ast.Param ast.Pass ast.Pow ast.Print ast.PyCF_ONLY_AST ast.RShift ast.Raise ast.Repr ast.Return ast.Set ast.SetComp ast.Slice ast.Store ast.Str ast.Sub ast.Subscript ast.Suite ast.TryExcept ast.TryFinally ast.Tuple ast.UAdd ast.USub ast.UnaryOp ast.While ast.With ast.Yield ast.alias ast.arguments ast.boolop ast.cmpop ast.comprehension ast.copy_location(??) ast.dump(??) ast.excepthandler ast.expr ast.expr_context ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword ast.literal_eval(??) ast.mod ast.operator ast.parse(??) ast.slice ast.stmt ast.unaryop ast.walk(??) asynchat.async_chat(??) asynchat.asyncore asynchat.catch_warnings asynchat.deque(iterable[, maxlen]) --> deque object asynchat.fifo(??) asynchat.filterwarnings(??) asynchat.find_prefix_at_end(??) asynchat.py3kwarning asynchat.simple_producer(??) asynchat.socket asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINTR asyncore.EISCONN asyncore.ENOTCONN asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode asyncore.fcntl asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select asyncore.socket asyncore.socket_map asyncore.sys asyncore.time asyncore.warnings asyncore.write(??) atexit.register(??) atexit.sys audiodev.AudioDev(??) audiodev.Play_Audio_sgi(??) audiodev.Play_Audio_sun(??) audiodev.error audiodev.test(??) audioop.add audioop.adpcm2lin audioop.alaw2lin audioop.avg audioop.avgpp audioop.bias audioop.cross audioop.error audioop.findfactor audioop.findfit audioop.findmax audioop.getsample audioop.lin2adpcm audioop.lin2alaw audioop.lin2lin audioop.lin2ulaw audioop.max audioop.maxpp audioop.minmax audioop.mul audioop.ratecv audioop.reverse audioop.rms audioop.tomono audioop.tostereo audioop.ulaw2lin base64.EMPTYSTRING base64.MAXBINSIZE base64.MAXLINESIZE base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.binascii base64.decode(??) base64.decodestring(??) base64.encode(??) base64.encodestring(??) base64.k base64.re base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct base64.test(??) base64.test1(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) base64.v basestring bdb.Bdb(??) bdb.BdbQuit bdb.Breakpoint(??) bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch bdb.foo(??) bdb.os bdb.set_trace(??) bdb.sys bdb.test(??) bdb.types bin(number) -> string binascii.Error binascii.Incomplete binascii.a2b_base64 binascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation. binascii.a2b_hqx binascii.a2b_qp binascii.a2b_uu binascii.b2a_base64 binascii.b2a_hex(data) -> s; Hexadecimal representation of binary data. binascii.b2a_hqx binascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; binascii.b2a_uu binascii.crc32 binascii.crc_hqx binascii.hexlify binascii.rlecode_hqx binascii.rledecode_hqx binascii.unhexlify binhex.BinHex(??) binhex.Error binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii binhex.binhex(??) binhex.getfileinfo(??) binhex.hexbin(??) binhex.openrsrc(??) binhex.os binhex.struct binhex.sys bisect.bisect bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool buffer(object [, offset[, size]]) bytearray(iterable_of_ints) -> bytearray. bytes cPickle.BadPickleGet cPickle.HIGHEST_PROTOCOL cPickle.PickleError cPickle.Pickler(file, protocol=0) -- Create a pickler. cPickle.PicklingError cPickle.UnpickleableError cPickle.Unpickler(file) -- Create an unpickler. cPickle.UnpicklingError cPickle.compatible_formats cPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file. cPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. cPickle.format_version cPickle.load(file) -- Load a pickle from the given file cPickle.loads(string) -- Load a pickle from the given string cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.help(??) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) cStringIO.InputType cStringIO.OutputType cStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing cStringIO.cStringIO_CAPI calendar.Calendar calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar calendar.IllegalMonthError calendar.IllegalWeekdayError calendar.January calendar.LocaleHTMLCalendar calendar.LocaleTextCalendar calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar calendar.TimeEncoding(??) calendar.WEDNESDAY calendar.c calendar.calendar calendar.datetime calendar.day_abbr calendar.day_name calendar.error calendar.firstweekday calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays calendar.month calendar.month_abbr calendar.month_name calendar.monthcalendar calendar.monthrange(??) calendar.prcal calendar.prmonth calendar.prweek calendar.setfirstweekday(??) calendar.sys calendar.timegm(??) calendar.week calendar.weekday(??) calendar.weekheader callable(object) -> bool cgi.FieldStorage(??) cgi.FormContent(??) cgi.FormContentDict(??) cgi.InterpFormContentDict(??) cgi.MiniFieldStorage(??) cgi.StringIO([s]) -- Return a StringIO-like stream for reading or writing cgi.SvFormContentDict(??) cgi.UserDict cgi.attrgetter(attr, ...) --> attrgetter object cgi.catch_warnings cgi.dolog(??) cgi.escape(??) cgi.filterwarnings(??) cgi.initlog(??) cgi.log(??) cgi.logfile cgi.logfp cgi.maxlen cgi.mimetools cgi.nolog(??) cgi.os cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.rfc822 cgi.sys cgi.test(??) cgi.urllib cgi.urlparse cgi.valid_boundary(??) cgi.warn cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler cgitb.html(??) cgitb.inspect cgitb.keyword cgitb.linecache cgitb.lookup(??) cgitb.os cgitb.pydoc cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys cgitb.tempfile cgitb.text(??) cgitb.time cgitb.tokenize cgitb.traceback cgitb.types chr(i) -> character chunk.Chunk(??) classmethod(function) -> method cmath.acos(x) cmath.acosh(x) cmath.asin(x) cmath.asinh(x) cmath.atan(x) cmath.atanh(x) cmath.cos(x) cmath.cosh(x) cmath.e cmath.exp(x) cmath.isinf(z) -> bool cmath.isnan(z) -> bool cmath.log(x[, base]) -> the logarithm of x to the given base. cmath.log10(x) cmath.phase(z) -> float cmath.pi cmath.polar(z) -> r: float, phi: float cmath.rect(r, phi) -> z: complex cmath.sin(x) cmath.sinh(x) cmath.sqrt(x) cmath.tan(x) cmath.tanh(x) cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string cmp(x, y) -> integer code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.softspace(??) code.sys code.traceback codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder codecs.BufferedIncrementalEncoder codecs.Codec(??) codecs.CodecInfo codecs.EncodedFile(??) codecs.IncrementalDecoder codecs.IncrementalEncoder codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode codecs.ascii_encode codecs.backslashreplace_errors codecs.charbuffer_encode codecs.charmap_build codecs.charmap_decode codecs.charmap_encode codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode codecs.escape_encode codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode codecs.latin_1_encode codecs.lookup(encoding) -> CodecInfo codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode codecs.raw_unicode_escape_encode codecs.readbuffer_encode codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors codecs.strict_errors codecs.sys codecs.unicode_escape_decode codecs.unicode_escape_encode codecs.unicode_internal_decode codecs.unicode_internal_encode codecs.utf_16_be_decode codecs.utf_16_be_encode codecs.utf_16_decode codecs.utf_16_encode codecs.utf_16_ex_decode codecs.utf_16_le_decode codecs.utf_16_le_encode codecs.utf_32_be_decode codecs.utf_32_be_encode codecs.utf_32_decode codecs.utf_32_encode codecs.utf_32_ex_decode codecs.utf_32_le_decode codecs.utf_32_le_encode codecs.utf_7_decode codecs.utf_7_encode codecs.utf_8_decode codecs.utf_8_encode codecs.xmlcharrefreplace_errors codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) codeop.fname coerce(x, y) -> (x1, y1) collections.Callable collections.Container collections.Counter collections.Hashable collections.ItemsView collections.Iterable collections.Iterator collections.KeysView collections.Mapping collections.MappingView collections.MutableMapping collections.MutableSequence collections.MutableSet collections.OrderedDict collections.Sequence collections.Set collections.Sized collections.ValuesView collections.defaultdict(default_factory) --> dict with default factory collections.deque(iterable[, maxlen]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) commands.getoutput(??) commands.getstatus(??) commands.getstatusoutput(??) commands.mk2arg(??) commands.mkarg(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.expand_args(??) compileall.imp compileall.main(??) compileall.os compileall.py_compile compileall.struct compileall.sys compiler.ast compiler.ast.Add(??) compiler.ast.And(??) compiler.ast.AssAttr(??) compiler.ast.AssList(??) compiler.ast.AssName(??) compiler.ast.AssTuple(??) compiler.ast.Assert(??) compiler.ast.Assign(??) compiler.ast.AugAssign(??) compiler.ast.Backquote(??) compiler.ast.Bitand(??) compiler.ast.Bitor(??) compiler.ast.Bitxor(??) compiler.ast.Break(??) compiler.ast.CO_VARARGS compiler.ast.CO_VARKEYWORDS compiler.ast.CallFunc(??) compiler.ast.Class(??) compiler.ast.Compare(??) compiler.ast.Const(??) compiler.ast.Continue(??) compiler.ast.Decorators(??) compiler.ast.Dict(??) compiler.ast.DictComp(??) compiler.ast.Discard(??) compiler.ast.Div(??) compiler.ast.Ellipsis(??) compiler.ast.EmptyNode(??) compiler.ast.Exec(??) compiler.ast.Expression(??) compiler.ast.FloorDiv(??) compiler.ast.For(??) compiler.ast.From(??) compiler.ast.Function(??) compiler.ast.GenExpr(??) compiler.ast.GenExprFor(??) compiler.ast.GenExprIf(??) compiler.ast.GenExprInner(??) compiler.ast.Getattr(??) compiler.ast.Global(??) compiler.ast.If(??) compiler.ast.IfExp(??) compiler.ast.Import(??) compiler.ast.Invert(??) compiler.ast.Keyword(??) compiler.ast.Lambda(??) compiler.ast.LeftShift(??) compiler.ast.List(??) compiler.ast.ListComp(??) compiler.ast.ListCompFor(??) compiler.ast.ListCompIf(??) compiler.ast.Mod(??) compiler.ast.Module(??) compiler.ast.Mul(??) compiler.ast.Name(??) compiler.ast.Node(??) compiler.ast.Not(??) compiler.ast.Or(??) compiler.ast.Pass(??) compiler.ast.Power(??) compiler.ast.Print(??) compiler.ast.Printnl(??) compiler.ast.Raise(??) compiler.ast.Return(??) compiler.ast.RightShift(??) compiler.ast.Set(??) compiler.ast.SetComp(??) compiler.ast.Slice(??) compiler.ast.Sliceobj(??) compiler.ast.Stmt(??) compiler.ast.Sub(??) compiler.ast.Subscript(??) compiler.ast.TryExcept(??) compiler.ast.TryFinally(??) compiler.ast.Tuple(??) compiler.ast.UnaryAdd(??) compiler.ast.UnarySub(??) compiler.ast.While(??) compiler.ast.With(??) compiler.ast.Yield(??) compiler.ast.flatten(??) compiler.ast.flatten_nodes(??) compiler.ast.name compiler.ast.nodes compiler.ast.obj(??) compiler.compile(??) compiler.compileFile(??) compiler.consts compiler.consts.CO_FUTURE_ABSIMPORT compiler.consts.CO_FUTURE_DIVISION compiler.consts.CO_FUTURE_PRINT_FUNCTION compiler.consts.CO_FUTURE_WITH_STATEMENT compiler.consts.CO_GENERATOR compiler.consts.CO_GENERATOR_ALLOWED compiler.consts.CO_NESTED compiler.consts.CO_NEWLOCALS compiler.consts.CO_OPTIMIZED compiler.consts.CO_VARARGS compiler.consts.CO_VARKEYWORDS compiler.consts.OP_APPLY compiler.consts.OP_ASSIGN compiler.consts.OP_DELETE compiler.consts.SC_CELL compiler.consts.SC_FREE compiler.consts.SC_GLOBAL_EXPLICT compiler.consts.SC_GLOBAL_IMPLICIT compiler.consts.SC_LOCAL compiler.consts.SC_UNKNOWN compiler.future compiler.future.BadFutureParser(??) compiler.future.FutureParser(??) compiler.future.ast compiler.future.find_futures(??) compiler.future.is_future(??) compiler.future.walk(??) compiler.misc compiler.misc.MANGLE_LEN compiler.misc.Set(??) compiler.misc.Stack(??) compiler.misc.flatten(??) compiler.misc.mangle(??) compiler.misc.set_filename(??) compiler.parse(??) compiler.parseFile(??) compiler.pyassem compiler.pyassem.Block(??) compiler.pyassem.CONV compiler.pyassem.CO_NEWLOCALS compiler.pyassem.CO_OPTIMIZED compiler.pyassem.CO_VARARGS compiler.pyassem.CO_VARKEYWORDS compiler.pyassem.DONE compiler.pyassem.FLAT compiler.pyassem.FlowGraph(??) compiler.pyassem.LineAddrTable(??) compiler.pyassem.PyFlowGraph(??) compiler.pyassem.RAW compiler.pyassem.StackDepthTracker(??) compiler.pyassem.TupleArg(??) compiler.pyassem.dis compiler.pyassem.findDepth compiler.pyassem.getArgCount(??) compiler.pyassem.isJump(??) compiler.pyassem.misc compiler.pyassem.order_blocks(??) compiler.pyassem.sys compiler.pyassem.twobyte(??) compiler.pyassem.types compiler.pycodegen compiler.pycodegen.AbstractClassCode(??) compiler.pycodegen.AbstractCompileMode(??) compiler.pycodegen.AbstractFunctionCode(??) compiler.pycodegen.AugGetattr(??) compiler.pycodegen.AugName(??) compiler.pycodegen.AugSlice(??) compiler.pycodegen.AugSubscript(??) compiler.pycodegen.CO_FUTURE_ABSIMPORT compiler.pycodegen.CO_FUTURE_DIVISION compiler.pycodegen.CO_FUTURE_PRINT_FUNCTION compiler.pycodegen.CO_FUTURE_WITH_STATEMENT compiler.pycodegen.CO_GENERATOR compiler.pycodegen.CO_NESTED compiler.pycodegen.CO_NEWLOCALS compiler.pycodegen.CO_VARARGS compiler.pycodegen.CO_VARKEYWORDS compiler.pycodegen.ClassCodeGenerator(??) compiler.pycodegen.CodeGenerator(??) compiler.pycodegen.Delegator(??) compiler.pycodegen.END_FINALLY compiler.pycodegen.EXCEPT compiler.pycodegen.Expression(??) compiler.pycodegen.ExpressionCodeGenerator(??) compiler.pycodegen.FunctionCodeGenerator(??) compiler.pycodegen.GenExprCodeGenerator(??) compiler.pycodegen.Interactive(??) compiler.pycodegen.InteractiveCodeGenerator(??) compiler.pycodegen.LOOP compiler.pycodegen.LocalNameFinder(??) compiler.pycodegen.Module(??) compiler.pycodegen.ModuleCodeGenerator(??) compiler.pycodegen.NestedScopeMixin(??) compiler.pycodegen.OpFinder(??) compiler.pycodegen.SC_CELL compiler.pycodegen.SC_FREE compiler.pycodegen.SC_GLOBAL_EXPLICT compiler.pycodegen.SC_GLOBAL_IMPLICIT compiler.pycodegen.SC_LOCAL compiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing compiler.pycodegen.TRY_FINALLY compiler.pycodegen.TupleArg(??) compiler.pycodegen.VERSION compiler.pycodegen.ast compiler.pycodegen.callfunc_opcode_info compiler.pycodegen.compile(??) compiler.pycodegen.compileFile(??) compiler.pycodegen.findOp(??) compiler.pycodegen.future compiler.pycodegen.generateArgList(??) compiler.pycodegen.imp compiler.pycodegen.is_constant_false(??) compiler.pycodegen.marshal compiler.pycodegen.misc compiler.pycodegen.os compiler.pycodegen.parse(??) compiler.pycodegen.pyassem compiler.pycodegen.struct compiler.pycodegen.symbols compiler.pycodegen.syntax compiler.pycodegen.sys compiler.pycodegen.walk(??) compiler.pycodegen.wrap_aug(??) compiler.pycodegen.wrapper compiler.symbols compiler.symbols.ClassScope(??) compiler.symbols.FunctionScope(??) compiler.symbols.GenExprScope(??) compiler.symbols.LambdaScope(??) compiler.symbols.MANGLE_LEN compiler.symbols.ModuleScope(??) compiler.symbols.SC_CELL compiler.symbols.SC_FREE compiler.symbols.SC_GLOBAL_EXPLICT compiler.symbols.SC_GLOBAL_IMPLICIT compiler.symbols.SC_LOCAL compiler.symbols.SC_UNKNOWN compiler.symbols.Scope(??) compiler.symbols.SymbolVisitor(??) compiler.symbols.ast compiler.symbols.list_eq(??) compiler.symbols.mangle(??) compiler.symbols.sys compiler.symbols.types compiler.syntax compiler.syntax.SyntaxErrorChecker(??) compiler.syntax.ast compiler.syntax.check(??) compiler.syntax.walk(??) compiler.transformer compiler.transformer.Add(??) compiler.transformer.And(??) compiler.transformer.AssAttr(??) compiler.transformer.AssList(??) compiler.transformer.AssName(??) compiler.transformer.AssTuple(??) compiler.transformer.Assert(??) compiler.transformer.Assign(??) compiler.transformer.AugAssign(??) compiler.transformer.Backquote(??) compiler.transformer.Bitand(??) compiler.transformer.Bitor(??) compiler.transformer.Bitxor(??) compiler.transformer.Break(??) compiler.transformer.CO_VARARGS compiler.transformer.CO_VARKEYWORDS compiler.transformer.CallFunc(??) compiler.transformer.Class(??) compiler.transformer.Compare(??) compiler.transformer.Const(??) compiler.transformer.Continue(??) compiler.transformer.Decorators(??) compiler.transformer.Dict(??) compiler.transformer.DictComp(??) compiler.transformer.Discard(??) compiler.transformer.Div(??) compiler.transformer.Ellipsis(??) compiler.transformer.EmptyNode(??) compiler.transformer.Exec(??) compiler.transformer.Expression(??) compiler.transformer.FloorDiv(??) compiler.transformer.For(??) compiler.transformer.From(??) compiler.transformer.Function(??) compiler.transformer.GenExpr(??) compiler.transformer.GenExprFor(??) compiler.transformer.GenExprIf(??) compiler.transformer.GenExprInner(??) compiler.transformer.Getattr(??) compiler.transformer.Global(??) compiler.transformer.If(??) compiler.transformer.IfExp(??) compiler.transformer.Import(??) compiler.transformer.Invert(??) compiler.transformer.Keyword(??) compiler.transformer.Lambda(??) compiler.transformer.LeftShift(??) compiler.transformer.List(??) compiler.transformer.ListComp(??) compiler.transformer.ListCompFor(??) compiler.transformer.ListCompIf(??) compiler.transformer.Mod(??) compiler.transformer.Module(??) compiler.transformer.Mul(??) compiler.transformer.Name(??) compiler.transformer.Node(??) compiler.transformer.Not(??) compiler.transformer.OP_APPLY compiler.transformer.OP_ASSIGN compiler.transformer.OP_DELETE compiler.transformer.Or(??) compiler.transformer.Pass(??) compiler.transformer.Power(??) compiler.transformer.Print(??) compiler.transformer.Printnl(??) compiler.transformer.Raise(??) compiler.transformer.Return(??) compiler.transformer.RightShift(??) compiler.transformer.Set(??) compiler.transformer.SetComp(??) compiler.transformer.Slice(??) compiler.transformer.Sliceobj(??) compiler.transformer.Stmt(??) compiler.transformer.Sub(??) compiler.transformer.Subscript(??) compiler.transformer.Transformer(??) compiler.transformer.TryExcept(??) compiler.transformer.TryFinally(??) compiler.transformer.Tuple(??) compiler.transformer.UnaryAdd(??) compiler.transformer.UnarySub(??) compiler.transformer.WalkerError compiler.transformer.While(??) compiler.transformer.With(??) compiler.transformer.Yield(??) compiler.transformer.asList(??) compiler.transformer.debug_tree(??) compiler.transformer.extractLineNo(??) compiler.transformer.flatten(??) compiler.transformer.flatten_nodes(??) compiler.transformer.k compiler.transformer.name compiler.transformer.nodes compiler.transformer.obj(??) compiler.transformer.parse(??) compiler.transformer.parseFile(??) compiler.transformer.parser compiler.transformer.symbol compiler.transformer.token compiler.transformer.v compiler.visitor compiler.visitor.ASTVisitor(??) compiler.visitor.ExampleASTVisitor(??) compiler.visitor.ast compiler.visitor.dumpNode(??) compiler.visitor.walk(??) compiler.walk(??) compiler.warnings complex(real[, imag]) -> complex number contextlib.GeneratorContextManager contextlib.closing contextlib.contextmanager(??) contextlib.nested(??) contextlib.sys contextlib.warn contextlib.wraps(??) cookielib.Absent(??) cookielib.Cookie(??) cookielib.CookieJar(??) cookielib.CookiePolicy(??) cookielib.DAYS cookielib.DEFAULT_HTTP_PORT cookielib.DefaultCookiePolicy(??) cookielib.EPOCH_YEAR cookielib.ESCAPED_CHAR_RE cookielib.FileCookieJar(??) cookielib.HEADER_ESCAPE_RE cookielib.HEADER_JOIN_ESCAPE_RE cookielib.HEADER_QUOTED_VALUE_RE cookielib.HEADER_TOKEN_RE cookielib.HEADER_VALUE_RE cookielib.HTTP_PATH_SAFE cookielib.IPV4_RE cookielib.ISO_DATE_RE cookielib.LOOSE_HTTP_DATE_RE cookielib.LWPCookieJar(??) cookielib.LoadError cookielib.MISSING_FILENAME_TEXT cookielib.MONTHS cookielib.MONTHS_LOWER cookielib.MozillaCookieJar(??) cookielib.STRICT_DATE_RE cookielib.TIMEZONE_RE cookielib.UTC_ZONES cookielib.WEEKDAY_RE cookielib.copy cookielib.cut_port_re cookielib.debug cookielib.deepvalues(??) cookielib.domain_match(??) cookielib.eff_request_host(??) cookielib.escape_path(??) cookielib.http2time(??) cookielib.httplib cookielib.is_HDN(??) cookielib.is_third_party(??) cookielib.iso2time(??) cookielib.join_header_words(??) cookielib.liberal_is_HDN(??) cookielib.logger cookielib.lwp_cookie_str(??) cookielib.month cookielib.offset_from_tz_string(??) cookielib.parse_ns_headers(??) cookielib.re cookielib.reach(??) cookielib.request_host(??) cookielib.request_path(??) cookielib.request_port(??) cookielib.split_header_words(??) cookielib.time cookielib.time2isoz(??) cookielib.time2netscape(??) cookielib.timegm(??) cookielib.unmatched(??) cookielib.uppercase_escaped_char(??) cookielib.urllib cookielib.urlparse cookielib.user_domain_match(??) cookielib.vals_sorted_by_key(??) copy.Error copy.PyStringMap copy.copy(??) copy.deepcopy(??) copy.dispatch_table copy.error copy.name copy.t copy.weakref copy_reg.add_extension(??) copy_reg.clear_extension_cache(??) copy_reg.constructor(??) copy_reg.dispatch_table copy_reg.pickle(??) copy_reg.pickle_complex(??) copy_reg.remove_extension(??) copyright credits crypt.crypt(word, salt) -> string csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO([s]) -- Return a StringIO-like stream for reading or writing csv.excel(??) csv.excel_tab(??) csv.field_size_limit csv.get_dialect csv.list_dialects csv.re csv.reader csv.reduce(function, sequence[, initial]) -> value csv.register_dialect csv.unregister_dialect csv.writer ctypes.ARRAY(??) ctypes.ArgumentError ctypes.Array ctypes.BigEndianStructure ctypes.CDLL ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader ctypes.LittleEndianStructure ctypes.POINTER ctypes.PYFUNCTYPE(??) ctypes.PyDLL ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure ctypes.Union ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool ctypes.c_buffer(??) ctypes.c_byte ctypes.c_char ctypes.c_char_p ctypes.c_double ctypes.c_float ctypes.c_int ctypes.c_int16 ctypes.c_int32 ctypes.c_int64 ctypes.c_int8 ctypes.c_long ctypes.c_longdouble ctypes.c_longlong ctypes.c_short ctypes.c_size_t ctypes.c_ssize_t ctypes.c_ubyte ctypes.c_uint ctypes.c_uint16 ctypes.c_uint32 ctypes.c_uint64 ctypes.c_uint8 ctypes.c_ulong ctypes.c_ulonglong ctypes.c_ushort ctypes.c_void_p ctypes.c_voidp ctypes.c_wchar ctypes.c_wchar_p ctypes.cast(??) ctypes.cdll ctypes.create_string_buffer(aString) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno ctypes.macholib ctypes.macholib.dyld ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable, r) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.ensure_utf8(??) ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.ifilter(function or None, sequence) --> ifilter object ctypes.macholib.dyld.ifilterfalse(function or None, sequence) --> ifilterfalse object ctypes.macholib.dyld.imap(func, *iterables) --> imap object ctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object ctypes.macholib.dyld.izip(iter1 [,iter2 [...]]) --> izip object ctypes.macholib.dyld.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object ctypes.macholib.dyld.os ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dylib ctypes.macholib.dylib.DYLIB_RE ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework ctypes.macholib.framework.STRICT_FRAMEWORK_RE ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re ctypes.macholib.framework.test_framework_info(??) ctypes.memmove ctypes.memset ctypes.pointer ctypes.py_object ctypes.pydll ctypes.pythonapi ctypes.resize ctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors) ctypes.set_errno ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util ctypes.util.errno ctypes.util.find_library(??) ctypes.util.os ctypes.util.re ctypes.util.sys ctypes.util.tempfile ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta datetime.tzinfo decimal.BasicContext decimal.Clamped decimal.Context decimal.ConversionSyntax decimal.Decimal decimal.DecimalException decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext decimal.DivisionByZero decimal.DivisionImpossible decimal.DivisionUndefined decimal.ExtendedContext decimal.Inexact decimal.InvalidContext decimal.InvalidOperation decimal.Overflow decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded decimal.Subnormal decimal.Underflow decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq difflib.ndiff(??) difflib.reduce(function, sequence[, initial]) -> value difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dircache.annotate(??) dircache.cache dircache.listdir(??) dircache.opendir(??) dircache.os dircache.reset(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.cmp_op dis.dis(??) dis.disassemble(??) dis.disassemble_string(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.hascompare dis.hasconst dis.hasfree dis.hasjabs dis.hasjrel dis.haslocal dis.hasname dis.opmap dis.opname dis.sys dis.types divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase doctest.DocTestFailure doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.Tester(??) doctest.UnexpectedException doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib doctest.inspect doctest.linecache doctest.master doctest.namedtuple(??) doctest.os doctest.pdb doctest.re doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys doctest.tempfile doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback doctest.unittest doctest.warnings dumbdbm.UserDict dumbdbm.error dumbdbm.open(??) dummy_thread.LockType dummy_thread.allocate_lock(??) dummy_thread.error dummy_thread.exit(??) dummy_thread.get_ident(??) dummy_thread.interrupt_main(??) dummy_thread.stack_size(??) dummy_thread.start_new_thread(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread dummy_threading.Timer(??) dummy_threading.activeCount(??) dummy_threading.active_count(??) dummy_threading.currentThread(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.local dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading email.Charset email.Encoders email.Errors email.FeedParser email.Generator email.Header email.Iterators email.LazyImporter email.MIMEAudio email.MIMEBase email.MIMEImage email.MIMEMessage email.MIMEMultipart email.MIMENonMultipart email.MIMEText email.Message email.Parser email.Utils email.base64MIME email.base64mime email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64 email.base64mime.b2a_base64 email.base64mime.base64_len(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.encode(??) email.base64mime.encodestring(??) email.base64mime.fix_eols(??) email.base64mime.header_encode(??) email.charset email.charset.ALIASES email.charset.BASE64 email.charset.CHARSETS email.charset.CODEC_MAP email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.MISC_LEN email.charset.QP email.charset.SHORTEST email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.codecs email.charset.email email.charset.encode_7or8bit(??) email.charset.errors email.email email.encoders email.encoders.base64 email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors email.errors.BoundaryError email.errors.CharsetError email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderParseError email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError email.errors.MessageParseError email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MultipartConversionError email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.feedparser email.feedparser.BufferedSubFile email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE email.feedparser.NLCRE_bol email.feedparser.NLCRE_crack email.feedparser.NLCRE_eol email.feedparser.NeedMoreData email.feedparser.errors email.feedparser.headerRE email.feedparser.message email.feedparser.re email.generator email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.Header(??) email.generator.NL email.generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.generator.UNDERSCORE email.generator.fcre email.generator.random email.generator.re email.generator.sys email.generator.time email.generator.warnings email.header email.header.Charset(??) email.header.Header(??) email.header.HeaderParseError email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.UEMPTYSTRING email.header.USASCII email.header.USPACE email.header.UTF8 email.header.binascii email.header.decode_header(??) email.header.ecre email.header.email email.header.fcre email.header.make_header(??) email.header.re email.importer email.iterators email.iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.iterators.body_line_iterator(??) email.iterators.sys email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message email.message.Message(??) email.message.SEMISPACE email.message.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.message.binascii email.message.email email.message.errors email.message.re email.message.tspecials email.message.utils email.message.uu email.message.warnings email.message_from_file(??) email.message_from_string(??) email.mime email.mime.Audio email.mime.Base email.mime.Image email.mime.Message email.mime.Multipart email.mime.NonMultipart email.mime.Text email.mime.application email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders email.mime.audio email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.mime.audio.encoders email.mime.audio.sndhdr email.mime.base email.mime.base.MIMEBase(??) email.mime.base.message email.mime.image email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders email.mime.image.imghdr email.mime.message email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message email.mime.multipart email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors email.mime.text email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.mime.text.encode_7or8bit(??) email.parser email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Message(??) email.parser.Parser(??) email.parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing email.parser.warnings email.quopriMIME email.quoprimime email.quoprimime.CRLF email.quoprimime.MISC_LEN email.quoprimime.NL email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_quopri_check(??) email.quoprimime.body_quopri_len(??) email.quoprimime.bqre email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.encode(??) email.quoprimime.encodestring(??) email.quoprimime.fix_eols(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_quopri_check(??) email.quoprimime.header_quopri_len(??) email.quoprimime.hexdigits email.quoprimime.hqre email.quoprimime.quote(??) email.quoprimime.re email.quoprimime.unquote(??) email.sys email.utils email.utils.COMMASPACE email.utils.CRLF email.utils.EMPTYSTRING email.utils.TICK email.utils.UEMPTYSTRING email.utils.base64 email.utils.collapse_rfc2231_value(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre email.utils.encode_rfc2231(??) email.utils.escapesre email.utils.fix_eols(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random email.utils.re email.utils.rfc2231_continuation email.utils.socket email.utils.specialsre email.utils.time email.utils.unquote(??) email.utils.urllib email.utils.warnings enumerate(iterable[, start]) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EADV errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EBADE errno.EBADF errno.EBADFD errno.EBADMSG errno.EBADR errno.EBADRQC errno.EBADSLT errno.EBFONT errno.EBUSY errno.ECHILD errno.ECHRNG errno.ECOMM errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDEADLOCK errno.EDESTADDRREQ errno.EDOM errno.EDOTDOT errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.EISNAM errno.EL2HLT errno.EL2NSYNC errno.EL3HLT errno.EL3RST errno.ELIBACC errno.ELIBBAD errno.ELIBEXEC errno.ELIBMAX errno.ELIBSCN errno.ELNRNG errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENAVAIL errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOANO errno.ENOBUFS errno.ENOCSI errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENONET errno.ENOPKG errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTNAM errno.ENOTSOCK errno.ENOTTY errno.ENOTUNIQ errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.ERANGE errno.EREMCHG errno.EREMOTE errno.EREMOTEIO errno.ERESTART errno.EROFS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESRMNT errno.ESTALE errno.ESTRPIPE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUCLEAN errno.EUNATCH errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.EXFULL errno.errorcode eval(source[, globals[, locals]]) -> value exceptions.ArithmeticError exceptions.AssertionError exceptions.AttributeError exceptions.BaseException exceptions.BufferError exceptions.BytesWarning exceptions.DeprecationWarning exceptions.EOFError exceptions.EnvironmentError exceptions.Exception exceptions.FloatingPointError exceptions.FutureWarning exceptions.GeneratorExit exceptions.IOError exceptions.ImportError exceptions.ImportWarning exceptions.IndentationError exceptions.IndexError exceptions.KeyError exceptions.KeyboardInterrupt exceptions.LookupError exceptions.MemoryError exceptions.NameError exceptions.NotImplementedError exceptions.OSError exceptions.OverflowError exceptions.PendingDeprecationWarning exceptions.ReferenceError exceptions.RuntimeError exceptions.RuntimeWarning exceptions.StandardError exceptions.StopIteration exceptions.SyntaxError exceptions.SyntaxWarning exceptions.SystemError exceptions.SystemExit exceptions.TabError exceptions.TypeError exceptions.UnboundLocalError exceptions.UnicodeDecodeError exceptions.UnicodeEncodeError exceptions.UnicodeError exceptions.UnicodeTranslateError exceptions.UnicodeWarning exceptions.UserWarning exceptions.ValueError exceptions.Warning exceptions.ZeroDivisionError execfile(filename[, globals[, locals]]) exit fcntl.DN_ACCESS fcntl.DN_ATTRIB fcntl.DN_CREATE fcntl.DN_DELETE fcntl.DN_MODIFY fcntl.DN_MULTISHOT fcntl.DN_RENAME fcntl.FASYNC fcntl.FD_CLOEXEC fcntl.F_DUPFD fcntl.F_EXLCK fcntl.F_GETFD fcntl.F_GETFL fcntl.F_GETLEASE fcntl.F_GETLK fcntl.F_GETLK64 fcntl.F_GETOWN fcntl.F_GETSIG fcntl.F_NOTIFY fcntl.F_RDLCK fcntl.F_SETFD fcntl.F_SETFL fcntl.F_SETLEASE fcntl.F_SETLK fcntl.F_SETLK64 fcntl.F_SETLKW fcntl.F_SETLKW64 fcntl.F_SETOWN fcntl.F_SETSIG fcntl.F_SHLCK fcntl.F_UNLCK fcntl.F_WRLCK fcntl.I_ATMARK fcntl.I_CANPUT fcntl.I_CKBAND fcntl.I_FDINSERT fcntl.I_FIND fcntl.I_FLUSH fcntl.I_FLUSHBAND fcntl.I_GETBAND fcntl.I_GETCLTIME fcntl.I_GETSIG fcntl.I_GRDOPT fcntl.I_GWROPT fcntl.I_LINK fcntl.I_LIST fcntl.I_LOOK fcntl.I_NREAD fcntl.I_PEEK fcntl.I_PLINK fcntl.I_POP fcntl.I_PUNLINK fcntl.I_PUSH fcntl.I_RECVFD fcntl.I_SENDFD fcntl.I_SETCLTIME fcntl.I_SETSIG fcntl.I_SRDOPT fcntl.I_STR fcntl.I_SWROPT fcntl.I_UNLINK fcntl.LOCK_EX fcntl.LOCK_MAND fcntl.LOCK_NB fcntl.LOCK_READ fcntl.LOCK_RW fcntl.LOCK_SH fcntl.LOCK_UN fcntl.LOCK_WRITE fcntl.fcntl(fd, opt, [arg]) fcntl.flock(fd, operation) fcntl.ioctl(fd, opt[, arg[, mutate_flag]]) fcntl.lockf (fd, operation, length=0, start=0, whence=0) file(name[, mode[, buffering]]) -> file object filecmp.BUFSIZE filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.ifilter(function or None, sequence) --> ifilter object filecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object filecmp.imap(func, *iterables) --> imap object filecmp.izip(iter1 [,iter2 [...]]) --> izip object filecmp.os filecmp.stat fileinput.DEFAULT_BUFSIZE fileinput.FileInput(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input([files[, inplace[, backup[, mode[, openhook]]]]]) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os fileinput.sys filter(function or None, sequence) -> list, tuple, or string float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.re fnmatch.translate(??) format(value[, format_spec]) -> string formatter.AS_IS formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys formatter.test(??) fpformat.NotANumber fpformat.decoder fpformat.extract(??) fpformat.fix(??) fpformat.re fpformat.roundfrac(??) fpformat.sci(??) fpformat.test(??) fpformat.unexpo(??) fractions.Decimal fractions.Fraction fractions.Rational fractions.division fractions.gcd(??) fractions.math fractions.numbers fractions.operator fractions.re frozenset() -> empty frozenset object ftplib.CRLF ftplib.Error ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors ftplib.error_perm ftplib.error_proto ftplib.error_reply ftplib.error_temp ftplib.ftpcp(??) ftplib.os ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket ftplib.ssl ftplib.sys ftplib.test(??) functools.WRAPPER_ASSIGNMENTS functools.WRAPPER_UPDATES functools.cmp_to_key(??) functools.partial(func, *args, **keywords) - new function with partial application functools.reduce(function, sequence[, initial]) -> value functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) future_builtins.ascii(object) -> string future_builtins.filter future_builtins.hex(number) -> string future_builtins.map future_builtins.oct(number) -> string future_builtins.zip gc.DEBUG_COLLECTABLE gc.DEBUG_INSTANCES gc.DEBUG_LEAK gc.DEBUG_OBJECTS gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.is_tracked(obj) -> bool gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None gen_python_api.add_builtin_modules gen_python_api.add_builtins gen_python_api.add_keywords gen_python_api.add_manual_modules gen_python_api.add_other_modules gen_python_api.add_package_modules gen_python_api.addasgloballist gen_python_api.api gen_python_api.apilist gen_python_api.builtin gen_python_api.exclude_modules gen_python_api.exclude_names gen_python_api.excludedirlist gen_python_api.excludemodulelist gen_python_api.f gen_python_api.folder gen_python_api.folders gen_python_api.manuallist gen_python_api.module gen_python_api.moduletypes gen_python_api.os gen_python_api.processFolder(??) gen_python_api.processModule(??) gen_python_api.processName(??) gen_python_api.re gen_python_api.string gen_python_api.sys gen_python_api.types genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os genericpath.stat getattr(object, name[, default]) -> value getopt.GetoptError getopt.do_longs(??) getopt.do_shorts(??) getopt.error getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os getopt.short_has_arg(??) getpass.GetPassWarning getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.os getpass.sys getpass.termios getpass.unix_getpass(??) getpass.warnings getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale gettext.ngettext(??) gettext.os gettext.re gettext.struct gettext.sys gettext.test(??) gettext.textdomain(??) gettext.translation(??) glob.fnmatch glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check glob.os glob.re glob.sys globals() -> dictionary grp.getgrall() -> list of tuples grp.getgrgid(id) -> tuple grp.getgrnam(name) -> tuple grp.struct_group gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile gzip.READ gzip.WRITE gzip.io gzip.open(??) gzip.os gzip.read32(??) gzip.struct gzip.sys gzip.time gzip.write32u(??) gzip.zlib hasattr(object, name) -> bool hash(object) -> integer hashlib.algorithms hashlib.md5 hashlib.new(name, string='') - Return a new hashing object using the named algorithm; hashlib.sha1 hashlib.sha224 hashlib.sha256 hashlib.sha384 hashlib.sha512 heapq.bisect heapq.chain(*iterables) --> chain object heapq.count(start=0, step=1) --> count object heapq.heapify heapq.heappop heapq.heappush heapq.heappushpop heapq.heapreplace heapq.imap(func, *iterables) --> imap object heapq.islice(iterable, [start,] stop [, step]) --> islice object heapq.itemgetter(item, ...) --> itemgetter object heapq.izip(iter1 [,iter2 [...]]) --> izip object heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) heapq.repeat(object [,times]) -> create an iterator which returns the object heapq.tee(iterable, n=2) --> tuple of n independent iterators. help hex(number) -> string hmac.HMAC(??) hmac.digest_size hmac.new(??) hmac.trans_36 hmac.trans_5C hmac.x hotshot.Profile(??) hotshot.ProfilerError hotshot.log hotshot.log.ENTER hotshot.log.EXIT hotshot.log.LINE hotshot.log.LogReader(??) hotshot.log.WHAT_ADD_INFO hotshot.log.WHAT_DEFINE_FILE hotshot.log.WHAT_DEFINE_FUNC hotshot.log.WHAT_ENTER hotshot.log.WHAT_EXIT hotshot.log.WHAT_LINENO hotshot.log.os hotshot.log.parser hotshot.log.symbol hotshot.stats hotshot.stats.ENTER hotshot.stats.EXIT hotshot.stats.FakeCode(??) hotshot.stats.FakeFrame(??) hotshot.stats.Profile(??) hotshot.stats.StatsLoader(??) hotshot.stats.hotshot hotshot.stats.load(??) hotshot.stats.profile hotshot.stats.pstats hotshot.stones hotshot.stones.errno hotshot.stones.hotshot hotshot.stones.main(??) hotshot.stones.sys hotshot.stones.test htmlentitydefs.codepoint2name htmlentitydefs.entitydefs htmlentitydefs.name2codepoint htmllib.AS_IS htmllib.HTMLParseError htmllib.HTMLParser(??) htmllib.sgmllib htmllib.test(??) httplib.ACCEPTED httplib.BAD_GATEWAY httplib.BAD_REQUEST httplib.BadStatusLine httplib.CONFLICT httplib.CONTINUE httplib.CREATED httplib.CannotSendHeader httplib.CannotSendRequest httplib.EXPECTATION_FAILED httplib.FAILED_DEPENDENCY httplib.FORBIDDEN httplib.FOUND httplib.FakeSocket(??) httplib.GATEWAY_TIMEOUT httplib.GONE httplib.HTTP(??) httplib.HTTPConnection(??) httplib.HTTPException httplib.HTTPMessage(??) httplib.HTTPResponse(??) httplib.HTTPS(??) httplib.HTTPSConnection(??) httplib.HTTPS_PORT httplib.HTTP_PORT httplib.HTTP_VERSION_NOT_SUPPORTED httplib.IM_USED httplib.INSUFFICIENT_STORAGE httplib.INTERNAL_SERVER_ERROR httplib.ImproperConnectionState httplib.IncompleteRead httplib.InvalidURL httplib.LENGTH_REQUIRED httplib.LOCKED httplib.LineAndFileWrapper(??) httplib.MAXAMOUNT httplib.METHOD_NOT_ALLOWED httplib.MOVED_PERMANENTLY httplib.MULTIPLE_CHOICES httplib.MULTI_STATUS httplib.NON_AUTHORITATIVE_INFORMATION httplib.NOT_ACCEPTABLE httplib.NOT_EXTENDED httplib.NOT_FOUND httplib.NOT_IMPLEMENTED httplib.NOT_MODIFIED httplib.NO_CONTENT httplib.NotConnected httplib.OK httplib.PARTIAL_CONTENT httplib.PAYMENT_REQUIRED httplib.PRECONDITION_FAILED httplib.PROCESSING httplib.PROXY_AUTHENTICATION_REQUIRED httplib.REQUESTED_RANGE_NOT_SATISFIABLE httplib.REQUEST_ENTITY_TOO_LARGE httplib.REQUEST_TIMEOUT httplib.REQUEST_URI_TOO_LONG httplib.RESET_CONTENT httplib.ResponseNotReady httplib.SEE_OTHER httplib.SERVICE_UNAVAILABLE httplib.SWITCHING_PROTOCOLS httplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing httplib.TEMPORARY_REDIRECT httplib.UNAUTHORIZED httplib.UNPROCESSABLE_ENTITY httplib.UNSUPPORTED_MEDIA_TYPE httplib.UPGRADE_REQUIRED httplib.USE_PROXY httplib.UnimplementedFileMode httplib.UnknownProtocol httplib.UnknownTransferEncoding httplib.array(typecode [, initializer]) -> array httplib.error httplib.mimetools httplib.py3kwarning httplib.responses httplib.socket httplib.ssl httplib.test(??) httplib.urlsplit(??) httplib.warnings id(object) -> integer ihooks.BUILTIN_MODULE ihooks.BasicModuleImporter(??) ihooks.BasicModuleLoader(??) ihooks.C_BUILTIN ihooks.C_EXTENSION ihooks.FROZEN_MODULE ihooks.FancyModuleLoader(??) ihooks.Hooks(??) ihooks.ModuleImporter(??) ihooks.ModuleLoader(??) ihooks.PKG_DIRECTORY ihooks.PY_COMPILED ihooks.PY_FROZEN ihooks.PY_SOURCE ihooks.VERBOSE ihooks.current_importer ihooks.default_importer ihooks.imp ihooks.install(??) ihooks.os ihooks.sys ihooks.uninstall(??) ihooks.warn imaplib.AllowedVersions imaplib.CRLF imaplib.Commands imaplib.Continuation imaplib.Debug imaplib.Flags imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate imaplib.Internaldate2tuple(??) imaplib.Literal imaplib.MapCRLF imaplib.Mon2num imaplib.ParseFlags(??) imaplib.Response_code imaplib.Time2Internaldate(??) imaplib.Untagged_response imaplib.Untagged_status imaplib.binascii imaplib.random imaplib.re imaplib.socket imaplib.ssl imaplib.subprocess imaplib.sys imaplib.time imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exif(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.acquire_lock() -> None imp.find_module(name, [path]) -> (file, filename, (suffix, mode, type)) imp.get_frozen_object imp.get_magic() -> string imp.get_suffixes() -> [(suffix, mode, type), ...] imp.init_builtin imp.init_frozen imp.is_builtin imp.is_frozen imp.load_compiled imp.load_dynamic imp.load_module(name, file, filename, (suffix, mode, type)) -> module imp.load_package imp.load_source imp.lock_held() -> boolean imp.new_module(name) -> module imp.release_lock() -> None imp.reload(module) -> module importlib.import_module(??) importlib.sys imputil.BuiltinImporter(??) imputil.DynLoadSuffixImporter(??) imputil.ImportManager(??) imputil.Importer(??) imputil.imp imputil.marshal imputil.py_suffix_importer(??) imputil.struct imputil.sys input([prompt]) -> value inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, keywords) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.CO_GENERATOR inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.EndOfBlock inspect.ModuleInfo(name, suffix, mode, module_type) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.attrgetter(attr, ...) --> attrgetter object inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.currentframe inspect.dis inspect.findsource(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.imp inspect.indentsize(??) inspect.isabstract(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.joinseq(??) inspect.linecache inspect.modulesbyfile inspect.namedtuple(??) inspect.os inspect.re inspect.stack(??) inspect.string inspect.strseq(??) inspect.sys inspect.tokenize inspect.trace(??) inspect.types inspect.walktree(??) int(x[, base]) -> integer intern(string) -> string io.BlockingIOError io.BufferedIOBase io.BufferedRWPair io.BufferedRandom io.BufferedReader io.BufferedWriter io.BytesIO([buffer]) -> object io.DEFAULT_BUFFER_SIZE io.FileIO io.IOBase io.IncrementalNewlineDecoder io.OpenWrapper io.RawIOBase io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO io.TextIOBase io.TextIOWrapper io.UnsupportedOperation io.abc io.open isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(collection) -> iterator itertools.chain(*iterables) --> chain object itertools.combinations(iterable, r) --> combinations object itertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.ifilter(function or None, sequence) --> ifilter object itertools.ifilterfalse(function or None, sequence) --> ifilterfalse object itertools.imap(func, *iterables) --> imap object itertools.islice(iterable, [start,] stop [, step]) --> islice object itertools.izip(iter1 [,iter2 [...]]) --> izip object itertools.izip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> izip_longest object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. json.JSONDecoder json.JSONEncoder json.decoder json.decoder.BACKSLASH json.decoder.DEFAULT_ENCODING json.decoder.FLAGS json.decoder.JSONArray(??) json.decoder.JSONDecoder json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK json.decoder.WHITESPACE json.decoder.WHITESPACE_STR json.decoder.c_scanstring json.decoder.errmsg(??) json.decoder.linecol(??) json.decoder.make_scanner json.decoder.py_scanstring(??) json.decoder.re json.decoder.scanstring(basestring, end, encoding, strict=True) -> (str, end) json.decoder.struct json.decoder.sys json.dump(??) json.dumps(??) json.encoder json.encoder.ESCAPE json.encoder.ESCAPE_ASCII json.encoder.ESCAPE_DCT json.encoder.FLOAT_REPR json.encoder.HAS_UTF8 json.encoder.INFINITY json.encoder.JSONEncoder json.encoder.c_encode_basestring_ascii json.encoder.c_make_encoder json.encoder.encode_basestring(??) json.encoder.encode_basestring_ascii(basestring) -> str json.encoder.i json.encoder.py_encode_basestring_ascii(??) json.encoder.re json.load(??) json.loads(??) json.scanner json.scanner.NUMBER_RE json.scanner.c_make_scanner json.scanner.make_scanner json.scanner.py_make_scanner(??) json.scanner.re json.tool json.tool.json json.tool.main(??) json.tool.sys keyword.iskeyword keyword.kwlist keyword.main(??) len(object) -> integer license linecache.cache linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os linecache.sys linecache.updatecache(??) linuxaudiodev.AFMT_A_LAW linuxaudiodev.AFMT_MU_LAW linuxaudiodev.AFMT_S16_BE linuxaudiodev.AFMT_S16_LE linuxaudiodev.AFMT_S16_NE linuxaudiodev.AFMT_S8 linuxaudiodev.AFMT_U16_BE linuxaudiodev.AFMT_U16_LE linuxaudiodev.AFMT_U8 linuxaudiodev.error linuxaudiodev.open list() -> new empty list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.bind_textdomain_codeset(domain, codeset) -> string locale.bindtextdomain(domain, dir) -> string locale.currency(??) locale.dcgettext(domain, msg, category) -> string locale.dgettext(domain, msg) -> string locale.encodings locale.format(??) locale.format_string(??) locale.functools locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.gettext(msg) -> string locale.locale_alias locale.locale_encoding_alias locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.operator locale.re locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll locale.strxfrm locale.sys locale.textdomain(domain) -> string locale.windows_locale locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler logging.Filter logging.Filterer logging.Formatter logging.Handler logging.INFO logging.LogRecord logging.Logger logging.LoggerAdapter logging.Manager logging.NOTSET logging.NullHandler logging.PlaceHolder logging.RootLogger logging.StreamHandler logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit logging.basicConfig(??) logging.cStringIO logging.captureWarnings(??) logging.codecs logging.config logging.config.BaseConfigurator logging.config.ConvertingDict logging.config.ConvertingList logging.config.ConvertingTuple logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator logging.config.IDENTIFIER logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.cStringIO logging.config.dictConfig(??) logging.config.dictConfigClass logging.config.fileConfig(??) logging.config.listen(??) logging.config.logging logging.config.os logging.config.re logging.config.socket logging.config.stopListening(??) logging.config.struct logging.config.sys logging.config.thread logging.config.threading logging.config.traceback logging.config.types logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers logging.handlers.BaseRotatingHandler logging.handlers.BufferingHandler logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler logging.handlers.HTTPHandler logging.handlers.MemoryHandler logging.handlers.NTEventLogHandler logging.handlers.RotatingFileHandler logging.handlers.SMTPHandler logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler logging.handlers.SysLogHandler logging.handlers.TimedRotatingFileHandler logging.handlers.WatchedFileHandler logging.handlers.cPickle logging.handlers.codecs logging.handlers.logging logging.handlers.os logging.handlers.re logging.handlers.socket logging.handlers.struct logging.handlers.time logging.info(??) logging.log(??) logging.logMultiprocessing logging.logProcesses logging.logThreads logging.makeLogRecord(??) logging.os logging.raiseExceptions logging.root logging.setLoggerClass(??) logging.shutdown(??) logging.sys logging.thread logging.threading logging.time logging.traceback logging.warn(??) logging.warning(??) logging.warnings logging.weakref long(x[, base]) -> integer macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFREG macpath.S_IFSOCK macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(??) macpath.S_ISCHR(??) macpath.S_ISDIR(??) macpath.S_ISFIFO(??) macpath.S_ISGID macpath.S_ISLNK(??) macpath.S_ISREG(??) macpath.S_ISSOCK(??) macpath.S_ISUID macpath.S_ISVTX macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.genericpath macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error macpath.normcase(??) macpath.normpath(??) macpath.os macpath.pardir macpath.pathsep macpath.realpath(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames macpath.walk(??) macpath.warnings macurl2path.os macurl2path.pathname2url(??) macurl2path.test(??) macurl2path.url2pathname(??) macurl2path.urllib mailbox.Babyl(??) mailbox.BabylMailbox(??) mailbox.BabylMessage(??) mailbox.Error mailbox.ExternalClashError mailbox.FormatError mailbox.MH(??) mailbox.MHMailbox(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.MmdfMailbox(??) mailbox.NoSuchMailboxError mailbox.NotEmptyError mailbox.PortableUnixMailbox(??) mailbox.StringIO mailbox.UnixMailbox(??) mailbox.calendar mailbox.copy mailbox.email mailbox.errno mailbox.fcntl mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os mailbox.rfc822 mailbox.socket mailbox.sys mailbox.time mailbox.warnings mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(function, sequence[, sequence, ...]) -> list markupbase.ParserBase(??) marshal.dump(value, file[, version]) marshal.dumps(value[, version]) marshal.load(file) marshal.loads(string) marshal.version math.acos(x) math.acosh(x) math.asin(x) math.asinh(x) math.atan(x) math.atan2(y, x) math.atanh(x) math.ceil(x) math.copysign(x, y) math.cos(x) math.cosh(x) math.degrees(x) math.e math.erf(x) math.erfc(x) math.exp(x) math.expm1(x) math.fabs(x) math.factorial(x) -> Integral math.floor(x) math.fmod(x, y) math.frexp(x) math.fsum(iterable) math.gamma(x) math.hypot(x, y) math.isinf(x) -> bool math.isnan(x) -> bool math.ldexp(x, i) math.lgamma(x) math.log(x[, base]) math.log10(x) math.log1p(x) math.modf(x) math.pi math.pow(x, y) math.radians(x) math.sin(x) math.sinh(x) math.sqrt(x) math.tan(x) math.tanh(x) math.trunc(x:Real) -> Integral max(iterable[, key=func]) -> value md5.blocksize md5.digest_size md5.md5 md5.new md5.warnings memoryview(object) mhlib.Error mhlib.FOLDER_PROTECT mhlib.Folder(??) mhlib.IntSet(??) mhlib.MH(??) mhlib.MH_PROFILE mhlib.MH_SEQUENCES mhlib.Message(??) mhlib.PATH mhlib.SubMessage(??) mhlib.bisect mhlib.isnumeric(??) mhlib.mimetools mhlib.multifile mhlib.numericprog mhlib.os mhlib.pickline(??) mhlib.re mhlib.shutil mhlib.sys mhlib.test(??) mhlib.updateline(??) mimetools.Message(??) mimetools.catch_warnings mimetools.choose_boundary(??) mimetools.copybinary(??) mimetools.copyliteral(??) mimetools.decode(??) mimetools.decodetab mimetools.encode(??) mimetools.encodetab mimetools.filterwarnings(??) mimetools.os mimetools.pipethrough(??) mimetools.pipeto(??) mimetools.rfc822 mimetools.sys mimetools.tempfile mimetools.uudecode_pipe mimetools.warnpy3k(??) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types mimetypes.encodings_map mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited mimetypes.knownfiles mimetypes.os mimetypes.posixpath mimetypes.read_mime_types(??) mimetypes.suffix_map mimetypes.sys mimetypes.types_map mimetypes.urllib mimify.CHARSET mimify.File(??) mimify.HeaderFile(??) mimify.MAXLEN mimify.QUOTE mimify.base64_re mimify.chrset mimify.cte mimify.he mimify.iso_char mimify.mime_char mimify.mime_code mimify.mime_decode(??) mimify.mime_decode_header(??) mimify.mime_encode(??) mimify.mime_encode_header(??) mimify.mime_head mimify.mime_header mimify.mime_header_char mimify.mimify(??) mimify.mimify_part(??) mimify.mp mimify.mv mimify.qp mimify.re mimify.repl mimify.sys mimify.unmimify(??) mimify.unmimify_part(??) mimify.warnings min(iterable[, key=func]) -> value mmap.ACCESS_COPY mmap.ACCESS_READ mmap.ACCESS_WRITE mmap.ALLOCATIONGRANULARITY mmap.MAP_ANON mmap.MAP_ANONYMOUS mmap.MAP_DENYWRITE mmap.MAP_EXECUTABLE mmap.MAP_PRIVATE mmap.MAP_SHARED mmap.PAGESIZE mmap.PROT_EXEC mmap.PROT_READ mmap.PROT_WRITE mmap.error mmap.mmap modulefinder.AddPackagePath(??) modulefinder.HAVE_ARGUMENT modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.READ_MODE modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS modulefinder.dis modulefinder.generators modulefinder.imp modulefinder.marshal modulefinder.os modulefinder.packagePathMap modulefinder.replacePackageMap modulefinder.struct modulefinder.sys modulefinder.test(??) modulefinder.types multifile.Error multifile.MultiFile(??) multiprocessing.Array(??) multiprocessing.AuthenticationError multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process multiprocessing.ProcessError multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.TimeoutError multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection multiprocessing.connection.AuthenticationError multiprocessing.connection.BUFSIZE multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.ConnectionWrapper multiprocessing.connection.FAILURE multiprocessing.connection.Finalize multiprocessing.connection.Listener multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.close(fd) multiprocessing.connection.current_process(??) multiprocessing.connection.debug(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.duplicate multiprocessing.connection.errno multiprocessing.connection.families multiprocessing.connection.get_temp_dir(??) multiprocessing.connection.itertools multiprocessing.connection.os multiprocessing.connection.socket multiprocessing.connection.sub_debug(??) multiprocessing.connection.sys multiprocessing.connection.tempfile multiprocessing.connection.time multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy multiprocessing.dummy.Array(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition multiprocessing.dummy.DummyProcess multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.TimeoutError multiprocessing.dummy.Value multiprocessing.dummy.active_children(??) multiprocessing.dummy.array multiprocessing.dummy.connection multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection multiprocessing.dummy.connection.Listener multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families multiprocessing.dummy.cpu_count(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.itertools multiprocessing.dummy.list() -> new empty list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys multiprocessing.dummy.threading multiprocessing.dummy.weakref multiprocessing.forking multiprocessing.forking.ForkingPickler(??) multiprocessing.forking.Pickler(??) multiprocessing.forking.Popen multiprocessing.forking.assert_spawning(??) multiprocessing.forking.close(fd) multiprocessing.forking.duplicate multiprocessing.forking.exit multiprocessing.forking.old_main_modules multiprocessing.forking.os multiprocessing.forking.partial(func, *args, **keywords) - new function with partial application multiprocessing.forking.prepare(??) multiprocessing.forking.process multiprocessing.forking.signal multiprocessing.forking.sys multiprocessing.forking.time multiprocessing.forking.util multiprocessing.freeze_support(??) multiprocessing.get_logger(??) multiprocessing.heap multiprocessing.heap.Arena multiprocessing.heap.BufferWrapper multiprocessing.heap.Finalize multiprocessing.heap.Heap multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect multiprocessing.heap.info(??) multiprocessing.heap.itertools multiprocessing.heap.mmap multiprocessing.heap.os multiprocessing.heap.sys multiprocessing.heap.tempfile multiprocessing.heap.threading multiprocessing.log_to_stderr(??) multiprocessing.managers multiprocessing.managers.AcquirerProxy multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy multiprocessing.managers.AuthenticationString multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BaseListProxy multiprocessing.managers.BaseManager multiprocessing.managers.BaseProxy multiprocessing.managers.ConditionProxy multiprocessing.managers.DictProxy multiprocessing.managers.EventProxy multiprocessing.managers.Finalize multiprocessing.managers.ForkingPickler(??) multiprocessing.managers.IteratorProxy multiprocessing.managers.ListProxy multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace multiprocessing.managers.NamespaceProxy multiprocessing.managers.PicklingError multiprocessing.managers.Pool(??) multiprocessing.managers.PoolProxy multiprocessing.managers.Popen multiprocessing.managers.Process multiprocessing.managers.ProcessLocalSet multiprocessing.managers.Queue multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError multiprocessing.managers.Server multiprocessing.managers.State multiprocessing.managers.SyncManager multiprocessing.managers.Token multiprocessing.managers.Value multiprocessing.managers.ValueProxy multiprocessing.managers.active_children(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array multiprocessing.managers.assert_spawning(??) multiprocessing.managers.connection multiprocessing.managers.convert_to_error(??) multiprocessing.managers.current_process(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.exit multiprocessing.managers.format_exc(??) multiprocessing.managers.info(??) multiprocessing.managers.listener_client multiprocessing.managers.name multiprocessing.managers.os multiprocessing.managers.public_methods(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.sys multiprocessing.managers.threading multiprocessing.managers.util multiprocessing.managers.view_types multiprocessing.managers.weakref multiprocessing.os multiprocessing.pool multiprocessing.pool.ApplyResult multiprocessing.pool.CLOSE multiprocessing.pool.Finalize multiprocessing.pool.IMapIterator multiprocessing.pool.IMapUnorderedIterator multiprocessing.pool.MapResult multiprocessing.pool.Pool multiprocessing.pool.Process multiprocessing.pool.Queue multiprocessing.pool.RUN multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool multiprocessing.pool.TimeoutError multiprocessing.pool.collections multiprocessing.pool.cpu_count(??) multiprocessing.pool.debug(??) multiprocessing.pool.itertools multiprocessing.pool.job_counter multiprocessing.pool.mapstar(??) multiprocessing.pool.threading multiprocessing.pool.time multiprocessing.pool.worker(??) multiprocessing.process multiprocessing.process.AuthenticationString multiprocessing.process.ORIGINAL_DIR multiprocessing.process.Process multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools multiprocessing.process.name multiprocessing.process.os multiprocessing.process.signal multiprocessing.process.signum multiprocessing.process.sys multiprocessing.queues multiprocessing.queues.BoundedSemaphore multiprocessing.queues.Condition multiprocessing.queues.Empty multiprocessing.queues.Finalize multiprocessing.queues.Full multiprocessing.queues.JoinableQueue multiprocessing.queues.Lock multiprocessing.queues.Pipe(??) multiprocessing.queues.Queue multiprocessing.queues.Semaphore multiprocessing.queues.SimpleQueue multiprocessing.queues.assert_spawning(??) multiprocessing.queues.atexit multiprocessing.queues.collections multiprocessing.queues.debug(??) multiprocessing.queues.info(??) multiprocessing.queues.os multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys multiprocessing.queues.threading multiprocessing.queues.time multiprocessing.queues.weakref multiprocessing.reduction multiprocessing.reduction.Client(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.Listener multiprocessing.reduction.Popen multiprocessing.reduction.close(fd) multiprocessing.reduction.current_process(??) multiprocessing.reduction.debug(??) multiprocessing.reduction.duplicate multiprocessing.reduction.fromfd(??) multiprocessing.reduction.os multiprocessing.reduction.rebuild_connection(??) multiprocessing.reduction.rebuild_handle(??) multiprocessing.reduction.rebuild_socket(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.reduce_connection(??) multiprocessing.reduction.reduce_handle(??) multiprocessing.reduction.reduce_socket(??) multiprocessing.reduction.register_after_fork(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.socket multiprocessing.reduction.sub_debug(??) multiprocessing.reduction.sys multiprocessing.reduction.threading multiprocessing.sharedctypes multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.ForkingPickler(??) multiprocessing.sharedctypes.RLock(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized multiprocessing.sharedctypes.SynchronizedArray multiprocessing.sharedctypes.SynchronizedBase multiprocessing.sharedctypes.SynchronizedString multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes multiprocessing.sharedctypes.heap multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.sys multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type multiprocessing.sharedctypes.weakref multiprocessing.synchronize multiprocessing.synchronize.BoundedSemaphore multiprocessing.synchronize.Condition multiprocessing.synchronize.Event multiprocessing.synchronize.Finalize multiprocessing.synchronize.Lock multiprocessing.synchronize.Popen multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock multiprocessing.synchronize.Semaphore multiprocessing.synchronize.assert_spawning(??) multiprocessing.synchronize.current_process(??) multiprocessing.synchronize.debug(??) multiprocessing.synchronize.os multiprocessing.synchronize.register_after_fork(??) multiprocessing.synchronize.sys multiprocessing.synchronize.threading multiprocessing.sys multiprocessing.util multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize multiprocessing.util.ForkAwareLocal multiprocessing.util.ForkAwareThreadLock multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.active_children(??) multiprocessing.util.atexit multiprocessing.util.current_process(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools multiprocessing.util.log_to_stderr(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.threading multiprocessing.util.weakref mutex.deque(iterable[, maxlen]) --> deque object mutex.mutex(??) netrc.NetrcParseError netrc.netrc(??) netrc.os netrc.shlex new.classobj(name, bases, dict) new.code new.function(code, globals[, name[, argdefs[, closure]]]) new.instance(class[, dict]) new.instancemethod(function, instance, class) new.module(name[, doc]) next(iterator[, default]) nis.cat(map, domain = defaultdomain) nis.error nis.get_default_domain() -> str nis.maps(domain = defaultdomain) nis.match(key, map, domain = defaultdomain) nntplib.CRLF nntplib.LONGRESP nntplib.NNTP(??) nntplib.NNTPDataError nntplib.NNTPError nntplib.NNTPPermanentError nntplib.NNTPProtocolError nntplib.NNTPReplyError nntplib.NNTPTemporaryError nntplib.NNTP_PORT nntplib.error_data nntplib.error_perm nntplib.error_proto nntplib.error_reply nntplib.error_temp nntplib.re nntplib.socket ntpath.abspath(??) ntpath.altsep ntpath.basename(??) ntpath.commonprefix(??) ntpath.curdir ntpath.defpath ntpath.devnull ntpath.dirname(??) ntpath.exists(??) ntpath.expanduser(??) ntpath.expandvars(??) ntpath.extsep ntpath.genericpath ntpath.getatime(??) ntpath.getctime(??) ntpath.getmtime(??) ntpath.getsize(??) ntpath.isabs(??) ntpath.isdir(??) ntpath.isfile(??) ntpath.islink(??) ntpath.ismount(??) ntpath.join(??) ntpath.lexists(??) ntpath.normcase(??) ntpath.normpath(??) ntpath.os ntpath.pardir ntpath.pathsep ntpath.realpath(??) ntpath.relpath(??) ntpath.sep ntpath.split(??) ntpath.splitdrive(??) ntpath.splitext(??) ntpath.splitunc(??) ntpath.stat ntpath.supports_unicode_filenames ntpath.sys ntpath.walk(??) ntpath.warnings nturl2path.pathname2url(??) nturl2path.url2pathname(??) numbers.ABCMeta numbers.Complex numbers.Integral numbers.Number numbers.Rational numbers.Real numbers.abstractmethod(??) numbers.abstractproperty numbers.division object oct(number) -> string opcode.EXTENDED_ARG opcode.HAVE_ARGUMENT opcode.cmp_op opcode.hascompare opcode.hasconst opcode.hasfree opcode.hasjabs opcode.hasjrel opcode.haslocal opcode.hasname opcode.opmap opcode.opname open(name[, mode[, buffering]]) -> file object operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.delslice(a, b, c) -- Same as del a[b:c]. operator.div(a, b) -- Same as a / b when __future__.division is not in effect. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.getslice(a, b, c) -- Same as a[b:c]. operator.gt(a, b) -- Same as a>b. operator.iadd operator.iand operator.iconcat operator.idiv operator.ifloordiv operator.ilshift operator.imod operator.imul operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior operator.ipow operator.irepeat operator.irshift operator.isCallable(a) -- Same as callable(a). operator.isMappingType(a) -- Return True if a has a mapping type, False otherwise. operator.isNumberType(a) -- Return True if a has a numeric type, False otherwise. operator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise. operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub operator.itemgetter(item, ...) --> itemgetter object operator.itruediv operator.ixor operator.le(a, b) -- Same as a<=b. operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.repeat(a, b) -- Return a * b, where a is a sequence, and b is an integer. operator.rshift(a, b) -- Same as a >> b. operator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated). operator.setitem(a, b, c) -- Same as a[b] = c. operator.setslice(a, b, c, d) -- Same as a[b:c] = d. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b when __future__.division is in effect. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError optparse.BadOptionError optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT optparse.OptParseError optparse.Option(??) optparse.OptionConflictError optparse.OptionContainer(??) optparse.OptionError optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.isbasestring(??) optparse.make_option(??) optparse.os optparse.sys optparse.textwrap optparse.types ord(c) -> integer os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_OK os.NGROUPS_MAX os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_LARGEFILE os.O_NDELAY os.O_NOATIME os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_RSYNC os.O_SYNC os.O_TRUNC os.O_WRONLY os.P_NOWAIT os.P_NOWAITO os.P_WAIT os.R_OK os.SEEK_CUR os.SEEK_END os.SEEK_SET os.TMP_MAX os.UserDict os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(path, mode) -> True if granted, False otherwise os.altsep os.chdir(path) os.chmod(path, mode) os.chown(path, uid, gid) os.chroot(path) os.close(fd) os.closerange(fd_low, fd_high) os.confstr(name) -> string os.confstr_names os.ctermid() -> string os.curdir os.defpath os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ os.errno os.error os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(fildes) os.fchmod(fd, mode) os.fchown(fd, uid, gid) os.fdatasync(fildes) os.fdopen(fd [, mode='r' [, bufsize]]) -> file_object os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.getcwd() -> path os.getcwdu() -> path os.getegid() -> egid os.getenv(??) os.geteuid() -> euid os.getgid() -> gid os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getresgid() -> (rgid, egid, sgid) os.getresuid() -> (ruid, euid, suid) os.getsid(pid) -> sid os.getuid() -> uid os.initgroups(username, gid) -> None os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchown(path, uid, gid) os.linesep os.link(src, dst) os.listdir(path) -> list_of_strings os.lseek(fd, pos, how) -> newpos os.lstat(path) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0777]) os.minor(device) -> minor number os.mkdir(path [, mode=0777]) os.mkfifo(filename [, mode=0666]) os.mknod(filename [, mode=0600, device]) os.name os.nice(inc) -> new_priority os.open(filename, flag [, mode=0777]) -> fd os.openpty() -> (master_fd, slave_fd) os.pardir os.path os.pathconf(path, name) -> integer os.pathconf_names os.pathsep os.pipe() -> (read_end, write_end) os.popen(command [, mode='r' [, bufsize]]) -> pipe os.popen2(??) os.popen3(??) os.popen4(??) os.putenv(key, value) os.read(fd, buffersize) -> string os.readlink(path) -> path os.remove(path) os.removedirs(path) os.rename(old, new) os.renames(old, new) os.rmdir(path) os.sep os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setregid(rgid, egid) os.setresgid(rgid, egid, sgid) os.setresuid(ruid, euid, suid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.stat(path) -> stat result os.stat_float_times([newval]) -> oldval os.stat_result os.statvfs(path) -> statvfs result os.statvfs_result os.strerror(code) -> string os.symlink(src, dst) os.sys os.sysconf(name) -> integer os.sysconf_names os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.tempnam([dir[, prefix]]) -> string os.times() -> (utime, stime, cutime, cstime, elapsed_time) os.tmpfile() -> file object os.tmpnam() -> string os.ttyname(fd) -> string os.umask(new_mask) -> old_mask os.uname() -> (sysname, nodename, release, version, machine) os.unlink(path) os.unsetenv(key) os.urandom(n) -> str os.utime(path, (atime, mtime)) os.wait() -> (pid, status) os.wait3(options) -> (pid, status, rusage) os.wait4(pid, options) -> (pid, status, rusage) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, string) -> byteswritten os2emxpath.abspath(??) os2emxpath.altsep os2emxpath.basename(??) os2emxpath.commonprefix(??) os2emxpath.curdir os2emxpath.defpath os2emxpath.devnull os2emxpath.dirname(??) os2emxpath.exists(??) os2emxpath.expanduser(??) os2emxpath.expandvars(??) os2emxpath.extsep os2emxpath.getatime(??) os2emxpath.getctime(??) os2emxpath.getmtime(??) os2emxpath.getsize(??) os2emxpath.isabs(??) os2emxpath.isdir(??) os2emxpath.isfile(??) os2emxpath.islink(??) os2emxpath.ismount(??) os2emxpath.join(??) os2emxpath.lexists(??) os2emxpath.normcase(??) os2emxpath.normpath(??) os2emxpath.os os2emxpath.pardir os2emxpath.pathsep os2emxpath.realpath(??) os2emxpath.sep os2emxpath.split(??) os2emxpath.splitdrive(??) os2emxpath.splitext(??) os2emxpath.splitunc(??) os2emxpath.stat os2emxpath.supports_unicode_filenames os2emxpath.walk(??) ossaudiodev.AFMT_AC3 ossaudiodev.AFMT_A_LAW ossaudiodev.AFMT_IMA_ADPCM ossaudiodev.AFMT_MPEG ossaudiodev.AFMT_MU_LAW ossaudiodev.AFMT_QUERY ossaudiodev.AFMT_S16_BE ossaudiodev.AFMT_S16_LE ossaudiodev.AFMT_S16_NE ossaudiodev.AFMT_S8 ossaudiodev.AFMT_U16_BE ossaudiodev.AFMT_U16_LE ossaudiodev.AFMT_U8 ossaudiodev.OSSAudioError ossaudiodev.SNDCTL_COPR_HALT ossaudiodev.SNDCTL_COPR_LOAD ossaudiodev.SNDCTL_COPR_RCODE ossaudiodev.SNDCTL_COPR_RCVMSG ossaudiodev.SNDCTL_COPR_RDATA ossaudiodev.SNDCTL_COPR_RESET ossaudiodev.SNDCTL_COPR_RUN ossaudiodev.SNDCTL_COPR_SENDMSG ossaudiodev.SNDCTL_COPR_WCODE ossaudiodev.SNDCTL_COPR_WDATA ossaudiodev.SNDCTL_DSP_BIND_CHANNEL ossaudiodev.SNDCTL_DSP_CHANNELS ossaudiodev.SNDCTL_DSP_GETBLKSIZE ossaudiodev.SNDCTL_DSP_GETCAPS ossaudiodev.SNDCTL_DSP_GETCHANNELMASK ossaudiodev.SNDCTL_DSP_GETFMTS ossaudiodev.SNDCTL_DSP_GETIPTR ossaudiodev.SNDCTL_DSP_GETISPACE ossaudiodev.SNDCTL_DSP_GETODELAY ossaudiodev.SNDCTL_DSP_GETOPTR ossaudiodev.SNDCTL_DSP_GETOSPACE ossaudiodev.SNDCTL_DSP_GETSPDIF ossaudiodev.SNDCTL_DSP_GETTRIGGER ossaudiodev.SNDCTL_DSP_MAPINBUF ossaudiodev.SNDCTL_DSP_MAPOUTBUF ossaudiodev.SNDCTL_DSP_NONBLOCK ossaudiodev.SNDCTL_DSP_POST ossaudiodev.SNDCTL_DSP_PROFILE ossaudiodev.SNDCTL_DSP_RESET ossaudiodev.SNDCTL_DSP_SAMPLESIZE ossaudiodev.SNDCTL_DSP_SETDUPLEX ossaudiodev.SNDCTL_DSP_SETFMT ossaudiodev.SNDCTL_DSP_SETFRAGMENT ossaudiodev.SNDCTL_DSP_SETSPDIF ossaudiodev.SNDCTL_DSP_SETSYNCRO ossaudiodev.SNDCTL_DSP_SETTRIGGER ossaudiodev.SNDCTL_DSP_SPEED ossaudiodev.SNDCTL_DSP_STEREO ossaudiodev.SNDCTL_DSP_SUBDIVIDE ossaudiodev.SNDCTL_DSP_SYNC ossaudiodev.SNDCTL_FM_4OP_ENABLE ossaudiodev.SNDCTL_FM_LOAD_INSTR ossaudiodev.SNDCTL_MIDI_INFO ossaudiodev.SNDCTL_MIDI_MPUCMD ossaudiodev.SNDCTL_MIDI_MPUMODE ossaudiodev.SNDCTL_MIDI_PRETIME ossaudiodev.SNDCTL_SEQ_CTRLRATE ossaudiodev.SNDCTL_SEQ_GETINCOUNT ossaudiodev.SNDCTL_SEQ_GETOUTCOUNT ossaudiodev.SNDCTL_SEQ_GETTIME ossaudiodev.SNDCTL_SEQ_NRMIDIS ossaudiodev.SNDCTL_SEQ_NRSYNTHS ossaudiodev.SNDCTL_SEQ_OUTOFBAND ossaudiodev.SNDCTL_SEQ_PANIC ossaudiodev.SNDCTL_SEQ_PERCMODE ossaudiodev.SNDCTL_SEQ_RESET ossaudiodev.SNDCTL_SEQ_RESETSAMPLES ossaudiodev.SNDCTL_SEQ_SYNC ossaudiodev.SNDCTL_SEQ_TESTMIDI ossaudiodev.SNDCTL_SEQ_THRESHOLD ossaudiodev.SNDCTL_SYNTH_CONTROL ossaudiodev.SNDCTL_SYNTH_ID ossaudiodev.SNDCTL_SYNTH_INFO ossaudiodev.SNDCTL_SYNTH_MEMAVL ossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE ossaudiodev.SNDCTL_TMR_CONTINUE ossaudiodev.SNDCTL_TMR_METRONOME ossaudiodev.SNDCTL_TMR_SELECT ossaudiodev.SNDCTL_TMR_SOURCE ossaudiodev.SNDCTL_TMR_START ossaudiodev.SNDCTL_TMR_STOP ossaudiodev.SNDCTL_TMR_TEMPO ossaudiodev.SNDCTL_TMR_TIMEBASE ossaudiodev.SOUND_MIXER_ALTPCM ossaudiodev.SOUND_MIXER_BASS ossaudiodev.SOUND_MIXER_CD ossaudiodev.SOUND_MIXER_DIGITAL1 ossaudiodev.SOUND_MIXER_DIGITAL2 ossaudiodev.SOUND_MIXER_DIGITAL3 ossaudiodev.SOUND_MIXER_IGAIN ossaudiodev.SOUND_MIXER_IMIX ossaudiodev.SOUND_MIXER_LINE ossaudiodev.SOUND_MIXER_LINE1 ossaudiodev.SOUND_MIXER_LINE2 ossaudiodev.SOUND_MIXER_LINE3 ossaudiodev.SOUND_MIXER_MIC ossaudiodev.SOUND_MIXER_MONITOR ossaudiodev.SOUND_MIXER_NRDEVICES ossaudiodev.SOUND_MIXER_OGAIN ossaudiodev.SOUND_MIXER_PCM ossaudiodev.SOUND_MIXER_PHONEIN ossaudiodev.SOUND_MIXER_PHONEOUT ossaudiodev.SOUND_MIXER_RADIO ossaudiodev.SOUND_MIXER_RECLEV ossaudiodev.SOUND_MIXER_SPEAKER ossaudiodev.SOUND_MIXER_SYNTH ossaudiodev.SOUND_MIXER_TREBLE ossaudiodev.SOUND_MIXER_VIDEO ossaudiodev.SOUND_MIXER_VOLUME ossaudiodev.control_labels ossaudiodev.control_names ossaudiodev.error ossaudiodev.open ossaudiodev.openmixer parser.ASTType parser.ParserError parser.STType parser.ast2list parser.ast2tuple parser.compileast parser.compilest parser.expr parser.isexpr parser.issuite parser.sequence2ast parser.sequence2st parser.st2list parser.st2tuple parser.suite parser.tuple2ast parser.tuple2st pdb.Pdb(??) pdb.Repr(??) pdb.Restart pdb.TESTCMD pdb.bdb pdb.cmd pdb.find_function(??) pdb.help(??) pdb.line_prefix pdb.linecache pdb.main(??) pdb.os pdb.pm(??) pdb.post_mortem(??) pdb.pprint pdb.re pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.sys pdb.test(??) pdb.traceback pickle.APPEND pickle.APPENDS pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BUILD pickle.BooleanType pickle.BufferType pickle.BuiltinFunctionType pickle.BuiltinMethodType pickle.ClassType pickle.CodeType pickle.ComplexType pickle.DICT pickle.DUP pickle.DictProxyType pickle.DictType pickle.DictionaryType pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.EllipsisType pickle.FALSE pickle.FLOAT pickle.FileType pickle.FloatType pickle.FrameType pickle.FunctionType pickle.GET pickle.GLOBAL pickle.GeneratorType pickle.GetSetDescriptorType pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.InstanceType pickle.IntType pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.LambdaType pickle.ListType pickle.LongType pickle.MARK pickle.MemberDescriptorType pickle.MethodType pickle.ModuleType pickle.NEWFALSE pickle.NEWOBJ pickle.NEWTRUE pickle.NONE pickle.NoneType pickle.NotImplementedType pickle.OBJ pickle.ObjectType pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError pickle.Pickler(??) pickle.PicklingError pickle.PyStringMap pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINSTRING pickle.STOP pickle.STRING pickle.SliceType pickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing pickle.StringType pickle.StringTypes pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.TracebackType pickle.TupleType pickle.TypeType pickle.UNICODE pickle.UnboundMethodType pickle.UnicodeType pickle.Unpickler(??) pickle.UnpicklingError pickle.XRangeType pickle.classmap pickle.compatible_formats pickle.decode_long(??) pickle.dispatch_table pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.load(??) pickle.loads(??) pickle.marshal pickle.mloads pickle.re pickle.struct pickle.sys pickle.whichmodule(??) pickletools.ArgumentDescriptor pickletools.OpcodeInfo pickletools.StackObject pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.UP_TO_NEWLINE pickletools.anyobject pickletools.code2op pickletools.decimalnl_long pickletools.decimalnl_short pickletools.decode_long(??) pickletools.dis(??) pickletools.float8 pickletools.floatnl pickletools.genops(??) pickletools.int4 pickletools.long1 pickletools.long4 pickletools.markobject pickletools.opcodes pickletools.optimize(??) pickletools.pybool pickletools.pydict pickletools.pyfloat pickletools.pyint pickletools.pyinteger_or_bool pickletools.pylist pickletools.pylong pickletools.pynone pickletools.pystring pickletools.pytuple pickletools.pyunicode pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestringnl(??) pickletools.stackslice pickletools.string1 pickletools.string4 pickletools.stringnl pickletools.stringnl_noescape pickletools.stringnl_noescape_pair pickletools.uint1 pickletools.uint2 pickletools.unicodestring4 pickletools.unicodestringnl pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os pipes.quote(??) pipes.re pipes.stepkinds pipes.string pipes.tempfile pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.imp pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys pkgutil.walk_packages(??) pkgutil.zipimport pkgutil.zipimporter(archivepath) -> zipimporter object platform.DEV_NULL platform.architecture(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re platform.release(??) platform.string platform.sys platform.system(??) platform.system_alias(??) platform.uname(??) platform.version(??) platform.win32_ver(??) plistlib.Data(??) plistlib.Dict plistlib.DumbXMLWriter(??) plistlib.PLISTHEADER plistlib.Plist plistlib.PlistParser(??) plistlib.PlistWriter(??) plistlib.StringIO([s]) -- Return a StringIO-like stream for reading or writing plistlib.binascii plistlib.datetime plistlib.re plistlib.readPlist(??) plistlib.readPlistFromResource(??) plistlib.readPlistFromString(??) plistlib.warnings plistlib.writePlist(??) plistlib.writePlistToResource(??) plistlib.writePlistToString(??) popen2.MAXFD popen2.Popen3(??) popen2.Popen4(??) popen2.os popen2.popen2(??) popen2.popen3(??) popen2.popen4(??) popen2.sys popen2.warnings poplib.CR poplib.CRLF poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.error_proto poplib.re poplib.socket poplib.ssl posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_OK posix.NGROUPS_MAX posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_LARGEFILE posix.O_NDELAY posix.O_NOATIME posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_RSYNC posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.R_OK posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(path, mode) -> True if granted, False otherwise posix.chdir(path) posix.chmod(path, mode) posix.chown(path, uid, gid) posix.chroot(path) posix.close(fd) posix.closerange(fd_low, fd_high) posix.confstr(name) -> string posix.confstr_names posix.ctermid() -> string posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ posix.error posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fildes) posix.fchmod(fd, mode) posix.fchown(fd, uid, gid) posix.fdatasync(fildes) posix.fdopen(fd [, mode='r' [, bufsize]]) -> file_object posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.getcwd() -> path posix.getcwdu() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getresgid() -> (rgid, egid, sgid) posix.getresuid() -> (ruid, euid, suid) posix.getsid(pid) -> sid posix.getuid() -> uid posix.initgroups(username, gid) -> None posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchown(path, uid, gid) posix.link(src, dst) posix.listdir(path) -> list_of_strings posix.lseek(fd, pos, how) -> newpos posix.lstat(path) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path [, mode=0777]) posix.mkfifo(filename [, mode=0666]) posix.mknod(filename [, mode=0600, device]) posix.nice(inc) -> new_priority posix.open(filename, flag [, mode=0777]) -> fd posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names posix.pipe() -> (read_end, write_end) posix.popen(command [, mode='r' [, bufsize]]) -> pipe posix.putenv(key, value) posix.read(fd, buffersize) -> string posix.readlink(path) -> path posix.remove(path) posix.rename(old, new) posix.rmdir(path) posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setregid(rgid, egid) posix.setresgid(rgid, egid, sgid) posix.setresuid(ruid, euid, suid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(path) -> stat result posix.stat_float_times([newval]) -> oldval posix.stat_result posix.statvfs(path) -> statvfs result posix.statvfs_result posix.strerror(code) -> string posix.symlink(src, dst) posix.sysconf(name) -> integer posix.sysconf_names posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.tempnam([dir[, prefix]]) -> string posix.times() -> (utime, stime, cutime, cstime, elapsed_time) posix.tmpfile() -> file object posix.tmpnam() -> string posix.ttyname(fd) -> string posix.umask(new_mask) -> old_mask posix.uname() -> (sysname, nodename, release, version, machine) posix.unlink(path) posix.unsetenv(key) posix.utime(path, (atime, mtime)) posix.wait() -> (pid, status) posix.wait3(options) -> (pid, status, rusage) posix.wait4(pid, options) -> (pid, status, rusage) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, string) -> byteswritten posixfile.SEEK_CUR posixfile.SEEK_END posixfile.SEEK_SET posixfile.fileopen(??) posixfile.open(??) posixfile.warnings posixpath.abspath(??) posixpath.altsep posixpath.basename(??) posixpath.commonprefix(??) posixpath.curdir posixpath.defpath posixpath.devnull posixpath.dirname(??) posixpath.exists(??) posixpath.expanduser(??) posixpath.expandvars(??) posixpath.extsep posixpath.genericpath posixpath.getatime(??) posixpath.getctime(??) posixpath.getmtime(??) posixpath.getsize(??) posixpath.isabs(??) posixpath.isdir(??) posixpath.isfile(??) posixpath.islink(??) posixpath.ismount(??) posixpath.join(??) posixpath.lexists(??) posixpath.normcase(??) posixpath.normpath(??) posixpath.os posixpath.pardir posixpath.pathsep posixpath.realpath(??) posixpath.relpath(??) posixpath.samefile(??) posixpath.sameopenfile(??) posixpath.samestat(??) posixpath.sep posixpath.split(??) posixpath.splitdrive(??) posixpath.splitext(??) posixpath.stat posixpath.supports_unicode_filenames posixpath.walk(??) posixpath.warnings pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.saferepr(??) pprint.warnings print profile.OptionParser(??) profile.Profile(??) profile.Stats(??) profile.help(??) profile.main(??) profile.marshal profile.os profile.resgetrusage(??) profile.resource profile.run(??) profile.runctx(??) profile.sys profile.time property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal pstats.os pstats.re pstats.sys pstats.time pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd pwd.struct_pwent py_compile.MAGIC py_compile.PyCompileError py_compile.compile(??) py_compile.imp py_compile.main(??) py_compile.marshal py_compile.os py_compile.sys py_compile.traceback py_compile.wr_long(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.imp pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys pyclbr.tokenize pydoc.Doc(??) pydoc.ErrorDuringImport pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.Scanner(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque(iterable[, maxlen]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.expandtabs(s [,tabsize]) -> string pydoc.extract_tb(??) pydoc.find(s, sub [,start [,end]]) -> in pydoc.getdoc(??) pydoc.getpager(??) pydoc.gui(??) pydoc.help pydoc.html pydoc.imp pydoc.importfile(??) pydoc.inspect pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.join(list [,sep]) -> string pydoc.locate(??) pydoc.lower(s) -> string pydoc.os pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil pydoc.plain(??) pydoc.plainpager(??) pydoc.re pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.rfind(s, sub [,start [,end]]) -> int pydoc.rstrip(s [,chars]) -> string pydoc.safeimport(??) pydoc.serve(??) pydoc.source_synopsis(??) pydoc.split(s [,sep [,maxsplit]]) -> list of strings pydoc.splitdoc(??) pydoc.strip(s [,chars]) -> string pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys pydoc.tempfilepager(??) pydoc.text pydoc.ttypager(??) pydoc.types pydoc.visiblename(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics pydoc_data.topics.topics pyexpat.EXPAT_VERSION pyexpat.ErrorString(errno) -> string pyexpat.ExpatError pyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser pyexpat.XMLParserType pyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS pyexpat.XML_PARAM_ENTITY_PARSING_NEVER pyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE pyexpat.error pyexpat.errors pyexpat.expat_CAPI pyexpat.features pyexpat.model pyexpat.native_encoding pyexpat.version_info quit quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random random.SG_MAGICCONST random.SystemRandom random.TWOPI random.WichmannHill random.betavariate random.choice random.division random.expovariate random.gammavariate random.gauss random.getrandbits(k) -> x. Generates a long int with k random bits. random.getstate random.jumpahead(int) -> None. Create new state from existing state and integer. random.lognormvariate random.normalvariate random.paretovariate random.randint random.random() -> x in the interval [0, 1). random.randrange random.sample random.seed random.setstate random.shuffle random.triangular random.uniform random.vonmisesvariate random.weibullvariate range([start,] stop[, step]) -> list of integers raw_input([prompt]) -> string re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copy_reg re.error re.escape(??) re.findall(??) re.finditer(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile re.sre_parse re.sub(??) re.subn(??) re.sys re.template(??) reduce(function, sequence[, initial]) -> value reload(module) -> module repr(object) -> string repr.Repr(??) repr.aRepr repr.islice(iterable, [start,] stop [, step]) --> islice object repr.repr resource.RLIMIT_AS resource.RLIMIT_CORE resource.RLIMIT_CPU resource.RLIMIT_DATA resource.RLIMIT_FSIZE resource.RLIMIT_MEMLOCK resource.RLIMIT_NOFILE resource.RLIMIT_NPROC resource.RLIMIT_OFILE resource.RLIMIT_RSS resource.RLIMIT_STACK resource.RLIM_INFINITY resource.RUSAGE_CHILDREN resource.RUSAGE_SELF resource.error resource.getpagesize resource.getrlimit resource.getrusage resource.setrlimit resource.struct_rusage reversed(sequence) -> reverse iterator over values of the sequence rexec.FileBase(??) rexec.FileDelegate(??) rexec.FileWrapper(??) rexec.RExec(??) rexec.RHooks(??) rexec.RModuleImporter(??) rexec.RModuleLoader(??) rexec.TEMPLATE rexec.ihooks rexec.imp rexec.os rexec.sys rexec.test(??) rfc822.AddressList(??) rfc822.AddrlistClass(??) rfc822.Message(??) rfc822.dump_address_pair(??) rfc822.formatdate(??) rfc822.mktime_tz(??) rfc822.parseaddr(??) rfc822.parsedate(??) rfc822.parsedate_tz(??) rfc822.quote(??) rfc822.time rfc822.unquote(??) rfc822.warnpy3k(??) rlcompleter.Completer(??) rlcompleter.get_class_members(??) robotparser.Entry(??) robotparser.RobotFileParser(??) robotparser.RuleLine(??) robotparser.URLopener(??) robotparser.urllib robotparser.urlparse round(number[, ndigits]) -> floating point number runpy.get_loader(??) runpy.imp runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys sched.Event(time, priority, action, argument) sched.heapq sched.namedtuple(??) sched.scheduler(??) select.EPOLLERR select.EPOLLET select.EPOLLHUP select.EPOLLIN select.EPOLLMSG select.EPOLLONESHOT select.EPOLLOUT select.EPOLLPRI select.EPOLLRDBAND select.EPOLLRDNORM select.EPOLLWRBAND select.EPOLLWRNORM select.PIPE_BUF select.POLLERR select.POLLHUP select.POLLIN select.POLLMSG select.POLLNVAL select.POLLOUT select.POLLPRI select.POLLRDBAND select.POLLRDNORM select.POLLWRBAND select.POLLWRNORM select.epoll select.error select.poll select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) set() -> new empty set object setattr(object, name, value) sets.BaseSet sets.ImmutableSet sets.Set sets.ifilter(function or None, sequence) --> ifilter object sets.ifilterfalse(function or None, sequence) --> ifilterfalse object sets.warnings sgmllib.SGMLParseError sgmllib.SGMLParser(??) sgmllib.TestSGMLParser(??) sgmllib.attrfind sgmllib.charref sgmllib.endbracket sgmllib.entityref sgmllib.incomplete sgmllib.interesting sgmllib.markupbase sgmllib.piclose sgmllib.re sgmllib.shorttag sgmllib.shorttagopen sgmllib.starttagopen sgmllib.tagfind sgmllib.test(??) sha.blocksize sha.digest_size sha.digestsize sha.new sha.sha sha.warnings shelve.BsdDbShelf(??) shelve.DbfilenameShelf(??) shelve.Pickler(file, protocol=0) -- Create a pickler. shelve.Shelf(??) shelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing shelve.Unpickler(file) -- Create an unpickler. shelve.UserDict shelve.open(??) shlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing shlex.deque(iterable[, maxlen]) --> deque object shlex.os shlex.shlex(??) shlex.split(??) shlex.sys shutil.Error shutil.ExecError shutil.SpecialFileError shutil.WindowsError shutil.abspath(??) shutil.collections shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.errno shutil.fnmatch shutil.get_archive_formats(??) shutil.getgrnam(name) -> tuple shutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.os shutil.register_archive_format(??) shutil.rmtree(??) shutil.stat shutil.sys shutil.unregister_archive_format(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCLD signal.SIGCONT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPOLL signal.SIGPROF signal.SIGPWR signal.SIGQUIT signal.SIGRTMAX signal.SIGRTMIN signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_DFL signal.SIG_IGN signal.alarm(seconds) signal.default_int_handler(...) signal.getitimer(which) signal.getsignal(sig) -> action signal.pause() signal.set_wakeup_fd(fd) -> fd signal.setitimer(which, seconds[, interval]) signal.siginterrupt(sig, flag) -> None signal.signal(sig, action) -> action site.ENABLE_USER_SITE site.PREFIXES site.USER_BASE site.USER_SITE site.abs__file__(??) site.addbuilddir(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.aliasmbcs(??) site.check_enableusersite(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os site.removeduppaths(??) site.setBEGINLIBPATH(??) site.setcopyright(??) site.setencoding(??) site.sethelper(??) site.setquit(??) site.sys slice([start,] stop[, step]) smtpd.COMMASPACE smtpd.DEBUGSTREAM smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat smtpd.asyncore smtpd.errno smtpd.getopt smtpd.os smtpd.parseargs(??) smtpd.program smtpd.socket smtpd.sys smtpd.time smtpd.usage(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH smtplib.SMTP(??) smtplib.SMTPAuthenticationError smtplib.SMTPConnectError smtplib.SMTPDataError smtplib.SMTPException smtplib.SMTPHeloError smtplib.SMTPRecipientsRefused smtplib.SMTPResponseException smtplib.SMTPSenderRefused smtplib.SMTPServerDisconnected smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.SSLFakeFile(??) smtplib.base64 smtplib.email smtplib.encode_base64(??) smtplib.hmac smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re smtplib.socket smtplib.ssl smtplib.stderr sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK socket.AF_ASH socket.AF_ATMPVC socket.AF_ATMSVC socket.AF_AX25 socket.AF_BRIDGE socket.AF_DECnet socket.AF_ECONET socket.AF_INET socket.AF_INET6 socket.AF_IPX socket.AF_IRDA socket.AF_KEY socket.AF_LLC socket.AF_NETBEUI socket.AF_NETLINK socket.AF_NETROM socket.AF_PACKET socket.AF_PPPOX socket.AF_ROSE socket.AF_ROUTE socket.AF_SECURITY socket.AF_SNA socket.AF_TIPC socket.AF_UNIX socket.AF_UNSPEC socket.AF_WANPIPE socket.AF_X25 socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.CAPI socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EINTR socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GRE socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPIP socket.IPPROTO_IPV6 socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVDSTOPTS socket.IPV6_RECVHOPLIMIT socket.IPV6_RECVHOPOPTS socket.IPV6_RECVPKTINFO socket.IPV6_RECVRTHDR socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDRDSTOPTS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.MethodType socket.NETLINK_DNRTMSG socket.NETLINK_FIREWALL socket.NETLINK_IP6_FW socket.NETLINK_NFLOG socket.NETLINK_ROUTE socket.NETLINK_USERSOCK socket.NETLINK_XFRM socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PACKET_BROADCAST socket.PACKET_FASTROUTE socket.PACKET_HOST socket.PACKET_LOOPBACK socket.PACKET_MULTICAST socket.PACKET_OTHERHOST socket.PACKET_OUTGOING socket.PF_PACKET socket.RAND_add(string, entropy) socket.RAND_egd(path) -> bytes socket.RAND_status() -> 0 or 1 socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM socket.SOCK_RAW socket.SOCK_RDM socket.SOCK_SEQPACKET socket.SOCK_STREAM socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_TIPC socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SSL_ERROR_EOF socket.SSL_ERROR_INVALID_ERROR_CODE socket.SSL_ERROR_SSL socket.SSL_ERROR_SYSCALL socket.SSL_ERROR_WANT_CONNECT socket.SSL_ERROR_WANT_READ socket.SSL_ERROR_WANT_WRITE socket.SSL_ERROR_WANT_X509_LOOKUP socket.SSL_ERROR_ZERO_RETURN socket.SocketType socket.StringIO([s]) -- Return a StringIO-like stream for reading or writing socket.TCP_CORK socket.TCP_DEFER_ACCEPT socket.TCP_INFO socket.TCP_KEEPCNT socket.TCP_KEEPIDLE socket.TCP_KEEPINTVL socket.TCP_LINGER2 socket.TCP_MAXSEG socket.TCP_NODELAY socket.TCP_QUICKACK socket.TCP_SYNCNT socket.TCP_WINDOW_CLAMP socket.TIPC_ADDR_ID socket.TIPC_ADDR_NAME socket.TIPC_ADDR_NAMESEQ socket.TIPC_CFG_SRV socket.TIPC_CLUSTER_SCOPE socket.TIPC_CONN_TIMEOUT socket.TIPC_CRITICAL_IMPORTANCE socket.TIPC_DEST_DROPPABLE socket.TIPC_HIGH_IMPORTANCE socket.TIPC_IMPORTANCE socket.TIPC_LOW_IMPORTANCE socket.TIPC_MEDIUM_IMPORTANCE socket.TIPC_NODE_SCOPE socket.TIPC_PUBLISHED socket.TIPC_SRC_DROPPABLE socket.TIPC_SUBSCR_TIMEOUT socket.TIPC_SUB_CANCEL socket.TIPC_SUB_PORTS socket.TIPC_SUB_SERVICE socket.TIPC_TOP_SRV socket.TIPC_WAIT_FOREVER socket.TIPC_WITHDRAWN socket.TIPC_ZONE_SCOPE socket.create_connection(??) socket.errno socket.error socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror socket.getaddrinfo(host, port [, family, socktype, proto, flags]) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6 socket.herror socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.inet_aton(string) -> packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.m socket.meth(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os socket.p socket.partial(func, *args, **keywords) - new function with partial application socket.setdefaulttimeout(timeout) socket.socket([family[, type[, proto]]]) -> socket object socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.ssl(??) socket.sslerror socket.sys socket.timeout socket.warnings sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list spwd.getspall() -> list_of_entries spwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max, spwd.struct_spwd sre.DOTALL sre.I sre.IGNORECASE sre.L sre.LOCALE sre.M sre.MULTILINE sre.S sre.U sre.UNICODE sre.VERBOSE sre.X sre.compile(??) sre.error sre.escape(??) sre.findall(??) sre.finditer(??) sre.match(??) sre.purge(??) sre.search(??) sre.split(??) sre.sub(??) sre.subn(??) sre.template(??) sre.warnings sre_compile.ANY sre_compile.ANY_ALL sre_compile.ASSERT sre_compile.ASSERT_NOT sre_compile.AT sre_compile.ATCODES sre_compile.AT_BEGINNING sre_compile.AT_BEGINNING_LINE sre_compile.AT_BEGINNING_STRING sre_compile.AT_BOUNDARY sre_compile.AT_END sre_compile.AT_END_LINE sre_compile.AT_END_STRING sre_compile.AT_LOCALE sre_compile.AT_LOC_BOUNDARY sre_compile.AT_LOC_NON_BOUNDARY sre_compile.AT_MULTILINE sre_compile.AT_NON_BOUNDARY sre_compile.AT_UNICODE sre_compile.AT_UNI_BOUNDARY sre_compile.AT_UNI_NON_BOUNDARY sre_compile.BIGCHARSET sre_compile.BRANCH sre_compile.CALL sre_compile.CATEGORY sre_compile.CATEGORY_DIGIT sre_compile.CATEGORY_LINEBREAK sre_compile.CATEGORY_LOC_NOT_WORD sre_compile.CATEGORY_LOC_WORD sre_compile.CATEGORY_NOT_DIGIT sre_compile.CATEGORY_NOT_LINEBREAK sre_compile.CATEGORY_NOT_SPACE sre_compile.CATEGORY_NOT_WORD sre_compile.CATEGORY_SPACE sre_compile.CATEGORY_UNI_DIGIT sre_compile.CATEGORY_UNI_LINEBREAK sre_compile.CATEGORY_UNI_NOT_DIGIT sre_compile.CATEGORY_UNI_NOT_LINEBREAK sre_compile.CATEGORY_UNI_NOT_SPACE sre_compile.CATEGORY_UNI_NOT_WORD sre_compile.CATEGORY_UNI_SPACE sre_compile.CATEGORY_UNI_WORD sre_compile.CATEGORY_WORD sre_compile.CHARSET sre_compile.CHCODES sre_compile.CH_LOCALE sre_compile.CH_UNICODE sre_compile.FAILURE sre_compile.GROUPREF sre_compile.GROUPREF_EXISTS sre_compile.GROUPREF_IGNORE sre_compile.IN sre_compile.INFO sre_compile.IN_IGNORE sre_compile.JUMP sre_compile.LITERAL sre_compile.LITERAL_IGNORE sre_compile.MAGIC sre_compile.MARK sre_compile.MAXCODE sre_compile.MAXREPEAT sre_compile.MAX_REPEAT sre_compile.MAX_UNTIL sre_compile.MIN_REPEAT sre_compile.MIN_REPEAT_ONE sre_compile.MIN_UNTIL sre_compile.NEGATE sre_compile.NOT_LITERAL sre_compile.NOT_LITERAL_IGNORE sre_compile.OPCODES sre_compile.OP_IGNORE sre_compile.RANGE sre_compile.REPEAT sre_compile.REPEAT_ONE sre_compile.SRE_FLAG_DEBUG sre_compile.SRE_FLAG_DOTALL sre_compile.SRE_FLAG_IGNORECASE sre_compile.SRE_FLAG_LOCALE sre_compile.SRE_FLAG_MULTILINE sre_compile.SRE_FLAG_TEMPLATE sre_compile.SRE_FLAG_UNICODE sre_compile.SRE_FLAG_VERBOSE sre_compile.SRE_INFO_CHARSET sre_compile.SRE_INFO_LITERAL sre_compile.SRE_INFO_PREFIX sre_compile.STRING_TYPES sre_compile.SUBPATTERN sre_compile.SUCCESS sre_compile.compile(??) sre_compile.error sre_compile.isstring(??) sre_compile.makedict(??) sre_compile.sre_parse sre_compile.sys sre_constants.ANY sre_constants.ANY_ALL sre_constants.ASSERT sre_constants.ASSERT_NOT sre_constants.AT sre_constants.ATCODES sre_constants.AT_BEGINNING sre_constants.AT_BEGINNING_LINE sre_constants.AT_BEGINNING_STRING sre_constants.AT_BOUNDARY sre_constants.AT_END sre_constants.AT_END_LINE sre_constants.AT_END_STRING sre_constants.AT_LOCALE sre_constants.AT_LOC_BOUNDARY sre_constants.AT_LOC_NON_BOUNDARY sre_constants.AT_MULTILINE sre_constants.AT_NON_BOUNDARY sre_constants.AT_UNICODE sre_constants.AT_UNI_BOUNDARY sre_constants.AT_UNI_NON_BOUNDARY sre_constants.BIGCHARSET sre_constants.BRANCH sre_constants.CALL sre_constants.CATEGORY sre_constants.CATEGORY_DIGIT sre_constants.CATEGORY_LINEBREAK sre_constants.CATEGORY_LOC_NOT_WORD sre_constants.CATEGORY_LOC_WORD sre_constants.CATEGORY_NOT_DIGIT sre_constants.CATEGORY_NOT_LINEBREAK sre_constants.CATEGORY_NOT_SPACE sre_constants.CATEGORY_NOT_WORD sre_constants.CATEGORY_SPACE sre_constants.CATEGORY_UNI_DIGIT sre_constants.CATEGORY_UNI_LINEBREAK sre_constants.CATEGORY_UNI_NOT_DIGIT sre_constants.CATEGORY_UNI_NOT_LINEBREAK sre_constants.CATEGORY_UNI_NOT_SPACE sre_constants.CATEGORY_UNI_NOT_WORD sre_constants.CATEGORY_UNI_SPACE sre_constants.CATEGORY_UNI_WORD sre_constants.CATEGORY_WORD sre_constants.CHARSET sre_constants.CHCODES sre_constants.CH_LOCALE sre_constants.CH_UNICODE sre_constants.FAILURE sre_constants.GROUPREF sre_constants.GROUPREF_EXISTS sre_constants.GROUPREF_IGNORE sre_constants.IN sre_constants.INFO sre_constants.IN_IGNORE sre_constants.JUMP sre_constants.LITERAL sre_constants.LITERAL_IGNORE sre_constants.MAGIC sre_constants.MARK sre_constants.MAXREPEAT sre_constants.MAX_REPEAT sre_constants.MAX_UNTIL sre_constants.MIN_REPEAT sre_constants.MIN_REPEAT_ONE sre_constants.MIN_UNTIL sre_constants.NEGATE sre_constants.NOT_LITERAL sre_constants.NOT_LITERAL_IGNORE sre_constants.OPCODES sre_constants.OP_IGNORE sre_constants.RANGE sre_constants.REPEAT sre_constants.REPEAT_ONE sre_constants.SRE_FLAG_DEBUG sre_constants.SRE_FLAG_DOTALL sre_constants.SRE_FLAG_IGNORECASE sre_constants.SRE_FLAG_LOCALE sre_constants.SRE_FLAG_MULTILINE sre_constants.SRE_FLAG_TEMPLATE sre_constants.SRE_FLAG_UNICODE sre_constants.SRE_FLAG_VERBOSE sre_constants.SRE_INFO_CHARSET sre_constants.SRE_INFO_LITERAL sre_constants.SRE_INFO_PREFIX sre_constants.SUBPATTERN sre_constants.SUCCESS sre_constants.error sre_constants.makedict(??) sre_parse.ANY sre_parse.ANY_ALL sre_parse.ASSERT sre_parse.ASSERT_NOT sre_parse.AT sre_parse.ATCODES sre_parse.AT_BEGINNING sre_parse.AT_BEGINNING_LINE sre_parse.AT_BEGINNING_STRING sre_parse.AT_BOUNDARY sre_parse.AT_END sre_parse.AT_END_LINE sre_parse.AT_END_STRING sre_parse.AT_LOCALE sre_parse.AT_LOC_BOUNDARY sre_parse.AT_LOC_NON_BOUNDARY sre_parse.AT_MULTILINE sre_parse.AT_NON_BOUNDARY sre_parse.AT_UNICODE sre_parse.AT_UNI_BOUNDARY sre_parse.AT_UNI_NON_BOUNDARY sre_parse.BIGCHARSET sre_parse.BRANCH sre_parse.CALL sre_parse.CATEGORIES sre_parse.CATEGORY sre_parse.CATEGORY_DIGIT sre_parse.CATEGORY_LINEBREAK sre_parse.CATEGORY_LOC_NOT_WORD sre_parse.CATEGORY_LOC_WORD sre_parse.CATEGORY_NOT_DIGIT sre_parse.CATEGORY_NOT_LINEBREAK sre_parse.CATEGORY_NOT_SPACE sre_parse.CATEGORY_NOT_WORD sre_parse.CATEGORY_SPACE sre_parse.CATEGORY_UNI_DIGIT sre_parse.CATEGORY_UNI_LINEBREAK sre_parse.CATEGORY_UNI_NOT_DIGIT sre_parse.CATEGORY_UNI_NOT_LINEBREAK sre_parse.CATEGORY_UNI_NOT_SPACE sre_parse.CATEGORY_UNI_NOT_WORD sre_parse.CATEGORY_UNI_SPACE sre_parse.CATEGORY_UNI_WORD sre_parse.CATEGORY_WORD sre_parse.CHARSET sre_parse.CHCODES sre_parse.CH_LOCALE sre_parse.CH_UNICODE sre_parse.DIGITS sre_parse.ESCAPES sre_parse.FAILURE sre_parse.FLAGS sre_parse.GROUPREF sre_parse.GROUPREF_EXISTS sre_parse.GROUPREF_IGNORE sre_parse.HEXDIGITS sre_parse.IN sre_parse.INFO sre_parse.IN_IGNORE sre_parse.JUMP sre_parse.LITERAL sre_parse.LITERAL_IGNORE sre_parse.MAGIC sre_parse.MARK sre_parse.MAXREPEAT sre_parse.MAX_REPEAT sre_parse.MAX_UNTIL sre_parse.MIN_REPEAT sre_parse.MIN_REPEAT_ONE sre_parse.MIN_UNTIL sre_parse.NEGATE sre_parse.NOT_LITERAL sre_parse.NOT_LITERAL_IGNORE sre_parse.OCTDIGITS sre_parse.OPCODES sre_parse.OP_IGNORE sre_parse.Pattern(??) sre_parse.RANGE sre_parse.REPEAT sre_parse.REPEAT_CHARS sre_parse.REPEAT_ONE sre_parse.SPECIAL_CHARS sre_parse.SRE_FLAG_DEBUG sre_parse.SRE_FLAG_DOTALL sre_parse.SRE_FLAG_IGNORECASE sre_parse.SRE_FLAG_LOCALE sre_parse.SRE_FLAG_MULTILINE sre_parse.SRE_FLAG_TEMPLATE sre_parse.SRE_FLAG_UNICODE sre_parse.SRE_FLAG_VERBOSE sre_parse.SRE_INFO_CHARSET sre_parse.SRE_INFO_LITERAL sre_parse.SRE_INFO_PREFIX sre_parse.SUBPATTERN sre_parse.SUCCESS sre_parse.SubPattern(??) sre_parse.Tokenizer(??) sre_parse.WHITESPACE sre_parse.error sre_parse.expand_template(??) sre_parse.isdigit(??) sre_parse.isident(??) sre_parse.isname(??) sre_parse.makedict(??) sre_parse.parse(??) sre_parse.parse_template(??) sre_parse.sys ssl.CERT_NONE ssl.CERT_OPTIONAL ssl.CERT_REQUIRED ssl.DER_cert_to_PEM_cert(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO ssl.OPENSSL_VERSION_NUMBER ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv2 ssl.PROTOCOL_SSLv23 ssl.PROTOCOL_SSLv3 ssl.PROTOCOL_TLSv1 ssl.RAND_add(string, entropy) ssl.RAND_egd(path) -> bytes ssl.RAND_status() -> 0 or 1 ssl.SSLError ssl.SSLSocket ssl.SSL_ERROR_EOF ssl.SSL_ERROR_INVALID_ERROR_CODE ssl.SSL_ERROR_SSL ssl.SSL_ERROR_SYSCALL ssl.SSL_ERROR_WANT_CONNECT ssl.SSL_ERROR_WANT_READ ssl.SSL_ERROR_WANT_WRITE ssl.SSL_ERROR_WANT_X509_LOOKUP ssl.SSL_ERROR_ZERO_RETURN ssl.base64 ssl.cert_time_to_seconds(??) ssl.errno ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.socket([family[, type[, proto]]]) -> socket object ssl.socket_error ssl.sslwrap_simple(??) ssl.textwrap ssl.wrap_socket(??) stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFREG stat.S_IFSOCK stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(??) stat.S_ISCHR(??) stat.S_ISDIR(??) stat.S_ISFIFO(??) stat.S_ISGID stat.S_ISLNK(??) stat.S_ISREG(??) stat.S_ISSOCK(??) stat.S_ISUID stat.S_ISVTX stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE staticmethod(function) -> method statvfs.F_BAVAIL statvfs.F_BFREE statvfs.F_BLOCKS statvfs.F_BSIZE statvfs.F_FAVAIL statvfs.F_FFREE statvfs.F_FILES statvfs.F_FLAG statvfs.F_FRSIZE statvfs.F_NAMEMAX str(object) -> string string.Formatter string.Template string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.atof(s) -> float string.atof_error string.atoi(s [,base]) -> int string.atoi_error string.atol(s [,base]) -> long string.atol_error string.capitalize(s) -> string string.capwords(s [,sep]) -> string string.center(s, width[, fillchar]) -> string string.count(s, sub[, start[,end]]) -> int string.digits string.expandtabs(s [,tabsize]) -> string string.find(s, sub [,start [,end]]) -> in string.hexdigits string.index(s, sub [,start [,end]]) -> int string.index_error string.join(list [,sep]) -> string string.joinfields(??) string.letters string.ljust(s, width[, fillchar]) -> string string.lower(s) -> string string.lowercase string.lstrip(s [,chars]) -> string string.maketrans(frm, to) -> string string.octdigits string.printable string.punctuation string.replace (str, old, new[, maxsplit]) -> string string.rfind(s, sub [,start [,end]]) -> int string.rindex(s, sub [,start [,end]]) -> int string.rjust(s, width[, fillchar]) -> string string.rsplit(s [,sep [,maxsplit]]) -> list of strings string.rstrip(s [,chars]) -> string string.split(s [,sep [,maxsplit]]) -> list of strings string.splitfields(??) string.strip(s [,chars]) -> string string.swapcase(s) -> string string.translate(s,table [,deletions]) -> string string.upper(s) -> string string.uppercase string.whitespace string.zfill(x, width) -> string stringold.atof(s) -> float stringold.atof_error stringold.atoi(s [,base]) -> int stringold.atoi_error stringold.atol(s [,base]) -> long stringold.atol_error stringold.capitalize(s) -> string stringold.capwords(s, [sep]) -> string stringold.center(s, width) -> string stringold.count(s, sub[, start[,end]]) -> int stringold.digits stringold.expandtabs(s [,tabsize]) -> string stringold.find(s, sub [,start [,end]]) -> in stringold.hexdigits stringold.index(s, sub [,start [,end]]) -> int stringold.index_error stringold.join(list [,sep]) -> string stringold.joinfields(??) stringold.letters stringold.ljust(s, width) -> string stringold.lower(s) -> string stringold.lowercase stringold.lstrip(s) -> string stringold.maketrans(frm, to) -> string stringold.octdigits stringold.replace (str, old, new[, maxsplit]) -> string stringold.rfind(s, sub [,start [,end]]) -> int stringold.rindex(s, sub [,start [,end]]) -> int stringold.rjust(s, width) -> string stringold.rstrip(s) -> string stringold.split(str [,sep [,maxsplit]]) -> list of strings stringold.splitfields(??) stringold.strip(s) -> string stringold.swapcase(s) -> string stringold.translate(s,table [,deletechars]) -> string stringold.upper(s) -> string stringold.uppercase stringold.whitespace stringold.zfill(x, width) -> string stringprep.b1_set stringprep.b3_exceptions stringprep.c22_specials stringprep.c6_set stringprep.c7_set stringprep.c8_set stringprep.c9_set stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata strop.atof(s) -> float strop.atoi(s [,base]) -> int strop.atol(s [,base]) -> long strop.capitalize(s) -> string strop.count(s, sub[, start[, end]]) -> int strop.expandtabs(string, [tabsize]) -> string strop.find(s, sub [,start [,end]]) -> in strop.join(list [,sep]) -> string strop.joinfields strop.lower(s) -> string strop.lowercase strop.lstrip(s) -> string strop.maketrans(frm, to) -> string strop.replace (str, old, new[, maxsplit]) -> string strop.rfind(s, sub [,start [,end]]) -> int strop.rstrip(s) -> string strop.split(s [,sep [,maxsplit]]) -> list of strings strop.splitfields strop.strip(s) -> string strop.swapcase(s) -> string strop.translate(s,table [,deletechars]) -> string strop.upper(s) -> string strop.uppercase strop.whitespace struct.Struct struct.calcsize struct.error struct.pack struct.pack_into struct.unpack struct.unpack_from subprocess.CalledProcessError subprocess.MAXFD subprocess.PIPE subprocess.Popen subprocess.STDOUT subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno subprocess.fcntl subprocess.gc subprocess.list2cmdline(??) subprocess.mswindows subprocess.os subprocess.pickle subprocess.select subprocess.signal subprocess.sys subprocess.traceback subprocess.types sum(sequence[, start]) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error sunau.open(??) sunau.openfp(??) sunaudio.MAGIC sunaudio.error sunaudio.get_long_be(??) sunaudio.gethdr(??) sunaudio.printhdr(??) super(type) -> unbound super object symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictmaker symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.exec_stmt symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.fpdef symbol.fplist symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.list_for symbol.list_if symbol.list_iter symbol.listmaker symbol.main(??) symbol.not_test symbol.old_lambdef symbol.old_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.print_stmt symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name symbol.term symbol.test symbol.testlist symbol.testlist1 symbol.testlist_comp symbol.testlist_safe symbol.trailer symbol.try_stmt symbol.varargslist symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.OPT_BARE_EXEC symtable.OPT_EXEC symtable.OPT_IMPORT_STAR symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol symtable.SymbolTable symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref sys.api_version sys.argv sys.builtin_module_names sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode sys.exc_clear() -> None sys.exc_info() -> (type, value, traceback) sys.exc_type sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags sys.float_info sys.float_repr_style sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.gettrace() sys.hexversion sys.long_info sys.maxint sys.maxsize sys.maxunicode sys.meta_path sys.modules sys.path sys.path_hooks sys.path_importer_cache sys.platform sys.prefix sys.py3kwarning sys.setappdefaultencoding sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.settrace(function) sys.stderr sys.stdin sys.stdout sys.subversion sys.version sys.version_info sys.warnoptions sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys syslog.LOG_ALERT syslog.LOG_AUTH syslog.LOG_CONS syslog.LOG_CRIT syslog.LOG_CRON syslog.LOG_DAEMON syslog.LOG_DEBUG syslog.LOG_EMERG syslog.LOG_ERR syslog.LOG_INFO syslog.LOG_KERN syslog.LOG_LOCAL0 syslog.LOG_LOCAL1 syslog.LOG_LOCAL2 syslog.LOG_LOCAL3 syslog.LOG_LOCAL4 syslog.LOG_LOCAL5 syslog.LOG_LOCAL6 syslog.LOG_LOCAL7 syslog.LOG_LPR syslog.LOG_MAIL syslog.LOG_MASK syslog.LOG_NDELAY syslog.LOG_NEWS syslog.LOG_NOTICE syslog.LOG_NOWAIT syslog.LOG_PERROR syslog.LOG_PID syslog.LOG_SYSLOG syslog.LOG_UPTO syslog.LOG_USER syslog.LOG_UUCP syslog.LOG_WARNING syslog.closelog syslog.openlog syslog.setlogmask syslog.syslog tabnanny.NannyNag tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt tabnanny.main(??) tabnanny.os tabnanny.process_tokens(??) tabnanny.sys tabnanny.tokenize tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError tarfile.EmptyHeaderError tarfile.ExFileObject tarfile.ExtractError tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES tarfile.HeaderError tarfile.InvalidHeaderError tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS tarfile.PAX_FORMAT tarfile.PAX_NUMBER_FIELDS tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES tarfile.ReadError tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES tarfile.SYMTYPE tarfile.S_IFBLK tarfile.S_IFCHR tarfile.S_IFDIR tarfile.S_IFIFO tarfile.S_IFLNK tarfile.S_IFREG tarfile.StreamError tarfile.SubsequentHeaderError tarfile.TAR_GZIPPED tarfile.TAR_PLAIN tarfile.TGEXEC tarfile.TGREAD tarfile.TGWRITE tarfile.TOEXEC tarfile.TOREAD tarfile.TOWRITE tarfile.TSGID tarfile.TSUID tarfile.TSVTX tarfile.TUEXEC tarfile.TUREAD tarfile.TUWRITE tarfile.TarError tarfile.TarFile tarfile.TarFileCompat(??) tarfile.TarInfo tarfile.TarIter(??) tarfile.TruncatedHeaderError tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open tarfile.calc_chksums(??) tarfile.copy tarfile.copyfileobj(??) tarfile.errno tarfile.filemode(??) tarfile.filemode_table tarfile.grp tarfile.is_tarfile(??) tarfile.itn(??) tarfile.nti(??) tarfile.nts(??) tarfile.open tarfile.operator tarfile.os tarfile.pwd tarfile.re tarfile.shutil tarfile.stat tarfile.stn(??) tarfile.struct tarfile.sys tarfile.time tarfile.uts(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.select telnetlib.socket telnetlib.sys telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir tempfile.template termios.B0 termios.B110 termios.B115200 termios.B1200 termios.B134 termios.B150 termios.B1800 termios.B19200 termios.B200 termios.B230400 termios.B2400 termios.B300 termios.B38400 termios.B460800 termios.B4800 termios.B50 termios.B57600 termios.B600 termios.B75 termios.B9600 termios.BRKINT termios.BS0 termios.BS1 termios.BSDLY termios.CBAUD termios.CBAUDEX termios.CDSUSP termios.CEOF termios.CEOL termios.CEOT termios.CERASE termios.CFLUSH termios.CIBAUD termios.CINTR termios.CKILL termios.CLNEXT termios.CLOCAL termios.CQUIT termios.CR0 termios.CR1 termios.CR2 termios.CR3 termios.CRDLY termios.CREAD termios.CRPRNT termios.CRTSCTS termios.CS5 termios.CS6 termios.CS7 termios.CS8 termios.CSIZE termios.CSTART termios.CSTOP termios.CSTOPB termios.CSUSP termios.CWERASE termios.ECHO termios.ECHOCTL termios.ECHOE termios.ECHOK termios.ECHOKE termios.ECHONL termios.ECHOPRT termios.EXTA termios.EXTB termios.FF0 termios.FF1 termios.FFDLY termios.FIOASYNC termios.FIOCLEX termios.FIONBIO termios.FIONCLEX termios.FIONREAD termios.FLUSHO termios.HUPCL termios.ICANON termios.ICRNL termios.IEXTEN termios.IGNBRK termios.IGNCR termios.IGNPAR termios.IMAXBEL termios.INLCR termios.INPCK termios.IOCSIZE_MASK termios.IOCSIZE_SHIFT termios.ISIG termios.ISTRIP termios.IUCLC termios.IXANY termios.IXOFF termios.IXON termios.NCC termios.NCCS termios.NL0 termios.NL1 termios.NLDLY termios.NOFLSH termios.N_MOUSE termios.N_PPP termios.N_SLIP termios.N_STRIP termios.N_TTY termios.OCRNL termios.OFDEL termios.OFILL termios.OLCUC termios.ONLCR termios.ONLRET termios.ONOCR termios.OPOST termios.PARENB termios.PARMRK termios.PARODD termios.PENDIN termios.TAB0 termios.TAB1 termios.TAB2 termios.TAB3 termios.TABDLY termios.TCFLSH termios.TCGETA termios.TCGETS termios.TCIFLUSH termios.TCIOFF termios.TCIOFLUSH termios.TCION termios.TCOFLUSH termios.TCOOFF termios.TCOON termios.TCSADRAIN termios.TCSAFLUSH termios.TCSANOW termios.TCSBRK termios.TCSBRKP termios.TCSETA termios.TCSETAF termios.TCSETAW termios.TCSETS termios.TCSETSF termios.TCSETSW termios.TCXONC termios.TIOCCONS termios.TIOCEXCL termios.TIOCGETD termios.TIOCGICOUNT termios.TIOCGLCKTRMIOS termios.TIOCGPGRP termios.TIOCGSERIAL termios.TIOCGSOFTCAR termios.TIOCGWINSZ termios.TIOCINQ termios.TIOCLINUX termios.TIOCMBIC termios.TIOCMBIS termios.TIOCMGET termios.TIOCMIWAIT termios.TIOCMSET termios.TIOCM_CAR termios.TIOCM_CD termios.TIOCM_CTS termios.TIOCM_DSR termios.TIOCM_DTR termios.TIOCM_LE termios.TIOCM_RI termios.TIOCM_RNG termios.TIOCM_RTS termios.TIOCM_SR termios.TIOCM_ST termios.TIOCNOTTY termios.TIOCNXCL termios.TIOCOUTQ termios.TIOCPKT termios.TIOCPKT_DATA termios.TIOCPKT_DOSTOP termios.TIOCPKT_FLUSHREAD termios.TIOCPKT_FLUSHWRITE termios.TIOCPKT_NOSTOP termios.TIOCPKT_START termios.TIOCPKT_STOP termios.TIOCSCTTY termios.TIOCSERCONFIG termios.TIOCSERGETLSR termios.TIOCSERGETMULTI termios.TIOCSERGSTRUCT termios.TIOCSERGWILD termios.TIOCSERSETMULTI termios.TIOCSERSWILD termios.TIOCSER_TEMT termios.TIOCSETD termios.TIOCSLCKTRMIOS termios.TIOCSPGRP termios.TIOCSSERIAL termios.TIOCSSOFTCAR termios.TIOCSTI termios.TIOCSWINSZ termios.TOSTOP termios.VDISCARD termios.VEOF termios.VEOL termios.VEOL2 termios.VERASE termios.VINTR termios.VKILL termios.VLNEXT termios.VMIN termios.VQUIT termios.VREPRINT termios.VSTART termios.VSTOP termios.VSUSP termios.VSWTC termios.VSWTCH termios.VT0 termios.VT1 termios.VTDLY termios.VTIME termios.VWERASE termios.XCASE termios.XTABS termios.error termios.tcdrain(fd) -> None termios.tcflow(fd, action) -> None termios.tcflush(fd, queue) -> None termios.tcgetattr(fd) -> list_of_attrs termios.tcsendbreak(fd, duration) -> None termios.tcsetattr(fd, when, attributes) -> None textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.re textwrap.string textwrap.wrap(??) this.c this.d this.i this.s thread.LockType thread.allocate thread.allocate_lock() -> lock object thread.error thread.exit() thread.exit_thread thread.get_ident() -> integer thread.interrupt_main() thread.stack_size([size]) -> size thread.start_new thread.start_new_thread(function, args[, kwargs]) threading.BoundedSemaphore(??) threading.Condition(??) threading.Event(??) threading.Lock threading.RLock(??) threading.Semaphore(??) threading.Thread threading.ThreadError threading.Timer(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.deque(iterable[, maxlen]) --> deque object threading.enumerate(??) threading.local threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size threading.warnings time.accept2dyear time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time time.time() -> floating point number time.timezone time.tzname time.tzset(zone) timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer timeit.dummy_src_name timeit.gc timeit.itertools timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys timeit.template timeit.time timeit.timeit(??) toaiff.error toaiff.os toaiff.pipes toaiff.sndhdr toaiff.t toaiff.table toaiff.tempfile toaiff.toaiff(??) toaiff.uncompress token.AMPER token.AMPEREQUAL token.AT token.BACKQUOTE token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.main(??) token.tok_name tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BACKQUOTE tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing tokenize.String tokenize.TILDE tokenize.Token tokenize.TokenError tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.double3prog tokenize.endprogs tokenize.generate_tokens(??) tokenize.group(??) tokenize.main(??) tokenize.maybe(??) tokenize.printtoken(??) tokenize.pseudoprog tokenize.re tokenize.single3prog tokenize.single_quoted tokenize.string tokenize.t tokenize.tabsize tokenize.tok_name tokenize.tokenize(??) tokenize.tokenize_loop(??) tokenize.tokenprog tokenize.triple_quoted tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.cPickle trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc trace.linecache trace.main(??) trace.modname(??) trace.os trace.pickle trace.re trace.rx_blank trace.sys trace.threading trace.time trace.token trace.tokenize trace.types trace.usage(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys traceback.tb_lineno(??) traceback.types tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B460800 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CBAUD tty.CBAUDEX tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CIBAUD tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.IOCSIZE_MASK tty.IOCSIZE_SHIFT tty.ISIG tty.ISPEED tty.ISTRIP tty.IUCLC tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCC tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.N_MOUSE tty.N_PPP tty.N_SLIP tty.N_STRIP tty.N_TTY tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.OLCUC tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCFLSH tty.TCGETA tty.TCGETS tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSBRK tty.TCSBRKP tty.TCSETA tty.TCSETAF tty.TCSETAW tty.TCSETS tty.TCSETSF tty.TCSETSW tty.TCXONC tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGICOUNT tty.TIOCGLCKTRMIOS tty.TIOCGPGRP tty.TIOCGSERIAL tty.TIOCGSOFTCAR tty.TIOCGWINSZ tty.TIOCINQ tty.TIOCLINUX tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMIWAIT tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSERCONFIG tty.TIOCSERGETLSR tty.TIOCSERGETMULTI tty.TIOCSERGSTRUCT tty.TIOCSERGWILD tty.TIOCSERSETMULTI tty.TIOCSERSWILD tty.TIOCSER_TEMT tty.TIOCSETD tty.TIOCSLCKTRMIOS tty.TIOCSPGRP tty.TIOCSSERIAL tty.TIOCSSOFTCAR tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VSWTC tty.VSWTCH tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.XCASE tty.XTABS tty.error tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> empty tuple type(object) -> the object's type types.BooleanType types.BufferType types.BuiltinFunctionType types.BuiltinMethodType types.ClassType types.CodeType types.ComplexType types.DictProxyType types.DictType types.DictionaryType types.EllipsisType types.FileType types.FloatType types.FrameType types.FunctionType types.GeneratorType types.GetSetDescriptorType types.InstanceType types.IntType types.LambdaType types.ListType types.LongType types.MemberDescriptorType types.MethodType types.ModuleType types.NoneType types.NotImplementedType types.ObjectType types.SliceType types.StringType types.StringTypes types.TracebackType types.TupleType types.TypeType types.UnboundMethodType types.UnicodeType types.XRangeType unichr(i) -> Unicode character unicode(string [, encoding[, errors]]) -> object unicodedata.UCD unicodedata.bidirectional(unichr) unicodedata.category(unichr) unicodedata.combining(unichr) unicodedata.decimal(unichr[, default]) unicodedata.decomposition(unichr) unicodedata.digit(unichr[, default]) unicodedata.east_asian_width(unichr) unicodedata.lookup(name) unicodedata.mirrored(unichr) unicodedata.name(unichr[, default]) unicodedata.normalize(form, unistr) unicodedata.numeric(unichr[, default]) unicodedata.ucd_3_2_0 unicodedata.ucnhash_CAPI unicodedata.unidata_version urllib.ContentTooShortError urllib.FancyURLopener(??) urllib.MAXFTPCACHE urllib.URLopener(??) urllib.addbase(??) urllib.addclosehook(??) urllib.addinfo(??) urllib.addinfourl(??) urllib.always_safe urllib.basejoin(??) urllib.c urllib.ftpcache urllib.ftperrors(??) urllib.ftpwrapper(??) urllib.getproxies(??) urllib.getproxies_environment(??) urllib.i urllib.localhost(??) urllib.main(??) urllib.noheaders(??) urllib.os urllib.pathname2url(??) urllib.proxy_bypass(??) urllib.proxy_bypass_environment(??) urllib.quote('abc def') -> 'abc%20def' urllib.quote_plus(??) urllib.reporthook(??) urllib.socket urllib.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.splitnport(??) urllib.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.splitport('host:port') --> 'host', 'port'. urllib.splitquery('/path?query') --> '/path', 'query'. urllib.splittag('/path#tag') --> '/path', 'tag'. urllib.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.splitvalue('attr=value') --> 'attr', 'value'. urllib.ssl urllib.string urllib.sys urllib.test(??) urllib.test1(??) urllib.thishost(??) urllib.time urllib.toBytes(u"URL") --> 'URL'. urllib.unquote('abc%20def') -> 'abc def'. urllib.unquote_plus(??) urllib.unwrap('') --> 'type://host/path'. urllib.url2pathname(??) urllib.urlcleanup(??) urllib.urlencode(??) urllib.urlopen(??) urllib.urlretrieve(??) urllib2.AbstractBasicAuthHandler(??) urllib2.AbstractDigestAuthHandler(??) urllib2.AbstractHTTPHandler(??) urllib2.BaseHandler(??) urllib2.CacheFTPHandler(??) urllib2.FTPHandler(??) urllib2.FileHandler(??) urllib2.HTTPBasicAuthHandler(??) urllib2.HTTPCookieProcessor(??) urllib2.HTTPDefaultErrorHandler(??) urllib2.HTTPDigestAuthHandler(??) urllib2.HTTPError urllib2.HTTPErrorProcessor(??) urllib2.HTTPHandler(??) urllib2.HTTPPasswordMgr(??) urllib2.HTTPPasswordMgrWithDefaultRealm(??) urllib2.HTTPRedirectHandler(??) urllib2.HTTPSHandler(??) urllib2.OpenerDirector(??) urllib2.ProxyBasicAuthHandler(??) urllib2.ProxyDigestAuthHandler(??) urllib2.ProxyHandler(??) urllib2.Request(??) urllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing urllib2.URLError urllib2.UnknownHandler(??) urllib2.addinfourl(??) urllib2.base64 urllib2.bisect urllib2.build_opener(??) urllib2.ftpwrapper(??) urllib2.getproxies(??) urllib2.hashlib urllib2.httplib urllib2.install_opener(??) urllib2.localhost(??) urllib2.mimetools urllib2.os urllib2.parse_http_list(??) urllib2.parse_keqv_list(??) urllib2.posixpath urllib2.proxy_bypass(??) urllib2.quote('abc def') -> 'abc%20def' urllib2.random urllib2.randombytes(??) urllib2.re urllib2.request_host(??) urllib2.socket urllib2.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib2.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib2.splitport('host:port') --> 'host', 'port'. urllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib2.splitvalue('attr=value') --> 'attr', 'value'. urllib2.sys urllib2.time urllib2.unquote('abc%20def') -> 'abc def'. urllib2.unwrap('') --> 'type://host/path'. urllib2.url2pathname(??) urllib2.urlopen(??) urllib2.urlparse urlparse.MAX_CACHE_SIZE urlparse.ParseResult urlparse.ResultMixin urlparse.SplitResult urlparse.clear_cache(??) urlparse.namedtuple(??) urlparse.non_hierarchical urlparse.parse_qs(??) urlparse.parse_qsl(??) urlparse.scheme_chars urlparse.test(??) urlparse.test_input urlparse.unquote('abc%20def') -> 'abc def'. urlparse.urldefrag(??) urlparse.urljoin(??) urlparse.urlparse(??) urlparse.urlsplit(??) urlparse.urlunparse(??) urlparse.urlunsplit(??) urlparse.uses_fragment urlparse.uses_netloc urlparse.uses_params urlparse.uses_query urlparse.uses_relative user.home user.os user.pythonrc uu.Error uu.binascii uu.decode(??) uu.encode(??) uu.os uu.sys uu.test(??) uuid.NAMESPACE_DNS uuid.NAMESPACE_OID uuid.NAMESPACE_URL uuid.NAMESPACE_X500 uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID uuid.ctypes uuid.getnode(??) uuid.lib uuid.libname uuid.sys uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary warnings.WarningMessage warnings.catch_warnings warnings.default_action warnings.defaultaction warnings.filters warnings.filterwarnings(??) warnings.formatwarning(??) warnings.linecache warnings.once_registry warnings.onceregistry warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys warnings.types warnings.warn warnings.warn_explicit warnings.warnpy3k(??) wave.Chunk(??) wave.Error wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.big_endian wave.open(??) wave.openfp(??) wave.struct weakref.CallableProxyType weakref.KeyedRef weakref.ProxyType weakref.ProxyTypes weakref.ReferenceError weakref.ReferenceType weakref.UserDict weakref.WeakKeyDictionary(??) weakref.WeakSet weakref.WeakValueDictionary(??) weakref.getweakrefcount(object) -- return the number of weak references weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref webbrowser.BackgroundBrowser webbrowser.BaseBrowser webbrowser.Elinks webbrowser.Error webbrowser.Galeon webbrowser.GenericBrowser webbrowser.Grail webbrowser.Konqueror webbrowser.Mozilla webbrowser.Netscape webbrowser.Opera webbrowser.UnixBrowser webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex webbrowser.stat webbrowser.subprocess webbrowser.sys webbrowser.time whichdb.dbm whichdb.os whichdb.struct whichdb.sys whichdb.whichdb(??) wsgiref.handlers wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.StringType wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os wsgiref.handlers.sys wsgiref.handlers.time wsgiref.headers wsgiref.headers.Headers(??) wsgiref.headers.ListType wsgiref.headers.TupleType wsgiref.headers.re wsgiref.headers.tspecials wsgiref.simple_server wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys wsgiref.simple_server.sys_version wsgiref.simple_server.urllib wsgiref.util wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate wsgiref.validate.DictType wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.ListType wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.StringType wsgiref.validate.TupleType wsgiref.validate.WSGIWarning wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.header_re wsgiref.validate.re wsgiref.validate.sys wsgiref.validate.validator(??) wsgiref.validate.warnings xdrlib.ConversionError xdrlib.Error xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct xml.dom xml.dom.DOMException xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr xml.dom.EMPTY_NAMESPACE xml.dom.EMPTY_PREFIX xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr xml.dom.InuseAttributeErr xml.dom.InvalidAccessErr xml.dom.InvalidCharacterErr xml.dom.InvalidModificationErr xml.dom.InvalidStateErr xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr xml.dom.NoDataAllowedErr xml.dom.NoModificationAllowedErr xml.dom.Node(??) xml.dom.NodeFilter xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr xml.dom.NotSupportedErr xml.dom.SYNTAX_ERR xml.dom.SyntaxErr xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg xml.dom.domreg.EmptyNodeList xml.dom.domreg.NodeList xml.dom.domreg.StringTypes xml.dom.domreg.defproperty(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered xml.dom.domreg.well_known_implementations xml.dom.expatbuilder xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE xml.dom.expatbuilder.EMPTY_PREFIX xml.dom.expatbuilder.ElementInfo xml.dom.expatbuilder.EmptyNodeList xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch xml.dom.expatbuilder.FilterVisibilityController xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.NodeList xml.dom.expatbuilder.ParseEscape xml.dom.expatbuilder.Rejecter xml.dom.expatbuilder.Skipper xml.dom.expatbuilder.StringTypes xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.defproperty(??) xml.dom.expatbuilder.expat xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation xml.dom.expatbuilder.xmlbuilder xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat xml.dom.minicompat.EmptyNodeList xml.dom.minicompat.NodeList xml.dom.minicompat.StringTypes xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml xml.dom.minidom xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE xml.dom.minidom.EMPTY_PREFIX xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo xml.dom.minidom.EmptyNodeList xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap xml.dom.minidom.Node(??) xml.dom.minidom.NodeList xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap xml.dom.minidom.StringTypes xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml xml.dom.pulldom xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.types xml.dom.pulldom.xml xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy xml.dom.xmlbuilder.xml xml.etree xml.etree.ElementInclude xml.etree.ElementInclude.ElementTree xml.etree.ElementInclude.FatalIncludeError xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re xml.etree.ElementTree xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element xml.etree.ElementTree.ElementPath xml.etree.ElementTree.ElementTree xml.etree.ElementTree.HTML_EMPTY xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser xml.etree.ElementTree.XMLTreeBuilder xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings xml.etree.cElementTree xml.etree.cElementTree.Comment xml.etree.cElementTree.Element xml.etree.cElementTree.ElementPath xml.etree.cElementTree.ElementTree xml.etree.cElementTree.PI xml.etree.cElementTree.ParseError xml.etree.cElementTree.ProcessingInstruction xml.etree.cElementTree.QName xml.etree.cElementTree.SubElement xml.etree.cElementTree.TreeBuilder xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser xml.etree.cElementTree.XMLTreeBuilder xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers xml.parsers.expat xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error xml.parsers.expat.errors xml.parsers.expat.expat_CAPI xml.parsers.expat.features xml.parsers.expat.model xml.parsers.expat.native_encoding xml.parsers.expat.version_info xml.sax xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException xml.sax.SAXNotRecognizedException xml.sax.SAXNotSupportedException xml.sax.SAXParseException xml.sax.SAXReaderNotAvailable xml.sax.default_parser_list xml.sax.expatreader xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException xml.sax.expatreader.SAXNotRecognizedException xml.sax.expatreader.SAXNotSupportedException xml.sax.expatreader.SAXParseException xml.sax.expatreader.SAXReaderNotAvailable xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils xml.sax.expatreader.version xml.sax.expatreader.xmlreader xml.sax.handler xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features xml.sax.handler.all_properties xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler xml.sax.saxutils.os xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.types xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib xml.sax.saxutils.urlparse xml.sax.saxutils.xmlreader xml.sax.xmlreader xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException xml.sax.xmlreader.SAXNotSupportedException xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler xmllib.Error xmllib.TestXMLParser(??) xmllib.XMLParser(??) xmllib.amp xmllib.attrfind xmllib.attrtrans xmllib.cdataclose xmllib.cdataopen xmllib.charref xmllib.commentclose xmllib.commentopen xmllib.doctype xmllib.doubledash xmllib.endbracket xmllib.endbracketfind xmllib.endtagopen xmllib.entityref xmllib.illegal xmllib.interesting xmllib.ncname xmllib.newline xmllib.procclose xmllib.procopen xmllib.qname xmllib.re xmllib.ref xmllib.space xmllib.starttagend xmllib.starttagmatch xmllib.starttagopen xmllib.string xmllib.tagfind xmllib.test(??) xmllib.version xmllib.xmldecl xmllib.xmlns xmlrpclib.APPLICATION_ERROR xmlrpclib.Binary(??) xmlrpclib.Boolean xmlrpclib.BooleanType xmlrpclib.BufferType xmlrpclib.BuiltinFunctionType xmlrpclib.BuiltinMethodType xmlrpclib.ClassType xmlrpclib.CodeType xmlrpclib.ComplexType xmlrpclib.DateTime(??) xmlrpclib.DictProxyType xmlrpclib.DictType xmlrpclib.DictionaryType xmlrpclib.EllipsisType xmlrpclib.Error xmlrpclib.ExpatParser(??) xmlrpclib.False xmlrpclib.FastMarshaller xmlrpclib.FastParser xmlrpclib.FastUnmarshaller xmlrpclib.Fault xmlrpclib.FileType xmlrpclib.FloatType xmlrpclib.FrameType xmlrpclib.FunctionType xmlrpclib.GeneratorType xmlrpclib.GetSetDescriptorType xmlrpclib.GzipDecodedResponse xmlrpclib.INTERNAL_ERROR xmlrpclib.INVALID_ENCODING_CHAR xmlrpclib.INVALID_METHOD_PARAMS xmlrpclib.INVALID_XMLRPC xmlrpclib.InstanceType xmlrpclib.IntType xmlrpclib.LambdaType xmlrpclib.ListType xmlrpclib.LongType xmlrpclib.MAXINT xmlrpclib.METHOD_NOT_FOUND xmlrpclib.MININT xmlrpclib.Marshaller(??) xmlrpclib.MemberDescriptorType xmlrpclib.MethodType xmlrpclib.ModuleType xmlrpclib.MultiCall(??) xmlrpclib.MultiCallIterator(??) xmlrpclib.NOT_WELLFORMED_ERROR xmlrpclib.NoneType xmlrpclib.NotImplementedType xmlrpclib.ObjectType xmlrpclib.PARSE_ERROR xmlrpclib.ProtocolError xmlrpclib.ResponseError xmlrpclib.SERVER_ERROR xmlrpclib.SYSTEM_ERROR xmlrpclib.SafeTransport(??) xmlrpclib.Server(??) xmlrpclib.ServerProxy(??) xmlrpclib.SliceType xmlrpclib.SlowParser(??) xmlrpclib.StringIO xmlrpclib.StringType xmlrpclib.StringTypes xmlrpclib.TRANSPORT_ERROR xmlrpclib.TracebackType xmlrpclib.Transport(??) xmlrpclib.True xmlrpclib.TupleType xmlrpclib.TypeType xmlrpclib.UNSUPPORTED_ENCODING xmlrpclib.UnboundMethodType xmlrpclib.UnicodeType xmlrpclib.Unmarshaller(??) xmlrpclib.WRAPPERS xmlrpclib.XRangeType xmlrpclib.base64 xmlrpclib.boolean xmlrpclib.datetime xmlrpclib.dumps(??) xmlrpclib.errno xmlrpclib.escape(??) xmlrpclib.expat xmlrpclib.getparser() -> parser, unmarshaller xmlrpclib.gzip xmlrpclib.gzip_decode(??) xmlrpclib.gzip_encode(??) xmlrpclib.httplib xmlrpclib.loads(??) xmlrpclib.operator xmlrpclib.re xmlrpclib.socket xmlrpclib.string xmlrpclib.time xrange([start,] stop[, step]) -> xrange object xxsubtype.bench xxsubtype.spamdict xxsubtype.spamlist zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] zipfile.BadZipfile zipfile.LargeZipFile zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile zipfile.ZipFile(??) zipfile.ZipInfo zipfile.binascii zipfile.cStringIO zipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zipfile.error zipfile.io zipfile.is_zipfile(??) zipfile.main(??) zipfile.os zipfile.re zipfile.shutil zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys zipfile.time zipfile.zlib zipimport.ZipImportError zipimport.zipimporter(archivepath) -> zipimporter object zlib.DEFLATED zlib.DEF_MEM_LEVEL zlib.MAX_WBITS zlib.ZLIB_VERSION zlib.Z_BEST_COMPRESSION zlib.Z_BEST_SPEED zlib.Z_DEFAULT_COMPRESSION zlib.Z_DEFAULT_STRATEGY zlib.Z_FILTERED zlib.Z_FINISH zlib.Z_FULL_FLUSH zlib.Z_HUFFMAN_ONLY zlib.Z_NO_FLUSH zlib.Z_SYNC_FLUSH zlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string. zlib.compress(string[, level]) -- Returned compressed string. zlib.compressobj([level]) -- Return a compressor object. zlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. zlib.decompressobj([wbits]) -- Return a decompressor object. zlib.error ================================================ FILE: src/qscint/qsci/api/python/Python-3.1.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BufferError(??) BytesWarning(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) NameError(??) None(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) ReferenceError(??) RuntimeError(??) RuntimeWarning(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABCMeta(??) abc.WeakSet(??) abc.abstractmethod(??) abc.abstractproperty(??) abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) all(iterable) -> bool any(iterable) -> bool array.ArrayType(??) array.array(typecode [, initializer]) -> array array.typecodes ascii(object) -> string ast.AST(??) ast.Add(??) ast.And(??) ast.Assert(??) ast.Assign(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FunctionDef(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ONLY_AST ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.TryExcept(??) ast.TryFinally(??) ast.Tuple(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.unaryop(??) ast.walk(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.buffer(??) asynchat.deque(iterable[, maxlen]) --> deque object asynchat.fifo(??) asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asynchat.socket(??) asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINTR asyncore.EISCONN asyncore.ENOTCONN asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.fcntl(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None audioop.add(??) audioop.adpcm2lin(??) audioop.alaw2lin(??) audioop.avg(??) audioop.avgpp(??) audioop.bias(??) audioop.cross(??) audioop.error(??) audioop.findfactor(??) audioop.findfit(??) audioop.findmax(??) audioop.getsample(??) audioop.lin2adpcm(??) audioop.lin2alaw(??) audioop.lin2lin(??) audioop.lin2ulaw(??) audioop.max(??) audioop.maxpp(??) audioop.minmax(??) audioop.mul(??) audioop.ratecv(??) audioop.reverse(??) audioop.rms(??) audioop.tomono(??) audioop.tostereo(??) audioop.ulaw2lin(??) base64.MAXBINSIZE base64.MAXLINESIZE base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bdb.types(??) bin(number) -> string binascii.Error(??) binascii.Incomplete(??) binascii.a2b_base64(??) binascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation. binascii.a2b_hqx(??) binascii.a2b_qp(??) binascii.a2b_uu(??) binascii.b2a_base64(??) binascii.b2a_hex(data) -> s; Hexadecimal representation of binary data. binascii.b2a_hqx(??) binascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; binascii.b2a_uu(??) binascii.crc32(??) binascii.crc_hqx(??) binascii.hexlify(??) binascii.rlecode_hqx(??) binascii.rledecode_hqx(??) binascii.unhexlify(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) binhex.sys(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.NameError(??) builtins.None builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.ReferenceError(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(number) -> number builtins.all(iterable) -> bool builtins.any(iterable) -> bool builtins.ascii(object) -> string builtins.bin(number) -> string builtins.bool(x) -> bool builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.chr(i) -> Unicode character builtins.classmethod(function) -> method builtins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object builtins.complex(real[, imag]) -> complex number builtins.copyright(??) builtins.credits(??) builtins.delattr(object, name) builtins.dict() -> new empty dictionary. builtins.dir([object]) -> list of strings builtins.divmod(x, y) -> (div, mod) builtins.enumerate(iterable) -> iterator for index, value of iterable builtins.eval(source[, globals[, locals]]) -> value builtins.exec(object[, globals[, locals]]) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(x) -> floating point number builtins.format(value[, format_spec]) -> string builtins.frozenset(iterable) --> frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals() -> dictionary builtins.hasattr(object, name) -> bool builtins.hash(object) -> integer builtins.help(??) builtins.hex(number) -> string builtins.id(object) -> integer builtins.input([prompt]) -> string builtins.int(x[, base]) -> integer builtins.isinstance(object, class-or-type-or-tuple) -> bool builtins.issubclass(C, B) -> bool builtins.iter(iterable) -> iterator builtins.len(object) -> integer builtins.license(??) builtins.list() -> new list builtins.locals() -> dictionary builtins.map(func, *iterables) --> map object builtins.max(iterable[, key=func]) -> value builtins.memoryview(object) builtins.min(iterable[, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(number) -> string builtins.open(??) builtins.ord(c) -> integer builtins.pow(x, y[, z]) -> number builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout) builtins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute builtins.quit(??) builtins.range([start,] stop[, step]) -> range object builtins.repr(object) -> string builtins.reversed(sequence) -> reverse iterator over values of the sequence builtins.round(number[, ndigits]) -> number builtins.set(iterable) --> set object builtins.setattr(object, name, value) builtins.slice([start,] stop[, step]) builtins.sorted(iterable, key=None, reverse=False) --> new sorted list builtins.staticmethod(function) -> method builtins.str(string[, encoding[, errors]]) -> str builtins.sum(iterable[, start]) -> value builtins.super() -> same as super(__class__, ) builtins.tuple() -> an empty tuple builtins.type(object) -> the object's type builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor([compresslevel=9]) -> compressor object bz2.BZ2Decompressor() -> decompressor object bz2.BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object bz2.compress(data [, compresslevel=9]) -> string bz2.decompress(data) -> decompressed data cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.help(??) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) cgi.FieldStorage(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.attrgetter(attr, ...) --> attrgetter object cgi.dolog(??) cgi.email(??) cgi.escape(??) cgi.initlog(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgi.warn(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) cgitb.types(??) chr(i) -> Unicode character chunk.Chunk(??) classmethod(function) -> method cmath.acos(x) cmath.acosh(x) cmath.asin(x) cmath.asinh(x) cmath.atan(x) cmath.atanh(x) cmath.cos(x) cmath.cosh(x) cmath.e cmath.exp(x) cmath.isinf(z) -> bool cmath.isnan(z) -> bool cmath.log(x[, base]) -> the logarithm of x to the given base. cmath.log10(x) cmath.phase(z) -> float cmath.pi cmath.polar(z) -> r: float, phi: float cmath.rect(r, phi) -> z: complex cmath.sin(x) cmath.sinh(x) cmath.sqrt(x) cmath.tan(x) cmath.tanh(x) cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charbuffer_encode(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(encoding) -> CodecInfo codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.unicode_internal_decode(??) codecs.unicode_internal_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.ByteString(??) collections.Callable(??) collections.Container(??) collections.Counter(??) collections.Hashable(??) collections.ItemsView(??) collections.Iterable(??) collections.Iterator(??) collections.KeysView(??) collections.Mapping(??) collections.MappingView(??) collections.MutableMapping(??) collections.MutableSequence(??) collections.MutableSet(??) collections.OrderedDict(??) collections.Sequence(??) collections.Set(??) collections.Sized(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.ValuesView(??) collections.bytearray_iterator(??) collections.bytes_iterator(??) collections.defaultdict(default_factory) --> dict with default factory collections.deque(iterable[, maxlen]) --> deque object collections.dict_itemiterator(??) collections.dict_items(??) collections.dict_keyiterator(??) collections.dict_keys(??) collections.dict_proxy(??) collections.dict_valueiterator(??) collections.dict_values(??) collections.list_iterator(??) collections.list_reverseiterator(??) collections.namedtuple(??) collections.range_iterator(??) collections.set_iterator(??) collections.str_iterator(??) collections.tuple_iterator(??) collections.zip_iterator(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_path(??) compileall.imp(??) compileall.main(??) compileall.os(??) compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(real[, imag]) -> complex number configparser.ConfigParser(??) configparser.DEFAULTSECT configparser.DuplicateSectionError(??) configparser.Error(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.re(??) contextlib.GeneratorContextManager(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.nested(??) contextlib.sys(??) contextlib.warn(??) contextlib.wraps(??) copy.Error(??) copy.PyStringMap(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copy.name copy.t(??) copy.weakref(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.crypt(word, salt) -> string csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable[, r]) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable[, r]) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1]) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util(??) ctypes.util.errno(??) ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.re(??) ctypes.util.sys(??) ctypes.util.tempfile(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii(??) curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.newpad(??) curses.newwin(??) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.ungetch(??) curses.ungetmouse(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.wrapper(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.tzinfo(??) dbm.dumb(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(path[, flag[, mode]]) -> mapping dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary. difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.cmp_op(??) dis.dis(??) dis.disassemble(??) dis.disassemble_string(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.flag2name(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.sys(??) dis.types(??) divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.tempfile(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) doctest.warnings(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.local(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderParseError(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.message(??) email.feedparser.re(??) email.generator(??) email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.Header(??) email.generator.NL email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.generator.warnings(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO([buffer]) -> object email.message.Charset(??) email.message.Message(??) email.message.SEMISPACE email.message.StringIO(??) email.message.base64(??) email.message.binascii(??) email.message.errors(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message.warnings(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio(??) email.mime.audio.BytesIO([buffer]) -> object email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base(??) email.mime.base.MIMEBase(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.mime.text.encode_7or8bit(??) email.parser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Message(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.warnings(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.EMPTYSTRING email.utils.StringIO(??) email.utils.TICK email.utils.UEMPTYSTRING email.utils.base64(??) email.utils.collapse_rfc2231_value(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) email.utils.warnings(??) enumerate(iterable) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EADV errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EBADE errno.EBADF errno.EBADFD errno.EBADMSG errno.EBADR errno.EBADRQC errno.EBADSLT errno.EBFONT errno.EBUSY errno.ECHILD errno.ECHRNG errno.ECOMM errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDEADLOCK errno.EDESTADDRREQ errno.EDOM errno.EDOTDOT errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.EISNAM errno.EL2HLT errno.EL2NSYNC errno.EL3HLT errno.EL3RST errno.ELIBACC errno.ELIBBAD errno.ELIBEXEC errno.ELIBMAX errno.ELIBSCN errno.ELNRNG errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENAVAIL errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOANO errno.ENOBUFS errno.ENOCSI errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENONET errno.ENOPKG errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTNAM errno.ENOTSOCK errno.ENOTTY errno.ENOTUNIQ errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.ERANGE errno.EREMCHG errno.EREMOTE errno.EREMOTEIO errno.ERESTART errno.EROFS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESRMNT errno.ESTALE errno.ESTRPIPE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUCLEAN errno.EUNATCH errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.EXFULL errno.errorcode(??) eval(source[, globals[, locals]]) -> value exec(object[, globals[, locals]]) exit(??) fcntl.DN_ACCESS fcntl.DN_ATTRIB fcntl.DN_CREATE fcntl.DN_DELETE fcntl.DN_MODIFY fcntl.DN_MULTISHOT fcntl.DN_RENAME fcntl.FASYNC fcntl.FD_CLOEXEC fcntl.F_DUPFD fcntl.F_EXLCK fcntl.F_GETFD fcntl.F_GETFL fcntl.F_GETLEASE fcntl.F_GETLK fcntl.F_GETLK64 fcntl.F_GETOWN fcntl.F_GETSIG fcntl.F_NOTIFY fcntl.F_RDLCK fcntl.F_SETFD fcntl.F_SETFL fcntl.F_SETLEASE fcntl.F_SETLK fcntl.F_SETLK64 fcntl.F_SETLKW fcntl.F_SETLKW64 fcntl.F_SETOWN fcntl.F_SETSIG fcntl.F_SHLCK fcntl.F_UNLCK fcntl.F_WRLCK fcntl.I_ATMARK fcntl.I_CANPUT fcntl.I_CKBAND fcntl.I_FDINSERT fcntl.I_FIND fcntl.I_FLUSH fcntl.I_FLUSHBAND fcntl.I_GETBAND fcntl.I_GETCLTIME fcntl.I_GETSIG fcntl.I_GRDOPT fcntl.I_GWROPT fcntl.I_LINK fcntl.I_LIST fcntl.I_LOOK fcntl.I_NREAD fcntl.I_PEEK fcntl.I_PLINK fcntl.I_POP fcntl.I_PUNLINK fcntl.I_PUSH fcntl.I_RECVFD fcntl.I_SENDFD fcntl.I_SETCLTIME fcntl.I_SETSIG fcntl.I_SRDOPT fcntl.I_STR fcntl.I_SWROPT fcntl.I_UNLINK fcntl.LOCK_EX fcntl.LOCK_MAND fcntl.LOCK_NB fcntl.LOCK_READ fcntl.LOCK_RW fcntl.LOCK_SH fcntl.LOCK_UN fcntl.LOCK_WRITE fcntl.fcntl(fd, opt, [arg]) fcntl.flock(fd, operation) fcntl.ioctl(fd, opt[, arg[, mutate_flag]]) fcntl.lockf (fd, operation, length=0, start=0, whence=0) filecmp.BUFSIZE filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(function or None, sequence) --> filterfalse object filecmp.os(??) filecmp.stat(??) fileinput.DEFAULT_BUFSIZE fileinput.FileInput(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(files=None, inplace=False, backup="", bufsize=0, mode="r", openhook=None) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.re(??) fnmatch.translate(??) format(value[, format_spec]) -> string formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) frozenset(iterable) --> frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.os(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.sys(??) ftplib.test(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.partial(func, *args, **keywords) - new function with partial application functools.reduce(function, sequence[, initial]) -> value functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage(??) gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.is_tracked(obj) -> bool gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy(??) gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.os(??) gettext.re(??) gettext.struct(??) gettext.sys(??) gettext.test(??) gettext.textdomain(??) gettext.translation(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) glob.sys(??) globals() -> dictionary grp.getgrall() -> list of tuples grp.getgrgid(id) -> tuple grp.getgrnam(name) -> tuple grp.struct_group(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.LOWU32(??) gzip.READ gzip.U32(??) gzip.WRITE gzip.builtins(??) gzip.open(??) gzip.read32(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(object, name) -> bool hash(object) -> integer hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha512(??) heapq.bisect(??) heapq.chain(*iterables) --> chain object heapq.count(start=0, step=1]) --> count object heapq.heapify(??) heapq.heappop(??) heapq.heappush(??) heapq.heappushpop(??) heapq.heapreplace(??) heapq.islice(iterable, [start,] stop [, step]) --> islice object heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) heapq.repeat(object [,times]) -> create an iterator which returns the object heapq.tee(iterable, n=2) --> tuple of n independent iterators. help(??) hex(number) -> string hmac.HMAC(??) hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.name2codepoint(??) html.parser.HTMLParseError(??) html.parser.HTMLParser(??) html.parser.attrfind(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_cdata(??) html.parser.interesting_normal(??) html.parser.locatestarttagend(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind(??) http.client(??) http.client.ACCEPTED http.client.BAD_GATEWAY http.client.BAD_REQUEST http.client.BadStatusLine(??) http.client.CONFLICT http.client.CONTINUE http.client.CREATED http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED http.client.FAILED_DEPENDENCY http.client.FORBIDDEN http.client.FOUND http.client.FakeSocket(??) http.client.GATEWAY_TIMEOUT http.client.GONE http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED http.client.IM_USED http.client.INSUFFICIENT_STORAGE http.client.INTERNAL_SERVER_ERROR http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED http.client.LOCKED http.client.LineAndFileWrapper(??) http.client.MAXAMOUNT http.client.METHOD_NOT_ALLOWED http.client.MOVED_PERMANENTLY http.client.MULTIPLE_CHOICES http.client.MULTI_STATUS http.client.NON_AUTHORITATIVE_INFORMATION http.client.NOT_ACCEPTABLE http.client.NOT_EXTENDED http.client.NOT_FOUND http.client.NOT_IMPLEMENTED http.client.NOT_MODIFIED http.client.NO_CONTENT http.client.NotConnected(??) http.client.OK http.client.PARTIAL_CONTENT http.client.PAYMENT_REQUIRED http.client.PRECONDITION_FAILED http.client.PROCESSING http.client.PROXY_AUTHENTICATION_REQUIRED http.client.REQUESTED_RANGE_NOT_SATISFIABLE http.client.REQUEST_ENTITY_TOO_LARGE http.client.REQUEST_TIMEOUT http.client.REQUEST_URI_TOO_LONG http.client.RESET_CONTENT http.client.ResponseNotReady(??) http.client.SEE_OTHER http.client.SERVICE_UNAVAILABLE http.client.SWITCHING_PROTOCOLS http.client.TEMPORARY_REDIRECT http.client.UNAUTHORIZED http.client.UNPROCESSABLE_ENTITY http.client.UNSUPPORTED_MEDIA_TYPE http.client.UPGRADE_REQUIRED http.client.USE_PROXY http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.email(??) http.client.error(??) http.client.io(??) http.client.os(??) http.client.parse_headers(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.client.warnings(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.dumps(??) http.cookies.loads(??) http.cookies.re(??) http.cookies.string(??) http.cookies.warnings(??) http.server(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.SimpleHTTPRequestHandler(??) http.server.cgi(??) http.server.email(??) http.server.executable(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(object) -> integer imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.Debug imaplib.Flags(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.acquire_lock() -> None imp.find_module(name, [path]) -> (file, filename, (suffix, mode, type)) imp.get_frozen_object(??) imp.get_magic() -> string imp.get_suffixes() -> [(suffix, mode, type), ...] imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(name, file, filename, (suffix, mode, type)) -> module imp.load_package(??) imp.load_source(??) imp.lock_held() -> boolean imp.new_module(name) -> module imp.release_lock() -> None imp.reload(module) -> module importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.PyLoader(??) importlib.abc.PyPycLoader(??) importlib.abc.ResourceLoader(??) importlib.abc.abc(??) importlib.abc.machinery(??) importlib.abc.types(??) importlib.errno(??) importlib.imp(??) importlib.import_module(??) importlib.machinery(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.FrozenImporter(??) importlib.machinery.PathFinder(??) importlib.marshal(??) importlib.os(??) importlib.re(??) importlib.sep importlib.sys(??) importlib.tokenize(??) importlib.util(??) importlib.util.module_for_loader(??) importlib.util.set_loader(??) importlib.util.set_package(??) input([prompt]) -> string inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.CO_GENERATOR inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.EndOfBlock(??) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.ModuleInfo(name, suffix, mode, module_type) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.attrgetter(attr, ...) --> attrgetter object inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.currentframe(??) inspect.dis(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getblock(??) inspect.getclasstree(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.imp(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.joinseq(??) inspect.linecache(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.stack(??) inspect.string(??) inspect.strseq(??) inspect.sys(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.walktree(??) int(x[, base]) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO([buffer]) -> object io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) ipaddr.BaseIP(??) ipaddr.Error(??) ipaddr.IP(??) ipaddr.IPAddressExclusionError(??) ipaddr.IPTypeError(??) ipaddr.IPv4(??) ipaddr.IPv4IpValidationError(??) ipaddr.IPv4NetmaskValidationError(??) ipaddr.IPv6(??) ipaddr.IPv6IpValidationError(??) ipaddr.IPv6NetmaskValidationError(??) ipaddr.PrefixlenDiffInvalidError(??) ipaddr.collapse_address_list(??) ipaddr.struct(??) isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(iterable) -> iterator itertools.chain(*iterables) --> chain object itertools.combinations(iterable[, r]) --> combinations object itertools.combinations_with_replacement(iterable[, r]) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1]) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.filterfalse(function or None, sequence) --> filterfalse object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.islice(iterable, [start,] stop [, step]) --> islice object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecoder(??) json.JSONEncoder(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS json.decoder.JSONArray(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.binascii(??) json.decoder.c_scanstring(??) json.decoder.errmsg(??) json.decoder.linecol(??) json.decoder.make_scanner(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanstring(basestring, end, strict=True) -> (bytes, end) json.decoder.struct(??) json.decoder.sys(??) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.FLOAT_REPR(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(??) json.encoder.encode_basestring_ascii(basestring) -> bytes json.encoder.i json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) keyword.main(??) len(object) -> integer license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list() -> new list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.bind_textdomain_codeset(domain, codeset) -> string locale.bindtextdomain(domain, dir) -> string locale.collections(??) locale.currency(??) locale.dcgettext(domain, msg, category) -> string locale.dgettext(domain, msg) -> string locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.gettext(msg) -> string locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.textdomain(domain) -> string locale.windows_locale(??) locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StreamHandler(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.codecs(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.fileConfig(??) logging.config.listen(??) logging.config.logging(??) logging.config.os(??) logging.config.socket(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.thread(??) logging.config.threading(??) logging.config.traceback(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.codecs(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.log(??) logging.logMultiprocessing logging.logProcesses logging.logThreads logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions logging.root(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.thread(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFREG macpath.S_IFSOCK macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(??) macpath.S_ISCHR(??) macpath.S_ISDIR(??) macpath.S_ISFIFO(??) macpath.S_ISGID macpath.S_ISLNK(??) macpath.S_ISREG(??) macpath.S_ISSOCK(??) macpath.S_ISUID macpath.S_ISVTX macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep(??) macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.genericpath(??) macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os(??) macpath.pardir macpath.pathsep macpath.realpath(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames(??) macurl2path.os(??) macurl2path.pathname2url(??) macurl2path.test(??) macurl2path.url2pathname(??) macurl2path.urllib(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.sys(??) mailbox.time(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(func, *iterables) --> map object marshal.dump(value, file[, version]) marshal.dumps(value[, version]) marshal.load(file) marshal.loads(string) marshal.version math.acos(x) math.acosh(x) math.asin(x) math.asinh(x) math.atan(x) math.atan2(y, x) math.atanh(x) math.ceil(x) math.copysign(x,y) math.cos(x) math.cosh(x) math.degrees(x) -> converts angle x from radians to degrees math.e math.exp(x) math.fabs(x) math.factorial(x) -> Integral math.floor(x) math.fmod(x,y) math.frexp(x) math.fsum(??) math.hypot(x,y) math.isinf(x) -> bool math.isnan(x) -> bool math.ldexp(x, i) -> x * (2**i) math.log(x[, base]) -> the logarithm of x to the given base. math.log10(x) -> the base 10 logarithm of x. math.log1p(x) math.modf(x) math.pi math.pow(x,y) math.radians(x) -> converts angle x from degrees to radians math.sin(x) math.sinh(x) math.sqrt(x) math.tan(x) math.tanh(x) math.trunc(x:Real) -> Integral max(iterable[, key=func]) -> value memoryview(object) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable[, key=func]) -> value mmap.ACCESS_COPY mmap.ACCESS_READ mmap.ACCESS_WRITE mmap.ALLOCATIONGRANULARITY mmap.MAP_ANON mmap.MAP_ANONYMOUS mmap.MAP_DENYWRITE mmap.MAP_EXECUTABLE mmap.MAP_PRIVATE mmap.MAP_SHARED mmap.PAGESIZE mmap.PROT_EXEC mmap.PROT_READ mmap.PROT_WRITE mmap.error(??) mmap.mmap(??) modulefinder.AddPackagePath(??) modulefinder.HAVE_ARGUMENT modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.READ_MODE modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.generators(??) modulefinder.imp(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.struct(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.CHALLENGE multiprocessing.connection.Client(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.Finalize(??) multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.close(fd) multiprocessing.connection.current_process(??) multiprocessing.connection.debug(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.duplicate(??) multiprocessing.connection.errno(??) multiprocessing.connection.families(??) multiprocessing.connection.get_temp_dir(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.socket(??) multiprocessing.connection.sub_debug(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.TimeoutError(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.cpu_count(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary. multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.itertools(??) multiprocessing.dummy.list() -> new list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forking(??) multiprocessing.forking.ForkingPickler(??) multiprocessing.forking.Pickler(??) multiprocessing.forking.Popen(??) multiprocessing.forking.assert_spawning(??) multiprocessing.forking.close(fd) multiprocessing.forking.duplicate(??) multiprocessing.forking.exit(??) multiprocessing.forking.old_main_modules(??) multiprocessing.forking.os(??) multiprocessing.forking.partial(func, *args, **keywords) - new function with partial application multiprocessing.forking.prepare(??) multiprocessing.forking.process(??) multiprocessing.forking.signal(??) multiprocessing.forking.sys(??) multiprocessing.forking.time(??) multiprocessing.forking.util(??) multiprocessing.freeze_support(??) multiprocessing.get_logger(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Finalize(??) multiprocessing.heap.Heap(??) multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect(??) multiprocessing.heap.info(??) multiprocessing.heap.itertools(??) multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AuthenticationString(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.Finalize(??) multiprocessing.managers.ForkingPickler(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PicklingError(??) multiprocessing.managers.Pool(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.Popen(??) multiprocessing.managers.Process(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.active_children(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.assert_spawning(??) multiprocessing.managers.connection(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.copyreg(??) multiprocessing.managers.current_process(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.exit(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.info(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.os(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.managers.weakref(??) multiprocessing.os(??) multiprocessing.pool(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.Finalize(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.MapResult(??) multiprocessing.pool.Pool(??) multiprocessing.pool.Process(??) multiprocessing.pool.RUN multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.cpu_count(??) multiprocessing.pool.debug(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.queue(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.worker(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.Process(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.queues.BoundedSemaphore(??) multiprocessing.queues.Condition(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Lock(??) multiprocessing.queues.Pipe(??) multiprocessing.queues.Queue(??) multiprocessing.queues.Semaphore(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.assert_spawning(??) multiprocessing.queues.atexit(??) multiprocessing.queues.collections(??) multiprocessing.queues.debug(??) multiprocessing.queues.info(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reduction.Client(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.Listener(??) multiprocessing.reduction.Popen(??) multiprocessing.reduction.close(fd) multiprocessing.reduction.current_process(??) multiprocessing.reduction.debug(??) multiprocessing.reduction.duplicate(??) multiprocessing.reduction.fromfd(??) multiprocessing.reduction.os(??) multiprocessing.reduction.rebuild_connection(??) multiprocessing.reduction.rebuild_handle(??) multiprocessing.reduction.rebuild_socket(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.reduce_connection(??) multiprocessing.reduction.reduce_handle(??) multiprocessing.reduction.reduce_socket(??) multiprocessing.reduction.register_after_fork(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sub_debug(??) multiprocessing.reduction.sys(??) multiprocessing.reduction.threading(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.ForkingPickler(??) multiprocessing.sharedctypes.RLock(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.sys(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Finalize(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.Popen(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.assert_spawning(??) multiprocessing.synchronize.current_process(??) multiprocessing.synchronize.debug(??) multiprocessing.synchronize.os(??) multiprocessing.synchronize.register_after_fork(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.threading(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.active_children(??) multiprocessing.util.atexit(??) multiprocessing.util.current_process(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) next(iterator[, default]) nis.cat(map, domain = defaultdomain) nis.error(??) nis.get_default_domain() -> str nis.maps(domain = defaultdomain) nis.match(key, map, domain = defaultdomain) nntplib.CRLF nntplib.LONGRESP(??) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.error_data(??) nntplib.error_perm(??) nntplib.error_proto(??) nntplib.error_reply(??) nntplib.error_temp(??) nntplib.re(??) nntplib.socket(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) numbers.abstractproperty(??) object(??) oct(number) -> string open(??) operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.gt(a, b) -- Same as a>b. operator.iadd(a, b) -- Same as a += b. operator.iand(a, b) -- Same as a &= b. operator.iconcat(a, b) -- Same as a += b, for a and b sequences. operator.ifloordiv(a, b) -- Same as a //= b. operator.ilshift(a, b) -- Same as a <<= b. operator.imod(a, b) -- Same as a %= b. operator.imul(a, b) -- Same as a *= b. operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(a, b) -- Same as a |= b. operator.ipow(a, b) -- Same as a **= b. operator.irshift(a, b) -- Same as a >>= b. operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(a, b) -- Same as a -= b. operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(a, b) -- Same as a /= b. operator.ixor(a, b) -- Same as a ^= b. operator.le(a, b) -- Same as a<=b. operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.rshift(a, b) -- Same as a >> b. operator.setitem(a, b, c) -- Same as a[b] = c. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(c) -> integer os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_OK os.MutableMapping(??) os.NGROUPS_MAX os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_LARGEFILE os.O_NDELAY os.O_NOATIME os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_RSYNC os.O_SYNC os.O_TRUNC os.O_WRONLY os.P_NOWAIT os.P_NOWAITO os.P_WAIT os.R_OK os.SEEK_CUR os.SEEK_END os.SEEK_SET os.TMP_MAX os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(path, mode) -> True if granted, False otherwise os.altsep(??) os.chdir(path) os.chmod(path, mode) os.chown(path, uid, gid) os.chroot(path) os.close(fd) os.closerange(fd_low, fd_high) os.confstr(name) -> string os.confstr_names(??) os.ctermid() -> string os.curdir os.defpath os.device_encoding(fd) -> str os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ(??) os.errno(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(??) os.execvpe(file, args, env) os.extsep os.fchdir(fildes) os.fchmod(fd, mode) os.fchown(fd, uid, gid) os.fdatasync(fildes) os.fdopen(??) os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.getcwd() -> path os.getcwdb() -> path os.getegid() -> egid os.getenv(??) os.geteuid() -> euid os.getgid() -> gid os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getsid(pid) -> sid os.getuid() -> uid os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchown(path, uid, gid) os.linesep os.link(src, dst) os.listdir(path) -> list_of_strings os.lseek(fd, pos, how) -> newpos os.lstat(path) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0o777]) os.minor(device) -> minor number os.mkdir(path [, mode=0777]) os.mkfifo(filename [, mode=0666]) os.mknod(filename [, mode=0600, device]) os.name os.nice(inc) -> new_priority os.open(filename, flag [, mode=0777]) -> fd os.openpty() -> (master_fd, slave_fd) os.pardir os.path(??) os.pathconf(path, name) -> integer os.pathconf_names(??) os.pathsep os.pipe() -> (read_end, write_end) os.popen(??) os.putenv(key, value) os.read(fd, buffersize) -> string os.readlink(path) -> path os.remove(path) os.removedirs(path) os.rename(old, new) os.renames(old, new) os.rmdir(path) os.sep os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setregid(rgid, egid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.stat(path) -> stat result os.stat_float_times([newval]) -> oldval os.stat_result(??) os.statvfs(path) -> statvfs result os.statvfs_result(??) os.strerror(code) -> string os.symlink(src, dst) os.sys(??) os.sysconf(name) -> integer os.sysconf_names(??) os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.times() -> (utime, stime, cutime, cstime, elapsed_time) os.ttyname(fd) -> string os.umask(new_mask) -> old_mask os.uname() -> (sysname, nodename, release, version, machine) os.unlink(path) os.unsetenv(key) os.urandom(n) -> str os.utime(path, (atime, mtime)) os.wait() -> (pid, status) os.wait3(options) -> (pid, status, rusage) os.wait4(pid, options) -> (pid, status, rusage) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, string) -> byteswritten ossaudiodev.AFMT_AC3 ossaudiodev.AFMT_A_LAW ossaudiodev.AFMT_IMA_ADPCM ossaudiodev.AFMT_MPEG ossaudiodev.AFMT_MU_LAW ossaudiodev.AFMT_QUERY ossaudiodev.AFMT_S16_BE ossaudiodev.AFMT_S16_LE ossaudiodev.AFMT_S16_NE ossaudiodev.AFMT_S8 ossaudiodev.AFMT_U16_BE ossaudiodev.AFMT_U16_LE ossaudiodev.AFMT_U8 ossaudiodev.OSSAudioError(??) ossaudiodev.SNDCTL_COPR_HALT ossaudiodev.SNDCTL_COPR_LOAD ossaudiodev.SNDCTL_COPR_RCODE ossaudiodev.SNDCTL_COPR_RCVMSG ossaudiodev.SNDCTL_COPR_RDATA ossaudiodev.SNDCTL_COPR_RESET ossaudiodev.SNDCTL_COPR_RUN ossaudiodev.SNDCTL_COPR_SENDMSG ossaudiodev.SNDCTL_COPR_WCODE ossaudiodev.SNDCTL_COPR_WDATA ossaudiodev.SNDCTL_DSP_BIND_CHANNEL ossaudiodev.SNDCTL_DSP_CHANNELS ossaudiodev.SNDCTL_DSP_GETBLKSIZE ossaudiodev.SNDCTL_DSP_GETCAPS ossaudiodev.SNDCTL_DSP_GETCHANNELMASK ossaudiodev.SNDCTL_DSP_GETFMTS ossaudiodev.SNDCTL_DSP_GETIPTR ossaudiodev.SNDCTL_DSP_GETISPACE ossaudiodev.SNDCTL_DSP_GETODELAY ossaudiodev.SNDCTL_DSP_GETOPTR ossaudiodev.SNDCTL_DSP_GETOSPACE ossaudiodev.SNDCTL_DSP_GETSPDIF ossaudiodev.SNDCTL_DSP_GETTRIGGER ossaudiodev.SNDCTL_DSP_MAPINBUF ossaudiodev.SNDCTL_DSP_MAPOUTBUF ossaudiodev.SNDCTL_DSP_NONBLOCK ossaudiodev.SNDCTL_DSP_POST ossaudiodev.SNDCTL_DSP_PROFILE ossaudiodev.SNDCTL_DSP_RESET ossaudiodev.SNDCTL_DSP_SAMPLESIZE ossaudiodev.SNDCTL_DSP_SETDUPLEX ossaudiodev.SNDCTL_DSP_SETFMT ossaudiodev.SNDCTL_DSP_SETFRAGMENT ossaudiodev.SNDCTL_DSP_SETSPDIF ossaudiodev.SNDCTL_DSP_SETSYNCRO ossaudiodev.SNDCTL_DSP_SETTRIGGER ossaudiodev.SNDCTL_DSP_SPEED ossaudiodev.SNDCTL_DSP_STEREO ossaudiodev.SNDCTL_DSP_SUBDIVIDE ossaudiodev.SNDCTL_DSP_SYNC ossaudiodev.SNDCTL_FM_4OP_ENABLE ossaudiodev.SNDCTL_FM_LOAD_INSTR ossaudiodev.SNDCTL_MIDI_INFO ossaudiodev.SNDCTL_MIDI_MPUCMD ossaudiodev.SNDCTL_MIDI_MPUMODE ossaudiodev.SNDCTL_MIDI_PRETIME ossaudiodev.SNDCTL_SEQ_CTRLRATE ossaudiodev.SNDCTL_SEQ_GETINCOUNT ossaudiodev.SNDCTL_SEQ_GETOUTCOUNT ossaudiodev.SNDCTL_SEQ_GETTIME ossaudiodev.SNDCTL_SEQ_NRMIDIS ossaudiodev.SNDCTL_SEQ_NRSYNTHS ossaudiodev.SNDCTL_SEQ_OUTOFBAND ossaudiodev.SNDCTL_SEQ_PANIC ossaudiodev.SNDCTL_SEQ_PERCMODE ossaudiodev.SNDCTL_SEQ_RESET ossaudiodev.SNDCTL_SEQ_RESETSAMPLES ossaudiodev.SNDCTL_SEQ_SYNC ossaudiodev.SNDCTL_SEQ_TESTMIDI ossaudiodev.SNDCTL_SEQ_THRESHOLD ossaudiodev.SNDCTL_SYNTH_CONTROL ossaudiodev.SNDCTL_SYNTH_ID ossaudiodev.SNDCTL_SYNTH_INFO ossaudiodev.SNDCTL_SYNTH_MEMAVL ossaudiodev.SNDCTL_SYNTH_REMOVESAMPLE ossaudiodev.SNDCTL_TMR_CONTINUE ossaudiodev.SNDCTL_TMR_METRONOME ossaudiodev.SNDCTL_TMR_SELECT ossaudiodev.SNDCTL_TMR_SOURCE ossaudiodev.SNDCTL_TMR_START ossaudiodev.SNDCTL_TMR_STOP ossaudiodev.SNDCTL_TMR_TEMPO ossaudiodev.SNDCTL_TMR_TIMEBASE ossaudiodev.SOUND_MIXER_ALTPCM ossaudiodev.SOUND_MIXER_BASS ossaudiodev.SOUND_MIXER_CD ossaudiodev.SOUND_MIXER_DIGITAL1 ossaudiodev.SOUND_MIXER_DIGITAL2 ossaudiodev.SOUND_MIXER_DIGITAL3 ossaudiodev.SOUND_MIXER_IGAIN ossaudiodev.SOUND_MIXER_IMIX ossaudiodev.SOUND_MIXER_LINE ossaudiodev.SOUND_MIXER_LINE1 ossaudiodev.SOUND_MIXER_LINE2 ossaudiodev.SOUND_MIXER_LINE3 ossaudiodev.SOUND_MIXER_MIC ossaudiodev.SOUND_MIXER_MONITOR ossaudiodev.SOUND_MIXER_NRDEVICES ossaudiodev.SOUND_MIXER_OGAIN ossaudiodev.SOUND_MIXER_PCM ossaudiodev.SOUND_MIXER_PHONEIN ossaudiodev.SOUND_MIXER_PHONEOUT ossaudiodev.SOUND_MIXER_RADIO ossaudiodev.SOUND_MIXER_RECLEV ossaudiodev.SOUND_MIXER_SPEAKER ossaudiodev.SOUND_MIXER_SYNTH ossaudiodev.SOUND_MIXER_TREBLE ossaudiodev.SOUND_MIXER_VIDEO ossaudiodev.SOUND_MIXER_VOLUME ossaudiodev.control_labels(??) ossaudiodev.control_names(??) ossaudiodev.error(??) ossaudiodev.open(??) ossaudiodev.openmixer(??) parser.ParserError(??) parser.STType(??) parser.compilest(??) parser.expr(??) parser.isexpr(??) parser.issuite(??) parser.sequence2st(??) parser.st2list(??) parser.st2tuple(??) parser.suite(??) parser.tuple2st(??) pdb.Pdb(??) pdb.Repr(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.find_function(??) pdb.help(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BUILD pickle.BuiltinFunctionType(??) pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.NEWFALSE pickle.NEWOBJ pickle.NEWTRUE pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(file, protocol=None) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(file, *, encoding='ASCII', errors='strict') pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.classmap(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.load(??) pickle.loads(??) pickle.marshal(??) pickle.mloads(??) pickle.re(??) pickle.struct(??) pickle.sys(??) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybytes(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.unicodestring4(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.string(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.imp(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.architecture(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.version(??) platform.win32_ver(??) plistlib.BytesIO([buffer]) -> object plistlib.Data(??) plistlib.Dict(??) plistlib.DumbXMLWriter(??) plistlib.PLISTHEADER plistlib.Plist(??) plistlib.PlistParser(??) plistlib.PlistWriter(??) plistlib.binascii(??) plistlib.datetime(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_OK posix.NGROUPS_MAX posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_LARGEFILE posix.O_NDELAY posix.O_NOATIME posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_RSYNC posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.R_OK posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(path, mode) -> True if granted, False otherwise posix.chdir(path) posix.chmod(path, mode) posix.chown(path, uid, gid) posix.chroot(path) posix.close(fd) posix.closerange(fd_low, fd_high) posix.confstr(name) -> string posix.confstr_names(??) posix.ctermid() -> string posix.device_encoding(fd) -> str posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ(??) posix.error(??) posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fildes) posix.fchmod(fd, mode) posix.fchown(fd, uid, gid) posix.fdatasync(fildes) posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.getcwd() -> path posix.getcwdb() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getsid(pid) -> sid posix.getuid() -> uid posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchown(path, uid, gid) posix.link(src, dst) posix.listdir(path) -> list_of_strings posix.lseek(fd, pos, how) -> newpos posix.lstat(path) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path [, mode=0777]) posix.mkfifo(filename [, mode=0666]) posix.mknod(filename [, mode=0600, device]) posix.nice(inc) -> new_priority posix.open(filename, flag [, mode=0777]) -> fd posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names(??) posix.pipe() -> (read_end, write_end) posix.putenv(key, value) posix.read(fd, buffersize) -> string posix.readlink(path) -> path posix.remove(path) posix.rename(old, new) posix.rmdir(path) posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setregid(rgid, egid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(path) -> stat result posix.stat_float_times([newval]) -> oldval posix.stat_result(??) posix.statvfs(path) -> statvfs result posix.statvfs_result(??) posix.strerror(code) -> string posix.symlink(src, dst) posix.sysconf(name) -> integer posix.sysconf_names(??) posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.times() -> (utime, stime, cutime, cstime, elapsed_time) posix.ttyname(fd) -> string posix.umask(new_mask) -> old_mask posix.uname() -> (sysname, nodename, release, version, machine) posix.unlink(path) posix.unsetenv(key) posix.utime(path, (atime, mtime)) posix.wait() -> (pid, status) posix.wait3(options) -> (pid, status, rusage) posix.wait4(pid, options) -> (pid, status, rusage) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, string) -> byteswritten pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout) profile.OptionParser(??) profile.Profile(??) profile.Stats(??) profile.help(??) profile.main(??) profile.marshal(??) profile.os(??) profile.resgetrusage(??) profile.resource(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.CmpToKey(??) pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd(??) py_compile.MAGIC py_compile.PyCompileError(??) py_compile.builtins(??) py_compile.compile(??) py_compile.imp(??) py_compile.main(??) py_compile.marshal(??) py_compile.os(??) py_compile.re(??) py_compile.read_encoding(??) py_compile.set_creator_type(??) py_compile.sys(??) py_compile.traceback(??) py_compile.wr_long(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.imp(??) pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.Scanner(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque(iterable[, maxlen]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.gui(??) pydoc.help(??) pydoc.html(??) pydoc.imp(??) pydoc.importfile(??) pydoc.inspect(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.serve(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.ttypager(??) pydoc.visiblename(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.deque(iterable[, maxlen]) --> deque object queue.heapq(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.division(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates a long int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range([start,] stop[, step]) -> range object re.A re.ASCII re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copyreg(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.sys(??) re.template(??) readline.add_history(string) -> None readline.clear_history() -> None readline.get_begidx() -> int readline.get_completer() -> function readline.get_completer_delims() -> string readline.get_completion_type() -> int readline.get_current_history_length() -> integer readline.get_endidx() -> int readline.get_history_item() -> string readline.get_history_length() -> int readline.get_line_buffer() -> string readline.insert_text(string) -> None readline.parse_and_bind(string) -> None readline.read_history_file([filename]) -> None readline.read_init_file([filename]) -> None readline.redisplay() -> None readline.remove_history_item(pos) -> None readline.replace_history_item(pos, line) -> None readline.set_completer([function]) -> None readline.set_completer_delims(string) -> None readline.set_completion_display_matches_hook([function]) -> None readline.set_history_length(length) -> None readline.set_pre_input_hook([function]) -> None readline.set_startup_hook([function]) -> None readline.write_history_file([filename]) -> None repr(object) -> string reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.islice(iterable, [start,] stop [, step]) --> islice object reprlib.repr(??) resource.RLIMIT_AS resource.RLIMIT_CORE resource.RLIMIT_CPU resource.RLIMIT_DATA resource.RLIMIT_FSIZE resource.RLIMIT_MEMLOCK resource.RLIMIT_NOFILE resource.RLIMIT_NPROC resource.RLIMIT_OFILE resource.RLIMIT_RSS resource.RLIMIT_STACK resource.RLIM_INFINITY resource.RUSAGE_CHILDREN resource.RUSAGE_SELF resource.error(??) resource.getpagesize(??) resource.getrlimit(??) resource.getrusage(??) resource.setrlimit(??) resource.struct_rusage(??) reversed(sequence) -> reverse iterator over values of the sequence rlcompleter.Completer(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(number[, ndigits]) -> number runpy.get_loader(??) runpy.imp(??) runpy.run_module(??) runpy.sys(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) select.EPOLLERR select.EPOLLET select.EPOLLHUP select.EPOLLIN select.EPOLLMSG select.EPOLLONESHOT select.EPOLLOUT select.EPOLLPRI select.EPOLLRDBAND select.EPOLLRDNORM select.EPOLLWRBAND select.EPOLLWRNORM select.POLLERR select.POLLHUP select.POLLIN select.POLLMSG select.POLLNVAL select.POLLOUT select.POLLPRI select.POLLRDBAND select.POLLRDNORM select.POLLWRBAND select.POLLWRNORM select.epoll(??) select.error(??) select.poll(??) select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) set(iterable) --> set object setattr(object, name, value) shelve.BsdDbShelf(??) shelve.BytesIO([buffer]) -> object shelve.DbfilenameShelf(??) shelve.Pickler(file, protocol=None) shelve.Shelf(??) shelve.Unpickler(file, *, encoding='ASCII', errors='strict') shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque(iterable[, maxlen]) --> deque object shlex.os(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.Error(??) shutil.SpecialFileError(??) shutil.WindowsError(??) shutil.abspath(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.fnmatch(??) shutil.ignore_patterns(??) shutil.move(??) shutil.os(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCLD signal.SIGCONT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPOLL signal.SIGPROF signal.SIGPWR signal.SIGQUIT signal.SIGRTMAX signal.SIGRTMIN signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_DFL signal.SIG_IGN signal.alarm(seconds) signal.default_int_handler(...) signal.getitimer(which) signal.getsignal(sig) -> action signal.pause() signal.set_wakeup_fd(fd) -> fd signal.setitimer(which, seconds[, interval]) signal.siginterrupt(sig, flag) -> None signal.signal(sig, action) -> action site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs__file__(??) site.addbuilddir(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.aliasmbcs(??) site.builtins(??) site.check_enableusersite(??) site.execsitecustomize(??) site.execusercustomize(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setBEGINLIBPATH(??) site.setcopyright(??) site.setencoding(??) site.sethelper(??) site.setquit(??) site.sys(??) slice([start,] stop[, step]) smtpd.COMMASPACE smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.errno(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.SSLFakeFile(??) smtplib.base64(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.stderr(??) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK socket.AF_ASH socket.AF_ATMPVC socket.AF_ATMSVC socket.AF_AX25 socket.AF_BRIDGE socket.AF_DECnet socket.AF_ECONET socket.AF_INET socket.AF_INET6 socket.AF_IPX socket.AF_IRDA socket.AF_KEY socket.AF_NETBEUI socket.AF_NETLINK socket.AF_NETROM socket.AF_PACKET socket.AF_PPPOX socket.AF_ROSE socket.AF_ROUTE socket.AF_SECURITY socket.AF_SNA socket.AF_TIPC socket.AF_UNIX socket.AF_UNSPEC socket.AF_WANPIPE socket.AF_X25 socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.CAPI(??) socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GRE socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPIP socket.IPPROTO_IPV6 socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVDSTOPTS socket.IPV6_RECVHOPLIMIT socket.IPV6_RECVHOPOPTS socket.IPV6_RECVPKTINFO socket.IPV6_RECVRTHDR socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDRDSTOPTS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NETLINK_DNRTMSG socket.NETLINK_FIREWALL socket.NETLINK_IP6_FW socket.NETLINK_NFLOG socket.NETLINK_ROUTE socket.NETLINK_USERSOCK socket.NETLINK_XFRM socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PACKET_BROADCAST socket.PACKET_FASTROUTE socket.PACKET_HOST socket.PACKET_LOOPBACK socket.PACKET_MULTICAST socket.PACKET_OTHERHOST socket.PACKET_OUTGOING socket.PF_PACKET socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM socket.SOCK_RAW socket.SOCK_RDM socket.SOCK_SEQPACKET socket.SOCK_STREAM socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_TIPC socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SocketIO(??) socket.SocketType(??) socket.TCP_CORK socket.TCP_DEFER_ACCEPT socket.TCP_INFO socket.TCP_KEEPCNT socket.TCP_KEEPIDLE socket.TCP_KEEPINTVL socket.TCP_LINGER2 socket.TCP_MAXSEG socket.TCP_NODELAY socket.TCP_QUICKACK socket.TCP_SYNCNT socket.TCP_WINDOW_CLAMP socket.TIPC_ADDR_ID socket.TIPC_ADDR_NAME socket.TIPC_ADDR_NAMESEQ socket.TIPC_CFG_SRV socket.TIPC_CLUSTER_SCOPE socket.TIPC_CONN_TIMEOUT socket.TIPC_CRITICAL_IMPORTANCE socket.TIPC_DEST_DROPPABLE socket.TIPC_HIGH_IMPORTANCE socket.TIPC_IMPORTANCE socket.TIPC_LOW_IMPORTANCE socket.TIPC_MEDIUM_IMPORTANCE socket.TIPC_NODE_SCOPE socket.TIPC_PUBLISHED socket.TIPC_SRC_DROPPABLE socket.TIPC_SUBSCR_TIMEOUT socket.TIPC_SUB_CANCEL socket.TIPC_SUB_PORTS socket.TIPC_SUB_SERVICE socket.TIPC_TOP_SRV socket.TIPC_WAIT_FOREVER socket.TIPC_WITHDRAWN socket.TIPC_ZONE_SCOPE socket.create_connection(??) socket.dup(integer) -> integer socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(host, port [, family, socktype, proto, flags]) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.setdefaulttimeout(timeout) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.os(??) socketserver.select(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) sorted(iterable, key=None, reverse=False) --> new sorted list spwd.getspall() -> list_of_entries spwd.getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max, spwd.struct_spwd(??) sqlite3.Binary(??) sqlite3.Cache(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement(??) sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.complete_statement(sql) sqlite3.connect(database[, timeout, isolation_level, detect_types, factory]) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Cache(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement(??) sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(database[, timeout, isolation_level, detect_types, factory]) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.dump(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.AF_INET ssl.CERT_NONE ssl.CERT_OPTIONAL ssl.CERT_REQUIRED ssl.DER_cert_to_PEM_cert(??) ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv2 ssl.PROTOCOL_SSLv23 ssl.PROTOCOL_SSLv3 ssl.PROTOCOL_TLSv1 ssl.RAND_add(string, entropy) ssl.RAND_egd(path) -> bytes ssl.RAND_status() -> 0 or 1 ssl.SOCK_STREAM ssl.SSLError(??) ssl.SSLSocket(??) ssl.SSL_ERROR_EOF ssl.SSL_ERROR_INVALID_ERROR_CODE ssl.SSL_ERROR_SSL ssl.SSL_ERROR_SYSCALL ssl.SSL_ERROR_WANT_CONNECT ssl.SSL_ERROR_WANT_READ ssl.SSL_ERROR_WANT_WRITE ssl.SSL_ERROR_WANT_X509_LOOKUP ssl.SSL_ERROR_ZERO_RETURN ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.socket(??) ssl.socket_error(??) ssl.textwrap(??) ssl.traceback(??) ssl.wrap_socket(??) stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFREG stat.S_IFSOCK stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(??) stat.S_ISCHR(??) stat.S_ISDIR(??) stat.S_ISFIFO(??) stat.S_ISGID stat.S_ISLNK(??) stat.S_ISREG(??) stat.S_ISSOCK(??) stat.S_ISUID stat.S_ISVTX stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE staticmethod(function) -> method str(string[, encoding[, errors]]) -> str string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s, [sep]) -> string string.digits string.hexdigits string.maketrans(frm, to) -> bytes string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(??) struct.calcsize(??) struct.error(??) struct.pack(??) struct.pack_into(??) struct.unpack(??) struct.unpack_from(??) subprocess.CalledProcessError(??) subprocess.MAXFD subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno(??) subprocess.fcntl(??) subprocess.gc(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.mswindows(??) subprocess.os(??) subprocess.pickle(??) subprocess.select(??) subprocess.signal(??) subprocess.sys(??) subprocess.traceback(??) sum(iterable[, start]) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.open(??) sunau.openfp(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.main(??) symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist1 symbol.testlist_comp symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_expr symbol.yield_stmt symtable.Class(??) symtable.DEF_BOUND symtable.DEF_FREE_CLASS symtable.DEF_FREE_GLOBAL symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.OPT_IMPORT_STAR symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.api_version sys.argv(??) sys.builtin_module_names(??) sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode(??) sys.exc_info() -> (type, value, traceback) sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.gettrace() sys.hexversion sys.int_info(??) sys.intern(string) -> string sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setfilesystemencoding(string) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.subversion(??) sys.version sys.version_info(??) sys.warnoptions(??) syslog.LOG_ALERT syslog.LOG_AUTH syslog.LOG_CONS syslog.LOG_CRIT syslog.LOG_CRON syslog.LOG_DAEMON syslog.LOG_DEBUG syslog.LOG_EMERG syslog.LOG_ERR syslog.LOG_INFO syslog.LOG_KERN syslog.LOG_LOCAL0 syslog.LOG_LOCAL1 syslog.LOG_LOCAL2 syslog.LOG_LOCAL3 syslog.LOG_LOCAL4 syslog.LOG_LOCAL5 syslog.LOG_LOCAL6 syslog.LOG_LOCAL7 syslog.LOG_LPR syslog.LOG_MAIL syslog.LOG_MASK(??) syslog.LOG_NDELAY syslog.LOG_NEWS syslog.LOG_NOTICE syslog.LOG_NOWAIT syslog.LOG_PERROR syslog.LOG_PID syslog.LOG_SYSLOG syslog.LOG_UPTO(??) syslog.LOG_USER syslog.LOG_UUCP syslog.LOG_WARNING syslog.closelog(??) syslog.openlog(??) syslog.setlogmask(??) syslog.syslog(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.S_IFBLK tarfile.S_IFCHR tarfile.S_IFDIR tarfile.S_IFIFO tarfile.S_IFLNK tarfile.S_IFREG tarfile.StreamError(??) tarfile.TGEXEC tarfile.TGREAD tarfile.TGWRITE tarfile.TOEXEC tarfile.TOREAD tarfile.TOWRITE tarfile.TSGID tarfile.TSUID tarfile.TSVTX tarfile.TUEXEC tarfile.TUREAD tarfile.TUWRITE tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TarIter(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.errno(??) tarfile.filemode(??) tarfile.filemode_table(??) tarfile.grp(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.normpath(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.select(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template termios.B0 termios.B110 termios.B115200 termios.B1200 termios.B134 termios.B150 termios.B1800 termios.B19200 termios.B200 termios.B230400 termios.B2400 termios.B300 termios.B38400 termios.B460800 termios.B4800 termios.B50 termios.B57600 termios.B600 termios.B75 termios.B9600 termios.BRKINT termios.BS0 termios.BS1 termios.BSDLY termios.CBAUD termios.CBAUDEX termios.CDSUSP termios.CEOF termios.CEOL termios.CEOT termios.CERASE termios.CFLUSH termios.CIBAUD termios.CINTR termios.CKILL termios.CLNEXT termios.CLOCAL termios.CQUIT termios.CR0 termios.CR1 termios.CR2 termios.CR3 termios.CRDLY termios.CREAD termios.CRPRNT termios.CRTSCTS termios.CS5 termios.CS6 termios.CS7 termios.CS8 termios.CSIZE termios.CSTART termios.CSTOP termios.CSTOPB termios.CSUSP termios.CWERASE termios.ECHO termios.ECHOCTL termios.ECHOE termios.ECHOK termios.ECHOKE termios.ECHONL termios.ECHOPRT termios.EXTA termios.EXTB termios.FF0 termios.FF1 termios.FFDLY termios.FIOASYNC termios.FIOCLEX termios.FIONBIO termios.FIONCLEX termios.FIONREAD termios.FLUSHO termios.HUPCL termios.ICANON termios.ICRNL termios.IEXTEN termios.IGNBRK termios.IGNCR termios.IGNPAR termios.IMAXBEL termios.INLCR termios.INPCK termios.IOCSIZE_MASK termios.IOCSIZE_SHIFT termios.ISIG termios.ISTRIP termios.IUCLC termios.IXANY termios.IXOFF termios.IXON termios.NCC termios.NCCS termios.NL0 termios.NL1 termios.NLDLY termios.NOFLSH termios.N_MOUSE termios.N_PPP termios.N_SLIP termios.N_STRIP termios.N_TTY termios.OCRNL termios.OFDEL termios.OFILL termios.OLCUC termios.ONLCR termios.ONLRET termios.ONOCR termios.OPOST termios.PARENB termios.PARMRK termios.PARODD termios.PENDIN termios.TAB0 termios.TAB1 termios.TAB2 termios.TAB3 termios.TABDLY termios.TCFLSH termios.TCGETA termios.TCGETS termios.TCIFLUSH termios.TCIOFF termios.TCIOFLUSH termios.TCION termios.TCOFLUSH termios.TCOOFF termios.TCOON termios.TCSADRAIN termios.TCSAFLUSH termios.TCSANOW termios.TCSBRK termios.TCSBRKP termios.TCSETA termios.TCSETAF termios.TCSETAW termios.TCSETS termios.TCSETSF termios.TCSETSW termios.TCXONC termios.TIOCCONS termios.TIOCEXCL termios.TIOCGETD termios.TIOCGICOUNT termios.TIOCGLCKTRMIOS termios.TIOCGPGRP termios.TIOCGSERIAL termios.TIOCGSOFTCAR termios.TIOCGWINSZ termios.TIOCINQ termios.TIOCLINUX termios.TIOCMBIC termios.TIOCMBIS termios.TIOCMGET termios.TIOCMIWAIT termios.TIOCMSET termios.TIOCM_CAR termios.TIOCM_CD termios.TIOCM_CTS termios.TIOCM_DSR termios.TIOCM_DTR termios.TIOCM_LE termios.TIOCM_RI termios.TIOCM_RNG termios.TIOCM_RTS termios.TIOCM_SR termios.TIOCM_ST termios.TIOCNOTTY termios.TIOCNXCL termios.TIOCOUTQ termios.TIOCPKT termios.TIOCPKT_DATA termios.TIOCPKT_DOSTOP termios.TIOCPKT_FLUSHREAD termios.TIOCPKT_FLUSHWRITE termios.TIOCPKT_NOSTOP termios.TIOCPKT_START termios.TIOCPKT_STOP termios.TIOCSCTTY termios.TIOCSERCONFIG termios.TIOCSERGETLSR termios.TIOCSERGETMULTI termios.TIOCSERGSTRUCT termios.TIOCSERGWILD termios.TIOCSERSETMULTI termios.TIOCSERSWILD termios.TIOCSER_TEMT termios.TIOCSETD termios.TIOCSLCKTRMIOS termios.TIOCSPGRP termios.TIOCSSERIAL termios.TIOCSSOFTCAR termios.TIOCSTI termios.TIOCSWINSZ termios.TOSTOP termios.VDISCARD termios.VEOF termios.VEOL termios.VEOL2 termios.VERASE termios.VINTR termios.VKILL termios.VLNEXT termios.VMIN termios.VQUIT termios.VREPRINT termios.VSTART termios.VSTOP termios.VSUSP termios.VSWTC termios.VSWTCH termios.VT0 termios.VT1 termios.VTDLY termios.VTIME termios.VWERASE termios.XCASE termios.XTABS termios.error(??) termios.tcdrain(fd) -> None termios.tcflow(fd, action) -> None termios.tcflush(fd, queue) -> None termios.tcgetattr(fd) -> list_of_attrs termios.tcsendbreak(fd, duration) -> None termios.tcsetattr(fd, when, attributes) -> None textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.re(??) textwrap.string(??) textwrap.wrap(??) threading.BoundedSemaphore(??) threading.Condition(??) threading.Event(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.deque(iterable[, maxlen]) --> deque object threading.enumerate(??) threading.local(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.accept2dyear time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.timezone time.tzname(??) time.tzset(zone) timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) token.AMPER token.AMPEREQUAL token.AT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.main(??) token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.TILDE tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(type, string, start, end, line) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.double3prog(??) tokenize.endprogs(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(encoding) -> CodecInfo tokenize.main(??) tokenize.maybe(??) tokenize.pseudoprog(??) tokenize.re(??) tokenize.single3prog(??) tokenize.single_quoted(??) tokenize.string(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.tokenprog(??) tokenize.triple_quoted(??) tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc(??) trace.io(??) trace.linecache(??) trace.main(??) trace.modname(??) trace.os(??) trace.pickle(??) trace.re(??) trace.rx_blank(??) trace.sys(??) trace.threading(??) trace.time(??) trace.token(??) trace.tokenize(??) trace.types(??) trace.usage(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B460800 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CBAUD tty.CBAUDEX tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CIBAUD tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.IOCSIZE_MASK tty.IOCSIZE_SHIFT tty.ISIG tty.ISPEED tty.ISTRIP tty.IUCLC tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCC tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.N_MOUSE tty.N_PPP tty.N_SLIP tty.N_STRIP tty.N_TTY tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.OLCUC tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCFLSH tty.TCGETA tty.TCGETS tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSBRK tty.TCSBRKP tty.TCSETA tty.TCSETAF tty.TCSETAW tty.TCSETS tty.TCSETSF tty.TCSETSW tty.TCXONC tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGICOUNT tty.TIOCGLCKTRMIOS tty.TIOCGPGRP tty.TIOCGSERIAL tty.TIOCGSOFTCAR tty.TIOCGWINSZ tty.TIOCINQ tty.TIOCLINUX tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMIWAIT tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSERCONFIG tty.TIOCSERGETLSR tty.TIOCSERGETMULTI tty.TIOCSERGSTRUCT tty.TIOCSERGWILD tty.TIOCSERSETMULTI tty.TIOCSERSWILD tty.TIOCSER_TEMT tty.TIOCSETD tty.TIOCSLCKTRMIOS tty.TIOCSPGRP tty.TIOCSSERIAL tty.TIOCSSOFTCAR tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VSWTC tty.VSWTCH tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.XCASE tty.XTABS tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> an empty tuple type(object) -> the object's type types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CodeType(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MemberDescriptorType(??) types.MethodType(??) types.ModuleType(??) types.TracebackType(??) unicodedata.UCD(??) unicodedata.bidirectional(unichr) unicodedata.category(unichr) unicodedata.combining(unichr) unicodedata.decimal(unichr[, default]) unicodedata.decomposition(unichr) unicodedata.digit(unichr[, default]) unicodedata.east_asian_width(unichr) unicodedata.lookup(name) unicodedata.mirrored(unichr) unicodedata.name(unichr[, default]) unicodedata.normalize(form, unistr) unicodedata.numeric(unichr[, default]) unicodedata.ucd_3_2_0(??) unicodedata.ucnhash_CAPI(??) unicodedata.unidata_version unittest.CmpToKey(??) unittest.FunctionTestCase(??) unittest.SkipTest(??) unittest.TestCase(??) unittest.TestLoader(??) unittest.TestProgram(??) unittest.TestResult(??) unittest.TestSuite(??) unittest.TextTestRunner(??) unittest.defaultTestLoader(??) unittest.difflib(??) unittest.expectedFailure(??) unittest.findTestCases(??) unittest.functools(??) unittest.getTestCaseNames(??) unittest.main(??) unittest.makeSuite(??) unittest.os(??) unittest.pprint(??) unittest.re(??) unittest.skip(??) unittest.skipIf(??) unittest.skipUnless(??) unittest.sys(??) unittest.three_way_cmp(??) unittest.time(??) unittest.traceback(??) unittest.types(??) unittest.warnings(??) urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.Quoter(??) urllib.parse.ResultMixin(??) urllib.parse.SplitResult(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.scheme_chars urllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.parse.splitnport(??) urllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.parse.splitport('host:port') --> 'host', 'port'. urllib.parse.splitquery('/path?query') --> '/path', 'query'. urllib.parse.splittag('/path#tag') --> '/path', 'tag'. urllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.parse.splitvalue('attr=value') --> 'attr', 'value'. urllib.parse.sys(??) urllib.parse.test(??) urllib.parse.test_input urllib.parse.to_bytes(u"URL") --> 'URL'. urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap('') --> 'type://host/path'. urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.random(??) urllib.request.randombytes(??) urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.request.splitport('host:port') --> 'host', 'port'. urllib.request.splitquery('/path?query') --> '/path', 'query'. urllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.request.splitvalue('attr=value') --> 'attr', 'value'. urllib.request.ssl(??) urllib.request.sys(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.to_bytes(u"URL") --> 'URL'. urllib.request.unquote(??) urllib.request.unwrap('') --> 'type://host/path'. urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.robotparser.Entry(??) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID(??) uuid.bytes_(??) uuid.ctypes(??) uuid.getnode(??) uuid.int_(??) uuid.lib(??) uuid.libname uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.default_action warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.linecache(??) warnings.once_registry(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.big_endian wave.builtins(??) wave.open(??) wave.openfp(??) wave.struct(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.collections(??) weakref.getweakrefcount(object) -- return the number of weak references weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.io(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex(??) webbrowser.stat(??) webbrowser.subprocess(??) webbrowser.sys(??) webbrowser.time(??) wsgiref.handlers(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO([buffer]) -> object xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct(??) xml.dom(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.EmptyNodeList(??) xml.dom.domreg.NodeList(??) xml.dom.domreg.StringTypes(??) xml.dom.domreg.defproperty(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.EmptyNodeList(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.NodeList(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.StringTypes(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.defproperty(??) xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat(??) xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.codecs(??) xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.types(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath.Path(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_descendant_or_self(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLTreeBuilder(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fixtag(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementPath(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.XMLParserError(??) xml.etree.cElementTree.XMLTreeBuilder(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.tostring(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.version_info(??) xml.sax(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.DateTime(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(??) xmlrpc.client.dumps(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.http(??) xmlrpc.client.io(??) xmlrpc.client.loads(??) xmlrpc.client.operator(??) xmlrpc.client.re(??) xmlrpc.client.time(??) xmlrpc.server(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.http(??) xmlrpc.server.inspect(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(iter1 [,iter2 [...]]) --> zip object zipfile.BadZipfile(??) zipfile.LargeZipFile(??) zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zipfile.error(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.main(??) zipfile.os(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.time(??) zipfile.zlib(??) zipimport.ZipImportError(??) zipimport.zipimporter(archivepath) -> zipimporter object zlib.DEFLATED zlib.DEF_MEM_LEVEL zlib.MAX_WBITS zlib.ZLIB_VERSION zlib.Z_BEST_COMPRESSION zlib.Z_BEST_SPEED zlib.Z_DEFAULT_COMPRESSION zlib.Z_DEFAULT_STRATEGY zlib.Z_FILTERED zlib.Z_FINISH zlib.Z_FULL_FLUSH zlib.Z_HUFFMAN_ONLY zlib.Z_NO_FLUSH zlib.Z_SYNC_FLUSH zlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string. zlib.compress(string[, level]) -- Returned compressed string. zlib.compressobj([level]) -- Return a compressor object. zlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. zlib.decompressobj([wbits]) -- Return a decompressor object. zlib.error(??) ================================================ FILE: src/qscint/qsci/api/python/Python-3.2.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BufferError(??) BytesWarning(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) NameError(??) None(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABCMeta(??) abc.WeakSet(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) all(iterable) -> bool any(iterable) -> bool argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) ascii(object) -> string ast.AST(??) ast.Add(??) ast.And(??) ast.Assert(??) ast.Assign(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FunctionDef(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ONLY_AST ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.TryExcept(??) ast.TryFinally(??) ast.Tuple(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.unaryop(??) ast.walk(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.buffer(??) asynchat.deque(iterable[, maxlen]) --> deque object asynchat.fifo(??) asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asynchat.socket(??) asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINTR asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.fcntl(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) base64.MAXBINSIZE base64.MAXLINESIZE base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(number) -> string binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) binhex.sys(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.NameError(??) builtins.None builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(number) -> number builtins.all(iterable) -> bool builtins.any(iterable) -> bool builtins.ascii(object) -> string builtins.bin(number) -> string builtins.bool(x) -> bool builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(object) -> bool builtins.chr(i) -> Unicode character builtins.classmethod(function) -> method builtins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object builtins.complex(real[, imag]) -> complex number builtins.copyright(??) builtins.credits(??) builtins.delattr(object, name) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(x, y) -> (div, mod) builtins.enumerate(iterable[, start]) -> iterator for index, value of iterable builtins.eval(source[, globals[, locals]]) -> value builtins.exec(object[, globals[, locals]]) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(x) -> floating point number builtins.format(value[, format_spec]) -> string builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals() -> dictionary builtins.hasattr(object, name) -> bool builtins.hash(object) -> integer builtins.help(??) builtins.hex(number) -> string builtins.id(object) -> integer builtins.input([prompt]) -> string builtins.int(x[, base]) -> integer builtins.isinstance(object, class-or-type-or-tuple) -> bool builtins.issubclass(C, B) -> bool builtins.iter(iterable) -> iterator builtins.len(object) -> integer builtins.license(??) builtins.list() -> new empty list builtins.locals() -> dictionary builtins.map(func, *iterables) --> map object builtins.max(iterable[, key=func]) -> value builtins.memoryview(object) builtins.min(iterable[, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(number) -> string builtins.open(??) builtins.ord(c) -> integer builtins.pow(x, y[, z]) -> number builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout) builtins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute builtins.quit(??) builtins.range([start,] stop[, step]) -> range object builtins.repr(object) -> string builtins.reversed(sequence) -> reverse iterator over values of the sequence builtins.round(number[, ndigits]) -> number builtins.set() -> new empty set object builtins.setattr(object, name, value) builtins.slice([start,] stop[, step]) builtins.sorted(iterable, key=None, reverse=False) --> new sorted list builtins.staticmethod(function) -> method builtins.str(string[, encoding[, errors]]) -> str builtins.sum(iterable[, start]) -> value builtins.super() -> same as super(__class__, ) builtins.tuple() -> empty tuple builtins.type(object) -> the object's type builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(object) -> bool cgi.BytesIO([buffer]) -> object cgi.FeedParser(??) cgi.FieldStorage(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.dolog(??) cgi.escape(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgi.warn(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) cgitb.types(??) chr(i) -> Unicode character chunk.Chunk(??) classmethod(function) -> method cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(encoding) -> CodecInfo codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.unicode_internal_decode(??) codecs.unicode_internal_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.ByteString(??) collections.Callable(??) collections.Container(??) collections.Counter(??) collections.Hashable(??) collections.ItemsView(??) collections.Iterable(??) collections.Iterator(??) collections.KeysView(??) collections.Mapping(??) collections.MappingView(??) collections.MutableMapping(??) collections.MutableSequence(??) collections.MutableSet(??) collections.OrderedDict(??) collections.Sequence(??) collections.Set(??) collections.Sized(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.ValuesView(??) collections.defaultdict(default_factory) --> dict with default factory collections.deque(iterable[, maxlen]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.errno(??) compileall.imp(??) compileall.main(??) compileall.os(??) compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(real[, imag]) -> complex number concurrent.futures(??) concurrent.futures.ALL_COMPLETED concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.atexit(??) concurrent.futures.process.multiprocessing(??) concurrent.futures.process.queue(??) concurrent.futures.process.threading(??) concurrent.futures.process.weakref(??) concurrent.futures.thread(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.atexit(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.ContextDecorator(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.sys(??) contextlib.warn(??) contextlib.wraps(??) copy.Error(??) copy.PyStringMap(??) copy.builtins(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copy.name copy.t(??) copy.weakref(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib(??) ctypes.macholib.dyld(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(iterable) --> accumulate object ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable, r) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib(??) ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util(??) ctypes.util.contextlib(??) ctypes.util.errno(??) ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.re(??) ctypes.util.sys(??) ctypes.util.tempfile(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) difflib.warnings(??) dir([object]) -> list of strings dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.cmp_op(??) dis.code_info(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.sys(??) dis.types(??) divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.tempfile(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) doctest.warnings(??) dummy_threading.Barrier(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.local(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderParseError(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.message(??) email.feedparser.re(??) email.generator(??) email.generator.BytesGenerator(??) email.generator.BytesIO([buffer]) -> object email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.Header(??) email.generator.NL email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.generator.warnings(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO([buffer]) -> object email.message.Charset(??) email.message.Message(??) email.message.SEMISPACE email.message.StringIO(??) email.message.base64(??) email.message.binascii(??) email.message.errors(??) email.message.header(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message.warnings(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime(??) email.mime.application(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio(??) email.mime.audio.BytesIO([buffer]) -> object email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base(??) email.mime.base.MIMEBase(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.mime.text.encode_7or8bit(??) email.parser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Message(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.warnings(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.EMPTYSTRING email.utils.StringIO(??) email.utils.TICK email.utils.UEMPTYSTRING email.utils.base64(??) email.utils.collapse_rfc2231_value(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) email.utils.warnings(??) enumerate(iterable[, start]) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EADV errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EBADE errno.EBADF errno.EBADFD errno.EBADMSG errno.EBADR errno.EBADRQC errno.EBADSLT errno.EBFONT errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECHRNG errno.ECOMM errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDEADLOCK errno.EDESTADDRREQ errno.EDOM errno.EDOTDOT errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.EISNAM errno.EKEYEXPIRED errno.EKEYREJECTED errno.EKEYREVOKED errno.EL2HLT errno.EL2NSYNC errno.EL3HLT errno.EL3RST errno.ELIBACC errno.ELIBBAD errno.ELIBEXEC errno.ELIBMAX errno.ELIBSCN errno.ELNRNG errno.ELOOP errno.EMEDIUMTYPE errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENAVAIL errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOANO errno.ENOBUFS errno.ENOCSI errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOKEY errno.ENOLCK errno.ENOLINK errno.ENOMEDIUM errno.ENOMEM errno.ENOMSG errno.ENONET errno.ENOPKG errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTNAM errno.ENOTRECOVERABLE errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENOTUNIQ errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EOWNERDEAD errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.ERANGE errno.EREMCHG errno.EREMOTE errno.EREMOTEIO errno.ERESTART errno.ERFKILL errno.EROFS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESRMNT errno.ESTALE errno.ESTRPIPE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUCLEAN errno.EUNATCH errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.EXFULL errno.errorcode(??) eval(source[, globals[, locals]]) -> value exec(object[, globals[, locals]]) exit(??) filecmp.BUFSIZE filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(function or None, sequence) --> filterfalse object filecmp.os(??) filecmp.stat(??) fileinput.DEFAULT_BUFSIZE fileinput.FileInput(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(files=None, inplace=False, backup="", bufsize=0, mode="r", openhook=None) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(value[, format_spec]) -> string formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) fractions.Decimal(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.os(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) functools.Lock(??) functools.OrderedDict(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.cmp_to_key(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.reduce(function, sequence[, initial]) -> value functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage(??) gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.is_tracked(obj) -> bool gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy(??) gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.io(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.os(??) gettext.re(??) gettext.struct(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) glob.sys(??) globals() -> dictionary gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.LOWU32(??) gzip.READ gzip.U32(??) gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.open(??) gzip.os(??) gzip.read32(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(object, name) -> bool hash(object) -> integer hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha512(??) heapq.bisect(??) heapq.chain(*iterables) --> chain object heapq.count(start=0, step=1) --> count object heapq.heapify(??) heapq.heappop(??) heapq.heappush(??) heapq.heappushpop(??) heapq.heapreplace(??) heapq.islice(iterable, [start,] stop [, step]) --> islice object heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) heapq.repeat(object [,times]) -> create an iterator which returns the object heapq.tee(iterable, n=2) --> tuple of n independent iterators. help(??) hex(number) -> string hmac.HMAC(??) hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities(??) html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.name2codepoint(??) html.escape(??) html.parser(??) html.parser.HTMLParseError(??) html.parser.HTMLParser(??) html.parser.attrfind(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_cdata(??) html.parser.interesting_normal(??) html.parser.locatestarttagend(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind(??) http.client(??) http.client.ACCEPTED http.client.BAD_GATEWAY http.client.BAD_REQUEST http.client.BadStatusLine(??) http.client.CONFLICT http.client.CONTINUE http.client.CREATED http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED http.client.FAILED_DEPENDENCY http.client.FORBIDDEN http.client.FOUND http.client.GATEWAY_TIMEOUT http.client.GONE http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED http.client.IM_USED http.client.INSUFFICIENT_STORAGE http.client.INTERNAL_SERVER_ERROR http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED http.client.LOCKED http.client.LineTooLong(??) http.client.MAXAMOUNT http.client.METHOD_NOT_ALLOWED http.client.MOVED_PERMANENTLY http.client.MULTIPLE_CHOICES http.client.MULTI_STATUS http.client.NON_AUTHORITATIVE_INFORMATION http.client.NOT_ACCEPTABLE http.client.NOT_EXTENDED http.client.NOT_FOUND http.client.NOT_IMPLEMENTED http.client.NOT_MODIFIED http.client.NO_CONTENT http.client.NotConnected(??) http.client.OK http.client.PARTIAL_CONTENT http.client.PAYMENT_REQUIRED http.client.PRECONDITION_FAILED http.client.PROCESSING http.client.PROXY_AUTHENTICATION_REQUIRED http.client.REQUESTED_RANGE_NOT_SATISFIABLE http.client.REQUEST_ENTITY_TOO_LARGE http.client.REQUEST_TIMEOUT http.client.REQUEST_URI_TOO_LONG http.client.RESET_CONTENT http.client.ResponseNotReady(??) http.client.SEE_OTHER http.client.SERVICE_UNAVAILABLE http.client.SWITCHING_PROTOCOLS http.client.TEMPORARY_REDIRECT http.client.UNAUTHORIZED http.client.UNPROCESSABLE_ENTITY http.client.UNSUPPORTED_MEDIA_TYPE http.client.UPGRADE_REQUIRED http.client.USE_PROXY http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.io(??) http.client.os(??) http.client.parse_headers(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.client.warnings(??) http.cookiejar(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.server(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.SimpleHTTPRequestHandler(??) http.server.copy(??) http.server.email(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(object) -> integer imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.acquire_lock() -> None imp.cache_from_source(??) imp.find_module(name, [path]) -> (file, filename, (suffix, mode, type)) imp.get_frozen_object(??) imp.get_magic() -> string imp.get_suffixes() -> [(suffix, mode, type), ...] imp.get_tag() -> string imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(name, file, filename, (suffix, mode, type)) -> module imp.load_package(??) imp.load_source(??) imp.lock_held() -> boolean imp.new_module(name) -> module imp.release_lock() -> None imp.reload(module) -> module imp.source_from_cache(??) importlib.abc.ExecutionLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.PyLoader(??) importlib.abc.PyPycLoader(??) importlib.abc.ResourceLoader(??) importlib.abc.SourceLoader(??) importlib.abc.abc(??) importlib.abc.imp(??) importlib.abc.io(??) importlib.abc.machinery(??) importlib.abc.marshal(??) importlib.abc.os(??) importlib.abc.sys(??) importlib.abc.tokenize(??) importlib.abc.types(??) importlib.abc.util(??) importlib.abc.warnings(??) importlib.errno(??) importlib.imp(??) importlib.import_module(??) importlib.machinery(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.FrozenImporter(??) importlib.machinery.PathFinder(??) importlib.marshal(??) importlib.os(??) importlib.re(??) importlib.sep importlib.sys(??) importlib.tokenize(??) importlib.util(??) importlib.util.module_for_loader(??) importlib.util.set_loader(??) importlib.util.set_package(??) input([prompt]) -> string inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.CO_GENERATOR inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.EndOfBlock(??) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.ModuleInfo(name, suffix, mode, module_type) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.attrgetter(attr, ...) --> attrgetter object inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.currentframe(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.imp(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.stack(??) inspect.string(??) inspect.sys(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.v inspect.walktree(??) int(x[, base]) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO([buffer]) -> object io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(iterable) -> iterator itertools.accumulate(iterable) --> accumulate object itertools.chain(*iterables) --> chain object itertools.combinations(iterable, r) --> combinations object itertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.filterfalse(function or None, sequence) --> filterfalse object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.islice(iterable, [start,] stop [, step]) --> islice object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecoder(??) json.JSONEncoder(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS json.decoder.JSONArray(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.binascii(??) json.decoder.c_scanstring(??) json.decoder.errmsg(??) json.decoder.linecol(??) json.decoder.make_scanner(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.decoder.struct(??) json.decoder.sys(??) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.FLOAT_REPR(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(??) json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) keyword.main(??) len(object) -> integer license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list() -> new empty list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.bind_textdomain_codeset(domain, codeset) -> string locale.bindtextdomain(domain, dir) -> string locale.collections(??) locale.currency(??) locale.dcgettext(domain, msg, category) -> string locale.dgettext(domain, msg) -> string locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.gettext(msg) -> string locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.textdomain(domain) -> string locale.windows_locale(??) locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.codecs(??) logging.config(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.os(??) logging.config.re(??) logging.config.socket(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.thread(??) logging.config.threading(??) logging.config.traceback(??) logging.config.types(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.codecs(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing logging.logProcesses logging.logThreads logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.thread(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFREG macpath.S_IFSOCK macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(??) macpath.S_ISCHR(??) macpath.S_ISDIR(??) macpath.S_ISFIFO(??) macpath.S_ISGID macpath.S_ISLNK(??) macpath.S_ISREG(??) macpath.S_ISSOCK(??) macpath.S_ISUID macpath.S_ISVTX macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep(??) macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.genericpath(??) macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os(??) macpath.pardir macpath.pathsep macpath.realpath(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames(??) macurl2path.os(??) macurl2path.pathname2url(??) macurl2path.test(??) macurl2path.url2pathname(??) macurl2path.urllib(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.sys(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(func, *iterables) --> map object marshal.dump(value, file[, version]) marshal.dumps(value[, version]) marshal.load(file) marshal.loads(string) marshal.version max(iterable[, key=func]) -> value memoryview(object) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable[, key=func]) -> value modulefinder.AddPackagePath(??) modulefinder.HAVE_ARGUMENT modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.READ_MODE modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.generators(??) modulefinder.imp(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.struct(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.Finalize(??) multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.close(fd) multiprocessing.connection.current_process(??) multiprocessing.connection.debug(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.duplicate(??) multiprocessing.connection.errno(??) multiprocessing.connection.families(??) multiprocessing.connection.get_temp_dir(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.socket(??) multiprocessing.connection.sub_debug(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.TimeoutError(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.cpu_count(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.itertools(??) multiprocessing.dummy.list() -> new empty list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forking(??) multiprocessing.forking.ForkingPickler(??) multiprocessing.forking.Pickler(??) multiprocessing.forking.Popen(??) multiprocessing.forking.assert_spawning(??) multiprocessing.forking.close(fd) multiprocessing.forking.duplicate(??) multiprocessing.forking.exit(??) multiprocessing.forking.old_main_modules(??) multiprocessing.forking.os(??) multiprocessing.forking.partial(func, *args, **keywords) - new function with partial application multiprocessing.forking.prepare(??) multiprocessing.forking.process(??) multiprocessing.forking.signal(??) multiprocessing.forking.sys(??) multiprocessing.forking.time(??) multiprocessing.forking.util(??) multiprocessing.freeze_support(??) multiprocessing.get_logger(??) multiprocessing.heap(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Finalize(??) multiprocessing.heap.Heap(??) multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect(??) multiprocessing.heap.info(??) multiprocessing.heap.itertools(??) multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.log_to_stderr(??) multiprocessing.managers(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AuthenticationString(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.Finalize(??) multiprocessing.managers.ForkingPickler(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PicklingError(??) multiprocessing.managers.Pool(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.Popen(??) multiprocessing.managers.Process(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.active_children(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.assert_spawning(??) multiprocessing.managers.connection(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.copyreg(??) multiprocessing.managers.current_process(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.exit(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.info(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.os(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.managers.weakref(??) multiprocessing.os(??) multiprocessing.pool(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.Finalize(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.Process(??) multiprocessing.pool.RUN multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.cpu_count(??) multiprocessing.pool.debug(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.queue(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.worker(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.Process(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.queues(??) multiprocessing.queues.BoundedSemaphore(??) multiprocessing.queues.Condition(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Lock(??) multiprocessing.queues.Pipe(??) multiprocessing.queues.Queue(??) multiprocessing.queues.Semaphore(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.assert_spawning(??) multiprocessing.queues.atexit(??) multiprocessing.queues.collections(??) multiprocessing.queues.debug(??) multiprocessing.queues.info(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reduction(??) multiprocessing.reduction.Client(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.Listener(??) multiprocessing.reduction.Popen(??) multiprocessing.reduction.close(fd) multiprocessing.reduction.current_process(??) multiprocessing.reduction.debug(??) multiprocessing.reduction.duplicate(??) multiprocessing.reduction.fromfd(??) multiprocessing.reduction.os(??) multiprocessing.reduction.rebuild_connection(??) multiprocessing.reduction.rebuild_handle(??) multiprocessing.reduction.rebuild_socket(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.reduce_connection(??) multiprocessing.reduction.reduce_handle(??) multiprocessing.reduction.reduce_socket(??) multiprocessing.reduction.register_after_fork(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sub_debug(??) multiprocessing.reduction.sys(??) multiprocessing.reduction.threading(??) multiprocessing.sharedctypes(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.ForkingPickler(??) multiprocessing.sharedctypes.RLock(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.sys(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.synchronize(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Finalize(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.Popen(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.assert_spawning(??) multiprocessing.synchronize.current_process(??) multiprocessing.synchronize.debug(??) multiprocessing.synchronize.os(??) multiprocessing.synchronize.register_after_fork(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.threading(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.active_children(??) multiprocessing.util.atexit(??) multiprocessing.util.current_process(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) next(iterator[, default]) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.warnings(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) numbers.abstractproperty(??) object(??) oct(number) -> string open(??) operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.gt(a, b) -- Same as a>b. operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imod(??) operator.imul(??) operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(a, b) -- Same as a<=b. operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.rshift(a, b) -- Same as a >> b. operator.setitem(a, b, c) -- Same as a[b] = c. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(c) -> integer os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_OK os.MutableMapping(??) os.NGROUPS_MAX os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_LARGEFILE os.O_NDELAY os.O_NOATIME os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_RSYNC os.O_SYNC os.O_TRUNC os.O_WRONLY os.P_NOWAIT os.P_NOWAITO os.P_WAIT os.R_OK os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(path, mode) -> True if granted, False otherwise os.altsep(??) os.chdir(path) os.chmod(path, mode) os.chown(path, uid, gid) os.chroot(path) os.close(fd) os.closerange(fd_low, fd_high) os.confstr(name) -> string os.confstr_names(??) os.ctermid() -> string os.curdir os.defpath os.device_encoding(fd) -> str os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ(??) os.environb(??) os.errno(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(fildes) os.fchmod(fd, mode) os.fchown(fd, uid, gid) os.fdatasync(fildes) os.fdopen(??) os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fsdecode(??) os.fsencode(??) os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.get_exec_path(??) os.getcwd() -> path os.getcwdb() -> path os.getegid() -> egid os.getenv(??) os.getenvb(??) os.geteuid() -> euid os.getgid() -> gid os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getresgid() -> (rgid, egid, sgid) os.getresuid() -> (ruid, euid, suid) os.getsid(pid) -> sid os.getuid() -> uid os.initgroups(username, gid) -> None os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchown(path, uid, gid) os.linesep os.link(src, dst) os.listdir([path]) -> list_of_strings os.lseek(fd, pos, how) -> newpos os.lstat(path) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0o777][, exist_ok=False]) os.minor(device) -> minor number os.mkdir(path [, mode=0777]) os.mkfifo(filename [, mode=0666]) os.mknod(filename [, mode=0600, device]) os.name os.nice(inc) -> new_priority os.open(filename, flag [, mode=0777]) -> fd os.openpty() -> (master_fd, slave_fd) os.pardir os.path(??) os.pathconf(path, name) -> integer os.pathconf_names(??) os.pathsep os.pipe() -> (read_end, write_end) os.popen(??) os.putenv(key, value) os.read(fd, buffersize) -> string os.readlink(path) -> path os.remove(path) os.removedirs(path) os.rename(old, new) os.renames(old, new) os.rmdir(path) os.sep os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setregid(rgid, egid) os.setresgid(rgid, egid, sgid) os.setresuid(ruid, euid, suid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.stat(path) -> stat result os.stat_float_times([newval]) -> oldval os.stat_result(??) os.statvfs(path) -> statvfs result os.statvfs_result(??) os.strerror(code) -> string os.supports_bytes_environ(??) os.symlink(src, dst) os.sys(??) os.sysconf(name) -> integer os.sysconf_names(??) os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.times() -> (utime, stime, cutime, cstime, elapsed_time) os.ttyname(fd) -> string os.umask(new_mask) -> old_mask os.uname() -> (sysname, nodename, release, version, machine) os.unlink(path) os.unsetenv(key) os.urandom(n) -> str os.utime(path, (atime, mtime)) os.wait() -> (pid, status) os.wait3(options) -> (pid, status, rusage) os.wait4(pid, options) -> (pid, status, rusage) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, string) -> byteswritten pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.help(??) pdb.inspect(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BUILD pickle.BuiltinFunctionType(??) pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.NEWFALSE pickle.NEWOBJ pickle.NEWTRUE pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(file, protocol=None) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(file, *, encoding='ASCII', errors='strict') pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.classmap(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(obj, file, protocol=None, *, fix_imports=True) -> None pickle.dumps(obj, protocol=None, *, fix_imports=True) -> bytes pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict') -> object pickle.loads(input, *, fix_imports=True, encoding='ASCII', errors='strict') -> object pickle.marshal(??) pickle.mloads(??) pickle.re(??) pickle.struct(??) pickle.sys(??) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybytes(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.unicodestring4(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.string(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.imp(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.DEV_NULL platform.architecture(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.version(??) platform.win32_ver(??) plistlib.BytesIO([buffer]) -> object plistlib.Data(??) plistlib.Dict(??) plistlib.DumbXMLWriter(??) plistlib.PLISTHEADER plistlib.Plist(??) plistlib.PlistParser(??) plistlib.PlistWriter(??) plistlib.binascii(??) plistlib.datetime(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_OK posix.NGROUPS_MAX posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_LARGEFILE posix.O_NDELAY posix.O_NOATIME posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_RSYNC posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.R_OK posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(path, mode) -> True if granted, False otherwise posix.chdir(path) posix.chmod(path, mode) posix.chown(path, uid, gid) posix.chroot(path) posix.close(fd) posix.closerange(fd_low, fd_high) posix.confstr(name) -> string posix.confstr_names(??) posix.ctermid() -> string posix.device_encoding(fd) -> str posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ(??) posix.error(??) posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fildes) posix.fchmod(fd, mode) posix.fchown(fd, uid, gid) posix.fdatasync(fildes) posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.getcwd() -> path posix.getcwdb() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getresgid() -> (rgid, egid, sgid) posix.getresuid() -> (ruid, euid, suid) posix.getsid(pid) -> sid posix.getuid() -> uid posix.initgroups(username, gid) -> None posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchown(path, uid, gid) posix.link(src, dst) posix.listdir([path]) -> list_of_strings posix.lseek(fd, pos, how) -> newpos posix.lstat(path) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path [, mode=0777]) posix.mkfifo(filename [, mode=0666]) posix.mknod(filename [, mode=0600, device]) posix.nice(inc) -> new_priority posix.open(filename, flag [, mode=0777]) -> fd posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names(??) posix.pipe() -> (read_end, write_end) posix.putenv(key, value) posix.read(fd, buffersize) -> string posix.readlink(path) -> path posix.remove(path) posix.rename(old, new) posix.rmdir(path) posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setregid(rgid, egid) posix.setresgid(rgid, egid, sgid) posix.setresuid(ruid, euid, suid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(path) -> stat result posix.stat_float_times([newval]) -> oldval posix.stat_result(??) posix.statvfs(path) -> statvfs result posix.statvfs_result(??) posix.strerror(code) -> string posix.symlink(src, dst) posix.sysconf(name) -> integer posix.sysconf_names(??) posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.times() -> (utime, stime, cutime, cstime, elapsed_time) posix.ttyname(fd) -> string posix.umask(new_mask) -> old_mask posix.uname() -> (sysname, nodename, release, version, machine) posix.unlink(path) posix.unsetenv(key) posix.utime(path, (atime, mtime)) posix.wait() -> (pid, status) posix.wait3(options) -> (pid, status, rusage) posix.wait4(pid, options) -> (pid, status, rusage) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, string) -> byteswritten pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout) profile.OptionParser(??) profile.Profile(??) profile.main(??) profile.marshal(??) profile.os(??) profile.resgetrusage(??) profile.resource(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd(??) py_compile.MAGIC py_compile.PyCompileError(??) py_compile.builtins(??) py_compile.compile(??) py_compile.errno(??) py_compile.imp(??) py_compile.main(??) py_compile.marshal(??) py_compile.os(??) py_compile.sys(??) py_compile.tokenize(??) py_compile.traceback(??) py_compile.wr_long(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.imp(??) pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.Scanner(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque(iterable[, maxlen]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.extract_tb(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.gui(??) pydoc.help(??) pydoc.html(??) pydoc.imp(??) pydoc.importfile(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.serve(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.ttypager(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.deque(iterable[, maxlen]) --> deque object queue.heapq(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.division(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates a long int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range([start,] stop[, step]) -> range object re.A re.ASCII re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copyreg(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.functools(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.sys(??) re.template(??) repr(object) -> string reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, [start,] stop [, step]) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) reversed(sequence) -> reverse iterator over values of the sequence rlcompleter.Completer(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) round(number[, ndigits]) -> number runpy.get_loader(??) runpy.imp(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) set() -> new empty set object setattr(object, name, value) shelve.BsdDbShelf(??) shelve.BytesIO([buffer]) -> object shelve.DbfilenameShelf(??) shelve.Pickler(file, protocol=None) shelve.Shelf(??) shelve.Unpickler(file, *, encoding='ASCII', errors='strict') shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque(iterable[, maxlen]) --> deque object shlex.os(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SpecialFileError(??) shutil.WindowsError(??) shutil.abspath(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_unpack_formats(??) shutil.getgrnam(name) -> tuple shutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.os(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.tarfile(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCLD signal.SIGCONT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPOLL signal.SIGPROF signal.SIGPWR signal.SIGQUIT signal.SIGRTMAX signal.SIGRTMIN signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_DFL signal.SIG_IGN signal.alarm(seconds) signal.default_int_handler(...) signal.getitimer(which) signal.getsignal(sig) -> action signal.pause() signal.set_wakeup_fd(fd) -> fd signal.setitimer(which, seconds[, interval]) signal.siginterrupt(sig, flag) -> None signal.signal(sig, action) -> action site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.aliasmbcs(??) site.builtins(??) site.check_enableusersite(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setBEGINLIBPATH(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.traceback(??) slice([start,] stop[, step]) smtpd.COMMASPACE smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.errno(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.SSLFakeFile(??) smtplib.bCRLF smtplib.base64(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.stderr(??) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK socket.AF_ASH socket.AF_ATMPVC socket.AF_ATMSVC socket.AF_AX25 socket.AF_BLUETOOTH socket.AF_BRIDGE socket.AF_DECnet socket.AF_ECONET socket.AF_INET socket.AF_INET6 socket.AF_IPX socket.AF_IRDA socket.AF_KEY socket.AF_LLC socket.AF_NETBEUI socket.AF_NETLINK socket.AF_NETROM socket.AF_PACKET socket.AF_PPPOX socket.AF_ROSE socket.AF_ROUTE socket.AF_SECURITY socket.AF_SNA socket.AF_TIPC socket.AF_UNIX socket.AF_UNSPEC socket.AF_WANPIPE socket.AF_X25 socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.BDADDR_ANY socket.BDADDR_LOCAL socket.BTPROTO_HCI socket.BTPROTO_L2CAP socket.BTPROTO_RFCOMM socket.BTPROTO_SCO socket.CAPI(??) socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EINTR socket.EWOULDBLOCK socket.HCI_DATA_DIR socket.HCI_FILTER socket.HCI_TIME_STAMP socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GRE socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPIP socket.IPPROTO_IPV6 socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVDSTOPTS socket.IPV6_RECVHOPLIMIT socket.IPV6_RECVHOPOPTS socket.IPV6_RECVPKTINFO socket.IPV6_RECVRTHDR socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDRDSTOPTS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NETLINK_DNRTMSG socket.NETLINK_FIREWALL socket.NETLINK_IP6_FW socket.NETLINK_NFLOG socket.NETLINK_ROUTE socket.NETLINK_USERSOCK socket.NETLINK_XFRM socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PACKET_BROADCAST socket.PACKET_FASTROUTE socket.PACKET_HOST socket.PACKET_LOOPBACK socket.PACKET_MULTICAST socket.PACKET_OTHERHOST socket.PACKET_OUTGOING socket.PF_PACKET socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_CLOEXEC socket.SOCK_DGRAM socket.SOCK_NONBLOCK socket.SOCK_RAW socket.SOCK_RDM socket.SOCK_SEQPACKET socket.SOCK_STREAM socket.SOL_HCI socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_TIPC socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SocketIO(??) socket.SocketType(??) socket.TCP_CORK socket.TCP_DEFER_ACCEPT socket.TCP_INFO socket.TCP_KEEPCNT socket.TCP_KEEPIDLE socket.TCP_KEEPINTVL socket.TCP_LINGER2 socket.TCP_MAXSEG socket.TCP_NODELAY socket.TCP_QUICKACK socket.TCP_SYNCNT socket.TCP_WINDOW_CLAMP socket.TIPC_ADDR_ID socket.TIPC_ADDR_NAME socket.TIPC_ADDR_NAMESEQ socket.TIPC_CFG_SRV socket.TIPC_CLUSTER_SCOPE socket.TIPC_CONN_TIMEOUT socket.TIPC_CRITICAL_IMPORTANCE socket.TIPC_DEST_DROPPABLE socket.TIPC_HIGH_IMPORTANCE socket.TIPC_IMPORTANCE socket.TIPC_LOW_IMPORTANCE socket.TIPC_MEDIUM_IMPORTANCE socket.TIPC_NODE_SCOPE socket.TIPC_PUBLISHED socket.TIPC_SRC_DROPPABLE socket.TIPC_SUBSCR_TIMEOUT socket.TIPC_SUB_CANCEL socket.TIPC_SUB_PORTS socket.TIPC_SUB_SERVICE socket.TIPC_TOP_SRV socket.TIPC_WAIT_FOREVER socket.TIPC_WITHDRAWN socket.TIPC_ZONE_SCOPE socket.create_connection(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(host, port [, family, socktype, proto, flags]) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.setdefaulttimeout(timeout) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.os(??) socketserver.select(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) sorted(iterable, key=None, reverse=False) --> new sorted list ssl.AF_INET ssl.CERT_NONE ssl.CERT_OPTIONAL ssl.CERT_REQUIRED ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.HAS_SNI(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL ssl.OP_NO_SSLv2 ssl.OP_NO_SSLv3 ssl.OP_NO_TLSv1 ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv2 ssl.PROTOCOL_SSLv23 ssl.PROTOCOL_SSLv3 ssl.PROTOCOL_TLSv1 ssl.RAND_add(string, entropy) ssl.RAND_egd(path) -> bytes ssl.RAND_status() -> 0 or 1 ssl.SOCK_STREAM ssl.SSLContext(??) ssl.SSLError(??) ssl.SSLSocket(??) ssl.SSL_ERROR_EOF ssl.SSL_ERROR_INVALID_ERROR_CODE ssl.SSL_ERROR_SSL ssl.SSL_ERROR_SYSCALL ssl.SSL_ERROR_WANT_CONNECT ssl.SSL_ERROR_WANT_READ ssl.SSL_ERROR_WANT_WRITE ssl.SSL_ERROR_WANT_X509_LOOKUP ssl.SSL_ERROR_ZERO_RETURN ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.errno(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.match_hostname(??) ssl.re(??) ssl.socket(??) ssl.socket_error(??) ssl.textwrap(??) ssl.traceback(??) ssl.wrap_socket(??) stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFREG stat.S_IFSOCK stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(??) stat.S_ISCHR(??) stat.S_ISDIR(??) stat.S_ISFIFO(??) stat.S_ISGID stat.S_ISLNK(??) stat.S_ISREG(??) stat.S_ISSOCK(??) stat.S_ISUID stat.S_ISVTX stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE staticmethod(function) -> method str(string[, encoding[, errors]]) -> str string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(fmt) --> compiled struct object struct.calcsize(fmt) -> integer struct.error(??) struct.pack(fmt, v1, v2, ...) -> bytes struct.pack_into(fmt, buffer, offset, v1, v2, ...) struct.unpack(fmt, buffer) -> (v1, v2, ...) struct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...) subprocess.CalledProcessError(??) subprocess.MAXFD subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno(??) subprocess.fcntl(??) subprocess.gc(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.mswindows(??) subprocess.os(??) subprocess.pickle(??) subprocess.select(??) subprocess.signal(??) subprocess.sys(??) subprocess.traceback(??) subprocess.warnings(??) sum(iterable[, start]) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.open(??) sunau.openfp(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.main(??) symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.OPT_IMPORT_STAR symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.api_version sys.argv(??) sys.builtin_module_names(??) sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode(??) sys.exc_info() -> (type, value, traceback) sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.getswitchinterval() -> current thread switch interval; see setswitchinterval(). sys.gettrace() sys.hash_info(??) sys.hexversion sys.int_info(??) sys.intern(string) -> string sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.setswitchinterval(n) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.subversion(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.S_IFBLK tarfile.S_IFCHR tarfile.S_IFDIR tarfile.S_IFIFO tarfile.S_IFLNK tarfile.S_IFREG tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TGEXEC tarfile.TGREAD tarfile.TGWRITE tarfile.TOEXEC tarfile.TOREAD tarfile.TOWRITE tarfile.TSGID tarfile.TSUID tarfile.TSVTX tarfile.TUEXEC tarfile.TUREAD tarfile.TUWRITE tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TarIter(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.errno(??) tarfile.filemode(??) tarfile.filemode_table(??) tarfile.grp(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.select(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.re(??) textwrap.string(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.deque(iterable[, maxlen]) --> deque object threading.enumerate(??) threading.local(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) token.AMPER token.AMPEREQUAL token.AT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.TILDE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.double3prog(??) tokenize.endprogs(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(encoding) -> CodecInfo tokenize.maybe(??) tokenize.open(??) tokenize.pseudoprog(??) tokenize.re(??) tokenize.single3prog(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.tokenprog(??) tokenize.triple_quoted(??) tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.dis(??) trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc(??) trace.inspect(??) trace.io(??) trace.linecache(??) trace.main(??) trace.modname(??) trace.os(??) trace.pickle(??) trace.re(??) trace.rx_blank(??) trace.sys(??) trace.threading(??) trace.time(??) trace.token(??) trace.tokenize(??) trace.usage(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) tty.B0 tty.B1000000 tty.B110 tty.B115200 tty.B1152000 tty.B1200 tty.B134 tty.B150 tty.B1500000 tty.B1800 tty.B19200 tty.B200 tty.B2000000 tty.B230400 tty.B2400 tty.B2500000 tty.B300 tty.B3000000 tty.B3500000 tty.B38400 tty.B4000000 tty.B460800 tty.B4800 tty.B50 tty.B500000 tty.B57600 tty.B576000 tty.B600 tty.B75 tty.B921600 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CBAUD tty.CBAUDEX tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CIBAUD tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.IOCSIZE_MASK tty.IOCSIZE_SHIFT tty.ISIG tty.ISPEED tty.ISTRIP tty.IUCLC tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCC tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.N_MOUSE tty.N_PPP tty.N_SLIP tty.N_STRIP tty.N_TTY tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.OLCUC tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCFLSH tty.TCGETA tty.TCGETS tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSBRK tty.TCSBRKP tty.TCSETA tty.TCSETAF tty.TCSETAW tty.TCSETS tty.TCSETSF tty.TCSETSW tty.TCXONC tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGICOUNT tty.TIOCGLCKTRMIOS tty.TIOCGPGRP tty.TIOCGSERIAL tty.TIOCGSOFTCAR tty.TIOCGWINSZ tty.TIOCINQ tty.TIOCLINUX tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMIWAIT tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSERCONFIG tty.TIOCSERGETLSR tty.TIOCSERGETMULTI tty.TIOCSERGSTRUCT tty.TIOCSERGWILD tty.TIOCSERSETMULTI tty.TIOCSERSWILD tty.TIOCSER_TEMT tty.TIOCSETD tty.TIOCSLCKTRMIOS tty.TIOCSPGRP tty.TIOCSSERIAL tty.TIOCSSOFTCAR tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VSWTC tty.VSWTCH tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.XCASE tty.XTABS tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> empty tuple type(object) -> the object's type types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CodeType(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MemberDescriptorType(??) types.MethodType(??) types.ModuleType(??) types.TracebackType(??) urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.scheme_chars urllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.parse.splitnport(??) urllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.parse.splitport('host:port') --> 'host', 'port'. urllib.parse.splitquery('/path?query') --> '/path', 'query'. urllib.parse.splittag('/path#tag') --> '/path', 'tag'. urllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.parse.splitvalue('attr=value') --> 'attr', 'value'. urllib.parse.sys(??) urllib.parse.to_bytes(u"URL") --> 'URL'. urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap('') --> 'type://host/path'. urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.collections(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.random(??) urllib.request.randombytes(??) urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.request.splitport('host:port') --> 'host', 'port'. urllib.request.splitquery('/path?query') --> '/path', 'query'. urllib.request.splittag('/path#tag') --> '/path', 'tag'. urllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.request.splitvalue('attr=value') --> 'attr', 'value'. urllib.request.ssl(??) urllib.request.sys(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.to_bytes(u"URL") --> 'URL'. urllib.request.unquote(??) urllib.request.unwrap('') --> 'type://host/path'. urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.robotparser(??) urllib.robotparser.Entry(??) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID(??) uuid.bytes_(??) uuid.ctypes(??) uuid.getnode(??) uuid.int_(??) uuid.lib(??) uuid.libname uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.linecache(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.big_endian wave.builtins(??) wave.open(??) wave.openfp(??) wave.struct(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.collections(??) weakref.getweakrefcount(object) -- return the number of weak references weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.io(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex(??) webbrowser.stat(??) webbrowser.subprocess(??) webbrowser.sys(??) webbrowser.time(??) wsgiref.handlers(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO([buffer]) -> object xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct(??) xml.dom(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.EmptyNodeList(??) xml.dom.domreg.NodeList(??) xml.dom.domreg.StringTypes(??) xml.dom.domreg.defproperty(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.EmptyNodeList(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.NodeList(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.StringTypes(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.defproperty(??) xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat(??) xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.codecs(??) xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.types(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder(??) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLTreeBuilder(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementPath(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.XMLTreeBuilder(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO([buffer]) -> object xmlrpc.client.DateTime(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(??) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.io(??) xmlrpc.client.loads(??) xmlrpc.client.operator(??) xmlrpc.client.re(??) xmlrpc.client.socket(??) xmlrpc.client.time(??) xmlrpc.server(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.http(??) xmlrpc.server.inspect(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(iter1 [,iter2 [...]]) --> zip object zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.LargeZipFile(??) zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zipfile.error(??) zipfile.imp(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.main(??) zipfile.os(??) zipfile.re(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.time(??) zipfile.zlib(??) zipimport.ZipImportError(??) zipimport.zipimporter(archivepath) -> zipimporter object ================================================ FILE: src/qscint/qsci/api/python/Python-3.3.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BlockingIOError(??) BrokenPipeError(??) BufferError(??) BytesWarning(??) ChildProcessError(??) ConnectionAbortedError(??) ConnectionError(??) ConnectionRefusedError(??) ConnectionResetError(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FileExistsError(??) FileNotFoundError(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IN.AF_APPLETALK IN.AF_ATM IN.AF_CCITT IN.AF_CHAOS IN.AF_CNT IN.AF_COIP IN.AF_DATAKIT IN.AF_DECnet IN.AF_DLI IN.AF_E164 IN.AF_ECMA IN.AF_HYLINK IN.AF_IMPLINK IN.AF_INET IN.AF_INET6 IN.AF_IPX IN.AF_ISDN IN.AF_ISO IN.AF_LAT IN.AF_LINK IN.AF_LOCAL IN.AF_MAX IN.AF_NATM IN.AF_NDRV IN.AF_NETBIOS IN.AF_NETGRAPH IN.AF_NS IN.AF_OSI IN.AF_PPP IN.AF_PUP IN.AF_RESERVED_36 IN.AF_ROUTE IN.AF_SIP IN.AF_SNA IN.AF_SYSTEM IN.AF_UNIX IN.AF_UNSPEC IN.CMGROUP_MAX IN.HTONL(??) IN.HTONS(??) IN.ICMP6_FILTER IN.IN6_IS_ADDR_LINKLOCAL(??) IN.IN6_IS_ADDR_LOOPBACK(??) IN.IN6_IS_ADDR_MC_GLOBAL(??) IN.IN6_IS_ADDR_MC_LINKLOCAL(??) IN.IN6_IS_ADDR_MC_NODELOCAL(??) IN.IN6_IS_ADDR_MC_ORGLOCAL(??) IN.IN6_IS_ADDR_MC_SITELOCAL(??) IN.IN6_IS_ADDR_SITELOCAL(??) IN.IN6_IS_ADDR_UNSPECIFIED(??) IN.IN6_IS_ADDR_V4COMPAT(??) IN.IN6_IS_ADDR_V4MAPPED(??) IN.INADDR_NONE IN.INET6_ADDRSTRLEN IN.INET_ADDRSTRLEN IN.INT16_C(??) IN.INT16_MAX IN.INT16_MIN IN.INT32_C(??) IN.INT32_MAX IN.INT32_MIN IN.INT8_C(??) IN.INT8_MAX IN.INT8_MIN IN.INTPTR_MAX IN.INTPTR_MIN IN.INT_FAST16_MAX IN.INT_FAST16_MIN IN.INT_FAST32_MAX IN.INT_FAST32_MIN IN.INT_FAST8_MAX IN.INT_FAST8_MIN IN.INT_LEAST16_MAX IN.INT_LEAST16_MIN IN.INT_LEAST32_MAX IN.INT_LEAST32_MIN IN.INT_LEAST8_MAX IN.INT_LEAST8_MIN IN.IN_BADCLASS(??) IN.IN_CLASSA(??) IN.IN_CLASSA_HOST IN.IN_CLASSA_MAX IN.IN_CLASSA_NET IN.IN_CLASSA_NSHIFT IN.IN_CLASSB(??) IN.IN_CLASSB_HOST IN.IN_CLASSB_MAX IN.IN_CLASSB_NET IN.IN_CLASSB_NSHIFT IN.IN_CLASSC(??) IN.IN_CLASSC_HOST IN.IN_CLASSC_NET IN.IN_CLASSC_NSHIFT IN.IN_CLASSD(??) IN.IN_CLASSD_HOST IN.IN_CLASSD_NET IN.IN_CLASSD_NSHIFT IN.IN_EXPERIMENTAL(??) IN.IN_LINKLOCAL(??) IN.IN_LOOPBACKNET IN.IN_MULTICAST(??) IN.IPCTL_ACCEPTSOURCEROUTE IN.IPCTL_DEFMTU IN.IPCTL_DEFTTL IN.IPCTL_DIRECTEDBROADCAST IN.IPCTL_FASTFORWARDING IN.IPCTL_FORWARDING IN.IPCTL_GIF_TTL IN.IPCTL_INTRQDROPS IN.IPCTL_INTRQMAXLEN IN.IPCTL_KEEPFAITH IN.IPCTL_MAXID IN.IPCTL_RTEXPIRE IN.IPCTL_RTMAXCACHE IN.IPCTL_RTMINEXPIRE IN.IPCTL_SENDREDIRECTS IN.IPCTL_SOURCEROUTE IN.IPCTL_STATS IN.IPPORT_HIFIRSTAUTO IN.IPPORT_HILASTAUTO IN.IPPORT_RESERVED IN.IPPORT_RESERVEDSTART IN.IPPORT_USERRESERVED IN.IPPROTO_3PC IN.IPPROTO_ADFS IN.IPPROTO_AH IN.IPPROTO_AHIP IN.IPPROTO_APES IN.IPPROTO_ARGUS IN.IPPROTO_AX25 IN.IPPROTO_BHA IN.IPPROTO_BLT IN.IPPROTO_BRSATMON IN.IPPROTO_CFTP IN.IPPROTO_CHAOS IN.IPPROTO_CMTP IN.IPPROTO_CPHB IN.IPPROTO_CPNX IN.IPPROTO_DDP IN.IPPROTO_DGP IN.IPPROTO_DIVERT IN.IPPROTO_DONE IN.IPPROTO_DSTOPTS IN.IPPROTO_EGP IN.IPPROTO_EMCON IN.IPPROTO_ENCAP IN.IPPROTO_EON IN.IPPROTO_ESP IN.IPPROTO_ETHERIP IN.IPPROTO_FRAGMENT IN.IPPROTO_GGP IN.IPPROTO_GMTP IN.IPPROTO_GRE IN.IPPROTO_HELLO IN.IPPROTO_HMP IN.IPPROTO_HOPOPTS IN.IPPROTO_ICMP IN.IPPROTO_ICMPV6 IN.IPPROTO_IDP IN.IPPROTO_IDPR IN.IPPROTO_IDRP IN.IPPROTO_IGMP IN.IPPROTO_IGP IN.IPPROTO_IGRP IN.IPPROTO_IL IN.IPPROTO_INLSP IN.IPPROTO_INP IN.IPPROTO_IP IN.IPPROTO_IPCOMP IN.IPPROTO_IPCV IN.IPPROTO_IPEIP IN.IPPROTO_IPIP IN.IPPROTO_IPPC IN.IPPROTO_IPV4 IN.IPPROTO_IPV6 IN.IPPROTO_IRTP IN.IPPROTO_KRYPTOLAN IN.IPPROTO_LARP IN.IPPROTO_LEAF1 IN.IPPROTO_LEAF2 IN.IPPROTO_MAX IN.IPPROTO_MAXID IN.IPPROTO_MEAS IN.IPPROTO_MHRP IN.IPPROTO_MICP IN.IPPROTO_MTP IN.IPPROTO_MUX IN.IPPROTO_ND IN.IPPROTO_NHRP IN.IPPROTO_NONE IN.IPPROTO_NSP IN.IPPROTO_NVPII IN.IPPROTO_OSPFIGP IN.IPPROTO_PGM IN.IPPROTO_PIGP IN.IPPROTO_PIM IN.IPPROTO_PRM IN.IPPROTO_PUP IN.IPPROTO_PVP IN.IPPROTO_RAW IN.IPPROTO_RCCMON IN.IPPROTO_RDP IN.IPPROTO_ROUTING IN.IPPROTO_RSVP IN.IPPROTO_RVD IN.IPPROTO_SATEXPAK IN.IPPROTO_SATMON IN.IPPROTO_SCCSP IN.IPPROTO_SDRP IN.IPPROTO_SEP IN.IPPROTO_SRPC IN.IPPROTO_ST IN.IPPROTO_SVMTP IN.IPPROTO_SWIPE IN.IPPROTO_TCF IN.IPPROTO_TCP IN.IPPROTO_TP IN.IPPROTO_TPXX IN.IPPROTO_TRUNK1 IN.IPPROTO_TRUNK2 IN.IPPROTO_TTP IN.IPPROTO_UDP IN.IPPROTO_VINES IN.IPPROTO_VISA IN.IPPROTO_VMTP IN.IPPROTO_WBEXPAK IN.IPPROTO_WBMON IN.IPPROTO_WSN IN.IPPROTO_XNET IN.IPPROTO_XTP IN.IPV6CTL_ACCEPT_RTADV IN.IPV6CTL_AUTO_FLOWLABEL IN.IPV6CTL_AUTO_LINKLOCAL IN.IPV6CTL_DAD_COUNT IN.IPV6CTL_DEFHLIM IN.IPV6CTL_DEFMCASTHLIM IN.IPV6CTL_DEFMTU IN.IPV6CTL_FORWARDING IN.IPV6CTL_FORWSRCRT IN.IPV6CTL_GIF_HLIM IN.IPV6CTL_HDRNESTLIMIT IN.IPV6CTL_KAME_VERSION IN.IPV6CTL_KEEPFAITH IN.IPV6CTL_LOG_INTERVAL IN.IPV6CTL_MAPPED_ADDR IN.IPV6CTL_MAXFRAGPACKETS IN.IPV6CTL_MAXFRAGS IN.IPV6CTL_MAXID IN.IPV6CTL_MRTPROTO IN.IPV6CTL_MRTSTATS IN.IPV6CTL_RIP6STATS IN.IPV6CTL_RR_PRUNE IN.IPV6CTL_RTEXPIRE IN.IPV6CTL_RTMAXCACHE IN.IPV6CTL_RTMINEXPIRE IN.IPV6CTL_SENDREDIRECTS IN.IPV6CTL_SOURCECHECK IN.IPV6CTL_SOURCECHECK_LOGINT IN.IPV6CTL_STATS IN.IPV6CTL_TEMPPLTIME IN.IPV6CTL_TEMPVLTIME IN.IPV6CTL_USETEMPADDR IN.IPV6CTL_USE_DEPRECATED IN.IPV6CTL_V6ONLY IN.IPV6PORT_ANONMAX IN.IPV6PORT_ANONMIN IN.IPV6PORT_RESERVED IN.IPV6PORT_RESERVEDMAX IN.IPV6PORT_RESERVEDMIN IN.IPV6PROTO_MAXID IN.IPV6_BINDV6ONLY IN.IPV6_CHECKSUM IN.IPV6_DEFAULT_MULTICAST_HOPS IN.IPV6_DEFAULT_MULTICAST_LOOP IN.IPV6_DSTOPTS IN.IPV6_FAITH IN.IPV6_FW_ADD IN.IPV6_FW_DEL IN.IPV6_FW_FLUSH IN.IPV6_FW_GET IN.IPV6_FW_ZERO IN.IPV6_HOPLIMIT IN.IPV6_HOPOPTS IN.IPV6_IPSEC_POLICY IN.IPV6_JOIN_GROUP IN.IPV6_LEAVE_GROUP IN.IPV6_MULTICAST_HOPS IN.IPV6_MULTICAST_IF IN.IPV6_MULTICAST_LOOP IN.IPV6_NEXTHOP IN.IPV6_OPTIONS IN.IPV6_PKTINFO IN.IPV6_PKTOPTIONS IN.IPV6_PORTRANGE IN.IPV6_PORTRANGE_DEFAULT IN.IPV6_PORTRANGE_HIGH IN.IPV6_PORTRANGE_LOW IN.IPV6_RECVDSTADDR IN.IPV6_RECVOPTS IN.IPV6_RECVRETOPTS IN.IPV6_RETOPTS IN.IPV6_RTHDR IN.IPV6_RTHDR_LOOSE IN.IPV6_RTHDR_STRICT IN.IPV6_RTHDR_TYPE_0 IN.IPV6_SOCKOPT_RESERVED1 IN.IPV6_UNICAST_HOPS IN.IPV6_V6ONLY IN.IP_ADD_MEMBERSHIP IN.IP_DEFAULT_MULTICAST_LOOP IN.IP_DEFAULT_MULTICAST_TTL IN.IP_DROP_MEMBERSHIP IN.IP_DUMMYNET_CONFIGURE IN.IP_DUMMYNET_DEL IN.IP_DUMMYNET_FLUSH IN.IP_DUMMYNET_GET IN.IP_FAITH IN.IP_FORCE_OUT_IFP IN.IP_FW_ADD IN.IP_FW_DEL IN.IP_FW_FLUSH IN.IP_FW_GET IN.IP_FW_RESETLOG IN.IP_FW_ZERO IN.IP_HDRINCL IN.IP_IPSEC_POLICY IN.IP_MAX_MEMBERSHIPS IN.IP_MULTICAST_IF IN.IP_MULTICAST_LOOP IN.IP_MULTICAST_TTL IN.IP_MULTICAST_VIF IN.IP_NAT__XXX IN.IP_OLD_FW_ADD IN.IP_OLD_FW_DEL IN.IP_OLD_FW_FLUSH IN.IP_OLD_FW_GET IN.IP_OLD_FW_RESETLOG IN.IP_OLD_FW_ZERO IN.IP_OPTIONS IN.IP_PORTRANGE IN.IP_PORTRANGE_DEFAULT IN.IP_PORTRANGE_HIGH IN.IP_PORTRANGE_LOW IN.IP_RECVDSTADDR IN.IP_RECVIF IN.IP_RECVOPTS IN.IP_RECVRETOPTS IN.IP_RECVTTL IN.IP_RETOPTS IN.IP_RSVP_OFF IN.IP_RSVP_ON IN.IP_RSVP_VIF_OFF IN.IP_RSVP_VIF_ON IN.IP_STRIPHDR IN.IP_TOS IN.IP_TRAFFIC_MGT_BACKGROUND IN.IP_TTL IN.MSG_CTRUNC IN.MSG_DONTROUTE IN.MSG_DONTWAIT IN.MSG_EOF IN.MSG_EOR IN.MSG_FLUSH IN.MSG_HAVEMORE IN.MSG_HOLD IN.MSG_NEEDSA IN.MSG_OOB IN.MSG_PEEK IN.MSG_RCVMORE IN.MSG_SEND IN.MSG_TRUNC IN.MSG_WAITALL IN.MSG_WAITSTREAM IN.NET_MAXID IN.NET_RT_DUMP IN.NET_RT_DUMP2 IN.NET_RT_FLAGS IN.NET_RT_IFLIST IN.NET_RT_IFLIST2 IN.NET_RT_MAXID IN.NET_RT_STAT IN.NET_RT_TRASH IN.NTOHL(??) IN.NTOHS(??) IN.PF_APPLETALK IN.PF_ATM IN.PF_CCITT IN.PF_CHAOS IN.PF_CNT IN.PF_COIP IN.PF_DATAKIT IN.PF_DECnet IN.PF_DLI IN.PF_ECMA IN.PF_HYLINK IN.PF_IMPLINK IN.PF_INET IN.PF_INET6 IN.PF_IPX IN.PF_ISDN IN.PF_ISO IN.PF_KEY IN.PF_LAT IN.PF_LINK IN.PF_LOCAL IN.PF_MAX IN.PF_NATM IN.PF_NDRV IN.PF_NETBIOS IN.PF_NETGRAPH IN.PF_NS IN.PF_OSI IN.PF_PIP IN.PF_PPP IN.PF_PUP IN.PF_RESERVED_36 IN.PF_ROUTE IN.PF_RTIP IN.PF_SIP IN.PF_SNA IN.PF_SYSTEM IN.PF_UNIX IN.PF_UNSPEC IN.PF_XTP IN.PTRDIFF_MAX IN.PTRDIFF_MIN IN.SCM_CREDS IN.SCM_RIGHTS IN.SCM_TIMESTAMP IN.SHUT_RD IN.SHUT_RDWR IN.SHUT_WR IN.SIG_ATOMIC_MAX IN.SIG_ATOMIC_MIN IN.SOCK_DGRAM IN.SOCK_MAXADDRLEN IN.SOCK_RAW IN.SOCK_RDM IN.SOCK_SEQPACKET IN.SOCK_STREAM IN.SOL_SOCKET IN.SOMAXCONN IN.SO_ACCEPTCONN IN.SO_ACCEPTFILTER IN.SO_BROADCAST IN.SO_DEBUG IN.SO_DONTROUTE IN.SO_DONTTRUNC IN.SO_ERROR IN.SO_KEEPALIVE IN.SO_LABEL IN.SO_LINGER IN.SO_LINGER_SEC IN.SO_NKE IN.SO_NOADDRERR IN.SO_NOSIGPIPE IN.SO_NOTIFYCONFLICT IN.SO_NREAD IN.SO_NWRITE IN.SO_OOBINLINE IN.SO_PEERLABEL IN.SO_RCVBUF IN.SO_RCVLOWAT IN.SO_RCVTIMEO IN.SO_RESTRICTIONS IN.SO_RESTRICT_DENYIN IN.SO_RESTRICT_DENYOUT IN.SO_RESTRICT_DENYSET IN.SO_REUSEADDR IN.SO_REUSEPORT IN.SO_REUSESHAREUID IN.SO_SNDBUF IN.SO_SNDLOWAT IN.SO_SNDTIMEO IN.SO_TIMESTAMP IN.SO_TYPE IN.SO_USELOOPBACK IN.SO_WANTMORE IN.SO_WANTOOBFLAG IN.TRAFFIC_MGT_SO_BACKGROUND IN.TRAFFIC_MGT_SO_BG_SUPPRESSED IN.UINT16_MAX IN.UINT8_MAX IN.UINT_FAST16_MAX IN.UINT_FAST8_MAX IN.UINT_LEAST16_MAX IN.UINT_LEAST8_MAX IN.WCHAR_MAX IN.WCHAR_MIN IN.WINT_MAX IN.WINT_MIN IN.htonl(??) IN.htons(??) IN.ntohl(??) IN.ntohs(??) IN.pseudo_AF_HDRCMPLT IN.pseudo_AF_KEY IN.pseudo_AF_PIP IN.pseudo_AF_RTIP IN.pseudo_AF_XTP IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) InterruptedError(??) IsADirectoryError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) NameError(??) None(??) NotADirectoryError(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) PermissionError(??) ProcessLookupError(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) TimeoutError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABCMeta(??) abc.WeakSet(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) aifc.warnings(??) all(iterable) -> bool any(iterable) -> bool argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.MetavarTypeHelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) array.ArrayType(??) array.array(typecode [, initializer]) -> array array.typecodes ascii(object) -> string ast.AST(??) ast.Add(??) ast.And(??) ast.Assert(??) ast.Assign(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FunctionDef(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ONLY_AST ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.Try(??) ast.Tuple(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.YieldFrom(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.unaryop(??) ast.walk(??) ast.withitem(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.deque(iterable[, maxlen]) --> deque object asynchat.fifo(??) asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asynchat.socket(??) asyncore.EAGAIN asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.EPIPE asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.fcntl(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None audioop.add(??) audioop.adpcm2lin(??) audioop.alaw2lin(??) audioop.avg(??) audioop.avgpp(??) audioop.bias(??) audioop.cross(??) audioop.error(??) audioop.findfactor(??) audioop.findfit(??) audioop.findmax(??) audioop.getsample(??) audioop.lin2adpcm(??) audioop.lin2alaw(??) audioop.lin2lin(??) audioop.lin2ulaw(??) audioop.max(??) audioop.maxpp(??) audioop.minmax(??) audioop.mul(??) audioop.ratecv(??) audioop.reverse(??) audioop.rms(??) audioop.tomono(??) audioop.tostereo(??) audioop.ulaw2lin(??) base64.MAXBINSIZE base64.MAXLINESIZE base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(number) -> string binascii.Error(??) binascii.Incomplete(??) binascii.a2b_base64(??) binascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation. binascii.a2b_hqx(??) binascii.a2b_qp(??) binascii.a2b_uu(??) binascii.b2a_base64(??) binascii.b2a_hex(data) -> s; Hexadecimal representation of binary data. binascii.b2a_hqx(??) binascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; binascii.b2a_uu(??) binascii.crc32(??) binascii.crc_hqx(??) binascii.hexlify(??) binascii.rlecode_hqx(??) binascii.rledecode_hqx(??) binascii.unhexlify(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BlockingIOError(??) builtins.BrokenPipeError(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.ChildProcessError(??) builtins.ConnectionAbortedError(??) builtins.ConnectionError(??) builtins.ConnectionRefusedError(??) builtins.ConnectionResetError(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FileExistsError(??) builtins.FileNotFoundError(??) builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.InterruptedError(??) builtins.IsADirectoryError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.NameError(??) builtins.None builtins.NotADirectoryError(??) builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.PermissionError(??) builtins.ProcessLookupError(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.TimeoutError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(number) -> number builtins.all(iterable) -> bool builtins.any(iterable) -> bool builtins.ascii(object) -> string builtins.bin(number) -> string builtins.bool(x) -> bool builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(object) -> bool builtins.chr(i) -> Unicode character builtins.classmethod(function) -> method builtins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object builtins.complex(real[, imag]) -> complex number builtins.copyright(??) builtins.credits(??) builtins.delattr(object, name) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(x, y) -> (div, mod) builtins.enumerate(iterable[, start]) -> iterator for index, value of iterable builtins.eval(source[, globals[, locals]]) -> value builtins.exec(object[, globals[, locals]]) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(x) -> floating point number builtins.format(value[, format_spec]) -> string builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals() -> dictionary builtins.hasattr(object, name) -> bool builtins.hash(object) -> integer builtins.help(??) builtins.hex(number) -> string builtins.id(object) -> integer builtins.input([prompt]) -> string builtins.int(x[, base]) -> integer builtins.isinstance(object, class-or-type-or-tuple) -> bool builtins.issubclass(C, B) -> bool builtins.iter(iterable) -> iterator builtins.len(object) -> integer builtins.license(??) builtins.list() -> new empty list builtins.locals() -> dictionary builtins.map(func, *iterables) --> map object builtins.max(iterable[, key=func]) -> value builtins.memoryview(object) builtins.min(iterable[, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(number) -> string builtins.open(??) builtins.ord(c) -> integer builtins.pow(x, y[, z]) -> number builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) builtins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute builtins.quit(??) builtins.range([start,] stop[, step]) -> range object builtins.repr(object) -> string builtins.reversed(sequence) -> reverse iterator over values of the sequence builtins.round(number[, ndigits]) -> number builtins.set() -> new empty set object builtins.setattr(object, name, value) builtins.slice([start,] stop[, step]) builtins.sorted(iterable, key=None, reverse=False) --> new sorted list builtins.staticmethod(function) -> method builtins.str(object[, encoding[, errors]]) -> str builtins.sum(iterable[, start]) -> value builtins.super() -> same as super(__class__, ) builtins.tuple() -> empty tuple builtins.type(object) -> the object's type builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor(compresslevel=9) bz2.BZ2Decompressor() bz2.BZ2File(??) bz2.RLock(??) bz2.builtins(??) bz2.compress(??) bz2.decompress(??) bz2.io(??) bz2.open(??) bz2.warnings(??) cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(object) -> bool cgi.BytesIO([buffer]) -> object cgi.FeedParser(??) cgi.FieldStorage(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.closelog(??) cgi.dolog(??) cgi.escape(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgi.warn(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) chr(i) -> Unicode character chunk.Chunk(??) classmethod(function) -> method cmath.acos(x) cmath.acosh(x) cmath.asin(x) cmath.asinh(x) cmath.atan(x) cmath.atanh(x) cmath.cos(x) cmath.cosh(x) cmath.e cmath.exp(x) cmath.isfinite(z) -> bool cmath.isinf(z) -> bool cmath.isnan(z) -> bool cmath.log(x[, base]) -> the logarithm of x to the given base. cmath.log10(x) cmath.phase(z) -> float cmath.pi cmath.polar(z) -> r: float, phi: float cmath.rect(r, phi) -> z: complex cmath.sin(x) cmath.sinh(x) cmath.sqrt(x) cmath.tan(x) cmath.tanh(x) cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(encoding) -> CodecInfo codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.unicode_internal_decode(??) codecs.unicode_internal_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.ByteString(??) collections.Callable(??) collections.ChainMap(??) collections.Container(??) collections.Counter(??) collections.Hashable(??) collections.ItemsView(??) collections.Iterable(??) collections.Iterator(??) collections.KeysView(??) collections.Mapping(??) collections.MappingView(??) collections.MutableMapping(??) collections.MutableSequence(??) collections.MutableSet(??) collections.OrderedDict(??) collections.Sequence(??) collections.Set(??) collections.Sized(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.ValuesView(??) collections.abc(??) collections.abc.ABCMeta(??) collections.abc.ByteString(??) collections.abc.Callable(??) collections.abc.Container(??) collections.abc.Hashable(??) collections.abc.ItemsView(??) collections.abc.Iterable(??) collections.abc.Iterator(??) collections.abc.KeysView(??) collections.abc.Mapping(??) collections.abc.MappingView(??) collections.abc.MutableMapping(??) collections.abc.MutableSequence(??) collections.abc.MutableSet(??) collections.abc.Sequence(??) collections.abc.Set(??) collections.abc.Sized(??) collections.abc.ValuesView(??) collections.abc.abstractmethod(??) collections.abc.bytearray_iterator(??) collections.abc.bytes_iterator(??) collections.abc.dict_itemiterator(??) collections.abc.dict_items(??) collections.abc.dict_keyiterator(??) collections.abc.dict_keys(??) collections.abc.dict_valueiterator(??) collections.abc.dict_values(??) collections.abc.list_iterator(??) collections.abc.list_reverseiterator(??) collections.abc.mappingproxy(??) collections.abc.range_iterator(??) collections.abc.set_iterator(??) collections.abc.str_iterator(??) collections.abc.sys(??) collections.abc.tuple_iterator(??) collections.abc.zip_iterator(??) collections.collections(??) collections.defaultdict(default_factory) --> dict with default factory collections.deque(iterable[, maxlen]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.errno(??) compileall.imp(??) compileall.main(??) compileall.os(??) compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(real[, imag]) -> complex number concurrent.futures.ALL_COMPLETED concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process(??) concurrent.futures.process.BrokenProcessPool(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.Full(??) concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.SimpleQueue(??) concurrent.futures.process.atexit(??) concurrent.futures.process.multiprocessing(??) concurrent.futures.process.os(??) concurrent.futures.process.queue(??) concurrent.futures.process.threading(??) concurrent.futures.process.wait(??) concurrent.futures.process.weakref(??) concurrent.futures.thread(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.atexit(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.ContextDecorator(??) contextlib.ExitStack(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.deque(iterable[, maxlen]) --> deque object contextlib.sys(??) contextlib.wraps(??) copy.Error(??) copy.PyStringMap(??) copy.builtins(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copy.name copy.t(??) copy.weakref(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.METHOD_CRYPT(??) crypt.METHOD_MD5(??) crypt.METHOD_SHA256(??) crypt.METHOD_SHA512(??) crypt.crypt(??) crypt.methods(??) crypt.mksalt(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable, r) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util.contextlib(??) ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.subprocess(??) ctypes.util.sys(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.newpad(??) curses.newwin(??) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.unget_wch(??) curses.ungetch(??) curses.ungetmouse(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.wrapper(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(path[, flag[, mode]]) -> mapping dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.FloatOperation(??) decimal.HAVE_THREADS(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.MAX_EMAX decimal.MAX_PREC decimal.MIN_EMIN decimal.MIN_ETINY decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) difflib.warnings(??) dir([object]) -> list of strings dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.cmp_op(??) dis.code_info(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.hasnargs(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.sys(??) dis.types(??) divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) dummy_threading.Barrier(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread(??) dummy_threading.ThreadError(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.local(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.CloseBoundaryNotFoundDefect(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderDefect(??) email.errors.HeaderMissingRequiredValue(??) email.errors.HeaderParseError(??) email.errors.InvalidBase64CharactersDefect(??) email.errors.InvalidBase64PaddingDefect(??) email.errors.InvalidHeaderDefect(??) email.errors.InvalidMultipartContentTransferEncodingDefect(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MissingHeaderBodySeparatorDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.NonASCIILocalPartDefect(??) email.errors.NonPrintableDefect(??) email.errors.ObsoleteHeaderDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.errors.UndecodableBytesDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.compat32(??) email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.message(??) email.feedparser.re(??) email.generator.BytesGenerator(??) email.generator.BytesIO([buffer]) -> object email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.Header(??) email.generator.NL email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.compat32(??) email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.generator.warnings(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.FWS email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.headerregistry.Address(??) email.headerregistry.AddressHeader(??) email.headerregistry.BaseHeader(??) email.headerregistry.ContentDispositionHeader(??) email.headerregistry.ContentTransferEncodingHeader(??) email.headerregistry.ContentTypeHeader(??) email.headerregistry.DateHeader(??) email.headerregistry.Group(??) email.headerregistry.HeaderRegistry(??) email.headerregistry.MIMEVersionHeader(??) email.headerregistry.ParameterizedMIMEHeader(??) email.headerregistry.SingleAddressHeader(??) email.headerregistry.UniqueAddressHeader(??) email.headerregistry.UniqueDateHeader(??) email.headerregistry.UniqueSingleAddressHeader(??) email.headerregistry.UniqueUnstructuredHeader(??) email.headerregistry.UnstructuredHeader(??) email.headerregistry.errors(??) email.headerregistry.parser(??) email.headerregistry.utils(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO([buffer]) -> object email.message.Charset(??) email.message.Message(??) email.message.SEMISPACE email.message.StringIO(??) email.message.base64(??) email.message.binascii(??) email.message.compat32(??) email.message.decode_b(??) email.message.errors(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio.BytesIO([buffer]) -> object email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base.MIMEBase(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.mime.text.encode_7or8bit(??) email.parser(??) email.parser.BytesHeaderParser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Message(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.compat32(??) email.parser.warnings(??) email.policy.Compat32(??) email.policy.EmailPolicy(??) email.policy.HTTP(??) email.policy.HeaderRegistry(??) email.policy.Policy(??) email.policy.SMTP(??) email.policy.compat32(??) email.policy.default(??) email.policy.strict(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.io(??) email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.Charset(??) email.utils.EMPTYSTRING email.utils.StringIO(??) email.utils.TICK email.utils.UEMPTYSTRING email.utils.base64(??) email.utils.collapse_rfc2231_value(??) email.utils.datetime(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.format_datetime(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.localtime(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_to_datetime(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) email.utils.warnings(??) enumerate(iterable[, start]) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EAUTH errno.EBADARCH errno.EBADEXEC errno.EBADF errno.EBADMACHO errno.EBADMSG errno.EBADRPC errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDESTADDRREQ errno.EDEVERR errno.EDOM errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EFTYPE errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENEEDAUTH errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOATTR errno.ENOBUFS errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENOPOLICY errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROCLIM errno.EPROCUNAVAIL errno.EPROGMISMATCH errno.EPROGUNAVAIL errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.EPWROFF errno.ERANGE errno.EREMOTE errno.EROFS errno.ERPCMISMATCH errno.ESHLIBVERS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESTALE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.errorcode(??) eval(source[, globals[, locals]]) -> value exec(object[, globals[, locals]]) exit(??) faulthandler.cancel_dump_traceback_later(): faulthandler.disable(): disable the fault handler faulthandler.dump_traceback(file=sys.stderr, all_threads=True): dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False): faulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler faulthandler.is_enabled()->bool: check if the handler is enabled faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False): register an handler for the signal 'signum': dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register() fcntl.FASYNC fcntl.FD_CLOEXEC fcntl.F_DUPFD fcntl.F_FULLFSYNC fcntl.F_GETFD fcntl.F_GETFL fcntl.F_GETLK fcntl.F_GETOWN fcntl.F_NOCACHE fcntl.F_RDLCK fcntl.F_SETFD fcntl.F_SETFL fcntl.F_SETLK fcntl.F_SETLKW fcntl.F_SETOWN fcntl.F_UNLCK fcntl.F_WRLCK fcntl.LOCK_EX fcntl.LOCK_NB fcntl.LOCK_SH fcntl.LOCK_UN fcntl.fcntl(fd, opt, [arg]) fcntl.flock(fd, operation) fcntl.ioctl(fd, opt[, arg[, mutate_flag]]) fcntl.lockf (fd, operation, length=0, start=0, whence=0) filecmp.BUFSIZE filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(function or None, sequence) --> filterfalse object filecmp.os(??) filecmp.stat(??) fileinput.DEFAULT_BUFSIZE fileinput.FileInput(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(files=None, inplace=False, backup="", bufsize=0, mode="r", openhook=None) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(value[, format_spec]) -> string formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) fractions.Decimal(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.os(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) functools.Lock(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.cmp_to_key(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.reduce(function, sequence[, initial]) -> value functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.callbacks(??) gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage(??) gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.is_tracked(obj) -> bool gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy(??) gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.io(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.os(??) gettext.re(??) gettext.struct(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) globals() -> dictionary grp.getgrall() -> list of tuples grp.getgrgid(id) -> tuple grp.getgrnam(name) -> tuple grp.struct_group(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.open(??) gzip.os(??) gzip.read32(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(object, name) -> bool hash(object) -> integer hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha512(??) heapq.bisect(??) heapq.chain(*iterables) --> chain object heapq.count(start=0, step=1) --> count object heapq.heapify(??) heapq.heappop(??) heapq.heappush(??) heapq.heappushpop(??) heapq.heapreplace(??) heapq.islice(iterable, [start,] stop [, step]) --> islice object heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) heapq.repeat(object [,times]) -> create an iterator which returns the object heapq.tee(iterable, n=2) --> tuple of n independent iterators. help(??) hex(number) -> string hmac.HMAC(??) hmac.compare_digest(a, b) -> bool hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.html5(??) html.entities.name2codepoint(??) html.escape(??) html.parser.HTMLParseError(??) html.parser.HTMLParser(??) html.parser.attrfind(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_normal(??) html.parser.locatestarttagend(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind(??) html.parser.tagfind_tolerant(??) html.parser.warnings(??) http.client.ACCEPTED http.client.BAD_GATEWAY http.client.BAD_REQUEST http.client.BadStatusLine(??) http.client.CONFLICT http.client.CONTINUE http.client.CREATED http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED http.client.FAILED_DEPENDENCY http.client.FORBIDDEN http.client.FOUND http.client.GATEWAY_TIMEOUT http.client.GONE http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED http.client.IM_USED http.client.INSUFFICIENT_STORAGE http.client.INTERNAL_SERVER_ERROR http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED http.client.LOCKED http.client.LineTooLong(??) http.client.MAXAMOUNT http.client.METHOD_NOT_ALLOWED http.client.MOVED_PERMANENTLY http.client.MULTIPLE_CHOICES http.client.MULTI_STATUS http.client.NETWORK_AUTHENTICATION_REQUIRED http.client.NON_AUTHORITATIVE_INFORMATION http.client.NOT_ACCEPTABLE http.client.NOT_EXTENDED http.client.NOT_FOUND http.client.NOT_IMPLEMENTED http.client.NOT_MODIFIED http.client.NO_CONTENT http.client.NotConnected(??) http.client.OK http.client.PARTIAL_CONTENT http.client.PAYMENT_REQUIRED http.client.PRECONDITION_FAILED http.client.PRECONDITION_REQUIRED http.client.PROCESSING http.client.PROXY_AUTHENTICATION_REQUIRED http.client.REQUESTED_RANGE_NOT_SATISFIABLE http.client.REQUEST_ENTITY_TOO_LARGE http.client.REQUEST_HEADER_FIELDS_TOO_LARGE http.client.REQUEST_TIMEOUT http.client.REQUEST_URI_TOO_LONG http.client.RESET_CONTENT http.client.ResponseNotReady(??) http.client.SEE_OTHER http.client.SERVICE_UNAVAILABLE http.client.SWITCHING_PROTOCOLS http.client.TEMPORARY_REDIRECT http.client.TOO_MANY_REQUESTS http.client.UNAUTHORIZED http.client.UNPROCESSABLE_ENTITY http.client.UNSUPPORTED_MEDIA_TYPE http.client.UPGRADE_REQUIRED http.client.USE_PROXY http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.io(??) http.client.os(??) http.client.parse_headers(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.client.warnings(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.datetime(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.SimpleHTTPRequestHandler(??) http.server.argparse(??) http.server.copy(??) http.server.email(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(object) -> integer imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.Months(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.calendar(??) imaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imaplib.timedelta(??) imaplib.timezone(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.acquire_lock() -> None imp.cache_from_source(??) imp.find_module(??) imp.get_frozen_object(??) imp.get_magic(??) imp.get_suffixes(??) imp.get_tag(??) imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(??) imp.load_package(??) imp.load_source(??) imp.lock_held() -> boolean imp.machinery(??) imp.new_module(??) imp.os(??) imp.release_lock() -> None imp.reload(??) imp.source_from_cache(??) imp.sys(??) imp.tokenize(??) imp.warnings(??) importlib.abc.ExecutionLoader(??) importlib.abc.FileLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.MetaPathFinder(??) importlib.abc.PathEntryFinder(??) importlib.abc.PyLoader(??) importlib.abc.PyPycLoader(??) importlib.abc.ResourceLoader(??) importlib.abc.SourceLoader(??) importlib.abc.abc(??) importlib.abc.imp(??) importlib.abc.machinery(??) importlib.abc.marshal(??) importlib.abc.sys(??) importlib.abc.tokenize(??) importlib.abc.warnings(??) importlib.find_loader(??) importlib.import_module(??) importlib.invalidate_caches(??) importlib.machinery(??) importlib.machinery.BYTECODE_SUFFIXES(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.DEBUG_BYTECODE_SUFFIXES(??) importlib.machinery.EXTENSION_SUFFIXES(??) importlib.machinery.ExtensionFileLoader(??) importlib.machinery.FileFinder(??) importlib.machinery.FrozenImporter(??) importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??) importlib.machinery.PathFinder(??) importlib.machinery.SOURCE_SUFFIXES(??) importlib.machinery.SourceFileLoader(??) importlib.machinery.SourcelessFileLoader(??) importlib.machinery.WindowsRegistryFinder(??) importlib.machinery.all_suffixes(??) importlib.sys(??) importlib.util.module_for_loader(??) importlib.util.resolve_name(??) importlib.util.set_loader(??) importlib.util.set_package(??) input([prompt]) -> string inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.BoundArguments(??) inspect.CO_GENERATOR inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.ClosureVars(nonlocals, globals, builtins, unbound) inspect.EndOfBlock(??) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.ModuleInfo(name, suffix, mode, module_type) inspect.OrderedDict(??) inspect.Parameter(??) inspect.Signature(??) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.attrgetter(attr, ...) --> attrgetter object inspect.builtins(??) inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.currentframe(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.functools(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getclosurevars(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorlocals(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.imp(??) inspect.importlib(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.signature(??) inspect.stack(??) inspect.sys(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.v inspect.walktree(??) inspect.warnings(??) int(x[, base]) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO([buffer]) -> object io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) ipaddress.AddressValueError(??) ipaddress.IPV4LENGTH ipaddress.IPV6LENGTH ipaddress.IPv4Address(??) ipaddress.IPv4Interface(??) ipaddress.IPv4Network(??) ipaddress.IPv6Address(??) ipaddress.IPv6Interface(??) ipaddress.IPv6Network(??) ipaddress.NetmaskValueError(??) ipaddress.collapse_addresses(??) ipaddress.functools(??) ipaddress.get_mixed_type_key(??) ipaddress.ip_address(??) ipaddress.ip_interface(??) ipaddress.ip_network(??) ipaddress.summarize_address_range(??) ipaddress.v4_int_to_packed(??) ipaddress.v6_int_to_packed(??) isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(iterable) -> iterator itertools.accumulate(iterable[, func]) --> accumulate object itertools.chain(*iterables) --> chain object itertools.combinations(iterable, r) --> combinations object itertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.filterfalse(function or None, sequence) --> filterfalse object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.islice(iterable, [start,] stop [, step]) --> islice object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecoder(??) json.JSONEncoder(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS json.decoder.JSONArray(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.binascii(??) json.decoder.c_scanstring(??) json.decoder.errmsg(??) json.decoder.linecol(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanner(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.decoder.struct(??) json.decoder.sys(??) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.FLOAT_REPR(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(??) json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) keyword.main(??) len(object) -> integer license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list() -> new empty list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.collections(??) locale.currency(??) locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.windows_locale(??) locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.re(??) logging.config.socket(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.thread(??) logging.config.threading(??) logging.config.traceback(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers.BOM_UTF8 logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.errno(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.queue(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.threading(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing(??) logging.logProcesses(??) logging.logThreads(??) logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions(??) logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) lzma.CHECK_CRC32 lzma.CHECK_CRC64 lzma.CHECK_ID_MAX lzma.CHECK_NONE lzma.CHECK_SHA256 lzma.CHECK_UNKNOWN lzma.FILTER_ARM lzma.FILTER_ARMTHUMB lzma.FILTER_DELTA lzma.FILTER_IA64 lzma.FILTER_LZMA1 lzma.FILTER_LZMA2 lzma.FILTER_POWERPC lzma.FILTER_SPARC lzma.FILTER_X86 lzma.FORMAT_ALONE lzma.FORMAT_AUTO lzma.FORMAT_RAW lzma.FORMAT_XZ lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None) lzma.LZMADecompressor(format=FORMAT_AUTO, memlimit=None, filters=None) lzma.LZMAError(??) lzma.LZMAFile(??) lzma.MF_BT2 lzma.MF_BT3 lzma.MF_BT4 lzma.MF_HC3 lzma.MF_HC4 lzma.MODE_FAST lzma.MODE_NORMAL lzma.PRESET_DEFAULT lzma.PRESET_EXTREME lzma.builtins(??) lzma.compress(??) lzma.decompress(??) lzma.io(??) lzma.is_check_supported(check_id) -> bool lzma.open(??) macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFREG macpath.S_IFSOCK macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(??) macpath.S_ISCHR(??) macpath.S_ISDIR(??) macpath.S_ISFIFO(??) macpath.S_ISGID macpath.S_ISLNK(??) macpath.S_ISREG(??) macpath.S_ISSOCK(??) macpath.S_ISUID macpath.S_ISVTX macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_COMPRESSED macpath.UF_HIDDEN macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep(??) macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.filemode(??) macpath.genericpath(??) macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os(??) macpath.pardir macpath.pathsep macpath.realpath(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames(??) macurl2path.os(??) macurl2path.pathname2url(??) macurl2path.test(??) macurl2path.url2pathname(??) macurl2path.urllib(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.contextlib(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.sys(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(func, *iterables) --> map object marshal.dump(value, file[, version]) marshal.dumps(value[, version]) marshal.load(file) marshal.loads(bytes) marshal.version math.acos(x) math.acosh(x) math.asin(x) math.asinh(x) math.atan(x) math.atan2(y, x) math.atanh(x) math.ceil(x) math.copysign(x, y) math.cos(x) math.cosh(x) math.degrees(x) math.e math.erf(x) math.erfc(x) math.exp(x) math.expm1(x) math.fabs(x) math.factorial(x) -> Integral math.floor(x) math.fmod(x, y) math.frexp(x) math.fsum(iterable) math.gamma(x) math.hypot(x, y) math.isfinite(x) -> bool math.isinf(x) -> bool math.isnan(x) -> bool math.ldexp(x, i) math.lgamma(x) math.log(x[, base]) math.log10(x) math.log1p(x) math.log2(x) math.modf(x) math.pi math.pow(x, y) math.radians(x) math.sin(x) math.sinh(x) math.sqrt(x) math.tan(x) math.tanh(x) math.trunc(x:Real) -> Integral max(iterable[, key=func]) -> value memoryview(object) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable[, key=func]) -> value mmap.ACCESS_COPY mmap.ACCESS_READ mmap.ACCESS_WRITE mmap.ALLOCATIONGRANULARITY mmap.MAP_ANON mmap.MAP_ANONYMOUS mmap.MAP_PRIVATE mmap.MAP_SHARED mmap.PAGESIZE mmap.PROT_EXEC mmap.PROT_READ mmap.PROT_WRITE mmap.error(??) mmap.mmap(??) modulefinder.AddPackagePath(??) modulefinder.HAVE_ARGUMENT modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.imp(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.struct(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.Barrier(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.SimpleQueue(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.BufferTooShort(??) multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.Connection(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.Finalize(??) multiprocessing.connection.ForkingPickler(??) multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.current_process(??) multiprocessing.connection.debug(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.errno(??) multiprocessing.connection.families(??) multiprocessing.connection.get_temp_dir(??) multiprocessing.connection.io(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.pickle(??) multiprocessing.connection.reduction(??) multiprocessing.connection.select(??) multiprocessing.connection.socket(??) multiprocessing.connection.struct(??) multiprocessing.connection.sub_debug(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.connection.wait(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.Barrier(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.list() -> new empty list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forking(??) multiprocessing.forking.ForkingPickler(??) multiprocessing.forking.Pickler(file, protocol=None) multiprocessing.forking.Popen(??) multiprocessing.forking.assert_spawning(??) multiprocessing.forking.close(fd) multiprocessing.forking.dispatch_table(??) multiprocessing.forking.duplicate(??) multiprocessing.forking.old_main_modules(??) multiprocessing.forking.os(??) multiprocessing.forking.partial(func, *args, **keywords) - new function with partial application multiprocessing.forking.prepare(??) multiprocessing.forking.process(??) multiprocessing.forking.signal(??) multiprocessing.forking.sys(??) multiprocessing.forking.util(??) multiprocessing.freeze_support(??) multiprocessing.get_logger(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Finalize(??) multiprocessing.heap.Heap(??) multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect(??) multiprocessing.heap.info(??) multiprocessing.heap.itertools(??) multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.sys(??) multiprocessing.heap.threading(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AuthenticationString(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BarrierProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.ForkingPickler(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.Pool(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.Popen(??) multiprocessing.managers.Process(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.active_children(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.connection(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.copyreg(??) multiprocessing.managers.current_process(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.os(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.Finalize(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.Process(??) multiprocessing.pool.RUN multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.cpu_count(??) multiprocessing.pool.debug(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.queue(??) multiprocessing.pool.starmapstar(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.worker(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.Process(??) multiprocessing.process.WeakSet(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.signal(??) multiprocessing.process.signum multiprocessing.process.sys(??) multiprocessing.queues(??) multiprocessing.queues.BoundedSemaphore(??) multiprocessing.queues.Condition(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Lock(??) multiprocessing.queues.Pipe(??) multiprocessing.queues.Queue(??) multiprocessing.queues.Semaphore(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.assert_spawning(??) multiprocessing.queues.collections(??) multiprocessing.queues.debug(??) multiprocessing.queues.errno(??) multiprocessing.queues.info(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reduction(??) multiprocessing.reduction.ACKNOWLEDGE(??) multiprocessing.reduction.DupFd(??) multiprocessing.reduction.ResourceSharer(??) multiprocessing.reduction.current_process(??) multiprocessing.reduction.debug(??) multiprocessing.reduction.is_exiting(??) multiprocessing.reduction.os(??) multiprocessing.reduction.rebuild_connection(??) multiprocessing.reduction.rebuild_socket(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.reduce_connection(??) multiprocessing.reduction.reduce_socket(??) multiprocessing.reduction.register_after_fork(??) multiprocessing.reduction.resource_sharer(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.signal(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.struct(??) multiprocessing.reduction.sub_debug(??) multiprocessing.reduction.sub_warning(??) multiprocessing.reduction.sys(??) multiprocessing.reduction.threading(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.ForkingPickler(??) multiprocessing.sharedctypes.RLock(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.synchronize(??) multiprocessing.synchronize.Barrier(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.Popen(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.assert_spawning(??) multiprocessing.synchronize.current_process(??) multiprocessing.synchronize.debug(??) multiprocessing.synchronize.register_after_fork(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.threading(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.active_children(??) multiprocessing.util.atexit(??) multiprocessing.util.current_process(??) multiprocessing.util.debug(??) multiprocessing.util.functools(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.os(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.sys(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.io(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) next(iterator[, default]) nis.cat(map, domain = defaultdomain) nis.error(??) nis.get_default_domain() -> str nis.maps(domain = defaultdomain) nis.match(key, map, domain = defaultdomain) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.warnings(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) object(??) oct(number) -> string open(??) operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.gt(a, b) -- Same as a>b. operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imod(??) operator.imul(??) operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(a, b) -- Same as a<=b. operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.rshift(a, b) -- Same as a >> b. operator.setitem(a, b, c) -- Same as a[b] = c. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.ngettext(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(c) -> integer os.CLD_CONTINUED os.CLD_DUMPED os.CLD_EXITED os.CLD_TRAPPED os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_LOCK os.F_OK os.F_TEST os.F_TLOCK os.F_ULOCK os.MutableMapping(??) os.NGROUPS_MAX os.O_ACCMODE os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_EXLOCK os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_SHLOCK os.O_SYNC os.O_TRUNC os.O_WRONLY os.PRIO_PGRP os.PRIO_PROCESS os.PRIO_USER os.P_ALL os.P_NOWAIT os.P_NOWAITO os.P_PGID os.P_PID os.P_WAIT os.RTLD_GLOBAL os.RTLD_LAZY os.RTLD_LOCAL os.RTLD_NODELETE os.RTLD_NOLOAD os.RTLD_NOW os.R_OK os.SCHED_FIFO os.SCHED_OTHER os.SCHED_RR os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITED os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WNOWAIT os.WSTOPPED os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True) os.altsep(??) os.chdir(path) os.chflags(path, flags, *, follow_symlinks=True) os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) os.chroot(path) os.close(fd) os.closerange(fd_low, fd_high) os.confstr(name) -> string os.confstr_names(??) os.ctermid() -> string os.curdir os.defpath os.device_encoding(fd) -> str os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ(??) os.environb(??) os.errno(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(fd) os.fchmod(fd, mode) os.fchown(fd, uid, gid) os.fdopen(??) os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fsdecode(??) os.fsencode(??) os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.get_exec_path(??) os.get_terminal_size(??) os.getcwd() -> path os.getcwdb() -> path os.getegid() -> egid os.getenv(??) os.getenvb(??) os.geteuid() -> euid os.getgid() -> gid os.getgrouplist(user, group) -> list of groups to which a user belongs os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getpriority(which, who) -> current_priority os.getsid(pid) -> sid os.getuid() -> uid os.initgroups(username, gid) -> None os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchflags(path, flags) os.lchmod(path, mode) os.lchown(path, uid, gid) os.linesep os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True) os.listdir(path='.') -> list_of_filenames os.lockf(fd, cmd, len) os.lseek(fd, pos, how) -> newpos os.lstat(path, *, dir_fd=None) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0o777][, exist_ok=False]) os.minor(device) -> minor number os.mkdir(path, mode=0o777, *, dir_fd=None) os.mkfifo(path, mode=0o666, *, dir_fd=None) os.mknod(filename, mode=0o600, device=0, *, dir_fd=None) os.name os.nice(inc) -> new_priority os.open(path, flags, mode=0o777, *, dir_fd=None) os.openpty() -> (master_fd, slave_fd) os.pardir os.path(??) os.pathconf(path, name) -> integer os.pathconf_names(??) os.pathsep os.pipe() -> (read_end, write_end) os.popen(??) os.pread(fd, buffersize, offset) -> string os.putenv(key, value) os.pwrite(fd, string, offset) -> byteswritten os.read(fd, buffersize) -> string os.readlink(path, *, dir_fd=None) -> path os.readv(fd, buffers) -> bytesread os.remove(path, *, dir_fd=None) os.removedirs(path) os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) os.renames(old, new) os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None) os.rmdir(path, *, dir_fd=None) os.sched_get_priority_max(policy) os.sched_get_priority_min(policy) os.sched_yield() os.sendfile(out, in, offset, nbytes) -> byteswritten os.sep os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setpriority(which, who, prio) -> None os.setregid(rgid, egid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.st(??) os.stat(path, *, dir_fd=None, follow_symlinks=True) -> stat result os.stat_float_times([newval]) -> oldval os.stat_result(??) os.statvfs(path) os.statvfs_result(??) os.strerror(code) -> string os.supports_bytes_environ(??) os.supports_dir_fd(??) os.supports_effective_ids(??) os.supports_fd(??) os.supports_follow_symlinks(??) os.symlink(src, dst, target_is_directory=False, *, dir_fd=None) os.sync() os.sys(??) os.sysconf(name) -> integer os.sysconf_names(??) os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.terminal_size(??) os.times() -> times_result os.times_result(??) os.truncate(path, length) os.ttyname(fd) -> string os.umask(new_mask) -> old_mask os.uname() -> uname_result os.uname_result(??) os.unlink(path, *, dir_fd=None) os.unsetenv(key) os.urandom(n) -> str os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True) os.wait() -> (pid, status) os.wait3(options) -> (pid, status, rusage) os.wait4(pid, options) -> (pid, status, rusage) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, string) -> byteswritten os.writev(fd, buffers) -> byteswritten packaging.command.PackagingModuleError(??) packaging.command.STANDARD_COMMANDS(??) packaging.command.bdist.Command(??) packaging.command.bdist.PackagingOptionError(??) packaging.command.bdist.PackagingPlatformError(??) packaging.command.bdist.bdist(??) packaging.command.bdist.os(??) packaging.command.bdist.show_formats(??) packaging.command.bdist.util(??) packaging.command.bdist_dumb.Command(??) packaging.command.bdist_dumb.PackagingPlatformError(??) packaging.command.bdist_dumb.bdist_dumb(??) packaging.command.bdist_dumb.get_platform(??) packaging.command.bdist_dumb.get_python_version(??) packaging.command.bdist_dumb.logger(??) packaging.command.bdist_dumb.os(??) packaging.command.bdist_dumb.rmtree(??) packaging.command.bdist_wininst.Command(??) packaging.command.bdist_wininst.PackagingOptionError(??) packaging.command.bdist_wininst.PackagingPlatformError(??) packaging.command.bdist_wininst.bdist_wininst(??) packaging.command.bdist_wininst.get_platform(??) packaging.command.bdist_wininst.get_python_version(??) packaging.command.bdist_wininst.logger(??) packaging.command.bdist_wininst.os(??) packaging.command.bdist_wininst.rmtree(??) packaging.command.bdist_wininst.sys(??) packaging.command.build.Command(??) packaging.command.build.PackagingOptionError(??) packaging.command.build.build(??) packaging.command.build.get_platform(??) packaging.command.build.os(??) packaging.command.build.show_compilers(??) packaging.command.build.sys(??) packaging.command.build_clib.Command(??) packaging.command.build_clib.PackagingSetupError(??) packaging.command.build_clib.build_clib(??) packaging.command.build_clib.customize_compiler(??) packaging.command.build_clib.logger(??) packaging.command.build_clib.new_compiler(??) packaging.command.build_clib.os(??) packaging.command.build_clib.show_compilers(??) packaging.command.build_ext.CCompilerError(??) packaging.command.build_ext.Command(??) packaging.command.build_ext.CompileError(??) packaging.command.build_ext.Extension(??) packaging.command.build_ext.PackagingError(??) packaging.command.build_ext.PackagingPlatformError(??) packaging.command.build_ext.PackagingSetupError(??) packaging.command.build_ext.build_ext(??) packaging.command.build_ext.customize_compiler(??) packaging.command.build_ext.extension_name_re(??) packaging.command.build_ext.get_platform(??) packaging.command.build_ext.logger(??) packaging.command.build_ext.newer_group(??) packaging.command.build_ext.os(??) packaging.command.build_ext.re(??) packaging.command.build_ext.show_compilers(??) packaging.command.build_ext.site(??) packaging.command.build_ext.sys(??) packaging.command.build_ext.sysconfig(??) packaging.command.build_py.Command(??) packaging.command.build_py.Mixin2to3(??) packaging.command.build_py.PackagingFileError(??) packaging.command.build_py.PackagingOptionError(??) packaging.command.build_py.build_py(??) packaging.command.build_py.convert_path(??) packaging.command.build_py.glob(??) packaging.command.build_py.imp(??) packaging.command.build_py.logger(??) packaging.command.build_py.os(??) packaging.command.build_scripts.Command(??) packaging.command.build_scripts.Mixin2to3(??) packaging.command.build_scripts.build_scripts(??) packaging.command.build_scripts.convert_path(??) packaging.command.build_scripts.detect_encoding(??) packaging.command.build_scripts.first_line_re(??) packaging.command.build_scripts.logger(??) packaging.command.build_scripts.newer(??) packaging.command.build_scripts.os(??) packaging.command.build_scripts.re(??) packaging.command.build_scripts.sysconfig(??) packaging.command.check.Command(??) packaging.command.check.PackagingSetupError(??) packaging.command.check.check(??) packaging.command.check.logger(??) packaging.command.check.resolve_name(??) packaging.command.clean.Command(??) packaging.command.clean.clean(??) packaging.command.clean.logger(??) packaging.command.clean.os(??) packaging.command.clean.rmtree(??) packaging.command.cmd.Command(??) packaging.command.cmd.PackagingOptionError(??) packaging.command.cmd.copyfile(??) packaging.command.cmd.logger(??) packaging.command.cmd.make_archive(??) packaging.command.cmd.move(??) packaging.command.cmd.os(??) packaging.command.cmd.re(??) packaging.command.cmd.util(??) packaging.command.config.Command(??) packaging.command.config.LANG_EXT(??) packaging.command.config.PackagingExecError(??) packaging.command.config.config(??) packaging.command.config.customize_compiler(??) packaging.command.config.dump_file(??) packaging.command.config.logger(??) packaging.command.config.os(??) packaging.command.config.re(??) packaging.command.get_command_class(??) packaging.command.get_command_names(??) packaging.command.install_dist.Command(??) packaging.command.install_dist.PackagingOptionError(??) packaging.command.install_dist.PackagingPlatformError(??) packaging.command.install_dist.change_root(??) packaging.command.install_dist.convert_path(??) packaging.command.install_dist.get_config_var(??) packaging.command.install_dist.get_config_vars(??) packaging.command.install_dist.get_path(??) packaging.command.install_dist.get_paths(??) packaging.command.install_dist.get_platform(??) packaging.command.install_dist.install_dist(??) packaging.command.install_dist.logger(??) packaging.command.install_dist.os(??) packaging.command.install_dist.sys(??) packaging.command.install_dist.sysconfig(??) packaging.command.install_dist.write_file(??) packaging.command.install_distinfo.Command(??) packaging.command.install_distinfo.csv(??) packaging.command.install_distinfo.hashlib(??) packaging.command.install_distinfo.install_distinfo(??) packaging.command.install_distinfo.logger(??) packaging.command.install_distinfo.os(??) packaging.command.install_distinfo.rmtree(??) packaging.command.install_headers.Command(??) packaging.command.install_headers.install_headers(??) packaging.command.install_lib.Command(??) packaging.command.install_lib.PYTHON_SOURCE_EXTENSION packaging.command.install_lib.PackagingOptionError(??) packaging.command.install_lib.imp(??) packaging.command.install_lib.install_lib(??) packaging.command.install_lib.logger(??) packaging.command.install_lib.os(??) packaging.command.install_scripts.Command(??) packaging.command.install_scripts.install_scripts(??) packaging.command.install_scripts.logger(??) packaging.command.install_scripts.os(??) packaging.command.os(??) packaging.command.register.Command(??) packaging.command.register.DEFAULT_REALM packaging.command.register.DEFAULT_REPOSITORY packaging.command.register.encode_multipart(??) packaging.command.register.generate_pypirc(??) packaging.command.register.get_pypirc_path(??) packaging.command.register.getpass(??) packaging.command.register.logger(??) packaging.command.register.read_pypirc(??) packaging.command.register.register(??) packaging.command.register.urllib(??) packaging.command.resolve_name(??) packaging.command.sdist.Command(??) packaging.command.sdist.Manifest(??) packaging.command.sdist.PackagingFileError(??) packaging.command.sdist.PackagingModuleError(??) packaging.command.sdist.PackagingOptionError(??) packaging.command.sdist.PackagingPlatformError(??) packaging.command.sdist.StringIO(??) packaging.command.sdist.get_archive_formats(??) packaging.command.sdist.get_command_names(??) packaging.command.sdist.logger(??) packaging.command.sdist.os(??) packaging.command.sdist.re(??) packaging.command.sdist.resolve_name(??) packaging.command.sdist.rmtree(??) packaging.command.sdist.sdist(??) packaging.command.sdist.show_formats(??) packaging.command.sdist.sys(??) packaging.command.set_command(??) packaging.command.test.Command(??) packaging.command.test.PackagingOptionError(??) packaging.command.test.get_distribution(??) packaging.command.test.logger(??) packaging.command.test.logging(??) packaging.command.test.os(??) packaging.command.test.resolve_name(??) packaging.command.test.sys(??) packaging.command.test.test(??) packaging.command.test.unittest(??) packaging.command.upload.Command(??) packaging.command.upload.DEFAULT_REALM packaging.command.upload.DEFAULT_REPOSITORY packaging.command.upload.HTTPError(??) packaging.command.upload.PackagingOptionError(??) packaging.command.upload.Request(??) packaging.command.upload.encode_multipart(??) packaging.command.upload.logger(??) packaging.command.upload.logging(??) packaging.command.upload.md5(??) packaging.command.upload.os(??) packaging.command.upload.platform(??) packaging.command.upload.read_pypirc(??) packaging.command.upload.socket(??) packaging.command.upload.spawn(??) packaging.command.upload.standard_b64encode(??) packaging.command.upload.upload(??) packaging.command.upload.urllib(??) packaging.command.upload.urlopen(??) packaging.command.upload_docs.BytesIO([buffer]) -> object packaging.command.upload_docs.Command(??) packaging.command.upload_docs.DEFAULT_REALM packaging.command.upload_docs.DEFAULT_REPOSITORY packaging.command.upload_docs.PackagingFileError(??) packaging.command.upload_docs.base64(??) packaging.command.upload_docs.encode_multipart(??) packaging.command.upload_docs.http(??) packaging.command.upload_docs.logger(??) packaging.command.upload_docs.logging(??) packaging.command.upload_docs.os(??) packaging.command.upload_docs.read_pypirc(??) packaging.command.upload_docs.socket(??) packaging.command.upload_docs.upload_docs(??) packaging.command.upload_docs.urllib(??) packaging.command.upload_docs.zip_dir(??) packaging.command.upload_docs.zipfile(??) packaging.compat.Mixin2to3(??) packaging.compat.logger(??) packaging.compiler.PackagingPlatformError(??) packaging.compiler.ccompiler.CCompiler(??) packaging.compiler.ccompiler.CompileError(??) packaging.compiler.ccompiler.LinkError(??) packaging.compiler.ccompiler.UnknownFileError(??) packaging.compiler.ccompiler.execute(??) packaging.compiler.ccompiler.gen_preprocess_options(??) packaging.compiler.ccompiler.logger(??) packaging.compiler.ccompiler.move(??) packaging.compiler.ccompiler.newer_group(??) packaging.compiler.ccompiler.os(??) packaging.compiler.ccompiler.spawn(??) packaging.compiler.ccompiler.split_quoted(??) packaging.compiler.customize_compiler(??) packaging.compiler.cygwinccompiler.CONFIG_H_NOTOK packaging.compiler.cygwinccompiler.CONFIG_H_OK packaging.compiler.cygwinccompiler.CONFIG_H_UNCERTAIN packaging.compiler.cygwinccompiler.CompileError(??) packaging.compiler.cygwinccompiler.CygwinCCompiler(??) packaging.compiler.cygwinccompiler.Mingw32CCompiler(??) packaging.compiler.cygwinccompiler.PackagingExecError(??) packaging.compiler.cygwinccompiler.UnixCCompiler(??) packaging.compiler.cygwinccompiler.UnknownFileError(??) packaging.compiler.cygwinccompiler.check_config_h(??) packaging.compiler.cygwinccompiler.get_compiler_versions(??) packaging.compiler.cygwinccompiler.get_msvcr(??) packaging.compiler.cygwinccompiler.logger(??) packaging.compiler.cygwinccompiler.os(??) packaging.compiler.cygwinccompiler.sys(??) packaging.compiler.cygwinccompiler.sysconfig(??) packaging.compiler.cygwinccompiler.write_file(??) packaging.compiler.extension(??) packaging.compiler.extension.Extension(??) packaging.compiler.extension.logger(??) packaging.compiler.gen_lib_options(??) packaging.compiler.gen_preprocess_options(??) packaging.compiler.get_default_compiler(??) packaging.compiler.logger(??) packaging.compiler.msvccompiler.CCompiler(??) packaging.compiler.msvccompiler.CompileError(??) packaging.compiler.msvccompiler.LibError(??) packaging.compiler.msvccompiler.LinkError(??) packaging.compiler.msvccompiler.MSVCCompiler(??) packaging.compiler.msvccompiler.MacroExpander(??) packaging.compiler.msvccompiler.PackagingExecError(??) packaging.compiler.msvccompiler.PackagingPlatformError(??) packaging.compiler.msvccompiler.convert_mbcs(??) packaging.compiler.msvccompiler.gen_lib_options(??) packaging.compiler.msvccompiler.get_build_architecture(??) packaging.compiler.msvccompiler.get_build_version(??) packaging.compiler.msvccompiler.logger(??) packaging.compiler.msvccompiler.normalize_and_reduce_paths(??) packaging.compiler.msvccompiler.os(??) packaging.compiler.msvccompiler.read_keys(??) packaging.compiler.msvccompiler.read_values(??) packaging.compiler.msvccompiler.sys(??) packaging.compiler.new_compiler(??) packaging.compiler.os(??) packaging.compiler.re(??) packaging.compiler.resolve_name(??) packaging.compiler.set_compiler(??) packaging.compiler.show_compilers(??) packaging.compiler.sys(??) packaging.compiler.sysconfig(??) packaging.compiler.unixccompiler.CCompiler(??) packaging.compiler.unixccompiler.CompileError(??) packaging.compiler.unixccompiler.LibError(??) packaging.compiler.unixccompiler.LinkError(??) packaging.compiler.unixccompiler.PackagingExecError(??) packaging.compiler.unixccompiler.UnixCCompiler(??) packaging.compiler.unixccompiler.gen_lib_options(??) packaging.compiler.unixccompiler.gen_preprocess_options(??) packaging.compiler.unixccompiler.logger(??) packaging.compiler.unixccompiler.newer(??) packaging.compiler.unixccompiler.os(??) packaging.compiler.unixccompiler.sys(??) packaging.compiler.unixccompiler.sysconfig(??) packaging.config.Config(??) packaging.config.Extension(??) packaging.config.PackagingOptionError(??) packaging.config.RawConfigParser(??) packaging.config.check_environ(??) packaging.config.get_resources_dests(??) packaging.config.iglob(??) packaging.config.interpret(??) packaging.config.logger(??) packaging.config.logging(??) packaging.config.os(??) packaging.config.resolve_name(??) packaging.config.set_command(??) packaging.config.set_compiler(??) packaging.config.split(??) packaging.config.split_multiline(??) packaging.config.strtobool(??) packaging.config.sys(??) packaging.create.CLASSIFIERS(??) packaging.create.LICENCES(??) packaging.create.MainProgram(??) packaging.create.PROJECT_MATURITY(??) packaging.create.RawConfigParser(??) packaging.create.ask(??) packaging.create.ask_yn(??) packaging.create.convert_yn_to_bool(??) packaging.create.dedent(??) packaging.create.detect_encoding(??) packaging.create.glob(??) packaging.create.imp(??) packaging.create.is_valid_version(??) packaging.create.load_setup(??) packaging.create.logger(??) packaging.create.main(??) packaging.create.md5(??) packaging.create.os(??) packaging.create.re(??) packaging.create.shutil(??) packaging.create.sys(??) packaging.create.sysconfig(??) packaging.database.DIST_FILES(??) packaging.database.Distribution(??) packaging.database.EggInfoDistribution(??) packaging.database.Metadata(??) packaging.database.PackagingError(??) packaging.database.StringIO(??) packaging.database.VersionPredicate(??) packaging.database.clear_cache(??) packaging.database.csv(??) packaging.database.disable_cache(??) packaging.database.distinfo_dirname(??) packaging.database.enable_cache(??) packaging.database.get_distribution(??) packaging.database.get_distributions(??) packaging.database.get_file(??) packaging.database.get_file_path(??) packaging.database.get_file_users(??) packaging.database.logger(??) packaging.database.md5(??) packaging.database.obsoletes_distribution(??) packaging.database.os(??) packaging.database.provides_distribution(??) packaging.database.re(??) packaging.database.suggest_normalized_version(??) packaging.database.sys(??) packaging.database.zipimport(??) packaging.depgraph.DependencyGraph(??) packaging.depgraph.IrrationalVersionError(??) packaging.depgraph.PackagingError(??) packaging.depgraph.StringIO(??) packaging.depgraph.VersionPredicate(??) packaging.depgraph.dependent_dists(??) packaging.depgraph.generate_graph(??) packaging.depgraph.graph_to_dot(??) packaging.depgraph.main(??) packaging.depgraph.sys(??) packaging.dist.Command(??) packaging.dist.Config(??) packaging.dist.Distribution(??) packaging.dist.FancyGetopt(??) packaging.dist.Metadata(??) packaging.dist.PackagingArgError(??) packaging.dist.PackagingClassError(??) packaging.dist.PackagingModuleError(??) packaging.dist.PackagingOptionError(??) packaging.dist.STANDARD_COMMANDS(??) packaging.dist.USAGE packaging.dist.command_re(??) packaging.dist.gen_usage(??) packaging.dist.get_command_class(??) packaging.dist.logger(??) packaging.dist.os(??) packaging.dist.re(??) packaging.dist.resolve_name(??) packaging.dist.strtobool(??) packaging.errors.CCompilerError(??) packaging.errors.CompileError(??) packaging.errors.HugeMajorVersionNumError(??) packaging.errors.InstallationConflict(??) packaging.errors.InstallationException(??) packaging.errors.IrrationalVersionError(??) packaging.errors.LibError(??) packaging.errors.LinkError(??) packaging.errors.MetadataConflictError(??) packaging.errors.MetadataMissingError(??) packaging.errors.MetadataUnrecognizedVersionError(??) packaging.errors.PackagingArgError(??) packaging.errors.PackagingClassError(??) packaging.errors.PackagingError(??) packaging.errors.PackagingExecError(??) packaging.errors.PackagingFileError(??) packaging.errors.PackagingGetoptError(??) packaging.errors.PackagingInternalError(??) packaging.errors.PackagingModuleError(??) packaging.errors.PackagingOptionError(??) packaging.errors.PackagingPlatformError(??) packaging.errors.PackagingPyPIError(??) packaging.errors.PackagingSetupError(??) packaging.errors.PackagingTemplateError(??) packaging.errors.PreprocessError(??) packaging.errors.UnknownFileError(??) packaging.fancy_getopt.FancyGetopt(??) packaging.fancy_getopt.OptionDummy(??) packaging.fancy_getopt.PackagingArgError(??) packaging.fancy_getopt.PackagingGetoptError(??) packaging.fancy_getopt.fancy_getopt(??) packaging.fancy_getopt.getopt(??) packaging.fancy_getopt.longopt_pat packaging.fancy_getopt.longopt_re(??) packaging.fancy_getopt.neg_alias_re(??) packaging.fancy_getopt.re(??) packaging.fancy_getopt.sys(??) packaging.fancy_getopt.textwrap(??) packaging.getLogger(??) packaging.install.CCompilerError(??) packaging.install.Distribution(??) packaging.install.InstallationConflict(??) packaging.install.InstallationException(??) packaging.install.PackagingError(??) packaging.install.ProjectNotFound(??) packaging.install.ReleaseNotFound(??) packaging.install.ask(??) packaging.install.database(??) packaging.install.egginfo_to_distinfo(??) packaging.install.errno(??) packaging.install.generate_graph(??) packaging.install.get_config_var(??) packaging.install.get_distribution(??) packaging.install.get_distributions(??) packaging.install.get_infos(??) packaging.install.get_install_method(??) packaging.install.get_path(??) packaging.install.get_version_predicate(??) packaging.install.install(??) packaging.install.install_dists(??) packaging.install.install_from_infos(??) packaging.install.install_local_project(??) packaging.install.install_methods(??) packaging.install.is_python_build(??) packaging.install.logger(??) packaging.install.logging(??) packaging.install.os(??) packaging.install.remove(??) packaging.install.shutil(??) packaging.install.stat(??) packaging.install.sys(??) packaging.install.tempfile(??) packaging.install.wrapper(??) packaging.logger(??) packaging.manifest.Manifest(??) packaging.manifest.PackagingInternalError(??) packaging.manifest.PackagingTemplateError(??) packaging.manifest.convert_path(??) packaging.manifest.fnmatch(??) packaging.manifest.logger(??) packaging.manifest.os(??) packaging.manifest.re(??) packaging.manifest.write_file(??) packaging.markers.BytesIO([buffer]) -> object packaging.markers.ENCODING packaging.markers.ENDMARKER packaging.markers.NAME packaging.markers.OP packaging.markers.STRING packaging.markers.interpret(??) packaging.markers.os(??) packaging.markers.platform(??) packaging.markers.sys(??) packaging.markers.tokenize(??) packaging.metadata.Metadata(??) packaging.metadata.MetadataConflictError(??) packaging.metadata.MetadataMissingError(??) packaging.metadata.MetadataUnrecognizedVersionError(??) packaging.metadata.PKG_INFO_ENCODING packaging.metadata.PKG_INFO_PREFERRED_VERSION packaging.metadata.StringIO(??) packaging.metadata.interpret(??) packaging.metadata.is_valid_predicate(??) packaging.metadata.is_valid_version(??) packaging.metadata.is_valid_versions(??) packaging.metadata.logger(??) packaging.metadata.logging(??) packaging.metadata.message_from_file(??) packaging.metadata.re(??) packaging.pypi.DistInfo(??) packaging.pypi.ReleaseInfo(??) packaging.pypi.ReleasesList(??) packaging.pypi.base(??) packaging.pypi.base.BaseClient(??) packaging.pypi.base.ReleasesList(??) packaging.pypi.dist(??) packaging.pypi.dist.CantParseArchiveName(??) packaging.pypi.dist.DIST_TYPES(??) packaging.pypi.dist.DistInfo(??) packaging.pypi.dist.EXTENSIONS(??) packaging.pypi.dist.HashDoesNotMatch(??) packaging.pypi.dist.IndexReference(??) packaging.pypi.dist.IrrationalVersionError(??) packaging.pypi.dist.MD5_HASH(??) packaging.pypi.dist.Metadata(??) packaging.pypi.dist.NormalizedVersion(??) packaging.pypi.dist.ReleaseInfo(??) packaging.pypi.dist.ReleasesList(??) packaging.pypi.dist.UnsupportedHashName(??) packaging.pypi.dist.get_infos_from_url(??) packaging.pypi.dist.get_version_predicate(??) packaging.pypi.dist.hashlib(??) packaging.pypi.dist.re(??) packaging.pypi.dist.split_archive_name(??) packaging.pypi.dist.suggest_normalized_version(??) packaging.pypi.dist.tempfile(??) packaging.pypi.dist.unpack_archive(??) packaging.pypi.dist.urllib(??) packaging.pypi.errors(??) packaging.pypi.errors.CantParseArchiveName(??) packaging.pypi.errors.DistributionNotFound(??) packaging.pypi.errors.DownloadError(??) packaging.pypi.errors.HashDoesNotMatch(??) packaging.pypi.errors.InvalidSearchField(??) packaging.pypi.errors.PackagingPyPIError(??) packaging.pypi.errors.ProjectNotFound(??) packaging.pypi.errors.ReleaseNotFound(??) packaging.pypi.errors.UnableToDownload(??) packaging.pypi.errors.UnsupportedHashName(??) packaging.pypi.mirrors(??) packaging.pypi.mirrors.DEFAULT_MIRROR_URL packaging.pypi.mirrors.ascii_lowercase packaging.pypi.mirrors.get_mirrors(??) packaging.pypi.mirrors.product(??) packaging.pypi.mirrors.socket(??) packaging.pypi.mirrors.string_range(??) packaging.pypi.simple(??) packaging.pypi.simple.BaseClient(??) packaging.pypi.simple.CantParseArchiveName(??) packaging.pypi.simple.Crawler(??) packaging.pypi.simple.DEFAULT_HOSTS(??) packaging.pypi.simple.DEFAULT_SIMPLE_INDEX_URL packaging.pypi.simple.DownloadError(??) packaging.pypi.simple.EGG_FRAGMENT(??) packaging.pypi.simple.ENTITY_SUB(??) packaging.pypi.simple.EXTENSIONS(??) packaging.pypi.simple.HREF(??) packaging.pypi.simple.MD5_HASH(??) packaging.pypi.simple.Metadata(??) packaging.pypi.simple.PackagingPyPIError(??) packaging.pypi.simple.ProjectNotFound(??) packaging.pypi.simple.REL(??) packaging.pypi.simple.ReleaseNotFound(??) packaging.pypi.simple.ReleasesList(??) packaging.pypi.simple.SOCKET_TIMEOUT packaging.pypi.simple.URL_SCHEME(??) packaging.pypi.simple.USER_AGENT packaging.pypi.simple.UnableToDownload(??) packaging.pypi.simple.get_infos_from_url(??) packaging.pypi.simple.get_mirrors(??) packaging.pypi.simple.get_version_predicate(??) packaging.pypi.simple.http(??) packaging.pypi.simple.logger(??) packaging.pypi.simple.os(??) packaging.pypi.simple.packaging_version packaging.pypi.simple.re(??) packaging.pypi.simple.socket(??) packaging.pypi.simple.socket_timeout(??) packaging.pypi.simple.sys(??) packaging.pypi.simple.translate(??) packaging.pypi.simple.urllib(??) packaging.pypi.simple.with_mirror_support(??) packaging.pypi.simple.wraps(??) packaging.pypi.wrapper(??) packaging.pypi.wrapper.ClientWrapper(??) packaging.pypi.wrapper.simple(??) packaging.pypi.wrapper.switch_index_if_fails(??) packaging.pypi.wrapper.xmlrpc(??) packaging.pypi.xmlrpc(??) packaging.pypi.xmlrpc.BaseClient(??) packaging.pypi.xmlrpc.Client(??) packaging.pypi.xmlrpc.DEFAULT_XMLRPC_INDEX_URL packaging.pypi.xmlrpc.InvalidSearchField(??) packaging.pypi.xmlrpc.IrrationalVersionError(??) packaging.pypi.xmlrpc.ProjectNotFound(??) packaging.pypi.xmlrpc.ReleaseInfo(??) packaging.pypi.xmlrpc.ReleaseNotFound(??) packaging.pypi.xmlrpc.get_version_predicate(??) packaging.pypi.xmlrpc.logger(??) packaging.pypi.xmlrpc.xmlrpc(??) packaging.run.CCompilerError(??) packaging.run.Dispatcher(??) packaging.run.Distribution(??) packaging.run.FancyGetopt(??) packaging.run.PackagingArgError(??) packaging.run.PackagingClassError(??) packaging.run.PackagingError(??) packaging.run.PackagingModuleError(??) packaging.run.STANDARD_COMMANDS(??) packaging.run.action_help(??) packaging.run.actions(??) packaging.run.command_re(??) packaging.run.common_usage packaging.run.display_option_names(??) packaging.run.display_options(??) packaging.run.generate_graph(??) packaging.run.generate_setup_py(??) packaging.run.get_command_class(??) packaging.run.get_distribution(??) packaging.run.get_distributions(??) packaging.run.getopt(??) packaging.run.global_options(??) packaging.run.install(??) packaging.run.install_local_project(??) packaging.run.logger(??) packaging.run.logging(??) packaging.run.main(??) packaging.run.negative_opt(??) packaging.run.os(??) packaging.run.re(??) packaging.run.remove(??) packaging.run.sys(??) packaging.util.DEFAULT_PYPIRC packaging.util.DEFAULT_REALM packaging.util.DEFAULT_REPOSITORY packaging.util.InstallationException(??) packaging.util.Mixin2to3(??) packaging.util.PackagingExecError(??) packaging.util.PackagingFileError(??) packaging.util.PackagingInternalError(??) packaging.util.PackagingPlatformError(??) packaging.util.RICH_GLOB(??) packaging.util.RawConfigParser(??) packaging.util.SETUP_TEMPLATE packaging.util.ask(??) packaging.util.byte_compile(??) packaging.util.cfg_to_args(??) packaging.util.change_root(??) packaging.util.check_environ(??) packaging.util.codecs(??) packaging.util.convert_path(??) packaging.util.copy_tree(??) packaging.util.csv(??) packaging.util.egginfo_to_distinfo(??) packaging.util.encode_multipart(??) packaging.util.errno(??) packaging.util.execute(??) packaging.util.find_executable(??) packaging.util.find_packages(??) packaging.util.fnmatchcase(??) packaging.util.generate_pypirc(??) packaging.util.generate_setup_py(??) packaging.util.get_compiler_versions(??) packaging.util.get_install_method(??) packaging.util.get_platform(??) packaging.util.get_pypirc_path(??) packaging.util.getsource(??) packaging.util.hashlib(??) packaging.util.iglob(??) packaging.util.imp(??) packaging.util.is_distutils(??) packaging.util.is_packaging(??) packaging.util.is_setuptools(??) packaging.util.logger(??) packaging.util.newer(??) packaging.util.newer_group(??) packaging.util.os(??) packaging.util.posixpath(??) packaging.util.re(??) packaging.util.read_pypirc(??) packaging.util.resolve_name(??) packaging.util.run_2to3(??) packaging.util.set_platform(??) packaging.util.shutil(??) packaging.util.spawn(??) packaging.util.split_multiline(??) packaging.util.split_quoted(??) packaging.util.splitext(??) packaging.util.std_iglob(??) packaging.util.string(??) packaging.util.strtobool(??) packaging.util.subprocess(??) packaging.util.sys(??) packaging.util.sysconfig(??) packaging.util.write_file(??) packaging.version.HugeMajorVersionNumError(??) packaging.version.IrrationalVersionError(??) packaging.version.NormalizedVersion(??) packaging.version.VersionPredicate(??) packaging.version.get_version_predicate(??) packaging.version.is_valid_predicate(??) packaging.version.is_valid_version(??) packaging.version.is_valid_versions(??) packaging.version.re(??) packaging.version.suggest_normalized_version(??) parser.ParserError(??) parser.STType(??) parser.compilest(??) parser.expr(??) parser.isexpr(??) parser.issuite(??) parser.sequence2st(??) parser.st2list(??) parser.st2tuple(??) parser.suite(??) parser.tuple2st(??) pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.glob(??) pdb.help(??) pdb.inspect(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BUILD pickle.BuiltinFunctionType(??) pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.NEWFALSE pickle.NEWOBJ pickle.NEWTRUE pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(file, protocol=None) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(file, *, encoding='ASCII', errors='strict') pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.classmap(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(obj, file, protocol=None, *, fix_imports=True) -> None pickle.dumps(obj, protocol=None, *, fix_imports=True) -> bytes pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict') -> object pickle.loads(input, *, fix_imports=True, encoding='ASCII', errors='strict') -> object pickle.marshal(??) pickle.mloads(??) pickle.re(??) pickle.struct(??) pickle.sys(??) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybytes(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.unicodestring4(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.imp(??) pkgutil.importlib(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.warn(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.DEV_NULL platform.architecture(??) platform.collections(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.uname_result(system, node, release, version, machine, processor) platform.version(??) platform.win32_ver(??) plistlib.BytesIO([buffer]) -> object plistlib.Data(??) plistlib.Dict(??) plistlib.DumbXMLWriter(??) plistlib.PLISTHEADER plistlib.Plist(??) plistlib.PlistParser(??) plistlib.PlistWriter(??) plistlib.binascii(??) plistlib.datetime(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.CLD_CONTINUED posix.CLD_DUMPED posix.CLD_EXITED posix.CLD_TRAPPED posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_LOCK posix.F_OK posix.F_TEST posix.F_TLOCK posix.F_ULOCK posix.NGROUPS_MAX posix.O_ACCMODE posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_EXLOCK posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_SHLOCK posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.PRIO_PGRP posix.PRIO_PROCESS posix.PRIO_USER posix.P_ALL posix.P_PGID posix.P_PID posix.RTLD_GLOBAL posix.RTLD_LAZY posix.RTLD_LOCAL posix.RTLD_NODELETE posix.RTLD_NOLOAD posix.RTLD_NOW posix.R_OK posix.SCHED_FIFO posix.SCHED_OTHER posix.SCHED_RR posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITED posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WNOWAIT posix.WSTOPPED posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True) posix.chdir(path) posix.chflags(path, flags, *, follow_symlinks=True) posix.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) posix.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) posix.chroot(path) posix.close(fd) posix.closerange(fd_low, fd_high) posix.confstr(name) -> string posix.confstr_names(??) posix.ctermid() -> string posix.device_encoding(fd) -> str posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ(??) posix.error(??) posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fd) posix.fchmod(fd, mode) posix.fchown(fd, uid, gid) posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.get_terminal_size(??) posix.getcwd() -> path posix.getcwdb() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgrouplist(user, group) -> list of groups to which a user belongs posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getpriority(which, who) -> current_priority posix.getsid(pid) -> sid posix.getuid() -> uid posix.initgroups(username, gid) -> None posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchflags(path, flags) posix.lchmod(path, mode) posix.lchown(path, uid, gid) posix.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True) posix.listdir(path='.') -> list_of_filenames posix.lockf(fd, cmd, len) posix.lseek(fd, pos, how) -> newpos posix.lstat(path, *, dir_fd=None) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path, mode=0o777, *, dir_fd=None) posix.mkfifo(path, mode=0o666, *, dir_fd=None) posix.mknod(filename, mode=0o600, device=0, *, dir_fd=None) posix.nice(inc) -> new_priority posix.open(path, flags, mode=0o777, *, dir_fd=None) posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names(??) posix.pipe() -> (read_end, write_end) posix.pread(fd, buffersize, offset) -> string posix.putenv(key, value) posix.pwrite(fd, string, offset) -> byteswritten posix.read(fd, buffersize) -> string posix.readlink(path, *, dir_fd=None) -> path posix.readv(fd, buffers) -> bytesread posix.remove(path, *, dir_fd=None) posix.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) posix.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None) posix.rmdir(path, *, dir_fd=None) posix.sched_get_priority_max(policy) posix.sched_get_priority_min(policy) posix.sched_yield() posix.sendfile(out, in, offset, nbytes) -> byteswritten posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setpriority(which, who, prio) -> None posix.setregid(rgid, egid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(path, *, dir_fd=None, follow_symlinks=True) -> stat result posix.stat_float_times([newval]) -> oldval posix.stat_result(??) posix.statvfs(path) posix.statvfs_result(??) posix.strerror(code) -> string posix.symlink(src, dst, target_is_directory=False, *, dir_fd=None) posix.sync() posix.sysconf(name) -> integer posix.sysconf_names(??) posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.terminal_size(??) posix.times() -> times_result posix.times_result(??) posix.truncate(path, length) posix.ttyname(fd) -> string posix.umask(new_mask) -> old_mask posix.uname() -> uname_result posix.uname_result(??) posix.unlink(path, *, dir_fd=None) posix.unsetenv(key) posix.urandom(n) -> str posix.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True) posix.wait() -> (pid, status) posix.wait3(options) -> (pid, status, rusage) posix.wait4(pid, options) -> (pid, status, rusage) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, string) -> byteswritten posix.writev(fd, buffers) -> byteswritten pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) profile.OptionParser(??) profile.Profile(??) profile.main(??) profile.marshal(??) profile.os(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd(??) py_compile.MAGIC py_compile.PyCompileError(??) py_compile.builtins(??) py_compile.compile(??) py_compile.errno(??) py_compile.imp(??) py_compile.main(??) py_compile.marshal(??) py_compile.os(??) py_compile.sys(??) py_compile.tokenize(??) py_compile.traceback(??) py_compile.wr_long(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.importlib(??) pyclbr.io(??) pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.os(??) pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.Scanner(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque(iterable[, maxlen]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.extract_tb(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.help(??) pydoc.html(??) pydoc.imp(??) pydoc.importfile(??) pydoc.importlib(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.tokenize(??) pydoc.ttypager(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.deque(iterable[, maxlen]) --> deque object queue.heappop(??) queue.heappush(??) queue.threading(??) queue.time(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates a long int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range([start,] stop[, step]) -> range object re.A re.ASCII re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copyreg(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.functools(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.sys(??) re.template(??) readline.add_history(string) -> None readline.clear_history() -> None readline.get_begidx() -> int readline.get_completer() -> function readline.get_completer_delims() -> string readline.get_completion_type() -> int readline.get_current_history_length() -> integer readline.get_endidx() -> int readline.get_history_item() -> string readline.get_history_length() -> int readline.get_line_buffer() -> string readline.insert_text(string) -> None readline.parse_and_bind(string) -> None readline.read_history_file([filename]) -> None readline.read_init_file([filename]) -> None readline.redisplay() -> None readline.remove_history_item(pos) -> None readline.replace_history_item(pos, line) -> None readline.set_completer([function]) -> None readline.set_completer_delims(string) -> None readline.set_completion_display_matches_hook([function]) -> None readline.set_history_length(length) -> None readline.set_pre_input_hook([function]) -> None readline.set_startup_hook([function]) -> None readline.write_history_file([filename]) -> None repr(object) -> string reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, [start,] stop [, step]) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) resource.RLIMIT_AS resource.RLIMIT_CORE resource.RLIMIT_CPU resource.RLIMIT_DATA resource.RLIMIT_FSIZE resource.RLIMIT_MEMLOCK resource.RLIMIT_NOFILE resource.RLIMIT_NPROC resource.RLIMIT_RSS resource.RLIMIT_STACK resource.RLIM_INFINITY resource.RUSAGE_CHILDREN resource.RUSAGE_SELF resource.error(??) resource.getpagesize(??) resource.getrlimit(??) resource.getrusage(??) resource.setrlimit(??) resource.struct_rusage(??) reversed(sequence) -> reverse iterator over values of the sequence rlcompleter.Completer(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(number[, ndigits]) -> number runpy.get_importer(??) runpy.get_loader(??) runpy.imp(??) runpy.importlib(??) runpy.os(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) sched.threading(??) sched.time(??) select.KQ_EV_ADD select.KQ_EV_CLEAR select.KQ_EV_DELETE select.KQ_EV_DISABLE select.KQ_EV_ENABLE select.KQ_EV_EOF select.KQ_EV_ERROR select.KQ_EV_FLAG1 select.KQ_EV_ONESHOT select.KQ_EV_SYSFLAGS select.KQ_FILTER_AIO select.KQ_FILTER_PROC select.KQ_FILTER_READ select.KQ_FILTER_SIGNAL select.KQ_FILTER_TIMER select.KQ_FILTER_VNODE select.KQ_FILTER_WRITE select.KQ_NOTE_ATTRIB select.KQ_NOTE_CHILD select.KQ_NOTE_DELETE select.KQ_NOTE_EXEC select.KQ_NOTE_EXIT select.KQ_NOTE_EXTEND select.KQ_NOTE_FORK select.KQ_NOTE_LINK select.KQ_NOTE_LOWAT select.KQ_NOTE_PCTRLMASK select.KQ_NOTE_PDATAMASK select.KQ_NOTE_RENAME select.KQ_NOTE_REVOKE select.KQ_NOTE_TRACK select.KQ_NOTE_TRACKERR select.KQ_NOTE_WRITE select.PIPE_BUF select.POLLERR select.POLLHUP select.POLLIN select.POLLNVAL select.POLLOUT select.POLLPRI select.POLLRDBAND select.POLLRDNORM select.POLLWRBAND select.POLLWRNORM select.error(??) select.kevent(ident, filter=KQ_FILTER_READ, flags=KQ_EV_ADD, fflags=0, data=0, udata=0) select.kqueue(??) select.poll(??) select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) set() -> new empty set object setattr(object, name, value) shelve.BsdDbShelf(??) shelve.BytesIO([buffer]) -> object shelve.DbfilenameShelf(??) shelve.Pickler(file, protocol=None) shelve.Shelf(??) shelve.Unpickler(file, *, encoding='ASCII', errors='strict') shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque(iterable[, maxlen]) --> deque object shlex.os(??) shlex.quote(??) shlex.re(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SpecialFileError(??) shutil.WindowsError(??) shutil.abspath(??) shutil.chown(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.disk_usage(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_terminal_size(??) shutil.get_unpack_formats(??) shutil.getgrnam(name) -> tuple shutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.os(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.tarfile(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) shutil.which(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCONT signal.SIGEMT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINFO signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPROF signal.SIGQUIT signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_BLOCK signal.SIG_DFL signal.SIG_IGN signal.SIG_SETMASK signal.SIG_UNBLOCK signal.alarm(seconds) signal.default_int_handler(...) signal.getitimer(which) signal.getsignal(sig) -> action signal.pause() signal.pthread_kill(thread_id, signum) signal.pthread_sigmask(how, mask) -> old mask signal.set_wakeup_fd(fd) -> fd signal.setitimer(which, seconds[, interval]) signal.siginterrupt(sig, flag) -> None signal.signal(sig, action) -> action signal.sigpending() -> list signal.sigwait(sigset) -> signum site.CONFIG_LINE(??) site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.aliasmbcs(??) site.builtins(??) site.check_enableusersite(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os(??) site.re(??) site.removeduppaths(??) site.setBEGINLIBPATH(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.venv(??) slice([start,] stop[, step]) smtpd.COMMASPACE smtpd.DATA_SIZE_DEFAULT smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.collections(??) smtpd.errno(??) smtpd.get_addr_spec(??) smtpd.get_angle_addr(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.bCRLF smtplib.base64(??) smtplib.copy(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.stderr(??) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK socket.AF_DECnet socket.AF_INET socket.AF_INET6 socket.AF_IPX socket.AF_ROUTE socket.AF_SNA socket.AF_SYSTEM socket.AF_UNIX socket.AF_UNSPEC socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_DEFAULT socket.AI_MASK socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.AI_V4MAPPED_CFG socket.CAPI(??) socket.CMSG_LEN(length) -> control message length socket.CMSG_SPACE(length) -> buffer size socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_BADHINTS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MAX socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_PROTOCOL socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EWOULDBLOCK socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_EON socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GGP socket.IPPROTO_GRE socket.IPPROTO_HELLO socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPCOMP socket.IPPROTO_IPIP socket.IPPROTO_IPV4 socket.IPPROTO_IPV6 socket.IPPROTO_MAX socket.IPPROTO_ND socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPPROTO_XTP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVDSTADDR socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.LOCAL_PEERCRED socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOF socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PF_SYSTEM socket.SCM_CREDS socket.SCM_RIGHTS socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM socket.SOCK_RAW socket.SOCK_RDM socket.SOCK_SEQPACKET socket.SOCK_STREAM socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_REUSEPORT socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SO_USELOOPBACK socket.SYSPROTO_CONTROL socket.SocketIO(??) socket.SocketType(??) socket.TCP_MAXSEG socket.TCP_NODELAY socket.create_connection(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(host, port [, family, socktype, proto, flags]) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.if_indextoname(if_index) socket.if_nameindex() socket.if_nametoindex(if_name) socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.setdefaulttimeout(timeout) socket.sethostname(name) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.errno(??) socketserver.os(??) socketserver.select(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) sorted(iterable, key=None, reverse=False) --> new sorted list sqlite3.Binary(??) sqlite3.Cache(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement(??) sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.complete_statement(sql) sqlite3.connect(database[, timeout, isolation_level, detect_types, factory]) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Cache(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement(??) sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(database[, timeout, isolation_level, detect_types, factory]) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.AF_INET ssl.CERT_NONE ssl.CERT_OPTIONAL ssl.CERT_REQUIRED ssl.CHANNEL_BINDING_TYPES(??) ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.HAS_ECDH(??) ssl.HAS_NPN(??) ssl.HAS_SNI(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL ssl.OP_CIPHER_SERVER_PREFERENCE ssl.OP_NO_SSLv2 ssl.OP_NO_SSLv3 ssl.OP_NO_TLSv1 ssl.OP_SINGLE_DH_USE ssl.OP_SINGLE_ECDH_USE ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv2 ssl.PROTOCOL_SSLv23 ssl.PROTOCOL_SSLv3 ssl.PROTOCOL_TLSv1 ssl.RAND_add(string, entropy) ssl.RAND_bytes(n) -> bytes ssl.RAND_egd(path) -> bytes ssl.RAND_pseudo_bytes(n) -> (bytes, is_cryptographic) ssl.RAND_status() -> 0 or 1 ssl.SOCK_STREAM ssl.SSLContext(??) ssl.SSLEOFError(??) ssl.SSLError(??) ssl.SSLSocket(??) ssl.SSLSyscallError(??) ssl.SSLWantReadError(??) ssl.SSLWantWriteError(??) ssl.SSLZeroReturnError(??) ssl.SSL_ERROR_EOF ssl.SSL_ERROR_INVALID_ERROR_CODE ssl.SSL_ERROR_SSL ssl.SSL_ERROR_SYSCALL ssl.SSL_ERROR_WANT_CONNECT ssl.SSL_ERROR_WANT_READ ssl.SSL_ERROR_WANT_WRITE ssl.SSL_ERROR_WANT_X509_LOOKUP ssl.SSL_ERROR_ZERO_RETURN ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.create_connection(??) ssl.errno(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.match_hostname(??) ssl.re(??) ssl.socket(??) ssl.socket_error(??) ssl.textwrap(??) ssl.traceback(??) ssl.wrap_socket(??) stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFREG stat.S_IFSOCK stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(??) stat.S_ISCHR(??) stat.S_ISDIR(??) stat.S_ISFIFO(??) stat.S_ISGID stat.S_ISLNK(??) stat.S_ISREG(??) stat.S_ISSOCK(??) stat.S_ISUID stat.S_ISVTX stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_COMPRESSED stat.UF_HIDDEN stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE stat.filemode(??) staticmethod(function) -> method str(object[, encoding[, errors]]) -> str string.ChainMap(??) string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(fmt) --> compiled struct object struct.calcsize(fmt) -> integer struct.error(??) struct.pack(fmt, v1, v2, ...) -> bytes struct.pack_into(fmt, buffer, offset, v1, v2, ...) struct.unpack(fmt, buffer) -> (v1, v2, ...) struct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...) subprocess.CalledProcessError(??) subprocess.DEVNULL subprocess.MAXFD subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.SubprocessError(??) subprocess.TimeoutExpired(??) subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno(??) subprocess.gc(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.mswindows(??) subprocess.os(??) subprocess.select(??) subprocess.signal(??) subprocess.sys(??) subprocess.time(??) subprocess.traceback(??) subprocess.warnings(??) sum(iterable[, start]) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.open(??) sunau.openfp(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.main(??) symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.OPT_IMPORT_STAR symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.api_version sys.argv(??) sys.base_exec_prefix sys.base_prefix sys.builtin_module_names(??) sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode(??) sys.exc_info() -> (type, value, traceback) sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.getswitchinterval() -> current thread switch interval; see setswitchinterval(). sys.gettrace() sys.hash_info(??) sys.hexversion sys.implementation(??) sys.int_info(??) sys.intern(string) -> string sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.setswitchinterval(n) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.thread_info(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.re(??) sysconfig.realpath(??) sysconfig.sys(??) syslog.LOG_ALERT syslog.LOG_AUTH syslog.LOG_AUTHPRIV syslog.LOG_CONS syslog.LOG_CRIT syslog.LOG_CRON syslog.LOG_DAEMON syslog.LOG_DEBUG syslog.LOG_EMERG syslog.LOG_ERR syslog.LOG_INFO syslog.LOG_KERN syslog.LOG_LOCAL0 syslog.LOG_LOCAL1 syslog.LOG_LOCAL2 syslog.LOG_LOCAL3 syslog.LOG_LOCAL4 syslog.LOG_LOCAL5 syslog.LOG_LOCAL6 syslog.LOG_LOCAL7 syslog.LOG_LPR syslog.LOG_MAIL syslog.LOG_MASK(??) syslog.LOG_NDELAY syslog.LOG_NEWS syslog.LOG_NOTICE syslog.LOG_NOWAIT syslog.LOG_ODELAY syslog.LOG_PERROR syslog.LOG_PID syslog.LOG_SYSLOG syslog.LOG_UPTO(??) syslog.LOG_USER syslog.LOG_UUCP syslog.LOG_WARNING syslog.closelog(??) syslog.openlog(??) syslog.setlogmask(??) syslog.syslog(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.S_IFBLK tarfile.S_IFCHR tarfile.S_IFDIR tarfile.S_IFIFO tarfile.S_IFLNK tarfile.S_IFREG tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TGEXEC tarfile.TGREAD tarfile.TGWRITE tarfile.TOEXEC tarfile.TOREAD tarfile.TOWRITE tarfile.TSGID tarfile.TSUID tarfile.TSVTX tarfile.TUEXEC tarfile.TUREAD tarfile.TUWRITE tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TarIter(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.filemode(??) tarfile.grp(??) tarfile.io(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.errno(??) telnetlib.select(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template termios.B0 termios.B110 termios.B115200 termios.B1200 termios.B134 termios.B150 termios.B1800 termios.B19200 termios.B200 termios.B230400 termios.B2400 termios.B300 termios.B38400 termios.B4800 termios.B50 termios.B57600 termios.B600 termios.B75 termios.B9600 termios.BRKINT termios.BS0 termios.BS1 termios.BSDLY termios.CDSUSP termios.CEOF termios.CEOL termios.CEOT termios.CERASE termios.CFLUSH termios.CINTR termios.CKILL termios.CLNEXT termios.CLOCAL termios.CQUIT termios.CR0 termios.CR1 termios.CR2 termios.CR3 termios.CRDLY termios.CREAD termios.CRPRNT termios.CRTSCTS termios.CS5 termios.CS6 termios.CS7 termios.CS8 termios.CSIZE termios.CSTART termios.CSTOP termios.CSTOPB termios.CSUSP termios.CWERASE termios.ECHO termios.ECHOCTL termios.ECHOE termios.ECHOK termios.ECHOKE termios.ECHONL termios.ECHOPRT termios.EXTA termios.EXTB termios.FF0 termios.FF1 termios.FFDLY termios.FIOASYNC termios.FIOCLEX termios.FIONBIO termios.FIONCLEX termios.FIONREAD termios.FLUSHO termios.HUPCL termios.ICANON termios.ICRNL termios.IEXTEN termios.IGNBRK termios.IGNCR termios.IGNPAR termios.IMAXBEL termios.INLCR termios.INPCK termios.ISIG termios.ISTRIP termios.IXANY termios.IXOFF termios.IXON termios.NCCS termios.NL0 termios.NL1 termios.NLDLY termios.NOFLSH termios.OCRNL termios.OFDEL termios.OFILL termios.ONLCR termios.ONLRET termios.ONOCR termios.OPOST termios.PARENB termios.PARMRK termios.PARODD termios.PENDIN termios.TAB0 termios.TAB1 termios.TAB2 termios.TAB3 termios.TABDLY termios.TCIFLUSH termios.TCIOFF termios.TCIOFLUSH termios.TCION termios.TCOFLUSH termios.TCOOFF termios.TCOON termios.TCSADRAIN termios.TCSAFLUSH termios.TCSANOW termios.TCSASOFT termios.TIOCCONS termios.TIOCEXCL termios.TIOCGETD termios.TIOCGPGRP termios.TIOCGWINSZ termios.TIOCMBIC termios.TIOCMBIS termios.TIOCMGET termios.TIOCMSET termios.TIOCM_CAR termios.TIOCM_CD termios.TIOCM_CTS termios.TIOCM_DSR termios.TIOCM_DTR termios.TIOCM_LE termios.TIOCM_RI termios.TIOCM_RNG termios.TIOCM_RTS termios.TIOCM_SR termios.TIOCM_ST termios.TIOCNOTTY termios.TIOCNXCL termios.TIOCOUTQ termios.TIOCPKT termios.TIOCPKT_DATA termios.TIOCPKT_DOSTOP termios.TIOCPKT_FLUSHREAD termios.TIOCPKT_FLUSHWRITE termios.TIOCPKT_NOSTOP termios.TIOCPKT_START termios.TIOCPKT_STOP termios.TIOCSCTTY termios.TIOCSETD termios.TIOCSPGRP termios.TIOCSTI termios.TIOCSWINSZ termios.TOSTOP termios.VDISCARD termios.VEOF termios.VEOL termios.VEOL2 termios.VERASE termios.VINTR termios.VKILL termios.VLNEXT termios.VMIN termios.VQUIT termios.VREPRINT termios.VSTART termios.VSTOP termios.VSUSP termios.VT0 termios.VT1 termios.VTDLY termios.VTIME termios.VWERASE termios.error(??) termios.tcdrain(fd) -> None termios.tcflow(fd, action) -> None termios.tcflush(fd, queue) -> None termios.tcgetattr(fd) -> list_of_attrs termios.tcsendbreak(fd, duration) -> None termios.tcsetattr(fd, when, attributes) -> None textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.indent(??) textwrap.re(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.WeakSet(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.enumerate(??) threading.get_ident() -> integer threading.local(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.get_clock_info(name: str) -> dict time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.monotonic() -> float time.perf_counter() -> float time.process_time() -> float time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.timezone time.tzname(??) time.tzset() timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) tkinter.ACTIVE tkinter.ALL tkinter.ANCHOR tkinter.ARC tkinter.At(??) tkinter.AtEnd(??) tkinter.AtInsert(??) tkinter.AtSelFirst(??) tkinter.AtSelLast(??) tkinter.BASELINE tkinter.BEVEL tkinter.BOTH tkinter.BOTTOM tkinter.BROWSE tkinter.BUTT tkinter.BaseWidget(??) tkinter.BitmapImage(??) tkinter.BooleanVar(??) tkinter.Button(??) tkinter.CASCADE tkinter.CENTER tkinter.CHAR tkinter.CHECKBUTTON tkinter.CHORD tkinter.COMMAND tkinter.CURRENT tkinter.CallWrapper(??) tkinter.Canvas(??) tkinter.Checkbutton(??) tkinter.DISABLED tkinter.DOTBOX tkinter.DoubleVar(??) tkinter.E tkinter.END tkinter.EW tkinter.EXCEPTION tkinter.EXTENDED tkinter.Entry(??) tkinter.Event(??) tkinter.FALSE tkinter.FIRST tkinter.FLAT tkinter.Frame(??) tkinter.GROOVE tkinter.Grid(??) tkinter.HIDDEN tkinter.HORIZONTAL tkinter.INSERT tkinter.INSIDE tkinter.Image(??) tkinter.IntVar(??) tkinter.LAST tkinter.LEFT tkinter.Label(??) tkinter.LabelFrame(??) tkinter.Listbox(??) tkinter.MITER tkinter.MOVETO tkinter.MULTIPLE tkinter.Menu(??) tkinter.Menubutton(??) tkinter.Message(??) tkinter.Misc(??) tkinter.N tkinter.NE tkinter.NO tkinter.NONE tkinter.NORMAL tkinter.NS tkinter.NSEW tkinter.NUMERIC tkinter.NW tkinter.NoDefaultRoot(??) tkinter.OFF tkinter.ON tkinter.OUTSIDE tkinter.OptionMenu(??) tkinter.PAGES tkinter.PIESLICE tkinter.PROJECTING tkinter.Pack(??) tkinter.PanedWindow(??) tkinter.PhotoImage(??) tkinter.Place(??) tkinter.RADIOBUTTON tkinter.RAISED tkinter.READABLE tkinter.RIDGE tkinter.RIGHT tkinter.ROUND tkinter.Radiobutton(??) tkinter.S tkinter.SCROLL tkinter.SE tkinter.SEL tkinter.SEL_FIRST tkinter.SEL_LAST tkinter.SEPARATOR tkinter.SINGLE tkinter.SOLID tkinter.SUNKEN tkinter.SW tkinter.Scale(??) tkinter.Scrollbar(??) tkinter.Spinbox(??) tkinter.StringVar(??) tkinter.Studbutton(??) tkinter.TOP tkinter.TRUE tkinter.Tcl(??) tkinter.TclError(??) tkinter.TclVersion tkinter.Text(??) tkinter.Tk(??) tkinter.TkVersion tkinter.Toplevel(??) tkinter.Tributton(??) tkinter.UNDERLINE tkinter.UNITS tkinter.VERTICAL tkinter.Variable(??) tkinter.W tkinter.WORD tkinter.WRITABLE tkinter.Widget(??) tkinter.Wm(??) tkinter.X tkinter.XView(??) tkinter.Y tkinter.YES tkinter.YView(??) tkinter.colorchooser.Chooser(??) tkinter.colorchooser.Dialog(??) tkinter.colorchooser.askcolor(??) tkinter.commondialog.ACTIVE tkinter.commondialog.ALL tkinter.commondialog.ANCHOR tkinter.commondialog.ARC tkinter.commondialog.At(??) tkinter.commondialog.AtEnd(??) tkinter.commondialog.AtInsert(??) tkinter.commondialog.AtSelFirst(??) tkinter.commondialog.AtSelLast(??) tkinter.commondialog.BASELINE tkinter.commondialog.BEVEL tkinter.commondialog.BOTH tkinter.commondialog.BOTTOM tkinter.commondialog.BROWSE tkinter.commondialog.BUTT tkinter.commondialog.BaseWidget(??) tkinter.commondialog.BitmapImage(??) tkinter.commondialog.BooleanVar(??) tkinter.commondialog.Button(??) tkinter.commondialog.CASCADE tkinter.commondialog.CENTER tkinter.commondialog.CHAR tkinter.commondialog.CHECKBUTTON tkinter.commondialog.CHORD tkinter.commondialog.COMMAND tkinter.commondialog.CURRENT tkinter.commondialog.CallWrapper(??) tkinter.commondialog.Canvas(??) tkinter.commondialog.Checkbutton(??) tkinter.commondialog.DISABLED tkinter.commondialog.DOTBOX tkinter.commondialog.Dialog(??) tkinter.commondialog.DoubleVar(??) tkinter.commondialog.E tkinter.commondialog.END tkinter.commondialog.EW tkinter.commondialog.EXCEPTION tkinter.commondialog.EXTENDED tkinter.commondialog.Entry(??) tkinter.commondialog.Event(??) tkinter.commondialog.FALSE tkinter.commondialog.FIRST tkinter.commondialog.FLAT tkinter.commondialog.Frame(??) tkinter.commondialog.GROOVE tkinter.commondialog.Grid(??) tkinter.commondialog.HIDDEN tkinter.commondialog.HORIZONTAL tkinter.commondialog.INSERT tkinter.commondialog.INSIDE tkinter.commondialog.Image(??) tkinter.commondialog.IntVar(??) tkinter.commondialog.LAST tkinter.commondialog.LEFT tkinter.commondialog.Label(??) tkinter.commondialog.LabelFrame(??) tkinter.commondialog.Listbox(??) tkinter.commondialog.MITER tkinter.commondialog.MOVETO tkinter.commondialog.MULTIPLE tkinter.commondialog.Menu(??) tkinter.commondialog.Menubutton(??) tkinter.commondialog.Message(??) tkinter.commondialog.Misc(??) tkinter.commondialog.N tkinter.commondialog.NE tkinter.commondialog.NO tkinter.commondialog.NONE tkinter.commondialog.NORMAL tkinter.commondialog.NS tkinter.commondialog.NSEW tkinter.commondialog.NUMERIC tkinter.commondialog.NW tkinter.commondialog.NoDefaultRoot(??) tkinter.commondialog.OFF tkinter.commondialog.ON tkinter.commondialog.OUTSIDE tkinter.commondialog.OptionMenu(??) tkinter.commondialog.PAGES tkinter.commondialog.PIESLICE tkinter.commondialog.PROJECTING tkinter.commondialog.Pack(??) tkinter.commondialog.PanedWindow(??) tkinter.commondialog.PhotoImage(??) tkinter.commondialog.Place(??) tkinter.commondialog.RADIOBUTTON tkinter.commondialog.RAISED tkinter.commondialog.READABLE tkinter.commondialog.RIDGE tkinter.commondialog.RIGHT tkinter.commondialog.ROUND tkinter.commondialog.Radiobutton(??) tkinter.commondialog.S tkinter.commondialog.SCROLL tkinter.commondialog.SE tkinter.commondialog.SEL tkinter.commondialog.SEL_FIRST tkinter.commondialog.SEL_LAST tkinter.commondialog.SEPARATOR tkinter.commondialog.SINGLE tkinter.commondialog.SOLID tkinter.commondialog.SUNKEN tkinter.commondialog.SW tkinter.commondialog.Scale(??) tkinter.commondialog.Scrollbar(??) tkinter.commondialog.Spinbox(??) tkinter.commondialog.StringVar(??) tkinter.commondialog.Studbutton(??) tkinter.commondialog.TOP tkinter.commondialog.TRUE tkinter.commondialog.Tcl(??) tkinter.commondialog.TclError(??) tkinter.commondialog.TclVersion tkinter.commondialog.Text(??) tkinter.commondialog.Tk(??) tkinter.commondialog.TkVersion tkinter.commondialog.Toplevel(??) tkinter.commondialog.Tributton(??) tkinter.commondialog.UNDERLINE tkinter.commondialog.UNITS tkinter.commondialog.VERTICAL tkinter.commondialog.Variable(??) tkinter.commondialog.W tkinter.commondialog.WORD tkinter.commondialog.WRITABLE tkinter.commondialog.Widget(??) tkinter.commondialog.Wm(??) tkinter.commondialog.X tkinter.commondialog.XView(??) tkinter.commondialog.Y tkinter.commondialog.YES tkinter.commondialog.YView(??) tkinter.commondialog.constants(??) tkinter.commondialog.getboolean(??) tkinter.commondialog.getdouble(??) tkinter.commondialog.getint(??) tkinter.commondialog.image_names(??) tkinter.commondialog.image_types(??) tkinter.commondialog.mainloop(??) tkinter.commondialog.sys(??) tkinter.commondialog.wantobjects tkinter.commondialog.warnings(??) tkinter.constants(??) tkinter.constants.ACTIVE tkinter.constants.ALL tkinter.constants.ANCHOR tkinter.constants.ARC tkinter.constants.BASELINE tkinter.constants.BEVEL tkinter.constants.BOTH tkinter.constants.BOTTOM tkinter.constants.BROWSE tkinter.constants.BUTT tkinter.constants.CASCADE tkinter.constants.CENTER tkinter.constants.CHAR tkinter.constants.CHECKBUTTON tkinter.constants.CHORD tkinter.constants.COMMAND tkinter.constants.CURRENT tkinter.constants.DISABLED tkinter.constants.DOTBOX tkinter.constants.E tkinter.constants.END tkinter.constants.EW tkinter.constants.EXTENDED tkinter.constants.FALSE tkinter.constants.FIRST tkinter.constants.FLAT tkinter.constants.GROOVE tkinter.constants.HIDDEN tkinter.constants.HORIZONTAL tkinter.constants.INSERT tkinter.constants.INSIDE tkinter.constants.LAST tkinter.constants.LEFT tkinter.constants.MITER tkinter.constants.MOVETO tkinter.constants.MULTIPLE tkinter.constants.N tkinter.constants.NE tkinter.constants.NO tkinter.constants.NONE tkinter.constants.NORMAL tkinter.constants.NS tkinter.constants.NSEW tkinter.constants.NUMERIC tkinter.constants.NW tkinter.constants.OFF tkinter.constants.ON tkinter.constants.OUTSIDE tkinter.constants.PAGES tkinter.constants.PIESLICE tkinter.constants.PROJECTING tkinter.constants.RADIOBUTTON tkinter.constants.RAISED tkinter.constants.RIDGE tkinter.constants.RIGHT tkinter.constants.ROUND tkinter.constants.S tkinter.constants.SCROLL tkinter.constants.SE tkinter.constants.SEL tkinter.constants.SEL_FIRST tkinter.constants.SEL_LAST tkinter.constants.SEPARATOR tkinter.constants.SINGLE tkinter.constants.SOLID tkinter.constants.SUNKEN tkinter.constants.SW tkinter.constants.TOP tkinter.constants.TRUE tkinter.constants.UNDERLINE tkinter.constants.UNITS tkinter.constants.VERTICAL tkinter.constants.W tkinter.constants.WORD tkinter.constants.X tkinter.constants.Y tkinter.constants.YES tkinter.dialog.ACTIVE tkinter.dialog.ALL tkinter.dialog.ANCHOR tkinter.dialog.ARC tkinter.dialog.At(??) tkinter.dialog.AtEnd(??) tkinter.dialog.AtInsert(??) tkinter.dialog.AtSelFirst(??) tkinter.dialog.AtSelLast(??) tkinter.dialog.BASELINE tkinter.dialog.BEVEL tkinter.dialog.BOTH tkinter.dialog.BOTTOM tkinter.dialog.BROWSE tkinter.dialog.BUTT tkinter.dialog.BaseWidget(??) tkinter.dialog.BitmapImage(??) tkinter.dialog.BooleanVar(??) tkinter.dialog.Button(??) tkinter.dialog.CASCADE tkinter.dialog.CENTER tkinter.dialog.CHAR tkinter.dialog.CHECKBUTTON tkinter.dialog.CHORD tkinter.dialog.COMMAND tkinter.dialog.CURRENT tkinter.dialog.CallWrapper(??) tkinter.dialog.Canvas(??) tkinter.dialog.Checkbutton(??) tkinter.dialog.DIALOG_ICON tkinter.dialog.DISABLED tkinter.dialog.DOTBOX tkinter.dialog.Dialog(??) tkinter.dialog.DoubleVar(??) tkinter.dialog.E tkinter.dialog.END tkinter.dialog.EW tkinter.dialog.EXCEPTION tkinter.dialog.EXTENDED tkinter.dialog.Entry(??) tkinter.dialog.Event(??) tkinter.dialog.FALSE tkinter.dialog.FIRST tkinter.dialog.FLAT tkinter.dialog.Frame(??) tkinter.dialog.GROOVE tkinter.dialog.Grid(??) tkinter.dialog.HIDDEN tkinter.dialog.HORIZONTAL tkinter.dialog.INSERT tkinter.dialog.INSIDE tkinter.dialog.Image(??) tkinter.dialog.IntVar(??) tkinter.dialog.LAST tkinter.dialog.LEFT tkinter.dialog.Label(??) tkinter.dialog.LabelFrame(??) tkinter.dialog.Listbox(??) tkinter.dialog.MITER tkinter.dialog.MOVETO tkinter.dialog.MULTIPLE tkinter.dialog.Menu(??) tkinter.dialog.Menubutton(??) tkinter.dialog.Message(??) tkinter.dialog.Misc(??) tkinter.dialog.N tkinter.dialog.NE tkinter.dialog.NO tkinter.dialog.NONE tkinter.dialog.NORMAL tkinter.dialog.NS tkinter.dialog.NSEW tkinter.dialog.NUMERIC tkinter.dialog.NW tkinter.dialog.NoDefaultRoot(??) tkinter.dialog.OFF tkinter.dialog.ON tkinter.dialog.OUTSIDE tkinter.dialog.OptionMenu(??) tkinter.dialog.PAGES tkinter.dialog.PIESLICE tkinter.dialog.PROJECTING tkinter.dialog.Pack(??) tkinter.dialog.PanedWindow(??) tkinter.dialog.PhotoImage(??) tkinter.dialog.Place(??) tkinter.dialog.RADIOBUTTON tkinter.dialog.RAISED tkinter.dialog.READABLE tkinter.dialog.RIDGE tkinter.dialog.RIGHT tkinter.dialog.ROUND tkinter.dialog.Radiobutton(??) tkinter.dialog.S tkinter.dialog.SCROLL tkinter.dialog.SE tkinter.dialog.SEL tkinter.dialog.SEL_FIRST tkinter.dialog.SEL_LAST tkinter.dialog.SEPARATOR tkinter.dialog.SINGLE tkinter.dialog.SOLID tkinter.dialog.SUNKEN tkinter.dialog.SW tkinter.dialog.Scale(??) tkinter.dialog.Scrollbar(??) tkinter.dialog.Spinbox(??) tkinter.dialog.StringVar(??) tkinter.dialog.Studbutton(??) tkinter.dialog.TOP tkinter.dialog.TRUE tkinter.dialog.Tcl(??) tkinter.dialog.TclError(??) tkinter.dialog.TclVersion tkinter.dialog.Text(??) tkinter.dialog.Tk(??) tkinter.dialog.TkVersion tkinter.dialog.Toplevel(??) tkinter.dialog.Tributton(??) tkinter.dialog.UNDERLINE tkinter.dialog.UNITS tkinter.dialog.VERTICAL tkinter.dialog.Variable(??) tkinter.dialog.W tkinter.dialog.WORD tkinter.dialog.WRITABLE tkinter.dialog.Widget(??) tkinter.dialog.Wm(??) tkinter.dialog.X tkinter.dialog.XView(??) tkinter.dialog.Y tkinter.dialog.YES tkinter.dialog.YView(??) tkinter.dialog.colorchooser(??) tkinter.dialog.commondialog(??) tkinter.dialog.constants(??) tkinter.dialog.getboolean(??) tkinter.dialog.getdouble(??) tkinter.dialog.getint(??) tkinter.dialog.image_names(??) tkinter.dialog.image_types(??) tkinter.dialog.mainloop(??) tkinter.dialog.sys(??) tkinter.dialog.wantobjects tkinter.dialog.warnings(??) tkinter.dnd.DndHandler(??) tkinter.dnd.Icon(??) tkinter.dnd.Tester(??) tkinter.dnd.dnd_start(??) tkinter.dnd.test(??) tkinter.dnd.tkinter(??) tkinter.filedialog.ACTIVE tkinter.filedialog.ALL tkinter.filedialog.ANCHOR tkinter.filedialog.ARC tkinter.filedialog.At(??) tkinter.filedialog.AtEnd(??) tkinter.filedialog.AtInsert(??) tkinter.filedialog.AtSelFirst(??) tkinter.filedialog.AtSelLast(??) tkinter.filedialog.BASELINE tkinter.filedialog.BEVEL tkinter.filedialog.BOTH tkinter.filedialog.BOTTOM tkinter.filedialog.BROWSE tkinter.filedialog.BUTT tkinter.filedialog.BaseWidget(??) tkinter.filedialog.BitmapImage(??) tkinter.filedialog.BooleanVar(??) tkinter.filedialog.Button(??) tkinter.filedialog.CASCADE tkinter.filedialog.CENTER tkinter.filedialog.CHAR tkinter.filedialog.CHECKBUTTON tkinter.filedialog.CHORD tkinter.filedialog.COMMAND tkinter.filedialog.CURRENT tkinter.filedialog.CallWrapper(??) tkinter.filedialog.Canvas(??) tkinter.filedialog.Checkbutton(??) tkinter.filedialog.DISABLED tkinter.filedialog.DOTBOX tkinter.filedialog.Dialog(??) tkinter.filedialog.Directory(??) tkinter.filedialog.DoubleVar(??) tkinter.filedialog.E tkinter.filedialog.END tkinter.filedialog.EW tkinter.filedialog.EXCEPTION tkinter.filedialog.EXTENDED tkinter.filedialog.Entry(??) tkinter.filedialog.Event(??) tkinter.filedialog.FALSE tkinter.filedialog.FIRST tkinter.filedialog.FLAT tkinter.filedialog.FileDialog(??) tkinter.filedialog.Frame(??) tkinter.filedialog.GROOVE tkinter.filedialog.Grid(??) tkinter.filedialog.HIDDEN tkinter.filedialog.HORIZONTAL tkinter.filedialog.INSERT tkinter.filedialog.INSIDE tkinter.filedialog.Image(??) tkinter.filedialog.IntVar(??) tkinter.filedialog.LAST tkinter.filedialog.LEFT tkinter.filedialog.Label(??) tkinter.filedialog.LabelFrame(??) tkinter.filedialog.Listbox(??) tkinter.filedialog.LoadFileDialog(??) tkinter.filedialog.MITER tkinter.filedialog.MOVETO tkinter.filedialog.MULTIPLE tkinter.filedialog.Menu(??) tkinter.filedialog.Menubutton(??) tkinter.filedialog.Message(??) tkinter.filedialog.Misc(??) tkinter.filedialog.N tkinter.filedialog.NE tkinter.filedialog.NO tkinter.filedialog.NONE tkinter.filedialog.NORMAL tkinter.filedialog.NS tkinter.filedialog.NSEW tkinter.filedialog.NUMERIC tkinter.filedialog.NW tkinter.filedialog.NoDefaultRoot(??) tkinter.filedialog.OFF tkinter.filedialog.ON tkinter.filedialog.OUTSIDE tkinter.filedialog.Open(??) tkinter.filedialog.OptionMenu(??) tkinter.filedialog.PAGES tkinter.filedialog.PIESLICE tkinter.filedialog.PROJECTING tkinter.filedialog.Pack(??) tkinter.filedialog.PanedWindow(??) tkinter.filedialog.PhotoImage(??) tkinter.filedialog.Place(??) tkinter.filedialog.RADIOBUTTON tkinter.filedialog.RAISED tkinter.filedialog.READABLE tkinter.filedialog.RIDGE tkinter.filedialog.RIGHT tkinter.filedialog.ROUND tkinter.filedialog.Radiobutton(??) tkinter.filedialog.S tkinter.filedialog.SCROLL tkinter.filedialog.SE tkinter.filedialog.SEL tkinter.filedialog.SEL_FIRST tkinter.filedialog.SEL_LAST tkinter.filedialog.SEPARATOR tkinter.filedialog.SINGLE tkinter.filedialog.SOLID tkinter.filedialog.SUNKEN tkinter.filedialog.SW tkinter.filedialog.SaveAs(??) tkinter.filedialog.SaveFileDialog(??) tkinter.filedialog.Scale(??) tkinter.filedialog.Scrollbar(??) tkinter.filedialog.Spinbox(??) tkinter.filedialog.StringVar(??) tkinter.filedialog.Studbutton(??) tkinter.filedialog.TOP tkinter.filedialog.TRUE tkinter.filedialog.Tcl(??) tkinter.filedialog.TclError(??) tkinter.filedialog.TclVersion tkinter.filedialog.Text(??) tkinter.filedialog.Tk(??) tkinter.filedialog.TkVersion tkinter.filedialog.Toplevel(??) tkinter.filedialog.Tributton(??) tkinter.filedialog.UNDERLINE tkinter.filedialog.UNITS tkinter.filedialog.VERTICAL tkinter.filedialog.Variable(??) tkinter.filedialog.W tkinter.filedialog.WORD tkinter.filedialog.WRITABLE tkinter.filedialog.Widget(??) tkinter.filedialog.Wm(??) tkinter.filedialog.X tkinter.filedialog.XView(??) tkinter.filedialog.Y tkinter.filedialog.YES tkinter.filedialog.YView(??) tkinter.filedialog.askdirectory(??) tkinter.filedialog.askopenfile(??) tkinter.filedialog.askopenfilename(??) tkinter.filedialog.askopenfilenames(??) tkinter.filedialog.askopenfiles(??) tkinter.filedialog.asksaveasfile(??) tkinter.filedialog.asksaveasfilename(??) tkinter.filedialog.colorchooser(??) tkinter.filedialog.commondialog(??) tkinter.filedialog.constants(??) tkinter.filedialog.dialog(??) tkinter.filedialog.dialogstates(??) tkinter.filedialog.dnd(??) tkinter.filedialog.fnmatch(??) tkinter.filedialog.getboolean(??) tkinter.filedialog.getdouble(??) tkinter.filedialog.getint(??) tkinter.filedialog.image_names(??) tkinter.filedialog.image_types(??) tkinter.filedialog.mainloop(??) tkinter.filedialog.os(??) tkinter.filedialog.sys(??) tkinter.filedialog.test(??) tkinter.filedialog.wantobjects tkinter.filedialog.warnings(??) tkinter.font.BOLD tkinter.font.Font(??) tkinter.font.ITALIC tkinter.font.NORMAL tkinter.font.ROMAN tkinter.font.families(??) tkinter.font.itertools(??) tkinter.font.names(??) tkinter.font.nametofont(??) tkinter.font.tkinter(??) tkinter.getboolean(??) tkinter.getdouble(??) tkinter.getint(??) tkinter.image_names(??) tkinter.image_types(??) tkinter.mainloop(??) tkinter.messagebox.ABORT tkinter.messagebox.ABORTRETRYIGNORE tkinter.messagebox.CANCEL tkinter.messagebox.Dialog(??) tkinter.messagebox.ERROR tkinter.messagebox.IGNORE tkinter.messagebox.INFO tkinter.messagebox.Message(??) tkinter.messagebox.NO tkinter.messagebox.OK tkinter.messagebox.OKCANCEL tkinter.messagebox.QUESTION tkinter.messagebox.RETRY tkinter.messagebox.RETRYCANCEL tkinter.messagebox.WARNING tkinter.messagebox.YES tkinter.messagebox.YESNO tkinter.messagebox.YESNOCANCEL tkinter.messagebox.askokcancel(??) tkinter.messagebox.askquestion(??) tkinter.messagebox.askretrycancel(??) tkinter.messagebox.askyesno(??) tkinter.messagebox.askyesnocancel(??) tkinter.messagebox.showerror(??) tkinter.messagebox.showinfo(??) tkinter.messagebox.showwarning(??) tkinter.scrolledtext.BOTH tkinter.scrolledtext.Frame(??) tkinter.scrolledtext.Grid(??) tkinter.scrolledtext.LEFT tkinter.scrolledtext.Pack(??) tkinter.scrolledtext.Place(??) tkinter.scrolledtext.RIGHT tkinter.scrolledtext.Scrollbar(??) tkinter.scrolledtext.ScrolledText(??) tkinter.scrolledtext.Text(??) tkinter.scrolledtext.Y tkinter.scrolledtext.example(??) tkinter.simpledialog.ACTIVE tkinter.simpledialog.ALL tkinter.simpledialog.ANCHOR tkinter.simpledialog.ARC tkinter.simpledialog.At(??) tkinter.simpledialog.AtEnd(??) tkinter.simpledialog.AtInsert(??) tkinter.simpledialog.AtSelFirst(??) tkinter.simpledialog.AtSelLast(??) tkinter.simpledialog.BASELINE tkinter.simpledialog.BEVEL tkinter.simpledialog.BOTH tkinter.simpledialog.BOTTOM tkinter.simpledialog.BROWSE tkinter.simpledialog.BUTT tkinter.simpledialog.BaseWidget(??) tkinter.simpledialog.BitmapImage(??) tkinter.simpledialog.BooleanVar(??) tkinter.simpledialog.Button(??) tkinter.simpledialog.CASCADE tkinter.simpledialog.CENTER tkinter.simpledialog.CHAR tkinter.simpledialog.CHECKBUTTON tkinter.simpledialog.CHORD tkinter.simpledialog.COMMAND tkinter.simpledialog.CURRENT tkinter.simpledialog.CallWrapper(??) tkinter.simpledialog.Canvas(??) tkinter.simpledialog.Checkbutton(??) tkinter.simpledialog.DISABLED tkinter.simpledialog.DOTBOX tkinter.simpledialog.Dialog(??) tkinter.simpledialog.DoubleVar(??) tkinter.simpledialog.E tkinter.simpledialog.END tkinter.simpledialog.EW tkinter.simpledialog.EXCEPTION tkinter.simpledialog.EXTENDED tkinter.simpledialog.Entry(??) tkinter.simpledialog.Event(??) tkinter.simpledialog.FALSE tkinter.simpledialog.FIRST tkinter.simpledialog.FLAT tkinter.simpledialog.Frame(??) tkinter.simpledialog.GROOVE tkinter.simpledialog.Grid(??) tkinter.simpledialog.HIDDEN tkinter.simpledialog.HORIZONTAL tkinter.simpledialog.INSERT tkinter.simpledialog.INSIDE tkinter.simpledialog.Image(??) tkinter.simpledialog.IntVar(??) tkinter.simpledialog.LAST tkinter.simpledialog.LEFT tkinter.simpledialog.Label(??) tkinter.simpledialog.LabelFrame(??) tkinter.simpledialog.Listbox(??) tkinter.simpledialog.MITER tkinter.simpledialog.MOVETO tkinter.simpledialog.MULTIPLE tkinter.simpledialog.Menu(??) tkinter.simpledialog.Menubutton(??) tkinter.simpledialog.Message(??) tkinter.simpledialog.Misc(??) tkinter.simpledialog.N tkinter.simpledialog.NE tkinter.simpledialog.NO tkinter.simpledialog.NONE tkinter.simpledialog.NORMAL tkinter.simpledialog.NS tkinter.simpledialog.NSEW tkinter.simpledialog.NUMERIC tkinter.simpledialog.NW tkinter.simpledialog.NoDefaultRoot(??) tkinter.simpledialog.OFF tkinter.simpledialog.ON tkinter.simpledialog.OUTSIDE tkinter.simpledialog.OptionMenu(??) tkinter.simpledialog.PAGES tkinter.simpledialog.PIESLICE tkinter.simpledialog.PROJECTING tkinter.simpledialog.Pack(??) tkinter.simpledialog.PanedWindow(??) tkinter.simpledialog.PhotoImage(??) tkinter.simpledialog.Place(??) tkinter.simpledialog.RADIOBUTTON tkinter.simpledialog.RAISED tkinter.simpledialog.READABLE tkinter.simpledialog.RIDGE tkinter.simpledialog.RIGHT tkinter.simpledialog.ROUND tkinter.simpledialog.Radiobutton(??) tkinter.simpledialog.S tkinter.simpledialog.SCROLL tkinter.simpledialog.SE tkinter.simpledialog.SEL tkinter.simpledialog.SEL_FIRST tkinter.simpledialog.SEL_LAST tkinter.simpledialog.SEPARATOR tkinter.simpledialog.SINGLE tkinter.simpledialog.SOLID tkinter.simpledialog.SUNKEN tkinter.simpledialog.SW tkinter.simpledialog.Scale(??) tkinter.simpledialog.Scrollbar(??) tkinter.simpledialog.SimpleDialog(??) tkinter.simpledialog.Spinbox(??) tkinter.simpledialog.StringVar(??) tkinter.simpledialog.Studbutton(??) tkinter.simpledialog.TOP tkinter.simpledialog.TRUE tkinter.simpledialog.Tcl(??) tkinter.simpledialog.TclError(??) tkinter.simpledialog.TclVersion tkinter.simpledialog.Text(??) tkinter.simpledialog.Tk(??) tkinter.simpledialog.TkVersion tkinter.simpledialog.Toplevel(??) tkinter.simpledialog.Tributton(??) tkinter.simpledialog.UNDERLINE tkinter.simpledialog.UNITS tkinter.simpledialog.VERTICAL tkinter.simpledialog.Variable(??) tkinter.simpledialog.W tkinter.simpledialog.WORD tkinter.simpledialog.WRITABLE tkinter.simpledialog.Widget(??) tkinter.simpledialog.Wm(??) tkinter.simpledialog.X tkinter.simpledialog.XView(??) tkinter.simpledialog.Y tkinter.simpledialog.YES tkinter.simpledialog.YView(??) tkinter.simpledialog.askfloat(??) tkinter.simpledialog.askinteger(??) tkinter.simpledialog.askstring(??) tkinter.simpledialog.colorchooser(??) tkinter.simpledialog.commondialog(??) tkinter.simpledialog.constants(??) tkinter.simpledialog.dialog(??) tkinter.simpledialog.dnd(??) tkinter.simpledialog.filedialog(??) tkinter.simpledialog.font(??) tkinter.simpledialog.getboolean(??) tkinter.simpledialog.getdouble(??) tkinter.simpledialog.getint(??) tkinter.simpledialog.image_names(??) tkinter.simpledialog.image_types(??) tkinter.simpledialog.mainloop(??) tkinter.simpledialog.messagebox(??) tkinter.simpledialog.scrolledtext(??) tkinter.simpledialog.sys(??) tkinter.simpledialog.tkinter(??) tkinter.simpledialog.wantobjects tkinter.simpledialog.warnings(??) tkinter.sys(??) tkinter.tix.ACROSSTOP tkinter.tix.ACTIVE tkinter.tix.ALL tkinter.tix.ANCHOR tkinter.tix.ARC tkinter.tix.ASCII tkinter.tix.AUTO tkinter.tix.At(??) tkinter.tix.AtEnd(??) tkinter.tix.AtInsert(??) tkinter.tix.AtSelFirst(??) tkinter.tix.AtSelLast(??) tkinter.tix.BALLOON tkinter.tix.BASELINE tkinter.tix.BEVEL tkinter.tix.BOTH tkinter.tix.BOTTOM tkinter.tix.BROWSE tkinter.tix.BUTT tkinter.tix.Balloon(??) tkinter.tix.BaseWidget(??) tkinter.tix.BitmapImage(??) tkinter.tix.BooleanVar(??) tkinter.tix.Button(??) tkinter.tix.ButtonBox(??) tkinter.tix.CASCADE tkinter.tix.CELL tkinter.tix.CENTER tkinter.tix.CHAR tkinter.tix.CHECKBUTTON tkinter.tix.CHORD tkinter.tix.COLUMN tkinter.tix.COMMAND tkinter.tix.CObjView(??) tkinter.tix.CURRENT tkinter.tix.CallWrapper(??) tkinter.tix.Canvas(??) tkinter.tix.CheckList(??) tkinter.tix.Checkbutton(??) tkinter.tix.ComboBox(??) tkinter.tix.Control(??) tkinter.tix.DECREASING tkinter.tix.DISABLED tkinter.tix.DOTBOX tkinter.tix.DialogShell(??) tkinter.tix.DirList(??) tkinter.tix.DirSelectBox(??) tkinter.tix.DirSelectDialog(??) tkinter.tix.DirTree(??) tkinter.tix.DisplayStyle(??) tkinter.tix.DoubleVar(??) tkinter.tix.E tkinter.tix.END tkinter.tix.EW tkinter.tix.EXCEPTION tkinter.tix.EXTENDED tkinter.tix.Entry(??) tkinter.tix.Event(??) tkinter.tix.ExFileSelectBox(??) tkinter.tix.ExFileSelectDialog(??) tkinter.tix.FALSE tkinter.tix.FIRST tkinter.tix.FLAT tkinter.tix.FileEntry(??) tkinter.tix.FileSelectBox(??) tkinter.tix.FileSelectDialog(??) tkinter.tix.FileTypeList(??) tkinter.tix.Form(??) tkinter.tix.Frame(??) tkinter.tix.GROOVE tkinter.tix.Grid(??) tkinter.tix.HIDDEN tkinter.tix.HList(??) tkinter.tix.HORIZONTAL tkinter.tix.IMAGE tkinter.tix.IMAGETEXT tkinter.tix.IMMEDIATE tkinter.tix.INCREASING tkinter.tix.INSERT tkinter.tix.INSIDE tkinter.tix.INTEGER tkinter.tix.Image(??) tkinter.tix.InputOnly(??) tkinter.tix.IntVar(??) tkinter.tix.LAST tkinter.tix.LEFT tkinter.tix.Label(??) tkinter.tix.LabelEntry(??) tkinter.tix.LabelFrame(??) tkinter.tix.ListNoteBook(??) tkinter.tix.Listbox(??) tkinter.tix.MAIN tkinter.tix.MAX tkinter.tix.MITER tkinter.tix.MOVETO tkinter.tix.MULTIPLE tkinter.tix.Menu(??) tkinter.tix.Menubutton(??) tkinter.tix.Message(??) tkinter.tix.Meter(??) tkinter.tix.Misc(??) tkinter.tix.N tkinter.tix.NE tkinter.tix.NO tkinter.tix.NONE tkinter.tix.NORMAL tkinter.tix.NS tkinter.tix.NSEW tkinter.tix.NUMERIC tkinter.tix.NW tkinter.tix.NoDefaultRoot(??) tkinter.tix.NoteBook(??) tkinter.tix.NoteBookFrame(??) tkinter.tix.OFF tkinter.tix.ON tkinter.tix.OUTSIDE tkinter.tix.OptionMenu(??) tkinter.tix.OptionName(??) tkinter.tix.PAGES tkinter.tix.PIESLICE tkinter.tix.PROJECTING tkinter.tix.Pack(??) tkinter.tix.PanedWindow(??) tkinter.tix.PhotoImage(??) tkinter.tix.Place(??) tkinter.tix.PopupMenu(??) tkinter.tix.RADIOBUTTON tkinter.tix.RAISED tkinter.tix.READABLE tkinter.tix.REAL tkinter.tix.RIDGE tkinter.tix.RIGHT tkinter.tix.ROUND tkinter.tix.ROW tkinter.tix.Radiobutton(??) tkinter.tix.ResizeHandle(??) tkinter.tix.S tkinter.tix.SCROLL tkinter.tix.SE tkinter.tix.SEL tkinter.tix.SEL_FIRST tkinter.tix.SEL_LAST tkinter.tix.SEPARATOR tkinter.tix.SINGLE tkinter.tix.SOLID tkinter.tix.STATUS tkinter.tix.SUNKEN tkinter.tix.SW tkinter.tix.S_REGION tkinter.tix.Scale(??) tkinter.tix.Scrollbar(??) tkinter.tix.ScrolledGrid(??) tkinter.tix.ScrolledHList(??) tkinter.tix.ScrolledListBox(??) tkinter.tix.ScrolledTList(??) tkinter.tix.ScrolledText(??) tkinter.tix.ScrolledWindow(??) tkinter.tix.Select(??) tkinter.tix.Shell(??) tkinter.tix.Spinbox(??) tkinter.tix.StdButtonBox(??) tkinter.tix.StringVar(??) tkinter.tix.Studbutton(??) tkinter.tix.TCL_ALL_EVENTS tkinter.tix.TCL_DONT_WAIT tkinter.tix.TCL_FILE_EVENTS tkinter.tix.TCL_IDLE_EVENTS tkinter.tix.TCL_TIMER_EVENTS tkinter.tix.TCL_WINDOW_EVENTS tkinter.tix.TEXT tkinter.tix.TList(??) tkinter.tix.TOP tkinter.tix.TRUE tkinter.tix.Tcl(??) tkinter.tix.TclError(??) tkinter.tix.TclVersion tkinter.tix.Text(??) tkinter.tix.TixSubWidget(??) tkinter.tix.TixWidget(??) tkinter.tix.Tk(??) tkinter.tix.TkVersion tkinter.tix.Toplevel(??) tkinter.tix.Tree(??) tkinter.tix.Tributton(??) tkinter.tix.UNDERLINE tkinter.tix.UNITS tkinter.tix.VERTICAL tkinter.tix.Variable(??) tkinter.tix.W tkinter.tix.WINDOW tkinter.tix.WORD tkinter.tix.WRITABLE tkinter.tix.Widget(??) tkinter.tix.Wm(??) tkinter.tix.X tkinter.tix.XView(??) tkinter.tix.X_REGION tkinter.tix.Y tkinter.tix.YES tkinter.tix.YView(??) tkinter.tix.Y_REGION tkinter.tix.colorchooser(??) tkinter.tix.commondialog(??) tkinter.tix.constants(??) tkinter.tix.dialog(??) tkinter.tix.dnd(??) tkinter.tix.filedialog(??) tkinter.tix.font(??) tkinter.tix.getboolean(??) tkinter.tix.getdouble(??) tkinter.tix.getint(??) tkinter.tix.image_names(??) tkinter.tix.image_types(??) tkinter.tix.mainloop(??) tkinter.tix.messagebox(??) tkinter.tix.os(??) tkinter.tix.scrolledtext(??) tkinter.tix.simpledialog(??) tkinter.tix.sys(??) tkinter.tix.tixCommand(??) tkinter.tix.tkinter(??) tkinter.tix.wantobjects tkinter.tix.warnings(??) tkinter.ttk.Button(??) tkinter.ttk.Checkbutton(??) tkinter.ttk.Combobox(??) tkinter.ttk.Entry(??) tkinter.ttk.Frame(??) tkinter.ttk.Label(??) tkinter.ttk.LabelFrame(??) tkinter.ttk.LabeledScale(??) tkinter.ttk.Labelframe(??) tkinter.ttk.Menubutton(??) tkinter.ttk.Notebook(??) tkinter.ttk.OptionMenu(??) tkinter.ttk.PanedWindow(??) tkinter.ttk.Panedwindow(??) tkinter.ttk.Progressbar(??) tkinter.ttk.Radiobutton(??) tkinter.ttk.Scale(??) tkinter.ttk.Scrollbar(??) tkinter.ttk.Separator(??) tkinter.ttk.Sizegrip(??) tkinter.ttk.Style(??) tkinter.ttk.Treeview(??) tkinter.ttk.Widget(??) tkinter.ttk.setup_master(??) tkinter.ttk.tclobjs_to_py(??) tkinter.ttk.tkinter(??) tkinter.wantobjects tkinter.warnings(??) token.AMPER token.AMPEREQUAL token.AT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.EXACT_TOKEN_TYPES(??) tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.StringPrefix tokenize.TILDE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.builtins(??) tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.endpats(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(encoding) -> CodecInfo tokenize.main(??) tokenize.maybe(??) tokenize.open(??) tokenize.re(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.triple_quoted(??) tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.dis(??) trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc(??) trace.inspect(??) trace.linecache(??) trace.main(??) trace.modname(??) trace.os(??) trace.pickle(??) trace.re(??) trace.rx_blank(??) trace.sys(??) trace.threading(??) trace.token(??) trace.tokenize(??) trace.usage(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.ISIG tty.ISPEED tty.ISTRIP tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSASOFT tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGPGRP tty.TIOCGWINSZ tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSETD tty.TIOCSPGRP tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> empty tuple turtle.Canvas(??) turtle.Pen(??) turtle.RawPen(??) turtle.RawTurtle(??) turtle.Screen(??) turtle.ScrolledCanvas(??) turtle.Shape(??) turtle.TK(??) turtle.TNavigator(??) turtle.TPen(??) turtle.Tbuffer(??) turtle.Terminator(??) turtle.Turtle(??) turtle.TurtleGraphicsError(??) turtle.TurtleScreen(??) turtle.TurtleScreenBase(??) turtle.Vec2D(??) turtle.addshape(??) turtle.back(??) turtle.backward(??) turtle.begin_fill(??) turtle.begin_poly(??) turtle.bgcolor(??) turtle.bgpic(??) turtle.bk(??) turtle.bye(??) turtle.circle(??) turtle.clear(??) turtle.clearscreen(??) turtle.clearstamp(??) turtle.clearstamps(??) turtle.clone(??) turtle.color(??) turtle.colormode(??) turtle.config_dict(??) turtle.deepcopy(??) turtle.defstr turtle.degrees(??) turtle.delay(??) turtle.distance(??) turtle.done(??) turtle.dot(??) turtle.down(??) turtle.end_fill(??) turtle.end_poly(??) turtle.exitonclick(??) turtle.fd(??) turtle.fillcolor(??) turtle.filling(??) turtle.forward(??) turtle.get_poly(??) turtle.get_shapepoly(??) turtle.getcanvas(??) turtle.getmethparlist(??) turtle.getpen(??) turtle.getscreen(??) turtle.getshapes(??) turtle.getturtle(??) turtle.goto(??) turtle.heading(??) turtle.hideturtle(??) turtle.home(??) turtle.ht(??) turtle.inspect(??) turtle.isdown(??) turtle.isfile(??) turtle.isvisible(??) turtle.join(??) turtle.left(??) turtle.listen(??) turtle.lt(??) turtle.mainloop(??) turtle.math(??) turtle.methodname turtle.mode(??) turtle.numinput(??) turtle.onclick(??) turtle.ondrag(??) turtle.onkey(??) turtle.onkeypress(??) turtle.onkeyrelease(??) turtle.onrelease(??) turtle.onscreenclick(??) turtle.ontimer(??) turtle.pd(??) turtle.pen(??) turtle.pencolor(??) turtle.pendown(??) turtle.pensize(??) turtle.penup(??) turtle.pl1 turtle.pl2 turtle.pos(??) turtle.position(??) turtle.pu(??) turtle.radians(??) turtle.read_docstrings(??) turtle.readconfig(??) turtle.register_shape(??) turtle.reset(??) turtle.resetscreen(??) turtle.resizemode(??) turtle.right(??) turtle.rt(??) turtle.screensize(??) turtle.seth(??) turtle.setheading(??) turtle.setpos(??) turtle.setposition(??) turtle.settiltangle(??) turtle.setundobuffer(??) turtle.setup(??) turtle.setworldcoordinates(??) turtle.setx(??) turtle.sety(??) turtle.shape(??) turtle.shapesize(??) turtle.shapetransform(??) turtle.shearfactor(??) turtle.showturtle(??) turtle.simpledialog(??) turtle.speed(??) turtle.split(??) turtle.st(??) turtle.stamp(??) turtle.textinput(??) turtle.tilt(??) turtle.tiltangle(??) turtle.time(??) turtle.title(??) turtle.towards(??) turtle.tracer(??) turtle.turtles(??) turtle.turtlesize(??) turtle.types(??) turtle.undo (repeatedly) the last turtle action. turtle.undobufferentries(??) turtle.up(??) turtle.update(??) turtle.width(??) turtle.window_height(??) turtle.window_width(??) turtle.write(??) turtle.write_docstringdict(??) turtle.xcor(??) turtle.ycor(??) type(object) -> the object's type types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CodeType(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MappingProxyType(??) types.MemberDescriptorType(??) types.MethodType(??) types.ModuleType(??) types.SimpleNamespace(??) types.TracebackType(??) types.new_class(??) types.prepare_class(??) unicodedata.UCD(??) unicodedata.bidirectional(unichr) unicodedata.category(unichr) unicodedata.combining(unichr) unicodedata.decimal(unichr[, default]) unicodedata.decomposition(unichr) unicodedata.digit(unichr[, default]) unicodedata.east_asian_width(unichr) unicodedata.lookup(name) unicodedata.mirrored(unichr) unicodedata.name(unichr[, default]) unicodedata.normalize(form, unistr) unicodedata.numeric(unichr[, default]) unicodedata.ucd_3_2_0(??) unicodedata.ucnhash_CAPI(??) unicodedata.unidata_version urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.scheme_chars urllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.parse.splitnport(??) urllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.parse.splitport('host:port') --> 'host', 'port'. urllib.parse.splitquery('/path?query') --> '/path', 'query'. urllib.parse.splittag('/path#tag') --> '/path', 'tag'. urllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.parse.splitvalue('attr=value') --> 'attr', 'value'. urllib.parse.sys(??) urllib.parse.to_bytes(u"URL") --> 'URL'. urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap('') --> 'type://host/path'. urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.collections(??) urllib.request.contextlib(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.getproxies_macosx_sysconf(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.proxy_bypass_macosx_sysconf(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.request.splitport('host:port') --> 'host', 'port'. urllib.request.splitquery('/path?query') --> '/path', 'query'. urllib.request.splittag('/path#tag') --> '/path', 'tag'. urllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.request.splitvalue('attr=value') --> 'attr', 'value'. urllib.request.ssl(??) urllib.request.sys(??) urllib.request.tempfile(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.to_bytes(u"URL") --> 'URL'. urllib.request.unquote(??) urllib.request.unwrap('') --> 'type://host/path'. urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.request.warnings(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.robotparser.Entry(??) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID(??) uuid.bytes_(??) uuid.ctypes(??) uuid.getnode(??) uuid.int_(??) uuid.lib(??) uuid.libname uuid.os(??) uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary venv.Context(??) venv.EnvBuilder(??) venv.base64(??) venv.create(??) venv.io(??) venv.logger(??) venv.logging(??) venv.main(??) venv.os(??) venv.shutil(??) venv.sys(??) venv.sysconfig(??) venv.threading(??) warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.linecache(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.big_endian wave.builtins(??) wave.open(??) wave.openfp(??) wave.struct(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.collections(??) weakref.getweakrefcount(object) -- return the number of weak references weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Chrome(??) webbrowser.Chromium(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.MacOSX(??) webbrowser.MacOSXOSAScript(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.io(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex(??) webbrowser.stat(??) webbrowser.subprocess(??) webbrowser.sys(??) webbrowser.time(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.python_implementation(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO([buffer]) -> object xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLTreeBuilder(??) xml.etree.ElementTree.contextlib(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.io(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.XMLTreeBuilder(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO([buffer]) -> object xmlrpc.client.DateTime(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.loads(??) xmlrpc.client.socket(??) xmlrpc.client.sys(??) xmlrpc.client.time(??) xmlrpc.client.urllib(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.http(??) xmlrpc.server.inspect(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(iter1 [,iter2 [...]]) --> zip object zipfile.BZIP2_VERSION zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.DEFAULT_VERSION zipfile.LZMACompressor(??) zipfile.LZMADecompressor(??) zipfile.LZMA_VERSION zipfile.LargeZipFile(??) zipfile.MAX_EXTRACT_VERSION zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP64_VERSION zipfile.ZIP_BZIP2 zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_LZMA zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.bz2(??) zipfile.compressor_names(??) zipfile.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zipfile.error(??) zipfile.imp(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.lzma(??) zipfile.main(??) zipfile.os(??) zipfile.re(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.time(??) zipfile.zlib(??) zipimport.ZipImportError(??) zipimport.zipimporter(archivepath) -> zipimporter object zlib.DEFLATED zlib.DEF_MEM_LEVEL zlib.MAX_WBITS zlib.ZLIB_RUNTIME_VERSION zlib.ZLIB_VERSION zlib.Z_BEST_COMPRESSION zlib.Z_BEST_SPEED zlib.Z_DEFAULT_COMPRESSION zlib.Z_DEFAULT_STRATEGY zlib.Z_FILTERED zlib.Z_FINISH zlib.Z_FULL_FLUSH zlib.Z_HUFFMAN_ONLY zlib.Z_NO_FLUSH zlib.Z_SYNC_FLUSH zlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string. zlib.compress(string[, level]) -- Returned compressed string. zlib.compressobj(??) zlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string. zlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. zlib.decompressobj([wbits[, zdict]]) -- Return a decompressor object. zlib.error(??) ================================================ FILE: src/qscint/qsci/api/python/Python-3.4.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BlockingIOError(??) BrokenPipeError(??) BufferError(??) BytesWarning(??) ChildProcessError(??) ConnectionAbortedError(??) ConnectionError(??) ConnectionRefusedError(??) ConnectionResetError(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FileExistsError(??) FileNotFoundError(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IN.AF_APPLETALK IN.AF_ATM IN.AF_CCITT IN.AF_CHAOS IN.AF_CNT IN.AF_COIP IN.AF_DATAKIT IN.AF_DECnet IN.AF_DLI IN.AF_E164 IN.AF_ECMA IN.AF_HYLINK IN.AF_IMPLINK IN.AF_INET IN.AF_INET6 IN.AF_IPX IN.AF_ISDN IN.AF_ISO IN.AF_LAT IN.AF_LINK IN.AF_LOCAL IN.AF_MAX IN.AF_NATM IN.AF_NDRV IN.AF_NETBIOS IN.AF_NETGRAPH IN.AF_NS IN.AF_OSI IN.AF_PPP IN.AF_PUP IN.AF_RESERVED_36 IN.AF_ROUTE IN.AF_SIP IN.AF_SNA IN.AF_SYSTEM IN.AF_UNIX IN.AF_UNSPEC IN.CMGROUP_MAX IN.HTONL(??) IN.HTONS(??) IN.ICMP6_FILTER IN.IN6_IS_ADDR_LINKLOCAL(??) IN.IN6_IS_ADDR_LOOPBACK(??) IN.IN6_IS_ADDR_MC_GLOBAL(??) IN.IN6_IS_ADDR_MC_LINKLOCAL(??) IN.IN6_IS_ADDR_MC_NODELOCAL(??) IN.IN6_IS_ADDR_MC_ORGLOCAL(??) IN.IN6_IS_ADDR_MC_SITELOCAL(??) IN.IN6_IS_ADDR_SITELOCAL(??) IN.IN6_IS_ADDR_UNSPECIFIED(??) IN.IN6_IS_ADDR_V4COMPAT(??) IN.IN6_IS_ADDR_V4MAPPED(??) IN.INADDR_NONE IN.INET6_ADDRSTRLEN IN.INET_ADDRSTRLEN IN.INT16_C(??) IN.INT16_MAX IN.INT16_MIN IN.INT32_C(??) IN.INT32_MAX IN.INT32_MIN IN.INT8_C(??) IN.INT8_MAX IN.INT8_MIN IN.INTPTR_MAX IN.INTPTR_MIN IN.INT_FAST16_MAX IN.INT_FAST16_MIN IN.INT_FAST32_MAX IN.INT_FAST32_MIN IN.INT_FAST8_MAX IN.INT_FAST8_MIN IN.INT_LEAST16_MAX IN.INT_LEAST16_MIN IN.INT_LEAST32_MAX IN.INT_LEAST32_MIN IN.INT_LEAST8_MAX IN.INT_LEAST8_MIN IN.IN_BADCLASS(??) IN.IN_CLASSA(??) IN.IN_CLASSA_HOST IN.IN_CLASSA_MAX IN.IN_CLASSA_NET IN.IN_CLASSA_NSHIFT IN.IN_CLASSB(??) IN.IN_CLASSB_HOST IN.IN_CLASSB_MAX IN.IN_CLASSB_NET IN.IN_CLASSB_NSHIFT IN.IN_CLASSC(??) IN.IN_CLASSC_HOST IN.IN_CLASSC_NET IN.IN_CLASSC_NSHIFT IN.IN_CLASSD(??) IN.IN_CLASSD_HOST IN.IN_CLASSD_NET IN.IN_CLASSD_NSHIFT IN.IN_EXPERIMENTAL(??) IN.IN_LINKLOCAL(??) IN.IN_LOOPBACKNET IN.IN_MULTICAST(??) IN.IPCTL_ACCEPTSOURCEROUTE IN.IPCTL_DEFMTU IN.IPCTL_DEFTTL IN.IPCTL_DIRECTEDBROADCAST IN.IPCTL_FASTFORWARDING IN.IPCTL_FORWARDING IN.IPCTL_GIF_TTL IN.IPCTL_INTRQDROPS IN.IPCTL_INTRQMAXLEN IN.IPCTL_KEEPFAITH IN.IPCTL_MAXID IN.IPCTL_RTEXPIRE IN.IPCTL_RTMAXCACHE IN.IPCTL_RTMINEXPIRE IN.IPCTL_SENDREDIRECTS IN.IPCTL_SOURCEROUTE IN.IPCTL_STATS IN.IPPORT_HIFIRSTAUTO IN.IPPORT_HILASTAUTO IN.IPPORT_RESERVED IN.IPPORT_RESERVEDSTART IN.IPPORT_USERRESERVED IN.IPPROTO_3PC IN.IPPROTO_ADFS IN.IPPROTO_AH IN.IPPROTO_AHIP IN.IPPROTO_APES IN.IPPROTO_ARGUS IN.IPPROTO_AX25 IN.IPPROTO_BHA IN.IPPROTO_BLT IN.IPPROTO_BRSATMON IN.IPPROTO_CFTP IN.IPPROTO_CHAOS IN.IPPROTO_CMTP IN.IPPROTO_CPHB IN.IPPROTO_CPNX IN.IPPROTO_DDP IN.IPPROTO_DGP IN.IPPROTO_DIVERT IN.IPPROTO_DONE IN.IPPROTO_DSTOPTS IN.IPPROTO_EGP IN.IPPROTO_EMCON IN.IPPROTO_ENCAP IN.IPPROTO_EON IN.IPPROTO_ESP IN.IPPROTO_ETHERIP IN.IPPROTO_FRAGMENT IN.IPPROTO_GGP IN.IPPROTO_GMTP IN.IPPROTO_GRE IN.IPPROTO_HELLO IN.IPPROTO_HMP IN.IPPROTO_HOPOPTS IN.IPPROTO_ICMP IN.IPPROTO_ICMPV6 IN.IPPROTO_IDP IN.IPPROTO_IDPR IN.IPPROTO_IDRP IN.IPPROTO_IGMP IN.IPPROTO_IGP IN.IPPROTO_IGRP IN.IPPROTO_IL IN.IPPROTO_INLSP IN.IPPROTO_INP IN.IPPROTO_IP IN.IPPROTO_IPCOMP IN.IPPROTO_IPCV IN.IPPROTO_IPEIP IN.IPPROTO_IPIP IN.IPPROTO_IPPC IN.IPPROTO_IPV4 IN.IPPROTO_IPV6 IN.IPPROTO_IRTP IN.IPPROTO_KRYPTOLAN IN.IPPROTO_LARP IN.IPPROTO_LEAF1 IN.IPPROTO_LEAF2 IN.IPPROTO_MAX IN.IPPROTO_MAXID IN.IPPROTO_MEAS IN.IPPROTO_MHRP IN.IPPROTO_MICP IN.IPPROTO_MTP IN.IPPROTO_MUX IN.IPPROTO_ND IN.IPPROTO_NHRP IN.IPPROTO_NONE IN.IPPROTO_NSP IN.IPPROTO_NVPII IN.IPPROTO_OSPFIGP IN.IPPROTO_PGM IN.IPPROTO_PIGP IN.IPPROTO_PIM IN.IPPROTO_PRM IN.IPPROTO_PUP IN.IPPROTO_PVP IN.IPPROTO_RAW IN.IPPROTO_RCCMON IN.IPPROTO_RDP IN.IPPROTO_ROUTING IN.IPPROTO_RSVP IN.IPPROTO_RVD IN.IPPROTO_SATEXPAK IN.IPPROTO_SATMON IN.IPPROTO_SCCSP IN.IPPROTO_SDRP IN.IPPROTO_SEP IN.IPPROTO_SRPC IN.IPPROTO_ST IN.IPPROTO_SVMTP IN.IPPROTO_SWIPE IN.IPPROTO_TCF IN.IPPROTO_TCP IN.IPPROTO_TP IN.IPPROTO_TPXX IN.IPPROTO_TRUNK1 IN.IPPROTO_TRUNK2 IN.IPPROTO_TTP IN.IPPROTO_UDP IN.IPPROTO_VINES IN.IPPROTO_VISA IN.IPPROTO_VMTP IN.IPPROTO_WBEXPAK IN.IPPROTO_WBMON IN.IPPROTO_WSN IN.IPPROTO_XNET IN.IPPROTO_XTP IN.IPV6CTL_ACCEPT_RTADV IN.IPV6CTL_AUTO_FLOWLABEL IN.IPV6CTL_AUTO_LINKLOCAL IN.IPV6CTL_DAD_COUNT IN.IPV6CTL_DEFHLIM IN.IPV6CTL_DEFMCASTHLIM IN.IPV6CTL_DEFMTU IN.IPV6CTL_FORWARDING IN.IPV6CTL_FORWSRCRT IN.IPV6CTL_GIF_HLIM IN.IPV6CTL_HDRNESTLIMIT IN.IPV6CTL_KAME_VERSION IN.IPV6CTL_KEEPFAITH IN.IPV6CTL_LOG_INTERVAL IN.IPV6CTL_MAPPED_ADDR IN.IPV6CTL_MAXFRAGPACKETS IN.IPV6CTL_MAXFRAGS IN.IPV6CTL_MAXID IN.IPV6CTL_MRTPROTO IN.IPV6CTL_MRTSTATS IN.IPV6CTL_RIP6STATS IN.IPV6CTL_RR_PRUNE IN.IPV6CTL_RTEXPIRE IN.IPV6CTL_RTMAXCACHE IN.IPV6CTL_RTMINEXPIRE IN.IPV6CTL_SENDREDIRECTS IN.IPV6CTL_SOURCECHECK IN.IPV6CTL_SOURCECHECK_LOGINT IN.IPV6CTL_STATS IN.IPV6CTL_TEMPPLTIME IN.IPV6CTL_TEMPVLTIME IN.IPV6CTL_USETEMPADDR IN.IPV6CTL_USE_DEPRECATED IN.IPV6CTL_V6ONLY IN.IPV6PORT_ANONMAX IN.IPV6PORT_ANONMIN IN.IPV6PORT_RESERVED IN.IPV6PORT_RESERVEDMAX IN.IPV6PORT_RESERVEDMIN IN.IPV6PROTO_MAXID IN.IPV6_BINDV6ONLY IN.IPV6_CHECKSUM IN.IPV6_DEFAULT_MULTICAST_HOPS IN.IPV6_DEFAULT_MULTICAST_LOOP IN.IPV6_DSTOPTS IN.IPV6_FAITH IN.IPV6_FW_ADD IN.IPV6_FW_DEL IN.IPV6_FW_FLUSH IN.IPV6_FW_GET IN.IPV6_FW_ZERO IN.IPV6_HOPLIMIT IN.IPV6_HOPOPTS IN.IPV6_IPSEC_POLICY IN.IPV6_JOIN_GROUP IN.IPV6_LEAVE_GROUP IN.IPV6_MULTICAST_HOPS IN.IPV6_MULTICAST_IF IN.IPV6_MULTICAST_LOOP IN.IPV6_NEXTHOP IN.IPV6_OPTIONS IN.IPV6_PKTINFO IN.IPV6_PKTOPTIONS IN.IPV6_PORTRANGE IN.IPV6_PORTRANGE_DEFAULT IN.IPV6_PORTRANGE_HIGH IN.IPV6_PORTRANGE_LOW IN.IPV6_RECVDSTADDR IN.IPV6_RECVOPTS IN.IPV6_RECVRETOPTS IN.IPV6_RETOPTS IN.IPV6_RTHDR IN.IPV6_RTHDR_LOOSE IN.IPV6_RTHDR_STRICT IN.IPV6_RTHDR_TYPE_0 IN.IPV6_SOCKOPT_RESERVED1 IN.IPV6_UNICAST_HOPS IN.IPV6_V6ONLY IN.IP_ADD_MEMBERSHIP IN.IP_DEFAULT_MULTICAST_LOOP IN.IP_DEFAULT_MULTICAST_TTL IN.IP_DROP_MEMBERSHIP IN.IP_DUMMYNET_CONFIGURE IN.IP_DUMMYNET_DEL IN.IP_DUMMYNET_FLUSH IN.IP_DUMMYNET_GET IN.IP_FAITH IN.IP_FORCE_OUT_IFP IN.IP_FW_ADD IN.IP_FW_DEL IN.IP_FW_FLUSH IN.IP_FW_GET IN.IP_FW_RESETLOG IN.IP_FW_ZERO IN.IP_HDRINCL IN.IP_IPSEC_POLICY IN.IP_MAX_MEMBERSHIPS IN.IP_MULTICAST_IF IN.IP_MULTICAST_LOOP IN.IP_MULTICAST_TTL IN.IP_MULTICAST_VIF IN.IP_NAT__XXX IN.IP_OLD_FW_ADD IN.IP_OLD_FW_DEL IN.IP_OLD_FW_FLUSH IN.IP_OLD_FW_GET IN.IP_OLD_FW_RESETLOG IN.IP_OLD_FW_ZERO IN.IP_OPTIONS IN.IP_PORTRANGE IN.IP_PORTRANGE_DEFAULT IN.IP_PORTRANGE_HIGH IN.IP_PORTRANGE_LOW IN.IP_RECVDSTADDR IN.IP_RECVIF IN.IP_RECVOPTS IN.IP_RECVRETOPTS IN.IP_RECVTTL IN.IP_RETOPTS IN.IP_RSVP_OFF IN.IP_RSVP_ON IN.IP_RSVP_VIF_OFF IN.IP_RSVP_VIF_ON IN.IP_STRIPHDR IN.IP_TOS IN.IP_TRAFFIC_MGT_BACKGROUND IN.IP_TTL IN.MSG_CTRUNC IN.MSG_DONTROUTE IN.MSG_DONTWAIT IN.MSG_EOF IN.MSG_EOR IN.MSG_FLUSH IN.MSG_HAVEMORE IN.MSG_HOLD IN.MSG_NEEDSA IN.MSG_OOB IN.MSG_PEEK IN.MSG_RCVMORE IN.MSG_SEND IN.MSG_TRUNC IN.MSG_WAITALL IN.MSG_WAITSTREAM IN.NET_MAXID IN.NET_RT_DUMP IN.NET_RT_DUMP2 IN.NET_RT_FLAGS IN.NET_RT_IFLIST IN.NET_RT_IFLIST2 IN.NET_RT_MAXID IN.NET_RT_STAT IN.NET_RT_TRASH IN.NTOHL(??) IN.NTOHS(??) IN.PF_APPLETALK IN.PF_ATM IN.PF_CCITT IN.PF_CHAOS IN.PF_CNT IN.PF_COIP IN.PF_DATAKIT IN.PF_DECnet IN.PF_DLI IN.PF_ECMA IN.PF_HYLINK IN.PF_IMPLINK IN.PF_INET IN.PF_INET6 IN.PF_IPX IN.PF_ISDN IN.PF_ISO IN.PF_KEY IN.PF_LAT IN.PF_LINK IN.PF_LOCAL IN.PF_MAX IN.PF_NATM IN.PF_NDRV IN.PF_NETBIOS IN.PF_NETGRAPH IN.PF_NS IN.PF_OSI IN.PF_PIP IN.PF_PPP IN.PF_PUP IN.PF_RESERVED_36 IN.PF_ROUTE IN.PF_RTIP IN.PF_SIP IN.PF_SNA IN.PF_SYSTEM IN.PF_UNIX IN.PF_UNSPEC IN.PF_XTP IN.PTRDIFF_MAX IN.PTRDIFF_MIN IN.SCM_CREDS IN.SCM_RIGHTS IN.SCM_TIMESTAMP IN.SHUT_RD IN.SHUT_RDWR IN.SHUT_WR IN.SIG_ATOMIC_MAX IN.SIG_ATOMIC_MIN IN.SOCK_DGRAM IN.SOCK_MAXADDRLEN IN.SOCK_RAW IN.SOCK_RDM IN.SOCK_SEQPACKET IN.SOCK_STREAM IN.SOL_SOCKET IN.SOMAXCONN IN.SO_ACCEPTCONN IN.SO_ACCEPTFILTER IN.SO_BROADCAST IN.SO_DEBUG IN.SO_DONTROUTE IN.SO_DONTTRUNC IN.SO_ERROR IN.SO_KEEPALIVE IN.SO_LABEL IN.SO_LINGER IN.SO_LINGER_SEC IN.SO_NKE IN.SO_NOADDRERR IN.SO_NOSIGPIPE IN.SO_NOTIFYCONFLICT IN.SO_NREAD IN.SO_NWRITE IN.SO_OOBINLINE IN.SO_PEERLABEL IN.SO_RCVBUF IN.SO_RCVLOWAT IN.SO_RCVTIMEO IN.SO_RESTRICTIONS IN.SO_RESTRICT_DENYIN IN.SO_RESTRICT_DENYOUT IN.SO_RESTRICT_DENYSET IN.SO_REUSEADDR IN.SO_REUSEPORT IN.SO_REUSESHAREUID IN.SO_SNDBUF IN.SO_SNDLOWAT IN.SO_SNDTIMEO IN.SO_TIMESTAMP IN.SO_TYPE IN.SO_USELOOPBACK IN.SO_WANTMORE IN.SO_WANTOOBFLAG IN.TRAFFIC_MGT_SO_BACKGROUND IN.TRAFFIC_MGT_SO_BG_SUPPRESSED IN.UINT16_MAX IN.UINT8_MAX IN.UINT_FAST16_MAX IN.UINT_FAST8_MAX IN.UINT_LEAST16_MAX IN.UINT_LEAST8_MAX IN.WCHAR_MAX IN.WCHAR_MIN IN.WINT_MAX IN.WINT_MIN IN.htonl(??) IN.htons(??) IN.ntohl(??) IN.ntohs(??) IN.pseudo_AF_HDRCMPLT IN.pseudo_AF_KEY IN.pseudo_AF_PIP IN.pseudo_AF_RTIP IN.pseudo_AF_XTP IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) InterruptedError(??) IsADirectoryError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) NameError(??) None(??) NotADirectoryError(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) PermissionError(??) ProcessLookupError(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) TimeoutError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABC(??) abc.ABCMeta(??) abc.WeakSet(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abc.get_cache_token(??) abs(number) -> number aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.namedtuple(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) aifc.warnings(??) all(iterable) -> bool any(iterable) -> bool argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.MetavarTypeHelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) array.ArrayType(??) array.array(typecode [, initializer]) -> array array.typecodes ascii(object) -> string ast.AST(??) ast.Add(??) ast.And(??) ast.Assert(??) ast.Assign(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FunctionDef(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NameConstant(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ONLY_AST ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.Try(??) ast.Tuple(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.YieldFrom(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.unaryop(??) ast.walk(??) ast.withitem(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.deque([iterable[, maxlen]]) --> deque object asynchat.fifo(??) asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asynchat.socket(??) asyncio.ALL_COMPLETED asyncio.AbstractChildWatcher(??) asyncio.AbstractEventLoop(??) asyncio.AbstractEventLoopPolicy(??) asyncio.AbstractServer(??) asyncio.BaseProtocol(??) asyncio.BaseTransport(??) asyncio.BoundedSemaphore(??) asyncio.CancelledError(??) asyncio.Condition(??) asyncio.DatagramProtocol(??) asyncio.DatagramTransport(??) asyncio.DefaultEventLoopPolicy(??) asyncio.Event(??) asyncio.FIRST_COMPLETED asyncio.FIRST_EXCEPTION asyncio.FastChildWatcher(??) asyncio.Future(??) asyncio.Handle(??) asyncio.IncompleteReadError(??) asyncio.InvalidStateError(??) asyncio.JoinableQueue(??) asyncio.LifoQueue(??) asyncio.Lock(??) asyncio.PriorityQueue(??) asyncio.Protocol(??) asyncio.Queue(??) asyncio.QueueEmpty(??) asyncio.QueueFull(??) asyncio.ReadTransport(??) asyncio.SafeChildWatcher(??) asyncio.SelectorEventLoop(??) asyncio.Semaphore(??) asyncio.StreamReader(??) asyncio.StreamReaderProtocol(??) asyncio.StreamWriter(??) asyncio.SubprocessProtocol(??) asyncio.SubprocessTransport(??) asyncio.Task(??) asyncio.TimeoutError(??) asyncio.TimerHandle(??) asyncio.Transport(??) asyncio.WriteTransport(??) asyncio.as_completed(??) asyncio.async(??) asyncio.base_events(??) asyncio.base_events.BaseEventLoop(??) asyncio.base_events.Server(??) asyncio.base_events.collections(??) asyncio.base_events.concurrent(??) asyncio.base_events.events(??) asyncio.base_events.futures(??) asyncio.base_events.heapq(??) asyncio.base_events.logger(??) asyncio.base_events.logging(??) asyncio.base_events.os(??) asyncio.base_events.socket(??) asyncio.base_events.subprocess(??) asyncio.base_events.sys(??) asyncio.base_events.tasks(??) asyncio.base_events.time(??) asyncio.base_subprocess(??) asyncio.base_subprocess.BaseSubprocessTransport(??) asyncio.base_subprocess.ReadSubprocessPipeProto(??) asyncio.base_subprocess.WriteSubprocessPipeProto(??) asyncio.base_subprocess.collections(??) asyncio.base_subprocess.protocols(??) asyncio.base_subprocess.subprocess(??) asyncio.base_subprocess.tasks(??) asyncio.base_subprocess.transports(??) asyncio.constants(??) asyncio.constants.ACCEPT_RETRY_DELAY asyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES asyncio.coroutine(??) asyncio.create_subprocess_exec(??) asyncio.create_subprocess_shell(??) asyncio.events(??) asyncio.events.AbstractEventLoop(??) asyncio.events.AbstractEventLoopPolicy(??) asyncio.events.AbstractServer(??) asyncio.events.BaseDefaultEventLoopPolicy(??) asyncio.events.Handle(??) asyncio.events.TimerHandle(??) asyncio.events.get_child_watcher(??) asyncio.events.get_event_loop(??) asyncio.events.get_event_loop_policy(??) asyncio.events.new_event_loop(??) asyncio.events.set_child_watcher(??) asyncio.events.set_event_loop(??) asyncio.events.set_event_loop_policy(??) asyncio.events.socket(??) asyncio.events.subprocess(??) asyncio.events.threading(??) asyncio.futures(??) asyncio.futures.CancelledError(??) asyncio.futures.Error(??) asyncio.futures.Future(??) asyncio.futures.InvalidStateError(??) asyncio.futures.STACK_DEBUG asyncio.futures.TimeoutError(??) asyncio.futures.concurrent(??) asyncio.futures.events(??) asyncio.futures.logging(??) asyncio.futures.sys(??) asyncio.futures.traceback(??) asyncio.futures.wrap_future(??) asyncio.gather(??) asyncio.get_child_watcher(??) asyncio.get_event_loop(??) asyncio.get_event_loop_policy(??) asyncio.iscoroutine(??) asyncio.iscoroutinefunction(??) asyncio.locks(??) asyncio.locks.BoundedSemaphore(??) asyncio.locks.Condition(??) asyncio.locks.Event(??) asyncio.locks.Lock(??) asyncio.locks.Semaphore(??) asyncio.locks.collections(??) asyncio.locks.events(??) asyncio.locks.futures(??) asyncio.locks.tasks(??) asyncio.log(??) asyncio.log.logger(??) asyncio.log.logging(??) asyncio.new_event_loop(??) asyncio.open_connection(??) asyncio.open_unix_connection(??) asyncio.proactor_events.BaseProactorEventLoop(??) asyncio.proactor_events.base_events(??) asyncio.proactor_events.constants(??) asyncio.proactor_events.futures(??) asyncio.proactor_events.logger(??) asyncio.proactor_events.socket(??) asyncio.proactor_events.transports(??) asyncio.protocols(??) asyncio.protocols.BaseProtocol(??) asyncio.protocols.DatagramProtocol(??) asyncio.protocols.Protocol(??) asyncio.protocols.SubprocessProtocol(??) asyncio.queues(??) asyncio.queues.JoinableQueue(??) asyncio.queues.LifoQueue(??) asyncio.queues.PriorityQueue(??) asyncio.queues.Queue(??) asyncio.queues.QueueEmpty(??) asyncio.queues.QueueFull(??) asyncio.queues.collections(??) asyncio.queues.coroutine(??) asyncio.queues.events(??) asyncio.queues.futures(??) asyncio.queues.heapq(??) asyncio.queues.locks(??) asyncio.selector_events(??) asyncio.selector_events.BaseSelectorEventLoop(??) asyncio.selector_events.base_events(??) asyncio.selector_events.collections(??) asyncio.selector_events.constants(??) asyncio.selector_events.errno(??) asyncio.selector_events.events(??) asyncio.selector_events.futures(??) asyncio.selector_events.logger(??) asyncio.selector_events.selectors(??) asyncio.selector_events.socket(??) asyncio.selector_events.ssl(??) asyncio.selector_events.transports(??) asyncio.selectors(??) asyncio.set_child_watcher(??) asyncio.set_event_loop(??) asyncio.set_event_loop_policy(??) asyncio.shield(??) asyncio.sleep(??) asyncio.start_server(??) asyncio.start_unix_server(??) asyncio.streams(??) asyncio.streams.FlowControlMixin(??) asyncio.streams.IncompleteReadError(??) asyncio.streams.StreamReader(??) asyncio.streams.StreamReaderProtocol(??) asyncio.streams.StreamWriter(??) asyncio.streams.events(??) asyncio.streams.futures(??) asyncio.streams.open_connection(??) asyncio.streams.open_unix_connection(??) asyncio.streams.protocols(??) asyncio.streams.socket(??) asyncio.streams.start_server(??) asyncio.streams.start_unix_server(??) asyncio.streams.tasks(??) asyncio.subprocess(??) asyncio.subprocess.DEVNULL asyncio.subprocess.PIPE asyncio.subprocess.Process(??) asyncio.subprocess.STDOUT asyncio.subprocess.SubprocessStreamProtocol(??) asyncio.subprocess.collections(??) asyncio.subprocess.create_subprocess_exec(??) asyncio.subprocess.create_subprocess_shell(??) asyncio.subprocess.events(??) asyncio.subprocess.futures(??) asyncio.subprocess.protocols(??) asyncio.subprocess.streams(??) asyncio.subprocess.subprocess(??) asyncio.subprocess.tasks(??) asyncio.sys(??) asyncio.tasks(??) asyncio.tasks.ALL_COMPLETED asyncio.tasks.CoroWrapper(??) asyncio.tasks.FIRST_COMPLETED asyncio.tasks.FIRST_EXCEPTION asyncio.tasks.Task(??) asyncio.tasks.as_completed(??) asyncio.tasks.async(??) asyncio.tasks.concurrent(??) asyncio.tasks.coroutine(??) asyncio.tasks.events(??) asyncio.tasks.functools(??) asyncio.tasks.futures(??) asyncio.tasks.gather(??) asyncio.tasks.inspect(??) asyncio.tasks.iscoroutine(??) asyncio.tasks.iscoroutinefunction(??) asyncio.tasks.linecache(??) asyncio.tasks.logger(??) asyncio.tasks.os(??) asyncio.tasks.shield(??) asyncio.tasks.sleep(??) asyncio.tasks.sys(??) asyncio.tasks.traceback(??) asyncio.tasks.wait(??) asyncio.tasks.wait_for(??) asyncio.tasks.weakref(??) asyncio.test_utils.HTTPServer(??) asyncio.test_utils.MockCallback(??) asyncio.test_utils.MockPattern(??) asyncio.test_utils.SSLWSGIServer(??) asyncio.test_utils.SSLWSGIServerMixin(??) asyncio.test_utils.SilentUnixWSGIServer(??) asyncio.test_utils.SilentWSGIRequestHandler(??) asyncio.test_utils.SilentWSGIServer(??) asyncio.test_utils.TestLoop(??) asyncio.test_utils.TestSelector(??) asyncio.test_utils.UnixHTTPServer(??) asyncio.test_utils.UnixSSLWSGIServer(??) asyncio.test_utils.UnixWSGIServer(??) asyncio.test_utils.WSGIRequestHandler(??) asyncio.test_utils.WSGIServer(??) asyncio.test_utils.base_events(??) asyncio.test_utils.collections(??) asyncio.test_utils.contextlib(??) asyncio.test_utils.dummy_ssl_context(??) asyncio.test_utils.events(??) asyncio.test_utils.gen_unix_socket_path(??) asyncio.test_utils.io(??) asyncio.test_utils.make_test_protocol(??) asyncio.test_utils.os(??) asyncio.test_utils.re(??) asyncio.test_utils.run_briefly(??) asyncio.test_utils.run_once(??) asyncio.test_utils.run_test_server(??) asyncio.test_utils.run_test_unix_server(??) asyncio.test_utils.run_until(??) asyncio.test_utils.selectors(??) asyncio.test_utils.socket(??) asyncio.test_utils.socketpair([family[, type[, proto]]]) -> (socket object, socket object) asyncio.test_utils.socketserver(??) asyncio.test_utils.ssl(??) asyncio.test_utils.sys(??) asyncio.test_utils.tasks(??) asyncio.test_utils.tempfile(??) asyncio.test_utils.threading(??) asyncio.test_utils.time(??) asyncio.test_utils.unittest(??) asyncio.test_utils.unix_socket_path(??) asyncio.transports(??) asyncio.transports.BaseTransport(??) asyncio.transports.DatagramTransport(??) asyncio.transports.ReadTransport(??) asyncio.transports.SubprocessTransport(??) asyncio.transports.Transport(??) asyncio.transports.WriteTransport(??) asyncio.transports.sys(??) asyncio.unix_events(??) asyncio.unix_events.AbstractChildWatcher(??) asyncio.unix_events.BaseChildWatcher(??) asyncio.unix_events.DefaultEventLoopPolicy(??) asyncio.unix_events.FastChildWatcher(??) asyncio.unix_events.SafeChildWatcher(??) asyncio.unix_events.SelectorEventLoop(??) asyncio.unix_events.base_events(??) asyncio.unix_events.base_subprocess(??) asyncio.unix_events.constants(??) asyncio.unix_events.errno(??) asyncio.unix_events.events(??) asyncio.unix_events.fcntl(??) asyncio.unix_events.logger(??) asyncio.unix_events.os(??) asyncio.unix_events.selector_events(??) asyncio.unix_events.signal(??) asyncio.unix_events.socket(??) asyncio.unix_events.stat(??) asyncio.unix_events.subprocess(??) asyncio.unix_events.sys(??) asyncio.unix_events.tasks(??) asyncio.unix_events.threading(??) asyncio.unix_events.transports(??) asyncio.wait(??) asyncio.wait_for(??) asyncio.wrap_future(??) asyncore.EAGAIN asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.EPIPE asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.fcntl(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None audioop.add(??) audioop.adpcm2lin(??) audioop.alaw2lin(??) audioop.avg(??) audioop.avgpp(??) audioop.bias(??) audioop.byteswap(??) audioop.cross(??) audioop.error(??) audioop.findfactor(??) audioop.findfit(??) audioop.findmax(??) audioop.getsample(??) audioop.lin2adpcm(??) audioop.lin2alaw(??) audioop.lin2lin(??) audioop.lin2ulaw(??) audioop.max(??) audioop.maxpp(??) audioop.minmax(??) audioop.mul(??) audioop.ratecv(??) audioop.reverse(??) audioop.rms(??) audioop.tomono(??) audioop.tostereo(??) audioop.ulaw2lin(??) base64.MAXBINSIZE base64.MAXLINESIZE base64.a85decode(??) base64.a85encode(??) base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.b85decode(??) base64.b85encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.itertools(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.CO_GENERATOR bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(number) -> string binascii.Error(??) binascii.Incomplete(??) binascii.a2b_base64(??) binascii.a2b_hex(??) binascii.a2b_hqx(??) binascii.a2b_qp(??) binascii.a2b_uu(??) binascii.b2a_base64(??) binascii.b2a_hex(??) binascii.b2a_hqx(??) binascii.b2a_qp(??) binascii.b2a_uu(??) binascii.crc32(??) binascii.crc_hqx(??) binascii.hexlify(??) binascii.rlecode_hqx(??) binascii.rledecode_hqx(??) binascii.unhexlify(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BlockingIOError(??) builtins.BrokenPipeError(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.ChildProcessError(??) builtins.ConnectionAbortedError(??) builtins.ConnectionError(??) builtins.ConnectionRefusedError(??) builtins.ConnectionResetError(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FileExistsError(??) builtins.FileNotFoundError(??) builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.InterruptedError(??) builtins.IsADirectoryError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.NameError(??) builtins.None builtins.NotADirectoryError(??) builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.PermissionError(??) builtins.ProcessLookupError(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.TimeoutError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(number) -> number builtins.all(iterable) -> bool builtins.any(iterable) -> bool builtins.ascii(object) -> string builtins.bin(number) -> string builtins.bool(x) -> bool builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(object) -> bool builtins.chr(i) -> Unicode character builtins.classmethod(function) -> method builtins.compile(source, filename, mode[, flags[, dont_inherit]]) -> code object builtins.complex(real[, imag]) -> complex number builtins.copyright(??) builtins.credits(??) builtins.delattr(object, name) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(x, y) -> (div, mod) builtins.enumerate(iterable[, start]) -> iterator for index, value of iterable builtins.eval(source[, globals[, locals]]) -> value builtins.exec(object[, globals[, locals]]) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(x) -> floating point number builtins.format(value[, format_spec]) -> string builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals() -> dictionary builtins.hasattr(object, name) -> bool builtins.hash(object) -> integer builtins.help(??) builtins.hex(number) -> string builtins.id(object) -> integer builtins.input([prompt]) -> string builtins.int(x=0) -> integer builtins.isinstance(object, class-or-type-or-tuple) -> bool builtins.issubclass(C, B) -> bool builtins.iter(iterable) -> iterator builtins.len(module, object) builtins.license(??) builtins.list() -> new empty list builtins.locals() -> dictionary builtins.map(func, *iterables) --> map object builtins.max(iterable[, key=func]) -> value builtins.memoryview(object) builtins.min(iterable[, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(number) -> string builtins.open(??) builtins.ord(c) -> integer builtins.pow(x, y[, z]) -> number builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) builtins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute builtins.quit(??) builtins.range(stop) -> range object builtins.repr(object) -> string builtins.reversed(sequence) -> reverse iterator over values of the sequence builtins.round(number[, ndigits]) -> number builtins.set() -> new empty set object builtins.setattr(object, name, value) builtins.slice(stop) builtins.sorted(iterable, key=None, reverse=False) --> new sorted list builtins.staticmethod(function) -> method builtins.str(object='') -> str builtins.sum(iterable[, start]) -> value builtins.super() -> same as super(__class__, ) builtins.tuple() -> empty tuple builtins.type(object_or_name, bases, dict) builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor(??) bz2.BZ2Decompressor(??) bz2.BZ2File(??) bz2.RLock(??) bz2.compress(??) bz2.decompress(??) bz2.io(??) bz2.open(??) bz2.warnings(??) cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(object) -> bool cgi.BytesIO([buffer]) -> object cgi.FeedParser(??) cgi.FieldStorage(??) cgi.Mapping(??) cgi.Message(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.closelog(??) cgi.dolog(??) cgi.escape(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgi.warn(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) chr(i) -> Unicode character chunk.Chunk(??) classmethod(function) -> method cmath.acos(x) cmath.acosh(x) cmath.asin(x) cmath.asinh(x) cmath.atan(x) cmath.atanh(x) cmath.cos(x) cmath.cosh(x) cmath.e cmath.exp(x) cmath.isfinite(z) -> bool cmath.isinf(z) -> bool cmath.isnan(z) -> bool cmath.log(x[, base]) -> the logarithm of x to the given base. cmath.log10(x) cmath.phase(z) -> float cmath.pi cmath.polar(z) -> r: float, phi: float cmath.rect(r, phi) -> z: complex cmath.sin(x) cmath.sinh(x) cmath.sqrt(x) cmath.tan(x) cmath.tanh(x) cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(obj, [encoding[,errors]]) -> object codecs.encode(obj, [encoding[,errors]]) -> object codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(encoding) -> CodecInfo codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(search_function) codecs.register_error(errors, handler) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.unicode_internal_decode(??) codecs.unicode_internal_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.ByteString(??) collections.Callable(??) collections.ChainMap(??) collections.Container(??) collections.Counter(??) collections.Hashable(??) collections.ItemsView(??) collections.Iterable(??) collections.Iterator(??) collections.KeysView(??) collections.Mapping(??) collections.MappingView(??) collections.MutableMapping(??) collections.MutableSequence(??) collections.MutableSet(??) collections.OrderedDict(??) collections.Sequence(??) collections.Set(??) collections.Sized(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.ValuesView(??) collections.abc.ByteString(??) collections.abc.Callable(??) collections.abc.Container(??) collections.abc.Hashable(??) collections.abc.ItemsView(??) collections.abc.Iterable(??) collections.abc.Iterator(??) collections.abc.KeysView(??) collections.abc.Mapping(??) collections.abc.MappingView(??) collections.abc.MutableMapping(??) collections.abc.MutableSequence(??) collections.abc.MutableSet(??) collections.abc.Sequence(??) collections.abc.Set(??) collections.abc.Sized(??) collections.abc.ValuesView(??) collections.defaultdict(default_factory[, ...]) --> dict with default factory collections.deque([iterable[, maxlen]]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(source, filename, mode[, flags[, dont_inherit]]) -> code object compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.errno(??) compileall.importlib(??) compileall.main(??) compileall.os(??) compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(real[, imag]) -> complex number concurrent.futures(??) concurrent.futures.ALL_COMPLETED concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process(??) concurrent.futures.process.BrokenProcessPool(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.Full(??) concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.SimpleQueue(??) concurrent.futures.process.atexit(??) concurrent.futures.process.multiprocessing(??) concurrent.futures.process.os(??) concurrent.futures.process.queue(??) concurrent.futures.process.threading(??) concurrent.futures.process.wait(??) concurrent.futures.process.weakref(??) concurrent.futures.thread(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.atexit(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.ContextDecorator(??) contextlib.ExitStack(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.deque([iterable[, maxlen]]) --> deque object contextlib.redirect_stdout(??) contextlib.suppress(??) contextlib.sys(??) contextlib.wraps(??) copy.Error(??) copy.PyStringMap(??) copy.builtins(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copy.name copy.t(??) copy.weakref(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.METHOD_CRYPT(??) crypt.METHOD_MD5(??) crypt.METHOD_SHA256(??) crypt.METHOD_SHA512(??) crypt.crypt(??) crypt.methods(??) crypt.mksalt(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable, r) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.islice(iterable, stop) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables, repeat=1) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util.contextlib(??) ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.subprocess(??) ctypes.util.sys(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.newpad(??) curses.newwin(??) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.unget_wch(??) curses.ungetch(??) curses.ungetmouse(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.wrapper(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(??) dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.FloatOperation(??) decimal.HAVE_THREADS(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.MAX_EMAX decimal.MAX_PREC decimal.MIN_EMIN decimal.MIN_ETINY decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(object, name) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.get_close_matches(??) difflib.heapq(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) difflib.warnings(??) dir([object]) -> list of strings dis.Bytecode(??) dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.Instruction(??) dis.cmp_op(??) dis.code_info(??) dis.collections(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.get_instructions(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.hasnargs(??) dis.io(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.stack_effect(??) dis.sys(??) dis.types(??) divmod(x, y) -> (div, mod) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.FAIL_FAST doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.argparse(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) dummy_threading.Barrier(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread(??) dummy_threading.ThreadError(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.local(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.contentmanager.ContentManager(??) email.contentmanager.binascii(??) email.contentmanager.email(??) email.contentmanager.get_and_fixup_unknown_message_content(??) email.contentmanager.get_message_content(??) email.contentmanager.get_non_text_content(??) email.contentmanager.get_text_content(??) email.contentmanager.maintype email.contentmanager.quoprimime(??) email.contentmanager.raw_data_manager(??) email.contentmanager.set_bytes_content(??) email.contentmanager.set_message_content(??) email.contentmanager.set_text_content(??) email.contentmanager.subtype email.contentmanager.typ(??) email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.CloseBoundaryNotFoundDefect(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderDefect(??) email.errors.HeaderMissingRequiredValue(??) email.errors.HeaderParseError(??) email.errors.InvalidBase64CharactersDefect(??) email.errors.InvalidBase64PaddingDefect(??) email.errors.InvalidHeaderDefect(??) email.errors.InvalidMultipartContentTransferEncodingDefect(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MissingHeaderBodySeparatorDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.NonASCIILocalPartDefect(??) email.errors.NonPrintableDefect(??) email.errors.ObsoleteHeaderDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.errors.UndecodableBytesDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.compat32(??) email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.message(??) email.feedparser.re(??) email.generator.BytesGenerator(??) email.generator.BytesIO([buffer]) -> object email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.Header(??) email.generator.NL email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.compat32(??) email.generator.deepcopy(??) email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.generator.warnings(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.FWS email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.headerregistry.Address(??) email.headerregistry.AddressHeader(??) email.headerregistry.BaseHeader(??) email.headerregistry.ContentDispositionHeader(??) email.headerregistry.ContentTransferEncodingHeader(??) email.headerregistry.ContentTypeHeader(??) email.headerregistry.DateHeader(??) email.headerregistry.Group(??) email.headerregistry.HeaderRegistry(??) email.headerregistry.MIMEVersionHeader(??) email.headerregistry.ParameterizedMIMEHeader(??) email.headerregistry.SingleAddressHeader(??) email.headerregistry.UniqueAddressHeader(??) email.headerregistry.UniqueDateHeader(??) email.headerregistry.UniqueSingleAddressHeader(??) email.headerregistry.UniqueUnstructuredHeader(??) email.headerregistry.UnstructuredHeader(??) email.headerregistry.errors(??) email.headerregistry.parser(??) email.headerregistry.utils(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO([buffer]) -> object email.message.Charset(??) email.message.EmailMessage(??) email.message.MIMEPart(??) email.message.Message(??) email.message.SEMISPACE email.message.StringIO(??) email.message.compat32(??) email.message.decode_b(??) email.message.errors(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio.BytesIO([buffer]) -> object email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base.MIMEBase(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.mime.text.encode_7or8bit(??) email.parser(??) email.parser.BytesFeedParser(??) email.parser.BytesHeaderParser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Message(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.compat32(??) email.parser.warnings(??) email.policy.Compat32(??) email.policy.EmailPolicy(??) email.policy.HTTP(??) email.policy.HeaderRegistry(??) email.policy.Policy(??) email.policy.SMTP(??) email.policy.compat32(??) email.policy.default(??) email.policy.raw_data_manager(??) email.policy.strict(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.io(??) email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.Charset(??) email.utils.EMPTYSTRING email.utils.StringIO(??) email.utils.TICK email.utils.UEMPTYSTRING email.utils.base64(??) email.utils.collapse_rfc2231_value(??) email.utils.datetime(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.format_datetime(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.localtime(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_to_datetime(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) email.utils.warnings(??) ensurepip.bootstrap(??) ensurepip.os(??) ensurepip.pkgutil(??) ensurepip.ssl(??) ensurepip.sys(??) ensurepip.tempfile(??) ensurepip.version(??) enum.DynamicClassAttribute(??) enum.Enum(??) enum.EnumMeta(??) enum.IntEnum(??) enum.MappingProxyType(??) enum.OrderedDict(??) enum.sys(??) enum.unique(??) enumerate(iterable[, start]) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EAUTH errno.EBADARCH errno.EBADEXEC errno.EBADF errno.EBADMACHO errno.EBADMSG errno.EBADRPC errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDESTADDRREQ errno.EDEVERR errno.EDOM errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EFTYPE errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENEEDAUTH errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOATTR errno.ENOBUFS errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENOPOLICY errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROCLIM errno.EPROCUNAVAIL errno.EPROGMISMATCH errno.EPROGUNAVAIL errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.EPWROFF errno.ERANGE errno.EREMOTE errno.EROFS errno.ERPCMISMATCH errno.ESHLIBVERS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESTALE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.errorcode(??) eval(source[, globals[, locals]]) -> value exec(object[, globals[, locals]]) exit(??) faulthandler.cancel_dump_traceback_later(): faulthandler.disable(): disable the fault handler faulthandler.dump_traceback(file=sys.stderr, all_threads=True): dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False): faulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler faulthandler.is_enabled()->bool: check if the handler is enabled faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False): register an handler for the signal 'signum': dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register() fcntl.FASYNC fcntl.FD_CLOEXEC fcntl.F_DUPFD fcntl.F_FULLFSYNC fcntl.F_GETFD fcntl.F_GETFL fcntl.F_GETLK fcntl.F_GETOWN fcntl.F_NOCACHE fcntl.F_RDLCK fcntl.F_SETFD fcntl.F_SETFL fcntl.F_SETLK fcntl.F_SETLKW fcntl.F_SETOWN fcntl.F_UNLCK fcntl.F_WRLCK fcntl.LOCK_EX fcntl.LOCK_NB fcntl.LOCK_SH fcntl.LOCK_UN fcntl.fcntl(fd, op, [arg]) fcntl.flock(fd, operation) fcntl.ioctl(fd, op[, arg[, mutate_flag]]) fcntl.lockf (fd, operation, length=0, start=0, whence=0) filecmp.BUFSIZE filecmp.DEFAULT_IGNORES(??) filecmp.clear_cache(??) filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(function or None, sequence) --> filterfalse object filecmp.os(??) filecmp.stat(??) fileinput.DEFAULT_BUFSIZE fileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]]) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(??) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(value[, format_spec]) -> string formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) formatter.warnings(??) fractions.Decimal(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MAXLINE ftplib.MSG_OOB ftplib.Netrc(??) ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.os(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) ftplib.warnings(??) functools.MappingProxyType(??) functools.MethodType(??) functools.RLock(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.WeakKeyDictionary(??) functools.cmp_to_key(??) functools.get_cache_token(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.partialmethod(??) functools.reduce(function, sequence[, initial]) -> value functools.singledispatch(??) functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.callbacks(??) gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage(??) gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_stats() -> [...] gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.is_tracked(obj) -> bool gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.samefile(??) genericpath.sameopenfile(??) genericpath.samestat(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.contextlib(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.io(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy(??) gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.io(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.os(??) gettext.re(??) gettext.struct(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.escape(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) globals() -> dictionary grp.getgrall() -> list of tuples grp.getgrgid(id) -> tuple grp.getgrnam(name) -> tuple grp.struct_group(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.open(??) gzip.os(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(object, name) -> bool hash(object) -> integer hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.pbkdf2_hmac(??) hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha512(??) heapq.chain(*iterables) --> chain object heapq.count(start=0, step=1) --> count object heapq.heapify(??) heapq.heappop(??) heapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. heapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item heapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item. heapq.islice(iterable, stop) --> islice object heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) heapq.tee(iterable, n=2) --> tuple of n independent iterators. help(??) hex(number) -> string hmac.HMAC(??) hmac.compare_digest(a, b) -> bool hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities(??) html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.html5(??) html.entities.name2codepoint(??) html.escape(??) html.parser.HTMLParseError(??) html.parser.HTMLParser(??) html.parser.attrfind(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_normal(??) html.parser.locatestarttagend(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind(??) html.parser.tagfind_tolerant(??) html.parser.unescape(??) html.parser.warnings(??) html.unescape(??) http.client(??) http.client.ACCEPTED http.client.BAD_GATEWAY http.client.BAD_REQUEST http.client.BadStatusLine(??) http.client.CONFLICT http.client.CONTINUE http.client.CREATED http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED http.client.FAILED_DEPENDENCY http.client.FORBIDDEN http.client.FOUND http.client.GATEWAY_TIMEOUT http.client.GONE http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED http.client.IM_USED http.client.INSUFFICIENT_STORAGE http.client.INTERNAL_SERVER_ERROR http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED http.client.LOCKED http.client.LineTooLong(??) http.client.MAXAMOUNT http.client.METHOD_NOT_ALLOWED http.client.MOVED_PERMANENTLY http.client.MULTIPLE_CHOICES http.client.MULTI_STATUS http.client.NETWORK_AUTHENTICATION_REQUIRED http.client.NON_AUTHORITATIVE_INFORMATION http.client.NOT_ACCEPTABLE http.client.NOT_EXTENDED http.client.NOT_FOUND http.client.NOT_IMPLEMENTED http.client.NOT_MODIFIED http.client.NO_CONTENT http.client.NotConnected(??) http.client.OK http.client.PARTIAL_CONTENT http.client.PAYMENT_REQUIRED http.client.PRECONDITION_FAILED http.client.PRECONDITION_REQUIRED http.client.PROCESSING http.client.PROXY_AUTHENTICATION_REQUIRED http.client.REQUESTED_RANGE_NOT_SATISFIABLE http.client.REQUEST_ENTITY_TOO_LARGE http.client.REQUEST_HEADER_FIELDS_TOO_LARGE http.client.REQUEST_TIMEOUT http.client.REQUEST_URI_TOO_LONG http.client.RESET_CONTENT http.client.ResponseNotReady(??) http.client.SEE_OTHER http.client.SERVICE_UNAVAILABLE http.client.SWITCHING_PROTOCOLS http.client.TEMPORARY_REDIRECT http.client.TOO_MANY_REQUESTS http.client.UNAUTHORIZED http.client.UNPROCESSABLE_ENTITY http.client.UNSUPPORTED_MEDIA_TYPE http.client.UPGRADE_REQUIRED http.client.USE_PROXY http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.io(??) http.client.os(??) http.client.parse_headers(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.client.warnings(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.datetime(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.server(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.SimpleHTTPRequestHandler(??) http.server.argparse(??) http.server.copy(??) http.server.email(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(object) -> integer imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.DEFAULT_BUFFER_SIZE imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.Months(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.calendar(??) imaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imaplib.timedelta(??) imaplib.timezone(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.SourcelessFileLoader(??) imp.acquire_lock(??) imp.cache_from_source(??) imp.find_module(??) imp.get_frozen_object(??) imp.get_magic(??) imp.get_suffixes(??) imp.get_tag(??) imp.importlib(??) imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(??) imp.load_package(??) imp.load_source(??) imp.lock_held(??) imp.machinery(??) imp.new_module(??) imp.os(??) imp.release_lock(??) imp.reload(??) imp.source_from_cache(??) imp.sys(??) imp.tokenize(??) imp.types(??) imp.util(??) imp.warnings(??) importlib.abc.ExecutionLoader(??) importlib.abc.FileLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.MetaPathFinder(??) importlib.abc.PathEntryFinder(??) importlib.abc.ResourceLoader(??) importlib.abc.SourceLoader(??) importlib.abc.abc(??) importlib.abc.machinery(??) importlib.find_loader(??) importlib.import_module(??) importlib.invalidate_caches(??) importlib.machinery(??) importlib.machinery.BYTECODE_SUFFIXES(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.DEBUG_BYTECODE_SUFFIXES(??) importlib.machinery.EXTENSION_SUFFIXES(??) importlib.machinery.ExtensionFileLoader(??) importlib.machinery.FileFinder(??) importlib.machinery.FrozenImporter(??) importlib.machinery.ModuleSpec(??) importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??) importlib.machinery.PathFinder(??) importlib.machinery.SOURCE_SUFFIXES(??) importlib.machinery.SourceFileLoader(??) importlib.machinery.SourcelessFileLoader(??) importlib.machinery.WindowsRegistryFinder(??) importlib.machinery.all_suffixes(??) importlib.reload(??) importlib.sys(??) importlib.types(??) importlib.util(??) importlib.util.MAGIC_NUMBER importlib.util.cache_from_source(??) importlib.util.contextmanager(??) importlib.util.decode_source(??) importlib.util.find_spec(??) importlib.util.functools(??) importlib.util.module_for_loader(??) importlib.util.resolve_name(??) importlib.util.set_loader(??) importlib.util.set_package(??) importlib.util.source_from_cache(??) importlib.util.spec_from_file_location(??) importlib.util.spec_from_loader(??) importlib.util.sys(??) importlib.util.warnings(??) importlib.warnings(??) input([prompt]) -> string inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.BoundArguments(??) inspect.CO_GENERATOR inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.ClosureVars(nonlocals, globals, builtins, unbound) inspect.EndOfBlock(??) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.ModuleInfo(name, suffix, mode, module_type) inspect.OrderedDict(??) inspect.Parameter(??) inspect.Signature(??) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.ast(??) inspect.attrgetter(attr, ...) --> attrgetter object inspect.builtins(??) inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.currentframe(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.functools(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getclosurevars(??) inspect.getcomments(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorlocals(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.importlib(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.signature(??) inspect.stack(??) inspect.sys(??) inspect.token(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.unwrap(??) inspect.v inspect.walktree(??) inspect.warnings(??) int(x=0) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO([buffer]) -> object io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) ipaddress.AddressValueError(??) ipaddress.IPV4LENGTH ipaddress.IPV6LENGTH ipaddress.IPv4Address(??) ipaddress.IPv4Interface(??) ipaddress.IPv4Network(??) ipaddress.IPv6Address(??) ipaddress.IPv6Interface(??) ipaddress.IPv6Network(??) ipaddress.NetmaskValueError(??) ipaddress.collapse_addresses(??) ipaddress.functools(??) ipaddress.get_mixed_type_key(??) ipaddress.ip_address(??) ipaddress.ip_interface(??) ipaddress.ip_network(??) ipaddress.summarize_address_range(??) ipaddress.v4_int_to_packed(??) ipaddress.v6_int_to_packed(??) isinstance(object, class-or-type-or-tuple) -> bool issubclass(C, B) -> bool iter(iterable) -> iterator itertools.accumulate(iterable[, func]) --> accumulate object itertools.chain(*iterables) --> chain object itertools.combinations(iterable, r) --> combinations object itertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.filterfalse(function or None, sequence) --> filterfalse object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.islice(iterable, stop) --> islice object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables, repeat=1) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecoder(??) json.JSONEncoder(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS json.decoder.JSONArray(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.c_scanstring(??) json.decoder.errmsg(??) json.decoder.linecol(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanner(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.FLOAT_REPR(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(??) json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) keyword.main(??) len(module, object) license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.getline(??) linecache.getlines(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list() -> new empty list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.collections(??) locale.currency(??) locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.k locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.v locale.windows_locale(??) locals() -> dictionary logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.re(??) logging.config.socket(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.thread(??) logging.config.threading(??) logging.config.traceback(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers.BOM_UTF8 logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.errno(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.queue(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.threading(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing(??) logging.logProcesses(??) logging.logThreads(??) logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions(??) logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) lzma.CHECK_CRC32 lzma.CHECK_CRC64 lzma.CHECK_ID_MAX lzma.CHECK_NONE lzma.CHECK_SHA256 lzma.CHECK_UNKNOWN lzma.FILTER_ARM lzma.FILTER_ARMTHUMB lzma.FILTER_DELTA lzma.FILTER_IA64 lzma.FILTER_LZMA1 lzma.FILTER_LZMA2 lzma.FILTER_POWERPC lzma.FILTER_SPARC lzma.FILTER_X86 lzma.FORMAT_ALONE lzma.FORMAT_AUTO lzma.FORMAT_RAW lzma.FORMAT_XZ lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None) lzma.LZMADecompressor(??) lzma.LZMAError(??) lzma.LZMAFile(??) lzma.MF_BT2 lzma.MF_BT3 lzma.MF_BT4 lzma.MF_HC3 lzma.MF_HC4 lzma.MODE_FAST lzma.MODE_NORMAL lzma.PRESET_DEFAULT lzma.PRESET_EXTREME lzma.builtins(??) lzma.compress(??) lzma.decompress(??) lzma.io(??) lzma.is_check_supported(??) lzma.open(??) macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFDOOR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFPORT macpath.S_IFREG macpath.S_IFSOCK macpath.S_IFWHT macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(mode) -> bool macpath.S_ISCHR(mode) -> bool macpath.S_ISDIR(mode) -> bool macpath.S_ISDOOR(mode) -> bool macpath.S_ISFIFO(mode) -> bool macpath.S_ISGID macpath.S_ISLNK(mode) -> bool macpath.S_ISPORT(mode) -> bool macpath.S_ISREG(mode) -> bool macpath.S_ISSOCK(mode) -> bool macpath.S_ISUID macpath.S_ISVTX macpath.S_ISWHT(mode) -> bool macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_COMPRESSED macpath.UF_HIDDEN macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep(??) macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.filemode(??) macpath.genericpath(??) macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os(??) macpath.pardir macpath.pathsep macpath.realpath(??) macpath.samefile(??) macpath.sameopenfile(??) macpath.samestat(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames(??) macurl2path.os(??) macurl2path.pathname2url(??) macurl2path.url2pathname(??) macurl2path.urllib(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.contextlib(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.sys(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(func, *iterables) --> map object marshal.dump(value, file[, version]) marshal.dumps(value[, version]) marshal.load(file) marshal.loads(bytes) marshal.version math.acos(x) math.acosh(x) math.asin(x) math.asinh(x) math.atan(x) math.atan2(y, x) math.atanh(x) math.ceil(x) math.copysign(x, y) math.cos(x) math.cosh(x) math.degrees(x) math.e math.erf(x) math.erfc(x) math.exp(x) math.expm1(x) math.fabs(x) math.factorial(x) -> Integral math.floor(x) math.fmod(x, y) math.frexp(x) math.fsum(iterable) math.gamma(x) math.hypot(x, y) math.isfinite(x) -> bool math.isinf(x) -> bool math.isnan(x) -> bool math.ldexp(x, i) math.lgamma(x) math.log(x[, base]) math.log10(x) math.log1p(x) math.log2(x) math.modf(x) math.pi math.pow(x, y) math.radians(x) math.sin(x) math.sinh(x) math.sqrt(x) math.tan(x) math.tanh(x) math.trunc(x:Real) -> Integral max(iterable[, key=func]) -> value memoryview(object) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable[, key=func]) -> value mmap.ACCESS_COPY mmap.ACCESS_READ mmap.ACCESS_WRITE mmap.ALLOCATIONGRANULARITY mmap.MAP_ANON mmap.MAP_ANONYMOUS mmap.MAP_PRIVATE mmap.MAP_SHARED mmap.PAGESIZE mmap.PROT_EXEC mmap.PROT_READ mmap.PROT_WRITE mmap.error(??) mmap.mmap(??) modulefinder.AddPackagePath(??) modulefinder.HAVE_ARGUMENT modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.imp(??) modulefinder.importlib(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.struct(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) modulefinder.warnings(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.Barrier(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.SimpleQueue(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.BufferTooShort(??) multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.Connection(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.ForkingPickler(??) multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.errno(??) multiprocessing.connection.families(??) multiprocessing.connection.io(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.rebuild_connection(??) multiprocessing.connection.reduce_connection(??) multiprocessing.connection.reduction(??) multiprocessing.connection.selectors(??) multiprocessing.connection.socket(??) multiprocessing.connection.struct(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.connection.util(??) multiprocessing.connection.wait(??) multiprocessing.context(??) multiprocessing.context.AuthenticationError(??) multiprocessing.context.BaseContext(??) multiprocessing.context.BufferTooShort(??) multiprocessing.context.DefaultContext(??) multiprocessing.context.ForkContext(??) multiprocessing.context.ForkProcess(??) multiprocessing.context.ForkServerContext(??) multiprocessing.context.ForkServerProcess(??) multiprocessing.context.Process(??) multiprocessing.context.ProcessError(??) multiprocessing.context.SpawnContext(??) multiprocessing.context.SpawnProcess(??) multiprocessing.context.TimeoutError(??) multiprocessing.context.assert_spawning(??) multiprocessing.context.get_spawning_popen(??) multiprocessing.context.os(??) multiprocessing.context.process(??) multiprocessing.context.set_spawning_popen(??) multiprocessing.context.sys(??) multiprocessing.context.threading(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.Barrier(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.list() -> new empty list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forkserver.ForkServer(??) multiprocessing.forkserver.MAXFDS_TO_SEND multiprocessing.forkserver.UNSIGNED_STRUCT(??) multiprocessing.forkserver.connect_to_new_process(??) multiprocessing.forkserver.connection(??) multiprocessing.forkserver.ensure_running(??) multiprocessing.forkserver.errno(??) multiprocessing.forkserver.get_inherited_fds(??) multiprocessing.forkserver.main(??) multiprocessing.forkserver.os(??) multiprocessing.forkserver.process(??) multiprocessing.forkserver.read_unsigned(??) multiprocessing.forkserver.reduction(??) multiprocessing.forkserver.selectors(??) multiprocessing.forkserver.semaphore_tracker(??) multiprocessing.forkserver.set_forkserver_preload(??) multiprocessing.forkserver.signal(??) multiprocessing.forkserver.socket(??) multiprocessing.forkserver.spawn(??) multiprocessing.forkserver.struct(??) multiprocessing.forkserver.sys(??) multiprocessing.forkserver.threading(??) multiprocessing.forkserver.util(??) multiprocessing.forkserver.write_unsigned(??) multiprocessing.freeze_support(??) multiprocessing.get_all_start_methods(??) multiprocessing.get_context(??) multiprocessing.get_logger(??) multiprocessing.get_start_method(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Heap(??) multiprocessing.heap.bisect(??) multiprocessing.heap.context(??) multiprocessing.heap.itertools(??) multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.rebuild_arena(??) multiprocessing.heap.reduce_arena(??) multiprocessing.heap.reduction(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.heap.util(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BarrierProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.connection(??) multiprocessing.managers.context(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.get_context(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.pool(??) multiprocessing.managers.process(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.reduction(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.AsyncResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.ExceptionWithTraceback(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.RUN multiprocessing.pool.RemoteTraceback(??) multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.cpu_count(??) multiprocessing.pool.get_context(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.os(??) multiprocessing.pool.queue(??) multiprocessing.pool.rebuild_exc(??) multiprocessing.pool.starmapstar(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.traceback(??) multiprocessing.pool.util(??) multiprocessing.pool.worker(??) multiprocessing.popen_fork.Popen(??) multiprocessing.popen_fork.errno(??) multiprocessing.popen_fork.os(??) multiprocessing.popen_fork.signal(??) multiprocessing.popen_fork.sys(??) multiprocessing.popen_fork.util(??) multiprocessing.popen_forkserver.Popen(??) multiprocessing.popen_forkserver.context(??) multiprocessing.popen_forkserver.forkserver(??) multiprocessing.popen_forkserver.io(??) multiprocessing.popen_forkserver.os(??) multiprocessing.popen_forkserver.popen_fork(??) multiprocessing.popen_forkserver.reduction(??) multiprocessing.popen_forkserver.spawn(??) multiprocessing.popen_forkserver.util(??) multiprocessing.popen_spawn_posix.Popen(??) multiprocessing.popen_spawn_posix.context(??) multiprocessing.popen_spawn_posix.current_process(??) multiprocessing.popen_spawn_posix.fcntl(??) multiprocessing.popen_spawn_posix.io(??) multiprocessing.popen_spawn_posix.os(??) multiprocessing.popen_spawn_posix.popen_fork(??) multiprocessing.popen_spawn_posix.reduction(??) multiprocessing.popen_spawn_posix.spawn(??) multiprocessing.popen_spawn_posix.util(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.BaseProcess(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.WeakSet(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.ForkingPickler(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Queue(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.collections(??) multiprocessing.queues.connection(??) multiprocessing.queues.context(??) multiprocessing.queues.debug(??) multiprocessing.queues.errno(??) multiprocessing.queues.info(??) multiprocessing.queues.is_exiting(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reduction(??) multiprocessing.reduction.ACKNOWLEDGE(??) multiprocessing.reduction.DupFd(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.HAVE_SEND_HANDLE(??) multiprocessing.reduction.array(??) multiprocessing.reduction.context(??) multiprocessing.reduction.copyreg(??) multiprocessing.reduction.dump(??) multiprocessing.reduction.functools(??) multiprocessing.reduction.io(??) multiprocessing.reduction.os(??) multiprocessing.reduction.pickle(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.recvfds(??) multiprocessing.reduction.register(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.sendfds(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sys(??) multiprocessing.reduction.util(??) multiprocessing.resource_sharer.DupFd(??) multiprocessing.resource_sharer.os(??) multiprocessing.resource_sharer.process(??) multiprocessing.resource_sharer.reduction(??) multiprocessing.resource_sharer.signal(??) multiprocessing.resource_sharer.socket(??) multiprocessing.resource_sharer.stop(??) multiprocessing.resource_sharer.sys(??) multiprocessing.resource_sharer.threading(??) multiprocessing.resource_sharer.util(??) multiprocessing.semaphore_tracker.SemaphoreTracker(??) multiprocessing.semaphore_tracker.current_process(??) multiprocessing.semaphore_tracker.ensure_running(??) multiprocessing.semaphore_tracker.errno(??) multiprocessing.semaphore_tracker.getfd(??) multiprocessing.semaphore_tracker.main(??) multiprocessing.semaphore_tracker.os(??) multiprocessing.semaphore_tracker.register(??) multiprocessing.semaphore_tracker.signal(??) multiprocessing.semaphore_tracker.spawn(??) multiprocessing.semaphore_tracker.sys(??) multiprocessing.semaphore_tracker.threading(??) multiprocessing.semaphore_tracker.unregister(??) multiprocessing.semaphore_tracker.util(??) multiprocessing.semaphore_tracker.warnings(??) multiprocessing.set_executable(??) multiprocessing.set_forkserver_preload(??) multiprocessing.set_start_method(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.ForkingPickler(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.get_context(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.spawn.WINEXE(??) multiprocessing.spawn.WINSERVICE(??) multiprocessing.spawn.freeze_support(??) multiprocessing.spawn.get_command_line(??) multiprocessing.spawn.get_executable(??) multiprocessing.spawn.get_preparation_data(??) multiprocessing.spawn.get_start_method(??) multiprocessing.spawn.import_main_path(??) multiprocessing.spawn.is_forking(??) multiprocessing.spawn.old_main_modules(??) multiprocessing.spawn.os(??) multiprocessing.spawn.pickle(??) multiprocessing.spawn.prepare(??) multiprocessing.spawn.process(??) multiprocessing.spawn.runpy(??) multiprocessing.spawn.set_executable(??) multiprocessing.spawn.set_start_method(??) multiprocessing.spawn.spawn_main(??) multiprocessing.spawn.sys(??) multiprocessing.spawn.types(??) multiprocessing.spawn.util(??) multiprocessing.synchronize.Barrier(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.context(??) multiprocessing.synchronize.itertools(??) multiprocessing.synchronize.os(??) multiprocessing.synchronize.process(??) multiprocessing.synchronize.sem_unlink(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.tempfile(??) multiprocessing.synchronize.threading(??) multiprocessing.synchronize.util(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.MAXFD multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.atexit(??) multiprocessing.util.close_all_fds_except(??) multiprocessing.util.debug(??) multiprocessing.util.functools(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.os(??) multiprocessing.util.process(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.spawnv_passfds(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.sys(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) netrc.stat(??) next(iterator[, default]) nis.cat(map, domain = defaultdomain) nis.error(??) nis.get_default_domain() -> str nis.maps(domain = defaultdomain) nis.match(key, map, domain = defaultdomain) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.warnings(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) object(??) oct(number) -> string open(??) operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.gt(a, b) -- Same as a>b. operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imod(??) operator.imul(??) operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(a, b) -- Same as a<=b. operator.length_hint(obj, default=0) -> int operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.rshift(a, b) -- Same as a >> b. operator.setitem(a, b, c) -- Same as a[b] = c. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.ngettext(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(c) -> integer os.CLD_CONTINUED os.CLD_DUMPED os.CLD_EXITED os.CLD_TRAPPED os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_LOCK os.F_OK os.F_TEST os.F_TLOCK os.F_ULOCK os.MutableMapping(??) os.NGROUPS_MAX os.O_ACCMODE os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_EXLOCK os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_SHLOCK os.O_SYNC os.O_TRUNC os.O_WRONLY os.PRIO_PGRP os.PRIO_PROCESS os.PRIO_USER os.P_ALL os.P_NOWAIT os.P_NOWAITO os.P_PGID os.P_PID os.P_WAIT os.RTLD_GLOBAL os.RTLD_LAZY os.RTLD_LOCAL os.RTLD_NODELETE os.RTLD_NOLOAD os.RTLD_NOW os.R_OK os.SCHED_FIFO os.SCHED_OTHER os.SCHED_RR os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(status) -> bool os.WEXITED os.WEXITSTATUS(status) -> integer os.WIFCONTINUED(status) -> bool os.WIFEXITED(status) -> bool os.WIFSIGNALED(status) -> bool os.WIFSTOPPED(status) -> bool os.WNOHANG os.WNOWAIT os.WSTOPPED os.WSTOPSIG(status) -> integer os.WTERMSIG(status) -> integer os.WUNTRACED os.W_OK os.X_OK os.abort() -> does not return! os.access(??) os.altsep(??) os.chdir(path) os.chflags(path, flags, *, follow_symlinks=True) os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) os.chroot(path) os.close(fd) os.closerange(fd_low, fd_high) os.confstr(name) -> string os.confstr_names(??) os.cpu_count() -> integer os.ctermid() -> string os.curdir os.defpath os.device_encoding(fd) -> str os.devnull os.dup(fd) -> fd2 os.dup2(old_fd, new_fd) os.environ(??) os.environb(??) os.errno(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(path, args) os.execve(path, args, env) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(fd) os.fchmod(fd, mode) os.fchown(fd, uid, gid) os.fdopen(??) os.fork() -> pid os.forkpty() -> (pid, master_fd) os.fpathconf(fd, name) -> integer os.fsdecode(??) os.fsencode(??) os.fstat(fd) -> stat result os.fstatvfs(fd) -> statvfs result os.fsync(fildes) os.ftruncate(fd, length) os.get_exec_path(??) os.get_inheritable(fd) -> bool os.get_terminal_size(??) os.getcwd() -> path os.getcwdb() -> path os.getegid() -> egid os.getenv(??) os.getenvb(??) os.geteuid() -> euid os.getgid() -> gid os.getgrouplist(user, group) -> list of groups to which a user belongs os.getgroups() -> list of group IDs os.getloadavg() -> (float, float, float) os.getlogin() -> string os.getpgid(pid) -> pgid os.getpgrp() -> pgrp os.getpid() -> pid os.getppid() -> ppid os.getpriority(which, who) -> current_priority os.getsid(pid) -> sid os.getuid() -> uid os.initgroups(username, gid) -> None os.isatty(fd) -> bool os.kill(pid, sig) os.killpg(pgid, sig) os.lchflags(path, flags) os.lchmod(path, mode) os.lchown(path, uid, gid) os.linesep os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True) os.listdir(path='.') -> list_of_filenames os.lockf(fd, cmd, len) os.lseek(fd, pos, how) -> newpos os.lstat(path, *, dir_fd=None) -> stat result os.major(device) -> major number os.makedev(major, minor) -> device number os.makedirs(path [, mode=0o777][, exist_ok=False]) os.minor(device) -> minor number os.mkdir(path, mode=0o777, *, dir_fd=None) os.mkfifo(path, mode=0o666, *, dir_fd=None) os.mknod(filename, mode=0o600, device=0, *, dir_fd=None) os.name os.nice(inc) -> new_priority os.open(path, flags, mode=0o777, *, dir_fd=None) os.openpty() -> (master_fd, slave_fd) os.pardir os.path(??) os.pathconf(path, name) -> integer os.pathconf_names(??) os.pathsep os.pipe() -> (read_end, write_end) os.popen(??) os.pread(fd, buffersize, offset) -> string os.putenv(key, value) os.pwrite(fd, string, offset) -> byteswritten os.read(fd, buffersize) -> bytes os.readlink(path, *, dir_fd=None) -> path os.readv(fd, buffers) -> bytesread os.remove(path, *, dir_fd=None) os.removedirs(path) os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) os.renames(old, new) os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None) os.rmdir(path, *, dir_fd=None) os.sched_get_priority_max(policy) os.sched_get_priority_min(policy) os.sched_yield() os.sendfile(out, in, offset, nbytes) -> byteswritten os.sep os.set_inheritable(fd, inheritable) os.setegid(gid) os.seteuid(uid) os.setgid(gid) os.setgroups(list) os.setpgid(pid, pgrp) os.setpgrp() os.setpriority(which, who, prio) -> None os.setregid(rgid, egid) os.setreuid(ruid, euid) os.setsid() os.setuid(uid) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.st(??) os.stat(??) os.stat_float_times([newval]) -> oldval os.stat_result(??) os.statvfs(path) os.statvfs_result(??) os.strerror(code) -> string os.supports_bytes_environ(??) os.supports_dir_fd(??) os.supports_effective_ids(??) os.supports_fd(??) os.supports_follow_symlinks(??) os.symlink(src, dst, target_is_directory=False, *, dir_fd=None) os.sync() os.sys(??) os.sysconf(name) -> integer os.sysconf_names(??) os.system(command) -> exit_status os.tcgetpgrp(fd) -> pgid os.tcsetpgrp(fd, pgid) os.terminal_size(??) os.times() -> times_result os.times_result(??) os.truncate(path, length) os.ttyname(??) os.umask(new_mask) -> old_mask os.uname() -> uname_result os.uname_result(??) os.unlink(path, *, dir_fd=None) os.unsetenv(key) os.urandom(n) -> str os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True) os.wait() -> (pid, status) os.wait3(options) -> (pid, status, rusage) os.wait4(pid, options) -> (pid, status, rusage) os.waitpid(pid, options) -> (pid, status) os.walk(??) os.write(fd, data) -> byteswritten os.writev(fd, buffers) -> byteswritten parser.ParserError(??) parser.STType(??) parser.compilest(??) parser.expr(??) parser.isexpr(??) parser.issuite(??) parser.sequence2st(??) parser.st2list(??) parser.st2tuple(??) parser.suite(??) parser.tuple2st(??) pathlib.EINVAL pathlib.ENOENT pathlib.Path(??) pathlib.PosixPath(??) pathlib.PurePath(??) pathlib.PurePosixPath(??) pathlib.PureWindowsPath(??) pathlib.S_ISBLK(mode) -> bool pathlib.S_ISCHR(mode) -> bool pathlib.S_ISDIR(mode) -> bool pathlib.S_ISFIFO(mode) -> bool pathlib.S_ISLNK(mode) -> bool pathlib.S_ISREG(mode) -> bool pathlib.S_ISSOCK(mode) -> bool pathlib.Sequence(??) pathlib.WindowsPath(??) pathlib.attrgetter(attr, ...) --> attrgetter object pathlib.contextmanager(??) pathlib.fnmatch(??) pathlib.functools(??) pathlib.io(??) pathlib.nt(??) pathlib.ntpath(??) pathlib.os(??) pathlib.posixpath(??) pathlib.re(??) pathlib.supports_symlinks(??) pathlib.sys(??) pathlib.urlquote_from_bytes(??) pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.glob(??) pdb.help(??) pdb.inspect(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.ADDITEMS pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINBYTES8 pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BINUNICODE8 pickle.BUILD pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_SET pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FRAME pickle.FROZENSET pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.MEMOIZE pickle.ModuleType(??) pickle.NEWFALSE pickle.NEWOBJ pickle.NEWOBJ_EX pickle.NEWTRUE pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(??) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.SHORT_BINUNICODE pickle.STACK_GLOBAL pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(??) pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.islice(iterable, stop) --> islice object pickle.load(??) pickle.loads(??) pickle.maxsize pickle.pack(fmt, v1, v2, ...) -> bytes pickle.re(??) pickle.sys(??) pickle.unpack(fmt, buffer) -> (v1, v2, ...) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.TAKEN_FROM_ARGUMENT4U pickletools.TAKEN_FROM_ARGUMENT8U pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytes1(??) pickletools.bytes4(??) pickletools.bytes8(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.io(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybytes(??) pickletools.pybytes_or_str(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyfrozenset(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pyset(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_bytes1(??) pickletools.read_bytes4(??) pickletools.read_bytes8(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_uint4(??) pickletools.read_uint8(??) pickletools.read_unicodestring1(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestring8(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.sys(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.uint4(??) pickletools.uint8(??) pickletools.unicodestring1(??) pickletools.unicodestring4(??) pickletools.unicodestring8(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.importlib(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.warnings(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.DEV_NULL platform.architecture(??) platform.collections(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.subprocess(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.uname_result(system, node, release, version, machine, processor) platform.version(??) platform.win32_ver(??) plistlib.BytesIO([buffer]) -> object plistlib.Data(??) plistlib.Dict(??) plistlib.FMT_BINARY(??) plistlib.FMT_XML(??) plistlib.InvalidFileException(??) plistlib.PLISTHEADER plistlib.ParserCreate([encoding[, namespace_separator]]) -> parser plistlib.Plist(??) plistlib.PlistFormat(??) plistlib.binascii(??) plistlib.codecs(??) plistlib.contextlib(??) plistlib.datetime(??) plistlib.dump(??) plistlib.dumps(??) plistlib.enum(??) plistlib.itertools(??) plistlib.load(??) plistlib.loads(??) plistlib.os(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.struct(??) plistlib.warn(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.HAVE_SSL(??) poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.errno(??) poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.CLD_CONTINUED posix.CLD_DUMPED posix.CLD_EXITED posix.CLD_TRAPPED posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_LOCK posix.F_OK posix.F_TEST posix.F_TLOCK posix.F_ULOCK posix.NGROUPS_MAX posix.O_ACCMODE posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_EXLOCK posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_SHLOCK posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.PRIO_PGRP posix.PRIO_PROCESS posix.PRIO_USER posix.P_ALL posix.P_PGID posix.P_PID posix.RTLD_GLOBAL posix.RTLD_LAZY posix.RTLD_LOCAL posix.RTLD_NODELETE posix.RTLD_NOLOAD posix.RTLD_NOW posix.R_OK posix.SCHED_FIFO posix.SCHED_OTHER posix.SCHED_RR posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(status) -> bool posix.WEXITED posix.WEXITSTATUS(status) -> integer posix.WIFCONTINUED(status) -> bool posix.WIFEXITED(status) -> bool posix.WIFSIGNALED(status) -> bool posix.WIFSTOPPED(status) -> bool posix.WNOHANG posix.WNOWAIT posix.WSTOPPED posix.WSTOPSIG(status) -> integer posix.WTERMSIG(status) -> integer posix.WUNTRACED posix.W_OK posix.X_OK posix.abort() -> does not return! posix.access(??) posix.chdir(path) posix.chflags(path, flags, *, follow_symlinks=True) posix.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) posix.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) posix.chroot(path) posix.close(fd) posix.closerange(fd_low, fd_high) posix.confstr(name) -> string posix.confstr_names(??) posix.cpu_count() -> integer posix.ctermid() -> string posix.device_encoding(fd) -> str posix.dup(fd) -> fd2 posix.dup2(old_fd, new_fd) posix.environ(??) posix.error(??) posix.execv(path, args) posix.execve(path, args, env) posix.fchdir(fd) posix.fchmod(fd, mode) posix.fchown(fd, uid, gid) posix.fork() -> pid posix.forkpty() -> (pid, master_fd) posix.fpathconf(fd, name) -> integer posix.fstat(fd) -> stat result posix.fstatvfs(fd) -> statvfs result posix.fsync(fildes) posix.ftruncate(fd, length) posix.get_inheritable(fd) -> bool posix.get_terminal_size(??) posix.getcwd() -> path posix.getcwdb() -> path posix.getegid() -> egid posix.geteuid() -> euid posix.getgid() -> gid posix.getgrouplist(user, group) -> list of groups to which a user belongs posix.getgroups() -> list of group IDs posix.getloadavg() -> (float, float, float) posix.getlogin() -> string posix.getpgid(pid) -> pgid posix.getpgrp() -> pgrp posix.getpid() -> pid posix.getppid() -> ppid posix.getpriority(which, who) -> current_priority posix.getsid(pid) -> sid posix.getuid() -> uid posix.initgroups(username, gid) -> None posix.isatty(fd) -> bool posix.kill(pid, sig) posix.killpg(pgid, sig) posix.lchflags(path, flags) posix.lchmod(path, mode) posix.lchown(path, uid, gid) posix.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True) posix.listdir(path='.') -> list_of_filenames posix.lockf(fd, cmd, len) posix.lseek(fd, pos, how) -> newpos posix.lstat(path, *, dir_fd=None) -> stat result posix.major(device) -> major number posix.makedev(major, minor) -> device number posix.minor(device) -> minor number posix.mkdir(path, mode=0o777, *, dir_fd=None) posix.mkfifo(path, mode=0o666, *, dir_fd=None) posix.mknod(filename, mode=0o600, device=0, *, dir_fd=None) posix.nice(inc) -> new_priority posix.open(path, flags, mode=0o777, *, dir_fd=None) posix.openpty() -> (master_fd, slave_fd) posix.pathconf(path, name) -> integer posix.pathconf_names(??) posix.pipe() -> (read_end, write_end) posix.pread(fd, buffersize, offset) -> string posix.putenv(key, value) posix.pwrite(fd, string, offset) -> byteswritten posix.read(fd, buffersize) -> bytes posix.readlink(path, *, dir_fd=None) -> path posix.readv(fd, buffers) -> bytesread posix.remove(path, *, dir_fd=None) posix.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) posix.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None) posix.rmdir(path, *, dir_fd=None) posix.sched_get_priority_max(policy) posix.sched_get_priority_min(policy) posix.sched_yield() posix.sendfile(out, in, offset, nbytes) -> byteswritten posix.set_inheritable(fd, inheritable) posix.setegid(gid) posix.seteuid(uid) posix.setgid(gid) posix.setgroups(list) posix.setpgid(pid, pgrp) posix.setpgrp() posix.setpriority(which, who, prio) -> None posix.setregid(rgid, egid) posix.setreuid(ruid, euid) posix.setsid() posix.setuid(uid) posix.stat(??) posix.stat_float_times([newval]) -> oldval posix.stat_result(??) posix.statvfs(path) posix.statvfs_result(??) posix.strerror(code) -> string posix.symlink(src, dst, target_is_directory=False, *, dir_fd=None) posix.sync() posix.sysconf(name) -> integer posix.sysconf_names(??) posix.system(command) -> exit_status posix.tcgetpgrp(fd) -> pgid posix.tcsetpgrp(fd, pgid) posix.terminal_size(??) posix.times() -> times_result posix.times_result(??) posix.truncate(path, length) posix.ttyname(??) posix.umask(new_mask) -> old_mask posix.uname() -> uname_result posix.uname_result(??) posix.unlink(path, *, dir_fd=None) posix.unsetenv(key) posix.urandom(n) -> str posix.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True) posix.wait() -> (pid, status) posix.wait3(options) -> (pid, status, rusage) posix.wait4(pid, options) -> (pid, status, rusage) posix.waitpid(pid, options) -> (pid, status) posix.write(fd, data) -> byteswritten posix.writev(fd, buffers) -> byteswritten pow(x, y[, z]) -> number pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.re(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) profile.OptionParser(??) profile.Profile(??) profile.main(??) profile.marshal(??) profile.os(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall() -> list_of_entries pwd.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, pwd.getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, pwd.struct_passwd(??) py_compile.PyCompileError(??) py_compile.compile(??) py_compile.importlib(??) py_compile.main(??) py_compile.os(??) py_compile.sys(??) py_compile.traceback(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.importlib(??) pyclbr.io(??) pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.os(??) pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque([iterable[, maxlen]]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.extract_tb(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.help(??) pydoc.html(??) pydoc.importfile(??) pydoc.importlib(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.tokenize(??) pydoc.ttypager(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.deque([iterable[, maxlen]]) --> deque object queue.heappop(??) queue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. queue.threading(??) queue.time(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(??) quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates an int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range(stop) -> range object re.A re.ASCII re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copyreg(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.fullmatch(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.sys(??) re.template(??) readline.add_history(string) -> None readline.clear_history() -> None readline.get_begidx() -> int readline.get_completer() -> function readline.get_completer_delims() -> string readline.get_completion_type() -> int readline.get_current_history_length() -> integer readline.get_endidx() -> int readline.get_history_item() -> string readline.get_history_length() -> int readline.get_line_buffer() -> string readline.insert_text(string) -> None readline.parse_and_bind(string) -> None readline.read_history_file([filename]) -> None readline.read_init_file([filename]) -> None readline.redisplay() -> None readline.remove_history_item(pos) -> None readline.replace_history_item(pos, line) -> None readline.set_completer([function]) -> None readline.set_completer_delims(string) -> None readline.set_completion_display_matches_hook([function]) -> None readline.set_history_length(length) -> None readline.set_pre_input_hook([function]) -> None readline.set_startup_hook([function]) -> None readline.write_history_file([filename]) -> None repr(object) -> string reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, stop) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) resource.RLIMIT_AS resource.RLIMIT_CORE resource.RLIMIT_CPU resource.RLIMIT_DATA resource.RLIMIT_FSIZE resource.RLIMIT_MEMLOCK resource.RLIMIT_NOFILE resource.RLIMIT_NPROC resource.RLIMIT_RSS resource.RLIMIT_STACK resource.RLIM_INFINITY resource.RUSAGE_CHILDREN resource.RUSAGE_SELF resource.error(??) resource.getpagesize(??) resource.getrlimit(??) resource.getrusage(??) resource.setrlimit(??) resource.struct_rusage(??) reversed(sequence) -> reverse iterator over values of the sequence rlcompleter.Completer(??) rlcompleter.atexit(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(number[, ndigits]) -> number runpy.get_importer(??) runpy.importlib(??) runpy.os(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) runpy.types(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) sched.threading(??) sched.time(??) select.KQ_EV_ADD select.KQ_EV_CLEAR select.KQ_EV_DELETE select.KQ_EV_DISABLE select.KQ_EV_ENABLE select.KQ_EV_EOF select.KQ_EV_ERROR select.KQ_EV_FLAG1 select.KQ_EV_ONESHOT select.KQ_EV_SYSFLAGS select.KQ_FILTER_AIO select.KQ_FILTER_PROC select.KQ_FILTER_READ select.KQ_FILTER_SIGNAL select.KQ_FILTER_TIMER select.KQ_FILTER_VNODE select.KQ_FILTER_WRITE select.KQ_NOTE_ATTRIB select.KQ_NOTE_CHILD select.KQ_NOTE_DELETE select.KQ_NOTE_EXEC select.KQ_NOTE_EXIT select.KQ_NOTE_EXTEND select.KQ_NOTE_FORK select.KQ_NOTE_LINK select.KQ_NOTE_LOWAT select.KQ_NOTE_PCTRLMASK select.KQ_NOTE_PDATAMASK select.KQ_NOTE_RENAME select.KQ_NOTE_REVOKE select.KQ_NOTE_TRACK select.KQ_NOTE_TRACKERR select.KQ_NOTE_WRITE select.PIPE_BUF select.POLLERR select.POLLHUP select.POLLIN select.POLLNVAL select.POLLOUT select.POLLPRI select.POLLRDBAND select.POLLRDNORM select.POLLWRBAND select.POLLWRNORM select.error(??) select.kevent(ident, filter=KQ_FILTER_READ, flags=KQ_EV_ADD, fflags=0, data=0, udata=0) select.kqueue(??) select.poll(??) select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) selectors.ABCMeta(??) selectors.BaseSelector(??) selectors.DefaultSelector(??) selectors.EVENT_READ selectors.EVENT_WRITE selectors.KqueueSelector(??) selectors.Mapping(??) selectors.PollSelector(??) selectors.SelectSelector(??) selectors.SelectorKey(fileobj, fd, events, data) selectors.abstractmethod(??) selectors.math(??) selectors.namedtuple(??) selectors.select(??) selectors.sys(??) set() -> new empty set object setattr(object, name, value) shelve.BsdDbShelf(??) shelve.BytesIO([buffer]) -> object shelve.DbfilenameShelf(??) shelve.Pickler(??) shelve.Shelf(??) shelve.Unpickler(??) shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque([iterable[, maxlen]]) --> deque object shlex.os(??) shlex.quote(??) shlex.re(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SameFileError(??) shutil.SpecialFileError(??) shutil.abspath(??) shutil.chown(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.disk_usage(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_terminal_size(??) shutil.get_unpack_formats(??) shutil.getgrnam(name) -> tuple shutil.getpwnam(name) -> (pw_name,pw_passwd,pw_uid, shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.os(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.tarfile(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) shutil.which(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT signal.SIGALRM signal.SIGBUS signal.SIGCHLD signal.SIGCONT signal.SIGEMT signal.SIGFPE signal.SIGHUP signal.SIGILL signal.SIGINFO signal.SIGINT signal.SIGIO signal.SIGIOT signal.SIGKILL signal.SIGPIPE signal.SIGPROF signal.SIGQUIT signal.SIGSEGV signal.SIGSTOP signal.SIGSYS signal.SIGTERM signal.SIGTRAP signal.SIGTSTP signal.SIGTTIN signal.SIGTTOU signal.SIGURG signal.SIGUSR1 signal.SIGUSR2 signal.SIGVTALRM signal.SIGWINCH signal.SIGXCPU signal.SIGXFSZ signal.SIG_BLOCK signal.SIG_DFL signal.SIG_IGN signal.SIG_SETMASK signal.SIG_UNBLOCK signal.alarm(seconds) signal.default_int_handler(...) signal.getitimer(which) signal.getsignal(sig) -> action signal.pause() signal.pthread_kill(thread_id, signum) signal.pthread_sigmask(how, mask) -> old mask signal.set_wakeup_fd(fd) -> fd signal.setitimer(which, seconds[, interval]) signal.siginterrupt(sig, flag) -> None signal.signal(sig, action) -> action signal.sigpending() -> list signal.sigwait(sigset) -> signum site.CONFIG_LINE site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.aliasmbcs(??) site.builtins(??) site.check_enableusersite(??) site.enablerlcompleter(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.venv(??) slice(stop) smtpd.COMMASPACE smtpd.DATA_SIZE_DEFAULT smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.EMPTYSTRING smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.collections(??) smtpd.errno(??) smtpd.get_addr_spec(??) smtpd.get_angle_addr(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.bCRLF smtplib.base64(??) smtplib.copy(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.stderr(??) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK(??) socket.AF_DECnet socket.AF_INET(??) socket.AF_INET6(??) socket.AF_IPX(??) socket.AF_LINK(??) socket.AF_ROUTE(??) socket.AF_SNA(??) socket.AF_SYSTEM(??) socket.AF_UNIX(??) socket.AF_UNSPEC(??) socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_DEFAULT socket.AI_MASK socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.AI_V4MAPPED_CFG socket.AddressFamily(??) socket.CAPI(??) socket.CMSG_LEN(length) -> control message length socket.CMSG_SPACE(length) -> buffer size socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_BADHINTS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MAX socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_PROTOCOL socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EWOULDBLOCK socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_EON socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GGP socket.IPPROTO_GRE socket.IPPROTO_HELLO socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPCOMP socket.IPPROTO_IPIP socket.IPPROTO_IPV4 socket.IPPROTO_IPV6 socket.IPPROTO_MAX socket.IPPROTO_ND socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPPROTO_XTP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVDSTADDR socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.IntEnum(??) socket.LOCAL_PEERCRED socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOF socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PF_SYSTEM socket.SCM_CREDS socket.SCM_RIGHTS socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM(??) socket.SOCK_RAW(??) socket.SOCK_RDM(??) socket.SOCK_SEQPACKET(??) socket.SOCK_STREAM(??) socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_REUSEPORT socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SO_USELOOPBACK socket.SYSPROTO_CONTROL socket.SocketIO(??) socket.SocketType(??) socket.TCP_MAXSEG socket.TCP_NODELAY socket.create_connection(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(??) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.if_indextoname(if_index) socket.if_nameindex() socket.if_nametoindex(if_name) socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.setdefaulttimeout(timeout) socket.sethostname(name) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.errno(??) socketserver.os(??) socketserver.select(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) sorted(iterable, key=None, reverse=False) --> new sorted list sqlite3.Binary(??) sqlite3.Cache(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement(??) sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.complete_statement(sql) sqlite3.connect(??) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Cache(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement(??) sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(??) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.AF_INET(??) ssl.ALERT_DESCRIPTION_ACCESS_DENIED ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE ssl.ALERT_DESCRIPTION_BAD_RECORD_MAC ssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED ssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED ssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN ssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE ssl.ALERT_DESCRIPTION_CLOSE_NOTIFY ssl.ALERT_DESCRIPTION_DECODE_ERROR ssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE ssl.ALERT_DESCRIPTION_DECRYPT_ERROR ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE ssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER ssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY ssl.ALERT_DESCRIPTION_INTERNAL_ERROR ssl.ALERT_DESCRIPTION_NO_RENEGOTIATION ssl.ALERT_DESCRIPTION_PROTOCOL_VERSION ssl.ALERT_DESCRIPTION_RECORD_OVERFLOW ssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE ssl.ALERT_DESCRIPTION_UNKNOWN_CA ssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME ssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE ssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION ssl.ALERT_DESCRIPTION_USER_CANCELLED ssl.CERT_NONE ssl.CERT_OPTIONAL ssl.CERT_REQUIRED ssl.CHANNEL_BINDING_TYPES(??) ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath) ssl.HAS_ECDH(??) ssl.HAS_NPN(??) ssl.HAS_SNI(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL ssl.OP_CIPHER_SERVER_PREFERENCE ssl.OP_NO_SSLv2 ssl.OP_NO_SSLv3 ssl.OP_NO_TLSv1 ssl.OP_SINGLE_DH_USE ssl.OP_SINGLE_ECDH_USE ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv2 ssl.PROTOCOL_SSLv23 ssl.PROTOCOL_SSLv3 ssl.PROTOCOL_TLSv1 ssl.Purpose(??) ssl.RAND_add(string, entropy) ssl.RAND_bytes(n) -> bytes ssl.RAND_egd(path) -> bytes ssl.RAND_pseudo_bytes(n) -> (bytes, is_cryptographic) ssl.RAND_status() -> 0 or 1 ssl.SOCK_STREAM(??) ssl.SOL_SOCKET ssl.SO_TYPE ssl.SSLContext(??) ssl.SSLEOFError(??) ssl.SSLError(??) ssl.SSLSocket(??) ssl.SSLSyscallError(??) ssl.SSLWantReadError(??) ssl.SSLWantWriteError(??) ssl.SSLZeroReturnError(??) ssl.SSL_ERROR_EOF ssl.SSL_ERROR_INVALID_ERROR_CODE ssl.SSL_ERROR_SSL ssl.SSL_ERROR_SYSCALL ssl.SSL_ERROR_WANT_CONNECT ssl.SSL_ERROR_WANT_READ ssl.SSL_ERROR_WANT_WRITE ssl.SSL_ERROR_WANT_X509_LOOKUP ssl.SSL_ERROR_ZERO_RETURN ssl.VERIFY_CRL_CHECK_CHAIN ssl.VERIFY_CRL_CHECK_LEAF ssl.VERIFY_DEFAULT ssl.VERIFY_X509_STRICT ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.create_connection(??) ssl.create_default_context(??) ssl.errno(??) ssl.get_default_verify_paths(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.match_hostname(??) ssl.namedtuple(??) ssl.os(??) ssl.re(??) ssl.socket(??) ssl.socket_error(??) ssl.sys(??) ssl.textwrap(??) ssl.traceback(??) ssl.wrap_socket(??) stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFDOOR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFPORT stat.S_IFREG stat.S_IFSOCK stat.S_IFWHT stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(mode) -> bool stat.S_ISCHR(mode) -> bool stat.S_ISDIR(mode) -> bool stat.S_ISDOOR(mode) -> bool stat.S_ISFIFO(mode) -> bool stat.S_ISGID stat.S_ISLNK(mode) -> bool stat.S_ISPORT(mode) -> bool stat.S_ISREG(mode) -> bool stat.S_ISSOCK(mode) -> bool stat.S_ISUID stat.S_ISVTX stat.S_ISWHT(mode) -> bool stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_COMPRESSED stat.UF_HIDDEN stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE stat.filemode(??) staticmethod(function) -> method statistics.Decimal(??) statistics.Fraction(??) statistics.StatisticsError(??) statistics.collections(??) statistics.math(??) statistics.mean(??) statistics.median(??) statistics.median_grouped(??) statistics.median_high(??) statistics.median_low(??) statistics.mode(??) statistics.pstdev(??) statistics.pvariance(??) statistics.stdev(??) statistics.variance(??) str(object='') -> str string.ChainMap(??) string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(fmt) --> compiled struct object struct.calcsize(fmt) -> integer struct.error(??) struct.iter_unpack(fmt, buffer) -> iterator(v1, v2, ...) struct.pack(fmt, v1, v2, ...) -> bytes struct.pack_into(fmt, buffer, offset, v1, v2, ...) struct.unpack(fmt, buffer) -> (v1, v2, ...) struct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...) subprocess.CalledProcessError(??) subprocess.DEVNULL subprocess.MAXFD subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.SubprocessError(??) subprocess.TimeoutExpired(??) subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno(??) subprocess.gc(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.mswindows(??) subprocess.os(??) subprocess.select(??) subprocess.selectors(??) subprocess.signal(??) subprocess.sys(??) subprocess.time(??) subprocess.traceback(??) subprocess.warnings(??) sum(iterable[, start]) -> value sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.namedtuple(??) sunau.open(??) sunau.openfp(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.atom symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_arg symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.OPT_IMPORT_STAR symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.api_version sys.argv(??) sys.base_exec_prefix sys.base_prefix sys.builtin_module_names(??) sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode(??) sys.exc_info() -> (type, value, traceback) sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.getallocatedblocks() -> integer sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.getswitchinterval() -> current thread switch interval; see setswitchinterval(). sys.gettrace() sys.hash_info(??) sys.hexversion sys.implementation(??) sys.int_info(??) sys.intern(string) -> string sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.setswitchinterval(n) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.thread_info(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys(??) syslog.LOG_ALERT syslog.LOG_AUTH syslog.LOG_AUTHPRIV syslog.LOG_CONS syslog.LOG_CRIT syslog.LOG_CRON syslog.LOG_DAEMON syslog.LOG_DEBUG syslog.LOG_EMERG syslog.LOG_ERR syslog.LOG_INFO syslog.LOG_KERN syslog.LOG_LOCAL0 syslog.LOG_LOCAL1 syslog.LOG_LOCAL2 syslog.LOG_LOCAL3 syslog.LOG_LOCAL4 syslog.LOG_LOCAL5 syslog.LOG_LOCAL6 syslog.LOG_LOCAL7 syslog.LOG_LPR syslog.LOG_MAIL syslog.LOG_MASK(??) syslog.LOG_NDELAY syslog.LOG_NEWS syslog.LOG_NOTICE syslog.LOG_NOWAIT syslog.LOG_ODELAY syslog.LOG_PERROR syslog.LOG_PID syslog.LOG_SYSLOG syslog.LOG_UPTO(??) syslog.LOG_USER syslog.LOG_UUCP syslog.LOG_WARNING syslog.closelog(??) syslog.openlog(??) syslog.setlogmask(??) syslog.syslog(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TarIter(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.filemode(??) tarfile.grp(??) tarfile.io(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.main(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.selectors(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempprefix(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template termios.B0 termios.B110 termios.B115200 termios.B1200 termios.B134 termios.B150 termios.B1800 termios.B19200 termios.B200 termios.B230400 termios.B2400 termios.B300 termios.B38400 termios.B4800 termios.B50 termios.B57600 termios.B600 termios.B75 termios.B9600 termios.BRKINT termios.BS0 termios.BS1 termios.BSDLY termios.CDSUSP termios.CEOF termios.CEOL termios.CEOT termios.CERASE termios.CFLUSH termios.CINTR termios.CKILL termios.CLNEXT termios.CLOCAL termios.CQUIT termios.CR0 termios.CR1 termios.CR2 termios.CR3 termios.CRDLY termios.CREAD termios.CRPRNT termios.CRTSCTS termios.CS5 termios.CS6 termios.CS7 termios.CS8 termios.CSIZE termios.CSTART termios.CSTOP termios.CSTOPB termios.CSUSP termios.CWERASE termios.ECHO termios.ECHOCTL termios.ECHOE termios.ECHOK termios.ECHOKE termios.ECHONL termios.ECHOPRT termios.EXTA termios.EXTB termios.FF0 termios.FF1 termios.FFDLY termios.FIOASYNC termios.FIOCLEX termios.FIONBIO termios.FIONCLEX termios.FIONREAD termios.FLUSHO termios.HUPCL termios.ICANON termios.ICRNL termios.IEXTEN termios.IGNBRK termios.IGNCR termios.IGNPAR termios.IMAXBEL termios.INLCR termios.INPCK termios.ISIG termios.ISTRIP termios.IXANY termios.IXOFF termios.IXON termios.NCCS termios.NL0 termios.NL1 termios.NLDLY termios.NOFLSH termios.OCRNL termios.OFDEL termios.OFILL termios.ONLCR termios.ONLRET termios.ONOCR termios.OPOST termios.PARENB termios.PARMRK termios.PARODD termios.PENDIN termios.TAB0 termios.TAB1 termios.TAB2 termios.TAB3 termios.TABDLY termios.TCIFLUSH termios.TCIOFF termios.TCIOFLUSH termios.TCION termios.TCOFLUSH termios.TCOOFF termios.TCOON termios.TCSADRAIN termios.TCSAFLUSH termios.TCSANOW termios.TCSASOFT termios.TIOCCONS termios.TIOCEXCL termios.TIOCGETD termios.TIOCGPGRP termios.TIOCGWINSZ termios.TIOCMBIC termios.TIOCMBIS termios.TIOCMGET termios.TIOCMSET termios.TIOCM_CAR termios.TIOCM_CD termios.TIOCM_CTS termios.TIOCM_DSR termios.TIOCM_DTR termios.TIOCM_LE termios.TIOCM_RI termios.TIOCM_RNG termios.TIOCM_RTS termios.TIOCM_SR termios.TIOCM_ST termios.TIOCNOTTY termios.TIOCNXCL termios.TIOCOUTQ termios.TIOCPKT termios.TIOCPKT_DATA termios.TIOCPKT_DOSTOP termios.TIOCPKT_FLUSHREAD termios.TIOCPKT_FLUSHWRITE termios.TIOCPKT_NOSTOP termios.TIOCPKT_START termios.TIOCPKT_STOP termios.TIOCSCTTY termios.TIOCSETD termios.TIOCSPGRP termios.TIOCSTI termios.TIOCSWINSZ termios.TOSTOP termios.VDISCARD termios.VEOF termios.VEOL termios.VEOL2 termios.VERASE termios.VINTR termios.VKILL termios.VLNEXT termios.VMIN termios.VQUIT termios.VREPRINT termios.VSTART termios.VSTOP termios.VSUSP termios.VT0 termios.VT1 termios.VTDLY termios.VTIME termios.VWERASE termios.error(??) termios.tcdrain(fd) -> None termios.tcflow(fd, action) -> None termios.tcflush(fd, queue) -> None termios.tcgetattr(fd) -> list_of_attrs termios.tcsendbreak(fd, duration) -> None termios.tcsetattr(fd, when, attributes) -> None textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.indent(??) textwrap.re(??) textwrap.shorten(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.WeakSet(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.enumerate(??) threading.get_ident() -> integer threading.local(??) threading.main_thread(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.get_clock_info(name: str) -> dict time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.monotonic() -> float time.perf_counter() -> float time.process_time() -> float time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.timezone time.tzname(??) time.tzset() timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) tkinter.ACTIVE tkinter.ALL tkinter.ANCHOR tkinter.ARC tkinter.BASELINE tkinter.BEVEL tkinter.BOTH tkinter.BOTTOM tkinter.BROWSE tkinter.BUTT tkinter.BaseWidget(??) tkinter.BitmapImage(??) tkinter.BooleanVar(??) tkinter.Button(??) tkinter.CASCADE tkinter.CENTER tkinter.CHAR tkinter.CHECKBUTTON tkinter.CHORD tkinter.COMMAND tkinter.CURRENT tkinter.CallWrapper(??) tkinter.Canvas(??) tkinter.Checkbutton(??) tkinter.DISABLED tkinter.DOTBOX tkinter.DoubleVar(??) tkinter.E tkinter.END tkinter.EW tkinter.EXCEPTION tkinter.EXTENDED tkinter.Entry(??) tkinter.Event(??) tkinter.FALSE tkinter.FIRST tkinter.FLAT tkinter.Frame(??) tkinter.GROOVE tkinter.Grid(??) tkinter.HIDDEN tkinter.HORIZONTAL tkinter.INSERT tkinter.INSIDE tkinter.Image(??) tkinter.IntVar(??) tkinter.LAST tkinter.LEFT tkinter.Label(??) tkinter.LabelFrame(??) tkinter.Listbox(??) tkinter.MITER tkinter.MOVETO tkinter.MULTIPLE tkinter.Menu(??) tkinter.Menubutton(??) tkinter.Message(??) tkinter.Misc(??) tkinter.N tkinter.NE tkinter.NO tkinter.NONE tkinter.NORMAL tkinter.NS tkinter.NSEW tkinter.NUMERIC tkinter.NW tkinter.NoDefaultRoot(??) tkinter.OFF tkinter.ON tkinter.OUTSIDE tkinter.OptionMenu(??) tkinter.PAGES tkinter.PIESLICE tkinter.PROJECTING tkinter.Pack(??) tkinter.PanedWindow(??) tkinter.PhotoImage(??) tkinter.Place(??) tkinter.RADIOBUTTON tkinter.RAISED tkinter.READABLE tkinter.RIDGE tkinter.RIGHT tkinter.ROUND tkinter.Radiobutton(??) tkinter.S tkinter.SCROLL tkinter.SE tkinter.SEL tkinter.SEL_FIRST tkinter.SEL_LAST tkinter.SEPARATOR tkinter.SINGLE tkinter.SOLID tkinter.SUNKEN tkinter.SW tkinter.Scale(??) tkinter.Scrollbar(??) tkinter.Spinbox(??) tkinter.StringVar(??) tkinter.Studbutton(??) tkinter.TOP tkinter.TRUE tkinter.Tcl(??) tkinter.TclError(??) tkinter.TclVersion tkinter.Text(??) tkinter.Tk(??) tkinter.TkVersion tkinter.Toplevel(??) tkinter.Tributton(??) tkinter.UNDERLINE tkinter.UNITS tkinter.VERTICAL tkinter.Variable(??) tkinter.W tkinter.WORD tkinter.WRITABLE tkinter.Widget(??) tkinter.Wm(??) tkinter.X tkinter.XView(??) tkinter.Y tkinter.YES tkinter.YView(??) tkinter.colorchooser.Chooser(??) tkinter.colorchooser.Dialog(??) tkinter.colorchooser.askcolor(??) tkinter.commondialog.ACTIVE tkinter.commondialog.ALL tkinter.commondialog.ANCHOR tkinter.commondialog.ARC tkinter.commondialog.BASELINE tkinter.commondialog.BEVEL tkinter.commondialog.BOTH tkinter.commondialog.BOTTOM tkinter.commondialog.BROWSE tkinter.commondialog.BUTT tkinter.commondialog.BaseWidget(??) tkinter.commondialog.BitmapImage(??) tkinter.commondialog.BooleanVar(??) tkinter.commondialog.Button(??) tkinter.commondialog.CASCADE tkinter.commondialog.CENTER tkinter.commondialog.CHAR tkinter.commondialog.CHECKBUTTON tkinter.commondialog.CHORD tkinter.commondialog.COMMAND tkinter.commondialog.CURRENT tkinter.commondialog.CallWrapper(??) tkinter.commondialog.Canvas(??) tkinter.commondialog.Checkbutton(??) tkinter.commondialog.DISABLED tkinter.commondialog.DOTBOX tkinter.commondialog.Dialog(??) tkinter.commondialog.DoubleVar(??) tkinter.commondialog.E tkinter.commondialog.END tkinter.commondialog.EW tkinter.commondialog.EXCEPTION tkinter.commondialog.EXTENDED tkinter.commondialog.Entry(??) tkinter.commondialog.Event(??) tkinter.commondialog.FALSE tkinter.commondialog.FIRST tkinter.commondialog.FLAT tkinter.commondialog.Frame(??) tkinter.commondialog.GROOVE tkinter.commondialog.Grid(??) tkinter.commondialog.HIDDEN tkinter.commondialog.HORIZONTAL tkinter.commondialog.INSERT tkinter.commondialog.INSIDE tkinter.commondialog.Image(??) tkinter.commondialog.IntVar(??) tkinter.commondialog.LAST tkinter.commondialog.LEFT tkinter.commondialog.Label(??) tkinter.commondialog.LabelFrame(??) tkinter.commondialog.Listbox(??) tkinter.commondialog.MITER tkinter.commondialog.MOVETO tkinter.commondialog.MULTIPLE tkinter.commondialog.Menu(??) tkinter.commondialog.Menubutton(??) tkinter.commondialog.Message(??) tkinter.commondialog.Misc(??) tkinter.commondialog.N tkinter.commondialog.NE tkinter.commondialog.NO tkinter.commondialog.NONE tkinter.commondialog.NORMAL tkinter.commondialog.NS tkinter.commondialog.NSEW tkinter.commondialog.NUMERIC tkinter.commondialog.NW tkinter.commondialog.NoDefaultRoot(??) tkinter.commondialog.OFF tkinter.commondialog.ON tkinter.commondialog.OUTSIDE tkinter.commondialog.OptionMenu(??) tkinter.commondialog.PAGES tkinter.commondialog.PIESLICE tkinter.commondialog.PROJECTING tkinter.commondialog.Pack(??) tkinter.commondialog.PanedWindow(??) tkinter.commondialog.PhotoImage(??) tkinter.commondialog.Place(??) tkinter.commondialog.RADIOBUTTON tkinter.commondialog.RAISED tkinter.commondialog.READABLE tkinter.commondialog.RIDGE tkinter.commondialog.RIGHT tkinter.commondialog.ROUND tkinter.commondialog.Radiobutton(??) tkinter.commondialog.S tkinter.commondialog.SCROLL tkinter.commondialog.SE tkinter.commondialog.SEL tkinter.commondialog.SEL_FIRST tkinter.commondialog.SEL_LAST tkinter.commondialog.SEPARATOR tkinter.commondialog.SINGLE tkinter.commondialog.SOLID tkinter.commondialog.SUNKEN tkinter.commondialog.SW tkinter.commondialog.Scale(??) tkinter.commondialog.Scrollbar(??) tkinter.commondialog.Spinbox(??) tkinter.commondialog.StringVar(??) tkinter.commondialog.Studbutton(??) tkinter.commondialog.TOP tkinter.commondialog.TRUE tkinter.commondialog.Tcl(??) tkinter.commondialog.TclError(??) tkinter.commondialog.TclVersion tkinter.commondialog.Text(??) tkinter.commondialog.Tk(??) tkinter.commondialog.TkVersion tkinter.commondialog.Toplevel(??) tkinter.commondialog.Tributton(??) tkinter.commondialog.UNDERLINE tkinter.commondialog.UNITS tkinter.commondialog.VERTICAL tkinter.commondialog.Variable(??) tkinter.commondialog.W tkinter.commondialog.WORD tkinter.commondialog.WRITABLE tkinter.commondialog.Widget(??) tkinter.commondialog.Wm(??) tkinter.commondialog.X tkinter.commondialog.XView(??) tkinter.commondialog.Y tkinter.commondialog.YES tkinter.commondialog.YView(??) tkinter.commondialog.constants(??) tkinter.commondialog.getboolean(??) tkinter.commondialog.getdouble(??) tkinter.commondialog.getint(??) tkinter.commondialog.image_names(??) tkinter.commondialog.image_types(??) tkinter.commondialog.mainloop(??) tkinter.commondialog.re(??) tkinter.commondialog.sys(??) tkinter.commondialog.wantobjects tkinter.commondialog.warnings(??) tkinter.constants(??) tkinter.constants.ACTIVE tkinter.constants.ALL tkinter.constants.ANCHOR tkinter.constants.ARC tkinter.constants.BASELINE tkinter.constants.BEVEL tkinter.constants.BOTH tkinter.constants.BOTTOM tkinter.constants.BROWSE tkinter.constants.BUTT tkinter.constants.CASCADE tkinter.constants.CENTER tkinter.constants.CHAR tkinter.constants.CHECKBUTTON tkinter.constants.CHORD tkinter.constants.COMMAND tkinter.constants.CURRENT tkinter.constants.DISABLED tkinter.constants.DOTBOX tkinter.constants.E tkinter.constants.END tkinter.constants.EW tkinter.constants.EXTENDED tkinter.constants.FALSE tkinter.constants.FIRST tkinter.constants.FLAT tkinter.constants.GROOVE tkinter.constants.HIDDEN tkinter.constants.HORIZONTAL tkinter.constants.INSERT tkinter.constants.INSIDE tkinter.constants.LAST tkinter.constants.LEFT tkinter.constants.MITER tkinter.constants.MOVETO tkinter.constants.MULTIPLE tkinter.constants.N tkinter.constants.NE tkinter.constants.NO tkinter.constants.NONE tkinter.constants.NORMAL tkinter.constants.NS tkinter.constants.NSEW tkinter.constants.NUMERIC tkinter.constants.NW tkinter.constants.OFF tkinter.constants.ON tkinter.constants.OUTSIDE tkinter.constants.PAGES tkinter.constants.PIESLICE tkinter.constants.PROJECTING tkinter.constants.RADIOBUTTON tkinter.constants.RAISED tkinter.constants.RIDGE tkinter.constants.RIGHT tkinter.constants.ROUND tkinter.constants.S tkinter.constants.SCROLL tkinter.constants.SE tkinter.constants.SEL tkinter.constants.SEL_FIRST tkinter.constants.SEL_LAST tkinter.constants.SEPARATOR tkinter.constants.SINGLE tkinter.constants.SOLID tkinter.constants.SUNKEN tkinter.constants.SW tkinter.constants.TOP tkinter.constants.TRUE tkinter.constants.UNDERLINE tkinter.constants.UNITS tkinter.constants.VERTICAL tkinter.constants.W tkinter.constants.WORD tkinter.constants.X tkinter.constants.Y tkinter.constants.YES tkinter.dialog.ACTIVE tkinter.dialog.ALL tkinter.dialog.ANCHOR tkinter.dialog.ARC tkinter.dialog.BASELINE tkinter.dialog.BEVEL tkinter.dialog.BOTH tkinter.dialog.BOTTOM tkinter.dialog.BROWSE tkinter.dialog.BUTT tkinter.dialog.BaseWidget(??) tkinter.dialog.BitmapImage(??) tkinter.dialog.BooleanVar(??) tkinter.dialog.Button(??) tkinter.dialog.CASCADE tkinter.dialog.CENTER tkinter.dialog.CHAR tkinter.dialog.CHECKBUTTON tkinter.dialog.CHORD tkinter.dialog.COMMAND tkinter.dialog.CURRENT tkinter.dialog.CallWrapper(??) tkinter.dialog.Canvas(??) tkinter.dialog.Checkbutton(??) tkinter.dialog.DIALOG_ICON tkinter.dialog.DISABLED tkinter.dialog.DOTBOX tkinter.dialog.Dialog(??) tkinter.dialog.DoubleVar(??) tkinter.dialog.E tkinter.dialog.END tkinter.dialog.EW tkinter.dialog.EXCEPTION tkinter.dialog.EXTENDED tkinter.dialog.Entry(??) tkinter.dialog.Event(??) tkinter.dialog.FALSE tkinter.dialog.FIRST tkinter.dialog.FLAT tkinter.dialog.Frame(??) tkinter.dialog.GROOVE tkinter.dialog.Grid(??) tkinter.dialog.HIDDEN tkinter.dialog.HORIZONTAL tkinter.dialog.INSERT tkinter.dialog.INSIDE tkinter.dialog.Image(??) tkinter.dialog.IntVar(??) tkinter.dialog.LAST tkinter.dialog.LEFT tkinter.dialog.Label(??) tkinter.dialog.LabelFrame(??) tkinter.dialog.Listbox(??) tkinter.dialog.MITER tkinter.dialog.MOVETO tkinter.dialog.MULTIPLE tkinter.dialog.Menu(??) tkinter.dialog.Menubutton(??) tkinter.dialog.Message(??) tkinter.dialog.Misc(??) tkinter.dialog.N tkinter.dialog.NE tkinter.dialog.NO tkinter.dialog.NONE tkinter.dialog.NORMAL tkinter.dialog.NS tkinter.dialog.NSEW tkinter.dialog.NUMERIC tkinter.dialog.NW tkinter.dialog.NoDefaultRoot(??) tkinter.dialog.OFF tkinter.dialog.ON tkinter.dialog.OUTSIDE tkinter.dialog.OptionMenu(??) tkinter.dialog.PAGES tkinter.dialog.PIESLICE tkinter.dialog.PROJECTING tkinter.dialog.Pack(??) tkinter.dialog.PanedWindow(??) tkinter.dialog.PhotoImage(??) tkinter.dialog.Place(??) tkinter.dialog.RADIOBUTTON tkinter.dialog.RAISED tkinter.dialog.READABLE tkinter.dialog.RIDGE tkinter.dialog.RIGHT tkinter.dialog.ROUND tkinter.dialog.Radiobutton(??) tkinter.dialog.S tkinter.dialog.SCROLL tkinter.dialog.SE tkinter.dialog.SEL tkinter.dialog.SEL_FIRST tkinter.dialog.SEL_LAST tkinter.dialog.SEPARATOR tkinter.dialog.SINGLE tkinter.dialog.SOLID tkinter.dialog.SUNKEN tkinter.dialog.SW tkinter.dialog.Scale(??) tkinter.dialog.Scrollbar(??) tkinter.dialog.Spinbox(??) tkinter.dialog.StringVar(??) tkinter.dialog.Studbutton(??) tkinter.dialog.TOP tkinter.dialog.TRUE tkinter.dialog.Tcl(??) tkinter.dialog.TclError(??) tkinter.dialog.TclVersion tkinter.dialog.Text(??) tkinter.dialog.Tk(??) tkinter.dialog.TkVersion tkinter.dialog.Toplevel(??) tkinter.dialog.Tributton(??) tkinter.dialog.UNDERLINE tkinter.dialog.UNITS tkinter.dialog.VERTICAL tkinter.dialog.Variable(??) tkinter.dialog.W tkinter.dialog.WORD tkinter.dialog.WRITABLE tkinter.dialog.Widget(??) tkinter.dialog.Wm(??) tkinter.dialog.X tkinter.dialog.XView(??) tkinter.dialog.Y tkinter.dialog.YES tkinter.dialog.YView(??) tkinter.dialog.colorchooser(??) tkinter.dialog.commondialog(??) tkinter.dialog.constants(??) tkinter.dialog.getboolean(??) tkinter.dialog.getdouble(??) tkinter.dialog.getint(??) tkinter.dialog.image_names(??) tkinter.dialog.image_types(??) tkinter.dialog.mainloop(??) tkinter.dialog.re(??) tkinter.dialog.sys(??) tkinter.dialog.wantobjects tkinter.dialog.warnings(??) tkinter.dnd.DndHandler(??) tkinter.dnd.Icon(??) tkinter.dnd.Tester(??) tkinter.dnd.dnd_start(??) tkinter.dnd.test(??) tkinter.dnd.tkinter(??) tkinter.filedialog.ACTIVE tkinter.filedialog.ALL tkinter.filedialog.ANCHOR tkinter.filedialog.ARC tkinter.filedialog.BASELINE tkinter.filedialog.BEVEL tkinter.filedialog.BOTH tkinter.filedialog.BOTTOM tkinter.filedialog.BROWSE tkinter.filedialog.BUTT tkinter.filedialog.BaseWidget(??) tkinter.filedialog.BitmapImage(??) tkinter.filedialog.BooleanVar(??) tkinter.filedialog.Button(??) tkinter.filedialog.CASCADE tkinter.filedialog.CENTER tkinter.filedialog.CHAR tkinter.filedialog.CHECKBUTTON tkinter.filedialog.CHORD tkinter.filedialog.COMMAND tkinter.filedialog.CURRENT tkinter.filedialog.CallWrapper(??) tkinter.filedialog.Canvas(??) tkinter.filedialog.Checkbutton(??) tkinter.filedialog.DISABLED tkinter.filedialog.DOTBOX tkinter.filedialog.Dialog(??) tkinter.filedialog.Directory(??) tkinter.filedialog.DoubleVar(??) tkinter.filedialog.E tkinter.filedialog.END tkinter.filedialog.EW tkinter.filedialog.EXCEPTION tkinter.filedialog.EXTENDED tkinter.filedialog.Entry(??) tkinter.filedialog.Event(??) tkinter.filedialog.FALSE tkinter.filedialog.FIRST tkinter.filedialog.FLAT tkinter.filedialog.FileDialog(??) tkinter.filedialog.Frame(??) tkinter.filedialog.GROOVE tkinter.filedialog.Grid(??) tkinter.filedialog.HIDDEN tkinter.filedialog.HORIZONTAL tkinter.filedialog.INSERT tkinter.filedialog.INSIDE tkinter.filedialog.Image(??) tkinter.filedialog.IntVar(??) tkinter.filedialog.LAST tkinter.filedialog.LEFT tkinter.filedialog.Label(??) tkinter.filedialog.LabelFrame(??) tkinter.filedialog.Listbox(??) tkinter.filedialog.LoadFileDialog(??) tkinter.filedialog.MITER tkinter.filedialog.MOVETO tkinter.filedialog.MULTIPLE tkinter.filedialog.Menu(??) tkinter.filedialog.Menubutton(??) tkinter.filedialog.Message(??) tkinter.filedialog.Misc(??) tkinter.filedialog.N tkinter.filedialog.NE tkinter.filedialog.NO tkinter.filedialog.NONE tkinter.filedialog.NORMAL tkinter.filedialog.NS tkinter.filedialog.NSEW tkinter.filedialog.NUMERIC tkinter.filedialog.NW tkinter.filedialog.NoDefaultRoot(??) tkinter.filedialog.OFF tkinter.filedialog.ON tkinter.filedialog.OUTSIDE tkinter.filedialog.Open(??) tkinter.filedialog.OptionMenu(??) tkinter.filedialog.PAGES tkinter.filedialog.PIESLICE tkinter.filedialog.PROJECTING tkinter.filedialog.Pack(??) tkinter.filedialog.PanedWindow(??) tkinter.filedialog.PhotoImage(??) tkinter.filedialog.Place(??) tkinter.filedialog.RADIOBUTTON tkinter.filedialog.RAISED tkinter.filedialog.READABLE tkinter.filedialog.RIDGE tkinter.filedialog.RIGHT tkinter.filedialog.ROUND tkinter.filedialog.Radiobutton(??) tkinter.filedialog.S tkinter.filedialog.SCROLL tkinter.filedialog.SE tkinter.filedialog.SEL tkinter.filedialog.SEL_FIRST tkinter.filedialog.SEL_LAST tkinter.filedialog.SEPARATOR tkinter.filedialog.SINGLE tkinter.filedialog.SOLID tkinter.filedialog.SUNKEN tkinter.filedialog.SW tkinter.filedialog.SaveAs(??) tkinter.filedialog.SaveFileDialog(??) tkinter.filedialog.Scale(??) tkinter.filedialog.Scrollbar(??) tkinter.filedialog.Spinbox(??) tkinter.filedialog.StringVar(??) tkinter.filedialog.Studbutton(??) tkinter.filedialog.TOP tkinter.filedialog.TRUE tkinter.filedialog.Tcl(??) tkinter.filedialog.TclError(??) tkinter.filedialog.TclVersion tkinter.filedialog.Text(??) tkinter.filedialog.Tk(??) tkinter.filedialog.TkVersion tkinter.filedialog.Toplevel(??) tkinter.filedialog.Tributton(??) tkinter.filedialog.UNDERLINE tkinter.filedialog.UNITS tkinter.filedialog.VERTICAL tkinter.filedialog.Variable(??) tkinter.filedialog.W tkinter.filedialog.WORD tkinter.filedialog.WRITABLE tkinter.filedialog.Widget(??) tkinter.filedialog.Wm(??) tkinter.filedialog.X tkinter.filedialog.XView(??) tkinter.filedialog.Y tkinter.filedialog.YES tkinter.filedialog.YView(??) tkinter.filedialog.askdirectory(??) tkinter.filedialog.askopenfile(??) tkinter.filedialog.askopenfilename(??) tkinter.filedialog.askopenfilenames(??) tkinter.filedialog.askopenfiles(??) tkinter.filedialog.asksaveasfile(??) tkinter.filedialog.asksaveasfilename(??) tkinter.filedialog.colorchooser(??) tkinter.filedialog.commondialog(??) tkinter.filedialog.constants(??) tkinter.filedialog.dialog(??) tkinter.filedialog.dialogstates(??) tkinter.filedialog.dnd(??) tkinter.filedialog.fnmatch(??) tkinter.filedialog.getboolean(??) tkinter.filedialog.getdouble(??) tkinter.filedialog.getint(??) tkinter.filedialog.image_names(??) tkinter.filedialog.image_types(??) tkinter.filedialog.mainloop(??) tkinter.filedialog.os(??) tkinter.filedialog.re(??) tkinter.filedialog.sys(??) tkinter.filedialog.test(??) tkinter.filedialog.wantobjects tkinter.filedialog.warnings(??) tkinter.font.BOLD tkinter.font.Font(??) tkinter.font.ITALIC tkinter.font.NORMAL tkinter.font.ROMAN tkinter.font.families(??) tkinter.font.itertools(??) tkinter.font.names(??) tkinter.font.nametofont(??) tkinter.font.tkinter(??) tkinter.getboolean(??) tkinter.getdouble(??) tkinter.getint(??) tkinter.image_names(??) tkinter.image_types(??) tkinter.mainloop(??) tkinter.messagebox.ABORT tkinter.messagebox.ABORTRETRYIGNORE tkinter.messagebox.CANCEL tkinter.messagebox.Dialog(??) tkinter.messagebox.ERROR tkinter.messagebox.IGNORE tkinter.messagebox.INFO tkinter.messagebox.Message(??) tkinter.messagebox.NO tkinter.messagebox.OK tkinter.messagebox.OKCANCEL tkinter.messagebox.QUESTION tkinter.messagebox.RETRY tkinter.messagebox.RETRYCANCEL tkinter.messagebox.WARNING tkinter.messagebox.YES tkinter.messagebox.YESNO tkinter.messagebox.YESNOCANCEL tkinter.messagebox.askokcancel(??) tkinter.messagebox.askquestion(??) tkinter.messagebox.askretrycancel(??) tkinter.messagebox.askyesno(??) tkinter.messagebox.askyesnocancel(??) tkinter.messagebox.showerror(??) tkinter.messagebox.showinfo(??) tkinter.messagebox.showwarning(??) tkinter.re(??) tkinter.scrolledtext.BOTH tkinter.scrolledtext.Frame(??) tkinter.scrolledtext.Grid(??) tkinter.scrolledtext.LEFT tkinter.scrolledtext.Pack(??) tkinter.scrolledtext.Place(??) tkinter.scrolledtext.RIGHT tkinter.scrolledtext.Scrollbar(??) tkinter.scrolledtext.ScrolledText(??) tkinter.scrolledtext.Text(??) tkinter.scrolledtext.Y tkinter.scrolledtext.example(??) tkinter.simpledialog.ACTIVE tkinter.simpledialog.ALL tkinter.simpledialog.ANCHOR tkinter.simpledialog.ARC tkinter.simpledialog.BASELINE tkinter.simpledialog.BEVEL tkinter.simpledialog.BOTH tkinter.simpledialog.BOTTOM tkinter.simpledialog.BROWSE tkinter.simpledialog.BUTT tkinter.simpledialog.BaseWidget(??) tkinter.simpledialog.BitmapImage(??) tkinter.simpledialog.BooleanVar(??) tkinter.simpledialog.Button(??) tkinter.simpledialog.CASCADE tkinter.simpledialog.CENTER tkinter.simpledialog.CHAR tkinter.simpledialog.CHECKBUTTON tkinter.simpledialog.CHORD tkinter.simpledialog.COMMAND tkinter.simpledialog.CURRENT tkinter.simpledialog.CallWrapper(??) tkinter.simpledialog.Canvas(??) tkinter.simpledialog.Checkbutton(??) tkinter.simpledialog.DISABLED tkinter.simpledialog.DOTBOX tkinter.simpledialog.Dialog(??) tkinter.simpledialog.DoubleVar(??) tkinter.simpledialog.E tkinter.simpledialog.END tkinter.simpledialog.EW tkinter.simpledialog.EXCEPTION tkinter.simpledialog.EXTENDED tkinter.simpledialog.Entry(??) tkinter.simpledialog.Event(??) tkinter.simpledialog.FALSE tkinter.simpledialog.FIRST tkinter.simpledialog.FLAT tkinter.simpledialog.Frame(??) tkinter.simpledialog.GROOVE tkinter.simpledialog.Grid(??) tkinter.simpledialog.HIDDEN tkinter.simpledialog.HORIZONTAL tkinter.simpledialog.INSERT tkinter.simpledialog.INSIDE tkinter.simpledialog.Image(??) tkinter.simpledialog.IntVar(??) tkinter.simpledialog.LAST tkinter.simpledialog.LEFT tkinter.simpledialog.Label(??) tkinter.simpledialog.LabelFrame(??) tkinter.simpledialog.Listbox(??) tkinter.simpledialog.MITER tkinter.simpledialog.MOVETO tkinter.simpledialog.MULTIPLE tkinter.simpledialog.Menu(??) tkinter.simpledialog.Menubutton(??) tkinter.simpledialog.Message(??) tkinter.simpledialog.Misc(??) tkinter.simpledialog.N tkinter.simpledialog.NE tkinter.simpledialog.NO tkinter.simpledialog.NONE tkinter.simpledialog.NORMAL tkinter.simpledialog.NS tkinter.simpledialog.NSEW tkinter.simpledialog.NUMERIC tkinter.simpledialog.NW tkinter.simpledialog.NoDefaultRoot(??) tkinter.simpledialog.OFF tkinter.simpledialog.ON tkinter.simpledialog.OUTSIDE tkinter.simpledialog.OptionMenu(??) tkinter.simpledialog.PAGES tkinter.simpledialog.PIESLICE tkinter.simpledialog.PROJECTING tkinter.simpledialog.Pack(??) tkinter.simpledialog.PanedWindow(??) tkinter.simpledialog.PhotoImage(??) tkinter.simpledialog.Place(??) tkinter.simpledialog.RADIOBUTTON tkinter.simpledialog.RAISED tkinter.simpledialog.READABLE tkinter.simpledialog.RIDGE tkinter.simpledialog.RIGHT tkinter.simpledialog.ROUND tkinter.simpledialog.Radiobutton(??) tkinter.simpledialog.S tkinter.simpledialog.SCROLL tkinter.simpledialog.SE tkinter.simpledialog.SEL tkinter.simpledialog.SEL_FIRST tkinter.simpledialog.SEL_LAST tkinter.simpledialog.SEPARATOR tkinter.simpledialog.SINGLE tkinter.simpledialog.SOLID tkinter.simpledialog.SUNKEN tkinter.simpledialog.SW tkinter.simpledialog.Scale(??) tkinter.simpledialog.Scrollbar(??) tkinter.simpledialog.SimpleDialog(??) tkinter.simpledialog.Spinbox(??) tkinter.simpledialog.StringVar(??) tkinter.simpledialog.Studbutton(??) tkinter.simpledialog.TOP tkinter.simpledialog.TRUE tkinter.simpledialog.Tcl(??) tkinter.simpledialog.TclError(??) tkinter.simpledialog.TclVersion tkinter.simpledialog.Text(??) tkinter.simpledialog.Tk(??) tkinter.simpledialog.TkVersion tkinter.simpledialog.Toplevel(??) tkinter.simpledialog.Tributton(??) tkinter.simpledialog.UNDERLINE tkinter.simpledialog.UNITS tkinter.simpledialog.VERTICAL tkinter.simpledialog.Variable(??) tkinter.simpledialog.W tkinter.simpledialog.WORD tkinter.simpledialog.WRITABLE tkinter.simpledialog.Widget(??) tkinter.simpledialog.Wm(??) tkinter.simpledialog.X tkinter.simpledialog.XView(??) tkinter.simpledialog.Y tkinter.simpledialog.YES tkinter.simpledialog.YView(??) tkinter.simpledialog.askfloat(??) tkinter.simpledialog.askinteger(??) tkinter.simpledialog.askstring(??) tkinter.simpledialog.colorchooser(??) tkinter.simpledialog.commondialog(??) tkinter.simpledialog.constants(??) tkinter.simpledialog.dialog(??) tkinter.simpledialog.dnd(??) tkinter.simpledialog.filedialog(??) tkinter.simpledialog.font(??) tkinter.simpledialog.getboolean(??) tkinter.simpledialog.getdouble(??) tkinter.simpledialog.getint(??) tkinter.simpledialog.image_names(??) tkinter.simpledialog.image_types(??) tkinter.simpledialog.mainloop(??) tkinter.simpledialog.messagebox(??) tkinter.simpledialog.re(??) tkinter.simpledialog.scrolledtext(??) tkinter.simpledialog.sys(??) tkinter.simpledialog.tkinter(??) tkinter.simpledialog.wantobjects tkinter.simpledialog.warnings(??) tkinter.sys(??) tkinter.tix.ACROSSTOP tkinter.tix.ACTIVE tkinter.tix.ALL tkinter.tix.ANCHOR tkinter.tix.ARC tkinter.tix.ASCII tkinter.tix.AUTO tkinter.tix.BALLOON tkinter.tix.BASELINE tkinter.tix.BEVEL tkinter.tix.BOTH tkinter.tix.BOTTOM tkinter.tix.BROWSE tkinter.tix.BUTT tkinter.tix.Balloon(??) tkinter.tix.BaseWidget(??) tkinter.tix.BitmapImage(??) tkinter.tix.BooleanVar(??) tkinter.tix.Button(??) tkinter.tix.ButtonBox(??) tkinter.tix.CASCADE tkinter.tix.CELL tkinter.tix.CENTER tkinter.tix.CHAR tkinter.tix.CHECKBUTTON tkinter.tix.CHORD tkinter.tix.COLUMN tkinter.tix.COMMAND tkinter.tix.CObjView(??) tkinter.tix.CURRENT tkinter.tix.CallWrapper(??) tkinter.tix.Canvas(??) tkinter.tix.CheckList(??) tkinter.tix.Checkbutton(??) tkinter.tix.ComboBox(??) tkinter.tix.Control(??) tkinter.tix.DECREASING tkinter.tix.DISABLED tkinter.tix.DOTBOX tkinter.tix.DialogShell(??) tkinter.tix.DirList(??) tkinter.tix.DirSelectBox(??) tkinter.tix.DirSelectDialog(??) tkinter.tix.DirTree(??) tkinter.tix.DisplayStyle(??) tkinter.tix.DoubleVar(??) tkinter.tix.E tkinter.tix.END tkinter.tix.EW tkinter.tix.EXCEPTION tkinter.tix.EXTENDED tkinter.tix.Entry(??) tkinter.tix.Event(??) tkinter.tix.ExFileSelectBox(??) tkinter.tix.ExFileSelectDialog(??) tkinter.tix.FALSE tkinter.tix.FIRST tkinter.tix.FLAT tkinter.tix.FileEntry(??) tkinter.tix.FileSelectBox(??) tkinter.tix.FileSelectDialog(??) tkinter.tix.FileTypeList(??) tkinter.tix.Form(??) tkinter.tix.Frame(??) tkinter.tix.GROOVE tkinter.tix.Grid(??) tkinter.tix.HIDDEN tkinter.tix.HList(??) tkinter.tix.HORIZONTAL tkinter.tix.IMAGE tkinter.tix.IMAGETEXT tkinter.tix.IMMEDIATE tkinter.tix.INCREASING tkinter.tix.INSERT tkinter.tix.INSIDE tkinter.tix.INTEGER tkinter.tix.Image(??) tkinter.tix.InputOnly(??) tkinter.tix.IntVar(??) tkinter.tix.LAST tkinter.tix.LEFT tkinter.tix.Label(??) tkinter.tix.LabelEntry(??) tkinter.tix.LabelFrame(??) tkinter.tix.ListNoteBook(??) tkinter.tix.Listbox(??) tkinter.tix.MAIN tkinter.tix.MAX tkinter.tix.MITER tkinter.tix.MOVETO tkinter.tix.MULTIPLE tkinter.tix.Menu(??) tkinter.tix.Menubutton(??) tkinter.tix.Message(??) tkinter.tix.Meter(??) tkinter.tix.Misc(??) tkinter.tix.N tkinter.tix.NE tkinter.tix.NO tkinter.tix.NONE tkinter.tix.NORMAL tkinter.tix.NS tkinter.tix.NSEW tkinter.tix.NUMERIC tkinter.tix.NW tkinter.tix.NoDefaultRoot(??) tkinter.tix.NoteBook(??) tkinter.tix.NoteBookFrame(??) tkinter.tix.OFF tkinter.tix.ON tkinter.tix.OUTSIDE tkinter.tix.OptionMenu(??) tkinter.tix.OptionName(??) tkinter.tix.PAGES tkinter.tix.PIESLICE tkinter.tix.PROJECTING tkinter.tix.Pack(??) tkinter.tix.PanedWindow(??) tkinter.tix.PhotoImage(??) tkinter.tix.Place(??) tkinter.tix.PopupMenu(??) tkinter.tix.RADIOBUTTON tkinter.tix.RAISED tkinter.tix.READABLE tkinter.tix.REAL tkinter.tix.RIDGE tkinter.tix.RIGHT tkinter.tix.ROUND tkinter.tix.ROW tkinter.tix.Radiobutton(??) tkinter.tix.ResizeHandle(??) tkinter.tix.S tkinter.tix.SCROLL tkinter.tix.SE tkinter.tix.SEL tkinter.tix.SEL_FIRST tkinter.tix.SEL_LAST tkinter.tix.SEPARATOR tkinter.tix.SINGLE tkinter.tix.SOLID tkinter.tix.STATUS tkinter.tix.SUNKEN tkinter.tix.SW tkinter.tix.S_REGION tkinter.tix.Scale(??) tkinter.tix.Scrollbar(??) tkinter.tix.ScrolledGrid(??) tkinter.tix.ScrolledHList(??) tkinter.tix.ScrolledListBox(??) tkinter.tix.ScrolledTList(??) tkinter.tix.ScrolledText(??) tkinter.tix.ScrolledWindow(??) tkinter.tix.Select(??) tkinter.tix.Shell(??) tkinter.tix.Spinbox(??) tkinter.tix.StdButtonBox(??) tkinter.tix.StringVar(??) tkinter.tix.Studbutton(??) tkinter.tix.TCL_ALL_EVENTS tkinter.tix.TCL_DONT_WAIT tkinter.tix.TCL_FILE_EVENTS tkinter.tix.TCL_IDLE_EVENTS tkinter.tix.TCL_TIMER_EVENTS tkinter.tix.TCL_WINDOW_EVENTS tkinter.tix.TEXT tkinter.tix.TList(??) tkinter.tix.TOP tkinter.tix.TRUE tkinter.tix.Tcl(??) tkinter.tix.TclError(??) tkinter.tix.TclVersion tkinter.tix.Text(??) tkinter.tix.TixSubWidget(??) tkinter.tix.TixWidget(??) tkinter.tix.Tk(??) tkinter.tix.TkVersion tkinter.tix.Toplevel(??) tkinter.tix.Tree(??) tkinter.tix.Tributton(??) tkinter.tix.UNDERLINE tkinter.tix.UNITS tkinter.tix.VERTICAL tkinter.tix.Variable(??) tkinter.tix.W tkinter.tix.WINDOW tkinter.tix.WORD tkinter.tix.WRITABLE tkinter.tix.Widget(??) tkinter.tix.Wm(??) tkinter.tix.X tkinter.tix.XView(??) tkinter.tix.X_REGION tkinter.tix.Y tkinter.tix.YES tkinter.tix.YView(??) tkinter.tix.Y_REGION tkinter.tix.colorchooser(??) tkinter.tix.commondialog(??) tkinter.tix.constants(??) tkinter.tix.dialog(??) tkinter.tix.dnd(??) tkinter.tix.filedialog(??) tkinter.tix.font(??) tkinter.tix.getboolean(??) tkinter.tix.getdouble(??) tkinter.tix.getint(??) tkinter.tix.image_names(??) tkinter.tix.image_types(??) tkinter.tix.mainloop(??) tkinter.tix.messagebox(??) tkinter.tix.os(??) tkinter.tix.re(??) tkinter.tix.scrolledtext(??) tkinter.tix.simpledialog(??) tkinter.tix.sys(??) tkinter.tix.tixCommand(??) tkinter.tix.tkinter(??) tkinter.tix.wantobjects tkinter.tix.warnings(??) tkinter.ttk.Button(??) tkinter.ttk.Checkbutton(??) tkinter.ttk.Combobox(??) tkinter.ttk.Entry(??) tkinter.ttk.Frame(??) tkinter.ttk.Label(??) tkinter.ttk.LabelFrame(??) tkinter.ttk.LabeledScale(??) tkinter.ttk.Labelframe(??) tkinter.ttk.Menubutton(??) tkinter.ttk.Notebook(??) tkinter.ttk.OptionMenu(??) tkinter.ttk.PanedWindow(??) tkinter.ttk.Panedwindow(??) tkinter.ttk.Progressbar(??) tkinter.ttk.Radiobutton(??) tkinter.ttk.Scale(??) tkinter.ttk.Scrollbar(??) tkinter.ttk.Separator(??) tkinter.ttk.Sizegrip(??) tkinter.ttk.Style(??) tkinter.ttk.Treeview(??) tkinter.ttk.Widget(??) tkinter.ttk.setup_master(??) tkinter.ttk.tclobjs_to_py(??) tkinter.ttk.tkinter(??) tkinter.wantobjects tkinter.warnings(??) token.AMPER token.AMPEREQUAL token.AT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.AT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.EXACT_TOKEN_TYPES(??) tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.StringPrefix tokenize.TILDE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.blank_re(??) tokenize.builtins(??) tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.endpats(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(encoding) -> CodecInfo tokenize.main(??) tokenize.maybe(??) tokenize.open(??) tokenize.re(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.triple_quoted(??) tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.dis(??) trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc(??) trace.inspect(??) trace.linecache(??) trace.main(??) trace.modname(??) trace.os(??) trace.pickle(??) trace.re(??) trace.rx_blank(??) trace.sys(??) trace.threading(??) trace.token(??) trace.tokenize(??) trace.usage(??) traceback.clear_frames(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.linecache(??) traceback.operator(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) tracemalloc.Filter(??) tracemalloc.Frame(??) tracemalloc.Sequence(??) tracemalloc.Snapshot(??) tracemalloc.Statistic(??) tracemalloc.StatisticDiff(??) tracemalloc.Trace(??) tracemalloc.Traceback(??) tracemalloc.clear_traces() tracemalloc.fnmatch(??) tracemalloc.get_object_traceback(??) tracemalloc.get_traceback_limit() -> int tracemalloc.get_traced_memory() -> (int, int) tracemalloc.get_tracemalloc_memory() -> int tracemalloc.is_tracing()->bool tracemalloc.linecache(??) tracemalloc.os(??) tracemalloc.pickle(??) tracemalloc.start(nframe: int=1) tracemalloc.stop() tracemalloc.take_snapshot(??) tracemalloc.total_ordering(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.ISIG tty.ISPEED tty.ISTRIP tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSASOFT tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGPGRP tty.TIOCGWINSZ tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSETD tty.TIOCSPGRP tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> empty tuple turtle.Canvas(??) turtle.Pen(??) turtle.RawPen(??) turtle.RawTurtle(??) turtle.Screen(??) turtle.ScrolledCanvas(??) turtle.Shape(??) turtle.TK(??) turtle.TNavigator(??) turtle.TPen(??) turtle.Tbuffer(??) turtle.Terminator(??) turtle.Turtle(??) turtle.TurtleGraphicsError(??) turtle.TurtleScreen(??) turtle.TurtleScreenBase(??) turtle.Vec2D(??) turtle.addshape(??) turtle.back(??) turtle.backward(??) turtle.begin_fill(??) turtle.begin_poly(??) turtle.bgcolor(??) turtle.bgpic(??) turtle.bk(??) turtle.bye(??) turtle.circle(??) turtle.clear(??) turtle.clearscreen(??) turtle.clearstamp(??) turtle.clearstamps(??) turtle.clone(??) turtle.color(??) turtle.colormode(??) turtle.config_dict(??) turtle.deepcopy(??) turtle.defstr turtle.degrees(??) turtle.delay(??) turtle.distance(??) turtle.done(??) turtle.dot(??) turtle.down(??) turtle.end_fill(??) turtle.end_poly(??) turtle.exitonclick(??) turtle.fd(??) turtle.fillcolor(??) turtle.filling(??) turtle.forward(??) turtle.get_poly(??) turtle.get_shapepoly(??) turtle.getcanvas(??) turtle.getmethparlist(??) turtle.getpen(??) turtle.getscreen(??) turtle.getshapes(??) turtle.getturtle(??) turtle.goto(??) turtle.heading(??) turtle.hideturtle(??) turtle.home(??) turtle.ht(??) turtle.inspect(??) turtle.isdown(??) turtle.isfile(??) turtle.isvisible(??) turtle.join(??) turtle.left(??) turtle.listen(??) turtle.lt(??) turtle.mainloop(??) turtle.math(??) turtle.methodname turtle.mode(??) turtle.numinput(??) turtle.onclick(??) turtle.ondrag(??) turtle.onkey(??) turtle.onkeypress(??) turtle.onkeyrelease(??) turtle.onrelease(??) turtle.onscreenclick(??) turtle.ontimer(??) turtle.pd(??) turtle.pen(??) turtle.pencolor(??) turtle.pendown(??) turtle.pensize(??) turtle.penup(??) turtle.pl1 turtle.pl2 turtle.pos(??) turtle.position(??) turtle.pu(??) turtle.radians(??) turtle.read_docstrings(??) turtle.readconfig(??) turtle.register_shape(??) turtle.reset(??) turtle.resetscreen(??) turtle.resizemode(??) turtle.right(??) turtle.rt(??) turtle.screensize(??) turtle.seth(??) turtle.setheading(??) turtle.setpos(??) turtle.setposition(??) turtle.settiltangle(??) turtle.setundobuffer(??) turtle.setup(??) turtle.setworldcoordinates(??) turtle.setx(??) turtle.sety(??) turtle.shape(??) turtle.shapesize(??) turtle.shapetransform(??) turtle.shearfactor(??) turtle.showturtle(??) turtle.simpledialog(??) turtle.speed(??) turtle.split(??) turtle.st(??) turtle.stamp(??) turtle.textinput(??) turtle.tilt(??) turtle.tiltangle(??) turtle.time(??) turtle.title(??) turtle.towards(??) turtle.tracer(??) turtle.turtles(??) turtle.turtlesize(??) turtle.types(??) turtle.undo (repeatedly) the last turtle action. turtle.undobufferentries(??) turtle.up(??) turtle.update(??) turtle.width(??) turtle.window_height(??) turtle.window_width(??) turtle.write(??) turtle.write_docstringdict(??) turtle.xcor(??) turtle.ycor(??) type(object_or_name, bases, dict) types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CodeType(??) types.DynamicClassAttribute(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MappingProxyType(??) types.MemberDescriptorType(??) types.MethodType(??) types.ModuleType(??) types.SimpleNamespace(??) types.TracebackType(??) types.new_class(??) types.prepare_class(??) unicodedata.UCD(??) unicodedata.bidirectional(unichr) unicodedata.category(unichr) unicodedata.combining(unichr) unicodedata.decimal(??) unicodedata.decomposition(unichr) unicodedata.digit(unichr[, default]) unicodedata.east_asian_width(unichr) unicodedata.lookup(name) unicodedata.mirrored(unichr) unicodedata.name(unichr[, default]) unicodedata.normalize(form, unistr) unicodedata.numeric(unichr[, default]) unicodedata.ucd_3_2_0(??) unicodedata.ucnhash_CAPI(??) unicodedata.unidata_version urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.re(??) urllib.parse.scheme_chars urllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.parse.splitnport(??) urllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.parse.splitport('host:port') --> 'host', 'port'. urllib.parse.splitquery('/path?query') --> '/path', 'query'. urllib.parse.splittag('/path#tag') --> '/path', 'tag'. urllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.parse.splitvalue('attr=value') --> 'attr', 'value'. urllib.parse.sys(??) urllib.parse.to_bytes(u"URL") --> 'URL'. urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap('') --> 'type://host/path'. urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.DataHandler(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.collections(??) urllib.request.contextlib(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.getproxies_macosx_sysconf(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.proxy_bypass_macosx_sysconf(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.request.splitport('host:port') --> 'host', 'port'. urllib.request.splitquery('/path?query') --> '/path', 'query'. urllib.request.splittag('/path#tag') --> '/path', 'tag'. urllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.request.splitvalue('attr=value') --> 'attr', 'value'. urllib.request.ssl(??) urllib.request.sys(??) urllib.request.tempfile(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.to_bytes(u"URL") --> 'URL'. urllib.request.unquote(??) urllib.request.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.request.unwrap('') --> 'type://host/path'. urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.request.warnings(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.robotparser.Entry(??) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID(??) uuid.bytes_(??) uuid.ctypes(??) uuid.getnode(??) uuid.int_(??) uuid.lib(??) uuid.libname uuid.os(??) uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary venv.EnvBuilder(??) venv.create(??) venv.logger(??) venv.logging(??) venv.main(??) venv.os(??) venv.shutil(??) venv.subprocess(??) venv.sys(??) venv.sysconfig(??) venv.types(??) warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.audioop(??) wave.builtins(??) wave.namedtuple(??) wave.open(??) wave.openfp(??) wave.struct(??) wave.sys(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakMethod(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.collections(??) weakref.finalize(??) weakref.getweakrefcount(??) weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.itertools(??) weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) weakref.sys(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Chrome(??) webbrowser.Chromium(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.MacOSX(??) webbrowser.MacOSXOSAScript(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex(??) webbrowser.shutil(??) webbrowser.subprocess(??) webbrowser.sys(??) wsgiref.handlers(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.python_implementation(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO([buffer]) -> object xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.struct(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLPullParser(??) xml.etree.ElementTree.contextlib(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.io(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(errno) -> string xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.codecs(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.io(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO([buffer]) -> object xmlrpc.client.DateTime(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.loads(??) xmlrpc.client.socket(??) xmlrpc.client.sys(??) xmlrpc.client.time(??) xmlrpc.client.urllib(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.http(??) xmlrpc.server.inspect(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) xxlimited.Null(??) xxlimited.Str(??) xxlimited.error(??) xxlimited.foo(i,j) xxlimited.new() -> new Xx object xxlimited.roj(a,b) -> None zip(iter1 [,iter2 [...]]) --> zip object zipfile.BZIP2_VERSION zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.DEFAULT_VERSION zipfile.LZMACompressor(??) zipfile.LZMADecompressor(??) zipfile.LZMA_VERSION zipfile.LargeZipFile(??) zipfile.MAX_EXTRACT_VERSION zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP64_VERSION zipfile.ZIP_BZIP2 zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_LZMA zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.bz2(??) zipfile.compressor_names(??) zipfile.crc32(??) zipfile.error(??) zipfile.importlib(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.lzma(??) zipfile.main(??) zipfile.os(??) zipfile.re(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.time(??) zipfile.zlib(??) zipimport.ZipImportError(??) zipimport.zipimporter(archivepath) -> zipimporter object zlib.DEFLATED zlib.DEF_BUF_SIZE zlib.DEF_MEM_LEVEL zlib.MAX_WBITS zlib.ZLIB_RUNTIME_VERSION zlib.ZLIB_VERSION zlib.Z_BEST_COMPRESSION zlib.Z_BEST_SPEED zlib.Z_DEFAULT_COMPRESSION zlib.Z_DEFAULT_STRATEGY zlib.Z_FILTERED zlib.Z_FINISH zlib.Z_FULL_FLUSH zlib.Z_HUFFMAN_ONLY zlib.Z_NO_FLUSH zlib.Z_SYNC_FLUSH zlib.adler32(??) zlib.compress(??) zlib.compressobj(??) zlib.crc32(??) zlib.decompress(??) zlib.decompressobj(??) zlib.error(??) ================================================ FILE: src/qscint/qsci/api/python/Python-3.5.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BlockingIOError(??) BrokenPipeError(??) BufferError(??) BytesWarning(??) ChildProcessError(??) ConnectionAbortedError(??) ConnectionError(??) ConnectionRefusedError(??) ConnectionResetError(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FileExistsError(??) FileNotFoundError(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IN.AF_APPLETALK IN.AF_ATM IN.AF_CCITT IN.AF_CHAOS IN.AF_CNT IN.AF_COIP IN.AF_DATAKIT IN.AF_DECnet IN.AF_DLI IN.AF_E164 IN.AF_ECMA IN.AF_HYLINK IN.AF_IMPLINK IN.AF_INET IN.AF_INET6 IN.AF_IPX IN.AF_ISDN IN.AF_ISO IN.AF_LAT IN.AF_LINK IN.AF_LOCAL IN.AF_MAX IN.AF_NATM IN.AF_NDRV IN.AF_NETBIOS IN.AF_NETGRAPH IN.AF_NS IN.AF_OSI IN.AF_PPP IN.AF_PUP IN.AF_RESERVED_36 IN.AF_ROUTE IN.AF_SIP IN.AF_SNA IN.AF_SYSTEM IN.AF_UNIX IN.AF_UNSPEC IN.CMGROUP_MAX IN.HTONL(??) IN.HTONS(??) IN.ICMP6_FILTER IN.IN6_IS_ADDR_LINKLOCAL(??) IN.IN6_IS_ADDR_LOOPBACK(??) IN.IN6_IS_ADDR_MC_GLOBAL(??) IN.IN6_IS_ADDR_MC_LINKLOCAL(??) IN.IN6_IS_ADDR_MC_NODELOCAL(??) IN.IN6_IS_ADDR_MC_ORGLOCAL(??) IN.IN6_IS_ADDR_MC_SITELOCAL(??) IN.IN6_IS_ADDR_SITELOCAL(??) IN.IN6_IS_ADDR_UNSPECIFIED(??) IN.IN6_IS_ADDR_V4COMPAT(??) IN.IN6_IS_ADDR_V4MAPPED(??) IN.INADDR_NONE IN.INET6_ADDRSTRLEN IN.INET_ADDRSTRLEN IN.INT16_C(??) IN.INT16_MAX IN.INT16_MIN IN.INT32_C(??) IN.INT32_MAX IN.INT32_MIN IN.INT8_C(??) IN.INT8_MAX IN.INT8_MIN IN.INTPTR_MAX IN.INTPTR_MIN IN.INT_FAST16_MAX IN.INT_FAST16_MIN IN.INT_FAST32_MAX IN.INT_FAST32_MIN IN.INT_FAST8_MAX IN.INT_FAST8_MIN IN.INT_LEAST16_MAX IN.INT_LEAST16_MIN IN.INT_LEAST32_MAX IN.INT_LEAST32_MIN IN.INT_LEAST8_MAX IN.INT_LEAST8_MIN IN.IN_BADCLASS(??) IN.IN_CLASSA(??) IN.IN_CLASSA_HOST IN.IN_CLASSA_MAX IN.IN_CLASSA_NET IN.IN_CLASSA_NSHIFT IN.IN_CLASSB(??) IN.IN_CLASSB_HOST IN.IN_CLASSB_MAX IN.IN_CLASSB_NET IN.IN_CLASSB_NSHIFT IN.IN_CLASSC(??) IN.IN_CLASSC_HOST IN.IN_CLASSC_NET IN.IN_CLASSC_NSHIFT IN.IN_CLASSD(??) IN.IN_CLASSD_HOST IN.IN_CLASSD_NET IN.IN_CLASSD_NSHIFT IN.IN_EXPERIMENTAL(??) IN.IN_LINKLOCAL(??) IN.IN_LOOPBACKNET IN.IN_MULTICAST(??) IN.IPCTL_ACCEPTSOURCEROUTE IN.IPCTL_DEFMTU IN.IPCTL_DEFTTL IN.IPCTL_DIRECTEDBROADCAST IN.IPCTL_FASTFORWARDING IN.IPCTL_FORWARDING IN.IPCTL_GIF_TTL IN.IPCTL_INTRQDROPS IN.IPCTL_INTRQMAXLEN IN.IPCTL_KEEPFAITH IN.IPCTL_MAXID IN.IPCTL_RTEXPIRE IN.IPCTL_RTMAXCACHE IN.IPCTL_RTMINEXPIRE IN.IPCTL_SENDREDIRECTS IN.IPCTL_SOURCEROUTE IN.IPCTL_STATS IN.IPPORT_HIFIRSTAUTO IN.IPPORT_HILASTAUTO IN.IPPORT_RESERVED IN.IPPORT_RESERVEDSTART IN.IPPORT_USERRESERVED IN.IPPROTO_3PC IN.IPPROTO_ADFS IN.IPPROTO_AH IN.IPPROTO_AHIP IN.IPPROTO_APES IN.IPPROTO_ARGUS IN.IPPROTO_AX25 IN.IPPROTO_BHA IN.IPPROTO_BLT IN.IPPROTO_BRSATMON IN.IPPROTO_CFTP IN.IPPROTO_CHAOS IN.IPPROTO_CMTP IN.IPPROTO_CPHB IN.IPPROTO_CPNX IN.IPPROTO_DDP IN.IPPROTO_DGP IN.IPPROTO_DIVERT IN.IPPROTO_DONE IN.IPPROTO_DSTOPTS IN.IPPROTO_EGP IN.IPPROTO_EMCON IN.IPPROTO_ENCAP IN.IPPROTO_EON IN.IPPROTO_ESP IN.IPPROTO_ETHERIP IN.IPPROTO_FRAGMENT IN.IPPROTO_GGP IN.IPPROTO_GMTP IN.IPPROTO_GRE IN.IPPROTO_HELLO IN.IPPROTO_HMP IN.IPPROTO_HOPOPTS IN.IPPROTO_ICMP IN.IPPROTO_ICMPV6 IN.IPPROTO_IDP IN.IPPROTO_IDPR IN.IPPROTO_IDRP IN.IPPROTO_IGMP IN.IPPROTO_IGP IN.IPPROTO_IGRP IN.IPPROTO_IL IN.IPPROTO_INLSP IN.IPPROTO_INP IN.IPPROTO_IP IN.IPPROTO_IPCOMP IN.IPPROTO_IPCV IN.IPPROTO_IPEIP IN.IPPROTO_IPIP IN.IPPROTO_IPPC IN.IPPROTO_IPV4 IN.IPPROTO_IPV6 IN.IPPROTO_IRTP IN.IPPROTO_KRYPTOLAN IN.IPPROTO_LARP IN.IPPROTO_LEAF1 IN.IPPROTO_LEAF2 IN.IPPROTO_MAX IN.IPPROTO_MAXID IN.IPPROTO_MEAS IN.IPPROTO_MHRP IN.IPPROTO_MICP IN.IPPROTO_MTP IN.IPPROTO_MUX IN.IPPROTO_ND IN.IPPROTO_NHRP IN.IPPROTO_NONE IN.IPPROTO_NSP IN.IPPROTO_NVPII IN.IPPROTO_OSPFIGP IN.IPPROTO_PGM IN.IPPROTO_PIGP IN.IPPROTO_PIM IN.IPPROTO_PRM IN.IPPROTO_PUP IN.IPPROTO_PVP IN.IPPROTO_RAW IN.IPPROTO_RCCMON IN.IPPROTO_RDP IN.IPPROTO_ROUTING IN.IPPROTO_RSVP IN.IPPROTO_RVD IN.IPPROTO_SATEXPAK IN.IPPROTO_SATMON IN.IPPROTO_SCCSP IN.IPPROTO_SDRP IN.IPPROTO_SEP IN.IPPROTO_SRPC IN.IPPROTO_ST IN.IPPROTO_SVMTP IN.IPPROTO_SWIPE IN.IPPROTO_TCF IN.IPPROTO_TCP IN.IPPROTO_TP IN.IPPROTO_TPXX IN.IPPROTO_TRUNK1 IN.IPPROTO_TRUNK2 IN.IPPROTO_TTP IN.IPPROTO_UDP IN.IPPROTO_VINES IN.IPPROTO_VISA IN.IPPROTO_VMTP IN.IPPROTO_WBEXPAK IN.IPPROTO_WBMON IN.IPPROTO_WSN IN.IPPROTO_XNET IN.IPPROTO_XTP IN.IPV6CTL_ACCEPT_RTADV IN.IPV6CTL_AUTO_FLOWLABEL IN.IPV6CTL_AUTO_LINKLOCAL IN.IPV6CTL_DAD_COUNT IN.IPV6CTL_DEFHLIM IN.IPV6CTL_DEFMCASTHLIM IN.IPV6CTL_DEFMTU IN.IPV6CTL_FORWARDING IN.IPV6CTL_FORWSRCRT IN.IPV6CTL_GIF_HLIM IN.IPV6CTL_HDRNESTLIMIT IN.IPV6CTL_KAME_VERSION IN.IPV6CTL_KEEPFAITH IN.IPV6CTL_LOG_INTERVAL IN.IPV6CTL_MAPPED_ADDR IN.IPV6CTL_MAXFRAGPACKETS IN.IPV6CTL_MAXFRAGS IN.IPV6CTL_MAXID IN.IPV6CTL_MRTPROTO IN.IPV6CTL_MRTSTATS IN.IPV6CTL_RIP6STATS IN.IPV6CTL_RR_PRUNE IN.IPV6CTL_RTEXPIRE IN.IPV6CTL_RTMAXCACHE IN.IPV6CTL_RTMINEXPIRE IN.IPV6CTL_SENDREDIRECTS IN.IPV6CTL_SOURCECHECK IN.IPV6CTL_SOURCECHECK_LOGINT IN.IPV6CTL_STATS IN.IPV6CTL_TEMPPLTIME IN.IPV6CTL_TEMPVLTIME IN.IPV6CTL_USETEMPADDR IN.IPV6CTL_USE_DEPRECATED IN.IPV6CTL_V6ONLY IN.IPV6PORT_ANONMAX IN.IPV6PORT_ANONMIN IN.IPV6PORT_RESERVED IN.IPV6PORT_RESERVEDMAX IN.IPV6PORT_RESERVEDMIN IN.IPV6PROTO_MAXID IN.IPV6_BINDV6ONLY IN.IPV6_CHECKSUM IN.IPV6_DEFAULT_MULTICAST_HOPS IN.IPV6_DEFAULT_MULTICAST_LOOP IN.IPV6_DSTOPTS IN.IPV6_FAITH IN.IPV6_FW_ADD IN.IPV6_FW_DEL IN.IPV6_FW_FLUSH IN.IPV6_FW_GET IN.IPV6_FW_ZERO IN.IPV6_HOPLIMIT IN.IPV6_HOPOPTS IN.IPV6_IPSEC_POLICY IN.IPV6_JOIN_GROUP IN.IPV6_LEAVE_GROUP IN.IPV6_MULTICAST_HOPS IN.IPV6_MULTICAST_IF IN.IPV6_MULTICAST_LOOP IN.IPV6_NEXTHOP IN.IPV6_OPTIONS IN.IPV6_PKTINFO IN.IPV6_PKTOPTIONS IN.IPV6_PORTRANGE IN.IPV6_PORTRANGE_DEFAULT IN.IPV6_PORTRANGE_HIGH IN.IPV6_PORTRANGE_LOW IN.IPV6_RECVDSTADDR IN.IPV6_RECVOPTS IN.IPV6_RECVRETOPTS IN.IPV6_RETOPTS IN.IPV6_RTHDR IN.IPV6_RTHDR_LOOSE IN.IPV6_RTHDR_STRICT IN.IPV6_RTHDR_TYPE_0 IN.IPV6_SOCKOPT_RESERVED1 IN.IPV6_UNICAST_HOPS IN.IPV6_V6ONLY IN.IP_ADD_MEMBERSHIP IN.IP_DEFAULT_MULTICAST_LOOP IN.IP_DEFAULT_MULTICAST_TTL IN.IP_DROP_MEMBERSHIP IN.IP_DUMMYNET_CONFIGURE IN.IP_DUMMYNET_DEL IN.IP_DUMMYNET_FLUSH IN.IP_DUMMYNET_GET IN.IP_FAITH IN.IP_FORCE_OUT_IFP IN.IP_FW_ADD IN.IP_FW_DEL IN.IP_FW_FLUSH IN.IP_FW_GET IN.IP_FW_RESETLOG IN.IP_FW_ZERO IN.IP_HDRINCL IN.IP_IPSEC_POLICY IN.IP_MAX_MEMBERSHIPS IN.IP_MULTICAST_IF IN.IP_MULTICAST_LOOP IN.IP_MULTICAST_TTL IN.IP_MULTICAST_VIF IN.IP_NAT__XXX IN.IP_OLD_FW_ADD IN.IP_OLD_FW_DEL IN.IP_OLD_FW_FLUSH IN.IP_OLD_FW_GET IN.IP_OLD_FW_RESETLOG IN.IP_OLD_FW_ZERO IN.IP_OPTIONS IN.IP_PORTRANGE IN.IP_PORTRANGE_DEFAULT IN.IP_PORTRANGE_HIGH IN.IP_PORTRANGE_LOW IN.IP_RECVDSTADDR IN.IP_RECVIF IN.IP_RECVOPTS IN.IP_RECVRETOPTS IN.IP_RECVTTL IN.IP_RETOPTS IN.IP_RSVP_OFF IN.IP_RSVP_ON IN.IP_RSVP_VIF_OFF IN.IP_RSVP_VIF_ON IN.IP_STRIPHDR IN.IP_TOS IN.IP_TRAFFIC_MGT_BACKGROUND IN.IP_TTL IN.MSG_CTRUNC IN.MSG_DONTROUTE IN.MSG_DONTWAIT IN.MSG_EOF IN.MSG_EOR IN.MSG_FLUSH IN.MSG_HAVEMORE IN.MSG_HOLD IN.MSG_NEEDSA IN.MSG_OOB IN.MSG_PEEK IN.MSG_RCVMORE IN.MSG_SEND IN.MSG_TRUNC IN.MSG_WAITALL IN.MSG_WAITSTREAM IN.NET_MAXID IN.NET_RT_DUMP IN.NET_RT_DUMP2 IN.NET_RT_FLAGS IN.NET_RT_IFLIST IN.NET_RT_IFLIST2 IN.NET_RT_MAXID IN.NET_RT_STAT IN.NET_RT_TRASH IN.NTOHL(??) IN.NTOHS(??) IN.PF_APPLETALK IN.PF_ATM IN.PF_CCITT IN.PF_CHAOS IN.PF_CNT IN.PF_COIP IN.PF_DATAKIT IN.PF_DECnet IN.PF_DLI IN.PF_ECMA IN.PF_HYLINK IN.PF_IMPLINK IN.PF_INET IN.PF_INET6 IN.PF_IPX IN.PF_ISDN IN.PF_ISO IN.PF_KEY IN.PF_LAT IN.PF_LINK IN.PF_LOCAL IN.PF_MAX IN.PF_NATM IN.PF_NDRV IN.PF_NETBIOS IN.PF_NETGRAPH IN.PF_NS IN.PF_OSI IN.PF_PIP IN.PF_PPP IN.PF_PUP IN.PF_RESERVED_36 IN.PF_ROUTE IN.PF_RTIP IN.PF_SIP IN.PF_SNA IN.PF_SYSTEM IN.PF_UNIX IN.PF_UNSPEC IN.PF_XTP IN.PTRDIFF_MAX IN.PTRDIFF_MIN IN.SCM_CREDS IN.SCM_RIGHTS IN.SCM_TIMESTAMP IN.SHUT_RD IN.SHUT_RDWR IN.SHUT_WR IN.SIG_ATOMIC_MAX IN.SIG_ATOMIC_MIN IN.SOCK_DGRAM IN.SOCK_MAXADDRLEN IN.SOCK_RAW IN.SOCK_RDM IN.SOCK_SEQPACKET IN.SOCK_STREAM IN.SOL_SOCKET IN.SOMAXCONN IN.SO_ACCEPTCONN IN.SO_ACCEPTFILTER IN.SO_BROADCAST IN.SO_DEBUG IN.SO_DONTROUTE IN.SO_DONTTRUNC IN.SO_ERROR IN.SO_KEEPALIVE IN.SO_LABEL IN.SO_LINGER IN.SO_LINGER_SEC IN.SO_NKE IN.SO_NOADDRERR IN.SO_NOSIGPIPE IN.SO_NOTIFYCONFLICT IN.SO_NREAD IN.SO_NWRITE IN.SO_OOBINLINE IN.SO_PEERLABEL IN.SO_RCVBUF IN.SO_RCVLOWAT IN.SO_RCVTIMEO IN.SO_RESTRICTIONS IN.SO_RESTRICT_DENYIN IN.SO_RESTRICT_DENYOUT IN.SO_RESTRICT_DENYSET IN.SO_REUSEADDR IN.SO_REUSEPORT IN.SO_REUSESHAREUID IN.SO_SNDBUF IN.SO_SNDLOWAT IN.SO_SNDTIMEO IN.SO_TIMESTAMP IN.SO_TYPE IN.SO_USELOOPBACK IN.SO_WANTMORE IN.SO_WANTOOBFLAG IN.TRAFFIC_MGT_SO_BACKGROUND IN.TRAFFIC_MGT_SO_BG_SUPPRESSED IN.UINT16_MAX IN.UINT8_MAX IN.UINT_FAST16_MAX IN.UINT_FAST8_MAX IN.UINT_LEAST16_MAX IN.UINT_LEAST8_MAX IN.WCHAR_MAX IN.WCHAR_MIN IN.WINT_MAX IN.WINT_MIN IN.htonl(??) IN.htons(??) IN.ntohl(??) IN.ntohs(??) IN.pseudo_AF_HDRCMPLT IN.pseudo_AF_KEY IN.pseudo_AF_PIP IN.pseudo_AF_RTIP IN.pseudo_AF_XTP IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) InterruptedError(??) IsADirectoryError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) NameError(??) None(??) NotADirectoryError(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) PermissionError(??) ProcessLookupError(??) RecursionError(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopAsyncIteration(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) TimeoutError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABC(??) abc.ABCMeta(??) abc.WeakSet(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abc.get_cache_token(??) abs(??) aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.namedtuple(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) aifc.warnings(??) all(??) any(??) argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.MetavarTypeHelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) ascii(??) ast.AST(??) ast.Add(??) ast.And(??) ast.Assert(??) ast.Assign(??) ast.AsyncFor(??) ast.AsyncFunctionDef(??) ast.AsyncWith(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.Await(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FunctionDef(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.MatMult(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NameConstant(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ONLY_AST ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.Try(??) ast.Tuple(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.YieldFrom(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.unaryop(??) ast.walk(??) ast.withitem(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.deque([iterable[, maxlen]]) --> deque object asynchat.fifo(??) asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asyncio.ALL_COMPLETED asyncio.AbstractChildWatcher(??) asyncio.AbstractEventLoop(??) asyncio.AbstractEventLoopPolicy(??) asyncio.AbstractServer(??) asyncio.BaseEventLoop(??) asyncio.BaseProtocol(??) asyncio.BaseTransport(??) asyncio.BoundedSemaphore(??) asyncio.CancelledError(??) asyncio.Condition(??) asyncio.DatagramProtocol(??) asyncio.DatagramTransport(??) asyncio.DefaultEventLoopPolicy(??) asyncio.Event(??) asyncio.FIRST_COMPLETED asyncio.FIRST_EXCEPTION asyncio.FastChildWatcher(??) asyncio.Future(??) asyncio.Handle(??) asyncio.IncompleteReadError(??) asyncio.InvalidStateError(??) asyncio.LifoQueue(??) asyncio.Lock(??) asyncio.PriorityQueue(??) asyncio.Protocol(??) asyncio.Queue(??) asyncio.QueueEmpty(??) asyncio.QueueFull(??) asyncio.ReadTransport(??) asyncio.SafeChildWatcher(??) asyncio.SelectorEventLoop(??) asyncio.Semaphore(??) asyncio.StreamReader(??) asyncio.StreamReaderProtocol(??) asyncio.StreamWriter(??) asyncio.SubprocessProtocol(??) asyncio.SubprocessTransport(??) asyncio.Task(??) asyncio.TimeoutError(??) asyncio.TimerHandle(??) asyncio.Transport(??) asyncio.WriteTransport(??) asyncio.as_completed(??) asyncio.async(??) asyncio.base_events(??) asyncio.base_events.BaseEventLoop(??) asyncio.base_events.Server(??) asyncio.base_events.collections(??) asyncio.base_events.compat(??) asyncio.base_events.concurrent(??) asyncio.base_events.coroutine(??) asyncio.base_events.coroutines(??) asyncio.base_events.events(??) asyncio.base_events.futures(??) asyncio.base_events.heapq(??) asyncio.base_events.inspect(??) asyncio.base_events.logger(??) asyncio.base_events.logging(??) asyncio.base_events.os(??) asyncio.base_events.socket(??) asyncio.base_events.subprocess(??) asyncio.base_events.sys(??) asyncio.base_events.tasks(??) asyncio.base_events.threading(??) asyncio.base_events.time(??) asyncio.base_events.traceback(??) asyncio.base_events.warnings(??) asyncio.base_subprocess(??) asyncio.base_subprocess.BaseSubprocessTransport(??) asyncio.base_subprocess.ReadSubprocessPipeProto(??) asyncio.base_subprocess.WriteSubprocessPipeProto(??) asyncio.base_subprocess.collections(??) asyncio.base_subprocess.compat(??) asyncio.base_subprocess.coroutine(??) asyncio.base_subprocess.futures(??) asyncio.base_subprocess.logger(??) asyncio.base_subprocess.protocols(??) asyncio.base_subprocess.subprocess(??) asyncio.base_subprocess.transports(??) asyncio.base_subprocess.warnings(??) asyncio.compat(??) asyncio.compat.PY34(??) asyncio.compat.PY35(??) asyncio.compat.flatten_list_bytes(??) asyncio.compat.sys(??) asyncio.constants(??) asyncio.constants.ACCEPT_RETRY_DELAY asyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES asyncio.coroutine(??) asyncio.coroutines(??) asyncio.coroutines.CoroWrapper(??) asyncio.coroutines.compat(??) asyncio.coroutines.coroutine(??) asyncio.coroutines.debug_wrapper(??) asyncio.coroutines.events(??) asyncio.coroutines.functools(??) asyncio.coroutines.futures(??) asyncio.coroutines.inspect(??) asyncio.coroutines.iscoroutine(??) asyncio.coroutines.iscoroutinefunction(??) asyncio.coroutines.logger(??) asyncio.coroutines.opcode(??) asyncio.coroutines.os(??) asyncio.coroutines.sys(??) asyncio.coroutines.traceback(??) asyncio.coroutines.types(??) asyncio.create_subprocess_exec(??) asyncio.create_subprocess_shell(??) asyncio.ensure_future(??) asyncio.events(??) asyncio.events.AbstractEventLoop(??) asyncio.events.AbstractEventLoopPolicy(??) asyncio.events.AbstractServer(??) asyncio.events.BaseDefaultEventLoopPolicy(??) asyncio.events.Handle(??) asyncio.events.TimerHandle(??) asyncio.events.compat(??) asyncio.events.functools(??) asyncio.events.get_child_watcher(??) asyncio.events.get_event_loop(??) asyncio.events.get_event_loop_policy(??) asyncio.events.inspect(??) asyncio.events.new_event_loop(??) asyncio.events.reprlib(??) asyncio.events.set_child_watcher(??) asyncio.events.set_event_loop(??) asyncio.events.set_event_loop_policy(??) asyncio.events.socket(??) asyncio.events.subprocess(??) asyncio.events.sys(??) asyncio.events.threading(??) asyncio.events.traceback(??) asyncio.futures(??) asyncio.futures.CancelledError(??) asyncio.futures.Error(??) asyncio.futures.Future(??) asyncio.futures.InvalidStateError(??) asyncio.futures.STACK_DEBUG asyncio.futures.TimeoutError(??) asyncio.futures.compat(??) asyncio.futures.concurrent(??) asyncio.futures.events(??) asyncio.futures.logging(??) asyncio.futures.reprlib(??) asyncio.futures.sys(??) asyncio.futures.traceback(??) asyncio.futures.wrap_future(??) asyncio.gather(??) asyncio.get_child_watcher(??) asyncio.get_event_loop(??) asyncio.get_event_loop_policy(??) asyncio.iscoroutine(??) asyncio.iscoroutinefunction(??) asyncio.locks(??) asyncio.locks.BoundedSemaphore(??) asyncio.locks.Condition(??) asyncio.locks.Event(??) asyncio.locks.Lock(??) asyncio.locks.Semaphore(??) asyncio.locks.collections(??) asyncio.locks.compat(??) asyncio.locks.coroutine(??) asyncio.locks.events(??) asyncio.locks.futures(??) asyncio.log(??) asyncio.log.logger(??) asyncio.log.logging(??) asyncio.new_event_loop(??) asyncio.open_connection(??) asyncio.open_unix_connection(??) asyncio.proactor_events.BaseProactorEventLoop(??) asyncio.proactor_events.base_events(??) asyncio.proactor_events.compat(??) asyncio.proactor_events.constants(??) asyncio.proactor_events.futures(??) asyncio.proactor_events.logger(??) asyncio.proactor_events.socket(??) asyncio.proactor_events.sslproto(??) asyncio.proactor_events.transports(??) asyncio.proactor_events.warnings(??) asyncio.protocols(??) asyncio.protocols.BaseProtocol(??) asyncio.protocols.DatagramProtocol(??) asyncio.protocols.Protocol(??) asyncio.protocols.SubprocessProtocol(??) asyncio.queues(??) asyncio.queues.LifoQueue(??) asyncio.queues.PriorityQueue(??) asyncio.queues.Queue(??) asyncio.queues.QueueEmpty(??) asyncio.queues.QueueFull(??) asyncio.queues.collections(??) asyncio.queues.compat(??) asyncio.queues.coroutine(??) asyncio.queues.events(??) asyncio.queues.futures(??) asyncio.queues.heapq(??) asyncio.queues.locks(??) asyncio.selector_events(??) asyncio.selector_events.BaseSelectorEventLoop(??) asyncio.selector_events.base_events(??) asyncio.selector_events.collections(??) asyncio.selector_events.compat(??) asyncio.selector_events.constants(??) asyncio.selector_events.coroutine(??) asyncio.selector_events.errno(??) asyncio.selector_events.events(??) asyncio.selector_events.functools(??) asyncio.selector_events.futures(??) asyncio.selector_events.logger(??) asyncio.selector_events.selectors(??) asyncio.selector_events.socket(??) asyncio.selector_events.ssl(??) asyncio.selector_events.sslproto(??) asyncio.selector_events.transports(??) asyncio.selector_events.warnings(??) asyncio.selectors(??) asyncio.set_child_watcher(??) asyncio.set_event_loop(??) asyncio.set_event_loop_policy(??) asyncio.shield(??) asyncio.sleep(??) asyncio.sslproto(??) asyncio.sslproto.SSLProtocol(??) asyncio.sslproto.collections(??) asyncio.sslproto.compat(??) asyncio.sslproto.logger(??) asyncio.sslproto.protocols(??) asyncio.sslproto.ssl(??) asyncio.sslproto.transports(??) asyncio.sslproto.warnings(??) asyncio.start_server(??) asyncio.start_unix_server(??) asyncio.streams(??) asyncio.streams.FlowControlMixin(??) asyncio.streams.IncompleteReadError(??) asyncio.streams.StreamReader(??) asyncio.streams.StreamReaderProtocol(??) asyncio.streams.StreamWriter(??) asyncio.streams.compat(??) asyncio.streams.coroutine(??) asyncio.streams.coroutines(??) asyncio.streams.events(??) asyncio.streams.futures(??) asyncio.streams.logger(??) asyncio.streams.open_connection(??) asyncio.streams.open_unix_connection(??) asyncio.streams.protocols(??) asyncio.streams.socket(??) asyncio.streams.start_server(??) asyncio.streams.start_unix_server(??) asyncio.subprocess(??) asyncio.subprocess.DEVNULL asyncio.subprocess.PIPE asyncio.subprocess.Process(??) asyncio.subprocess.STDOUT asyncio.subprocess.SubprocessStreamProtocol(??) asyncio.subprocess.coroutine(??) asyncio.subprocess.create_subprocess_exec(??) asyncio.subprocess.create_subprocess_shell(??) asyncio.subprocess.events(??) asyncio.subprocess.logger(??) asyncio.subprocess.protocols(??) asyncio.subprocess.streams(??) asyncio.subprocess.subprocess(??) asyncio.subprocess.tasks(??) asyncio.sys(??) asyncio.tasks(??) asyncio.tasks.ALL_COMPLETED asyncio.tasks.FIRST_COMPLETED asyncio.tasks.FIRST_EXCEPTION asyncio.tasks.Task(??) asyncio.tasks.as_completed(??) asyncio.tasks.async(??) asyncio.tasks.compat(??) asyncio.tasks.concurrent(??) asyncio.tasks.coroutine(??) asyncio.tasks.coroutines(??) asyncio.tasks.ensure_future(??) asyncio.tasks.events(??) asyncio.tasks.functools(??) asyncio.tasks.futures(??) asyncio.tasks.gather(??) asyncio.tasks.inspect(??) asyncio.tasks.linecache(??) asyncio.tasks.shield(??) asyncio.tasks.sleep(??) asyncio.tasks.traceback(??) asyncio.tasks.wait(??) asyncio.tasks.wait_for(??) asyncio.tasks.warnings(??) asyncio.tasks.weakref(??) asyncio.test_utils.HTTPServer(??) asyncio.test_utils.MockCallback(??) asyncio.test_utils.MockPattern(??) asyncio.test_utils.SSLWSGIServer(??) asyncio.test_utils.SSLWSGIServerMixin(??) asyncio.test_utils.SilentUnixWSGIServer(??) asyncio.test_utils.SilentWSGIRequestHandler(??) asyncio.test_utils.SilentWSGIServer(??) asyncio.test_utils.TestCase(??) asyncio.test_utils.TestLoop(??) asyncio.test_utils.TestSelector(??) asyncio.test_utils.UnixHTTPServer(??) asyncio.test_utils.UnixSSLWSGIServer(??) asyncio.test_utils.UnixWSGIServer(??) asyncio.test_utils.WSGIRequestHandler(??) asyncio.test_utils.WSGIServer(??) asyncio.test_utils.base_events(??) asyncio.test_utils.collections(??) asyncio.test_utils.contextlib(??) asyncio.test_utils.coroutine(??) asyncio.test_utils.disable_logger(??) asyncio.test_utils.dummy_ssl_context(??) asyncio.test_utils.events(??) asyncio.test_utils.force_legacy_ssl_support(??) asyncio.test_utils.futures(??) asyncio.test_utils.gen_unix_socket_path(??) asyncio.test_utils.get_function_source(??) asyncio.test_utils.io(??) asyncio.test_utils.logger(??) asyncio.test_utils.logging(??) asyncio.test_utils.make_test_protocol(??) asyncio.test_utils.mock(??) asyncio.test_utils.mock_nonblocking_socket(??) asyncio.test_utils.os(??) asyncio.test_utils.re(??) asyncio.test_utils.run_briefly(??) asyncio.test_utils.run_once(??) asyncio.test_utils.run_test_server(??) asyncio.test_utils.run_test_unix_server(??) asyncio.test_utils.run_until(??) asyncio.test_utils.selectors(??) asyncio.test_utils.socket(??) asyncio.test_utils.socketpair([family[, type[, proto]]]) -> (socket object, socket object) asyncio.test_utils.socketserver(??) asyncio.test_utils.ssl(??) asyncio.test_utils.sys(??) asyncio.test_utils.tasks(??) asyncio.test_utils.tempfile(??) asyncio.test_utils.threading(??) asyncio.test_utils.time(??) asyncio.test_utils.unittest(??) asyncio.test_utils.unix_socket_path(??) asyncio.transports(??) asyncio.transports.BaseTransport(??) asyncio.transports.DatagramTransport(??) asyncio.transports.ReadTransport(??) asyncio.transports.SubprocessTransport(??) asyncio.transports.Transport(??) asyncio.transports.WriteTransport(??) asyncio.transports.compat(??) asyncio.unix_events(??) asyncio.unix_events.AbstractChildWatcher(??) asyncio.unix_events.BaseChildWatcher(??) asyncio.unix_events.DefaultEventLoopPolicy(??) asyncio.unix_events.FastChildWatcher(??) asyncio.unix_events.SafeChildWatcher(??) asyncio.unix_events.SelectorEventLoop(??) asyncio.unix_events.base_events(??) asyncio.unix_events.base_subprocess(??) asyncio.unix_events.compat(??) asyncio.unix_events.constants(??) asyncio.unix_events.coroutine(??) asyncio.unix_events.coroutines(??) asyncio.unix_events.errno(??) asyncio.unix_events.events(??) asyncio.unix_events.futures(??) asyncio.unix_events.logger(??) asyncio.unix_events.os(??) asyncio.unix_events.selector_events(??) asyncio.unix_events.selectors(??) asyncio.unix_events.signal(??) asyncio.unix_events.socket(??) asyncio.unix_events.stat(??) asyncio.unix_events.subprocess(??) asyncio.unix_events.sys(??) asyncio.unix_events.threading(??) asyncio.unix_events.transports(??) asyncio.unix_events.warnings(??) asyncio.wait(??) asyncio.wait_for(??) asyncio.wrap_future(??) asyncore.EAGAIN asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.EPIPE asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None base64.MAXBINSIZE base64.MAXLINESIZE base64.a85decode(??) base64.a85encode(??) base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.b85decode(??) base64.b85encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.CO_GENERATOR bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BlockingIOError(??) builtins.BrokenPipeError(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.ChildProcessError(??) builtins.ConnectionAbortedError(??) builtins.ConnectionError(??) builtins.ConnectionRefusedError(??) builtins.ConnectionResetError(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FileExistsError(??) builtins.FileNotFoundError(??) builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.InterruptedError(??) builtins.IsADirectoryError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.NameError(??) builtins.None builtins.NotADirectoryError(??) builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.PermissionError(??) builtins.ProcessLookupError(??) builtins.RecursionError(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopAsyncIteration(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.TimeoutError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(??) builtins.all(??) builtins.any(??) builtins.ascii(??) builtins.bin(??) builtins.bool(x) -> bool builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(??) builtins.chr(??) builtins.classmethod(function) -> method builtins.compile(??) builtins.complex(real[, imag]) -> complex number builtins.copyright(??) builtins.credits(??) builtins.delattr(??) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(??) builtins.enumerate(iterable[, start]) -> iterator for index, value of iterable builtins.eval(??) builtins.exec(??) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(x) -> floating point number builtins.format(??) builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals(??) builtins.hasattr(??) builtins.hash(??) builtins.help(??) builtins.hex(??) builtins.id(??) builtins.input(??) builtins.int(x=0) -> integer builtins.isinstance(??) builtins.issubclass(??) builtins.iter(iterable) -> iterator builtins.len(??) builtins.license(??) builtins.list() -> new empty list builtins.locals(??) builtins.map(func, *iterables) --> map object builtins.max(iterable, *[, default=obj, key=func]) -> value builtins.memoryview(??) builtins.min(iterable, *[, default=obj, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(??) builtins.open(??) builtins.ord(??) builtins.pow(??) builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) builtins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute builtins.quit(??) builtins.range(stop) -> range object builtins.repr(??) builtins.reversed(sequence) -> reverse iterator over values of the sequence builtins.round(number[, ndigits]) -> number builtins.set() -> new empty set object builtins.setattr(??) builtins.slice(stop) builtins.sorted(??) builtins.staticmethod(function) -> method builtins.str(object='') -> str builtins.sum(??) builtins.super() -> same as super(__class__, ) builtins.tuple() -> empty tuple builtins.type(object_or_name, bases, dict) builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor(??) bz2.BZ2Decompressor(??) bz2.BZ2File(??) bz2.RLock(??) bz2.compress(??) bz2.decompress(??) bz2.io(??) bz2.open(??) bz2.warnings(??) cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(??) cgi.BytesIO(??) cgi.FeedParser(??) cgi.FieldStorage(??) cgi.Mapping(??) cgi.Message(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.closelog(??) cgi.dolog(??) cgi.escape(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgi.warn(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) chr(??) chunk.Chunk(??) classmethod(function) -> method cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.argparse(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(??) codecs.encode(??) codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(??) codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.namereplace_errors(??) codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(??) codecs.register_error(??) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.unicode_internal_decode(??) codecs.unicode_internal_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.AsyncIterable(??) collections.AsyncIterator(??) collections.Awaitable(??) collections.ByteString(??) collections.Callable(??) collections.ChainMap(??) collections.Container(??) collections.Coroutine(??) collections.Counter(??) collections.Generator(??) collections.Hashable(??) collections.ItemsView(??) collections.Iterable(??) collections.Iterator(??) collections.KeysView(??) collections.Mapping(??) collections.MappingView(??) collections.MutableMapping(??) collections.MutableSequence(??) collections.MutableSet(??) collections.OrderedDict(??) collections.Sequence(??) collections.Set(??) collections.Sized(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.ValuesView(??) collections.abc(??) collections.abc.AsyncIterable(??) collections.abc.AsyncIterator(??) collections.abc.Awaitable(??) collections.abc.ByteString(??) collections.abc.Callable(??) collections.abc.Container(??) collections.abc.Coroutine(??) collections.abc.Generator(??) collections.abc.Hashable(??) collections.abc.ItemsView(??) collections.abc.Iterable(??) collections.abc.Iterator(??) collections.abc.KeysView(??) collections.abc.Mapping(??) collections.abc.MappingView(??) collections.abc.MutableMapping(??) collections.abc.MutableSequence(??) collections.abc.MutableSet(??) collections.abc.Sequence(??) collections.abc.Set(??) collections.abc.Sized(??) collections.abc.ValuesView(??) collections.defaultdict(default_factory[, ...]) --> dict with default factory collections.deque([iterable[, maxlen]]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(??) compileall.ProcessPoolExecutor(??) compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.importlib(??) compileall.main(??) compileall.os(??) compileall.partial(func, *args, **keywords) - new function with partial application compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(real[, imag]) -> complex number concurrent.futures(??) concurrent.futures.ALL_COMPLETED concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process(??) concurrent.futures.process.BrokenProcessPool(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.Full(??) concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.SimpleQueue(??) concurrent.futures.process.atexit(??) concurrent.futures.process.itertools(??) concurrent.futures.process.multiprocessing(??) concurrent.futures.process.os(??) concurrent.futures.process.partial(func, *args, **keywords) - new function with partial application concurrent.futures.process.queue(??) concurrent.futures.process.threading(??) concurrent.futures.process.traceback(??) concurrent.futures.process.wait(??) concurrent.futures.process.weakref(??) concurrent.futures.thread(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.atexit(??) concurrent.futures.thread.os(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.ConverterMapping(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.ContextDecorator(??) contextlib.ExitStack(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.deque([iterable[, maxlen]]) --> deque object contextlib.redirect_stderr(??) contextlib.redirect_stdout(??) contextlib.suppress(??) contextlib.sys(??) contextlib.wraps(??) copy.Error(??) copy.PyStringMap(??) copy.builtins(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copy.name copy.t(??) copy.weakref(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.METHOD_CRYPT(??) crypt.METHOD_MD5(??) crypt.METHOD_SHA256(??) crypt.METHOD_SHA512(??) crypt.crypt(??) crypt.methods(??) crypt.mksalt(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable, r) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.islice(iterable, stop) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables, repeat=1) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util.contextlib(??) ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.subprocess(??) ctypes.util.sys(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.newpad(??) curses.newwin(??) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.unget_wch(??) curses.ungetch(??) curses.ungetmouse(??) curses.update_lines_cols(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.wrapper(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(??) dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.FloatOperation(??) decimal.HAVE_THREADS(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.MAX_EMAX decimal.MAX_PREC decimal.MIN_EMIN decimal.MIN_ETINY decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(??) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.diff_bytes(??) difflib.get_close_matches(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dis.Bytecode(??) dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.HAVE_ARGUMENT dis.Instruction(??) dis.cmp_op(??) dis.code_info(??) dis.collections(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.get_instructions(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.hasnargs(??) dis.io(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.stack_effect(??) dis.sys(??) dis.types(??) divmod(??) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.FAIL_FAST doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.argparse(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) dummy_threading.Barrier(??) dummy_threading.BoundedSemaphore(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.Thread(??) dummy_threading.ThreadError(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.local(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.contentmanager.ContentManager(??) email.contentmanager.binascii(??) email.contentmanager.email(??) email.contentmanager.get_and_fixup_unknown_message_content(??) email.contentmanager.get_message_content(??) email.contentmanager.get_non_text_content(??) email.contentmanager.get_text_content(??) email.contentmanager.maintype email.contentmanager.quoprimime(??) email.contentmanager.raw_data_manager(??) email.contentmanager.set_bytes_content(??) email.contentmanager.set_message_content(??) email.contentmanager.set_text_content(??) email.contentmanager.subtype email.contentmanager.typ(??) email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.CloseBoundaryNotFoundDefect(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderDefect(??) email.errors.HeaderMissingRequiredValue(??) email.errors.HeaderParseError(??) email.errors.InvalidBase64CharactersDefect(??) email.errors.InvalidBase64PaddingDefect(??) email.errors.InvalidHeaderDefect(??) email.errors.InvalidMultipartContentTransferEncodingDefect(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MissingHeaderBodySeparatorDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.NonASCIILocalPartDefect(??) email.errors.NonPrintableDefect(??) email.errors.ObsoleteHeaderDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.errors.UndecodableBytesDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.compat32(??) email.feedparser.deque([iterable[, maxlen]]) --> deque object email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.message(??) email.feedparser.re(??) email.generator.BytesGenerator(??) email.generator.BytesIO(??) email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.NL email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.deepcopy(??) email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.FWS email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.headerregistry.Address(??) email.headerregistry.AddressHeader(??) email.headerregistry.BaseHeader(??) email.headerregistry.ContentDispositionHeader(??) email.headerregistry.ContentTransferEncodingHeader(??) email.headerregistry.ContentTypeHeader(??) email.headerregistry.DateHeader(??) email.headerregistry.Group(??) email.headerregistry.HeaderRegistry(??) email.headerregistry.MIMEVersionHeader(??) email.headerregistry.MappingProxyType(??) email.headerregistry.ParameterizedMIMEHeader(??) email.headerregistry.SingleAddressHeader(??) email.headerregistry.UniqueAddressHeader(??) email.headerregistry.UniqueDateHeader(??) email.headerregistry.UniqueSingleAddressHeader(??) email.headerregistry.UniqueUnstructuredHeader(??) email.headerregistry.UnstructuredHeader(??) email.headerregistry.errors(??) email.headerregistry.parser(??) email.headerregistry.utils(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO(??) email.message.Charset(??) email.message.EmailMessage(??) email.message.MIMEPart(??) email.message.Message(??) email.message.SEMISPACE email.message.StringIO(??) email.message.compat32(??) email.message.decode_b(??) email.message.errors(??) email.message.quopri(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message.warnings(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio.BytesIO(??) email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base.MIMEBase(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text.Charset(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.parser(??) email.parser.BytesFeedParser(??) email.parser.BytesHeaderParser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.compat32(??) email.policy.Compat32(??) email.policy.EmailPolicy(??) email.policy.HTTP(??) email.policy.HeaderRegistry(??) email.policy.Policy(??) email.policy.SMTP(??) email.policy.SMTPUTF8(??) email.policy.compat32(??) email.policy.default(??) email.policy.raw_data_manager(??) email.policy.strict(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.Charset(??) email.utils.EMPTYSTRING email.utils.TICK email.utils.UEMPTYSTRING email.utils.collapse_rfc2231_value(??) email.utils.datetime(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.format_datetime(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.localtime(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_to_datetime(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) ensurepip.bootstrap(??) ensurepip.os(??) ensurepip.pkgutil(??) ensurepip.ssl(??) ensurepip.sys(??) ensurepip.tempfile(??) ensurepip.version(??) enum.DynamicClassAttribute(??) enum.Enum(??) enum.EnumMeta(??) enum.IntEnum(??) enum.MappingProxyType(??) enum.OrderedDict(??) enum.sys(??) enum.unique(??) enumerate(iterable[, start]) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EAUTH errno.EBADARCH errno.EBADEXEC errno.EBADF errno.EBADMACHO errno.EBADMSG errno.EBADRPC errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDESTADDRREQ errno.EDEVERR errno.EDOM errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EFTYPE errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENEEDAUTH errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOATTR errno.ENOBUFS errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENOPOLICY errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROCLIM errno.EPROCUNAVAIL errno.EPROGMISMATCH errno.EPROGUNAVAIL errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.EPWROFF errno.ERANGE errno.EREMOTE errno.EROFS errno.ERPCMISMATCH errno.ESHLIBVERS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESTALE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.errorcode(??) eval(??) exec(??) exit(??) faulthandler.cancel_dump_traceback_later(): faulthandler.disable(): disable the fault handler faulthandler.dump_traceback(file=sys.stderr, all_threads=True): dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False): faulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler faulthandler.is_enabled()->bool: check if the handler is enabled faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False): register an handler for the signal 'signum': dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register() filecmp.BUFSIZE filecmp.DEFAULT_IGNORES(??) filecmp.clear_cache(??) filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(function or None, sequence) --> filterfalse object filecmp.os(??) filecmp.stat(??) fileinput.DEFAULT_BUFSIZE fileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]]) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(??) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(??) formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) formatter.warnings(??) fractions.Decimal(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MAXLINE ftplib.MSG_OOB ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.os(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) ftplib.warnings(??) functools.MappingProxyType(??) functools.RLock(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.WeakKeyDictionary(??) functools.cmp_to_key(??) functools.get_cache_token(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.partialmethod(??) functools.reduce(function, sequence[, initial]) -> value functools.singledispatch(??) functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.callbacks(??) gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage(??) gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_stats() -> [...] gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.is_tracked(obj) -> bool gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.samefile(??) genericpath.sameopenfile(??) genericpath.samestat(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.contextlib(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.io(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy(??) gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.io(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.os(??) gettext.re(??) gettext.struct(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.escape(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.glob2(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) globals(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.open(??) gzip.os(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(??) hash(??) hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.pbkdf2_hmac(??) hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha512(??) heapq.heapify(??) heapq.heappop(??) heapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. heapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item heapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item. heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) help(??) hex(??) hmac.HMAC(??) hmac.compare_digest(a, b) -> bool hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities(??) html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.html5(??) html.entities.name2codepoint(??) html.escape(??) html.parser.HTMLParser(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_normal(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind_tolerant(??) html.parser.unescape(??) html.parser.warnings(??) html.unescape(??) http.HTTPStatus(??) http.IntEnum(??) http.client(??) http.client.ACCEPTED(??) http.client.ALREADY_REPORTED(??) http.client.BAD_GATEWAY(??) http.client.BAD_REQUEST(??) http.client.BadStatusLine(??) http.client.CONFLICT(??) http.client.CONTINUE(??) http.client.CREATED(??) http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED(??) http.client.FAILED_DEPENDENCY(??) http.client.FORBIDDEN(??) http.client.FOUND(??) http.client.GATEWAY_TIMEOUT(??) http.client.GONE(??) http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED(??) http.client.IM_USED(??) http.client.INSUFFICIENT_STORAGE(??) http.client.INTERNAL_SERVER_ERROR(??) http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED(??) http.client.LOCKED(??) http.client.LOOP_DETECTED(??) http.client.LineTooLong(??) http.client.MAXAMOUNT http.client.METHOD_NOT_ALLOWED(??) http.client.MOVED_PERMANENTLY(??) http.client.MULTIPLE_CHOICES(??) http.client.MULTI_STATUS(??) http.client.NETWORK_AUTHENTICATION_REQUIRED(??) http.client.NON_AUTHORITATIVE_INFORMATION(??) http.client.NOT_ACCEPTABLE(??) http.client.NOT_EXTENDED(??) http.client.NOT_FOUND(??) http.client.NOT_IMPLEMENTED(??) http.client.NOT_MODIFIED(??) http.client.NO_CONTENT(??) http.client.NotConnected(??) http.client.OK(??) http.client.PARTIAL_CONTENT(??) http.client.PAYMENT_REQUIRED(??) http.client.PERMANENT_REDIRECT(??) http.client.PRECONDITION_FAILED(??) http.client.PRECONDITION_REQUIRED(??) http.client.PROCESSING(??) http.client.PROXY_AUTHENTICATION_REQUIRED(??) http.client.REQUESTED_RANGE_NOT_SATISFIABLE(??) http.client.REQUEST_ENTITY_TOO_LARGE(??) http.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??) http.client.REQUEST_TIMEOUT(??) http.client.REQUEST_URI_TOO_LONG(??) http.client.RESET_CONTENT(??) http.client.RemoteDisconnected(??) http.client.ResponseNotReady(??) http.client.SEE_OTHER(??) http.client.SERVICE_UNAVAILABLE(??) http.client.SWITCHING_PROTOCOLS(??) http.client.TEMPORARY_REDIRECT(??) http.client.TOO_MANY_REQUESTS(??) http.client.UNAUTHORIZED(??) http.client.UNPROCESSABLE_ENTITY(??) http.client.UNSUPPORTED_MEDIA_TYPE(??) http.client.UPGRADE_REQUIRED(??) http.client.USE_PROXY(??) http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.VARIANT_ALSO_NEGOTIATES(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.http(??) http.client.io(??) http.client.os(??) http.client.parse_headers(??) http.client.re(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.datetime(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.server(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.HTTPStatus(??) http.server.SimpleHTTPRequestHandler(??) http.server.argparse(??) http.server.copy(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(??) imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.DEFAULT_BUFFER_SIZE imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.Months(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.calendar(??) imaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imaplib.timedelta(??) imaplib.timezone(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exr(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_webp(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.SourcelessFileLoader(??) imp.acquire_lock(??) imp.cache_from_source(??) imp.create_dynamic(??) imp.find_module(??) imp.get_frozen_object(??) imp.get_magic(??) imp.get_suffixes(??) imp.get_tag(??) imp.importlib(??) imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(??) imp.load_package(??) imp.load_source(??) imp.lock_held(??) imp.machinery(??) imp.new_module(??) imp.os(??) imp.release_lock(??) imp.reload(??) imp.source_from_cache(??) imp.sys(??) imp.tokenize(??) imp.types(??) imp.util(??) imp.warnings(??) importlib.abc(??) importlib.abc.ExecutionLoader(??) importlib.abc.FileLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.MetaPathFinder(??) importlib.abc.PathEntryFinder(??) importlib.abc.ResourceLoader(??) importlib.abc.SourceLoader(??) importlib.abc.abc(??) importlib.abc.machinery(??) importlib.find_loader(??) importlib.import_module(??) importlib.invalidate_caches(??) importlib.machinery(??) importlib.machinery.BYTECODE_SUFFIXES(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.DEBUG_BYTECODE_SUFFIXES(??) importlib.machinery.EXTENSION_SUFFIXES(??) importlib.machinery.ExtensionFileLoader(??) importlib.machinery.FileFinder(??) importlib.machinery.FrozenImporter(??) importlib.machinery.ModuleSpec(??) importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??) importlib.machinery.PathFinder(??) importlib.machinery.SOURCE_SUFFIXES(??) importlib.machinery.SourceFileLoader(??) importlib.machinery.SourcelessFileLoader(??) importlib.machinery.WindowsRegistryFinder(??) importlib.machinery.all_suffixes(??) importlib.reload(??) importlib.sys(??) importlib.types(??) importlib.util(??) importlib.util.LazyLoader(??) importlib.util.MAGIC_NUMBER importlib.util.abc(??) importlib.util.cache_from_source(??) importlib.util.contextmanager(??) importlib.util.decode_source(??) importlib.util.find_spec(??) importlib.util.functools(??) importlib.util.module_for_loader(??) importlib.util.module_from_spec(??) importlib.util.resolve_name(??) importlib.util.set_loader(??) importlib.util.set_package(??) importlib.util.source_from_cache(??) importlib.util.spec_from_file_location(??) importlib.util.spec_from_loader(??) importlib.util.sys(??) importlib.util.types(??) importlib.util.warnings(??) importlib.warnings(??) input(??) inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.BoundArguments(??) inspect.CORO_CLOSED inspect.CORO_CREATED inspect.CORO_RUNNING inspect.CORO_SUSPENDED inspect.CO_COROUTINE inspect.CO_GENERATOR inspect.CO_ITERABLE_COROUTINE inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.ClosureVars(nonlocals, globals, builtins, unbound) inspect.EndOfBlock(??) inspect.FrameInfo(frame, filename, lineno, function, code_context, index) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.ModuleInfo(name, suffix, mode, module_type) inspect.OrderedDict(??) inspect.Parameter(??) inspect.Signature(??) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.ast(??) inspect.attrgetter(attr, ...) --> attrgetter object inspect.builtins(??) inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.collections(??) inspect.currentframe(??) inspect.dis(??) inspect.enum(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.functools(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getclosurevars(??) inspect.getcomments(??) inspect.getcoroutinelocals(??) inspect.getcoroutinestate(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorlocals(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmoduleinfo(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.importlib(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isawaitable(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.iscoroutine(??) inspect.iscoroutinefunction(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.signature(??) inspect.stack(??) inspect.sys(??) inspect.token(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.unwrap(??) inspect.v inspect.walktree(??) inspect.warnings(??) int(x=0) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO(??) io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) ipaddress.AddressValueError(??) ipaddress.IPV4LENGTH ipaddress.IPV6LENGTH ipaddress.IPv4Address(??) ipaddress.IPv4Interface(??) ipaddress.IPv4Network(??) ipaddress.IPv6Address(??) ipaddress.IPv6Interface(??) ipaddress.IPv6Network(??) ipaddress.NetmaskValueError(??) ipaddress.collapse_addresses(??) ipaddress.functools(??) ipaddress.get_mixed_type_key(??) ipaddress.ip_address(??) ipaddress.ip_interface(??) ipaddress.ip_network(??) ipaddress.summarize_address_range(??) ipaddress.v4_int_to_packed(??) ipaddress.v6_int_to_packed(??) isinstance(??) issubclass(??) iter(iterable) -> iterator itertools.accumulate(iterable[, func]) --> accumulate object itertools.chain(*iterables) --> chain object itertools.combinations(iterable, r) --> combinations object itertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.filterfalse(function or None, sequence) --> filterfalse object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.islice(iterable, stop) --> islice object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables, repeat=1) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecodeError(??) json.JSONDecoder(??) json.JSONEncoder(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS json.decoder.JSONArray(??) json.decoder.JSONDecodeError(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.c_scanstring(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanner(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.FLOAT_REPR(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(string) -> string json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring(??) json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.argparse(??) json.tool.collections(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) keyword.main(??) len(??) license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.functools(??) linecache.getline(??) linecache.getlines(??) linecache.lazycache(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list() -> new empty list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.collections(??) locale.currency(??) locale.delocalize(??) locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.k locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.v locale.windows_locale(??) locals(??) logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.collections(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingMixin(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.errno(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.re(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.thread(??) logging.config.threading(??) logging.config.traceback(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.queue(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.threading(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing(??) logging.logProcesses(??) logging.logThreads(??) logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions(??) logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) lzma.CHECK_CRC32 lzma.CHECK_CRC64 lzma.CHECK_ID_MAX lzma.CHECK_NONE lzma.CHECK_SHA256 lzma.CHECK_UNKNOWN lzma.FILTER_ARM lzma.FILTER_ARMTHUMB lzma.FILTER_DELTA lzma.FILTER_IA64 lzma.FILTER_LZMA1 lzma.FILTER_LZMA2 lzma.FILTER_POWERPC lzma.FILTER_SPARC lzma.FILTER_X86 lzma.FORMAT_ALONE lzma.FORMAT_AUTO lzma.FORMAT_RAW lzma.FORMAT_XZ lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None) lzma.LZMADecompressor(??) lzma.LZMAError(??) lzma.LZMAFile(??) lzma.MF_BT2 lzma.MF_BT3 lzma.MF_BT4 lzma.MF_HC3 lzma.MF_HC4 lzma.MODE_FAST lzma.MODE_NORMAL lzma.PRESET_DEFAULT lzma.PRESET_EXTREME lzma.builtins(??) lzma.compress(??) lzma.decompress(??) lzma.io(??) lzma.is_check_supported(??) lzma.open(??) macpath.FILE_ATTRIBUTE_ARCHIVE macpath.FILE_ATTRIBUTE_COMPRESSED macpath.FILE_ATTRIBUTE_DEVICE macpath.FILE_ATTRIBUTE_DIRECTORY macpath.FILE_ATTRIBUTE_ENCRYPTED macpath.FILE_ATTRIBUTE_HIDDEN macpath.FILE_ATTRIBUTE_INTEGRITY_STREAM macpath.FILE_ATTRIBUTE_NORMAL macpath.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED macpath.FILE_ATTRIBUTE_NO_SCRUB_DATA macpath.FILE_ATTRIBUTE_OFFLINE macpath.FILE_ATTRIBUTE_READONLY macpath.FILE_ATTRIBUTE_REPARSE_POINT macpath.FILE_ATTRIBUTE_SPARSE_FILE macpath.FILE_ATTRIBUTE_SYSTEM macpath.FILE_ATTRIBUTE_TEMPORARY macpath.FILE_ATTRIBUTE_VIRTUAL macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFDOOR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFPORT macpath.S_IFREG macpath.S_IFSOCK macpath.S_IFWHT macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(mode) -> bool macpath.S_ISCHR(mode) -> bool macpath.S_ISDIR(mode) -> bool macpath.S_ISDOOR(mode) -> bool macpath.S_ISFIFO(mode) -> bool macpath.S_ISGID macpath.S_ISLNK(mode) -> bool macpath.S_ISPORT(mode) -> bool macpath.S_ISREG(mode) -> bool macpath.S_ISSOCK(mode) -> bool macpath.S_ISUID macpath.S_ISVTX macpath.S_ISWHT(mode) -> bool macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_COMPRESSED macpath.UF_HIDDEN macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep(??) macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.filemode(??) macpath.genericpath(??) macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os(??) macpath.pardir macpath.pathsep macpath.realpath(??) macpath.samefile(??) macpath.sameopenfile(??) macpath.samestat(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames(??) macurl2path.os(??) macurl2path.pathname2url(??) macurl2path.url2pathname(??) macurl2path.urllib(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.contextlib(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) map(func, *iterables) --> map object marshal.dump(value, file[, version]) marshal.dumps(value[, version]) marshal.load(file) marshal.loads(bytes) marshal.version max(iterable, *[, default=obj, key=func]) -> value memoryview(??) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable, *[, default=obj, key=func]) -> value modulefinder.AddPackagePath(??) modulefinder.HAVE_ARGUMENT modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.imp(??) modulefinder.importlib(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.struct(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) modulefinder.warnings(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.Barrier(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.SimpleQueue(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.BufferTooShort(??) multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.Connection(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.ForkingPickler(??) multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.families(??) multiprocessing.connection.io(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.rebuild_connection(??) multiprocessing.connection.reduce_connection(??) multiprocessing.connection.reduction(??) multiprocessing.connection.selectors(??) multiprocessing.connection.socket(??) multiprocessing.connection.struct(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.connection.util(??) multiprocessing.connection.wait(??) multiprocessing.context(??) multiprocessing.context.AuthenticationError(??) multiprocessing.context.BaseContext(??) multiprocessing.context.BufferTooShort(??) multiprocessing.context.DefaultContext(??) multiprocessing.context.ForkContext(??) multiprocessing.context.ForkProcess(??) multiprocessing.context.ForkServerContext(??) multiprocessing.context.ForkServerProcess(??) multiprocessing.context.Process(??) multiprocessing.context.ProcessError(??) multiprocessing.context.SpawnContext(??) multiprocessing.context.SpawnProcess(??) multiprocessing.context.TimeoutError(??) multiprocessing.context.assert_spawning(??) multiprocessing.context.get_spawning_popen(??) multiprocessing.context.os(??) multiprocessing.context.process(??) multiprocessing.context.set_spawning_popen(??) multiprocessing.context.sys(??) multiprocessing.context.threading(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.Barrier(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.list() -> new empty list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forkserver.ForkServer(??) multiprocessing.forkserver.MAXFDS_TO_SEND multiprocessing.forkserver.UNSIGNED_STRUCT(??) multiprocessing.forkserver.connect_to_new_process(??) multiprocessing.forkserver.connection(??) multiprocessing.forkserver.ensure_running(??) multiprocessing.forkserver.errno(??) multiprocessing.forkserver.get_inherited_fds(??) multiprocessing.forkserver.main(??) multiprocessing.forkserver.os(??) multiprocessing.forkserver.process(??) multiprocessing.forkserver.read_unsigned(??) multiprocessing.forkserver.reduction(??) multiprocessing.forkserver.selectors(??) multiprocessing.forkserver.semaphore_tracker(??) multiprocessing.forkserver.set_forkserver_preload(??) multiprocessing.forkserver.signal(??) multiprocessing.forkserver.socket(??) multiprocessing.forkserver.spawn(??) multiprocessing.forkserver.struct(??) multiprocessing.forkserver.sys(??) multiprocessing.forkserver.threading(??) multiprocessing.forkserver.util(??) multiprocessing.forkserver.write_unsigned(??) multiprocessing.freeze_support(??) multiprocessing.get_all_start_methods(??) multiprocessing.get_context(??) multiprocessing.get_logger(??) multiprocessing.get_start_method(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Heap(??) multiprocessing.heap.bisect(??) multiprocessing.heap.context(??) multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.rebuild_arena(??) multiprocessing.heap.reduce_arena(??) multiprocessing.heap.reduction(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.heap.util(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BarrierProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BasePoolProxy(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.connection(??) multiprocessing.managers.context(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.get_context(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.pool(??) multiprocessing.managers.process(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.reduction(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.AsyncResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.ExceptionWithTraceback(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.RUN multiprocessing.pool.RemoteTraceback(??) multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.get_context(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.os(??) multiprocessing.pool.queue(??) multiprocessing.pool.rebuild_exc(??) multiprocessing.pool.starmapstar(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.traceback(??) multiprocessing.pool.util(??) multiprocessing.pool.worker(??) multiprocessing.popen_fork.Popen(??) multiprocessing.popen_fork.os(??) multiprocessing.popen_fork.signal(??) multiprocessing.popen_fork.sys(??) multiprocessing.popen_fork.util(??) multiprocessing.popen_forkserver.Popen(??) multiprocessing.popen_forkserver.context(??) multiprocessing.popen_forkserver.forkserver(??) multiprocessing.popen_forkserver.io(??) multiprocessing.popen_forkserver.os(??) multiprocessing.popen_forkserver.popen_fork(??) multiprocessing.popen_forkserver.reduction(??) multiprocessing.popen_forkserver.spawn(??) multiprocessing.popen_forkserver.util(??) multiprocessing.popen_spawn_posix.Popen(??) multiprocessing.popen_spawn_posix.context(??) multiprocessing.popen_spawn_posix.io(??) multiprocessing.popen_spawn_posix.os(??) multiprocessing.popen_spawn_posix.popen_fork(??) multiprocessing.popen_spawn_posix.reduction(??) multiprocessing.popen_spawn_posix.spawn(??) multiprocessing.popen_spawn_posix.util(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.BaseProcess(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.WeakSet(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.ForkingPickler(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Queue(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.collections(??) multiprocessing.queues.connection(??) multiprocessing.queues.context(??) multiprocessing.queues.debug(??) multiprocessing.queues.errno(??) multiprocessing.queues.info(??) multiprocessing.queues.is_exiting(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reduction(??) multiprocessing.reduction.ACKNOWLEDGE(??) multiprocessing.reduction.DupFd(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.HAVE_SEND_HANDLE(??) multiprocessing.reduction.array(??) multiprocessing.reduction.context(??) multiprocessing.reduction.copyreg(??) multiprocessing.reduction.dump(??) multiprocessing.reduction.functools(??) multiprocessing.reduction.io(??) multiprocessing.reduction.os(??) multiprocessing.reduction.pickle(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.recvfds(??) multiprocessing.reduction.register(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.sendfds(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sys(??) multiprocessing.resource_sharer.DupFd(??) multiprocessing.resource_sharer.os(??) multiprocessing.resource_sharer.process(??) multiprocessing.resource_sharer.reduction(??) multiprocessing.resource_sharer.signal(??) multiprocessing.resource_sharer.socket(??) multiprocessing.resource_sharer.stop(??) multiprocessing.resource_sharer.sys(??) multiprocessing.resource_sharer.threading(??) multiprocessing.resource_sharer.util(??) multiprocessing.semaphore_tracker.SemaphoreTracker(??) multiprocessing.semaphore_tracker.ensure_running(??) multiprocessing.semaphore_tracker.getfd(??) multiprocessing.semaphore_tracker.main(??) multiprocessing.semaphore_tracker.os(??) multiprocessing.semaphore_tracker.register(??) multiprocessing.semaphore_tracker.signal(??) multiprocessing.semaphore_tracker.spawn(??) multiprocessing.semaphore_tracker.sys(??) multiprocessing.semaphore_tracker.threading(??) multiprocessing.semaphore_tracker.unregister(??) multiprocessing.semaphore_tracker.util(??) multiprocessing.semaphore_tracker.warnings(??) multiprocessing.set_executable(??) multiprocessing.set_forkserver_preload(??) multiprocessing.set_start_method(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.ForkingPickler(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.get_context(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.spawn.WINEXE(??) multiprocessing.spawn.WINSERVICE(??) multiprocessing.spawn.freeze_support(??) multiprocessing.spawn.get_command_line(??) multiprocessing.spawn.get_executable(??) multiprocessing.spawn.get_preparation_data(??) multiprocessing.spawn.get_start_method(??) multiprocessing.spawn.import_main_path(??) multiprocessing.spawn.is_forking(??) multiprocessing.spawn.old_main_modules(??) multiprocessing.spawn.os(??) multiprocessing.spawn.pickle(??) multiprocessing.spawn.prepare(??) multiprocessing.spawn.process(??) multiprocessing.spawn.runpy(??) multiprocessing.spawn.set_executable(??) multiprocessing.spawn.set_start_method(??) multiprocessing.spawn.spawn_main(??) multiprocessing.spawn.sys(??) multiprocessing.spawn.types(??) multiprocessing.spawn.util(??) multiprocessing.synchronize.Barrier(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.context(??) multiprocessing.synchronize.process(??) multiprocessing.synchronize.sem_unlink(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.tempfile(??) multiprocessing.synchronize.threading(??) multiprocessing.synchronize.util(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.MAXFD multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.atexit(??) multiprocessing.util.close_all_fds_except(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.os(??) multiprocessing.util.process(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.spawnv_passfds(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) netrc.stat(??) next(iterator[, default]) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.warnings(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) object(??) oct(??) open(??) operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.gt(a, b) -- Same as a>b. operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imatmul(??) operator.imod(??) operator.imul(??) operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(a, b) -- Same as a<=b. operator.length_hint(obj, default=0) -> int operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.rshift(a, b) -- Same as a >> b. operator.setitem(a, b, c) -- Same as a[b] = c. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.ngettext(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(??) os.CLD_CONTINUED os.CLD_DUMPED os.CLD_EXITED os.CLD_TRAPPED os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_LOCK os.F_OK os.F_TEST os.F_TLOCK os.F_ULOCK os.MutableMapping(??) os.NGROUPS_MAX os.O_ACCMODE os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_EXLOCK os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_SHLOCK os.O_SYNC os.O_TRUNC os.O_WRONLY os.PRIO_PGRP os.PRIO_PROCESS os.PRIO_USER os.P_ALL os.P_NOWAIT os.P_NOWAITO os.P_PGID os.P_PID os.P_WAIT os.RTLD_GLOBAL os.RTLD_LAZY os.RTLD_LOCAL os.RTLD_NODELETE os.RTLD_NOLOAD os.RTLD_NOW os.R_OK os.SCHED_FIFO os.SCHED_OTHER os.SCHED_RR os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(??) os.WEXITED os.WEXITSTATUS(??) os.WIFCONTINUED(??) os.WIFEXITED(??) os.WIFSIGNALED(??) os.WIFSTOPPED(??) os.WNOHANG os.WNOWAIT os.WSTOPPED os.WSTOPSIG(??) os.WTERMSIG(??) os.WUNTRACED os.W_OK os.X_OK os.abort(??) os.access(??) os.altsep(??) os.chdir(??) os.chflags(??) os.chmod(??) os.chown(??) os.chroot(??) os.close(??) os.closerange(??) os.confstr(??) os.confstr_names(??) os.cpu_count(??) os.ctermid(??) os.curdir os.defpath os.device_encoding(??) os.devnull os.dup(??) os.dup2(??) os.environ(??) os.environb(??) os.errno(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(??) os.execve(??) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(??) os.fchmod(??) os.fchown(??) os.fdopen(??) os.fork(??) os.forkpty(??) os.fpathconf(??) os.fsdecode(??) os.fsencode(??) os.fstat(??) os.fstatvfs(??) os.fsync(??) os.ftruncate(??) os.get_blocking(fd) -> bool os.get_exec_path(??) os.get_inheritable(??) os.get_terminal_size(??) os.getcwd(??) os.getcwdb(??) os.getegid(??) os.getenv(??) os.getenvb(??) os.geteuid(??) os.getgid(??) os.getgrouplist(user, group) -> list of groups to which a user belongs os.getgroups(??) os.getloadavg(??) os.getlogin(??) os.getpgid(??) os.getpgrp(??) os.getpid(??) os.getppid(??) os.getpriority(??) os.getsid(??) os.getuid(??) os.initgroups(username, gid) -> None os.isatty(??) os.kill(??) os.killpg(??) os.lchflags(??) os.lchmod(??) os.lchown(??) os.linesep os.link(??) os.listdir(??) os.lockf(??) os.lseek(??) os.lstat(??) os.major(??) os.makedev(??) os.makedirs(name [, mode=0o777][, exist_ok=False]) os.minor(??) os.mkdir(??) os.mkfifo(??) os.mknod(??) os.name os.nice(??) os.open(??) os.openpty(??) os.pardir os.path(??) os.pathconf(??) os.pathconf_names(??) os.pathsep os.pipe(??) os.popen(??) os.pread(??) os.putenv(??) os.pwrite(??) os.read(??) os.readlink(path, *, dir_fd=None) -> path os.readv(??) os.remove(??) os.removedirs(name) os.rename(??) os.renames(old, new) os.replace(??) os.rmdir(??) os.scandir(path='.') -> iterator of DirEntry objects for given path os.sched_get_priority_max(??) os.sched_get_priority_min(??) os.sched_yield(??) os.sendfile(out, in, offset, nbytes) -> byteswritten os.sep os.set_blocking(fd, blocking) os.set_inheritable(??) os.setegid(??) os.seteuid(??) os.setgid(??) os.setgroups(??) os.setpgid(??) os.setpgrp(??) os.setpriority(??) os.setregid(??) os.setreuid(??) os.setsid(??) os.setuid(??) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.st(??) os.stat(??) os.stat_float_times([newval]) -> oldval os.stat_result(??) os.statvfs(??) os.statvfs_result(??) os.strerror(??) os.supports_bytes_environ(??) os.supports_dir_fd(??) os.supports_effective_ids(??) os.supports_fd(??) os.supports_follow_symlinks(??) os.symlink(??) os.sync(??) os.sys(??) os.sysconf(??) os.sysconf_names(??) os.system(??) os.tcgetpgrp(??) os.tcsetpgrp(??) os.terminal_size(??) os.times(??) os.times_result(??) os.truncate(??) os.ttyname(??) os.umask(??) os.uname(??) os.uname_result(??) os.unlink(??) os.unsetenv(??) os.urandom(??) os.utime(??) os.wait(??) os.wait3(??) os.wait4(??) os.waitpid(??) os.walk(??) os.write(??) os.writev(??) pathlib.EINVAL pathlib.ENOENT pathlib.ENOTDIR pathlib.Path(??) pathlib.PosixPath(??) pathlib.PurePath(??) pathlib.PurePosixPath(??) pathlib.PureWindowsPath(??) pathlib.S_ISBLK(mode) -> bool pathlib.S_ISCHR(mode) -> bool pathlib.S_ISDIR(mode) -> bool pathlib.S_ISFIFO(mode) -> bool pathlib.S_ISLNK(mode) -> bool pathlib.S_ISREG(mode) -> bool pathlib.S_ISSOCK(mode) -> bool pathlib.Sequence(??) pathlib.WindowsPath(??) pathlib.attrgetter(attr, ...) --> attrgetter object pathlib.contextmanager(??) pathlib.fnmatch(??) pathlib.functools(??) pathlib.io(??) pathlib.nt(??) pathlib.ntpath(??) pathlib.os(??) pathlib.posixpath(??) pathlib.re(??) pathlib.supports_symlinks(??) pathlib.sys(??) pathlib.urlquote_from_bytes(??) pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.glob(??) pdb.help(??) pdb.inspect(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.ADDITEMS pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINBYTES8 pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BINUNICODE8 pickle.BUILD pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_SET pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FRAME pickle.FROZENSET pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.MEMOIZE pickle.NEWFALSE pickle.NEWOBJ pickle.NEWOBJ_EX pickle.NEWTRUE pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(??) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.SHORT_BINUNICODE pickle.STACK_GLOBAL pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(??) pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.islice(iterable, stop) --> islice object pickle.load(??) pickle.loads(??) pickle.maxsize pickle.pack(fmt, v1, v2, ...) -> bytes pickle.re(??) pickle.sys(??) pickle.unpack(fmt, buffer) -> (v1, v2, ...) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.TAKEN_FROM_ARGUMENT4U pickletools.TAKEN_FROM_ARGUMENT8U pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytes1(??) pickletools.bytes4(??) pickletools.bytes8(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.io(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybytes(??) pickletools.pybytes_or_str(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyfrozenset(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pyset(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_bytes1(??) pickletools.read_bytes4(??) pickletools.read_bytes8(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_uint4(??) pickletools.read_uint8(??) pickletools.read_unicodestring1(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestring8(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.sys(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.uint4(??) pickletools.uint8(??) pickletools.unicodestring1(??) pickletools.unicodestring4(??) pickletools.unicodestring8(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.importlib(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.warnings(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.DEV_NULL platform.architecture(??) platform.collections(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.subprocess(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.uname_result(system, node, release, version, machine, processor) platform.version(??) platform.warnings(??) platform.win32_ver(??) plistlib.BytesIO(??) plistlib.Data(??) plistlib.Dict(??) plistlib.FMT_BINARY(??) plistlib.FMT_XML(??) plistlib.InvalidFileException(??) plistlib.PLISTHEADER plistlib.ParserCreate(??) plistlib.Plist(??) plistlib.PlistFormat(??) plistlib.binascii(??) plistlib.codecs(??) plistlib.contextlib(??) plistlib.datetime(??) plistlib.dump(??) plistlib.dumps(??) plistlib.enum(??) plistlib.itertools(??) plistlib.load(??) plistlib.loads(??) plistlib.os(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.struct(??) plistlib.warn(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.HAVE_SSL(??) poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.errno(??) poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.CLD_CONTINUED posix.CLD_DUMPED posix.CLD_EXITED posix.CLD_TRAPPED posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_LOCK posix.F_OK posix.F_TEST posix.F_TLOCK posix.F_ULOCK posix.NGROUPS_MAX posix.O_ACCMODE posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_EXLOCK posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_SHLOCK posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.PRIO_PGRP posix.PRIO_PROCESS posix.PRIO_USER posix.P_ALL posix.P_PGID posix.P_PID posix.RTLD_GLOBAL posix.RTLD_LAZY posix.RTLD_LOCAL posix.RTLD_NODELETE posix.RTLD_NOLOAD posix.RTLD_NOW posix.R_OK posix.SCHED_FIFO posix.SCHED_OTHER posix.SCHED_RR posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(??) posix.WEXITED posix.WEXITSTATUS(??) posix.WIFCONTINUED(??) posix.WIFEXITED(??) posix.WIFSIGNALED(??) posix.WIFSTOPPED(??) posix.WNOHANG posix.WNOWAIT posix.WSTOPPED posix.WSTOPSIG(??) posix.WTERMSIG(??) posix.WUNTRACED posix.W_OK posix.X_OK posix.abort(??) posix.access(??) posix.chdir(??) posix.chflags(??) posix.chmod(??) posix.chown(??) posix.chroot(??) posix.close(??) posix.closerange(??) posix.confstr(??) posix.confstr_names(??) posix.cpu_count(??) posix.ctermid(??) posix.device_encoding(??) posix.dup(??) posix.dup2(??) posix.environ(??) posix.error(??) posix.execv(??) posix.execve(??) posix.fchdir(??) posix.fchmod(??) posix.fchown(??) posix.fork(??) posix.forkpty(??) posix.fpathconf(??) posix.fstat(??) posix.fstatvfs(??) posix.fsync(??) posix.ftruncate(??) posix.get_blocking(fd) -> bool posix.get_inheritable(??) posix.get_terminal_size(??) posix.getcwd(??) posix.getcwdb(??) posix.getegid(??) posix.geteuid(??) posix.getgid(??) posix.getgrouplist(user, group) -> list of groups to which a user belongs posix.getgroups(??) posix.getloadavg(??) posix.getlogin(??) posix.getpgid(??) posix.getpgrp(??) posix.getpid(??) posix.getppid(??) posix.getpriority(??) posix.getsid(??) posix.getuid(??) posix.initgroups(username, gid) -> None posix.isatty(??) posix.kill(??) posix.killpg(??) posix.lchflags(??) posix.lchmod(??) posix.lchown(??) posix.link(??) posix.listdir(??) posix.lockf(??) posix.lseek(??) posix.lstat(??) posix.major(??) posix.makedev(??) posix.minor(??) posix.mkdir(??) posix.mkfifo(??) posix.mknod(??) posix.nice(??) posix.open(??) posix.openpty(??) posix.pathconf(??) posix.pathconf_names(??) posix.pipe(??) posix.pread(??) posix.putenv(??) posix.pwrite(??) posix.read(??) posix.readlink(path, *, dir_fd=None) -> path posix.readv(??) posix.remove(??) posix.rename(??) posix.replace(??) posix.rmdir(??) posix.scandir(path='.') -> iterator of DirEntry objects for given path posix.sched_get_priority_max(??) posix.sched_get_priority_min(??) posix.sched_yield(??) posix.sendfile(out, in, offset, nbytes) -> byteswritten posix.set_blocking(fd, blocking) posix.set_inheritable(??) posix.setegid(??) posix.seteuid(??) posix.setgid(??) posix.setgroups(??) posix.setpgid(??) posix.setpgrp(??) posix.setpriority(??) posix.setregid(??) posix.setreuid(??) posix.setsid(??) posix.setuid(??) posix.stat(??) posix.stat_float_times([newval]) -> oldval posix.stat_result(??) posix.statvfs(??) posix.statvfs_result(??) posix.strerror(??) posix.symlink(??) posix.sync(??) posix.sysconf(??) posix.sysconf_names(??) posix.system(??) posix.tcgetpgrp(??) posix.tcsetpgrp(??) posix.terminal_size(??) posix.times(??) posix.times_result(??) posix.truncate(??) posix.ttyname(??) posix.umask(??) posix.uname(??) posix.uname_result(??) posix.unlink(??) posix.unsetenv(??) posix.urandom(??) posix.utime(??) posix.wait(??) posix.wait3(??) posix.wait4(??) posix.waitpid(??) posix.write(??) posix.writev(??) pow(??) pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.re(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) profile.OptionParser(??) profile.Profile(??) profile.main(??) profile.marshal(??) profile.os(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall(??) pwd.getpwnam(??) pwd.getpwuid(??) pwd.struct_passwd(??) py_compile.PyCompileError(??) py_compile.compile(??) py_compile.importlib(??) py_compile.main(??) py_compile.os(??) py_compile.sys(??) py_compile.traceback(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.importlib(??) pyclbr.io(??) pyclbr.itemgetter(item, ...) --> itemgetter object pyclbr.os(??) pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque([iterable[, maxlen]]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.help(??) pydoc.html(??) pydoc.importfile(??) pydoc.importlib(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.tokenize(??) pydoc.ttypager(??) pydoc.urllib(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.deque([iterable[, maxlen]]) --> deque object queue.heappop(??) queue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. queue.threading(??) queue.time(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(??) quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates an int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range(stop) -> range object re.A re.ASCII re.DEBUG re.DOTALL re.I re.IGNORECASE re.L re.LOCALE re.M re.MULTILINE re.S re.Scanner(??) re.T re.TEMPLATE re.U re.UNICODE re.VERBOSE re.X re.compile(??) re.copyreg(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.fullmatch(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.sys(??) re.template(??) repr(??) reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, stop) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) reversed(sequence) -> reverse iterator over values of the sequence rlcompleter.Completer(??) rlcompleter.atexit(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(number[, ndigits]) -> number runpy.get_importer(??) runpy.importlib(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) runpy.types(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) sched.threading(??) sched.time(??) selectors.ABCMeta(??) selectors.BaseSelector(??) selectors.DefaultSelector(??) selectors.EVENT_READ selectors.EVENT_WRITE selectors.KqueueSelector(??) selectors.Mapping(??) selectors.PollSelector(??) selectors.SelectSelector(??) selectors.SelectorKey(fileobj, fd, events, data) selectors.abstractmethod(??) selectors.math(??) selectors.namedtuple(??) selectors.select(??) selectors.sys(??) set() -> new empty set object setattr(??) shelve.BsdDbShelf(??) shelve.BytesIO(??) shelve.DbfilenameShelf(??) shelve.Pickler(??) shelve.Shelf(??) shelve.Unpickler(??) shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque([iterable[, maxlen]]) --> deque object shlex.os(??) shlex.quote(??) shlex.re(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SameFileError(??) shutil.SpecialFileError(??) shutil.chown(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.disk_usage(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_terminal_size(??) shutil.get_unpack_formats(??) shutil.getgrnam(??) shutil.getpwnam(??) shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.os(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.tarfile(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) shutil.which(??) signal.Handlers(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT(??) signal.SIGALRM(??) signal.SIGBUS(??) signal.SIGCHLD(??) signal.SIGCONT(??) signal.SIGEMT(??) signal.SIGFPE(??) signal.SIGHUP(??) signal.SIGILL(??) signal.SIGINFO(??) signal.SIGINT(??) signal.SIGIO(??) signal.SIGIOT(??) signal.SIGKILL(??) signal.SIGPIPE(??) signal.SIGPROF(??) signal.SIGQUIT(??) signal.SIGSEGV(??) signal.SIGSTOP(??) signal.SIGSYS(??) signal.SIGTERM(??) signal.SIGTRAP(??) signal.SIGTSTP(??) signal.SIGTTIN(??) signal.SIGTTOU(??) signal.SIGURG(??) signal.SIGUSR1(??) signal.SIGUSR2(??) signal.SIGVTALRM(??) signal.SIGWINCH(??) signal.SIGXCPU(??) signal.SIGXFSZ(??) signal.SIG_BLOCK(??) signal.SIG_DFL(??) signal.SIG_IGN(??) signal.SIG_SETMASK(??) signal.SIG_UNBLOCK(??) signal.Sigmasks(??) signal.Signals(??) signal.alarm(??) signal.default_int_handler(...) signal.getitimer(??) signal.getsignal(??) signal.pause(??) signal.pthread_kill(??) signal.pthread_sigmask(??) signal.set_wakeup_fd(fd) -> fd signal.setitimer(??) signal.siginterrupt(??) signal.signal(??) signal.sigpending(??) signal.sigwait(??) site.CONFIG_LINE site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.aliasmbcs(??) site.builtins(??) site.check_enableusersite(??) site.enablerlcompleter(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.venv(??) slice(stop) smtpd.COMMASPACE smtpd.DATA_SIZE_DEFAULT smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.collections(??) smtpd.errno(??) smtpd.get_addr_spec(??) smtpd.get_angle_addr(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPNotSupportedError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.bCRLF smtplib.base64(??) smtplib.copy(??) smtplib.datetime(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.sys(??) sndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.namedtuple(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK(??) socket.AF_DECnet socket.AF_INET(??) socket.AF_INET6(??) socket.AF_IPX(??) socket.AF_LINK(??) socket.AF_ROUTE(??) socket.AF_SNA(??) socket.AF_SYSTEM(??) socket.AF_UNIX(??) socket.AF_UNSPEC(??) socket.AI_ADDRCONFIG socket.AI_ALL socket.AI_CANONNAME socket.AI_DEFAULT socket.AI_MASK socket.AI_NUMERICHOST socket.AI_NUMERICSERV socket.AI_PASSIVE socket.AI_V4MAPPED socket.AI_V4MAPPED_CFG socket.AddressFamily(??) socket.CAPI(??) socket.CMSG_LEN(length) -> control message length socket.CMSG_SPACE(length) -> buffer size socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_BADHINTS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MAX socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_PROTOCOL socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EWOULDBLOCK socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_EON socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GGP socket.IPPROTO_GRE socket.IPPROTO_HELLO socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPCOMP socket.IPPROTO_IPIP socket.IPPROTO_IPV4 socket.IPPROTO_IPV6 socket.IPPROTO_MAX socket.IPPROTO_ND socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPPROTO_XTP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVDSTADDR socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.IntEnum(??) socket.LOCAL_PEERCRED socket.MSG_CTRUNC socket.MSG_DONTROUTE socket.MSG_DONTWAIT socket.MSG_EOF socket.MSG_EOR socket.MSG_OOB socket.MSG_PEEK socket.MSG_TRUNC socket.MSG_WAITALL socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PF_SYSTEM socket.SCM_CREDS socket.SCM_RIGHTS socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM(??) socket.SOCK_RAW(??) socket.SOCK_RDM(??) socket.SOCK_SEQPACKET(??) socket.SOCK_STREAM(??) socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_REUSEPORT socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SO_USELOOPBACK socket.SYSPROTO_CONTROL socket.SocketIO(??) socket.SocketKind(??) socket.SocketType(??) socket.TCP_MAXSEG socket.TCP_NODELAY socket.create_connection(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(??) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.if_indextoname(if_index) socket.if_nameindex() socket.if_nametoindex(if_name) socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.selectors(??) socket.setdefaulttimeout(timeout) socket.sethostname(name) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.errno(??) socketserver.os(??) socketserver.selectors(??) socketserver.socket(??) socketserver.threading(??) socketserver.time(??) sorted(??) sqlite3.Binary(??) sqlite3.Cache(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement(??) sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.collections(??) sqlite3.complete_statement(sql) sqlite3.connect(??) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Cache(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement(??) sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.collections(??) sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(??) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.AF_INET(??) ssl.ALERT_DESCRIPTION_ACCESS_DENIED ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE ssl.ALERT_DESCRIPTION_BAD_RECORD_MAC ssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED ssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED ssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN ssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE ssl.ALERT_DESCRIPTION_CLOSE_NOTIFY ssl.ALERT_DESCRIPTION_DECODE_ERROR ssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE ssl.ALERT_DESCRIPTION_DECRYPT_ERROR ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE ssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER ssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY ssl.ALERT_DESCRIPTION_INTERNAL_ERROR ssl.ALERT_DESCRIPTION_NO_RENEGOTIATION ssl.ALERT_DESCRIPTION_PROTOCOL_VERSION ssl.ALERT_DESCRIPTION_RECORD_OVERFLOW ssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE ssl.ALERT_DESCRIPTION_UNKNOWN_CA ssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME ssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE ssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION ssl.ALERT_DESCRIPTION_USER_CANCELLED ssl.CERT_NONE ssl.CERT_OPTIONAL ssl.CERT_REQUIRED ssl.CHANNEL_BINDING_TYPES(??) ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath) ssl.HAS_ALPN(??) ssl.HAS_ECDH(??) ssl.HAS_NPN(??) ssl.HAS_SNI(??) ssl.MemoryBIO(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL ssl.OP_CIPHER_SERVER_PREFERENCE ssl.OP_NO_SSLv2 ssl.OP_NO_SSLv3 ssl.OP_NO_TLSv1 ssl.OP_SINGLE_DH_USE ssl.OP_SINGLE_ECDH_USE ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv2(??) ssl.PROTOCOL_SSLv23(??) ssl.PROTOCOL_SSLv3(??) ssl.PROTOCOL_TLSv1(??) ssl.Purpose(??) ssl.RAND_add(??) ssl.RAND_bytes(??) ssl.RAND_egd(??) ssl.RAND_pseudo_bytes(??) ssl.RAND_status(??) ssl.SOCK_STREAM(??) ssl.SOL_SOCKET ssl.SO_TYPE ssl.SSLContext(??) ssl.SSLEOFError(??) ssl.SSLError(??) ssl.SSLObject(??) ssl.SSLSocket(??) ssl.SSLSyscallError(??) ssl.SSLWantReadError(??) ssl.SSLWantWriteError(??) ssl.SSLZeroReturnError(??) ssl.SSL_ERROR_EOF ssl.SSL_ERROR_INVALID_ERROR_CODE ssl.SSL_ERROR_SSL ssl.SSL_ERROR_SYSCALL ssl.SSL_ERROR_WANT_CONNECT ssl.SSL_ERROR_WANT_READ ssl.SSL_ERROR_WANT_WRITE ssl.SSL_ERROR_WANT_X509_LOOKUP ssl.SSL_ERROR_ZERO_RETURN ssl.VERIFY_CRL_CHECK_CHAIN ssl.VERIFY_CRL_CHECK_LEAF ssl.VERIFY_DEFAULT ssl.VERIFY_X509_STRICT ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.create_connection(??) ssl.create_default_context(??) ssl.errno(??) ssl.get_default_verify_paths(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.ipaddress(??) ssl.match_hostname(??) ssl.namedtuple(??) ssl.os(??) ssl.re(??) ssl.socket(??) ssl.socket_error(??) ssl.sys(??) ssl.textwrap(??) ssl.wrap_socket(??) stat.FILE_ATTRIBUTE_ARCHIVE stat.FILE_ATTRIBUTE_COMPRESSED stat.FILE_ATTRIBUTE_DEVICE stat.FILE_ATTRIBUTE_DIRECTORY stat.FILE_ATTRIBUTE_ENCRYPTED stat.FILE_ATTRIBUTE_HIDDEN stat.FILE_ATTRIBUTE_INTEGRITY_STREAM stat.FILE_ATTRIBUTE_NORMAL stat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED stat.FILE_ATTRIBUTE_NO_SCRUB_DATA stat.FILE_ATTRIBUTE_OFFLINE stat.FILE_ATTRIBUTE_READONLY stat.FILE_ATTRIBUTE_REPARSE_POINT stat.FILE_ATTRIBUTE_SPARSE_FILE stat.FILE_ATTRIBUTE_SYSTEM stat.FILE_ATTRIBUTE_TEMPORARY stat.FILE_ATTRIBUTE_VIRTUAL stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFDOOR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFPORT stat.S_IFREG stat.S_IFSOCK stat.S_IFWHT stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(mode) -> bool stat.S_ISCHR(mode) -> bool stat.S_ISDIR(mode) -> bool stat.S_ISDOOR(mode) -> bool stat.S_ISFIFO(mode) -> bool stat.S_ISGID stat.S_ISLNK(mode) -> bool stat.S_ISPORT(mode) -> bool stat.S_ISREG(mode) -> bool stat.S_ISSOCK(mode) -> bool stat.S_ISUID stat.S_ISVTX stat.S_ISWHT(mode) -> bool stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_COMPRESSED stat.UF_HIDDEN stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE stat.filemode(??) staticmethod(function) -> method statistics.Decimal(??) statistics.Fraction(??) statistics.StatisticsError(??) statistics.collections(??) statistics.math(??) statistics.mean(??) statistics.median(??) statistics.median_grouped(??) statistics.median_high(??) statistics.median_low(??) statistics.mode(??) statistics.pstdev(??) statistics.pvariance(??) statistics.stdev(??) statistics.variance(??) str(object='') -> str string.ChainMap(??) string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(fmt) --> compiled struct object struct.calcsize(fmt) -> integer struct.error(??) struct.iter_unpack(fmt, buffer) -> iterator(v1, v2, ...) struct.pack(fmt, v1, v2, ...) -> bytes struct.pack_into(fmt, buffer, offset, v1, v2, ...) struct.unpack(fmt, buffer) -> (v1, v2, ...) struct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...) subprocess.CalledProcessError(??) subprocess.CompletedProcess(??) subprocess.DEVNULL subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.SubprocessError(??) subprocess.TimeoutExpired(??) subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.os(??) subprocess.run(??) subprocess.select(??) subprocess.selectors(??) subprocess.signal(??) subprocess.sys(??) subprocess.threading(??) subprocess.time(??) subprocess.warnings(??) sum(??) sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.namedtuple(??) sunau.open(??) sunau.openfp(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.async_funcdef symbol.async_stmt symbol.atom symbol.atom_expr symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_arg symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.api_version sys.argv(??) sys.base_exec_prefix sys.base_prefix sys.builtin_module_names(??) sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode(??) sys.exc_info() -> (type, value, traceback) sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.get_coroutine_wrapper() sys.getallocatedblocks() -> integer sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.getswitchinterval() -> current thread switch interval; see setswitchinterval(). sys.gettrace() sys.hash_info(??) sys.hexversion sys.implementation(??) sys.int_info(??) sys.intern(string) -> string sys.is_finalizing() sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.set_coroutine_wrapper(wrapper) sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.setswitchinterval(n) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.thread_info(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TarIter(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.filemode(??) tarfile.grp(??) tarfile.io(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.main(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.selectors(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempdirb(??) tempfile.gettempprefix(??) tempfile.gettempprefixb(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.indent(??) textwrap.re(??) textwrap.shorten(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.WeakSet(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.enumerate(??) threading.get_ident() -> integer threading.local(??) threading.main_thread(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.get_clock_info(name: str) -> dict time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.monotonic() -> float time.perf_counter() -> float time.process_time() -> float time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.timezone time.tzname(??) time.tzset() timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) tkinter.ACTIVE tkinter.ALL tkinter.ANCHOR tkinter.ARC tkinter.BASELINE tkinter.BEVEL tkinter.BOTH tkinter.BOTTOM tkinter.BROWSE tkinter.BUTT tkinter.BaseWidget(??) tkinter.BitmapImage(??) tkinter.BooleanVar(??) tkinter.Button(??) tkinter.CASCADE tkinter.CENTER tkinter.CHAR tkinter.CHECKBUTTON tkinter.CHORD tkinter.COMMAND tkinter.CURRENT tkinter.CallWrapper(??) tkinter.Canvas(??) tkinter.Checkbutton(??) tkinter.DISABLED tkinter.DOTBOX tkinter.DoubleVar(??) tkinter.E tkinter.END tkinter.EW tkinter.EXCEPTION tkinter.EXTENDED tkinter.Entry(??) tkinter.Event(??) tkinter.FALSE tkinter.FIRST tkinter.FLAT tkinter.Frame(??) tkinter.GROOVE tkinter.Grid(??) tkinter.HIDDEN tkinter.HORIZONTAL tkinter.INSERT tkinter.INSIDE tkinter.Image(??) tkinter.IntVar(??) tkinter.LAST tkinter.LEFT tkinter.Label(??) tkinter.LabelFrame(??) tkinter.Listbox(??) tkinter.MITER tkinter.MOVETO tkinter.MULTIPLE tkinter.Menu(??) tkinter.Menubutton(??) tkinter.Message(??) tkinter.Misc(??) tkinter.N tkinter.NE tkinter.NO tkinter.NONE tkinter.NORMAL tkinter.NS tkinter.NSEW tkinter.NUMERIC tkinter.NW tkinter.NoDefaultRoot(??) tkinter.OFF tkinter.ON tkinter.OUTSIDE tkinter.OptionMenu(??) tkinter.PAGES tkinter.PIESLICE tkinter.PROJECTING tkinter.Pack(??) tkinter.PanedWindow(??) tkinter.PhotoImage(??) tkinter.Place(??) tkinter.RADIOBUTTON tkinter.RAISED tkinter.READABLE tkinter.RIDGE tkinter.RIGHT tkinter.ROUND tkinter.Radiobutton(??) tkinter.S tkinter.SCROLL tkinter.SE tkinter.SEL tkinter.SEL_FIRST tkinter.SEL_LAST tkinter.SEPARATOR tkinter.SINGLE tkinter.SOLID tkinter.SUNKEN tkinter.SW tkinter.Scale(??) tkinter.Scrollbar(??) tkinter.Spinbox(??) tkinter.StringVar(??) tkinter.TOP tkinter.TRUE tkinter.Tcl(??) tkinter.TclError(??) tkinter.TclVersion tkinter.Text(??) tkinter.Tk(??) tkinter.TkVersion tkinter.Toplevel(??) tkinter.UNDERLINE tkinter.UNITS tkinter.VERTICAL tkinter.Variable(??) tkinter.W tkinter.WORD tkinter.WRITABLE tkinter.Widget(??) tkinter.Wm(??) tkinter.X tkinter.XView(??) tkinter.Y tkinter.YES tkinter.YView(??) tkinter.colorchooser.Chooser(??) tkinter.colorchooser.Dialog(??) tkinter.colorchooser.askcolor(??) tkinter.commondialog.ACTIVE tkinter.commondialog.ALL tkinter.commondialog.ANCHOR tkinter.commondialog.ARC tkinter.commondialog.BASELINE tkinter.commondialog.BEVEL tkinter.commondialog.BOTH tkinter.commondialog.BOTTOM tkinter.commondialog.BROWSE tkinter.commondialog.BUTT tkinter.commondialog.BaseWidget(??) tkinter.commondialog.BitmapImage(??) tkinter.commondialog.BooleanVar(??) tkinter.commondialog.Button(??) tkinter.commondialog.CASCADE tkinter.commondialog.CENTER tkinter.commondialog.CHAR tkinter.commondialog.CHECKBUTTON tkinter.commondialog.CHORD tkinter.commondialog.COMMAND tkinter.commondialog.CURRENT tkinter.commondialog.CallWrapper(??) tkinter.commondialog.Canvas(??) tkinter.commondialog.Checkbutton(??) tkinter.commondialog.DISABLED tkinter.commondialog.DOTBOX tkinter.commondialog.Dialog(??) tkinter.commondialog.DoubleVar(??) tkinter.commondialog.E tkinter.commondialog.END tkinter.commondialog.EW tkinter.commondialog.EXCEPTION tkinter.commondialog.EXTENDED tkinter.commondialog.Entry(??) tkinter.commondialog.Event(??) tkinter.commondialog.FALSE tkinter.commondialog.FIRST tkinter.commondialog.FLAT tkinter.commondialog.Frame(??) tkinter.commondialog.GROOVE tkinter.commondialog.Grid(??) tkinter.commondialog.HIDDEN tkinter.commondialog.HORIZONTAL tkinter.commondialog.INSERT tkinter.commondialog.INSIDE tkinter.commondialog.Image(??) tkinter.commondialog.IntVar(??) tkinter.commondialog.LAST tkinter.commondialog.LEFT tkinter.commondialog.Label(??) tkinter.commondialog.LabelFrame(??) tkinter.commondialog.Listbox(??) tkinter.commondialog.MITER tkinter.commondialog.MOVETO tkinter.commondialog.MULTIPLE tkinter.commondialog.Menu(??) tkinter.commondialog.Menubutton(??) tkinter.commondialog.Message(??) tkinter.commondialog.Misc(??) tkinter.commondialog.N tkinter.commondialog.NE tkinter.commondialog.NO tkinter.commondialog.NONE tkinter.commondialog.NORMAL tkinter.commondialog.NS tkinter.commondialog.NSEW tkinter.commondialog.NUMERIC tkinter.commondialog.NW tkinter.commondialog.NoDefaultRoot(??) tkinter.commondialog.OFF tkinter.commondialog.ON tkinter.commondialog.OUTSIDE tkinter.commondialog.OptionMenu(??) tkinter.commondialog.PAGES tkinter.commondialog.PIESLICE tkinter.commondialog.PROJECTING tkinter.commondialog.Pack(??) tkinter.commondialog.PanedWindow(??) tkinter.commondialog.PhotoImage(??) tkinter.commondialog.Place(??) tkinter.commondialog.RADIOBUTTON tkinter.commondialog.RAISED tkinter.commondialog.READABLE tkinter.commondialog.RIDGE tkinter.commondialog.RIGHT tkinter.commondialog.ROUND tkinter.commondialog.Radiobutton(??) tkinter.commondialog.S tkinter.commondialog.SCROLL tkinter.commondialog.SE tkinter.commondialog.SEL tkinter.commondialog.SEL_FIRST tkinter.commondialog.SEL_LAST tkinter.commondialog.SEPARATOR tkinter.commondialog.SINGLE tkinter.commondialog.SOLID tkinter.commondialog.SUNKEN tkinter.commondialog.SW tkinter.commondialog.Scale(??) tkinter.commondialog.Scrollbar(??) tkinter.commondialog.Spinbox(??) tkinter.commondialog.StringVar(??) tkinter.commondialog.TOP tkinter.commondialog.TRUE tkinter.commondialog.Tcl(??) tkinter.commondialog.TclError(??) tkinter.commondialog.TclVersion tkinter.commondialog.Text(??) tkinter.commondialog.Tk(??) tkinter.commondialog.TkVersion tkinter.commondialog.Toplevel(??) tkinter.commondialog.UNDERLINE tkinter.commondialog.UNITS tkinter.commondialog.VERTICAL tkinter.commondialog.Variable(??) tkinter.commondialog.W tkinter.commondialog.WORD tkinter.commondialog.WRITABLE tkinter.commondialog.Widget(??) tkinter.commondialog.Wm(??) tkinter.commondialog.X tkinter.commondialog.XView(??) tkinter.commondialog.Y tkinter.commondialog.YES tkinter.commondialog.YView(??) tkinter.commondialog.constants(??) tkinter.commondialog.getboolean(??) tkinter.commondialog.getdouble(??) tkinter.commondialog.getint(??) tkinter.commondialog.image_names(??) tkinter.commondialog.image_types(??) tkinter.commondialog.mainloop(??) tkinter.commondialog.re(??) tkinter.commondialog.sys(??) tkinter.commondialog.wantobjects tkinter.constants(??) tkinter.constants.ACTIVE tkinter.constants.ALL tkinter.constants.ANCHOR tkinter.constants.ARC tkinter.constants.BASELINE tkinter.constants.BEVEL tkinter.constants.BOTH tkinter.constants.BOTTOM tkinter.constants.BROWSE tkinter.constants.BUTT tkinter.constants.CASCADE tkinter.constants.CENTER tkinter.constants.CHAR tkinter.constants.CHECKBUTTON tkinter.constants.CHORD tkinter.constants.COMMAND tkinter.constants.CURRENT tkinter.constants.DISABLED tkinter.constants.DOTBOX tkinter.constants.E tkinter.constants.END tkinter.constants.EW tkinter.constants.EXTENDED tkinter.constants.FALSE tkinter.constants.FIRST tkinter.constants.FLAT tkinter.constants.GROOVE tkinter.constants.HIDDEN tkinter.constants.HORIZONTAL tkinter.constants.INSERT tkinter.constants.INSIDE tkinter.constants.LAST tkinter.constants.LEFT tkinter.constants.MITER tkinter.constants.MOVETO tkinter.constants.MULTIPLE tkinter.constants.N tkinter.constants.NE tkinter.constants.NO tkinter.constants.NONE tkinter.constants.NORMAL tkinter.constants.NS tkinter.constants.NSEW tkinter.constants.NUMERIC tkinter.constants.NW tkinter.constants.OFF tkinter.constants.ON tkinter.constants.OUTSIDE tkinter.constants.PAGES tkinter.constants.PIESLICE tkinter.constants.PROJECTING tkinter.constants.RADIOBUTTON tkinter.constants.RAISED tkinter.constants.RIDGE tkinter.constants.RIGHT tkinter.constants.ROUND tkinter.constants.S tkinter.constants.SCROLL tkinter.constants.SE tkinter.constants.SEL tkinter.constants.SEL_FIRST tkinter.constants.SEL_LAST tkinter.constants.SEPARATOR tkinter.constants.SINGLE tkinter.constants.SOLID tkinter.constants.SUNKEN tkinter.constants.SW tkinter.constants.TOP tkinter.constants.TRUE tkinter.constants.UNDERLINE tkinter.constants.UNITS tkinter.constants.VERTICAL tkinter.constants.W tkinter.constants.WORD tkinter.constants.X tkinter.constants.Y tkinter.constants.YES tkinter.dialog.ACTIVE tkinter.dialog.ALL tkinter.dialog.ANCHOR tkinter.dialog.ARC tkinter.dialog.BASELINE tkinter.dialog.BEVEL tkinter.dialog.BOTH tkinter.dialog.BOTTOM tkinter.dialog.BROWSE tkinter.dialog.BUTT tkinter.dialog.BaseWidget(??) tkinter.dialog.BitmapImage(??) tkinter.dialog.BooleanVar(??) tkinter.dialog.Button(??) tkinter.dialog.CASCADE tkinter.dialog.CENTER tkinter.dialog.CHAR tkinter.dialog.CHECKBUTTON tkinter.dialog.CHORD tkinter.dialog.COMMAND tkinter.dialog.CURRENT tkinter.dialog.CallWrapper(??) tkinter.dialog.Canvas(??) tkinter.dialog.Checkbutton(??) tkinter.dialog.DIALOG_ICON tkinter.dialog.DISABLED tkinter.dialog.DOTBOX tkinter.dialog.Dialog(??) tkinter.dialog.DoubleVar(??) tkinter.dialog.E tkinter.dialog.END tkinter.dialog.EW tkinter.dialog.EXCEPTION tkinter.dialog.EXTENDED tkinter.dialog.Entry(??) tkinter.dialog.Event(??) tkinter.dialog.FALSE tkinter.dialog.FIRST tkinter.dialog.FLAT tkinter.dialog.Frame(??) tkinter.dialog.GROOVE tkinter.dialog.Grid(??) tkinter.dialog.HIDDEN tkinter.dialog.HORIZONTAL tkinter.dialog.INSERT tkinter.dialog.INSIDE tkinter.dialog.Image(??) tkinter.dialog.IntVar(??) tkinter.dialog.LAST tkinter.dialog.LEFT tkinter.dialog.Label(??) tkinter.dialog.LabelFrame(??) tkinter.dialog.Listbox(??) tkinter.dialog.MITER tkinter.dialog.MOVETO tkinter.dialog.MULTIPLE tkinter.dialog.Menu(??) tkinter.dialog.Menubutton(??) tkinter.dialog.Message(??) tkinter.dialog.Misc(??) tkinter.dialog.N tkinter.dialog.NE tkinter.dialog.NO tkinter.dialog.NONE tkinter.dialog.NORMAL tkinter.dialog.NS tkinter.dialog.NSEW tkinter.dialog.NUMERIC tkinter.dialog.NW tkinter.dialog.NoDefaultRoot(??) tkinter.dialog.OFF tkinter.dialog.ON tkinter.dialog.OUTSIDE tkinter.dialog.OptionMenu(??) tkinter.dialog.PAGES tkinter.dialog.PIESLICE tkinter.dialog.PROJECTING tkinter.dialog.Pack(??) tkinter.dialog.PanedWindow(??) tkinter.dialog.PhotoImage(??) tkinter.dialog.Place(??) tkinter.dialog.RADIOBUTTON tkinter.dialog.RAISED tkinter.dialog.READABLE tkinter.dialog.RIDGE tkinter.dialog.RIGHT tkinter.dialog.ROUND tkinter.dialog.Radiobutton(??) tkinter.dialog.S tkinter.dialog.SCROLL tkinter.dialog.SE tkinter.dialog.SEL tkinter.dialog.SEL_FIRST tkinter.dialog.SEL_LAST tkinter.dialog.SEPARATOR tkinter.dialog.SINGLE tkinter.dialog.SOLID tkinter.dialog.SUNKEN tkinter.dialog.SW tkinter.dialog.Scale(??) tkinter.dialog.Scrollbar(??) tkinter.dialog.Spinbox(??) tkinter.dialog.StringVar(??) tkinter.dialog.TOP tkinter.dialog.TRUE tkinter.dialog.Tcl(??) tkinter.dialog.TclError(??) tkinter.dialog.TclVersion tkinter.dialog.Text(??) tkinter.dialog.Tk(??) tkinter.dialog.TkVersion tkinter.dialog.Toplevel(??) tkinter.dialog.UNDERLINE tkinter.dialog.UNITS tkinter.dialog.VERTICAL tkinter.dialog.Variable(??) tkinter.dialog.W tkinter.dialog.WORD tkinter.dialog.WRITABLE tkinter.dialog.Widget(??) tkinter.dialog.Wm(??) tkinter.dialog.X tkinter.dialog.XView(??) tkinter.dialog.Y tkinter.dialog.YES tkinter.dialog.YView(??) tkinter.dialog.colorchooser(??) tkinter.dialog.commondialog(??) tkinter.dialog.constants(??) tkinter.dialog.getboolean(??) tkinter.dialog.getdouble(??) tkinter.dialog.getint(??) tkinter.dialog.image_names(??) tkinter.dialog.image_types(??) tkinter.dialog.mainloop(??) tkinter.dialog.re(??) tkinter.dialog.sys(??) tkinter.dialog.wantobjects tkinter.dnd.DndHandler(??) tkinter.dnd.Icon(??) tkinter.dnd.Tester(??) tkinter.dnd.dnd_start(??) tkinter.dnd.test(??) tkinter.dnd.tkinter(??) tkinter.filedialog.ACTIVE tkinter.filedialog.ALL tkinter.filedialog.ANCHOR tkinter.filedialog.ARC tkinter.filedialog.BASELINE tkinter.filedialog.BEVEL tkinter.filedialog.BOTH tkinter.filedialog.BOTTOM tkinter.filedialog.BROWSE tkinter.filedialog.BUTT tkinter.filedialog.BaseWidget(??) tkinter.filedialog.BitmapImage(??) tkinter.filedialog.BooleanVar(??) tkinter.filedialog.Button(??) tkinter.filedialog.CASCADE tkinter.filedialog.CENTER tkinter.filedialog.CHAR tkinter.filedialog.CHECKBUTTON tkinter.filedialog.CHORD tkinter.filedialog.COMMAND tkinter.filedialog.CURRENT tkinter.filedialog.CallWrapper(??) tkinter.filedialog.Canvas(??) tkinter.filedialog.Checkbutton(??) tkinter.filedialog.DISABLED tkinter.filedialog.DOTBOX tkinter.filedialog.Dialog(??) tkinter.filedialog.Directory(??) tkinter.filedialog.DoubleVar(??) tkinter.filedialog.E tkinter.filedialog.END tkinter.filedialog.EW tkinter.filedialog.EXCEPTION tkinter.filedialog.EXTENDED tkinter.filedialog.Entry(??) tkinter.filedialog.Event(??) tkinter.filedialog.FALSE tkinter.filedialog.FIRST tkinter.filedialog.FLAT tkinter.filedialog.FileDialog(??) tkinter.filedialog.Frame(??) tkinter.filedialog.GROOVE tkinter.filedialog.Grid(??) tkinter.filedialog.HIDDEN tkinter.filedialog.HORIZONTAL tkinter.filedialog.INSERT tkinter.filedialog.INSIDE tkinter.filedialog.Image(??) tkinter.filedialog.IntVar(??) tkinter.filedialog.LAST tkinter.filedialog.LEFT tkinter.filedialog.Label(??) tkinter.filedialog.LabelFrame(??) tkinter.filedialog.Listbox(??) tkinter.filedialog.LoadFileDialog(??) tkinter.filedialog.MITER tkinter.filedialog.MOVETO tkinter.filedialog.MULTIPLE tkinter.filedialog.Menu(??) tkinter.filedialog.Menubutton(??) tkinter.filedialog.Message(??) tkinter.filedialog.Misc(??) tkinter.filedialog.N tkinter.filedialog.NE tkinter.filedialog.NO tkinter.filedialog.NONE tkinter.filedialog.NORMAL tkinter.filedialog.NS tkinter.filedialog.NSEW tkinter.filedialog.NUMERIC tkinter.filedialog.NW tkinter.filedialog.NoDefaultRoot(??) tkinter.filedialog.OFF tkinter.filedialog.ON tkinter.filedialog.OUTSIDE tkinter.filedialog.Open(??) tkinter.filedialog.OptionMenu(??) tkinter.filedialog.PAGES tkinter.filedialog.PIESLICE tkinter.filedialog.PROJECTING tkinter.filedialog.Pack(??) tkinter.filedialog.PanedWindow(??) tkinter.filedialog.PhotoImage(??) tkinter.filedialog.Place(??) tkinter.filedialog.RADIOBUTTON tkinter.filedialog.RAISED tkinter.filedialog.READABLE tkinter.filedialog.RIDGE tkinter.filedialog.RIGHT tkinter.filedialog.ROUND tkinter.filedialog.Radiobutton(??) tkinter.filedialog.S tkinter.filedialog.SCROLL tkinter.filedialog.SE tkinter.filedialog.SEL tkinter.filedialog.SEL_FIRST tkinter.filedialog.SEL_LAST tkinter.filedialog.SEPARATOR tkinter.filedialog.SINGLE tkinter.filedialog.SOLID tkinter.filedialog.SUNKEN tkinter.filedialog.SW tkinter.filedialog.SaveAs(??) tkinter.filedialog.SaveFileDialog(??) tkinter.filedialog.Scale(??) tkinter.filedialog.Scrollbar(??) tkinter.filedialog.Spinbox(??) tkinter.filedialog.StringVar(??) tkinter.filedialog.TOP tkinter.filedialog.TRUE tkinter.filedialog.Tcl(??) tkinter.filedialog.TclError(??) tkinter.filedialog.TclVersion tkinter.filedialog.Text(??) tkinter.filedialog.Tk(??) tkinter.filedialog.TkVersion tkinter.filedialog.Toplevel(??) tkinter.filedialog.UNDERLINE tkinter.filedialog.UNITS tkinter.filedialog.VERTICAL tkinter.filedialog.Variable(??) tkinter.filedialog.W tkinter.filedialog.WORD tkinter.filedialog.WRITABLE tkinter.filedialog.Widget(??) tkinter.filedialog.Wm(??) tkinter.filedialog.X tkinter.filedialog.XView(??) tkinter.filedialog.Y tkinter.filedialog.YES tkinter.filedialog.YView(??) tkinter.filedialog.askdirectory(??) tkinter.filedialog.askopenfile(??) tkinter.filedialog.askopenfilename(??) tkinter.filedialog.askopenfilenames(??) tkinter.filedialog.askopenfiles(??) tkinter.filedialog.asksaveasfile(??) tkinter.filedialog.asksaveasfilename(??) tkinter.filedialog.colorchooser(??) tkinter.filedialog.commondialog(??) tkinter.filedialog.constants(??) tkinter.filedialog.dialog(??) tkinter.filedialog.dialogstates(??) tkinter.filedialog.dnd(??) tkinter.filedialog.fnmatch(??) tkinter.filedialog.getboolean(??) tkinter.filedialog.getdouble(??) tkinter.filedialog.getint(??) tkinter.filedialog.image_names(??) tkinter.filedialog.image_types(??) tkinter.filedialog.mainloop(??) tkinter.filedialog.os(??) tkinter.filedialog.re(??) tkinter.filedialog.sys(??) tkinter.filedialog.test(??) tkinter.filedialog.wantobjects tkinter.font.BOLD tkinter.font.Font(??) tkinter.font.ITALIC tkinter.font.NORMAL tkinter.font.ROMAN tkinter.font.families(??) tkinter.font.itertools(??) tkinter.font.names(??) tkinter.font.nametofont(??) tkinter.font.tkinter(??) tkinter.getboolean(??) tkinter.getdouble(??) tkinter.getint(??) tkinter.image_names(??) tkinter.image_types(??) tkinter.mainloop(??) tkinter.messagebox.ABORT tkinter.messagebox.ABORTRETRYIGNORE tkinter.messagebox.CANCEL tkinter.messagebox.Dialog(??) tkinter.messagebox.ERROR tkinter.messagebox.IGNORE tkinter.messagebox.INFO tkinter.messagebox.Message(??) tkinter.messagebox.NO tkinter.messagebox.OK tkinter.messagebox.OKCANCEL tkinter.messagebox.QUESTION tkinter.messagebox.RETRY tkinter.messagebox.RETRYCANCEL tkinter.messagebox.WARNING tkinter.messagebox.YES tkinter.messagebox.YESNO tkinter.messagebox.YESNOCANCEL tkinter.messagebox.askokcancel(??) tkinter.messagebox.askquestion(??) tkinter.messagebox.askretrycancel(??) tkinter.messagebox.askyesno(??) tkinter.messagebox.askyesnocancel(??) tkinter.messagebox.showerror(??) tkinter.messagebox.showinfo(??) tkinter.messagebox.showwarning(??) tkinter.re(??) tkinter.scrolledtext.BOTH tkinter.scrolledtext.Frame(??) tkinter.scrolledtext.Grid(??) tkinter.scrolledtext.LEFT tkinter.scrolledtext.Pack(??) tkinter.scrolledtext.Place(??) tkinter.scrolledtext.RIGHT tkinter.scrolledtext.Scrollbar(??) tkinter.scrolledtext.ScrolledText(??) tkinter.scrolledtext.Text(??) tkinter.scrolledtext.Y tkinter.scrolledtext.example(??) tkinter.simpledialog.ACTIVE tkinter.simpledialog.ALL tkinter.simpledialog.ANCHOR tkinter.simpledialog.ARC tkinter.simpledialog.BASELINE tkinter.simpledialog.BEVEL tkinter.simpledialog.BOTH tkinter.simpledialog.BOTTOM tkinter.simpledialog.BROWSE tkinter.simpledialog.BUTT tkinter.simpledialog.BaseWidget(??) tkinter.simpledialog.BitmapImage(??) tkinter.simpledialog.BooleanVar(??) tkinter.simpledialog.Button(??) tkinter.simpledialog.CASCADE tkinter.simpledialog.CENTER tkinter.simpledialog.CHAR tkinter.simpledialog.CHECKBUTTON tkinter.simpledialog.CHORD tkinter.simpledialog.COMMAND tkinter.simpledialog.CURRENT tkinter.simpledialog.CallWrapper(??) tkinter.simpledialog.Canvas(??) tkinter.simpledialog.Checkbutton(??) tkinter.simpledialog.DISABLED tkinter.simpledialog.DOTBOX tkinter.simpledialog.Dialog(??) tkinter.simpledialog.DoubleVar(??) tkinter.simpledialog.E tkinter.simpledialog.END tkinter.simpledialog.EW tkinter.simpledialog.EXCEPTION tkinter.simpledialog.EXTENDED tkinter.simpledialog.Entry(??) tkinter.simpledialog.Event(??) tkinter.simpledialog.FALSE tkinter.simpledialog.FIRST tkinter.simpledialog.FLAT tkinter.simpledialog.Frame(??) tkinter.simpledialog.GROOVE tkinter.simpledialog.Grid(??) tkinter.simpledialog.HIDDEN tkinter.simpledialog.HORIZONTAL tkinter.simpledialog.INSERT tkinter.simpledialog.INSIDE tkinter.simpledialog.Image(??) tkinter.simpledialog.IntVar(??) tkinter.simpledialog.LAST tkinter.simpledialog.LEFT tkinter.simpledialog.Label(??) tkinter.simpledialog.LabelFrame(??) tkinter.simpledialog.Listbox(??) tkinter.simpledialog.MITER tkinter.simpledialog.MOVETO tkinter.simpledialog.MULTIPLE tkinter.simpledialog.Menu(??) tkinter.simpledialog.Menubutton(??) tkinter.simpledialog.Message(??) tkinter.simpledialog.Misc(??) tkinter.simpledialog.N tkinter.simpledialog.NE tkinter.simpledialog.NO tkinter.simpledialog.NONE tkinter.simpledialog.NORMAL tkinter.simpledialog.NS tkinter.simpledialog.NSEW tkinter.simpledialog.NUMERIC tkinter.simpledialog.NW tkinter.simpledialog.NoDefaultRoot(??) tkinter.simpledialog.OFF tkinter.simpledialog.ON tkinter.simpledialog.OUTSIDE tkinter.simpledialog.OptionMenu(??) tkinter.simpledialog.PAGES tkinter.simpledialog.PIESLICE tkinter.simpledialog.PROJECTING tkinter.simpledialog.Pack(??) tkinter.simpledialog.PanedWindow(??) tkinter.simpledialog.PhotoImage(??) tkinter.simpledialog.Place(??) tkinter.simpledialog.RADIOBUTTON tkinter.simpledialog.RAISED tkinter.simpledialog.READABLE tkinter.simpledialog.RIDGE tkinter.simpledialog.RIGHT tkinter.simpledialog.ROUND tkinter.simpledialog.Radiobutton(??) tkinter.simpledialog.S tkinter.simpledialog.SCROLL tkinter.simpledialog.SE tkinter.simpledialog.SEL tkinter.simpledialog.SEL_FIRST tkinter.simpledialog.SEL_LAST tkinter.simpledialog.SEPARATOR tkinter.simpledialog.SINGLE tkinter.simpledialog.SOLID tkinter.simpledialog.SUNKEN tkinter.simpledialog.SW tkinter.simpledialog.Scale(??) tkinter.simpledialog.Scrollbar(??) tkinter.simpledialog.SimpleDialog(??) tkinter.simpledialog.Spinbox(??) tkinter.simpledialog.StringVar(??) tkinter.simpledialog.TOP tkinter.simpledialog.TRUE tkinter.simpledialog.Tcl(??) tkinter.simpledialog.TclError(??) tkinter.simpledialog.TclVersion tkinter.simpledialog.Text(??) tkinter.simpledialog.Tk(??) tkinter.simpledialog.TkVersion tkinter.simpledialog.Toplevel(??) tkinter.simpledialog.UNDERLINE tkinter.simpledialog.UNITS tkinter.simpledialog.VERTICAL tkinter.simpledialog.Variable(??) tkinter.simpledialog.W tkinter.simpledialog.WORD tkinter.simpledialog.WRITABLE tkinter.simpledialog.Widget(??) tkinter.simpledialog.Wm(??) tkinter.simpledialog.X tkinter.simpledialog.XView(??) tkinter.simpledialog.Y tkinter.simpledialog.YES tkinter.simpledialog.YView(??) tkinter.simpledialog.askfloat(??) tkinter.simpledialog.askinteger(??) tkinter.simpledialog.askstring(??) tkinter.simpledialog.colorchooser(??) tkinter.simpledialog.commondialog(??) tkinter.simpledialog.constants(??) tkinter.simpledialog.dialog(??) tkinter.simpledialog.dnd(??) tkinter.simpledialog.filedialog(??) tkinter.simpledialog.font(??) tkinter.simpledialog.getboolean(??) tkinter.simpledialog.getdouble(??) tkinter.simpledialog.getint(??) tkinter.simpledialog.image_names(??) tkinter.simpledialog.image_types(??) tkinter.simpledialog.mainloop(??) tkinter.simpledialog.messagebox(??) tkinter.simpledialog.re(??) tkinter.simpledialog.scrolledtext(??) tkinter.simpledialog.sys(??) tkinter.simpledialog.tkinter(??) tkinter.simpledialog.wantobjects tkinter.sys(??) tkinter.tix.ACROSSTOP tkinter.tix.ACTIVE tkinter.tix.ALL tkinter.tix.ANCHOR tkinter.tix.ARC tkinter.tix.ASCII tkinter.tix.AUTO tkinter.tix.BALLOON tkinter.tix.BASELINE tkinter.tix.BEVEL tkinter.tix.BOTH tkinter.tix.BOTTOM tkinter.tix.BROWSE tkinter.tix.BUTT tkinter.tix.Balloon(??) tkinter.tix.BaseWidget(??) tkinter.tix.BitmapImage(??) tkinter.tix.BooleanVar(??) tkinter.tix.Button(??) tkinter.tix.ButtonBox(??) tkinter.tix.CASCADE tkinter.tix.CELL tkinter.tix.CENTER tkinter.tix.CHAR tkinter.tix.CHECKBUTTON tkinter.tix.CHORD tkinter.tix.COLUMN tkinter.tix.COMMAND tkinter.tix.CObjView(??) tkinter.tix.CURRENT tkinter.tix.CallWrapper(??) tkinter.tix.Canvas(??) tkinter.tix.CheckList(??) tkinter.tix.Checkbutton(??) tkinter.tix.ComboBox(??) tkinter.tix.Control(??) tkinter.tix.DECREASING tkinter.tix.DISABLED tkinter.tix.DOTBOX tkinter.tix.DialogShell(??) tkinter.tix.DirList(??) tkinter.tix.DirSelectBox(??) tkinter.tix.DirSelectDialog(??) tkinter.tix.DirTree(??) tkinter.tix.DisplayStyle(??) tkinter.tix.DoubleVar(??) tkinter.tix.E tkinter.tix.END tkinter.tix.EW tkinter.tix.EXCEPTION tkinter.tix.EXTENDED tkinter.tix.Entry(??) tkinter.tix.Event(??) tkinter.tix.ExFileSelectBox(??) tkinter.tix.ExFileSelectDialog(??) tkinter.tix.FALSE tkinter.tix.FIRST tkinter.tix.FLAT tkinter.tix.FileEntry(??) tkinter.tix.FileSelectBox(??) tkinter.tix.FileSelectDialog(??) tkinter.tix.FileTypeList(??) tkinter.tix.Form(??) tkinter.tix.Frame(??) tkinter.tix.GROOVE tkinter.tix.Grid(??) tkinter.tix.HIDDEN tkinter.tix.HList(??) tkinter.tix.HORIZONTAL tkinter.tix.IMAGE tkinter.tix.IMAGETEXT tkinter.tix.IMMEDIATE tkinter.tix.INCREASING tkinter.tix.INSERT tkinter.tix.INSIDE tkinter.tix.INTEGER tkinter.tix.Image(??) tkinter.tix.InputOnly(??) tkinter.tix.IntVar(??) tkinter.tix.LAST tkinter.tix.LEFT tkinter.tix.Label(??) tkinter.tix.LabelEntry(??) tkinter.tix.LabelFrame(??) tkinter.tix.ListNoteBook(??) tkinter.tix.Listbox(??) tkinter.tix.MAIN tkinter.tix.MAX tkinter.tix.MITER tkinter.tix.MOVETO tkinter.tix.MULTIPLE tkinter.tix.Menu(??) tkinter.tix.Menubutton(??) tkinter.tix.Message(??) tkinter.tix.Meter(??) tkinter.tix.Misc(??) tkinter.tix.N tkinter.tix.NE tkinter.tix.NO tkinter.tix.NONE tkinter.tix.NORMAL tkinter.tix.NS tkinter.tix.NSEW tkinter.tix.NUMERIC tkinter.tix.NW tkinter.tix.NoDefaultRoot(??) tkinter.tix.NoteBook(??) tkinter.tix.NoteBookFrame(??) tkinter.tix.OFF tkinter.tix.ON tkinter.tix.OUTSIDE tkinter.tix.OptionMenu(??) tkinter.tix.OptionName(??) tkinter.tix.PAGES tkinter.tix.PIESLICE tkinter.tix.PROJECTING tkinter.tix.Pack(??) tkinter.tix.PanedWindow(??) tkinter.tix.PhotoImage(??) tkinter.tix.Place(??) tkinter.tix.PopupMenu(??) tkinter.tix.RADIOBUTTON tkinter.tix.RAISED tkinter.tix.READABLE tkinter.tix.REAL tkinter.tix.RIDGE tkinter.tix.RIGHT tkinter.tix.ROUND tkinter.tix.ROW tkinter.tix.Radiobutton(??) tkinter.tix.ResizeHandle(??) tkinter.tix.S tkinter.tix.SCROLL tkinter.tix.SE tkinter.tix.SEL tkinter.tix.SEL_FIRST tkinter.tix.SEL_LAST tkinter.tix.SEPARATOR tkinter.tix.SINGLE tkinter.tix.SOLID tkinter.tix.STATUS tkinter.tix.SUNKEN tkinter.tix.SW tkinter.tix.S_REGION tkinter.tix.Scale(??) tkinter.tix.Scrollbar(??) tkinter.tix.ScrolledGrid(??) tkinter.tix.ScrolledHList(??) tkinter.tix.ScrolledListBox(??) tkinter.tix.ScrolledTList(??) tkinter.tix.ScrolledText(??) tkinter.tix.ScrolledWindow(??) tkinter.tix.Select(??) tkinter.tix.Shell(??) tkinter.tix.Spinbox(??) tkinter.tix.StdButtonBox(??) tkinter.tix.StringVar(??) tkinter.tix.TCL_ALL_EVENTS tkinter.tix.TCL_DONT_WAIT tkinter.tix.TCL_FILE_EVENTS tkinter.tix.TCL_IDLE_EVENTS tkinter.tix.TCL_TIMER_EVENTS tkinter.tix.TCL_WINDOW_EVENTS tkinter.tix.TEXT tkinter.tix.TList(??) tkinter.tix.TOP tkinter.tix.TRUE tkinter.tix.Tcl(??) tkinter.tix.TclError(??) tkinter.tix.TclVersion tkinter.tix.Text(??) tkinter.tix.TixSubWidget(??) tkinter.tix.TixWidget(??) tkinter.tix.Tk(??) tkinter.tix.TkVersion tkinter.tix.Toplevel(??) tkinter.tix.Tree(??) tkinter.tix.UNDERLINE tkinter.tix.UNITS tkinter.tix.VERTICAL tkinter.tix.Variable(??) tkinter.tix.W tkinter.tix.WINDOW tkinter.tix.WORD tkinter.tix.WRITABLE tkinter.tix.Widget(??) tkinter.tix.Wm(??) tkinter.tix.X tkinter.tix.XView(??) tkinter.tix.X_REGION tkinter.tix.Y tkinter.tix.YES tkinter.tix.YView(??) tkinter.tix.Y_REGION tkinter.tix.colorchooser(??) tkinter.tix.commondialog(??) tkinter.tix.constants(??) tkinter.tix.dialog(??) tkinter.tix.dnd(??) tkinter.tix.filedialog(??) tkinter.tix.font(??) tkinter.tix.getboolean(??) tkinter.tix.getdouble(??) tkinter.tix.getint(??) tkinter.tix.image_names(??) tkinter.tix.image_types(??) tkinter.tix.mainloop(??) tkinter.tix.messagebox(??) tkinter.tix.os(??) tkinter.tix.re(??) tkinter.tix.scrolledtext(??) tkinter.tix.simpledialog(??) tkinter.tix.sys(??) tkinter.tix.tixCommand(??) tkinter.tix.tkinter(??) tkinter.tix.wantobjects tkinter.ttk.Button(??) tkinter.ttk.Checkbutton(??) tkinter.ttk.Combobox(??) tkinter.ttk.Entry(??) tkinter.ttk.Frame(??) tkinter.ttk.Label(??) tkinter.ttk.LabelFrame(??) tkinter.ttk.LabeledScale(??) tkinter.ttk.Labelframe(??) tkinter.ttk.Menubutton(??) tkinter.ttk.Notebook(??) tkinter.ttk.OptionMenu(??) tkinter.ttk.PanedWindow(??) tkinter.ttk.Panedwindow(??) tkinter.ttk.Progressbar(??) tkinter.ttk.Radiobutton(??) tkinter.ttk.Scale(??) tkinter.ttk.Scrollbar(??) tkinter.ttk.Separator(??) tkinter.ttk.Sizegrip(??) tkinter.ttk.Style(??) tkinter.ttk.Treeview(??) tkinter.ttk.Widget(??) tkinter.ttk.setup_master(??) tkinter.ttk.tclobjs_to_py(??) tkinter.ttk.tkinter(??) tkinter.wantobjects token.AMPER token.AMPEREQUAL token.ASYNC token.AT token.ATEQUAL token.AWAIT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.ASYNC tokenize.AT tokenize.ATEQUAL tokenize.AWAIT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.EXACT_TOKEN_TYPES(??) tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.StringPrefix tokenize.TILDE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.blank_re(??) tokenize.chain(*iterables) --> chain object tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.endpats(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(??) tokenize.main(??) tokenize.maybe(??) tokenize.open(??) tokenize.re(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.triple_quoted(??) tokenize.untokenize(??) trace.CoverageResults(??) trace.Ignore(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.dis(??) trace.find_executable_linenos(??) trace.find_lines(??) trace.find_lines_from_code(??) trace.find_strings(??) trace.fullmodname(??) trace.gc(??) trace.inspect(??) trace.linecache(??) trace.main(??) trace.modname(??) trace.os(??) trace.pickle(??) trace.re(??) trace.rx_blank(??) trace.sys(??) trace.threading(??) trace.token(??) trace.tokenize(??) trace.usage(??) traceback.FrameSummary(??) traceback.StackSummary(??) traceback.TracebackException(??) traceback.clear_frames(??) traceback.collections(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.itertools(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) traceback.walk_stack(??) traceback.walk_tb(??) tracemalloc.Filter(??) tracemalloc.Frame(??) tracemalloc.Iterable(??) tracemalloc.Sequence(??) tracemalloc.Snapshot(??) tracemalloc.Statistic(??) tracemalloc.StatisticDiff(??) tracemalloc.Trace(??) tracemalloc.Traceback(??) tracemalloc.clear_traces() tracemalloc.fnmatch(??) tracemalloc.get_object_traceback(??) tracemalloc.get_traceback_limit() -> int tracemalloc.get_traced_memory() -> (int, int) tracemalloc.get_tracemalloc_memory() -> int tracemalloc.is_tracing()->bool tracemalloc.linecache(??) tracemalloc.os(??) tracemalloc.pickle(??) tracemalloc.start(nframe: int=1) tracemalloc.stop() tracemalloc.take_snapshot(??) tracemalloc.total_ordering(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.ISIG tty.ISPEED tty.ISTRIP tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSASOFT tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGPGRP tty.TIOCGWINSZ tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSETD tty.TIOCSPGRP tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> empty tuple turtle.Canvas(??) turtle.Pen(??) turtle.RawPen(??) turtle.RawTurtle(??) turtle.Screen(??) turtle.ScrolledCanvas(??) turtle.Shape(??) turtle.TK(??) turtle.TNavigator(??) turtle.TPen(??) turtle.Tbuffer(??) turtle.Terminator(??) turtle.Turtle(??) turtle.TurtleGraphicsError(??) turtle.TurtleScreen(??) turtle.TurtleScreenBase(??) turtle.Vec2D(??) turtle.addshape(??) turtle.back(??) turtle.backward(??) turtle.begin_fill(??) turtle.begin_poly(??) turtle.bgcolor(??) turtle.bgpic(??) turtle.bk(??) turtle.bye(??) turtle.circle(??) turtle.clear(??) turtle.clearscreen(??) turtle.clearstamp(??) turtle.clearstamps(??) turtle.clone(??) turtle.color(??) turtle.colormode(??) turtle.config_dict(??) turtle.deepcopy(??) turtle.degrees(??) turtle.delay(??) turtle.distance(??) turtle.done(??) turtle.dot(??) turtle.down(??) turtle.end_fill(??) turtle.end_poly(??) turtle.exitonclick(??) turtle.fd(??) turtle.fillcolor(??) turtle.filling(??) turtle.forward(??) turtle.get_poly(??) turtle.get_shapepoly(??) turtle.getcanvas(??) turtle.getmethparlist(??) turtle.getpen(??) turtle.getscreen(??) turtle.getshapes(??) turtle.getturtle(??) turtle.goto(??) turtle.heading(??) turtle.hideturtle(??) turtle.home(??) turtle.ht(??) turtle.inspect(??) turtle.isdown(??) turtle.isfile(??) turtle.isvisible(??) turtle.join(??) turtle.left(??) turtle.listen(??) turtle.lt(??) turtle.mainloop(??) turtle.math(??) turtle.mode(??) turtle.numinput(??) turtle.onclick(??) turtle.ondrag(??) turtle.onkey(??) turtle.onkeypress(??) turtle.onkeyrelease(??) turtle.onrelease(??) turtle.onscreenclick(??) turtle.ontimer(??) turtle.pd(??) turtle.pen(??) turtle.pencolor(??) turtle.pendown(??) turtle.pensize(??) turtle.penup(??) turtle.pos(??) turtle.position(??) turtle.pu(??) turtle.radians(??) turtle.read_docstrings(??) turtle.readconfig(??) turtle.register_shape(??) turtle.reset(??) turtle.resetscreen(??) turtle.resizemode(??) turtle.right(??) turtle.rt(??) turtle.screensize(??) turtle.seth(??) turtle.setheading(??) turtle.setpos(??) turtle.setposition(??) turtle.settiltangle(??) turtle.setundobuffer(??) turtle.setup(??) turtle.setworldcoordinates(??) turtle.setx(??) turtle.sety(??) turtle.shape(??) turtle.shapesize(??) turtle.shapetransform(??) turtle.shearfactor(??) turtle.showturtle(??) turtle.simpledialog(??) turtle.speed(??) turtle.split(??) turtle.st(??) turtle.stamp(??) turtle.sys(??) turtle.textinput(??) turtle.tilt(??) turtle.tiltangle(??) turtle.time(??) turtle.title(??) turtle.towards(??) turtle.tracer(??) turtle.turtles(??) turtle.turtlesize(??) turtle.types(??) turtle.undo (repeatedly) the last turtle action. turtle.undobufferentries(??) turtle.up(??) turtle.update(??) turtle.width(??) turtle.window_height(??) turtle.window_width(??) turtle.write(??) turtle.write_docstringdict(??) turtle.xcor(??) turtle.ycor(??) type(object_or_name, bases, dict) types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CodeType(??) types.CoroutineType(??) types.DynamicClassAttribute(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MappingProxyType(??) types.MemberDescriptorType(??) types.MethodType(??) types.ModuleType(??) types.SimpleNamespace(??) types.TracebackType(??) types.coroutine(??) types.new_class(??) types.prepare_class(??) typing.AbstractSet(??) typing.Any(??) typing.AnyMeta(??) typing.AnyStr(??) typing.BinaryIO(??) typing.ByteString(??) typing.Callable(??) typing.CallableMeta(??) typing.Container(??) typing.Dict(??) typing.Final(??) typing.FrozenSet(??) typing.Generator(??) typing.Generic(??) typing.GenericMeta(??) typing.Hashable(??) typing.IO(??) typing.ItemsView(??) typing.Iterable(??) typing.Iterator(??) typing.KT(??) typing.KeysView(??) typing.List(??) typing.Mapping(??) typing.MappingView(??) typing.Match(??) typing.MutableMapping(??) typing.MutableSequence(??) typing.MutableSet(??) typing.NamedTuple(??) typing.Optional(??) typing.OptionalMeta(??) typing.Pattern(??) typing.Reversible(??) typing.Sequence(??) typing.Set(??) typing.Sized(??) typing.SupportsAbs(??) typing.SupportsBytes(??) typing.SupportsComplex(??) typing.SupportsFloat(??) typing.SupportsInt(??) typing.SupportsRound(??) typing.T(??) typing.T_co(??) typing.T_contra(??) typing.TextIO(??) typing.Tuple(??) typing.TupleMeta(??) typing.TypeVar(??) typing.TypingMeta(??) typing.Union(??) typing.UnionMeta(??) typing.VT(??) typing.VT_co(??) typing.V_co(??) typing.ValuesView(??) typing.abc(??) typing.abstractmethod(??) typing.abstractproperty(??) typing.cast(??) typing.collections(??) typing.collections_abc(??) typing.functools(??) typing.get_type_hints(??) typing.io(??) typing.no_type_check(??) typing.no_type_check_decorator(??) typing.overload(??) typing.re(??) typing.stdlib_re(??) typing.sys(??) typing.types(??) urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.re(??) urllib.parse.scheme_chars urllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.parse.splitnport(??) urllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.parse.splitport('host:port') --> 'host', 'port'. urllib.parse.splitquery('/path?query') --> '/path', 'query'. urllib.parse.splittag('/path#tag') --> '/path', 'tag'. urllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.parse.splitvalue('attr=value') --> 'attr', 'value'. urllib.parse.sys(??) urllib.parse.to_bytes(u"URL") --> 'URL'. urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap('') --> 'type://host/path'. urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.DataHandler(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPPasswordMgrWithPriorAuth(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.collections(??) urllib.request.contextlib(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.getproxies_macosx_sysconf(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.proxy_bypass_macosx_sysconf(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.request.splitport('host:port') --> 'host', 'port'. urllib.request.splitquery('/path?query') --> '/path', 'query'. urllib.request.splittag('/path#tag') --> '/path', 'tag'. urllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.request.splitvalue('attr=value') --> 'attr', 'value'. urllib.request.ssl(??) urllib.request.sys(??) urllib.request.tempfile(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.to_bytes(u"URL") --> 'URL'. urllib.request.unquote(??) urllib.request.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.request.unwrap('') --> 'type://host/path'. urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.request.warnings(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.response.tempfile(??) urllib.robotparser.Entry(??) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID(??) uuid.bytes_(??) uuid.ctypes(??) uuid.getnode(??) uuid.int_(??) uuid.lib(??) uuid.libname uuid.os(??) uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary venv.EnvBuilder(??) venv.create(??) venv.logger(??) venv.logging(??) venv.main(??) venv.os(??) venv.shutil(??) venv.subprocess(??) venv.sys(??) venv.types(??) warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.audioop(??) wave.builtins(??) wave.namedtuple(??) wave.open(??) wave.openfp(??) wave.struct(??) wave.sys(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakMethod(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.collections(??) weakref.finalize(??) weakref.getweakrefcount(??) weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.itertools(??) weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) weakref.sys(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Chrome(??) webbrowser.Chromium(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.MacOSX(??) webbrowser.MacOSXOSAScript(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex(??) webbrowser.shutil(??) webbrowser.subprocess(??) webbrowser.sys(??) wsgiref.handlers(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.python_implementation(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO(??) xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.raise_conversion_error(??) xdrlib.struct(??) xdrlib.wraps(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.warnings(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLPullParser(??) xml.etree.ElementTree.contextlib(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.io(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(??) xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate(??) xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.codecs(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.io(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO(??) xmlrpc.client.DateTime(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.loads(??) xmlrpc.client.sys(??) xmlrpc.client.time(??) xmlrpc.client.urllib(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.http(??) xmlrpc.server.inspect(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(iter1 [,iter2 [...]]) --> zip object zipapp.MAIN_TEMPLATE zipapp.ZipAppError(??) zipapp.contextlib(??) zipapp.create_archive(??) zipapp.get_interpreter(??) zipapp.main(??) zipapp.os(??) zipapp.pathlib(??) zipapp.shebang_encoding zipapp.shutil(??) zipapp.stat(??) zipapp.sys(??) zipapp.zipfile(??) zipfile.BZIP2_VERSION zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.DEFAULT_VERSION zipfile.LZMACompressor(??) zipfile.LZMADecompressor(??) zipfile.LZMA_VERSION zipfile.LargeZipFile(??) zipfile.MAX_EXTRACT_VERSION zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP64_VERSION zipfile.ZIP_BZIP2 zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_LZMA zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.bz2(??) zipfile.compressor_names(??) zipfile.crc32(??) zipfile.error(??) zipfile.importlib(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.lzma(??) zipfile.main(??) zipfile.os(??) zipfile.re(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.threading(??) zipfile.time(??) zipfile.zlib(??) zipimport.ZipImportError(??) zipimport.zipimporter(archivepath) -> zipimporter object ================================================ FILE: src/qscint/qsci/api/python/Python-3.6.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BlockingIOError(??) BrokenPipeError(??) BufferError(??) BytesWarning(??) ChildProcessError(??) ConnectionAbortedError(??) ConnectionError(??) ConnectionRefusedError(??) ConnectionResetError(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FileExistsError(??) FileNotFoundError(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) InterruptedError(??) IsADirectoryError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) ModuleNotFoundError(??) NameError(??) None(??) NotADirectoryError(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) PermissionError(??) ProcessLookupError(??) RecursionError(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopAsyncIteration(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) TimeoutError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABC(??) abc.ABCMeta(??) abc.WeakSet(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abc.get_cache_token(??) abs(??) aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.namedtuple(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) aifc.warnings(??) all(??) any(??) argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.MetavarTypeHelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) ascii(??) ast.AST(??) ast.Add(??) ast.And(??) ast.AnnAssign(??) ast.Assert(??) ast.Assign(??) ast.AsyncFor(??) ast.AsyncFunctionDef(??) ast.AsyncWith(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.Await(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Constant(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FormattedValue(??) ast.FunctionDef(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.JoinedStr(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.MatMult(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NameConstant(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ONLY_AST ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.Try(??) ast.Tuple(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.YieldFrom(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.unaryop(??) ast.walk(??) ast.withitem(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.deque([iterable[, maxlen]]) --> deque object asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asyncio.ALL_COMPLETED asyncio.AbstractChildWatcher(??) asyncio.AbstractEventLoop(??) asyncio.AbstractEventLoopPolicy(??) asyncio.AbstractServer(??) asyncio.BaseEventLoop(??) asyncio.BaseProtocol(??) asyncio.BaseTransport(??) asyncio.BoundedSemaphore(??) asyncio.CancelledError(??) asyncio.Condition(??) asyncio.DatagramProtocol(??) asyncio.DatagramTransport(??) asyncio.DefaultEventLoopPolicy(??) asyncio.Event(??) asyncio.FIRST_COMPLETED asyncio.FIRST_EXCEPTION asyncio.FastChildWatcher(??) asyncio.Future(??) asyncio.Handle(??) asyncio.IncompleteReadError(??) asyncio.InvalidStateError(??) asyncio.LifoQueue(??) asyncio.LimitOverrunError(??) asyncio.Lock(??) asyncio.PriorityQueue(??) asyncio.Protocol(??) asyncio.Queue(??) asyncio.QueueEmpty(??) asyncio.QueueFull(??) asyncio.ReadTransport(??) asyncio.SafeChildWatcher(??) asyncio.SelectorEventLoop(??) asyncio.Semaphore(??) asyncio.StreamReader(??) asyncio.StreamReaderProtocol(??) asyncio.StreamWriter(??) asyncio.SubprocessProtocol(??) asyncio.SubprocessTransport(??) asyncio.Task(??) asyncio.TimeoutError(??) asyncio.TimerHandle(??) asyncio.Transport(??) asyncio.WriteTransport(??) asyncio.as_completed(??) asyncio.async(??) asyncio.base_events(??) asyncio.base_events.BaseEventLoop(??) asyncio.base_events.Server(??) asyncio.base_events.collections(??) asyncio.base_events.compat(??) asyncio.base_events.concurrent(??) asyncio.base_events.coroutine(??) asyncio.base_events.coroutines(??) asyncio.base_events.events(??) asyncio.base_events.futures(??) asyncio.base_events.heapq(??) asyncio.base_events.inspect(??) asyncio.base_events.itertools(??) asyncio.base_events.logger(??) asyncio.base_events.logging(??) asyncio.base_events.os(??) asyncio.base_events.socket(??) asyncio.base_events.subprocess(??) asyncio.base_events.sys(??) asyncio.base_events.tasks(??) asyncio.base_events.threading(??) asyncio.base_events.time(??) asyncio.base_events.traceback(??) asyncio.base_events.warnings(??) asyncio.base_events.weakref(??) asyncio.base_futures(??) asyncio.base_futures.CancelledError(??) asyncio.base_futures.Error(??) asyncio.base_futures.InvalidStateError(??) asyncio.base_futures.TimeoutError(??) asyncio.base_futures.concurrent(??) asyncio.base_futures.events(??) asyncio.base_futures.isfuture(??) asyncio.base_futures.reprlib(??) asyncio.base_subprocess(??) asyncio.base_subprocess.BaseSubprocessTransport(??) asyncio.base_subprocess.ReadSubprocessPipeProto(??) asyncio.base_subprocess.WriteSubprocessPipeProto(??) asyncio.base_subprocess.collections(??) asyncio.base_subprocess.compat(??) asyncio.base_subprocess.coroutine(??) asyncio.base_subprocess.logger(??) asyncio.base_subprocess.protocols(??) asyncio.base_subprocess.subprocess(??) asyncio.base_subprocess.transports(??) asyncio.base_subprocess.warnings(??) asyncio.base_tasks(??) asyncio.base_tasks.base_futures(??) asyncio.base_tasks.coroutines(??) asyncio.base_tasks.linecache(??) asyncio.base_tasks.traceback(??) asyncio.compat(??) asyncio.compat.PY34(??) asyncio.compat.PY35(??) asyncio.compat.PY352(??) asyncio.compat.flatten_list_bytes(??) asyncio.compat.sys(??) asyncio.constants(??) asyncio.constants.ACCEPT_RETRY_DELAY asyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES asyncio.coroutine(??) asyncio.coroutines(??) asyncio.coroutines.CoroWrapper(??) asyncio.coroutines.base_futures(??) asyncio.coroutines.compat(??) asyncio.coroutines.coroutine(??) asyncio.coroutines.debug_wrapper(??) asyncio.coroutines.events(??) asyncio.coroutines.functools(??) asyncio.coroutines.inspect(??) asyncio.coroutines.iscoroutine(??) asyncio.coroutines.iscoroutinefunction(??) asyncio.coroutines.logger(??) asyncio.coroutines.opcode(??) asyncio.coroutines.os(??) asyncio.coroutines.sys(??) asyncio.coroutines.traceback(??) asyncio.coroutines.types(??) asyncio.create_subprocess_exec(??) asyncio.create_subprocess_shell(??) asyncio.ensure_future(??) asyncio.events(??) asyncio.events.AbstractEventLoop(??) asyncio.events.AbstractEventLoopPolicy(??) asyncio.events.AbstractServer(??) asyncio.events.BaseDefaultEventLoopPolicy(??) asyncio.events.Handle(??) asyncio.events.TimerHandle(??) asyncio.events.compat(??) asyncio.events.functools(??) asyncio.events.get_child_watcher(??) asyncio.events.get_event_loop(??) asyncio.events.get_event_loop_policy(??) asyncio.events.inspect(??) asyncio.events.new_event_loop(??) asyncio.events.reprlib(??) asyncio.events.set_child_watcher(??) asyncio.events.set_event_loop(??) asyncio.events.set_event_loop_policy(??) asyncio.events.socket(??) asyncio.events.subprocess(??) asyncio.events.sys(??) asyncio.events.threading(??) asyncio.events.traceback(??) asyncio.futures(??) asyncio.futures.CancelledError(??) asyncio.futures.Future(??) asyncio.futures.InvalidStateError(??) asyncio.futures.STACK_DEBUG asyncio.futures.TimeoutError(??) asyncio.futures.base_futures(??) asyncio.futures.compat(??) asyncio.futures.concurrent(??) asyncio.futures.events(??) asyncio.futures.isfuture(??) asyncio.futures.logging(??) asyncio.futures.sys(??) asyncio.futures.traceback(??) asyncio.futures.wrap_future(??) asyncio.gather(??) asyncio.get_child_watcher(??) asyncio.get_event_loop(??) asyncio.get_event_loop_policy(??) asyncio.iscoroutine(??) asyncio.iscoroutinefunction(??) asyncio.isfuture(??) asyncio.locks(??) asyncio.locks.BoundedSemaphore(??) asyncio.locks.Condition(??) asyncio.locks.Event(??) asyncio.locks.Lock(??) asyncio.locks.Semaphore(??) asyncio.locks.collections(??) asyncio.locks.compat(??) asyncio.locks.coroutine(??) asyncio.locks.events(??) asyncio.locks.futures(??) asyncio.log(??) asyncio.log.logger(??) asyncio.log.logging(??) asyncio.new_event_loop(??) asyncio.open_connection(??) asyncio.open_unix_connection(??) asyncio.proactor_events.BaseProactorEventLoop(??) asyncio.proactor_events.base_events(??) asyncio.proactor_events.compat(??) asyncio.proactor_events.constants(??) asyncio.proactor_events.futures(??) asyncio.proactor_events.logger(??) asyncio.proactor_events.socket(??) asyncio.proactor_events.sslproto(??) asyncio.proactor_events.transports(??) asyncio.proactor_events.warnings(??) asyncio.protocols(??) asyncio.protocols.BaseProtocol(??) asyncio.protocols.DatagramProtocol(??) asyncio.protocols.Protocol(??) asyncio.protocols.SubprocessProtocol(??) asyncio.queues(??) asyncio.queues.LifoQueue(??) asyncio.queues.PriorityQueue(??) asyncio.queues.Queue(??) asyncio.queues.QueueEmpty(??) asyncio.queues.QueueFull(??) asyncio.queues.collections(??) asyncio.queues.compat(??) asyncio.queues.coroutine(??) asyncio.queues.events(??) asyncio.queues.heapq(??) asyncio.queues.locks(??) asyncio.run_coroutine_threadsafe(??) asyncio.selector_events(??) asyncio.selector_events.BaseSelectorEventLoop(??) asyncio.selector_events.base_events(??) asyncio.selector_events.collections(??) asyncio.selector_events.compat(??) asyncio.selector_events.constants(??) asyncio.selector_events.coroutine(??) asyncio.selector_events.errno(??) asyncio.selector_events.events(??) asyncio.selector_events.functools(??) asyncio.selector_events.futures(??) asyncio.selector_events.logger(??) asyncio.selector_events.selectors(??) asyncio.selector_events.socket(??) asyncio.selector_events.ssl(??) asyncio.selector_events.sslproto(??) asyncio.selector_events.transports(??) asyncio.selector_events.warnings(??) asyncio.selector_events.weakref(??) asyncio.selectors(??) asyncio.set_child_watcher(??) asyncio.set_event_loop(??) asyncio.set_event_loop_policy(??) asyncio.shield(??) asyncio.sleep(??) asyncio.sslproto(??) asyncio.sslproto.SSLProtocol(??) asyncio.sslproto.base_events(??) asyncio.sslproto.collections(??) asyncio.sslproto.compat(??) asyncio.sslproto.logger(??) asyncio.sslproto.protocols(??) asyncio.sslproto.ssl(??) asyncio.sslproto.transports(??) asyncio.sslproto.warnings(??) asyncio.start_server(??) asyncio.start_unix_server(??) asyncio.streams(??) asyncio.streams.FlowControlMixin(??) asyncio.streams.IncompleteReadError(??) asyncio.streams.LimitOverrunError(??) asyncio.streams.StreamReader(??) asyncio.streams.StreamReaderProtocol(??) asyncio.streams.StreamWriter(??) asyncio.streams.compat(??) asyncio.streams.coroutine(??) asyncio.streams.coroutines(??) asyncio.streams.events(??) asyncio.streams.logger(??) asyncio.streams.open_connection(??) asyncio.streams.open_unix_connection(??) asyncio.streams.protocols(??) asyncio.streams.socket(??) asyncio.streams.start_server(??) asyncio.streams.start_unix_server(??) asyncio.subprocess(??) asyncio.subprocess.DEVNULL asyncio.subprocess.PIPE asyncio.subprocess.Process(??) asyncio.subprocess.STDOUT asyncio.subprocess.SubprocessStreamProtocol(??) asyncio.subprocess.coroutine(??) asyncio.subprocess.create_subprocess_exec(??) asyncio.subprocess.create_subprocess_shell(??) asyncio.subprocess.events(??) asyncio.subprocess.logger(??) asyncio.subprocess.protocols(??) asyncio.subprocess.streams(??) asyncio.subprocess.subprocess(??) asyncio.subprocess.tasks(??) asyncio.sys(??) asyncio.tasks(??) asyncio.tasks.ALL_COMPLETED asyncio.tasks.FIRST_COMPLETED asyncio.tasks.FIRST_EXCEPTION asyncio.tasks.Task(??) asyncio.tasks.as_completed(??) asyncio.tasks.async(??) asyncio.tasks.base_tasks(??) asyncio.tasks.compat(??) asyncio.tasks.concurrent(??) asyncio.tasks.coroutine(??) asyncio.tasks.coroutines(??) asyncio.tasks.ensure_future(??) asyncio.tasks.events(??) asyncio.tasks.functools(??) asyncio.tasks.futures(??) asyncio.tasks.gather(??) asyncio.tasks.inspect(??) asyncio.tasks.run_coroutine_threadsafe(??) asyncio.tasks.shield(??) asyncio.tasks.sleep(??) asyncio.tasks.wait(??) asyncio.tasks.wait_for(??) asyncio.tasks.warnings(??) asyncio.tasks.weakref(??) asyncio.test_utils.HTTPServer(??) asyncio.test_utils.MockCallback(??) asyncio.test_utils.MockPattern(??) asyncio.test_utils.SSLWSGIServer(??) asyncio.test_utils.SSLWSGIServerMixin(??) asyncio.test_utils.SilentUnixWSGIServer(??) asyncio.test_utils.SilentWSGIRequestHandler(??) asyncio.test_utils.SilentWSGIServer(??) asyncio.test_utils.TestCase(??) asyncio.test_utils.TestLoop(??) asyncio.test_utils.TestSelector(??) asyncio.test_utils.UnixHTTPServer(??) asyncio.test_utils.UnixSSLWSGIServer(??) asyncio.test_utils.UnixWSGIServer(??) asyncio.test_utils.WSGIRequestHandler(??) asyncio.test_utils.WSGIServer(??) asyncio.test_utils.base_events(??) asyncio.test_utils.collections(??) asyncio.test_utils.compat(??) asyncio.test_utils.contextlib(??) asyncio.test_utils.coroutine(??) asyncio.test_utils.disable_logger(??) asyncio.test_utils.dummy_ssl_context(??) asyncio.test_utils.events(??) asyncio.test_utils.force_legacy_ssl_support(??) asyncio.test_utils.futures(??) asyncio.test_utils.gen_unix_socket_path(??) asyncio.test_utils.get_function_source(??) asyncio.test_utils.io(??) asyncio.test_utils.logger(??) asyncio.test_utils.logging(??) asyncio.test_utils.make_test_protocol(??) asyncio.test_utils.mock(??) asyncio.test_utils.mock_nonblocking_socket(??) asyncio.test_utils.os(??) asyncio.test_utils.re(??) asyncio.test_utils.run_briefly(??) asyncio.test_utils.run_once(??) asyncio.test_utils.run_test_server(??) asyncio.test_utils.run_test_unix_server(??) asyncio.test_utils.run_until(??) asyncio.test_utils.selectors(??) asyncio.test_utils.socket(??) asyncio.test_utils.socketpair([family[, type[, proto]]]) -> (socket object, socket object) asyncio.test_utils.socketserver(??) asyncio.test_utils.ssl(??) asyncio.test_utils.sys(??) asyncio.test_utils.tasks(??) asyncio.test_utils.tempfile(??) asyncio.test_utils.threading(??) asyncio.test_utils.time(??) asyncio.test_utils.unittest(??) asyncio.test_utils.unix_socket_path(??) asyncio.test_utils.weakref(??) asyncio.transports(??) asyncio.transports.BaseTransport(??) asyncio.transports.DatagramTransport(??) asyncio.transports.ReadTransport(??) asyncio.transports.SubprocessTransport(??) asyncio.transports.Transport(??) asyncio.transports.WriteTransport(??) asyncio.transports.compat(??) asyncio.unix_events(??) asyncio.unix_events.AbstractChildWatcher(??) asyncio.unix_events.BaseChildWatcher(??) asyncio.unix_events.DefaultEventLoopPolicy(??) asyncio.unix_events.FastChildWatcher(??) asyncio.unix_events.SafeChildWatcher(??) asyncio.unix_events.SelectorEventLoop(??) asyncio.unix_events.base_events(??) asyncio.unix_events.base_subprocess(??) asyncio.unix_events.compat(??) asyncio.unix_events.constants(??) asyncio.unix_events.coroutine(??) asyncio.unix_events.coroutines(??) asyncio.unix_events.errno(??) asyncio.unix_events.events(??) asyncio.unix_events.futures(??) asyncio.unix_events.logger(??) asyncio.unix_events.os(??) asyncio.unix_events.selector_events(??) asyncio.unix_events.selectors(??) asyncio.unix_events.signal(??) asyncio.unix_events.socket(??) asyncio.unix_events.stat(??) asyncio.unix_events.subprocess(??) asyncio.unix_events.sys(??) asyncio.unix_events.threading(??) asyncio.unix_events.transports(??) asyncio.unix_events.warnings(??) asyncio.wait(??) asyncio.wait_for(??) asyncio.wrap_future(??) asyncore.EAGAIN asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.EPIPE asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None base64.MAXBINSIZE base64.MAXLINESIZE base64.a85decode(??) base64.a85encode(??) base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.b85decode(??) base64.b85encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.CO_GENERATOR bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BlockingIOError(??) builtins.BrokenPipeError(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.ChildProcessError(??) builtins.ConnectionAbortedError(??) builtins.ConnectionError(??) builtins.ConnectionRefusedError(??) builtins.ConnectionResetError(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FileExistsError(??) builtins.FileNotFoundError(??) builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.InterruptedError(??) builtins.IsADirectoryError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.ModuleNotFoundError(??) builtins.NameError(??) builtins.None builtins.NotADirectoryError(??) builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.PermissionError(??) builtins.ProcessLookupError(??) builtins.RecursionError(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopAsyncIteration(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.TimeoutError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(??) builtins.all(??) builtins.any(??) builtins.ascii(??) builtins.bin(??) builtins.bool(x) -> bool builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(??) builtins.chr(??) builtins.classmethod(function) -> method builtins.compile(??) builtins.complex(real[, imag]) -> complex number builtins.copyright(??) builtins.credits(??) builtins.delattr(??) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(??) builtins.enumerate(iterable[, start]) -> iterator for index, value of iterable builtins.eval(??) builtins.exec(??) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(x) -> floating point number builtins.format(??) builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals(??) builtins.hasattr(??) builtins.hash(??) builtins.help(??) builtins.hex(??) builtins.id(??) builtins.input(??) builtins.int(x=0) -> integer builtins.isinstance(??) builtins.issubclass(??) builtins.iter(iterable) -> iterator builtins.len(??) builtins.license(??) builtins.list() -> new empty list builtins.locals(??) builtins.map(func, *iterables) --> map object builtins.max(iterable, *[, default=obj, key=func]) -> value builtins.memoryview(??) builtins.min(iterable, *[, default=obj, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(??) builtins.open(??) builtins.ord(??) builtins.pow(??) builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) builtins.property(fget=None, fset=None, fdel=None, doc=None) -> property attribute builtins.quit(??) builtins.range(stop) -> range object builtins.repr(??) builtins.reversed(sequence) -> reverse iterator over values of the sequence builtins.round(number[, ndigits]) -> number builtins.set() -> new empty set object builtins.setattr(??) builtins.slice(stop) builtins.sorted(??) builtins.staticmethod(function) -> method builtins.str(object='') -> str builtins.sum(??) builtins.super() -> same as super(__class__, ) builtins.tuple() -> empty tuple builtins.type(object_or_name, bases, dict) builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor(??) bz2.BZ2Decompressor(??) bz2.BZ2File(??) bz2.RLock(??) bz2.compress(??) bz2.decompress(??) bz2.io(??) bz2.open(??) bz2.os(??) bz2.warnings(??) cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.repeat(object [,times]) -> create an iterator which returns the object calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(??) cgi.BytesIO(??) cgi.FeedParser(??) cgi.FieldStorage(??) cgi.Mapping(??) cgi.Message(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.closelog(??) cgi.dolog(??) cgi.escape(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgi.warn(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) chr(??) chunk.Chunk(??) classmethod(function) -> method cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.argparse(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(??) codecs.encode(??) codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(??) codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.namereplace_errors(??) codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(??) codecs.register_error(??) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.unicode_internal_decode(??) codecs.unicode_internal_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.AsyncGenerator(??) collections.AsyncIterable(??) collections.AsyncIterator(??) collections.Awaitable(??) collections.ByteString(??) collections.Callable(??) collections.ChainMap(??) collections.Collection(??) collections.Container(??) collections.Coroutine(??) collections.Counter(??) collections.Generator(??) collections.Hashable(??) collections.ItemsView(??) collections.Iterable(??) collections.Iterator(??) collections.KeysView(??) collections.Mapping(??) collections.MappingView(??) collections.MutableMapping(??) collections.MutableSequence(??) collections.MutableSet(??) collections.OrderedDict(??) collections.Reversible(??) collections.Sequence(??) collections.Set(??) collections.Sized(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.ValuesView(??) collections.abc(??) collections.abc.AsyncGenerator(??) collections.abc.AsyncIterable(??) collections.abc.AsyncIterator(??) collections.abc.Awaitable(??) collections.abc.ByteString(??) collections.abc.Callable(??) collections.abc.Collection(??) collections.abc.Container(??) collections.abc.Coroutine(??) collections.abc.Generator(??) collections.abc.Hashable(??) collections.abc.ItemsView(??) collections.abc.Iterable(??) collections.abc.Iterator(??) collections.abc.KeysView(??) collections.abc.Mapping(??) collections.abc.MappingView(??) collections.abc.MutableMapping(??) collections.abc.MutableSequence(??) collections.abc.MutableSet(??) collections.abc.Reversible(??) collections.abc.Sequence(??) collections.abc.Set(??) collections.abc.Sized(??) collections.abc.ValuesView(??) collections.defaultdict(default_factory[, ...]) --> dict with default factory collections.deque([iterable[, maxlen]]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(??) compileall.ProcessPoolExecutor(??) compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.importlib(??) compileall.main(??) compileall.os(??) compileall.partial(func, *args, **keywords) - new function with partial application compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(real[, imag]) -> complex number concurrent.futures(??) concurrent.futures.ALL_COMPLETED concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process(??) concurrent.futures.process.BrokenProcessPool(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.Full(??) concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.SimpleQueue(??) concurrent.futures.process.atexit(??) concurrent.futures.process.itertools(??) concurrent.futures.process.multiprocessing(??) concurrent.futures.process.os(??) concurrent.futures.process.partial(func, *args, **keywords) - new function with partial application concurrent.futures.process.queue(??) concurrent.futures.process.threading(??) concurrent.futures.process.traceback(??) concurrent.futures.process.wait(??) concurrent.futures.process.weakref(??) concurrent.futures.thread(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.atexit(??) concurrent.futures.thread.os(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.ConverterMapping(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.AbstractContextManager(??) contextlib.ContextDecorator(??) contextlib.ExitStack(??) contextlib.abc(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.deque([iterable[, maxlen]]) --> deque object contextlib.redirect_stderr(??) contextlib.redirect_stdout(??) contextlib.suppress(??) contextlib.sys(??) contextlib.wraps(??) copy.Error(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.METHOD_CRYPT(??) crypt.METHOD_MD5(??) crypt.METHOD_SHA256(??) crypt.METHOD_SHA512(??) crypt.crypt(??) crypt.methods(??) crypt.mksalt(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.OrderedDict(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable, r) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns ctypes.macholib.dyld.islice(iterable, stop) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables, repeat=1) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.shutil(??) ctypes.util.subprocess(??) ctypes.util.sys(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.newpad(??) curses.newwin(??) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.unget_wch(??) curses.ungetch(??) curses.ungetmouse(??) curses.update_lines_cols(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.wrapper(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(??) dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.FloatOperation(??) decimal.HAVE_THREADS(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.MAX_EMAX decimal.MAX_PREC decimal.MIN_EMIN decimal.MIN_ETINY decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(??) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.diff_bytes(??) difflib.get_close_matches(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dis.Bytecode(??) dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.FORMAT_VALUE dis.HAVE_ARGUMENT dis.Instruction(??) dis.cmp_op(??) dis.code_info(??) dis.collections(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.get_instructions(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.hasnargs(??) dis.io(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.stack_effect(??) dis.sys(??) dis.types(??) divmod(??) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.FAIL_FAST doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.argparse(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) dummy_threading.Barrier(??) dummy_threading.BoundedSemaphore(??) dummy_threading.BrokenBarrierError(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.TIMEOUT_MAX dummy_threading.Thread(??) dummy_threading.ThreadError(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.get_ident(??) dummy_threading.local(??) dummy_threading.main_thread(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.contentmanager.ContentManager(??) email.contentmanager.binascii(??) email.contentmanager.email(??) email.contentmanager.get_and_fixup_unknown_message_content(??) email.contentmanager.get_message_content(??) email.contentmanager.get_non_text_content(??) email.contentmanager.get_text_content(??) email.contentmanager.maintype email.contentmanager.quoprimime(??) email.contentmanager.raw_data_manager(??) email.contentmanager.set_bytes_content(??) email.contentmanager.set_message_content(??) email.contentmanager.set_text_content(??) email.contentmanager.subtype email.contentmanager.typ(??) email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.CloseBoundaryNotFoundDefect(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderDefect(??) email.errors.HeaderMissingRequiredValue(??) email.errors.HeaderParseError(??) email.errors.InvalidBase64CharactersDefect(??) email.errors.InvalidBase64PaddingDefect(??) email.errors.InvalidHeaderDefect(??) email.errors.InvalidMultipartContentTransferEncodingDefect(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MissingHeaderBodySeparatorDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.NonASCIILocalPartDefect(??) email.errors.NonPrintableDefect(??) email.errors.ObsoleteHeaderDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.errors.UndecodableBytesDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.StringIO(??) email.feedparser.compat32(??) email.feedparser.deque([iterable[, maxlen]]) --> deque object email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.re(??) email.generator.BytesGenerator(??) email.generator.BytesIO(??) email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.NL email.generator.NLCRE(??) email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.deepcopy(??) email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.FWS email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.headerregistry.Address(??) email.headerregistry.AddressHeader(??) email.headerregistry.BaseHeader(??) email.headerregistry.ContentDispositionHeader(??) email.headerregistry.ContentTransferEncodingHeader(??) email.headerregistry.ContentTypeHeader(??) email.headerregistry.DateHeader(??) email.headerregistry.Group(??) email.headerregistry.HeaderRegistry(??) email.headerregistry.MIMEVersionHeader(??) email.headerregistry.MappingProxyType(??) email.headerregistry.ParameterizedMIMEHeader(??) email.headerregistry.SingleAddressHeader(??) email.headerregistry.UniqueAddressHeader(??) email.headerregistry.UniqueDateHeader(??) email.headerregistry.UniqueSingleAddressHeader(??) email.headerregistry.UniqueUnstructuredHeader(??) email.headerregistry.UnstructuredHeader(??) email.headerregistry.errors(??) email.headerregistry.parser(??) email.headerregistry.utils(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO(??) email.message.Charset(??) email.message.EmailMessage(??) email.message.MIMEPart(??) email.message.Message(??) email.message.Policy(??) email.message.SEMISPACE email.message.StringIO(??) email.message.compat32(??) email.message.decode_b(??) email.message.errors(??) email.message.quopri(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio.BytesIO(??) email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base.MIMEBase(??) email.mime.base.email(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text.Charset(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.parser(??) email.parser.BytesFeedParser(??) email.parser.BytesHeaderParser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.compat32(??) email.policy.Compat32(??) email.policy.EmailMessage(??) email.policy.EmailPolicy(??) email.policy.HTTP(??) email.policy.HeaderRegistry(??) email.policy.Policy(??) email.policy.SMTP(??) email.policy.SMTPUTF8(??) email.policy.compat32(??) email.policy.default(??) email.policy.linesep_splitter(??) email.policy.raw_data_manager(??) email.policy.re(??) email.policy.strict(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.Charset(??) email.utils.EMPTYSTRING email.utils.TICK email.utils.UEMPTYSTRING email.utils.collapse_rfc2231_value(??) email.utils.datetime(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.ecre(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.format_datetime(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.localtime(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_to_datetime(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) ensurepip.bootstrap(??) ensurepip.os(??) ensurepip.pkgutil(??) ensurepip.sys(??) ensurepip.tempfile(??) ensurepip.version(??) enum.DynamicClassAttribute(??) enum.Enum(??) enum.EnumMeta(??) enum.Flag(??) enum.IntEnum(??) enum.IntFlag(??) enum.MappingProxyType(??) enum.OrderedDict(??) enum.auto(??) enum.neg(a) -- Same as -a. enum.reduce(function, sequence[, initial]) -> value enum.sys(??) enum.unique(??) enum.xor(a, b) -- Same as a ^ b. enumerate(iterable[, start]) -> iterator for index, value of iterable errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EAUTH errno.EBADARCH errno.EBADEXEC errno.EBADF errno.EBADMACHO errno.EBADMSG errno.EBADRPC errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDESTADDRREQ errno.EDEVERR errno.EDOM errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EFTYPE errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENEEDAUTH errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOATTR errno.ENOBUFS errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENOPOLICY errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROCLIM errno.EPROCUNAVAIL errno.EPROGMISMATCH errno.EPROGUNAVAIL errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.EPWROFF errno.ERANGE errno.EREMOTE errno.EROFS errno.ERPCMISMATCH errno.ESHLIBVERS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESTALE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.errorcode(??) eval(??) exec(??) exit(??) faulthandler.cancel_dump_traceback_later(): faulthandler.disable(): disable the fault handler faulthandler.dump_traceback(file=sys.stderr, all_threads=True): dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False): faulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler faulthandler.is_enabled()->bool: check if the handler is enabled faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False): register a handler for the signal 'signum': dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register() filecmp.BUFSIZE filecmp.DEFAULT_IGNORES(??) filecmp.clear_cache(??) filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(function or None, sequence) --> filterfalse object filecmp.os(??) filecmp.stat(??) fileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]]) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(??) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(x) -> floating point number fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(??) formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) formatter.warnings(??) fractions.Decimal(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MAXLINE ftplib.MSG_OOB ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) functools.MappingProxyType(??) functools.RLock(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.WeakKeyDictionary(??) functools.cmp_to_key(??) functools.get_cache_token(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.partialmethod(??) functools.recursive_repr(??) functools.reduce(function, sequence[, initial]) -> value functools.singledispatch(??) functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.callbacks(??) gc.collect([generation]) -> n gc.disable() -> None gc.enable() -> None gc.garbage(??) gc.get_count() -> (count0, count1, count2) gc.get_debug() -> flags gc.get_objects() -> [...] gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_stats() -> [...] gc.get_threshold() -> (threshold0, threshold1, threshold2) gc.is_tracked(obj) -> bool gc.isenabled() -> status gc.set_debug(flags) -> None gc.set_threshold(threshold0, [threshold1, threshold2]) -> None genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.samefile(??) genericpath.sameopenfile(??) genericpath.samestat(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.contextlib(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.io(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.ENOENT gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.copy(??) gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.io(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.os(??) gettext.re(??) gettext.struct(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.escape(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) globals(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.open(??) gzip.os(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(??) hash(??) hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.blake2b(??) hashlib.blake2s(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None) -> key hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha3_224(??) hashlib.sha3_256([string]) -> SHA3 object hashlib.sha3_384([string]) -> SHA3 object hashlib.sha3_512([string]) -> SHA3 object hashlib.sha512(??) hashlib.shake_128([string]) -> SHAKE object hashlib.shake_256([string]) -> SHAKE object heapq.heapify(??) heapq.heappop(??) heapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. heapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item heapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item. heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) help(??) hex(??) hmac.HMAC(??) hmac.compare_digest(a, b) -> bool hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities(??) html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.html5(??) html.entities.name2codepoint(??) html.escape(??) html.parser.HTMLParser(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_normal(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind_tolerant(??) html.parser.unescape(??) html.parser.warnings(??) html.unescape(??) http.HTTPStatus(??) http.IntEnum(??) http.client(??) http.client.ACCEPTED(??) http.client.ALREADY_REPORTED(??) http.client.BAD_GATEWAY(??) http.client.BAD_REQUEST(??) http.client.BadStatusLine(??) http.client.CONFLICT(??) http.client.CONTINUE(??) http.client.CREATED(??) http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED(??) http.client.FAILED_DEPENDENCY(??) http.client.FORBIDDEN(??) http.client.FOUND(??) http.client.GATEWAY_TIMEOUT(??) http.client.GONE(??) http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED(??) http.client.IM_USED(??) http.client.INSUFFICIENT_STORAGE(??) http.client.INTERNAL_SERVER_ERROR(??) http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED(??) http.client.LOCKED(??) http.client.LOOP_DETECTED(??) http.client.LineTooLong(??) http.client.MAXAMOUNT http.client.METHOD_NOT_ALLOWED(??) http.client.MOVED_PERMANENTLY(??) http.client.MULTIPLE_CHOICES(??) http.client.MULTI_STATUS(??) http.client.NETWORK_AUTHENTICATION_REQUIRED(??) http.client.NON_AUTHORITATIVE_INFORMATION(??) http.client.NOT_ACCEPTABLE(??) http.client.NOT_EXTENDED(??) http.client.NOT_FOUND(??) http.client.NOT_IMPLEMENTED(??) http.client.NOT_MODIFIED(??) http.client.NO_CONTENT(??) http.client.NotConnected(??) http.client.OK(??) http.client.PARTIAL_CONTENT(??) http.client.PAYMENT_REQUIRED(??) http.client.PERMANENT_REDIRECT(??) http.client.PRECONDITION_FAILED(??) http.client.PRECONDITION_REQUIRED(??) http.client.PROCESSING(??) http.client.PROXY_AUTHENTICATION_REQUIRED(??) http.client.REQUESTED_RANGE_NOT_SATISFIABLE(??) http.client.REQUEST_ENTITY_TOO_LARGE(??) http.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??) http.client.REQUEST_TIMEOUT(??) http.client.REQUEST_URI_TOO_LONG(??) http.client.RESET_CONTENT(??) http.client.RemoteDisconnected(??) http.client.ResponseNotReady(??) http.client.SEE_OTHER(??) http.client.SERVICE_UNAVAILABLE(??) http.client.SWITCHING_PROTOCOLS(??) http.client.TEMPORARY_REDIRECT(??) http.client.TOO_MANY_REQUESTS(??) http.client.UNAUTHORIZED(??) http.client.UNPROCESSABLE_ENTITY(??) http.client.UNSUPPORTED_MEDIA_TYPE(??) http.client.UPGRADE_REQUIRED(??) http.client.USE_PROXY(??) http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.VARIANT_ALSO_NEGOTIATES(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.http(??) http.client.io(??) http.client.os(??) http.client.parse_headers(??) http.client.re(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.datetime(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.server(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.HTTPStatus(??) http.server.SimpleHTTPRequestHandler(??) http.server.argparse(??) http.server.copy(??) http.server.email(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(??) imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.DEFAULT_BUFFER_SIZE imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.Months(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.calendar(??) imaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imaplib.timedelta(??) imaplib.timezone(??) imghdr.PathLike(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exr(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_webp(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.SourcelessFileLoader(??) imp.acquire_lock(??) imp.cache_from_source(??) imp.create_dynamic(??) imp.find_module(??) imp.get_frozen_object(??) imp.get_magic(??) imp.get_suffixes(??) imp.get_tag(??) imp.importlib(??) imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(??) imp.load_package(??) imp.load_source(??) imp.lock_held(??) imp.machinery(??) imp.new_module(??) imp.os(??) imp.release_lock(??) imp.reload(??) imp.source_from_cache(??) imp.sys(??) imp.tokenize(??) imp.types(??) imp.util(??) imp.warnings(??) importlib.abc(??) importlib.abc.ExecutionLoader(??) importlib.abc.FileLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.MetaPathFinder(??) importlib.abc.PathEntryFinder(??) importlib.abc.ResourceLoader(??) importlib.abc.SourceLoader(??) importlib.abc.abc(??) importlib.abc.machinery(??) importlib.find_loader(??) importlib.import_module(??) importlib.invalidate_caches(??) importlib.machinery(??) importlib.machinery.BYTECODE_SUFFIXES(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.DEBUG_BYTECODE_SUFFIXES(??) importlib.machinery.EXTENSION_SUFFIXES(??) importlib.machinery.ExtensionFileLoader(??) importlib.machinery.FileFinder(??) importlib.machinery.FrozenImporter(??) importlib.machinery.ModuleSpec(??) importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??) importlib.machinery.PathFinder(??) importlib.machinery.SOURCE_SUFFIXES(??) importlib.machinery.SourceFileLoader(??) importlib.machinery.SourcelessFileLoader(??) importlib.machinery.WindowsRegistryFinder(??) importlib.machinery.all_suffixes(??) importlib.reload(??) importlib.sys(??) importlib.types(??) importlib.util(??) importlib.util.LazyLoader(??) importlib.util.MAGIC_NUMBER importlib.util.abc(??) importlib.util.cache_from_source(??) importlib.util.contextmanager(??) importlib.util.decode_source(??) importlib.util.find_spec(??) importlib.util.functools(??) importlib.util.module_for_loader(??) importlib.util.module_from_spec(??) importlib.util.resolve_name(??) importlib.util.set_loader(??) importlib.util.set_package(??) importlib.util.source_from_cache(??) importlib.util.spec_from_file_location(??) importlib.util.spec_from_loader(??) importlib.util.sys(??) importlib.util.types(??) importlib.util.warnings(??) importlib.warnings(??) input(??) inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.BoundArguments(??) inspect.CORO_CLOSED inspect.CORO_CREATED inspect.CORO_RUNNING inspect.CORO_SUSPENDED inspect.CO_ASYNC_GENERATOR inspect.CO_COROUTINE inspect.CO_GENERATOR inspect.CO_ITERABLE_COROUTINE inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.ClosureVars(nonlocals, globals, builtins, unbound) inspect.EndOfBlock(??) inspect.FrameInfo(frame, filename, lineno, function, code_context, index) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.OrderedDict(??) inspect.Parameter(??) inspect.Signature(??) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.ast(??) inspect.attrgetter(attr, ...) --> attrgetter object inspect.builtins(??) inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.collections(??) inspect.currentframe(??) inspect.dis(??) inspect.enum(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.functools(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getclosurevars(??) inspect.getcomments(??) inspect.getcoroutinelocals(??) inspect.getcoroutinestate(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorlocals(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.importlib(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isasyncgen(??) inspect.isasyncgenfunction(??) inspect.isawaitable(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.iscoroutine(??) inspect.iscoroutinefunction(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.signature(??) inspect.stack(??) inspect.sys(??) inspect.token(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.unwrap(??) inspect.v inspect.walktree(??) inspect.warnings(??) int(x=0) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO(??) io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) ipaddress.AddressValueError(??) ipaddress.IPV4LENGTH ipaddress.IPV6LENGTH ipaddress.IPv4Address(??) ipaddress.IPv4Interface(??) ipaddress.IPv4Network(??) ipaddress.IPv6Address(??) ipaddress.IPv6Interface(??) ipaddress.IPv6Network(??) ipaddress.NetmaskValueError(??) ipaddress.collapse_addresses(??) ipaddress.functools(??) ipaddress.get_mixed_type_key(??) ipaddress.ip_address(??) ipaddress.ip_interface(??) ipaddress.ip_network(??) ipaddress.summarize_address_range(??) ipaddress.v4_int_to_packed(??) ipaddress.v6_int_to_packed(??) isinstance(??) issubclass(??) iter(iterable) -> iterator itertools.accumulate(iterable[, func]) --> accumulate object itertools.chain(*iterables) --> chain object itertools.combinations(iterable, r) --> combinations object itertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.filterfalse(function or None, sequence) --> filterfalse object itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns itertools.islice(iterable, stop) --> islice object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables, repeat=1) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecodeError(??) json.JSONDecoder(??) json.JSONEncoder(??) json.codecs(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS(??) json.decoder.JSONArray(??) json.decoder.JSONDecodeError(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.c_scanstring(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanner(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.detect_encoding(??) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(string) -> string json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring(??) json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.argparse(??) json.tool.collections(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) keyword.main(??) len(??) license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.functools(??) linecache.getline(??) linecache.getlines(??) linecache.lazycache(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list() -> new empty list locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.collections(??) locale.currency(??) locale.delocalize(??) locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.k locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.v locale.windows_locale(??) locals(??) logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.collections(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingMixin(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.errno(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.re(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.thread(??) logging.config.threading(??) logging.config.traceback(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.queue(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.threading(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing(??) logging.logProcesses(??) logging.logThreads(??) logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions(??) logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) lzma.CHECK_CRC32 lzma.CHECK_CRC64 lzma.CHECK_ID_MAX lzma.CHECK_NONE lzma.CHECK_SHA256 lzma.CHECK_UNKNOWN lzma.FILTER_ARM lzma.FILTER_ARMTHUMB lzma.FILTER_DELTA lzma.FILTER_IA64 lzma.FILTER_LZMA1 lzma.FILTER_LZMA2 lzma.FILTER_POWERPC lzma.FILTER_SPARC lzma.FILTER_X86 lzma.FORMAT_ALONE lzma.FORMAT_AUTO lzma.FORMAT_RAW lzma.FORMAT_XZ lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None) lzma.LZMADecompressor(??) lzma.LZMAError(??) lzma.LZMAFile(??) lzma.MF_BT2 lzma.MF_BT3 lzma.MF_BT4 lzma.MF_HC3 lzma.MF_HC4 lzma.MODE_FAST lzma.MODE_NORMAL lzma.PRESET_DEFAULT lzma.PRESET_EXTREME lzma.builtins(??) lzma.compress(??) lzma.decompress(??) lzma.io(??) lzma.is_check_supported(??) lzma.open(??) lzma.os(??) macpath.FILE_ATTRIBUTE_ARCHIVE macpath.FILE_ATTRIBUTE_COMPRESSED macpath.FILE_ATTRIBUTE_DEVICE macpath.FILE_ATTRIBUTE_DIRECTORY macpath.FILE_ATTRIBUTE_ENCRYPTED macpath.FILE_ATTRIBUTE_HIDDEN macpath.FILE_ATTRIBUTE_INTEGRITY_STREAM macpath.FILE_ATTRIBUTE_NORMAL macpath.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED macpath.FILE_ATTRIBUTE_NO_SCRUB_DATA macpath.FILE_ATTRIBUTE_OFFLINE macpath.FILE_ATTRIBUTE_READONLY macpath.FILE_ATTRIBUTE_REPARSE_POINT macpath.FILE_ATTRIBUTE_SPARSE_FILE macpath.FILE_ATTRIBUTE_SYSTEM macpath.FILE_ATTRIBUTE_TEMPORARY macpath.FILE_ATTRIBUTE_VIRTUAL macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFDOOR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFPORT macpath.S_IFREG macpath.S_IFSOCK macpath.S_IFWHT macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(mode) -> bool macpath.S_ISCHR(mode) -> bool macpath.S_ISDIR(mode) -> bool macpath.S_ISDOOR(mode) -> bool macpath.S_ISFIFO(mode) -> bool macpath.S_ISGID macpath.S_ISLNK(mode) -> bool macpath.S_ISPORT(mode) -> bool macpath.S_ISREG(mode) -> bool macpath.S_ISSOCK(mode) -> bool macpath.S_ISUID macpath.S_ISVTX macpath.S_ISWHT(mode) -> bool macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_COMPRESSED macpath.UF_HIDDEN macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep(??) macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.filemode(??) macpath.genericpath(??) macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os(??) macpath.pardir macpath.pathsep macpath.realpath(??) macpath.samefile(??) macpath.sameopenfile(??) macpath.samestat(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames(??) macurl2path.os(??) macurl2path.pathname2url(??) macurl2path.url2pathname(??) macurl2path.urllib(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.contextlib(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.lineno_sort_key(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) mailcap.warnings(??) map(func, *iterables) --> map object marshal.dump(value, file[, version]) marshal.dumps(value[, version]) marshal.load(file) marshal.loads(bytes) marshal.version max(iterable, *[, default=obj, key=func]) -> value memoryview(??) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable, *[, default=obj, key=func]) -> value modulefinder.AddPackagePath(??) modulefinder.EXTENDED_ARG modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.imp(??) modulefinder.importlib(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.struct(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) modulefinder.warnings(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.Barrier(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.SimpleQueue(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.BufferTooShort(??) multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.Connection(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.families(??) multiprocessing.connection.io(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.rebuild_connection(??) multiprocessing.connection.reduce_connection(??) multiprocessing.connection.reduction(??) multiprocessing.connection.selectors(??) multiprocessing.connection.socket(??) multiprocessing.connection.struct(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.connection.util(??) multiprocessing.connection.wait(??) multiprocessing.context(??) multiprocessing.context.AuthenticationError(??) multiprocessing.context.BaseContext(??) multiprocessing.context.BufferTooShort(??) multiprocessing.context.DefaultContext(??) multiprocessing.context.ForkContext(??) multiprocessing.context.ForkProcess(??) multiprocessing.context.ForkServerContext(??) multiprocessing.context.ForkServerProcess(??) multiprocessing.context.Process(??) multiprocessing.context.ProcessError(??) multiprocessing.context.SpawnContext(??) multiprocessing.context.SpawnProcess(??) multiprocessing.context.TimeoutError(??) multiprocessing.context.assert_spawning(??) multiprocessing.context.get_spawning_popen(??) multiprocessing.context.os(??) multiprocessing.context.process(??) multiprocessing.context.reduction(??) multiprocessing.context.set_spawning_popen(??) multiprocessing.context.sys(??) multiprocessing.context.threading(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.Barrier(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.list() -> new empty list multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forkserver.ForkServer(??) multiprocessing.forkserver.MAXFDS_TO_SEND multiprocessing.forkserver.UNSIGNED_STRUCT(??) multiprocessing.forkserver.connect_to_new_process(??) multiprocessing.forkserver.connection(??) multiprocessing.forkserver.ensure_running(??) multiprocessing.forkserver.errno(??) multiprocessing.forkserver.get_inherited_fds(??) multiprocessing.forkserver.main(??) multiprocessing.forkserver.os(??) multiprocessing.forkserver.process(??) multiprocessing.forkserver.read_unsigned(??) multiprocessing.forkserver.reduction(??) multiprocessing.forkserver.selectors(??) multiprocessing.forkserver.semaphore_tracker(??) multiprocessing.forkserver.set_forkserver_preload(??) multiprocessing.forkserver.signal(??) multiprocessing.forkserver.socket(??) multiprocessing.forkserver.spawn(??) multiprocessing.forkserver.struct(??) multiprocessing.forkserver.sys(??) multiprocessing.forkserver.threading(??) multiprocessing.forkserver.util(??) multiprocessing.forkserver.write_unsigned(??) multiprocessing.freeze_support(??) multiprocessing.get_all_start_methods(??) multiprocessing.get_context(??) multiprocessing.get_logger(??) multiprocessing.get_start_method(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Heap(??) multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect(??) multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.rebuild_arena(??) multiprocessing.heap.reduce_arena(??) multiprocessing.heap.reduction(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.heap.util(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BarrierProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BasePoolProxy(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.connection(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.get_context(??) multiprocessing.managers.get_spawning_popen(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.pool(??) multiprocessing.managers.process(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.reduction(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.AsyncResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.ExceptionWithTraceback(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.RUN multiprocessing.pool.RemoteTraceback(??) multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.get_context(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.os(??) multiprocessing.pool.queue(??) multiprocessing.pool.rebuild_exc(??) multiprocessing.pool.starmapstar(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.traceback(??) multiprocessing.pool.util(??) multiprocessing.pool.worker(??) multiprocessing.popen_fork.Popen(??) multiprocessing.popen_fork.os(??) multiprocessing.popen_fork.signal(??) multiprocessing.popen_fork.sys(??) multiprocessing.popen_fork.util(??) multiprocessing.popen_forkserver.Popen(??) multiprocessing.popen_forkserver.forkserver(??) multiprocessing.popen_forkserver.io(??) multiprocessing.popen_forkserver.os(??) multiprocessing.popen_forkserver.popen_fork(??) multiprocessing.popen_forkserver.reduction(??) multiprocessing.popen_forkserver.set_spawning_popen(??) multiprocessing.popen_forkserver.spawn(??) multiprocessing.popen_forkserver.util(??) multiprocessing.popen_spawn_posix.Popen(??) multiprocessing.popen_spawn_posix.io(??) multiprocessing.popen_spawn_posix.os(??) multiprocessing.popen_spawn_posix.popen_fork(??) multiprocessing.popen_spawn_posix.reduction(??) multiprocessing.popen_spawn_posix.set_spawning_popen(??) multiprocessing.popen_spawn_posix.spawn(??) multiprocessing.popen_spawn_posix.util(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.BaseProcess(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.WeakSet(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Queue(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.collections(??) multiprocessing.queues.connection(??) multiprocessing.queues.context(??) multiprocessing.queues.debug(??) multiprocessing.queues.errno(??) multiprocessing.queues.info(??) multiprocessing.queues.is_exiting(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reducer(??) multiprocessing.reduction(??) multiprocessing.reduction.ABCMeta(??) multiprocessing.reduction.ACKNOWLEDGE(??) multiprocessing.reduction.AbstractReducer(??) multiprocessing.reduction.DupFd(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.HAVE_SEND_HANDLE(??) multiprocessing.reduction.abstractmethod(??) multiprocessing.reduction.array(??) multiprocessing.reduction.context(??) multiprocessing.reduction.copyreg(??) multiprocessing.reduction.dump(??) multiprocessing.reduction.functools(??) multiprocessing.reduction.io(??) multiprocessing.reduction.os(??) multiprocessing.reduction.pickle(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.recvfds(??) multiprocessing.reduction.register(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.sendfds(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sys(??) multiprocessing.resource_sharer.DupFd(??) multiprocessing.resource_sharer.os(??) multiprocessing.resource_sharer.process(??) multiprocessing.resource_sharer.reduction(??) multiprocessing.resource_sharer.signal(??) multiprocessing.resource_sharer.socket(??) multiprocessing.resource_sharer.stop(??) multiprocessing.resource_sharer.sys(??) multiprocessing.resource_sharer.threading(??) multiprocessing.resource_sharer.util(??) multiprocessing.semaphore_tracker.SemaphoreTracker(??) multiprocessing.semaphore_tracker.ensure_running(??) multiprocessing.semaphore_tracker.getfd(??) multiprocessing.semaphore_tracker.main(??) multiprocessing.semaphore_tracker.os(??) multiprocessing.semaphore_tracker.register(??) multiprocessing.semaphore_tracker.signal(??) multiprocessing.semaphore_tracker.spawn(??) multiprocessing.semaphore_tracker.sys(??) multiprocessing.semaphore_tracker.threading(??) multiprocessing.semaphore_tracker.unregister(??) multiprocessing.semaphore_tracker.util(??) multiprocessing.semaphore_tracker.warnings(??) multiprocessing.set_executable(??) multiprocessing.set_forkserver_preload(??) multiprocessing.set_start_method(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.get_context(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.reduction(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.spawn.WINEXE(??) multiprocessing.spawn.WINSERVICE(??) multiprocessing.spawn.freeze_support(??) multiprocessing.spawn.get_command_line(??) multiprocessing.spawn.get_executable(??) multiprocessing.spawn.get_preparation_data(??) multiprocessing.spawn.get_start_method(??) multiprocessing.spawn.import_main_path(??) multiprocessing.spawn.is_forking(??) multiprocessing.spawn.old_main_modules(??) multiprocessing.spawn.os(??) multiprocessing.spawn.prepare(??) multiprocessing.spawn.process(??) multiprocessing.spawn.reduction(??) multiprocessing.spawn.runpy(??) multiprocessing.spawn.set_executable(??) multiprocessing.spawn.set_start_method(??) multiprocessing.spawn.spawn_main(??) multiprocessing.spawn.sys(??) multiprocessing.spawn.types(??) multiprocessing.spawn.util(??) multiprocessing.synchronize.Barrier(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.context(??) multiprocessing.synchronize.process(??) multiprocessing.synchronize.sem_unlink(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.tempfile(??) multiprocessing.synchronize.threading(??) multiprocessing.synchronize.util(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.MAXFD multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.atexit(??) multiprocessing.util.close_all_fds_except(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.os(??) multiprocessing.util.process(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.spawnv_passfds(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.sys(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) netrc.stat(??) next(iterator[, default]) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.warnings(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) object(??) oct(??) open(??) operator.abs(a) -- Same as abs(a). operator.add(a, b) -- Same as a + b. operator.and_(a, b) -- Same as a & b. operator.attrgetter(attr, ...) --> attrgetter object operator.concat(a, b) -- Same as a + b, for a and b sequences. operator.contains(a, b) -- Same as b in a (note reversed operands). operator.countOf(a, b) -- Return the number of times b occurs in a. operator.delitem(a, b) -- Same as del a[b]. operator.eq(a, b) -- Same as a==b. operator.floordiv(a, b) -- Same as a // b. operator.ge(a, b) -- Same as a>=b. operator.getitem(a, b) -- Same as a[b]. operator.gt(a, b) -- Same as a>b. operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imatmul(??) operator.imod(??) operator.imul(??) operator.index(a) -- Same as a.__index__() operator.indexOf(a, b) -- Return the first index of b in a. operator.inv(a) -- Same as ~a. operator.invert(a) -- Same as ~a. operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(a, b) -- Same as a is b. operator.is_not(a, b) -- Same as a is not b. operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(a, b) -- Same as a<=b. operator.length_hint(obj, default=0) -> int operator.lshift(a, b) -- Same as a << b. operator.lt(a, b) -- Same as a methodcaller object operator.mod(a, b) -- Same as a % b. operator.mul(a, b) -- Same as a * b. operator.ne(a, b) -- Same as a!=b. operator.neg(a) -- Same as -a. operator.not_(a) -- Same as not a. operator.or_(a, b) -- Same as a | b. operator.pos(a) -- Same as +a. operator.pow(a, b) -- Same as a ** b. operator.rshift(a, b) -- Same as a >> b. operator.setitem(a, b, c) -- Same as a[b] = c. operator.sub(a, b) -- Same as a - b. operator.truediv(a, b) -- Same as a / b. operator.truth(a) -- Return True if a is true, False otherwise. operator.xor(a, b) -- Same as a ^ b. optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.ngettext(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(??) os.CLD_CONTINUED os.CLD_DUMPED os.CLD_EXITED os.CLD_TRAPPED os.DirEntry(??) os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_LOCK os.F_OK os.F_TEST os.F_TLOCK os.F_ULOCK os.MutableMapping(??) os.NGROUPS_MAX os.O_ACCMODE os.O_APPEND os.O_ASYNC os.O_CREAT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_EXLOCK os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_SHLOCK os.O_SYNC os.O_TRUNC os.O_WRONLY os.PRIO_PGRP os.PRIO_PROCESS os.PRIO_USER os.P_ALL os.P_NOWAIT os.P_NOWAITO os.P_PGID os.P_PID os.P_WAIT os.PathLike(??) os.RTLD_GLOBAL os.RTLD_LAZY os.RTLD_LOCAL os.RTLD_NODELETE os.RTLD_NOLOAD os.RTLD_NOW os.R_OK os.SCHED_FIFO os.SCHED_OTHER os.SCHED_RR os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(??) os.WEXITED os.WEXITSTATUS(??) os.WIFCONTINUED(??) os.WIFEXITED(??) os.WIFSIGNALED(??) os.WIFSTOPPED(??) os.WNOHANG os.WNOWAIT os.WSTOPPED os.WSTOPSIG(??) os.WTERMSIG(??) os.WUNTRACED os.W_OK os.X_OK os.abc(??) os.abort(??) os.access(??) os.altsep(??) os.chdir(??) os.chflags(??) os.chmod(??) os.chown(??) os.chroot(??) os.close(??) os.closerange(??) os.confstr(??) os.confstr_names(??) os.cpu_count(??) os.ctermid(??) os.curdir os.defpath os.device_encoding(??) os.devnull os.dup(??) os.dup2(??) os.environ(??) os.environb(??) os.errno(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(??) os.execve(??) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(??) os.fchmod(??) os.fchown(??) os.fdopen(??) os.fork(??) os.forkpty(??) os.fpathconf(??) os.fsdecode(??) os.fsencode(??) os.fspath(??) os.fstat(??) os.fstatvfs(??) os.fsync(??) os.ftruncate(??) os.get_blocking(fd) -> bool os.get_exec_path(??) os.get_inheritable(??) os.get_terminal_size(??) os.getcwd(??) os.getcwdb(??) os.getegid(??) os.getenv(??) os.getenvb(??) os.geteuid(??) os.getgid(??) os.getgrouplist(user, group) -> list of groups to which a user belongs os.getgroups(??) os.getloadavg(??) os.getlogin(??) os.getpgid(??) os.getpgrp(??) os.getpid(??) os.getppid(??) os.getpriority(??) os.getsid(??) os.getuid(??) os.initgroups(username, gid) -> None os.isatty(??) os.kill(??) os.killpg(??) os.lchflags(??) os.lchmod(??) os.lchown(??) os.linesep os.link(??) os.listdir(??) os.lockf(??) os.lseek(??) os.lstat(??) os.major(??) os.makedev(??) os.makedirs(name [, mode=0o777][, exist_ok=False]) os.minor(??) os.mkdir(??) os.mkfifo(??) os.mknod(??) os.name os.nice(??) os.open(??) os.openpty(??) os.pardir os.path(??) os.pathconf(??) os.pathconf_names(??) os.pathsep os.pipe(??) os.popen(??) os.pread(??) os.putenv(??) os.pwrite(??) os.read(??) os.readlink(path, *, dir_fd=None) -> path os.readv(??) os.remove(??) os.removedirs(name) os.rename(??) os.renames(old, new) os.replace(??) os.rmdir(??) os.scandir(path='.') -> iterator of DirEntry objects for given path os.sched_get_priority_max(??) os.sched_get_priority_min(??) os.sched_yield(??) os.sendfile(out, in, offset, count) -> byteswritten os.sep os.set_blocking(fd, blocking) os.set_inheritable(??) os.setegid(??) os.seteuid(??) os.setgid(??) os.setgroups(??) os.setpgid(??) os.setpgrp(??) os.setpriority(??) os.setregid(??) os.setreuid(??) os.setsid(??) os.setuid(??) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.st(??) os.stat(??) os.stat_float_times([newval]) -> oldval os.stat_result(??) os.statvfs(??) os.statvfs_result(??) os.strerror(??) os.supports_bytes_environ(??) os.supports_dir_fd(??) os.supports_effective_ids(??) os.supports_fd(??) os.supports_follow_symlinks(??) os.symlink(??) os.sync(??) os.sys(??) os.sysconf(??) os.sysconf_names(??) os.system(??) os.tcgetpgrp(??) os.tcsetpgrp(??) os.terminal_size(??) os.times(??) os.times_result(??) os.truncate(??) os.ttyname(??) os.umask(??) os.uname(??) os.uname_result(??) os.unlink(??) os.unsetenv(??) os.urandom(??) os.utime(??) os.wait(??) os.wait3(??) os.wait4(??) os.waitpid(??) os.walk(??) os.write(??) os.writev(??) pathlib.EINVAL pathlib.ENOENT pathlib.ENOTDIR pathlib.Path(??) pathlib.PosixPath(??) pathlib.PurePath(??) pathlib.PurePosixPath(??) pathlib.PureWindowsPath(??) pathlib.S_ISBLK(mode) -> bool pathlib.S_ISCHR(mode) -> bool pathlib.S_ISDIR(mode) -> bool pathlib.S_ISFIFO(mode) -> bool pathlib.S_ISLNK(mode) -> bool pathlib.S_ISREG(mode) -> bool pathlib.S_ISSOCK(mode) -> bool pathlib.Sequence(??) pathlib.WindowsPath(??) pathlib.attrgetter(attr, ...) --> attrgetter object pathlib.contextmanager(??) pathlib.fnmatch(??) pathlib.functools(??) pathlib.io(??) pathlib.nt(??) pathlib.ntpath(??) pathlib.os(??) pathlib.posixpath(??) pathlib.re(??) pathlib.supports_symlinks(??) pathlib.sys(??) pathlib.urlquote_from_bytes(??) pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.glob(??) pdb.help(??) pdb.inspect(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.ADDITEMS pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINBYTES8 pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BINUNICODE8 pickle.BUILD pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_SET pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FRAME pickle.FROZENSET pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.MEMOIZE pickle.NEWFALSE pickle.NEWOBJ pickle.NEWOBJ_EX pickle.NEWTRUE pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(??) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.SHORT_BINUNICODE pickle.STACK_GLOBAL pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(??) pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.islice(iterable, stop) --> islice object pickle.load(??) pickle.loads(??) pickle.maxsize pickle.pack(fmt, v1, v2, ...) -> bytes pickle.partial(func, *args, **keywords) - new function with partial application pickle.re(??) pickle.sys(??) pickle.unpack(fmt, buffer) -> (v1, v2, ...) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.TAKEN_FROM_ARGUMENT4U pickletools.TAKEN_FROM_ARGUMENT8U pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytes1(??) pickletools.bytes4(??) pickletools.bytes8(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.io(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybytes(??) pickletools.pybytes_or_str(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyfrozenset(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pyset(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_bytes1(??) pickletools.read_bytes4(??) pickletools.read_bytes8(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_uint4(??) pickletools.read_uint8(??) pickletools.read_unicodestring1(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestring8(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.sys(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.uint4(??) pickletools.uint8(??) pickletools.unicodestring1(??) pickletools.unicodestring4(??) pickletools.unicodestring8(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleInfo(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.importlib(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.namedtuple(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.warnings(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.DEV_NULL platform.architecture(??) platform.collections(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.subprocess(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.uname_result(system, node, release, version, machine, processor) platform.version(??) platform.warnings(??) platform.win32_ver(??) plistlib.BytesIO(??) plistlib.Data(??) plistlib.Dict(??) plistlib.FMT_BINARY(??) plistlib.FMT_XML(??) plistlib.InvalidFileException(??) plistlib.PLISTHEADER plistlib.ParserCreate(??) plistlib.Plist(??) plistlib.PlistFormat(??) plistlib.binascii(??) plistlib.codecs(??) plistlib.contextlib(??) plistlib.datetime(??) plistlib.dump(??) plistlib.dumps(??) plistlib.enum(??) plistlib.itertools(??) plistlib.load(??) plistlib.loads(??) plistlib.os(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.struct(??) plistlib.warn(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.HAVE_SSL(??) poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.errno(??) poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.CLD_CONTINUED posix.CLD_DUMPED posix.CLD_EXITED posix.CLD_TRAPPED posix.DirEntry(??) posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_LOCK posix.F_OK posix.F_TEST posix.F_TLOCK posix.F_ULOCK posix.NGROUPS_MAX posix.O_ACCMODE posix.O_APPEND posix.O_ASYNC posix.O_CREAT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_EXLOCK posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_SHLOCK posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.PRIO_PGRP posix.PRIO_PROCESS posix.PRIO_USER posix.P_ALL posix.P_PGID posix.P_PID posix.RTLD_GLOBAL posix.RTLD_LAZY posix.RTLD_LOCAL posix.RTLD_NODELETE posix.RTLD_NOLOAD posix.RTLD_NOW posix.R_OK posix.SCHED_FIFO posix.SCHED_OTHER posix.SCHED_RR posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(??) posix.WEXITED posix.WEXITSTATUS(??) posix.WIFCONTINUED(??) posix.WIFEXITED(??) posix.WIFSIGNALED(??) posix.WIFSTOPPED(??) posix.WNOHANG posix.WNOWAIT posix.WSTOPPED posix.WSTOPSIG(??) posix.WTERMSIG(??) posix.WUNTRACED posix.W_OK posix.X_OK posix.abort(??) posix.access(??) posix.chdir(??) posix.chflags(??) posix.chmod(??) posix.chown(??) posix.chroot(??) posix.close(??) posix.closerange(??) posix.confstr(??) posix.confstr_names(??) posix.cpu_count(??) posix.ctermid(??) posix.device_encoding(??) posix.dup(??) posix.dup2(??) posix.environ(??) posix.error(??) posix.execv(??) posix.execve(??) posix.fchdir(??) posix.fchmod(??) posix.fchown(??) posix.fork(??) posix.forkpty(??) posix.fpathconf(??) posix.fspath(??) posix.fstat(??) posix.fstatvfs(??) posix.fsync(??) posix.ftruncate(??) posix.get_blocking(fd) -> bool posix.get_inheritable(??) posix.get_terminal_size(??) posix.getcwd(??) posix.getcwdb(??) posix.getegid(??) posix.geteuid(??) posix.getgid(??) posix.getgrouplist(user, group) -> list of groups to which a user belongs posix.getgroups(??) posix.getloadavg(??) posix.getlogin(??) posix.getpgid(??) posix.getpgrp(??) posix.getpid(??) posix.getppid(??) posix.getpriority(??) posix.getsid(??) posix.getuid(??) posix.initgroups(username, gid) -> None posix.isatty(??) posix.kill(??) posix.killpg(??) posix.lchflags(??) posix.lchmod(??) posix.lchown(??) posix.link(??) posix.listdir(??) posix.lockf(??) posix.lseek(??) posix.lstat(??) posix.major(??) posix.makedev(??) posix.minor(??) posix.mkdir(??) posix.mkfifo(??) posix.mknod(??) posix.nice(??) posix.open(??) posix.openpty(??) posix.pathconf(??) posix.pathconf_names(??) posix.pipe(??) posix.pread(??) posix.putenv(??) posix.pwrite(??) posix.read(??) posix.readlink(path, *, dir_fd=None) -> path posix.readv(??) posix.remove(??) posix.rename(??) posix.replace(??) posix.rmdir(??) posix.scandir(path='.') -> iterator of DirEntry objects for given path posix.sched_get_priority_max(??) posix.sched_get_priority_min(??) posix.sched_yield(??) posix.sendfile(out, in, offset, count) -> byteswritten posix.set_blocking(fd, blocking) posix.set_inheritable(??) posix.setegid(??) posix.seteuid(??) posix.setgid(??) posix.setgroups(??) posix.setpgid(??) posix.setpgrp(??) posix.setpriority(??) posix.setregid(??) posix.setreuid(??) posix.setsid(??) posix.setuid(??) posix.stat(??) posix.stat_float_times([newval]) -> oldval posix.stat_result(??) posix.statvfs(??) posix.statvfs_result(??) posix.strerror(??) posix.symlink(??) posix.sync(??) posix.sysconf(??) posix.sysconf_names(??) posix.system(??) posix.tcgetpgrp(??) posix.tcsetpgrp(??) posix.terminal_size(??) posix.times(??) posix.times_result(??) posix.truncate(??) posix.ttyname(??) posix.umask(??) posix.uname(??) posix.uname_result(??) posix.unlink(??) posix.unsetenv(??) posix.urandom(??) posix.utime(??) posix.wait(??) posix.wait3(??) posix.wait4(??) posix.waitpid(??) posix.write(??) posix.writev(??) pow(??) pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.re(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) profile.OptionParser(??) profile.Profile(??) profile.main(??) profile.marshal(??) profile.os(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(fget=None, fset=None, fdel=None, doc=None) -> property attribute pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall(??) pwd.getpwnam(??) pwd.getpwuid(??) pwd.struct_passwd(??) py_compile.PyCompileError(??) py_compile.compile(??) py_compile.importlib(??) py_compile.main(??) py_compile.os(??) py_compile.sys(??) py_compile.traceback(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.importlib(??) pyclbr.io(??) pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque([iterable[, maxlen]]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.help(??) pydoc.html(??) pydoc.importfile(??) pydoc.importlib(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.sort_attributes(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.tokenize(??) pydoc.ttypager(??) pydoc.urllib(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.deque([iterable[, maxlen]]) --> deque object queue.heappop(??) queue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. queue.threading(??) queue.time(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(??) quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.choices(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates an int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range(stop) -> range object re.A(??) re.ASCII(??) re.DEBUG(??) re.DOTALL(??) re.I(??) re.IGNORECASE(??) re.L(??) re.LOCALE(??) re.M(??) re.MULTILINE(??) re.RegexFlag(??) re.S(??) re.Scanner(??) re.T(??) re.TEMPLATE(??) re.U(??) re.UNICODE(??) re.VERBOSE(??) re.X(??) re.compile(??) re.copyreg(??) re.enum(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.fullmatch(??) re.functools(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.template(??) repr(??) reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, stop) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) reversed(sequence) -> reverse iterator over values of the sequence rlcompleter.Completer(??) rlcompleter.atexit(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(number[, ndigits]) -> number runpy.get_importer(??) runpy.importlib(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) runpy.types(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) sched.threading(??) sched.time(??) secrets.DEFAULT_ENTROPY secrets.SystemRandom(??) secrets.base64(??) secrets.binascii(??) secrets.choice(??) secrets.compare_digest(a, b) -> bool secrets.os(??) secrets.randbelow(??) secrets.randbits(??) secrets.token_bytes(??) secrets.token_hex(??) secrets.token_urlsafe(??) selectors.ABCMeta(??) selectors.BaseSelector(??) selectors.DefaultSelector(??) selectors.EVENT_READ selectors.EVENT_WRITE selectors.KqueueSelector(??) selectors.Mapping(??) selectors.PollSelector(??) selectors.SelectSelector(??) selectors.SelectorKey(fileobj, fd, events, data) selectors.abstractmethod(??) selectors.math(??) selectors.namedtuple(??) selectors.select(??) selectors.sys(??) set() -> new empty set object setattr(??) shelve.BsdDbShelf(??) shelve.BytesIO(??) shelve.DbfilenameShelf(??) shelve.Pickler(??) shelve.Shelf(??) shelve.Unpickler(??) shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque([iterable[, maxlen]]) --> deque object shlex.os(??) shlex.quote(??) shlex.re(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SameFileError(??) shutil.SpecialFileError(??) shutil.chown(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.disk_usage(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_terminal_size(??) shutil.get_unpack_formats(??) shutil.getgrnam(??) shutil.getpwnam(??) shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.os(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.tarfile(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) shutil.which(??) signal.Handlers(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT(??) signal.SIGALRM(??) signal.SIGBUS(??) signal.SIGCHLD(??) signal.SIGCONT(??) signal.SIGEMT(??) signal.SIGFPE(??) signal.SIGHUP(??) signal.SIGILL(??) signal.SIGINFO(??) signal.SIGINT(??) signal.SIGIO(??) signal.SIGIOT(??) signal.SIGKILL(??) signal.SIGPIPE(??) signal.SIGPROF(??) signal.SIGQUIT(??) signal.SIGSEGV(??) signal.SIGSTOP(??) signal.SIGSYS(??) signal.SIGTERM(??) signal.SIGTRAP(??) signal.SIGTSTP(??) signal.SIGTTIN(??) signal.SIGTTOU(??) signal.SIGURG(??) signal.SIGUSR1(??) signal.SIGUSR2(??) signal.SIGVTALRM(??) signal.SIGWINCH(??) signal.SIGXCPU(??) signal.SIGXFSZ(??) signal.SIG_BLOCK(??) signal.SIG_DFL(??) signal.SIG_IGN(??) signal.SIG_SETMASK(??) signal.SIG_UNBLOCK(??) signal.Sigmasks(??) signal.Signals(??) signal.alarm(??) signal.default_int_handler(...) signal.getitimer(??) signal.getsignal(??) signal.pause(??) signal.pthread_kill(??) signal.pthread_sigmask(??) signal.set_wakeup_fd(fd) -> fd signal.setitimer(??) signal.siginterrupt(??) signal.signal(??) signal.sigpending(??) signal.sigwait(??) site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.builtins(??) site.check_enableusersite(??) site.enablerlcompleter(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.venv(??) slice(stop) smtpd.COMMASPACE smtpd.DATA_SIZE_DEFAULT smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.collections(??) smtpd.errno(??) smtpd.get_addr_spec(??) smtpd.get_angle_addr(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPNotSupportedError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.bCRLF smtplib.base64(??) smtplib.copy(??) smtplib.datetime(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.sys(??) sndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.namedtuple(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK(??) socket.AF_DECnet socket.AF_INET(??) socket.AF_INET6(??) socket.AF_IPX(??) socket.AF_LINK(??) socket.AF_ROUTE(??) socket.AF_SNA(??) socket.AF_SYSTEM(??) socket.AF_UNIX(??) socket.AF_UNSPEC(??) socket.AI_ADDRCONFIG(??) socket.AI_ALL(??) socket.AI_CANONNAME(??) socket.AI_DEFAULT(??) socket.AI_MASK(??) socket.AI_NUMERICHOST(??) socket.AI_NUMERICSERV(??) socket.AI_PASSIVE(??) socket.AI_V4MAPPED(??) socket.AI_V4MAPPED_CFG(??) socket.AddressFamily(??) socket.AddressInfo(??) socket.CAPI(??) socket.CMSG_LEN(length) -> control message length socket.CMSG_SPACE(length) -> buffer size socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_BADHINTS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MAX socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_PROTOCOL socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EWOULDBLOCK socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_EON socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GGP socket.IPPROTO_GRE socket.IPPROTO_HELLO socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPCOMP socket.IPPROTO_IPIP socket.IPPROTO_IPV4 socket.IPPROTO_IPV6 socket.IPPROTO_MAX socket.IPPROTO_ND socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPPROTO_XTP socket.IPV6_CHECKSUM socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PKTINFO socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVDSTADDR socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.IntEnum(??) socket.IntFlag(??) socket.LOCAL_PEERCRED socket.MSG_CTRUNC(??) socket.MSG_DONTROUTE(??) socket.MSG_DONTWAIT(??) socket.MSG_EOF(??) socket.MSG_EOR(??) socket.MSG_OOB(??) socket.MSG_PEEK(??) socket.MSG_TRUNC(??) socket.MSG_WAITALL(??) socket.MsgFlag(??) socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PF_SYSTEM socket.SCM_CREDS socket.SCM_RIGHTS socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM(??) socket.SOCK_RAW(??) socket.SOCK_RDM(??) socket.SOCK_SEQPACKET(??) socket.SOCK_STREAM(??) socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_REUSEPORT socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SO_USELOOPBACK socket.SYSPROTO_CONTROL socket.SocketIO(??) socket.SocketKind(??) socket.SocketType(??) socket.TCP_MAXSEG socket.TCP_NODELAY socket.create_connection(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(??) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.if_indextoname(if_index) socket.if_nameindex() socket.if_nametoindex(if_name) socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.selectors(??) socket.setdefaulttimeout(timeout) socket.sethostname(name) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.BufferedIOBase(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.errno(??) socketserver.os(??) socketserver.selectors(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) socketserver.time(??) sorted(??) sqlite3.Binary(??) sqlite3.Cache(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement(??) sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.collections(??) sqlite3.complete_statement(sql) sqlite3.connect(??) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Cache(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement(??) sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.collections(??) sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(??) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.AF_INET(??) ssl.ALERT_DESCRIPTION_ACCESS_DENIED(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??) ssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??) ssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??) ssl.ALERT_DESCRIPTION_DECODE_ERROR(??) ssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??) ssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??) ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??) ssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??) ssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??) ssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??) ssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??) ssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??) ssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??) ssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??) ssl.ALERT_DESCRIPTION_UNKNOWN_CA(??) ssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??) ssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??) ssl.ALERT_DESCRIPTION_USER_CANCELLED(??) ssl.AlertDescription(??) ssl.CERT_NONE(??) ssl.CERT_OPTIONAL(??) ssl.CERT_REQUIRED(??) ssl.CHANNEL_BINDING_TYPES(??) ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath) ssl.HAS_ALPN(??) ssl.HAS_ECDH(??) ssl.HAS_NPN(??) ssl.HAS_SNI(??) ssl.MemoryBIO(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL(??) ssl.OP_CIPHER_SERVER_PREFERENCE(??) ssl.OP_NO_COMPRESSION(??) ssl.OP_NO_SSLv2(??) ssl.OP_NO_SSLv3(??) ssl.OP_NO_TICKET(??) ssl.OP_NO_TLSv1(??) ssl.OP_NO_TLSv1_1(??) ssl.OP_NO_TLSv1_2(??) ssl.OP_SINGLE_DH_USE(??) ssl.OP_SINGLE_ECDH_USE(??) ssl.Options(??) ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv23(??) ssl.PROTOCOL_TLS(??) ssl.PROTOCOL_TLS_CLIENT(??) ssl.PROTOCOL_TLS_SERVER(??) ssl.PROTOCOL_TLSv1(??) ssl.PROTOCOL_TLSv1_1(??) ssl.PROTOCOL_TLSv1_2(??) ssl.Purpose(??) ssl.RAND_add(??) ssl.RAND_bytes(??) ssl.RAND_egd(??) ssl.RAND_pseudo_bytes(??) ssl.RAND_status(??) ssl.SOCK_STREAM(??) ssl.SOL_SOCKET ssl.SO_TYPE ssl.SSLContext(??) ssl.SSLEOFError(??) ssl.SSLError(??) ssl.SSLErrorNumber(??) ssl.SSLObject(??) ssl.SSLSession(??) ssl.SSLSocket(??) ssl.SSLSyscallError(??) ssl.SSLWantReadError(??) ssl.SSLWantWriteError(??) ssl.SSLZeroReturnError(??) ssl.SSL_ERROR_EOF(??) ssl.SSL_ERROR_INVALID_ERROR_CODE(??) ssl.SSL_ERROR_SSL(??) ssl.SSL_ERROR_SYSCALL(??) ssl.SSL_ERROR_WANT_CONNECT(??) ssl.SSL_ERROR_WANT_READ(??) ssl.SSL_ERROR_WANT_WRITE(??) ssl.SSL_ERROR_WANT_X509_LOOKUP(??) ssl.SSL_ERROR_ZERO_RETURN(??) ssl.VERIFY_CRL_CHECK_CHAIN(??) ssl.VERIFY_CRL_CHECK_LEAF(??) ssl.VERIFY_DEFAULT(??) ssl.VERIFY_X509_STRICT(??) ssl.VERIFY_X509_TRUSTED_FIRST(??) ssl.VerifyFlags(??) ssl.VerifyMode(??) ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.create_connection(??) ssl.create_default_context(??) ssl.errno(??) ssl.get_default_verify_paths(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.ipaddress(??) ssl.match_hostname(??) ssl.namedtuple(??) ssl.os(??) ssl.re(??) ssl.socket(??) ssl.socket_error(??) ssl.sys(??) ssl.textwrap(??) ssl.warnings(??) ssl.wrap_socket(??) stat.FILE_ATTRIBUTE_ARCHIVE stat.FILE_ATTRIBUTE_COMPRESSED stat.FILE_ATTRIBUTE_DEVICE stat.FILE_ATTRIBUTE_DIRECTORY stat.FILE_ATTRIBUTE_ENCRYPTED stat.FILE_ATTRIBUTE_HIDDEN stat.FILE_ATTRIBUTE_INTEGRITY_STREAM stat.FILE_ATTRIBUTE_NORMAL stat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED stat.FILE_ATTRIBUTE_NO_SCRUB_DATA stat.FILE_ATTRIBUTE_OFFLINE stat.FILE_ATTRIBUTE_READONLY stat.FILE_ATTRIBUTE_REPARSE_POINT stat.FILE_ATTRIBUTE_SPARSE_FILE stat.FILE_ATTRIBUTE_SYSTEM stat.FILE_ATTRIBUTE_TEMPORARY stat.FILE_ATTRIBUTE_VIRTUAL stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFDOOR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFPORT stat.S_IFREG stat.S_IFSOCK stat.S_IFWHT stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(mode) -> bool stat.S_ISCHR(mode) -> bool stat.S_ISDIR(mode) -> bool stat.S_ISDOOR(mode) -> bool stat.S_ISFIFO(mode) -> bool stat.S_ISGID stat.S_ISLNK(mode) -> bool stat.S_ISPORT(mode) -> bool stat.S_ISREG(mode) -> bool stat.S_ISSOCK(mode) -> bool stat.S_ISUID stat.S_ISVTX stat.S_ISWHT(mode) -> bool stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_COMPRESSED stat.UF_HIDDEN stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE stat.filemode(??) staticmethod(function) -> method statistics.Decimal(??) statistics.Fraction(??) statistics.StatisticsError(??) statistics.bisect_left(a, x[, lo[, hi]]) -> index statistics.bisect_right(a, x[, lo[, hi]]) -> index statistics.chain(*iterables) --> chain object statistics.collections(??) statistics.decimal(??) statistics.groupby(iterable[, keyfunc]) -> create an iterator which returns statistics.harmonic_mean(??) statistics.math(??) statistics.mean(??) statistics.median(??) statistics.median_grouped(??) statistics.median_high(??) statistics.median_low(??) statistics.mode(??) statistics.numbers(??) statistics.pstdev(??) statistics.pvariance(??) statistics.stdev(??) statistics.variance(??) str(object='') -> str string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(fmt) --> compiled struct object struct.calcsize(fmt) -> integer struct.error(??) struct.iter_unpack(fmt, buffer) -> iterator(v1, v2, ...) struct.pack(fmt, v1, v2, ...) -> bytes struct.pack_into(fmt, buffer, offset, v1, v2, ...) struct.unpack(fmt, buffer) -> (v1, v2, ...) struct.unpack_from(fmt, buffer, offset=0) -> (v1, v2, ...) subprocess.CalledProcessError(??) subprocess.CompletedProcess(??) subprocess.DEVNULL subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.SubprocessError(??) subprocess.TimeoutExpired(??) subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.os(??) subprocess.run(??) subprocess.select(??) subprocess.selectors(??) subprocess.signal(??) subprocess.sys(??) subprocess.threading(??) subprocess.time(??) subprocess.warnings(??) sum(??) sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.namedtuple(??) sunau.open(??) sunau.openfp(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.annassign symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.async_funcdef symbol.async_stmt symbol.atom symbol.atom_expr symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_arg symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_ANNOT symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.api_version sys.argv(??) sys.base_exec_prefix sys.base_prefix sys.builtin_module_names(??) sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode(??) sys.exc_info() -> (type, value, traceback) sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.get_asyncgen_hooks() sys.get_coroutine_wrapper() sys.getallocatedblocks() -> integer sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencodeerrors() -> string sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.getswitchinterval() -> current thread switch interval; see setswitchinterval(). sys.gettrace() sys.hash_info(??) sys.hexversion sys.implementation(??) sys.int_info(??) sys.intern(string) -> string sys.is_finalizing() sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.set_asyncgen_hooks(*, firstiter=None, finalizer=None) sys.set_coroutine_wrapper(wrapper) sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.setswitchinterval(n) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.thread_info(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.getopt(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.filemode(??) tarfile.grp(??) tarfile.io(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.main(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.selectors(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempdirb(??) tempfile.gettempprefix(??) tempfile.gettempprefixb(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.indent(??) textwrap.re(??) textwrap.shorten(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.WeakSet(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.enumerate(??) threading.get_ident() -> integer threading.local(??) threading.main_thread(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.get_clock_info(name: str) -> dict time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.monotonic() -> float time.perf_counter() -> float time.process_time() -> float time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.timezone time.tzname(??) time.tzset() timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) tkinter.ACTIVE tkinter.ALL tkinter.ANCHOR tkinter.ARC tkinter.BASELINE tkinter.BEVEL tkinter.BOTH tkinter.BOTTOM tkinter.BROWSE tkinter.BUTT tkinter.BaseWidget(??) tkinter.BitmapImage(??) tkinter.BooleanVar(??) tkinter.Button(??) tkinter.CASCADE tkinter.CENTER tkinter.CHAR tkinter.CHECKBUTTON tkinter.CHORD tkinter.COMMAND tkinter.CURRENT tkinter.CallWrapper(??) tkinter.Canvas(??) tkinter.Checkbutton(??) tkinter.DISABLED tkinter.DOTBOX tkinter.DoubleVar(??) tkinter.E tkinter.END tkinter.EW tkinter.EXCEPTION tkinter.EXTENDED tkinter.Entry(??) tkinter.Event(??) tkinter.EventType(??) tkinter.FALSE tkinter.FIRST tkinter.FLAT tkinter.Frame(??) tkinter.GROOVE tkinter.Grid(??) tkinter.HIDDEN tkinter.HORIZONTAL tkinter.INSERT tkinter.INSIDE tkinter.Image(??) tkinter.IntVar(??) tkinter.LAST tkinter.LEFT tkinter.Label(??) tkinter.LabelFrame(??) tkinter.Listbox(??) tkinter.MITER tkinter.MOVETO tkinter.MULTIPLE tkinter.Menu(??) tkinter.Menubutton(??) tkinter.Message(??) tkinter.Misc(??) tkinter.N tkinter.NE tkinter.NO tkinter.NONE tkinter.NORMAL tkinter.NS tkinter.NSEW tkinter.NUMERIC tkinter.NW tkinter.NoDefaultRoot(??) tkinter.OFF tkinter.ON tkinter.OUTSIDE tkinter.OptionMenu(??) tkinter.PAGES tkinter.PIESLICE tkinter.PROJECTING tkinter.Pack(??) tkinter.PanedWindow(??) tkinter.PhotoImage(??) tkinter.Place(??) tkinter.RADIOBUTTON tkinter.RAISED tkinter.READABLE tkinter.RIDGE tkinter.RIGHT tkinter.ROUND tkinter.Radiobutton(??) tkinter.S tkinter.SCROLL tkinter.SE tkinter.SEL tkinter.SEL_FIRST tkinter.SEL_LAST tkinter.SEPARATOR tkinter.SINGLE tkinter.SOLID tkinter.SUNKEN tkinter.SW tkinter.Scale(??) tkinter.Scrollbar(??) tkinter.Spinbox(??) tkinter.StringVar(??) tkinter.TOP tkinter.TRUE tkinter.Tcl(??) tkinter.TclError(??) tkinter.TclVersion tkinter.Text(??) tkinter.Tk(??) tkinter.TkVersion tkinter.Toplevel(??) tkinter.UNDERLINE tkinter.UNITS tkinter.VERTICAL tkinter.Variable(??) tkinter.W tkinter.WORD tkinter.WRITABLE tkinter.Widget(??) tkinter.Wm(??) tkinter.X tkinter.XView(??) tkinter.Y tkinter.YES tkinter.YView(??) tkinter.colorchooser.Chooser(??) tkinter.colorchooser.Dialog(??) tkinter.colorchooser.askcolor(??) tkinter.commondialog.ACTIVE tkinter.commondialog.ALL tkinter.commondialog.ANCHOR tkinter.commondialog.ARC tkinter.commondialog.BASELINE tkinter.commondialog.BEVEL tkinter.commondialog.BOTH tkinter.commondialog.BOTTOM tkinter.commondialog.BROWSE tkinter.commondialog.BUTT tkinter.commondialog.BaseWidget(??) tkinter.commondialog.BitmapImage(??) tkinter.commondialog.BooleanVar(??) tkinter.commondialog.Button(??) tkinter.commondialog.CASCADE tkinter.commondialog.CENTER tkinter.commondialog.CHAR tkinter.commondialog.CHECKBUTTON tkinter.commondialog.CHORD tkinter.commondialog.COMMAND tkinter.commondialog.CURRENT tkinter.commondialog.CallWrapper(??) tkinter.commondialog.Canvas(??) tkinter.commondialog.Checkbutton(??) tkinter.commondialog.DISABLED tkinter.commondialog.DOTBOX tkinter.commondialog.Dialog(??) tkinter.commondialog.DoubleVar(??) tkinter.commondialog.E tkinter.commondialog.END tkinter.commondialog.EW tkinter.commondialog.EXCEPTION tkinter.commondialog.EXTENDED tkinter.commondialog.Entry(??) tkinter.commondialog.Event(??) tkinter.commondialog.EventType(??) tkinter.commondialog.FALSE tkinter.commondialog.FIRST tkinter.commondialog.FLAT tkinter.commondialog.Frame(??) tkinter.commondialog.GROOVE tkinter.commondialog.Grid(??) tkinter.commondialog.HIDDEN tkinter.commondialog.HORIZONTAL tkinter.commondialog.INSERT tkinter.commondialog.INSIDE tkinter.commondialog.Image(??) tkinter.commondialog.IntVar(??) tkinter.commondialog.LAST tkinter.commondialog.LEFT tkinter.commondialog.Label(??) tkinter.commondialog.LabelFrame(??) tkinter.commondialog.Listbox(??) tkinter.commondialog.MITER tkinter.commondialog.MOVETO tkinter.commondialog.MULTIPLE tkinter.commondialog.Menu(??) tkinter.commondialog.Menubutton(??) tkinter.commondialog.Message(??) tkinter.commondialog.Misc(??) tkinter.commondialog.N tkinter.commondialog.NE tkinter.commondialog.NO tkinter.commondialog.NONE tkinter.commondialog.NORMAL tkinter.commondialog.NS tkinter.commondialog.NSEW tkinter.commondialog.NUMERIC tkinter.commondialog.NW tkinter.commondialog.NoDefaultRoot(??) tkinter.commondialog.OFF tkinter.commondialog.ON tkinter.commondialog.OUTSIDE tkinter.commondialog.OptionMenu(??) tkinter.commondialog.PAGES tkinter.commondialog.PIESLICE tkinter.commondialog.PROJECTING tkinter.commondialog.Pack(??) tkinter.commondialog.PanedWindow(??) tkinter.commondialog.PhotoImage(??) tkinter.commondialog.Place(??) tkinter.commondialog.RADIOBUTTON tkinter.commondialog.RAISED tkinter.commondialog.READABLE tkinter.commondialog.RIDGE tkinter.commondialog.RIGHT tkinter.commondialog.ROUND tkinter.commondialog.Radiobutton(??) tkinter.commondialog.S tkinter.commondialog.SCROLL tkinter.commondialog.SE tkinter.commondialog.SEL tkinter.commondialog.SEL_FIRST tkinter.commondialog.SEL_LAST tkinter.commondialog.SEPARATOR tkinter.commondialog.SINGLE tkinter.commondialog.SOLID tkinter.commondialog.SUNKEN tkinter.commondialog.SW tkinter.commondialog.Scale(??) tkinter.commondialog.Scrollbar(??) tkinter.commondialog.Spinbox(??) tkinter.commondialog.StringVar(??) tkinter.commondialog.TOP tkinter.commondialog.TRUE tkinter.commondialog.Tcl(??) tkinter.commondialog.TclError(??) tkinter.commondialog.TclVersion tkinter.commondialog.Text(??) tkinter.commondialog.Tk(??) tkinter.commondialog.TkVersion tkinter.commondialog.Toplevel(??) tkinter.commondialog.UNDERLINE tkinter.commondialog.UNITS tkinter.commondialog.VERTICAL tkinter.commondialog.Variable(??) tkinter.commondialog.W tkinter.commondialog.WORD tkinter.commondialog.WRITABLE tkinter.commondialog.Widget(??) tkinter.commondialog.Wm(??) tkinter.commondialog.X tkinter.commondialog.XView(??) tkinter.commondialog.Y tkinter.commondialog.YES tkinter.commondialog.YView(??) tkinter.commondialog.constants(??) tkinter.commondialog.enum(??) tkinter.commondialog.getboolean(??) tkinter.commondialog.getdouble(??) tkinter.commondialog.getint(??) tkinter.commondialog.image_names(??) tkinter.commondialog.image_types(??) tkinter.commondialog.mainloop(??) tkinter.commondialog.re(??) tkinter.commondialog.sys(??) tkinter.commondialog.wantobjects tkinter.constants(??) tkinter.constants.ACTIVE tkinter.constants.ALL tkinter.constants.ANCHOR tkinter.constants.ARC tkinter.constants.BASELINE tkinter.constants.BEVEL tkinter.constants.BOTH tkinter.constants.BOTTOM tkinter.constants.BROWSE tkinter.constants.BUTT tkinter.constants.CASCADE tkinter.constants.CENTER tkinter.constants.CHAR tkinter.constants.CHECKBUTTON tkinter.constants.CHORD tkinter.constants.COMMAND tkinter.constants.CURRENT tkinter.constants.DISABLED tkinter.constants.DOTBOX tkinter.constants.E tkinter.constants.END tkinter.constants.EW tkinter.constants.EXTENDED tkinter.constants.FALSE tkinter.constants.FIRST tkinter.constants.FLAT tkinter.constants.GROOVE tkinter.constants.HIDDEN tkinter.constants.HORIZONTAL tkinter.constants.INSERT tkinter.constants.INSIDE tkinter.constants.LAST tkinter.constants.LEFT tkinter.constants.MITER tkinter.constants.MOVETO tkinter.constants.MULTIPLE tkinter.constants.N tkinter.constants.NE tkinter.constants.NO tkinter.constants.NONE tkinter.constants.NORMAL tkinter.constants.NS tkinter.constants.NSEW tkinter.constants.NUMERIC tkinter.constants.NW tkinter.constants.OFF tkinter.constants.ON tkinter.constants.OUTSIDE tkinter.constants.PAGES tkinter.constants.PIESLICE tkinter.constants.PROJECTING tkinter.constants.RADIOBUTTON tkinter.constants.RAISED tkinter.constants.RIDGE tkinter.constants.RIGHT tkinter.constants.ROUND tkinter.constants.S tkinter.constants.SCROLL tkinter.constants.SE tkinter.constants.SEL tkinter.constants.SEL_FIRST tkinter.constants.SEL_LAST tkinter.constants.SEPARATOR tkinter.constants.SINGLE tkinter.constants.SOLID tkinter.constants.SUNKEN tkinter.constants.SW tkinter.constants.TOP tkinter.constants.TRUE tkinter.constants.UNDERLINE tkinter.constants.UNITS tkinter.constants.VERTICAL tkinter.constants.W tkinter.constants.WORD tkinter.constants.X tkinter.constants.Y tkinter.constants.YES tkinter.dialog.ACTIVE tkinter.dialog.ALL tkinter.dialog.ANCHOR tkinter.dialog.ARC tkinter.dialog.BASELINE tkinter.dialog.BEVEL tkinter.dialog.BOTH tkinter.dialog.BOTTOM tkinter.dialog.BROWSE tkinter.dialog.BUTT tkinter.dialog.BaseWidget(??) tkinter.dialog.BitmapImage(??) tkinter.dialog.BooleanVar(??) tkinter.dialog.Button(??) tkinter.dialog.CASCADE tkinter.dialog.CENTER tkinter.dialog.CHAR tkinter.dialog.CHECKBUTTON tkinter.dialog.CHORD tkinter.dialog.COMMAND tkinter.dialog.CURRENT tkinter.dialog.CallWrapper(??) tkinter.dialog.Canvas(??) tkinter.dialog.Checkbutton(??) tkinter.dialog.DIALOG_ICON tkinter.dialog.DISABLED tkinter.dialog.DOTBOX tkinter.dialog.Dialog(??) tkinter.dialog.DoubleVar(??) tkinter.dialog.E tkinter.dialog.END tkinter.dialog.EW tkinter.dialog.EXCEPTION tkinter.dialog.EXTENDED tkinter.dialog.Entry(??) tkinter.dialog.Event(??) tkinter.dialog.EventType(??) tkinter.dialog.FALSE tkinter.dialog.FIRST tkinter.dialog.FLAT tkinter.dialog.Frame(??) tkinter.dialog.GROOVE tkinter.dialog.Grid(??) tkinter.dialog.HIDDEN tkinter.dialog.HORIZONTAL tkinter.dialog.INSERT tkinter.dialog.INSIDE tkinter.dialog.Image(??) tkinter.dialog.IntVar(??) tkinter.dialog.LAST tkinter.dialog.LEFT tkinter.dialog.Label(??) tkinter.dialog.LabelFrame(??) tkinter.dialog.Listbox(??) tkinter.dialog.MITER tkinter.dialog.MOVETO tkinter.dialog.MULTIPLE tkinter.dialog.Menu(??) tkinter.dialog.Menubutton(??) tkinter.dialog.Message(??) tkinter.dialog.Misc(??) tkinter.dialog.N tkinter.dialog.NE tkinter.dialog.NO tkinter.dialog.NONE tkinter.dialog.NORMAL tkinter.dialog.NS tkinter.dialog.NSEW tkinter.dialog.NUMERIC tkinter.dialog.NW tkinter.dialog.NoDefaultRoot(??) tkinter.dialog.OFF tkinter.dialog.ON tkinter.dialog.OUTSIDE tkinter.dialog.OptionMenu(??) tkinter.dialog.PAGES tkinter.dialog.PIESLICE tkinter.dialog.PROJECTING tkinter.dialog.Pack(??) tkinter.dialog.PanedWindow(??) tkinter.dialog.PhotoImage(??) tkinter.dialog.Place(??) tkinter.dialog.RADIOBUTTON tkinter.dialog.RAISED tkinter.dialog.READABLE tkinter.dialog.RIDGE tkinter.dialog.RIGHT tkinter.dialog.ROUND tkinter.dialog.Radiobutton(??) tkinter.dialog.S tkinter.dialog.SCROLL tkinter.dialog.SE tkinter.dialog.SEL tkinter.dialog.SEL_FIRST tkinter.dialog.SEL_LAST tkinter.dialog.SEPARATOR tkinter.dialog.SINGLE tkinter.dialog.SOLID tkinter.dialog.SUNKEN tkinter.dialog.SW tkinter.dialog.Scale(??) tkinter.dialog.Scrollbar(??) tkinter.dialog.Spinbox(??) tkinter.dialog.StringVar(??) tkinter.dialog.TOP tkinter.dialog.TRUE tkinter.dialog.Tcl(??) tkinter.dialog.TclError(??) tkinter.dialog.TclVersion tkinter.dialog.Text(??) tkinter.dialog.Tk(??) tkinter.dialog.TkVersion tkinter.dialog.Toplevel(??) tkinter.dialog.UNDERLINE tkinter.dialog.UNITS tkinter.dialog.VERTICAL tkinter.dialog.Variable(??) tkinter.dialog.W tkinter.dialog.WORD tkinter.dialog.WRITABLE tkinter.dialog.Widget(??) tkinter.dialog.Wm(??) tkinter.dialog.X tkinter.dialog.XView(??) tkinter.dialog.Y tkinter.dialog.YES tkinter.dialog.YView(??) tkinter.dialog.colorchooser(??) tkinter.dialog.commondialog(??) tkinter.dialog.constants(??) tkinter.dialog.enum(??) tkinter.dialog.getboolean(??) tkinter.dialog.getdouble(??) tkinter.dialog.getint(??) tkinter.dialog.image_names(??) tkinter.dialog.image_types(??) tkinter.dialog.mainloop(??) tkinter.dialog.re(??) tkinter.dialog.sys(??) tkinter.dialog.wantobjects tkinter.dnd.DndHandler(??) tkinter.dnd.Icon(??) tkinter.dnd.Tester(??) tkinter.dnd.dnd_start(??) tkinter.dnd.test(??) tkinter.dnd.tkinter(??) tkinter.enum(??) tkinter.filedialog.ACTIVE tkinter.filedialog.ALL tkinter.filedialog.ANCHOR tkinter.filedialog.ARC tkinter.filedialog.BASELINE tkinter.filedialog.BEVEL tkinter.filedialog.BOTH tkinter.filedialog.BOTTOM tkinter.filedialog.BROWSE tkinter.filedialog.BUTT tkinter.filedialog.BaseWidget(??) tkinter.filedialog.BitmapImage(??) tkinter.filedialog.BooleanVar(??) tkinter.filedialog.Button(??) tkinter.filedialog.CASCADE tkinter.filedialog.CENTER tkinter.filedialog.CHAR tkinter.filedialog.CHECKBUTTON tkinter.filedialog.CHORD tkinter.filedialog.COMMAND tkinter.filedialog.CURRENT tkinter.filedialog.CallWrapper(??) tkinter.filedialog.Canvas(??) tkinter.filedialog.Checkbutton(??) tkinter.filedialog.DISABLED tkinter.filedialog.DOTBOX tkinter.filedialog.Dialog(??) tkinter.filedialog.Directory(??) tkinter.filedialog.DoubleVar(??) tkinter.filedialog.E tkinter.filedialog.END tkinter.filedialog.EW tkinter.filedialog.EXCEPTION tkinter.filedialog.EXTENDED tkinter.filedialog.Entry(??) tkinter.filedialog.Event(??) tkinter.filedialog.EventType(??) tkinter.filedialog.FALSE tkinter.filedialog.FIRST tkinter.filedialog.FLAT tkinter.filedialog.FileDialog(??) tkinter.filedialog.Frame(??) tkinter.filedialog.GROOVE tkinter.filedialog.Grid(??) tkinter.filedialog.HIDDEN tkinter.filedialog.HORIZONTAL tkinter.filedialog.INSERT tkinter.filedialog.INSIDE tkinter.filedialog.Image(??) tkinter.filedialog.IntVar(??) tkinter.filedialog.LAST tkinter.filedialog.LEFT tkinter.filedialog.Label(??) tkinter.filedialog.LabelFrame(??) tkinter.filedialog.Listbox(??) tkinter.filedialog.LoadFileDialog(??) tkinter.filedialog.MITER tkinter.filedialog.MOVETO tkinter.filedialog.MULTIPLE tkinter.filedialog.Menu(??) tkinter.filedialog.Menubutton(??) tkinter.filedialog.Message(??) tkinter.filedialog.Misc(??) tkinter.filedialog.N tkinter.filedialog.NE tkinter.filedialog.NO tkinter.filedialog.NONE tkinter.filedialog.NORMAL tkinter.filedialog.NS tkinter.filedialog.NSEW tkinter.filedialog.NUMERIC tkinter.filedialog.NW tkinter.filedialog.NoDefaultRoot(??) tkinter.filedialog.OFF tkinter.filedialog.ON tkinter.filedialog.OUTSIDE tkinter.filedialog.Open(??) tkinter.filedialog.OptionMenu(??) tkinter.filedialog.PAGES tkinter.filedialog.PIESLICE tkinter.filedialog.PROJECTING tkinter.filedialog.Pack(??) tkinter.filedialog.PanedWindow(??) tkinter.filedialog.PhotoImage(??) tkinter.filedialog.Place(??) tkinter.filedialog.RADIOBUTTON tkinter.filedialog.RAISED tkinter.filedialog.READABLE tkinter.filedialog.RIDGE tkinter.filedialog.RIGHT tkinter.filedialog.ROUND tkinter.filedialog.Radiobutton(??) tkinter.filedialog.S tkinter.filedialog.SCROLL tkinter.filedialog.SE tkinter.filedialog.SEL tkinter.filedialog.SEL_FIRST tkinter.filedialog.SEL_LAST tkinter.filedialog.SEPARATOR tkinter.filedialog.SINGLE tkinter.filedialog.SOLID tkinter.filedialog.SUNKEN tkinter.filedialog.SW tkinter.filedialog.SaveAs(??) tkinter.filedialog.SaveFileDialog(??) tkinter.filedialog.Scale(??) tkinter.filedialog.Scrollbar(??) tkinter.filedialog.Spinbox(??) tkinter.filedialog.StringVar(??) tkinter.filedialog.TOP tkinter.filedialog.TRUE tkinter.filedialog.Tcl(??) tkinter.filedialog.TclError(??) tkinter.filedialog.TclVersion tkinter.filedialog.Text(??) tkinter.filedialog.Tk(??) tkinter.filedialog.TkVersion tkinter.filedialog.Toplevel(??) tkinter.filedialog.UNDERLINE tkinter.filedialog.UNITS tkinter.filedialog.VERTICAL tkinter.filedialog.Variable(??) tkinter.filedialog.W tkinter.filedialog.WORD tkinter.filedialog.WRITABLE tkinter.filedialog.Widget(??) tkinter.filedialog.Wm(??) tkinter.filedialog.X tkinter.filedialog.XView(??) tkinter.filedialog.Y tkinter.filedialog.YES tkinter.filedialog.YView(??) tkinter.filedialog.askdirectory(??) tkinter.filedialog.askopenfile(??) tkinter.filedialog.askopenfilename(??) tkinter.filedialog.askopenfilenames(??) tkinter.filedialog.askopenfiles(??) tkinter.filedialog.asksaveasfile(??) tkinter.filedialog.asksaveasfilename(??) tkinter.filedialog.colorchooser(??) tkinter.filedialog.commondialog(??) tkinter.filedialog.constants(??) tkinter.filedialog.dialog(??) tkinter.filedialog.dialogstates(??) tkinter.filedialog.dnd(??) tkinter.filedialog.enum(??) tkinter.filedialog.fnmatch(??) tkinter.filedialog.getboolean(??) tkinter.filedialog.getdouble(??) tkinter.filedialog.getint(??) tkinter.filedialog.image_names(??) tkinter.filedialog.image_types(??) tkinter.filedialog.mainloop(??) tkinter.filedialog.os(??) tkinter.filedialog.re(??) tkinter.filedialog.sys(??) tkinter.filedialog.test(??) tkinter.filedialog.wantobjects tkinter.font.BOLD tkinter.font.Font(??) tkinter.font.ITALIC tkinter.font.NORMAL tkinter.font.ROMAN tkinter.font.families(??) tkinter.font.itertools(??) tkinter.font.names(??) tkinter.font.nametofont(??) tkinter.font.tkinter(??) tkinter.getboolean(??) tkinter.getdouble(??) tkinter.getint(??) tkinter.image_names(??) tkinter.image_types(??) tkinter.mainloop(??) tkinter.messagebox.ABORT tkinter.messagebox.ABORTRETRYIGNORE tkinter.messagebox.CANCEL tkinter.messagebox.Dialog(??) tkinter.messagebox.ERROR tkinter.messagebox.IGNORE tkinter.messagebox.INFO tkinter.messagebox.Message(??) tkinter.messagebox.NO tkinter.messagebox.OK tkinter.messagebox.OKCANCEL tkinter.messagebox.QUESTION tkinter.messagebox.RETRY tkinter.messagebox.RETRYCANCEL tkinter.messagebox.WARNING tkinter.messagebox.YES tkinter.messagebox.YESNO tkinter.messagebox.YESNOCANCEL tkinter.messagebox.askokcancel(??) tkinter.messagebox.askquestion(??) tkinter.messagebox.askretrycancel(??) tkinter.messagebox.askyesno(??) tkinter.messagebox.askyesnocancel(??) tkinter.messagebox.showerror(??) tkinter.messagebox.showinfo(??) tkinter.messagebox.showwarning(??) tkinter.re(??) tkinter.scrolledtext.BOTH tkinter.scrolledtext.Frame(??) tkinter.scrolledtext.Grid(??) tkinter.scrolledtext.LEFT tkinter.scrolledtext.Pack(??) tkinter.scrolledtext.Place(??) tkinter.scrolledtext.RIGHT tkinter.scrolledtext.Scrollbar(??) tkinter.scrolledtext.ScrolledText(??) tkinter.scrolledtext.Text(??) tkinter.scrolledtext.Y tkinter.scrolledtext.example(??) tkinter.simpledialog.ACTIVE tkinter.simpledialog.ALL tkinter.simpledialog.ANCHOR tkinter.simpledialog.ARC tkinter.simpledialog.BASELINE tkinter.simpledialog.BEVEL tkinter.simpledialog.BOTH tkinter.simpledialog.BOTTOM tkinter.simpledialog.BROWSE tkinter.simpledialog.BUTT tkinter.simpledialog.BaseWidget(??) tkinter.simpledialog.BitmapImage(??) tkinter.simpledialog.BooleanVar(??) tkinter.simpledialog.Button(??) tkinter.simpledialog.CASCADE tkinter.simpledialog.CENTER tkinter.simpledialog.CHAR tkinter.simpledialog.CHECKBUTTON tkinter.simpledialog.CHORD tkinter.simpledialog.COMMAND tkinter.simpledialog.CURRENT tkinter.simpledialog.CallWrapper(??) tkinter.simpledialog.Canvas(??) tkinter.simpledialog.Checkbutton(??) tkinter.simpledialog.DISABLED tkinter.simpledialog.DOTBOX tkinter.simpledialog.Dialog(??) tkinter.simpledialog.DoubleVar(??) tkinter.simpledialog.E tkinter.simpledialog.END tkinter.simpledialog.EW tkinter.simpledialog.EXCEPTION tkinter.simpledialog.EXTENDED tkinter.simpledialog.Entry(??) tkinter.simpledialog.Event(??) tkinter.simpledialog.EventType(??) tkinter.simpledialog.FALSE tkinter.simpledialog.FIRST tkinter.simpledialog.FLAT tkinter.simpledialog.Frame(??) tkinter.simpledialog.GROOVE tkinter.simpledialog.Grid(??) tkinter.simpledialog.HIDDEN tkinter.simpledialog.HORIZONTAL tkinter.simpledialog.INSERT tkinter.simpledialog.INSIDE tkinter.simpledialog.Image(??) tkinter.simpledialog.IntVar(??) tkinter.simpledialog.LAST tkinter.simpledialog.LEFT tkinter.simpledialog.Label(??) tkinter.simpledialog.LabelFrame(??) tkinter.simpledialog.Listbox(??) tkinter.simpledialog.MITER tkinter.simpledialog.MOVETO tkinter.simpledialog.MULTIPLE tkinter.simpledialog.Menu(??) tkinter.simpledialog.Menubutton(??) tkinter.simpledialog.Message(??) tkinter.simpledialog.Misc(??) tkinter.simpledialog.N tkinter.simpledialog.NE tkinter.simpledialog.NO tkinter.simpledialog.NONE tkinter.simpledialog.NORMAL tkinter.simpledialog.NS tkinter.simpledialog.NSEW tkinter.simpledialog.NUMERIC tkinter.simpledialog.NW tkinter.simpledialog.NoDefaultRoot(??) tkinter.simpledialog.OFF tkinter.simpledialog.ON tkinter.simpledialog.OUTSIDE tkinter.simpledialog.OptionMenu(??) tkinter.simpledialog.PAGES tkinter.simpledialog.PIESLICE tkinter.simpledialog.PROJECTING tkinter.simpledialog.Pack(??) tkinter.simpledialog.PanedWindow(??) tkinter.simpledialog.PhotoImage(??) tkinter.simpledialog.Place(??) tkinter.simpledialog.RADIOBUTTON tkinter.simpledialog.RAISED tkinter.simpledialog.READABLE tkinter.simpledialog.RIDGE tkinter.simpledialog.RIGHT tkinter.simpledialog.ROUND tkinter.simpledialog.Radiobutton(??) tkinter.simpledialog.S tkinter.simpledialog.SCROLL tkinter.simpledialog.SE tkinter.simpledialog.SEL tkinter.simpledialog.SEL_FIRST tkinter.simpledialog.SEL_LAST tkinter.simpledialog.SEPARATOR tkinter.simpledialog.SINGLE tkinter.simpledialog.SOLID tkinter.simpledialog.SUNKEN tkinter.simpledialog.SW tkinter.simpledialog.Scale(??) tkinter.simpledialog.Scrollbar(??) tkinter.simpledialog.SimpleDialog(??) tkinter.simpledialog.Spinbox(??) tkinter.simpledialog.StringVar(??) tkinter.simpledialog.TOP tkinter.simpledialog.TRUE tkinter.simpledialog.Tcl(??) tkinter.simpledialog.TclError(??) tkinter.simpledialog.TclVersion tkinter.simpledialog.Text(??) tkinter.simpledialog.Tk(??) tkinter.simpledialog.TkVersion tkinter.simpledialog.Toplevel(??) tkinter.simpledialog.UNDERLINE tkinter.simpledialog.UNITS tkinter.simpledialog.VERTICAL tkinter.simpledialog.Variable(??) tkinter.simpledialog.W tkinter.simpledialog.WORD tkinter.simpledialog.WRITABLE tkinter.simpledialog.Widget(??) tkinter.simpledialog.Wm(??) tkinter.simpledialog.X tkinter.simpledialog.XView(??) tkinter.simpledialog.Y tkinter.simpledialog.YES tkinter.simpledialog.YView(??) tkinter.simpledialog.askfloat(??) tkinter.simpledialog.askinteger(??) tkinter.simpledialog.askstring(??) tkinter.simpledialog.colorchooser(??) tkinter.simpledialog.commondialog(??) tkinter.simpledialog.constants(??) tkinter.simpledialog.dialog(??) tkinter.simpledialog.dnd(??) tkinter.simpledialog.enum(??) tkinter.simpledialog.filedialog(??) tkinter.simpledialog.font(??) tkinter.simpledialog.getboolean(??) tkinter.simpledialog.getdouble(??) tkinter.simpledialog.getint(??) tkinter.simpledialog.image_names(??) tkinter.simpledialog.image_types(??) tkinter.simpledialog.mainloop(??) tkinter.simpledialog.messagebox(??) tkinter.simpledialog.re(??) tkinter.simpledialog.scrolledtext(??) tkinter.simpledialog.sys(??) tkinter.simpledialog.tkinter(??) tkinter.simpledialog.wantobjects tkinter.sys(??) tkinter.tix.ACROSSTOP tkinter.tix.ACTIVE tkinter.tix.ALL tkinter.tix.ANCHOR tkinter.tix.ARC tkinter.tix.ASCII tkinter.tix.AUTO tkinter.tix.BALLOON tkinter.tix.BASELINE tkinter.tix.BEVEL tkinter.tix.BOTH tkinter.tix.BOTTOM tkinter.tix.BROWSE tkinter.tix.BUTT tkinter.tix.Balloon(??) tkinter.tix.BaseWidget(??) tkinter.tix.BitmapImage(??) tkinter.tix.BooleanVar(??) tkinter.tix.Button(??) tkinter.tix.ButtonBox(??) tkinter.tix.CASCADE tkinter.tix.CELL tkinter.tix.CENTER tkinter.tix.CHAR tkinter.tix.CHECKBUTTON tkinter.tix.CHORD tkinter.tix.COLUMN tkinter.tix.COMMAND tkinter.tix.CObjView(??) tkinter.tix.CURRENT tkinter.tix.CallWrapper(??) tkinter.tix.Canvas(??) tkinter.tix.CheckList(??) tkinter.tix.Checkbutton(??) tkinter.tix.ComboBox(??) tkinter.tix.Control(??) tkinter.tix.DECREASING tkinter.tix.DISABLED tkinter.tix.DOTBOX tkinter.tix.DialogShell(??) tkinter.tix.DirList(??) tkinter.tix.DirSelectBox(??) tkinter.tix.DirSelectDialog(??) tkinter.tix.DirTree(??) tkinter.tix.DisplayStyle(??) tkinter.tix.DoubleVar(??) tkinter.tix.E tkinter.tix.END tkinter.tix.EW tkinter.tix.EXCEPTION tkinter.tix.EXTENDED tkinter.tix.Entry(??) tkinter.tix.Event(??) tkinter.tix.EventType(??) tkinter.tix.ExFileSelectBox(??) tkinter.tix.ExFileSelectDialog(??) tkinter.tix.FALSE tkinter.tix.FIRST tkinter.tix.FLAT tkinter.tix.FileEntry(??) tkinter.tix.FileSelectBox(??) tkinter.tix.FileSelectDialog(??) tkinter.tix.FileTypeList(??) tkinter.tix.Form(??) tkinter.tix.Frame(??) tkinter.tix.GROOVE tkinter.tix.Grid(??) tkinter.tix.HIDDEN tkinter.tix.HList(??) tkinter.tix.HORIZONTAL tkinter.tix.IMAGE tkinter.tix.IMAGETEXT tkinter.tix.IMMEDIATE tkinter.tix.INCREASING tkinter.tix.INSERT tkinter.tix.INSIDE tkinter.tix.INTEGER tkinter.tix.Image(??) tkinter.tix.InputOnly(??) tkinter.tix.IntVar(??) tkinter.tix.LAST tkinter.tix.LEFT tkinter.tix.Label(??) tkinter.tix.LabelEntry(??) tkinter.tix.LabelFrame(??) tkinter.tix.ListNoteBook(??) tkinter.tix.Listbox(??) tkinter.tix.MAIN tkinter.tix.MAX tkinter.tix.MITER tkinter.tix.MOVETO tkinter.tix.MULTIPLE tkinter.tix.Menu(??) tkinter.tix.Menubutton(??) tkinter.tix.Message(??) tkinter.tix.Meter(??) tkinter.tix.Misc(??) tkinter.tix.N tkinter.tix.NE tkinter.tix.NO tkinter.tix.NONE tkinter.tix.NORMAL tkinter.tix.NS tkinter.tix.NSEW tkinter.tix.NUMERIC tkinter.tix.NW tkinter.tix.NoDefaultRoot(??) tkinter.tix.NoteBook(??) tkinter.tix.NoteBookFrame(??) tkinter.tix.OFF tkinter.tix.ON tkinter.tix.OUTSIDE tkinter.tix.OptionMenu(??) tkinter.tix.OptionName(??) tkinter.tix.PAGES tkinter.tix.PIESLICE tkinter.tix.PROJECTING tkinter.tix.Pack(??) tkinter.tix.PanedWindow(??) tkinter.tix.PhotoImage(??) tkinter.tix.Place(??) tkinter.tix.PopupMenu(??) tkinter.tix.RADIOBUTTON tkinter.tix.RAISED tkinter.tix.READABLE tkinter.tix.REAL tkinter.tix.RIDGE tkinter.tix.RIGHT tkinter.tix.ROUND tkinter.tix.ROW tkinter.tix.Radiobutton(??) tkinter.tix.ResizeHandle(??) tkinter.tix.S tkinter.tix.SCROLL tkinter.tix.SE tkinter.tix.SEL tkinter.tix.SEL_FIRST tkinter.tix.SEL_LAST tkinter.tix.SEPARATOR tkinter.tix.SINGLE tkinter.tix.SOLID tkinter.tix.STATUS tkinter.tix.SUNKEN tkinter.tix.SW tkinter.tix.S_REGION tkinter.tix.Scale(??) tkinter.tix.Scrollbar(??) tkinter.tix.ScrolledGrid(??) tkinter.tix.ScrolledHList(??) tkinter.tix.ScrolledListBox(??) tkinter.tix.ScrolledTList(??) tkinter.tix.ScrolledText(??) tkinter.tix.ScrolledWindow(??) tkinter.tix.Select(??) tkinter.tix.Shell(??) tkinter.tix.Spinbox(??) tkinter.tix.StdButtonBox(??) tkinter.tix.StringVar(??) tkinter.tix.TCL_ALL_EVENTS tkinter.tix.TCL_DONT_WAIT tkinter.tix.TCL_FILE_EVENTS tkinter.tix.TCL_IDLE_EVENTS tkinter.tix.TCL_TIMER_EVENTS tkinter.tix.TCL_WINDOW_EVENTS tkinter.tix.TEXT tkinter.tix.TList(??) tkinter.tix.TOP tkinter.tix.TRUE tkinter.tix.Tcl(??) tkinter.tix.TclError(??) tkinter.tix.TclVersion tkinter.tix.Text(??) tkinter.tix.TixSubWidget(??) tkinter.tix.TixWidget(??) tkinter.tix.Tk(??) tkinter.tix.TkVersion tkinter.tix.Toplevel(??) tkinter.tix.Tree(??) tkinter.tix.UNDERLINE tkinter.tix.UNITS tkinter.tix.VERTICAL tkinter.tix.Variable(??) tkinter.tix.W tkinter.tix.WINDOW tkinter.tix.WORD tkinter.tix.WRITABLE tkinter.tix.Widget(??) tkinter.tix.Wm(??) tkinter.tix.X tkinter.tix.XView(??) tkinter.tix.X_REGION tkinter.tix.Y tkinter.tix.YES tkinter.tix.YView(??) tkinter.tix.Y_REGION tkinter.tix.colorchooser(??) tkinter.tix.commondialog(??) tkinter.tix.constants(??) tkinter.tix.dialog(??) tkinter.tix.dnd(??) tkinter.tix.enum(??) tkinter.tix.filedialog(??) tkinter.tix.font(??) tkinter.tix.getboolean(??) tkinter.tix.getdouble(??) tkinter.tix.getint(??) tkinter.tix.image_names(??) tkinter.tix.image_types(??) tkinter.tix.mainloop(??) tkinter.tix.messagebox(??) tkinter.tix.os(??) tkinter.tix.re(??) tkinter.tix.scrolledtext(??) tkinter.tix.simpledialog(??) tkinter.tix.sys(??) tkinter.tix.tixCommand(??) tkinter.tix.tkinter(??) tkinter.tix.wantobjects tkinter.ttk.Button(??) tkinter.ttk.Checkbutton(??) tkinter.ttk.Combobox(??) tkinter.ttk.Entry(??) tkinter.ttk.Frame(??) tkinter.ttk.Label(??) tkinter.ttk.LabelFrame(??) tkinter.ttk.LabeledScale(??) tkinter.ttk.Labelframe(??) tkinter.ttk.Menubutton(??) tkinter.ttk.Notebook(??) tkinter.ttk.OptionMenu(??) tkinter.ttk.PanedWindow(??) tkinter.ttk.Panedwindow(??) tkinter.ttk.Progressbar(??) tkinter.ttk.Radiobutton(??) tkinter.ttk.Scale(??) tkinter.ttk.Scrollbar(??) tkinter.ttk.Separator(??) tkinter.ttk.Sizegrip(??) tkinter.ttk.Style(??) tkinter.ttk.Treeview(??) tkinter.ttk.Widget(??) tkinter.ttk.setup_master(??) tkinter.ttk.tclobjs_to_py(??) tkinter.ttk.tkinter(??) tkinter.wantobjects token.AMPER token.AMPEREQUAL token.ASYNC token.AT token.ATEQUAL token.AWAIT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.ASYNC tokenize.AT tokenize.ATEQUAL tokenize.AWAIT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.EXACT_TOKEN_TYPES(??) tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.StringPrefix tokenize.TILDE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.blank_re(??) tokenize.chain(*iterables) --> chain object tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.endpats(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(??) tokenize.main(??) tokenize.maybe(??) tokenize.open(??) tokenize.re(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.triple_quoted(??) tokenize.u tokenize.untokenize(??) trace.CoverageResults(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.argparse(??) trace.dis(??) trace.gc(??) trace.inspect(??) trace.linecache(??) trace.main(??) trace.os(??) trace.pickle(??) trace.re(??) trace.rx_blank(??) trace.sys(??) trace.threading(??) trace.token(??) trace.tokenize(??) traceback.FrameSummary(??) traceback.StackSummary(??) traceback.TracebackException(??) traceback.clear_frames(??) traceback.collections(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.itertools(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) traceback.walk_stack(??) traceback.walk_tb(??) tracemalloc.BaseFilter(??) tracemalloc.DomainFilter(??) tracemalloc.Filter(??) tracemalloc.Frame(??) tracemalloc.Iterable(??) tracemalloc.Sequence(??) tracemalloc.Snapshot(??) tracemalloc.Statistic(??) tracemalloc.StatisticDiff(??) tracemalloc.Trace(??) tracemalloc.Traceback(??) tracemalloc.clear_traces() tracemalloc.fnmatch(??) tracemalloc.get_object_traceback(??) tracemalloc.get_traceback_limit() -> int tracemalloc.get_traced_memory() -> (int, int) tracemalloc.get_tracemalloc_memory() -> int tracemalloc.is_tracing()->bool tracemalloc.linecache(??) tracemalloc.os(??) tracemalloc.pickle(??) tracemalloc.start(nframe: int=1) tracemalloc.stop() tracemalloc.take_snapshot(??) tracemalloc.total_ordering(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.ISIG tty.ISPEED tty.ISTRIP tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSASOFT tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGPGRP tty.TIOCGWINSZ tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSETD tty.TIOCSPGRP tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple() -> empty tuple turtle.Canvas(??) turtle.Pen(??) turtle.RawPen(??) turtle.RawTurtle(??) turtle.Screen(??) turtle.ScrolledCanvas(??) turtle.Shape(??) turtle.TK(??) turtle.TNavigator(??) turtle.TPen(??) turtle.Tbuffer(??) turtle.Terminator(??) turtle.Turtle(??) turtle.TurtleGraphicsError(??) turtle.TurtleScreen(??) turtle.TurtleScreenBase(??) turtle.Vec2D(??) turtle.addshape(??) turtle.back(??) turtle.backward(??) turtle.begin_fill(??) turtle.begin_poly(??) turtle.bgcolor(??) turtle.bgpic(??) turtle.bk(??) turtle.bye(??) turtle.circle(??) turtle.clear(??) turtle.clearscreen(??) turtle.clearstamp(??) turtle.clearstamps(??) turtle.clone(??) turtle.color(??) turtle.colormode(??) turtle.config_dict(??) turtle.deepcopy(??) turtle.degrees(??) turtle.delay(??) turtle.distance(??) turtle.done(??) turtle.dot(??) turtle.down(??) turtle.end_fill(??) turtle.end_poly(??) turtle.exitonclick(??) turtle.fd(??) turtle.fillcolor(??) turtle.filling(??) turtle.forward(??) turtle.get_poly(??) turtle.get_shapepoly(??) turtle.getcanvas(??) turtle.getmethparlist(??) turtle.getpen(??) turtle.getscreen(??) turtle.getshapes(??) turtle.getturtle(??) turtle.goto(??) turtle.heading(??) turtle.hideturtle(??) turtle.home(??) turtle.ht(??) turtle.inspect(??) turtle.isdown(??) turtle.isfile(??) turtle.isvisible(??) turtle.join(??) turtle.left(??) turtle.listen(??) turtle.lt(??) turtle.mainloop(??) turtle.math(??) turtle.mode(??) turtle.numinput(??) turtle.onclick(??) turtle.ondrag(??) turtle.onkey(??) turtle.onkeypress(??) turtle.onkeyrelease(??) turtle.onrelease(??) turtle.onscreenclick(??) turtle.ontimer(??) turtle.pd(??) turtle.pen(??) turtle.pencolor(??) turtle.pendown(??) turtle.pensize(??) turtle.penup(??) turtle.pos(??) turtle.position(??) turtle.pu(??) turtle.radians(??) turtle.read_docstrings(??) turtle.readconfig(??) turtle.register_shape(??) turtle.reset(??) turtle.resetscreen(??) turtle.resizemode(??) turtle.right(??) turtle.rt(??) turtle.screensize(??) turtle.seth(??) turtle.setheading(??) turtle.setpos(??) turtle.setposition(??) turtle.settiltangle(??) turtle.setundobuffer(??) turtle.setup(??) turtle.setworldcoordinates(??) turtle.setx(??) turtle.sety(??) turtle.shape(??) turtle.shapesize(??) turtle.shapetransform(??) turtle.shearfactor(??) turtle.showturtle(??) turtle.simpledialog(??) turtle.speed(??) turtle.split(??) turtle.st(??) turtle.stamp(??) turtle.sys(??) turtle.textinput(??) turtle.tilt(??) turtle.tiltangle(??) turtle.time(??) turtle.title(??) turtle.towards(??) turtle.tracer(??) turtle.turtles(??) turtle.turtlesize(??) turtle.types(??) turtle.undo (repeatedly) the last turtle action. turtle.undobufferentries(??) turtle.up(??) turtle.update(??) turtle.width(??) turtle.window_height(??) turtle.window_width(??) turtle.write(??) turtle.write_docstringdict(??) turtle.xcor(??) turtle.ycor(??) type(object_or_name, bases, dict) types.AsyncGeneratorType(??) types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CodeType(??) types.CoroutineType(??) types.DynamicClassAttribute(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MappingProxyType(??) types.MemberDescriptorType(??) types.MethodType(??) types.ModuleType(??) types.SimpleNamespace(??) types.TracebackType(??) types.coroutine(??) types.new_class(??) types.prepare_class(??) typing.AbstractSet(??) typing.Any(??) typing.AnyStr(??) typing.AsyncIterable(??) typing.AsyncIterator(??) typing.Awaitable(??) typing.BinaryIO(??) typing.ByteString(??) typing.CT_co(??) typing.Callable(??) typing.CallableMeta(??) typing.ClassVar(??) typing.Collection(??) typing.Container(??) typing.ContextManager(??) typing.Coroutine(??) typing.DefaultDict(??) typing.Dict(??) typing.FrozenSet(??) typing.Generator(??) typing.Generic(??) typing.GenericMeta(??) typing.Hashable(??) typing.IO(??) typing.ItemsView(??) typing.Iterable(??) typing.Iterator(??) typing.KT(??) typing.KeysView(??) typing.List(??) typing.Mapping(??) typing.MappingView(??) typing.Match(??) typing.MutableMapping(??) typing.MutableSequence(??) typing.MutableSet(??) typing.NamedTuple(??) typing.NamedTupleMeta(??) typing.NewType(??) typing.Optional(??) typing.Pattern(??) typing.Reversible(??) typing.Sequence(??) typing.Set(??) typing.Sized(??) typing.SupportsAbs(??) typing.SupportsBytes(??) typing.SupportsComplex(??) typing.SupportsFloat(??) typing.SupportsInt(??) typing.SupportsRound(??) typing.T(??) typing.TYPE_CHECKING(??) typing.T_co(??) typing.T_contra(??) typing.Text(??) typing.TextIO(??) typing.Tuple(??) typing.TupleMeta(??) typing.Type(??) typing.TypeVar(??) typing.TypingMeta(??) typing.Union(??) typing.VT(??) typing.VT_co(??) typing.V_co(??) typing.ValuesView(??) typing.abc(??) typing.abstractmethod(??) typing.abstractproperty(??) typing.cast(??) typing.collections(??) typing.collections_abc(??) typing.contextlib(??) typing.functools(??) typing.get_type_hints(??) typing.io(??) typing.no_type_check(??) typing.no_type_check_decorator(??) typing.overload(??) typing.re(??) typing.stdlib_re(??) typing.sys(??) typing.types(??) urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.re(??) urllib.parse.scheme_chars urllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.parse.splitnport(??) urllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.parse.splitport('host:port') --> 'host', 'port'. urllib.parse.splitquery('/path?query') --> '/path', 'query'. urllib.parse.splittag('/path#tag') --> '/path', 'tag'. urllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.parse.splitvalue('attr=value') --> 'attr', 'value'. urllib.parse.sys(??) urllib.parse.to_bytes(u"URL") --> 'URL'. urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap('') --> 'type://host/path'. urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.DataHandler(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPPasswordMgrWithPriorAuth(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.collections(??) urllib.request.contextlib(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.getproxies_macosx_sysconf(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.proxy_bypass_macosx_sysconf(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.request.splitport('host:port') --> 'host', 'port'. urllib.request.splitquery('/path?query') --> '/path', 'query'. urllib.request.splittag('/path#tag') --> '/path', 'tag'. urllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.request.splitvalue('attr=value') --> 'attr', 'value'. urllib.request.ssl(??) urllib.request.string(??) urllib.request.sys(??) urllib.request.tempfile(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.to_bytes(u"URL") --> 'URL'. urllib.request.unquote(??) urllib.request.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.request.unwrap('') --> 'type://host/path'. urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.request.warnings(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.response.tempfile(??) urllib.robotparser.Entry(??) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.collections(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.UUID(??) uuid.bytes_(??) uuid.ctypes(??) uuid.getnode(??) uuid.int_(??) uuid.lib(??) uuid.libname uuid.os(??) uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary venv.EnvBuilder(??) venv.create(??) venv.logger(??) venv.logging(??) venv.main(??) venv.os(??) venv.shutil(??) venv.subprocess(??) venv.sys(??) venv.types(??) warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.audioop(??) wave.builtins(??) wave.namedtuple(??) wave.open(??) wave.openfp(??) wave.struct(??) wave.sys(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakMethod(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.collections(??) weakref.finalize(??) weakref.getweakrefcount(??) weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.itertools(??) weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) weakref.sys(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Chrome(??) webbrowser.Chromium(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.MacOSX(??) webbrowser.MacOSXOSAScript(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.shlex(??) webbrowser.shutil(??) webbrowser.subprocess(??) webbrowser.sys(??) wsgiref.handlers(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.python_implementation(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO(??) xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.raise_conversion_error(??) xdrlib.struct(??) xdrlib.wraps(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.warnings(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLPullParser(??) xml.etree.ElementTree.collections(??) xml.etree.ElementTree.contextlib(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.io(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.XMLPullParser(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(??) xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate(??) xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.codecs(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.io(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO(??) xmlrpc.client.DateTime(??) xmlrpc.client.Decimal(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.loads(??) xmlrpc.client.sys(??) xmlrpc.client.time(??) xmlrpc.client.urllib(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.http(??) xmlrpc.server.inspect(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(iter1 [,iter2 [...]]) --> zip object zipapp.MAIN_TEMPLATE zipapp.ZipAppError(??) zipapp.contextlib(??) zipapp.create_archive(??) zipapp.get_interpreter(??) zipapp.main(??) zipapp.os(??) zipapp.pathlib(??) zipapp.shebang_encoding zipapp.shutil(??) zipapp.stat(??) zipapp.sys(??) zipapp.zipfile(??) zipfile.BZIP2_VERSION zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.DEFAULT_VERSION zipfile.LZMACompressor(??) zipfile.LZMADecompressor(??) zipfile.LZMA_VERSION zipfile.LargeZipFile(??) zipfile.MAX_EXTRACT_VERSION zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP64_VERSION zipfile.ZIP_BZIP2 zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_LZMA zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.bz2(??) zipfile.compressor_names(??) zipfile.crc32(??) zipfile.error(??) zipfile.importlib(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.lzma(??) zipfile.main(??) zipfile.os(??) zipfile.re(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.threading(??) zipfile.time(??) zipfile.zlib(??) zipimport.ZipImportError(??) zipimport.zipimporter(archivepath) -> zipimporter object ================================================ FILE: src/qscint/qsci/api/python/Python-3.7.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BlockingIOError(??) BrokenPipeError(??) BufferError(??) BytesWarning(??) ChildProcessError(??) ConnectionAbortedError(??) ConnectionError(??) ConnectionRefusedError(??) ConnectionResetError(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FileExistsError(??) FileNotFoundError(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) InterruptedError(??) IsADirectoryError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) ModuleNotFoundError(??) NameError(??) None(??) NotADirectoryError(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) PermissionError(??) ProcessLookupError(??) RecursionError(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopAsyncIteration(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) TimeoutError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABC(??) abc.ABCMeta(??) abc.WeakSet(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abc.get_cache_token(??) abs(??) aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.namedtuple(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) aifc.warnings(??) all(??) any(??) argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.MetavarTypeHelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) ascii(??) ast.AST(??) ast.Add(??) ast.And(??) ast.AnnAssign(??) ast.Assert(??) ast.Assign(??) ast.AsyncFor(??) ast.AsyncFunctionDef(??) ast.AsyncWith(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.Await(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Constant(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FormattedValue(??) ast.FunctionDef(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.JoinedStr(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.MatMult(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NameConstant(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ONLY_AST ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.Try(??) ast.Tuple(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.YieldFrom(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.unaryop(??) ast.walk(??) ast.withitem(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.deque([iterable[, maxlen]]) --> deque object asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asyncio.ALL_COMPLETED asyncio.AbstractChildWatcher(??) asyncio.AbstractEventLoop(??) asyncio.AbstractEventLoopPolicy(??) asyncio.AbstractServer(??) asyncio.BaseEventLoop(??) asyncio.BaseProtocol(??) asyncio.BaseTransport(??) asyncio.BoundedSemaphore(??) asyncio.BufferedProtocol(??) asyncio.CancelledError(??) asyncio.Condition(??) asyncio.DatagramProtocol(??) asyncio.DatagramTransport(??) asyncio.DefaultEventLoopPolicy(??) asyncio.Event(??) asyncio.FIRST_COMPLETED asyncio.FIRST_EXCEPTION asyncio.FastChildWatcher(??) asyncio.Future(??) asyncio.Handle(??) asyncio.IncompleteReadError(??) asyncio.InvalidStateError(??) asyncio.LifoQueue(??) asyncio.LimitOverrunError(??) asyncio.Lock(??) asyncio.PriorityQueue(??) asyncio.Protocol(??) asyncio.Queue(??) asyncio.QueueEmpty(??) asyncio.QueueFull(??) asyncio.ReadTransport(??) asyncio.SafeChildWatcher(??) asyncio.SelectorEventLoop(??) asyncio.Semaphore(??) asyncio.SendfileNotAvailableError(??) asyncio.StreamReader(??) asyncio.StreamReaderProtocol(??) asyncio.StreamWriter(??) asyncio.SubprocessProtocol(??) asyncio.SubprocessTransport(??) asyncio.Task(??) asyncio.TimeoutError(??) asyncio.TimerHandle(??) asyncio.Transport(??) asyncio.WriteTransport(??) asyncio.all_tasks(??) asyncio.as_completed(??) asyncio.base_events(??) asyncio.base_events.BaseEventLoop(??) asyncio.base_events.Server(??) asyncio.base_events.collections(??) asyncio.base_events.concurrent(??) asyncio.base_events.constants(??) asyncio.base_events.coroutines(??) asyncio.base_events.events(??) asyncio.base_events.futures(??) asyncio.base_events.heapq(??) asyncio.base_events.itertools(??) asyncio.base_events.logger(??) asyncio.base_events.logging(??) asyncio.base_events.os(??) asyncio.base_events.protocols(??) asyncio.base_events.socket(??) asyncio.base_events.ssl(??) asyncio.base_events.sslproto(??) asyncio.base_events.subprocess(??) asyncio.base_events.sys(??) asyncio.base_events.tasks(??) asyncio.base_events.threading(??) asyncio.base_events.time(??) asyncio.base_events.traceback(??) asyncio.base_events.transports(??) asyncio.base_events.warnings(??) asyncio.base_events.weakref(??) asyncio.base_futures(??) asyncio.base_futures.CancelledError(??) asyncio.base_futures.Error(??) asyncio.base_futures.InvalidStateError(??) asyncio.base_futures.TimeoutError(??) asyncio.base_futures.concurrent(??) asyncio.base_futures.format_helpers(??) asyncio.base_futures.isfuture(??) asyncio.base_futures.reprlib(??) asyncio.base_subprocess(??) asyncio.base_subprocess.BaseSubprocessTransport(??) asyncio.base_subprocess.ReadSubprocessPipeProto(??) asyncio.base_subprocess.WriteSubprocessPipeProto(??) asyncio.base_subprocess.collections(??) asyncio.base_subprocess.logger(??) asyncio.base_subprocess.protocols(??) asyncio.base_subprocess.subprocess(??) asyncio.base_subprocess.transports(??) asyncio.base_subprocess.warnings(??) asyncio.base_tasks(??) asyncio.base_tasks.base_futures(??) asyncio.base_tasks.coroutines(??) asyncio.base_tasks.linecache(??) asyncio.base_tasks.traceback(??) asyncio.constants(??) asyncio.constants.ACCEPT_RETRY_DELAY asyncio.constants.DEBUG_STACK_DEPTH asyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES asyncio.constants.SSL_HANDSHAKE_TIMEOUT asyncio.constants.enum(??) asyncio.coroutine(??) asyncio.coroutines(??) asyncio.coroutines.CoroWrapper(??) asyncio.coroutines.base_futures(??) asyncio.coroutines.collections(??) asyncio.coroutines.constants(??) asyncio.coroutines.coroutine(??) asyncio.coroutines.format_helpers(??) asyncio.coroutines.functools(??) asyncio.coroutines.inspect(??) asyncio.coroutines.iscoroutine(??) asyncio.coroutines.iscoroutinefunction(??) asyncio.coroutines.logger(??) asyncio.coroutines.os(??) asyncio.coroutines.sys(??) asyncio.coroutines.traceback(??) asyncio.coroutines.types(??) asyncio.create_subprocess_exec(??) asyncio.create_subprocess_shell(??) asyncio.create_task(??) asyncio.current_task(??) asyncio.ensure_future(??) asyncio.events(??) asyncio.events.AbstractEventLoop(??) asyncio.events.AbstractEventLoopPolicy(??) asyncio.events.AbstractServer(??) asyncio.events.BaseDefaultEventLoopPolicy(??) asyncio.events.Handle(??) asyncio.events.SendfileNotAvailableError(??) asyncio.events.TimerHandle(??) asyncio.events.contextvars(??) asyncio.events.format_helpers(??) asyncio.events.get_child_watcher(??) asyncio.events.get_event_loop(??) asyncio.events.get_event_loop_policy(??) asyncio.events.get_running_loop(??) asyncio.events.new_event_loop(??) asyncio.events.os(??) asyncio.events.set_child_watcher(??) asyncio.events.set_event_loop(??) asyncio.events.set_event_loop_policy(??) asyncio.events.socket(??) asyncio.events.subprocess(??) asyncio.events.sys(??) asyncio.events.threading(??) asyncio.format_helpers(??) asyncio.format_helpers.constants(??) asyncio.format_helpers.extract_stack(??) asyncio.format_helpers.functools(??) asyncio.format_helpers.inspect(??) asyncio.format_helpers.reprlib(??) asyncio.format_helpers.traceback(??) asyncio.futures(??) asyncio.futures.CancelledError(??) asyncio.futures.Future(??) asyncio.futures.InvalidStateError(??) asyncio.futures.STACK_DEBUG asyncio.futures.TimeoutError(??) asyncio.futures.base_futures(??) asyncio.futures.concurrent(??) asyncio.futures.contextvars(??) asyncio.futures.events(??) asyncio.futures.format_helpers(??) asyncio.futures.isfuture(??) asyncio.futures.logging(??) asyncio.futures.sys(??) asyncio.futures.wrap_future(??) asyncio.gather(??) asyncio.get_child_watcher(??) asyncio.get_event_loop(??) asyncio.get_event_loop_policy(??) asyncio.get_running_loop(??) asyncio.iscoroutine(??) asyncio.iscoroutinefunction(??) asyncio.isfuture(??) asyncio.locks(??) asyncio.locks.BoundedSemaphore(??) asyncio.locks.Condition(??) asyncio.locks.Event(??) asyncio.locks.Lock(??) asyncio.locks.Semaphore(??) asyncio.locks.collections(??) asyncio.locks.coroutine(??) asyncio.locks.events(??) asyncio.locks.futures(??) asyncio.locks.warnings(??) asyncio.log(??) asyncio.log.logger(??) asyncio.log.logging(??) asyncio.new_event_loop(??) asyncio.open_connection(??) asyncio.open_unix_connection(??) asyncio.proactor_events.BaseProactorEventLoop(??) asyncio.proactor_events.base_events(??) asyncio.proactor_events.constants(??) asyncio.proactor_events.futures(??) asyncio.proactor_events.logger(??) asyncio.proactor_events.protocols(??) asyncio.proactor_events.socket(??) asyncio.proactor_events.sslproto(??) asyncio.proactor_events.transports(??) asyncio.proactor_events.warnings(??) asyncio.protocols(??) asyncio.protocols.BaseProtocol(??) asyncio.protocols.BufferedProtocol(??) asyncio.protocols.DatagramProtocol(??) asyncio.protocols.Protocol(??) asyncio.protocols.SubprocessProtocol(??) asyncio.queues(??) asyncio.queues.LifoQueue(??) asyncio.queues.PriorityQueue(??) asyncio.queues.Queue(??) asyncio.queues.QueueEmpty(??) asyncio.queues.QueueFull(??) asyncio.queues.collections(??) asyncio.queues.events(??) asyncio.queues.heapq(??) asyncio.queues.locks(??) asyncio.run(??) asyncio.run_coroutine_threadsafe(??) asyncio.runners(??) asyncio.runners.coroutines(??) asyncio.runners.events(??) asyncio.runners.run(??) asyncio.runners.tasks(??) asyncio.selector_events(??) asyncio.selector_events.BaseSelectorEventLoop(??) asyncio.selector_events.base_events(??) asyncio.selector_events.collections(??) asyncio.selector_events.constants(??) asyncio.selector_events.errno(??) asyncio.selector_events.events(??) asyncio.selector_events.functools(??) asyncio.selector_events.futures(??) asyncio.selector_events.logger(??) asyncio.selector_events.protocols(??) asyncio.selector_events.selectors(??) asyncio.selector_events.socket(??) asyncio.selector_events.ssl(??) asyncio.selector_events.sslproto(??) asyncio.selector_events.transports(??) asyncio.selector_events.warnings(??) asyncio.selector_events.weakref(??) asyncio.set_child_watcher(??) asyncio.set_event_loop(??) asyncio.set_event_loop_policy(??) asyncio.shield(??) asyncio.sleep(??) asyncio.sslproto(??) asyncio.sslproto.SSLProtocol(??) asyncio.sslproto.base_events(??) asyncio.sslproto.collections(??) asyncio.sslproto.constants(??) asyncio.sslproto.logger(??) asyncio.sslproto.protocols(??) asyncio.sslproto.ssl(??) asyncio.sslproto.transports(??) asyncio.sslproto.warnings(??) asyncio.start_server(??) asyncio.start_unix_server(??) asyncio.streams(??) asyncio.streams.FlowControlMixin(??) asyncio.streams.IncompleteReadError(??) asyncio.streams.LimitOverrunError(??) asyncio.streams.StreamReader(??) asyncio.streams.StreamReaderProtocol(??) asyncio.streams.StreamWriter(??) asyncio.streams.coroutines(??) asyncio.streams.events(??) asyncio.streams.logger(??) asyncio.streams.open_connection(??) asyncio.streams.open_unix_connection(??) asyncio.streams.protocols(??) asyncio.streams.sleep(??) asyncio.streams.socket(??) asyncio.streams.start_server(??) asyncio.streams.start_unix_server(??) asyncio.subprocess(??) asyncio.subprocess.DEVNULL asyncio.subprocess.PIPE asyncio.subprocess.Process(??) asyncio.subprocess.STDOUT asyncio.subprocess.SubprocessStreamProtocol(??) asyncio.subprocess.create_subprocess_exec(??) asyncio.subprocess.create_subprocess_shell(??) asyncio.subprocess.events(??) asyncio.subprocess.logger(??) asyncio.subprocess.protocols(??) asyncio.subprocess.streams(??) asyncio.subprocess.subprocess(??) asyncio.subprocess.tasks(??) asyncio.sys(??) asyncio.tasks(??) asyncio.tasks.ALL_COMPLETED asyncio.tasks.FIRST_COMPLETED asyncio.tasks.FIRST_EXCEPTION asyncio.tasks.Task(??) asyncio.tasks.all_tasks(??) asyncio.tasks.as_completed(??) asyncio.tasks.base_tasks(??) asyncio.tasks.concurrent(??) asyncio.tasks.contextvars(??) asyncio.tasks.coroutine(??) asyncio.tasks.coroutines(??) asyncio.tasks.create_task(??) asyncio.tasks.current_task(??) asyncio.tasks.ensure_future(??) asyncio.tasks.events(??) asyncio.tasks.functools(??) asyncio.tasks.futures(??) asyncio.tasks.gather(??) asyncio.tasks.inspect(??) asyncio.tasks.run_coroutine_threadsafe(??) asyncio.tasks.shield(??) asyncio.tasks.sleep(??) asyncio.tasks.types(??) asyncio.tasks.wait(??) asyncio.tasks.wait_for(??) asyncio.tasks.warnings(??) asyncio.tasks.weakref(??) asyncio.transports(??) asyncio.transports.BaseTransport(??) asyncio.transports.DatagramTransport(??) asyncio.transports.ReadTransport(??) asyncio.transports.SubprocessTransport(??) asyncio.transports.Transport(??) asyncio.transports.WriteTransport(??) asyncio.unix_events(??) asyncio.unix_events.AbstractChildWatcher(??) asyncio.unix_events.BaseChildWatcher(??) asyncio.unix_events.DefaultEventLoopPolicy(??) asyncio.unix_events.FastChildWatcher(??) asyncio.unix_events.SafeChildWatcher(??) asyncio.unix_events.SelectorEventLoop(??) asyncio.unix_events.base_events(??) asyncio.unix_events.base_subprocess(??) asyncio.unix_events.constants(??) asyncio.unix_events.coroutines(??) asyncio.unix_events.errno(??) asyncio.unix_events.events(??) asyncio.unix_events.futures(??) asyncio.unix_events.io(??) asyncio.unix_events.logger(??) asyncio.unix_events.os(??) asyncio.unix_events.selector_events(??) asyncio.unix_events.selectors(??) asyncio.unix_events.signal(??) asyncio.unix_events.socket(??) asyncio.unix_events.stat(??) asyncio.unix_events.subprocess(??) asyncio.unix_events.sys(??) asyncio.unix_events.threading(??) asyncio.unix_events.transports(??) asyncio.unix_events.warnings(??) asyncio.wait(??) asyncio.wait_for(??) asyncio.wrap_future(??) asyncore.EAGAIN asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.EPIPE asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None base64.MAXBINSIZE base64.MAXLINESIZE base64.a85decode(??) base64.a85encode(??) base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.b85decode(??) base64.b85encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.CO_ASYNC_GENERATOR bdb.CO_COROUTINE bdb.CO_GENERATOR bdb.GENERATOR_AND_COROUTINE_FLAGS bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool breakpoint(*args, **kws) builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BlockingIOError(??) builtins.BrokenPipeError(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.ChildProcessError(??) builtins.ConnectionAbortedError(??) builtins.ConnectionError(??) builtins.ConnectionRefusedError(??) builtins.ConnectionResetError(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FileExistsError(??) builtins.FileNotFoundError(??) builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.InterruptedError(??) builtins.IsADirectoryError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.ModuleNotFoundError(??) builtins.NameError(??) builtins.None builtins.NotADirectoryError(??) builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.PermissionError(??) builtins.ProcessLookupError(??) builtins.RecursionError(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopAsyncIteration(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.TimeoutError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(??) builtins.all(??) builtins.any(??) builtins.ascii(??) builtins.bin(??) builtins.bool(x) -> bool builtins.breakpoint(*args, **kws) builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(??) builtins.chr(??) builtins.classmethod(function) -> method builtins.compile(??) builtins.complex(??) builtins.copyright(??) builtins.credits(??) builtins.delattr(??) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(??) builtins.enumerate(??) builtins.eval(??) builtins.exec(??) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(??) builtins.format(??) builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals(??) builtins.hasattr(??) builtins.hash(??) builtins.help(??) builtins.hex(??) builtins.id(??) builtins.input(??) builtins.int([x]) -> integer builtins.isinstance(??) builtins.issubclass(??) builtins.iter(iterable) -> iterator builtins.len(??) builtins.license(??) builtins.list(??) builtins.locals(??) builtins.map(func, *iterables) --> map object builtins.max(iterable, *[, default=obj, key=func]) -> value builtins.memoryview(??) builtins.min(iterable, *[, default=obj, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(??) builtins.open(??) builtins.ord(??) builtins.pow(??) builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) builtins.property(??) builtins.quit(??) builtins.range(stop) -> range object builtins.repr(??) builtins.reversed(??) builtins.round(??) builtins.set() -> new empty set object builtins.setattr(??) builtins.slice(stop) builtins.sorted(??) builtins.staticmethod(function) -> method builtins.str(object='') -> str builtins.sum(??) builtins.super() -> same as super(__class__, ) builtins.tuple(??) builtins.type(object_or_name, bases, dict) builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor(??) bz2.BZ2Decompressor(??) bz2.BZ2File(??) bz2.RLock(??) bz2.compress(??) bz2.decompress(??) bz2.io(??) bz2.open(??) bz2.os(??) bz2.warnings(??) cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthlen(??) calendar.monthrange(??) calendar.nextmonth(??) calendar.prcal(??) calendar.prevmonth(??) calendar.prmonth(??) calendar.prweek(??) calendar.repeat(object [,times]) -> create an iterator which returns the object calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(??) cgi.BytesIO(??) cgi.FeedParser(??) cgi.FieldStorage(??) cgi.Mapping(??) cgi.Message(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.closelog(??) cgi.dolog(??) cgi.escape(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.parse_qs(??) cgi.parse_qsl(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgi.warn(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) chr(??) chunk.Chunk(??) classmethod(function) -> method cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(??) codecs.encode(??) codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(??) codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.namereplace_errors(??) codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(??) codecs.register_error(??) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.unicode_internal_decode(??) codecs.unicode_internal_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.AsyncGenerator(??) collections.AsyncIterable(??) collections.AsyncIterator(??) collections.Awaitable(??) collections.ByteString(??) collections.Callable(??) collections.ChainMap(??) collections.Collection(??) collections.Container(??) collections.Coroutine(??) collections.Counter(??) collections.Generator(??) collections.Hashable(??) collections.ItemsView(??) collections.Iterable(??) collections.Iterator(??) collections.KeysView(??) collections.Mapping(??) collections.MappingView(??) collections.MutableMapping(??) collections.MutableSequence(??) collections.MutableSet(??) collections.OrderedDict(??) collections.Reversible(??) collections.Sequence(??) collections.Set(??) collections.Sized(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.ValuesView(??) collections.abc(??) collections.abc.AsyncGenerator(??) collections.abc.AsyncIterable(??) collections.abc.AsyncIterator(??) collections.abc.Awaitable(??) collections.abc.ByteString(??) collections.abc.Callable(??) collections.abc.Collection(??) collections.abc.Container(??) collections.abc.Coroutine(??) collections.abc.Generator(??) collections.abc.Hashable(??) collections.abc.ItemsView(??) collections.abc.Iterable(??) collections.abc.Iterator(??) collections.abc.KeysView(??) collections.abc.Mapping(??) collections.abc.MappingView(??) collections.abc.MutableMapping(??) collections.abc.MutableSequence(??) collections.abc.MutableSet(??) collections.abc.Reversible(??) collections.abc.Sequence(??) collections.abc.Set(??) collections.abc.Sized(??) collections.abc.ValuesView(??) collections.defaultdict(default_factory[, ...]) --> dict with default factory collections.deque([iterable[, maxlen]]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(??) compileall.ProcessPoolExecutor(??) compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.importlib(??) compileall.main(??) compileall.os(??) compileall.partial(func, *args, **keywords) - new function with partial application compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(??) concurrent.futures(??) concurrent.futures.ALL_COMPLETED concurrent.futures.BrokenExecutor(??) concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process.BrokenProcessPool(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.Full(??) concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.Queue(??) concurrent.futures.process.atexit(??) concurrent.futures.process.itertools(??) concurrent.futures.process.mp(??) concurrent.futures.process.os(??) concurrent.futures.process.partial(func, *args, **keywords) - new function with partial application concurrent.futures.process.queue(??) concurrent.futures.process.threading(??) concurrent.futures.process.traceback(??) concurrent.futures.process.wait(??) concurrent.futures.process.weakref(??) concurrent.futures.thread.BrokenThreadPool(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.atexit(??) concurrent.futures.thread.itertools(??) concurrent.futures.thread.os(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.ConverterMapping(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.os(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.AbstractAsyncContextManager(??) contextlib.AbstractContextManager(??) contextlib.AsyncExitStack(??) contextlib.ContextDecorator(??) contextlib.ExitStack(??) contextlib.abc(??) contextlib.asynccontextmanager(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.deque([iterable[, maxlen]]) --> deque object contextlib.nullcontext(??) contextlib.redirect_stderr(??) contextlib.redirect_stdout(??) contextlib.suppress(??) contextlib.sys(??) contextlib.wraps(??) contextvars.Context(??) contextvars.ContextVar(??) contextvars.Token(??) contextvars.copy_context(??) copy.Error(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.METHOD_BLOWFISH(??) crypt.METHOD_CRYPT(??) crypt.METHOD_MD5(??) crypt.METHOD_SHA256(??) crypt.METHOD_SHA512(??) crypt.crypt(??) crypt.methods(??) crypt.mksalt(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.OrderedDict(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(iterable[, func]) --> accumulate object ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(iterable, r) --> combinations object ctypes.macholib.dyld.combinations_with_replacement(iterable, r) --> combinations_with_replacement object ctypes.macholib.dyld.compress(data, selectors) --> iterator over selected data ctypes.macholib.dyld.count(start=0, step=1) --> count object ctypes.macholib.dyld.cycle(iterable) --> cycle object ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(function or None, sequence) --> filterfalse object ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(iterable, key=None) -> make an iterator that returns consecutive ctypes.macholib.dyld.islice(iterable, stop) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(iterable[, r]) --> permutations object ctypes.macholib.dyld.product(*iterables, repeat=1) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(function, sequence) --> starmap object ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.re(??) ctypes.util.shutil(??) ctypes.util.subprocess(??) ctypes.util.sys(??) ctypes.util.tempfile(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.newpad(??) curses.newwin(??) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.unget_wch(??) curses.ungetch(??) curses.ungetmouse(??) curses.update_lines_cols(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.wrapper(??) dataclasses.Field(??) dataclasses.FrozenInstanceError(??) dataclasses.InitVar(??) dataclasses.MISSING(??) dataclasses.asdict(??) dataclasses.astuple(??) dataclasses.dataclass(??) dataclasses.deepcopy(??) dataclasses.field(??) dataclasses.fields(??) dataclasses.inspect(??) dataclasses.is_dataclass(??) dataclasses.make_dataclass(??) dataclasses.replace(??) dataclasses.sys(??) dataclasses.types(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(??) dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.FloatOperation(??) decimal.HAVE_THREADS(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.MAX_EMAX decimal.MAX_PREC decimal.MIN_EMIN decimal.MIN_ETINY decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(??) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.diff_bytes(??) difflib.get_close_matches(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dis.Bytecode(??) dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.FORMAT_VALUE dis.HAVE_ARGUMENT dis.Instruction(??) dis.cmp_op(??) dis.code_info(??) dis.collections(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.get_instructions(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.hasnargs(??) dis.io(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.stack_effect(??) dis.sys(??) dis.types(??) divmod(??) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.FAIL_FAST doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) dummy_threading.Barrier(??) dummy_threading.BoundedSemaphore(??) dummy_threading.BrokenBarrierError(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.TIMEOUT_MAX dummy_threading.Thread(??) dummy_threading.ThreadError(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.get_ident(??) dummy_threading.local(??) dummy_threading.main_thread(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.contentmanager.ContentManager(??) email.contentmanager.binascii(??) email.contentmanager.email(??) email.contentmanager.get_and_fixup_unknown_message_content(??) email.contentmanager.get_message_content(??) email.contentmanager.get_non_text_content(??) email.contentmanager.get_text_content(??) email.contentmanager.maintype email.contentmanager.quoprimime(??) email.contentmanager.raw_data_manager(??) email.contentmanager.set_bytes_content(??) email.contentmanager.set_message_content(??) email.contentmanager.set_text_content(??) email.contentmanager.subtype email.contentmanager.typ(??) email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.CloseBoundaryNotFoundDefect(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderDefect(??) email.errors.HeaderMissingRequiredValue(??) email.errors.HeaderParseError(??) email.errors.InvalidBase64CharactersDefect(??) email.errors.InvalidBase64PaddingDefect(??) email.errors.InvalidHeaderDefect(??) email.errors.InvalidMultipartContentTransferEncodingDefect(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MissingHeaderBodySeparatorDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.NonASCIILocalPartDefect(??) email.errors.NonPrintableDefect(??) email.errors.ObsoleteHeaderDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.errors.UndecodableBytesDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.StringIO(??) email.feedparser.compat32(??) email.feedparser.deque([iterable[, maxlen]]) --> deque object email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.re(??) email.generator.BytesGenerator(??) email.generator.BytesIO(??) email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.NL email.generator.NLCRE(??) email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.deepcopy(??) email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.FWS email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.headerregistry.Address(??) email.headerregistry.AddressHeader(??) email.headerregistry.BaseHeader(??) email.headerregistry.ContentDispositionHeader(??) email.headerregistry.ContentTransferEncodingHeader(??) email.headerregistry.ContentTypeHeader(??) email.headerregistry.DateHeader(??) email.headerregistry.Group(??) email.headerregistry.HeaderRegistry(??) email.headerregistry.MIMEVersionHeader(??) email.headerregistry.MappingProxyType(??) email.headerregistry.ParameterizedMIMEHeader(??) email.headerregistry.SingleAddressHeader(??) email.headerregistry.UniqueAddressHeader(??) email.headerregistry.UniqueDateHeader(??) email.headerregistry.UniqueSingleAddressHeader(??) email.headerregistry.UniqueUnstructuredHeader(??) email.headerregistry.UnstructuredHeader(??) email.headerregistry.errors(??) email.headerregistry.parser(??) email.headerregistry.utils(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO(??) email.message.Charset(??) email.message.EmailMessage(??) email.message.MIMEPart(??) email.message.Message(??) email.message.Policy(??) email.message.SEMISPACE email.message.StringIO(??) email.message.compat32(??) email.message.decode_b(??) email.message.errors(??) email.message.quopri(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio.BytesIO(??) email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base.MIMEBase(??) email.mime.base.email(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text.Charset(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.parser(??) email.parser.BytesFeedParser(??) email.parser.BytesHeaderParser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.compat32(??) email.policy.Compat32(??) email.policy.EmailMessage(??) email.policy.EmailPolicy(??) email.policy.HTTP(??) email.policy.HeaderRegistry(??) email.policy.Policy(??) email.policy.SMTP(??) email.policy.SMTPUTF8(??) email.policy.compat32(??) email.policy.default(??) email.policy.linesep_splitter(??) email.policy.raw_data_manager(??) email.policy.re(??) email.policy.strict(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.Charset(??) email.utils.EMPTYSTRING email.utils.TICK email.utils.UEMPTYSTRING email.utils.collapse_rfc2231_value(??) email.utils.datetime(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.format_datetime(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.localtime(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_to_datetime(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) ensurepip.bootstrap(??) ensurepip.os(??) ensurepip.pkgutil(??) ensurepip.sys(??) ensurepip.tempfile(??) ensurepip.version(??) enum.DynamicClassAttribute(??) enum.Enum(??) enum.EnumMeta(??) enum.Flag(??) enum.IntEnum(??) enum.IntFlag(??) enum.MappingProxyType(??) enum.OrderedDict(??) enum.auto(??) enum.sys(??) enum.unique(??) enumerate(??) errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EAUTH errno.EBADARCH errno.EBADEXEC errno.EBADF errno.EBADMACHO errno.EBADMSG errno.EBADRPC errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDESTADDRREQ errno.EDEVERR errno.EDOM errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EFTYPE errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENEEDAUTH errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOATTR errno.ENOBUFS errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENOPOLICY errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTRECOVERABLE errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EOWNERDEAD errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROCLIM errno.EPROCUNAVAIL errno.EPROGMISMATCH errno.EPROGUNAVAIL errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.EPWROFF errno.ERANGE errno.EREMOTE errno.EROFS errno.ERPCMISMATCH errno.ESHLIBVERS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESTALE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.errorcode(??) eval(??) exec(??) exit(??) faulthandler.cancel_dump_traceback_later(): faulthandler.disable(): disable the fault handler faulthandler.dump_traceback(file=sys.stderr, all_threads=True): dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False): faulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler faulthandler.is_enabled()->bool: check if the handler is enabled faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False): register a handler for the signal 'signum': dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register() filecmp.BUFSIZE filecmp.DEFAULT_IGNORES(??) filecmp.clear_cache(??) filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(function or None, sequence) --> filterfalse object filecmp.os(??) filecmp.stat(??) fileinput.FileInput([files[, inplace[, backup[, bufsize, [, mode[, openhook]]]]]]) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(??) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(??) fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(??) formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) formatter.warnings(??) fractions.Decimal(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MAXLINE ftplib.MSG_OOB ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) functools.RLock(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.cmp_to_key(??) functools.get_cache_token(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.partialmethod(??) functools.recursive_repr(??) functools.reduce(function, sequence[, initial]) -> value functools.singledispatch(??) functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.callbacks(??) gc.collect(??) gc.disable(??) gc.enable(??) gc.ensure_disabled(??) gc.freeze(??) gc.garbage(??) gc.get_count(??) gc.get_debug(??) gc.get_freeze_count(??) gc.get_objects(??) gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_stats(??) gc.get_threshold(??) gc.is_tracked(??) gc.isenabled(??) gc.set_debug(??) gc.set_threshold(threshold0, [threshold1, threshold2]) -> None gc.unfreeze(??) genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.samefile(??) genericpath.sameopenfile(??) genericpath.samestat(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.contextlib(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.io(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.dgettext(??) gettext.dngettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.os(??) gettext.re(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.escape(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) globals(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.open(??) gzip.os(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(??) hash(??) hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.blake2b(??) hashlib.blake2s(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None) -> key hashlib.scrypt(??) hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha3_224(??) hashlib.sha3_256([string]) -> SHA3 object hashlib.sha3_384([string]) -> SHA3 object hashlib.sha3_512([string]) -> SHA3 object hashlib.sha512(??) hashlib.shake_128([string]) -> SHAKE object hashlib.shake_256([string]) -> SHAKE object heapq.heapify(??) heapq.heappop(??) heapq.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. heapq.heappushpop(heap, item) -> value. Push item on the heap, then pop and return the smallest item heapq.heapreplace(heap, item) -> value. Pop and return the current smallest value, and add the new item. heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) help(??) hex(??) hmac.HMAC(??) hmac.compare_digest(??) hmac.digest(??) hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities(??) html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.html5(??) html.entities.name2codepoint(??) html.escape(??) html.parser.HTMLParser(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_normal(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind_tolerant(??) html.parser.unescape(??) html.parser.warnings(??) html.unescape(??) http.HTTPStatus(??) http.IntEnum(??) http.client.ACCEPTED(??) http.client.ALREADY_REPORTED(??) http.client.BAD_GATEWAY(??) http.client.BAD_REQUEST(??) http.client.BadStatusLine(??) http.client.CONFLICT(??) http.client.CONTINUE(??) http.client.CREATED(??) http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED(??) http.client.FAILED_DEPENDENCY(??) http.client.FORBIDDEN(??) http.client.FOUND(??) http.client.GATEWAY_TIMEOUT(??) http.client.GONE(??) http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED(??) http.client.IM_USED(??) http.client.INSUFFICIENT_STORAGE(??) http.client.INTERNAL_SERVER_ERROR(??) http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED(??) http.client.LOCKED(??) http.client.LOOP_DETECTED(??) http.client.LineTooLong(??) http.client.MAXAMOUNT http.client.METHOD_NOT_ALLOWED(??) http.client.MISDIRECTED_REQUEST(??) http.client.MOVED_PERMANENTLY(??) http.client.MULTIPLE_CHOICES(??) http.client.MULTI_STATUS(??) http.client.NETWORK_AUTHENTICATION_REQUIRED(??) http.client.NON_AUTHORITATIVE_INFORMATION(??) http.client.NOT_ACCEPTABLE(??) http.client.NOT_EXTENDED(??) http.client.NOT_FOUND(??) http.client.NOT_IMPLEMENTED(??) http.client.NOT_MODIFIED(??) http.client.NO_CONTENT(??) http.client.NotConnected(??) http.client.OK(??) http.client.PARTIAL_CONTENT(??) http.client.PAYMENT_REQUIRED(??) http.client.PERMANENT_REDIRECT(??) http.client.PRECONDITION_FAILED(??) http.client.PRECONDITION_REQUIRED(??) http.client.PROCESSING(??) http.client.PROXY_AUTHENTICATION_REQUIRED(??) http.client.REQUESTED_RANGE_NOT_SATISFIABLE(??) http.client.REQUEST_ENTITY_TOO_LARGE(??) http.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??) http.client.REQUEST_TIMEOUT(??) http.client.REQUEST_URI_TOO_LONG(??) http.client.RESET_CONTENT(??) http.client.RemoteDisconnected(??) http.client.ResponseNotReady(??) http.client.SEE_OTHER(??) http.client.SERVICE_UNAVAILABLE(??) http.client.SWITCHING_PROTOCOLS(??) http.client.TEMPORARY_REDIRECT(??) http.client.TOO_MANY_REQUESTS(??) http.client.UNAUTHORIZED(??) http.client.UNPROCESSABLE_ENTITY(??) http.client.UNSUPPORTED_MEDIA_TYPE(??) http.client.UPGRADE_REQUIRED(??) http.client.USE_PROXY(??) http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.VARIANT_ALSO_NEGOTIATES(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.http(??) http.client.io(??) http.client.parse_headers(??) http.client.re(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.datetime(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.HTTPStatus(??) http.server.SimpleHTTPRequestHandler(??) http.server.copy(??) http.server.datetime(??) http.server.email(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.partial(func, *args, **keywords) - new function with partial application http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(??) imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.DEFAULT_BUFFER_SIZE imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.Months(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.calendar(??) imaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imaplib.timedelta(??) imaplib.timezone(??) imghdr.PathLike(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exr(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_webp(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.SourcelessFileLoader(??) imp.acquire_lock(??) imp.cache_from_source(??) imp.create_dynamic(??) imp.find_module(??) imp.get_frozen_object(??) imp.get_magic(??) imp.get_suffixes(??) imp.get_tag(??) imp.importlib(??) imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(??) imp.load_package(??) imp.load_source(??) imp.lock_held(??) imp.machinery(??) imp.new_module(??) imp.os(??) imp.release_lock(??) imp.reload(??) imp.source_from_cache(??) imp.sys(??) imp.tokenize(??) imp.types(??) imp.util(??) imp.warnings(??) importlib.abc(??) importlib.abc.ExecutionLoader(??) importlib.abc.FileLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.MetaPathFinder(??) importlib.abc.PathEntryFinder(??) importlib.abc.ResourceLoader(??) importlib.abc.ResourceReader(??) importlib.abc.SourceLoader(??) importlib.abc.abc(??) importlib.abc.machinery(??) importlib.abc.warnings(??) importlib.find_loader(??) importlib.import_module(??) importlib.invalidate_caches(??) importlib.machinery(??) importlib.machinery.BYTECODE_SUFFIXES(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.DEBUG_BYTECODE_SUFFIXES(??) importlib.machinery.EXTENSION_SUFFIXES(??) importlib.machinery.ExtensionFileLoader(??) importlib.machinery.FileFinder(??) importlib.machinery.FrozenImporter(??) importlib.machinery.ModuleSpec(??) importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??) importlib.machinery.PathFinder(??) importlib.machinery.SOURCE_SUFFIXES(??) importlib.machinery.SourceFileLoader(??) importlib.machinery.SourcelessFileLoader(??) importlib.machinery.WindowsRegistryFinder(??) importlib.machinery.all_suffixes(??) importlib.reload(??) importlib.resources.BinaryIO(??) importlib.resources.BytesIO(??) importlib.resources.Iterator(??) importlib.resources.ModuleType(??) importlib.resources.Optional(??) importlib.resources.Package(??) importlib.resources.Path(??) importlib.resources.Resource(??) importlib.resources.ResourceLoader(??) importlib.resources.Set(??) importlib.resources.TextIO(??) importlib.resources.TextIOWrapper(??) importlib.resources.Union(??) importlib.resources.ZipImportError(??) importlib.resources.builtins_open(??) importlib.resources.cast(??) importlib.resources.contents(??) importlib.resources.contextmanager(??) importlib.resources.import_module(??) importlib.resources.is_resource(??) importlib.resources.open_binary(??) importlib.resources.open_text(??) importlib.resources.os(??) importlib.resources.path(??) importlib.resources.read_binary(??) importlib.resources.read_text(??) importlib.resources.resources_abc(??) importlib.resources.suppress(??) importlib.resources.tempfile(??) importlib.sys(??) importlib.types(??) importlib.util(??) importlib.util.LazyLoader(??) importlib.util.MAGIC_NUMBER importlib.util.abc(??) importlib.util.cache_from_source(??) importlib.util.contextmanager(??) importlib.util.decode_source(??) importlib.util.find_spec(??) importlib.util.functools(??) importlib.util.module_for_loader(??) importlib.util.module_from_spec(??) importlib.util.resolve_name(??) importlib.util.set_loader(??) importlib.util.set_package(??) importlib.util.source_from_cache(??) importlib.util.source_hash(??) importlib.util.spec_from_file_location(??) importlib.util.spec_from_loader(??) importlib.util.sys(??) importlib.util.types(??) importlib.util.warnings(??) importlib.warnings(??) input(??) inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.BoundArguments(??) inspect.CORO_CLOSED inspect.CORO_CREATED inspect.CORO_RUNNING inspect.CORO_SUSPENDED inspect.CO_ASYNC_GENERATOR inspect.CO_COROUTINE inspect.CO_GENERATOR inspect.CO_ITERABLE_COROUTINE inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.ClosureVars(nonlocals, globals, builtins, unbound) inspect.EndOfBlock(??) inspect.FrameInfo(frame, filename, lineno, function, code_context, index) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.OrderedDict(??) inspect.Parameter(??) inspect.Signature(??) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.abc(??) inspect.attrgetter(attr, ...) --> attrgetter object inspect.builtins(??) inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.collections(??) inspect.currentframe(??) inspect.dis(??) inspect.enum(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.functools(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getclosurevars(??) inspect.getcomments(??) inspect.getcoroutinelocals(??) inspect.getcoroutinestate(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorlocals(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.importlib(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isasyncgen(??) inspect.isasyncgenfunction(??) inspect.isawaitable(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.iscoroutine(??) inspect.iscoroutinefunction(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.signature(??) inspect.stack(??) inspect.sys(??) inspect.token(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.unwrap(??) inspect.v inspect.walktree(??) inspect.warnings(??) int([x]) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO(??) io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) ipaddress.AddressValueError(??) ipaddress.IPV4LENGTH ipaddress.IPV6LENGTH ipaddress.IPv4Address(??) ipaddress.IPv4Interface(??) ipaddress.IPv4Network(??) ipaddress.IPv6Address(??) ipaddress.IPv6Interface(??) ipaddress.IPv6Network(??) ipaddress.NetmaskValueError(??) ipaddress.collapse_addresses(??) ipaddress.functools(??) ipaddress.get_mixed_type_key(??) ipaddress.ip_address(??) ipaddress.ip_interface(??) ipaddress.ip_network(??) ipaddress.summarize_address_range(??) ipaddress.v4_int_to_packed(??) ipaddress.v6_int_to_packed(??) isinstance(??) issubclass(??) iter(iterable) -> iterator itertools.accumulate(iterable[, func]) --> accumulate object itertools.chain(*iterables) --> chain object itertools.combinations(iterable, r) --> combinations object itertools.combinations_with_replacement(iterable, r) --> combinations_with_replacement object itertools.compress(data, selectors) --> iterator over selected data itertools.count(start=0, step=1) --> count object itertools.cycle(iterable) --> cycle object itertools.dropwhile(predicate, iterable) --> dropwhile object itertools.filterfalse(function or None, sequence) --> filterfalse object itertools.groupby(iterable, key=None) -> make an iterator that returns consecutive itertools.islice(iterable, stop) --> islice object itertools.permutations(iterable[, r]) --> permutations object itertools.product(*iterables, repeat=1) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(function, sequence) --> starmap object itertools.takewhile(predicate, iterable) --> takewhile object itertools.tee(iterable, n=2) --> tuple of n independent iterators. itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecodeError(??) json.JSONDecoder(??) json.JSONEncoder(??) json.codecs(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS(??) json.decoder.JSONArray(??) json.decoder.JSONDecodeError(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.c_scanstring(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanner(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.detect_encoding(??) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(string) -> string json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring(??) json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.argparse(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) keyword.main(??) len(??) license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.functools(??) linecache.getline(??) linecache.getlines(??) linecache.lazycache(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list(??) locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.currency(??) locale.delocalize(??) locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.k locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.v locale.windows_locale(??) locals(??) logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.collections(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingMixin(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.errno(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.re(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.threading(??) logging.config.traceback(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.queue(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.threading(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing(??) logging.logProcesses(??) logging.logThreads(??) logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions(??) logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) lzma.CHECK_CRC32 lzma.CHECK_CRC64 lzma.CHECK_ID_MAX lzma.CHECK_NONE lzma.CHECK_SHA256 lzma.CHECK_UNKNOWN lzma.FILTER_ARM lzma.FILTER_ARMTHUMB lzma.FILTER_DELTA lzma.FILTER_IA64 lzma.FILTER_LZMA1 lzma.FILTER_LZMA2 lzma.FILTER_POWERPC lzma.FILTER_SPARC lzma.FILTER_X86 lzma.FORMAT_ALONE lzma.FORMAT_AUTO lzma.FORMAT_RAW lzma.FORMAT_XZ lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None) lzma.LZMADecompressor(??) lzma.LZMAError(??) lzma.LZMAFile(??) lzma.MF_BT2 lzma.MF_BT3 lzma.MF_BT4 lzma.MF_HC3 lzma.MF_HC4 lzma.MODE_FAST lzma.MODE_NORMAL lzma.PRESET_DEFAULT lzma.PRESET_EXTREME lzma.builtins(??) lzma.compress(??) lzma.decompress(??) lzma.io(??) lzma.is_check_supported(??) lzma.open(??) lzma.os(??) macpath.FILE_ATTRIBUTE_ARCHIVE macpath.FILE_ATTRIBUTE_COMPRESSED macpath.FILE_ATTRIBUTE_DEVICE macpath.FILE_ATTRIBUTE_DIRECTORY macpath.FILE_ATTRIBUTE_ENCRYPTED macpath.FILE_ATTRIBUTE_HIDDEN macpath.FILE_ATTRIBUTE_INTEGRITY_STREAM macpath.FILE_ATTRIBUTE_NORMAL macpath.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED macpath.FILE_ATTRIBUTE_NO_SCRUB_DATA macpath.FILE_ATTRIBUTE_OFFLINE macpath.FILE_ATTRIBUTE_READONLY macpath.FILE_ATTRIBUTE_REPARSE_POINT macpath.FILE_ATTRIBUTE_SPARSE_FILE macpath.FILE_ATTRIBUTE_SYSTEM macpath.FILE_ATTRIBUTE_TEMPORARY macpath.FILE_ATTRIBUTE_VIRTUAL macpath.SF_APPEND macpath.SF_ARCHIVED macpath.SF_IMMUTABLE macpath.SF_NOUNLINK macpath.SF_SNAPSHOT macpath.ST_ATIME macpath.ST_CTIME macpath.ST_DEV macpath.ST_GID macpath.ST_INO macpath.ST_MODE macpath.ST_MTIME macpath.ST_NLINK macpath.ST_SIZE macpath.ST_UID macpath.S_ENFMT macpath.S_IEXEC macpath.S_IFBLK macpath.S_IFCHR macpath.S_IFDIR macpath.S_IFDOOR macpath.S_IFIFO macpath.S_IFLNK macpath.S_IFMT(??) macpath.S_IFPORT macpath.S_IFREG macpath.S_IFSOCK macpath.S_IFWHT macpath.S_IMODE(??) macpath.S_IREAD macpath.S_IRGRP macpath.S_IROTH macpath.S_IRUSR macpath.S_IRWXG macpath.S_IRWXO macpath.S_IRWXU macpath.S_ISBLK(mode) -> bool macpath.S_ISCHR(mode) -> bool macpath.S_ISDIR(mode) -> bool macpath.S_ISDOOR(mode) -> bool macpath.S_ISFIFO(mode) -> bool macpath.S_ISGID macpath.S_ISLNK(mode) -> bool macpath.S_ISPORT(mode) -> bool macpath.S_ISREG(mode) -> bool macpath.S_ISSOCK(mode) -> bool macpath.S_ISUID macpath.S_ISVTX macpath.S_ISWHT(mode) -> bool macpath.S_IWGRP macpath.S_IWOTH macpath.S_IWRITE macpath.S_IWUSR macpath.S_IXGRP macpath.S_IXOTH macpath.S_IXUSR macpath.UF_APPEND macpath.UF_COMPRESSED macpath.UF_HIDDEN macpath.UF_IMMUTABLE macpath.UF_NODUMP macpath.UF_NOUNLINK macpath.UF_OPAQUE macpath.abspath(??) macpath.altsep(??) macpath.basename(??) macpath.commonprefix(??) macpath.curdir macpath.defpath macpath.devnull macpath.dirname(??) macpath.exists(??) macpath.expanduser(??) macpath.expandvars(??) macpath.extsep macpath.filemode(??) macpath.genericpath(??) macpath.getatime(??) macpath.getctime(??) macpath.getmtime(??) macpath.getsize(??) macpath.isabs(??) macpath.isdir(??) macpath.isfile(??) macpath.islink(??) macpath.ismount(??) macpath.join(??) macpath.lexists(??) macpath.norm_error(??) macpath.normcase(??) macpath.normpath(??) macpath.os(??) macpath.pardir macpath.pathsep macpath.realpath(??) macpath.samefile(??) macpath.sameopenfile(??) macpath.samestat(??) macpath.sep macpath.split(??) macpath.splitdrive(??) macpath.splitext(??) macpath.supports_unicode_filenames(??) macpath.warnings(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.contextlib(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.lineno_sort_key(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) mailcap.warnings(??) map(func, *iterables) --> map object marshal.dump(??) marshal.dumps(??) marshal.load(??) marshal.loads(??) marshal.version max(iterable, *[, default=obj, key=func]) -> value memoryview(??) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable, *[, default=obj, key=func]) -> value modulefinder.AddPackagePath(??) modulefinder.EXTENDED_ARG modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.imp(??) modulefinder.importlib(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) modulefinder.warnings(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.Barrier(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.SimpleQueue(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.BufferTooShort(??) multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.Connection(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.families(??) multiprocessing.connection.io(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.rebuild_connection(??) multiprocessing.connection.reduce_connection(??) multiprocessing.connection.reduction(??) multiprocessing.connection.selectors(??) multiprocessing.connection.socket(??) multiprocessing.connection.struct(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.connection.util(??) multiprocessing.connection.wait(??) multiprocessing.context(??) multiprocessing.context.AuthenticationError(??) multiprocessing.context.BaseContext(??) multiprocessing.context.BufferTooShort(??) multiprocessing.context.DefaultContext(??) multiprocessing.context.ForkContext(??) multiprocessing.context.ForkProcess(??) multiprocessing.context.ForkServerContext(??) multiprocessing.context.ForkServerProcess(??) multiprocessing.context.Process(??) multiprocessing.context.ProcessError(??) multiprocessing.context.SpawnContext(??) multiprocessing.context.SpawnProcess(??) multiprocessing.context.TimeoutError(??) multiprocessing.context.assert_spawning(??) multiprocessing.context.get_spawning_popen(??) multiprocessing.context.os(??) multiprocessing.context.process(??) multiprocessing.context.reduction(??) multiprocessing.context.set_spawning_popen(??) multiprocessing.context.sys(??) multiprocessing.context.threading(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.Barrier(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.list(??) multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forkserver.ForkServer(??) multiprocessing.forkserver.MAXFDS_TO_SEND multiprocessing.forkserver.SIGNED_STRUCT(??) multiprocessing.forkserver.connect_to_new_process(??) multiprocessing.forkserver.connection(??) multiprocessing.forkserver.ensure_running(??) multiprocessing.forkserver.errno(??) multiprocessing.forkserver.get_inherited_fds(??) multiprocessing.forkserver.main(??) multiprocessing.forkserver.os(??) multiprocessing.forkserver.process(??) multiprocessing.forkserver.read_signed(??) multiprocessing.forkserver.reduction(??) multiprocessing.forkserver.selectors(??) multiprocessing.forkserver.semaphore_tracker(??) multiprocessing.forkserver.set_forkserver_preload(??) multiprocessing.forkserver.signal(??) multiprocessing.forkserver.socket(??) multiprocessing.forkserver.spawn(??) multiprocessing.forkserver.struct(??) multiprocessing.forkserver.sys(??) multiprocessing.forkserver.threading(??) multiprocessing.forkserver.util(??) multiprocessing.forkserver.warnings(??) multiprocessing.forkserver.write_signed(??) multiprocessing.freeze_support(??) multiprocessing.get_all_start_methods(??) multiprocessing.get_context(??) multiprocessing.get_logger(??) multiprocessing.get_start_method(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Heap(??) multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect(??) multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.rebuild_arena(??) multiprocessing.heap.reduce_arena(??) multiprocessing.heap.reduction(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.heap.util(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BarrierProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BasePoolProxy(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.ProcessError(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.connection(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.get_context(??) multiprocessing.managers.get_spawning_popen(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.pool(??) multiprocessing.managers.process(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.reduction(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.AsyncResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.ExceptionWithTraceback(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.RUN multiprocessing.pool.RemoteTraceback(??) multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.get_context(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.os(??) multiprocessing.pool.queue(??) multiprocessing.pool.rebuild_exc(??) multiprocessing.pool.starmapstar(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.traceback(??) multiprocessing.pool.util(??) multiprocessing.pool.worker(??) multiprocessing.popen_fork.Popen(??) multiprocessing.popen_fork.os(??) multiprocessing.popen_fork.signal(??) multiprocessing.popen_fork.sys(??) multiprocessing.popen_fork.util(??) multiprocessing.popen_forkserver.Popen(??) multiprocessing.popen_forkserver.forkserver(??) multiprocessing.popen_forkserver.io(??) multiprocessing.popen_forkserver.os(??) multiprocessing.popen_forkserver.popen_fork(??) multiprocessing.popen_forkserver.reduction(??) multiprocessing.popen_forkserver.set_spawning_popen(??) multiprocessing.popen_forkserver.spawn(??) multiprocessing.popen_forkserver.util(??) multiprocessing.popen_spawn_posix.Popen(??) multiprocessing.popen_spawn_posix.io(??) multiprocessing.popen_spawn_posix.os(??) multiprocessing.popen_spawn_posix.popen_fork(??) multiprocessing.popen_spawn_posix.reduction(??) multiprocessing.popen_spawn_posix.set_spawning_popen(??) multiprocessing.popen_spawn_posix.spawn(??) multiprocessing.popen_spawn_posix.util(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.BaseProcess(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.WeakSet(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.process.threading(??) multiprocessing.queues(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Queue(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.collections(??) multiprocessing.queues.connection(??) multiprocessing.queues.context(??) multiprocessing.queues.debug(??) multiprocessing.queues.errno(??) multiprocessing.queues.info(??) multiprocessing.queues.is_exiting(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reducer(??) multiprocessing.reduction(??) multiprocessing.reduction.ABCMeta(??) multiprocessing.reduction.ACKNOWLEDGE(??) multiprocessing.reduction.AbstractReducer(??) multiprocessing.reduction.DupFd(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.HAVE_SEND_HANDLE(??) multiprocessing.reduction.array(??) multiprocessing.reduction.context(??) multiprocessing.reduction.copyreg(??) multiprocessing.reduction.dump(??) multiprocessing.reduction.functools(??) multiprocessing.reduction.io(??) multiprocessing.reduction.os(??) multiprocessing.reduction.pickle(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.recvfds(??) multiprocessing.reduction.register(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.sendfds(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sys(??) multiprocessing.resource_sharer.DupFd(??) multiprocessing.resource_sharer.os(??) multiprocessing.resource_sharer.process(??) multiprocessing.resource_sharer.reduction(??) multiprocessing.resource_sharer.signal(??) multiprocessing.resource_sharer.socket(??) multiprocessing.resource_sharer.stop(??) multiprocessing.resource_sharer.sys(??) multiprocessing.resource_sharer.threading(??) multiprocessing.resource_sharer.util(??) multiprocessing.semaphore_tracker.SemaphoreTracker(??) multiprocessing.semaphore_tracker.ensure_running(??) multiprocessing.semaphore_tracker.getfd(??) multiprocessing.semaphore_tracker.main(??) multiprocessing.semaphore_tracker.os(??) multiprocessing.semaphore_tracker.register(??) multiprocessing.semaphore_tracker.signal(??) multiprocessing.semaphore_tracker.spawn(??) multiprocessing.semaphore_tracker.sys(??) multiprocessing.semaphore_tracker.threading(??) multiprocessing.semaphore_tracker.unregister(??) multiprocessing.semaphore_tracker.util(??) multiprocessing.semaphore_tracker.warnings(??) multiprocessing.set_executable(??) multiprocessing.set_forkserver_preload(??) multiprocessing.set_start_method(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.get_context(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.reduction(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.spawn.WINEXE(??) multiprocessing.spawn.WINSERVICE(??) multiprocessing.spawn.freeze_support(??) multiprocessing.spawn.get_command_line(??) multiprocessing.spawn.get_executable(??) multiprocessing.spawn.get_preparation_data(??) multiprocessing.spawn.get_start_method(??) multiprocessing.spawn.import_main_path(??) multiprocessing.spawn.is_forking(??) multiprocessing.spawn.old_main_modules(??) multiprocessing.spawn.os(??) multiprocessing.spawn.prepare(??) multiprocessing.spawn.process(??) multiprocessing.spawn.reduction(??) multiprocessing.spawn.runpy(??) multiprocessing.spawn.set_executable(??) multiprocessing.spawn.set_start_method(??) multiprocessing.spawn.spawn_main(??) multiprocessing.spawn.sys(??) multiprocessing.spawn.types(??) multiprocessing.spawn.util(??) multiprocessing.synchronize.Barrier(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.context(??) multiprocessing.synchronize.process(??) multiprocessing.synchronize.sem_unlink(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.tempfile(??) multiprocessing.synchronize.threading(??) multiprocessing.synchronize.util(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.MAXFD multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.atexit(??) multiprocessing.util.close_all_fds_except(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.os(??) multiprocessing.util.process(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.spawnv_passfds(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.sys(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) netrc.stat(??) next(iterator[, default]) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.warnings(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) object(??) oct(??) open(??) operator.abs(??) operator.add(??) operator.and_(??) operator.attrgetter(attr, ...) --> attrgetter object operator.concat(??) operator.contains(??) operator.countOf(??) operator.delitem(??) operator.eq(??) operator.floordiv(??) operator.ge(??) operator.getitem(??) operator.gt(??) operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imatmul(??) operator.imod(??) operator.imul(??) operator.index(??) operator.indexOf(??) operator.inv(??) operator.invert(??) operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(??) operator.is_not(??) operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(??) operator.length_hint(??) operator.lshift(??) operator.lt(??) operator.matmul(??) operator.methodcaller(name, ...) --> methodcaller object operator.mod(??) operator.mul(??) operator.ne(??) operator.neg(??) operator.not_(??) operator.or_(??) operator.pos(??) operator.pow(??) operator.rshift(??) operator.setitem(??) operator.sub(??) operator.truediv(??) operator.truth(??) operator.xor(??) optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.ngettext(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(??) os.CLD_CONTINUED os.CLD_DUMPED os.CLD_EXITED os.CLD_TRAPPED os.DirEntry(??) os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_LOCK os.F_OK os.F_TEST os.F_TLOCK os.F_ULOCK os.MutableMapping(??) os.NGROUPS_MAX os.O_ACCMODE os.O_APPEND os.O_ASYNC os.O_CLOEXEC os.O_CREAT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_EXLOCK os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_SHLOCK os.O_SYNC os.O_TRUNC os.O_WRONLY os.POSIX_SPAWN_CLOSE os.POSIX_SPAWN_DUP2 os.POSIX_SPAWN_OPEN os.PRIO_PGRP os.PRIO_PROCESS os.PRIO_USER os.P_ALL os.P_NOWAIT os.P_NOWAITO os.P_PGID os.P_PID os.P_WAIT os.PathLike(??) os.RTLD_GLOBAL os.RTLD_LAZY os.RTLD_LOCAL os.RTLD_NODELETE os.RTLD_NOLOAD os.RTLD_NOW os.R_OK os.SCHED_FIFO os.SCHED_OTHER os.SCHED_RR os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(??) os.WEXITED os.WEXITSTATUS(??) os.WIFCONTINUED(??) os.WIFEXITED(??) os.WIFSIGNALED(??) os.WIFSTOPPED(??) os.WNOHANG os.WNOWAIT os.WSTOPPED os.WSTOPSIG(??) os.WTERMSIG(??) os.WUNTRACED os.W_OK os.X_OK os.abc(??) os.abort(??) os.access(??) os.altsep(??) os.chdir(??) os.chflags(??) os.chmod(??) os.chown(??) os.chroot(??) os.close(??) os.closerange(??) os.confstr(??) os.confstr_names(??) os.cpu_count(??) os.ctermid(??) os.curdir os.defpath os.device_encoding(??) os.devnull os.dup(??) os.dup2(??) os.environ(??) os.environb(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(??) os.execve(??) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(??) os.fchmod(??) os.fchown(??) os.fdopen(??) os.fork(??) os.forkpty(??) os.fpathconf(??) os.fsdecode(??) os.fsencode(??) os.fspath(??) os.fstat(??) os.fstatvfs(??) os.fsync(??) os.ftruncate(??) os.get_blocking(fd) -> bool os.get_exec_path(??) os.get_inheritable(??) os.get_terminal_size(??) os.getcwd(??) os.getcwdb(??) os.getegid(??) os.getenv(??) os.getenvb(??) os.geteuid(??) os.getgid(??) os.getgrouplist(user, group) -> list of groups to which a user belongs os.getgroups(??) os.getloadavg(??) os.getlogin(??) os.getpgid(??) os.getpgrp(??) os.getpid(??) os.getppid(??) os.getpriority(??) os.getsid(??) os.getuid(??) os.initgroups(username, gid) -> None os.isatty(??) os.kill(??) os.killpg(??) os.lchflags(??) os.lchmod(??) os.lchown(??) os.linesep os.link(??) os.listdir(??) os.lockf(??) os.lseek(??) os.lstat(??) os.major(??) os.makedev(??) os.makedirs(name [, mode=0o777][, exist_ok=False]) os.minor(??) os.mkdir(??) os.mkfifo(??) os.mknod(??) os.name os.nice(??) os.open(??) os.openpty(??) os.pardir os.path(??) os.pathconf(??) os.pathconf_names(??) os.pathsep os.pipe(??) os.popen(??) os.posix_spawn(??) os.pread(??) os.putenv(??) os.pwrite(??) os.read(??) os.readlink(path, *, dir_fd=None) -> path os.readv(??) os.register_at_fork(??) os.remove(??) os.removedirs(name) os.rename(??) os.renames(old, new) os.replace(??) os.rmdir(??) os.scandir(??) os.sched_get_priority_max(??) os.sched_get_priority_min(??) os.sched_yield(??) os.sendfile(out, in, offset, count) -> byteswritten os.sep os.set_blocking(fd, blocking) os.set_inheritable(??) os.setegid(??) os.seteuid(??) os.setgid(??) os.setgroups(??) os.setpgid(??) os.setpgrp(??) os.setpriority(??) os.setregid(??) os.setreuid(??) os.setsid(??) os.setuid(??) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.st(??) os.stat(??) os.stat_result(??) os.statvfs(??) os.statvfs_result(??) os.strerror(??) os.supports_bytes_environ(??) os.supports_dir_fd(??) os.supports_effective_ids(??) os.supports_fd(??) os.supports_follow_symlinks(??) os.symlink(??) os.sync(??) os.sys(??) os.sysconf(??) os.sysconf_names(??) os.system(??) os.tcgetpgrp(??) os.tcsetpgrp(??) os.terminal_size(??) os.times(??) os.times_result(??) os.truncate(??) os.ttyname(??) os.umask(??) os.uname(??) os.uname_result(??) os.unlink(??) os.unsetenv(??) os.urandom(??) os.utime(??) os.wait(??) os.wait3(??) os.wait4(??) os.waitpid(??) os.walk(??) os.write(??) os.writev(??) pathlib.EINVAL pathlib.ENOENT pathlib.ENOTDIR pathlib.Path(??) pathlib.PosixPath(??) pathlib.PurePath(??) pathlib.PurePosixPath(??) pathlib.PureWindowsPath(??) pathlib.S_ISBLK(mode) -> bool pathlib.S_ISCHR(mode) -> bool pathlib.S_ISDIR(mode) -> bool pathlib.S_ISFIFO(mode) -> bool pathlib.S_ISLNK(mode) -> bool pathlib.S_ISREG(mode) -> bool pathlib.S_ISSOCK(mode) -> bool pathlib.Sequence(??) pathlib.WindowsPath(??) pathlib.attrgetter(attr, ...) --> attrgetter object pathlib.fnmatch(??) pathlib.functools(??) pathlib.io(??) pathlib.nt(??) pathlib.ntpath(??) pathlib.os(??) pathlib.posixpath(??) pathlib.re(??) pathlib.supports_symlinks(??) pathlib.sys(??) pathlib.urlquote_from_bytes(??) pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.glob(??) pdb.help(??) pdb.inspect(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.ADDITEMS pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINBYTES8 pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BINUNICODE8 pickle.BUILD pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_SET pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FRAME pickle.FROZENSET pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.MEMOIZE pickle.NEWFALSE pickle.NEWOBJ pickle.NEWOBJ_EX pickle.NEWTRUE pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleError(??) pickle.Pickler(??) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.SHORT_BINUNICODE pickle.STACK_GLOBAL pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(??) pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.islice(iterable, stop) --> islice object pickle.load(??) pickle.loads(??) pickle.maxsize pickle.pack(format, v1, v2, ...) -> bytes pickle.partial(func, *args, **keywords) - new function with partial application pickle.re(??) pickle.sys(??) pickle.unpack(??) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.TAKEN_FROM_ARGUMENT4U pickletools.TAKEN_FROM_ARGUMENT8U pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytes1(??) pickletools.bytes4(??) pickletools.bytes8(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.io(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybytes(??) pickletools.pybytes_or_str(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyfrozenset(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pyset(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_bytes1(??) pickletools.read_bytes4(??) pickletools.read_bytes8(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_uint4(??) pickletools.read_uint8(??) pickletools.read_unicodestring1(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestring8(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.sys(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.uint4(??) pickletools.uint8(??) pickletools.unicodestring1(??) pickletools.unicodestring4(??) pickletools.unicodestring8(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleInfo(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.importlib(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.namedtuple(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.warnings(??) pkgutil.zipimport(??) pkgutil.zipimporter(??) platform.DEV_NULL platform.architecture(??) platform.collections(??) platform.dist(??) platform.java_ver(??) platform.libc_ver(??) platform.linux_distribution(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.popen(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.subprocess(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.uname_result(system, node, release, version, machine, processor) platform.version(??) platform.warnings(??) platform.win32_ver(??) plistlib.BytesIO(??) plistlib.Data(??) plistlib.FMT_BINARY(??) plistlib.FMT_XML(??) plistlib.InvalidFileException(??) plistlib.PLISTHEADER plistlib.ParserCreate(??) plistlib.PlistFormat(??) plistlib.binascii(??) plistlib.codecs(??) plistlib.contextlib(??) plistlib.datetime(??) plistlib.dump(??) plistlib.dumps(??) plistlib.enum(??) plistlib.itertools(??) plistlib.load(??) plistlib.loads(??) plistlib.os(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.struct(??) plistlib.warn(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.HAVE_SSL(??) poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.errno(??) poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.CLD_CONTINUED posix.CLD_DUMPED posix.CLD_EXITED posix.CLD_TRAPPED posix.DirEntry(??) posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_LOCK posix.F_OK posix.F_TEST posix.F_TLOCK posix.F_ULOCK posix.NGROUPS_MAX posix.O_ACCMODE posix.O_APPEND posix.O_ASYNC posix.O_CLOEXEC posix.O_CREAT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_EXLOCK posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_SHLOCK posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.POSIX_SPAWN_CLOSE posix.POSIX_SPAWN_DUP2 posix.POSIX_SPAWN_OPEN posix.PRIO_PGRP posix.PRIO_PROCESS posix.PRIO_USER posix.P_ALL posix.P_PGID posix.P_PID posix.RTLD_GLOBAL posix.RTLD_LAZY posix.RTLD_LOCAL posix.RTLD_NODELETE posix.RTLD_NOLOAD posix.RTLD_NOW posix.R_OK posix.SCHED_FIFO posix.SCHED_OTHER posix.SCHED_RR posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(??) posix.WEXITED posix.WEXITSTATUS(??) posix.WIFCONTINUED(??) posix.WIFEXITED(??) posix.WIFSIGNALED(??) posix.WIFSTOPPED(??) posix.WNOHANG posix.WNOWAIT posix.WSTOPPED posix.WSTOPSIG(??) posix.WTERMSIG(??) posix.WUNTRACED posix.W_OK posix.X_OK posix.abort(??) posix.access(??) posix.chdir(??) posix.chflags(??) posix.chmod(??) posix.chown(??) posix.chroot(??) posix.close(??) posix.closerange(??) posix.confstr(??) posix.confstr_names(??) posix.cpu_count(??) posix.ctermid(??) posix.device_encoding(??) posix.dup(??) posix.dup2(??) posix.environ(??) posix.error(??) posix.execv(??) posix.execve(??) posix.fchdir(??) posix.fchmod(??) posix.fchown(??) posix.fork(??) posix.forkpty(??) posix.fpathconf(??) posix.fspath(??) posix.fstat(??) posix.fstatvfs(??) posix.fsync(??) posix.ftruncate(??) posix.get_blocking(fd) -> bool posix.get_inheritable(??) posix.get_terminal_size(??) posix.getcwd(??) posix.getcwdb(??) posix.getegid(??) posix.geteuid(??) posix.getgid(??) posix.getgrouplist(user, group) -> list of groups to which a user belongs posix.getgroups(??) posix.getloadavg(??) posix.getlogin(??) posix.getpgid(??) posix.getpgrp(??) posix.getpid(??) posix.getppid(??) posix.getpriority(??) posix.getsid(??) posix.getuid(??) posix.initgroups(username, gid) -> None posix.isatty(??) posix.kill(??) posix.killpg(??) posix.lchflags(??) posix.lchmod(??) posix.lchown(??) posix.link(??) posix.listdir(??) posix.lockf(??) posix.lseek(??) posix.lstat(??) posix.major(??) posix.makedev(??) posix.minor(??) posix.mkdir(??) posix.mkfifo(??) posix.mknod(??) posix.nice(??) posix.open(??) posix.openpty(??) posix.pathconf(??) posix.pathconf_names(??) posix.pipe(??) posix.posix_spawn(??) posix.pread(??) posix.putenv(??) posix.pwrite(??) posix.read(??) posix.readlink(path, *, dir_fd=None) -> path posix.readv(??) posix.register_at_fork(??) posix.remove(??) posix.rename(??) posix.replace(??) posix.rmdir(??) posix.scandir(??) posix.sched_get_priority_max(??) posix.sched_get_priority_min(??) posix.sched_yield(??) posix.sendfile(out, in, offset, count) -> byteswritten posix.set_blocking(fd, blocking) posix.set_inheritable(??) posix.setegid(??) posix.seteuid(??) posix.setgid(??) posix.setgroups(??) posix.setpgid(??) posix.setpgrp(??) posix.setpriority(??) posix.setregid(??) posix.setreuid(??) posix.setsid(??) posix.setuid(??) posix.stat(??) posix.stat_result(??) posix.statvfs(??) posix.statvfs_result(??) posix.strerror(??) posix.symlink(??) posix.sync(??) posix.sysconf(??) posix.sysconf_names(??) posix.system(??) posix.tcgetpgrp(??) posix.tcsetpgrp(??) posix.terminal_size(??) posix.times(??) posix.times_result(??) posix.truncate(??) posix.ttyname(??) posix.umask(??) posix.uname(??) posix.uname_result(??) posix.unlink(??) posix.unsetenv(??) posix.urandom(??) posix.utime(??) posix.wait(??) posix.wait3(??) posix.wait4(??) posix.waitpid(??) posix.write(??) posix.writev(??) pow(??) pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pprint(??) pprint.re(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) profile.Profile(??) profile.main(??) profile.marshal(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(??) pstats.Enum(??) pstats.SortKey(??) pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall(??) pwd.getpwnam(??) pwd.getpwuid(??) pwd.struct_passwd(??) py_compile.PyCompileError(??) py_compile.PycInvalidationMode(??) py_compile.compile(??) py_compile.enum(??) py_compile.importlib(??) py_compile.main(??) py_compile.os(??) py_compile.sys(??) py_compile.traceback(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.importlib(??) pyclbr.io(??) pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque([iterable[, maxlen]]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.help(??) pydoc.html(??) pydoc.importfile(??) pydoc.importlib(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.sort_attributes(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.tokenize(??) pydoc.ttypager(??) pydoc.urllib(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.SimpleQueue(??) queue.deque([iterable[, maxlen]]) --> deque object queue.heappop(??) queue.heappush(heap, item) -> None. Push item onto heap, maintaining the heap invariant. queue.threading(??) queue.time(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(??) quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.choices(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates an int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range(stop) -> range object re.A(??) re.ASCII(??) re.DEBUG(??) re.DOTALL(??) re.I(??) re.IGNORECASE(??) re.L(??) re.LOCALE(??) re.M(??) re.MULTILINE(??) re.Match(??) re.OrderedDict(??) re.Pattern(??) re.RegexFlag(??) re.S(??) re.Scanner(??) re.T(??) re.TEMPLATE(??) re.U(??) re.UNICODE(??) re.VERBOSE(??) re.X(??) re.compile(??) re.copyreg(??) re.enum(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.fullmatch(??) re.functools(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.template(??) repr(??) reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, stop) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) reversed(??) rlcompleter.Completer(??) rlcompleter.atexit(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(??) runpy.get_importer(??) runpy.importlib(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) runpy.types(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) sched.threading(??) sched.time(??) secrets.DEFAULT_ENTROPY secrets.SystemRandom(??) secrets.base64(??) secrets.binascii(??) secrets.choice(??) secrets.compare_digest(??) secrets.os(??) secrets.randbelow(??) secrets.randbits(??) secrets.token_bytes(??) secrets.token_hex(??) secrets.token_urlsafe(??) selectors.ABCMeta(??) selectors.BaseSelector(??) selectors.DefaultSelector(??) selectors.EVENT_READ selectors.EVENT_WRITE selectors.KqueueSelector(??) selectors.Mapping(??) selectors.PollSelector(??) selectors.SelectSelector(??) selectors.SelectorKey(fileobj, fd, events, data) selectors.abstractmethod(??) selectors.math(??) selectors.namedtuple(??) selectors.select(??) selectors.sys(??) set() -> new empty set object setattr(??) shelve.BsdDbShelf(??) shelve.BytesIO(??) shelve.DbfilenameShelf(??) shelve.Pickler(??) shelve.Shelf(??) shelve.Unpickler(??) shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque([iterable[, maxlen]]) --> deque object shlex.os(??) shlex.quote(??) shlex.re(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SameFileError(??) shutil.SpecialFileError(??) shutil.chown(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.disk_usage(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_terminal_size(??) shutil.get_unpack_formats(??) shutil.getgrnam(??) shutil.getpwnam(??) shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.os(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) shutil.which(??) signal.Handlers(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT(??) signal.SIGALRM(??) signal.SIGBUS(??) signal.SIGCHLD(??) signal.SIGCONT(??) signal.SIGEMT(??) signal.SIGFPE(??) signal.SIGHUP(??) signal.SIGILL(??) signal.SIGINFO(??) signal.SIGINT(??) signal.SIGIO(??) signal.SIGIOT(??) signal.SIGKILL(??) signal.SIGPIPE(??) signal.SIGPROF(??) signal.SIGQUIT(??) signal.SIGSEGV(??) signal.SIGSTOP(??) signal.SIGSYS(??) signal.SIGTERM(??) signal.SIGTRAP(??) signal.SIGTSTP(??) signal.SIGTTIN(??) signal.SIGTTOU(??) signal.SIGURG(??) signal.SIGUSR1(??) signal.SIGUSR2(??) signal.SIGVTALRM(??) signal.SIGWINCH(??) signal.SIGXCPU(??) signal.SIGXFSZ(??) signal.SIG_BLOCK(??) signal.SIG_DFL(??) signal.SIG_IGN(??) signal.SIG_SETMASK(??) signal.SIG_UNBLOCK(??) signal.Sigmasks(??) signal.Signals(??) signal.alarm(??) signal.default_int_handler(...) signal.getitimer(??) signal.getsignal(??) signal.pause(??) signal.pthread_kill(??) signal.pthread_sigmask(??) signal.set_wakeup_fd(fd, *, warn_on_full_buffer=True) -> fd signal.setitimer(??) signal.siginterrupt(??) signal.signal(??) signal.sigpending(??) signal.sigwait(??) site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.builtins(??) site.check_enableusersite(??) site.enablerlcompleter(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.venv(??) slice(stop) smtpd.COMMASPACE smtpd.DATA_SIZE_DEFAULT smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.collections(??) smtpd.errno(??) smtpd.get_addr_spec(??) smtpd.get_angle_addr(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPNotSupportedError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.bCRLF smtplib.base64(??) smtplib.copy(??) smtplib.datetime(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.sys(??) sndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.namedtuple(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK(??) socket.AF_DECnet socket.AF_INET(??) socket.AF_INET6(??) socket.AF_IPX(??) socket.AF_LINK(??) socket.AF_ROUTE(??) socket.AF_SNA(??) socket.AF_SYSTEM(??) socket.AF_UNIX(??) socket.AF_UNSPEC(??) socket.AI_ADDRCONFIG(??) socket.AI_ALL(??) socket.AI_CANONNAME(??) socket.AI_DEFAULT(??) socket.AI_MASK(??) socket.AI_NUMERICHOST(??) socket.AI_NUMERICSERV(??) socket.AI_PASSIVE(??) socket.AI_V4MAPPED(??) socket.AI_V4MAPPED_CFG(??) socket.AddressFamily(??) socket.AddressInfo(??) socket.CAPI(??) socket.CMSG_LEN(length) -> control message length socket.CMSG_SPACE(length) -> buffer size socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_BADHINTS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MAX socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_PROTOCOL socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EWOULDBLOCK socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_EON socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GGP socket.IPPROTO_GRE socket.IPPROTO_HELLO socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPCOMP socket.IPPROTO_IPIP socket.IPPROTO_IPV4 socket.IPPROTO_IPV6 socket.IPPROTO_MAX socket.IPPROTO_ND socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_SCTP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPPROTO_XTP socket.IPV6_CHECKSUM socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_RECVTCLASS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVDSTADDR socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.IntEnum(??) socket.IntFlag(??) socket.LOCAL_PEERCRED socket.MSG_CTRUNC(??) socket.MSG_DONTROUTE(??) socket.MSG_DONTWAIT(??) socket.MSG_EOF(??) socket.MSG_EOR(??) socket.MSG_OOB(??) socket.MSG_PEEK(??) socket.MSG_TRUNC(??) socket.MSG_WAITALL(??) socket.MsgFlag(??) socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PF_SYSTEM socket.SCM_CREDS socket.SCM_RIGHTS socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM(??) socket.SOCK_RAW(??) socket.SOCK_RDM(??) socket.SOCK_SEQPACKET(??) socket.SOCK_STREAM(??) socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_REUSEPORT socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SO_USELOOPBACK socket.SYSPROTO_CONTROL socket.SocketIO(??) socket.SocketKind(??) socket.SocketType(??) socket.TCP_KEEPCNT socket.TCP_KEEPINTVL socket.TCP_MAXSEG socket.TCP_NODELAY socket.close(integer) -> None socket.create_connection(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(??) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.if_indextoname(if_index) socket.if_nameindex() socket.if_nametoindex(if_name) socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.selectors(??) socket.setdefaulttimeout(timeout) socket.sethostname(name) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.BufferedIOBase(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.os(??) socketserver.selectors(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) socketserver.time(??) sorted(??) sqlite3.Binary(??) sqlite3.Cache(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_CREATE_VTABLE sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_DROP_VTABLE sqlite3.SQLITE_FUNCTION sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_RECURSIVE sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SAVEPOINT sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Statement(??) sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.collections(??) sqlite3.complete_statement(sql) sqlite3.connect(??) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Cache(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_CREATE_VTABLE sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_DROP_VTABLE sqlite3.dbapi2.SQLITE_FUNCTION sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_RECURSIVE sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SAVEPOINT sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Statement(??) sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.collections(??) sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(??) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.AF_INET(??) ssl.ALERT_DESCRIPTION_ACCESS_DENIED(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??) ssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??) ssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??) ssl.ALERT_DESCRIPTION_DECODE_ERROR(??) ssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??) ssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??) ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??) ssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??) ssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??) ssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??) ssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??) ssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??) ssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??) ssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??) ssl.ALERT_DESCRIPTION_UNKNOWN_CA(??) ssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??) ssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??) ssl.ALERT_DESCRIPTION_USER_CANCELLED(??) ssl.AlertDescription(??) ssl.CERT_NONE(??) ssl.CERT_OPTIONAL(??) ssl.CERT_REQUIRED(??) ssl.CHANNEL_BINDING_TYPES(??) ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath) ssl.HAS_ALPN(??) ssl.HAS_ECDH(??) ssl.HAS_NEVER_CHECK_COMMON_NAME(??) ssl.HAS_NPN(??) ssl.HAS_SNI(??) ssl.HAS_TLSv1_3(??) ssl.MemoryBIO(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL(??) ssl.OP_CIPHER_SERVER_PREFERENCE(??) ssl.OP_NO_COMPRESSION(??) ssl.OP_NO_SSLv2(??) ssl.OP_NO_SSLv3(??) ssl.OP_NO_TICKET(??) ssl.OP_NO_TLSv1(??) ssl.OP_NO_TLSv1_1(??) ssl.OP_NO_TLSv1_2(??) ssl.OP_NO_TLSv1_3(??) ssl.OP_SINGLE_DH_USE(??) ssl.OP_SINGLE_ECDH_USE(??) ssl.Options(??) ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv23(??) ssl.PROTOCOL_TLS(??) ssl.PROTOCOL_TLS_CLIENT(??) ssl.PROTOCOL_TLS_SERVER(??) ssl.PROTOCOL_TLSv1(??) ssl.PROTOCOL_TLSv1_1(??) ssl.PROTOCOL_TLSv1_2(??) ssl.Purpose(??) ssl.RAND_add(??) ssl.RAND_bytes(??) ssl.RAND_pseudo_bytes(??) ssl.RAND_status(??) ssl.SOCK_STREAM(??) ssl.SOL_SOCKET ssl.SO_TYPE ssl.SSLCertVerificationError(??) ssl.SSLContext(??) ssl.SSLEOFError(??) ssl.SSLError(??) ssl.SSLErrorNumber(??) ssl.SSLObject(??) ssl.SSLSession(??) ssl.SSLSocket(??) ssl.SSLSyscallError(??) ssl.SSLWantReadError(??) ssl.SSLWantWriteError(??) ssl.SSLZeroReturnError(??) ssl.SSL_ERROR_EOF(??) ssl.SSL_ERROR_INVALID_ERROR_CODE(??) ssl.SSL_ERROR_SSL(??) ssl.SSL_ERROR_SYSCALL(??) ssl.SSL_ERROR_WANT_CONNECT(??) ssl.SSL_ERROR_WANT_READ(??) ssl.SSL_ERROR_WANT_WRITE(??) ssl.SSL_ERROR_WANT_X509_LOOKUP(??) ssl.SSL_ERROR_ZERO_RETURN(??) ssl.VERIFY_CRL_CHECK_CHAIN(??) ssl.VERIFY_CRL_CHECK_LEAF(??) ssl.VERIFY_DEFAULT(??) ssl.VERIFY_X509_STRICT(??) ssl.VERIFY_X509_TRUSTED_FIRST(??) ssl.VerifyFlags(??) ssl.VerifyMode(??) ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.create_connection(??) ssl.create_default_context(??) ssl.errno(??) ssl.get_default_verify_paths(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.ipaddress(??) ssl.match_hostname(??) ssl.namedtuple(??) ssl.os(??) ssl.re(??) ssl.socket(??) ssl.socket_error(??) ssl.sys(??) ssl.warnings(??) ssl.wrap_socket(??) stat.FILE_ATTRIBUTE_ARCHIVE stat.FILE_ATTRIBUTE_COMPRESSED stat.FILE_ATTRIBUTE_DEVICE stat.FILE_ATTRIBUTE_DIRECTORY stat.FILE_ATTRIBUTE_ENCRYPTED stat.FILE_ATTRIBUTE_HIDDEN stat.FILE_ATTRIBUTE_INTEGRITY_STREAM stat.FILE_ATTRIBUTE_NORMAL stat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED stat.FILE_ATTRIBUTE_NO_SCRUB_DATA stat.FILE_ATTRIBUTE_OFFLINE stat.FILE_ATTRIBUTE_READONLY stat.FILE_ATTRIBUTE_REPARSE_POINT stat.FILE_ATTRIBUTE_SPARSE_FILE stat.FILE_ATTRIBUTE_SYSTEM stat.FILE_ATTRIBUTE_TEMPORARY stat.FILE_ATTRIBUTE_VIRTUAL stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFDOOR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFPORT stat.S_IFREG stat.S_IFSOCK stat.S_IFWHT stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(mode) -> bool stat.S_ISCHR(mode) -> bool stat.S_ISDIR(mode) -> bool stat.S_ISDOOR(mode) -> bool stat.S_ISFIFO(mode) -> bool stat.S_ISGID stat.S_ISLNK(mode) -> bool stat.S_ISPORT(mode) -> bool stat.S_ISREG(mode) -> bool stat.S_ISSOCK(mode) -> bool stat.S_ISUID stat.S_ISVTX stat.S_ISWHT(mode) -> bool stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_COMPRESSED stat.UF_HIDDEN stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE stat.filemode(??) staticmethod(function) -> method statistics.Decimal(??) statistics.Fraction(??) statistics.StatisticsError(??) statistics.bisect_left(a, x[, lo[, hi]]) -> index statistics.bisect_right(a, x[, lo[, hi]]) -> index statistics.collections(??) statistics.groupby(iterable, key=None) -> make an iterator that returns consecutive statistics.harmonic_mean(??) statistics.math(??) statistics.mean(??) statistics.median(??) statistics.median_grouped(??) statistics.median_high(??) statistics.median_low(??) statistics.mode(??) statistics.numbers(??) statistics.pstdev(??) statistics.pvariance(??) statistics.stdev(??) statistics.variance(??) str(object='') -> str string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(??) struct.calcsize(??) struct.error(??) struct.iter_unpack(??) struct.pack(format, v1, v2, ...) -> bytes struct.pack_into(format, buffer, offset, v1, v2, ...) struct.unpack(??) struct.unpack_from(??) subprocess.CalledProcessError(??) subprocess.CompletedProcess(??) subprocess.DEVNULL subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.SubprocessError(??) subprocess.TimeoutExpired(??) subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.errno(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.os(??) subprocess.run(??) subprocess.select(??) subprocess.selectors(??) subprocess.signal(??) subprocess.sys(??) subprocess.threading(??) subprocess.time(??) subprocess.warnings(??) sum(??) sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.namedtuple(??) sunau.open(??) sunau.openfp(??) sunau.warnings(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.annassign symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.async_funcdef symbol.async_stmt symbol.atom symbol.atom_expr symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.sync_comp_for symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_arg symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_ANNOT symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.api_version sys.argv(??) sys.base_exec_prefix sys.base_prefix sys.breakpointhook(*args, **kws) sys.builtin_module_names(??) sys.byteorder sys.call_tracing(func, args) -> object sys.callstats() -> tuple of integers sys.copyright sys.displayhook(object) -> None sys.dont_write_bytecode(??) sys.exc_info() -> (type, value, traceback) sys.excepthook(exctype, value, traceback) -> None sys.exec_prefix sys.executable sys.exit([status]) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.get_asyncgen_hooks() sys.get_coroutine_origin_tracking_depth(??) sys.get_coroutine_wrapper() sys.getallocatedblocks() -> integer sys.getcheckinterval() -> current check interval; see setcheckinterval(). sys.getdefaultencoding() -> string sys.getdlopenflags() -> int sys.getfilesystemencodeerrors() -> string sys.getfilesystemencoding() -> string sys.getprofile() sys.getrecursionlimit() sys.getrefcount(object) -> integer sys.getsizeof(object, default) -> int sys.getswitchinterval() -> current thread switch interval; see setswitchinterval(). sys.gettrace() sys.hash_info(??) sys.hexversion sys.implementation(??) sys.int_info(??) sys.intern(string) -> string sys.is_finalizing() sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.set_asyncgen_hooks(*, firstiter=None, finalizer=None) sys.set_coroutine_origin_tracking_depth(??) sys.set_coroutine_wrapper(wrapper) sys.setcheckinterval(n) sys.setdlopenflags(n) -> None sys.setprofile(function) sys.setrecursionlimit(n) sys.setswitchinterval(n) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.thread_info(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.filemode(??) tarfile.grp(??) tarfile.io(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.main(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.selectors(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempdirb(??) tempfile.gettempprefix(??) tempfile.gettempprefixb(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.indent(??) textwrap.re(??) textwrap.shorten(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.WeakSet(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.enumerate(??) threading.get_ident() -> integer threading.local(??) threading.main_thread(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.altzone time.asctime([tuple]) -> string time.clock() -> floating point number time.ctime(seconds) -> string time.daylight time.get_clock_info(name: str) -> dict time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.monotonic() -> float time.monotonic_ns() -> int time.perf_counter() -> float time.perf_counter_ns() -> int time.process_time() -> float time.process_time_ns(??) time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.time_ns() -> int time.timezone time.tzname(??) time.tzset() timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) tkinter.ACTIVE tkinter.ALL tkinter.ANCHOR tkinter.ARC tkinter.BASELINE tkinter.BEVEL tkinter.BOTH tkinter.BOTTOM tkinter.BROWSE tkinter.BUTT tkinter.BaseWidget(??) tkinter.BitmapImage(??) tkinter.BooleanVar(??) tkinter.Button(??) tkinter.CASCADE tkinter.CENTER tkinter.CHAR tkinter.CHECKBUTTON tkinter.CHORD tkinter.COMMAND tkinter.CURRENT tkinter.CallWrapper(??) tkinter.Canvas(??) tkinter.Checkbutton(??) tkinter.DISABLED tkinter.DOTBOX tkinter.DoubleVar(??) tkinter.E tkinter.END tkinter.EW tkinter.EXCEPTION tkinter.EXTENDED tkinter.Entry(??) tkinter.Event(??) tkinter.EventType(??) tkinter.FALSE tkinter.FIRST tkinter.FLAT tkinter.Frame(??) tkinter.GROOVE tkinter.Grid(??) tkinter.HIDDEN tkinter.HORIZONTAL tkinter.INSERT tkinter.INSIDE tkinter.Image(??) tkinter.IntVar(??) tkinter.LAST tkinter.LEFT tkinter.Label(??) tkinter.LabelFrame(??) tkinter.Listbox(??) tkinter.MITER tkinter.MOVETO tkinter.MULTIPLE tkinter.Menu(??) tkinter.Menubutton(??) tkinter.Message(??) tkinter.Misc(??) tkinter.N tkinter.NE tkinter.NO tkinter.NONE tkinter.NORMAL tkinter.NS tkinter.NSEW tkinter.NUMERIC tkinter.NW tkinter.NoDefaultRoot(??) tkinter.OFF tkinter.ON tkinter.OUTSIDE tkinter.OptionMenu(??) tkinter.PAGES tkinter.PIESLICE tkinter.PROJECTING tkinter.Pack(??) tkinter.PanedWindow(??) tkinter.PhotoImage(??) tkinter.Place(??) tkinter.RADIOBUTTON tkinter.RAISED tkinter.READABLE tkinter.RIDGE tkinter.RIGHT tkinter.ROUND tkinter.Radiobutton(??) tkinter.S tkinter.SCROLL tkinter.SE tkinter.SEL tkinter.SEL_FIRST tkinter.SEL_LAST tkinter.SEPARATOR tkinter.SINGLE tkinter.SOLID tkinter.SUNKEN tkinter.SW tkinter.Scale(??) tkinter.Scrollbar(??) tkinter.Spinbox(??) tkinter.StringVar(??) tkinter.TOP tkinter.TRUE tkinter.Tcl(??) tkinter.TclError(??) tkinter.TclVersion tkinter.Text(??) tkinter.Tk(??) tkinter.TkVersion tkinter.Toplevel(??) tkinter.UNDERLINE tkinter.UNITS tkinter.VERTICAL tkinter.Variable(??) tkinter.W tkinter.WORD tkinter.WRITABLE tkinter.Widget(??) tkinter.Wm(??) tkinter.X tkinter.XView(??) tkinter.Y tkinter.YES tkinter.YView(??) tkinter.colorchooser.Chooser(??) tkinter.colorchooser.Dialog(??) tkinter.colorchooser.askcolor(??) tkinter.commondialog.ACTIVE tkinter.commondialog.ALL tkinter.commondialog.ANCHOR tkinter.commondialog.ARC tkinter.commondialog.BASELINE tkinter.commondialog.BEVEL tkinter.commondialog.BOTH tkinter.commondialog.BOTTOM tkinter.commondialog.BROWSE tkinter.commondialog.BUTT tkinter.commondialog.BaseWidget(??) tkinter.commondialog.BitmapImage(??) tkinter.commondialog.BooleanVar(??) tkinter.commondialog.Button(??) tkinter.commondialog.CASCADE tkinter.commondialog.CENTER tkinter.commondialog.CHAR tkinter.commondialog.CHECKBUTTON tkinter.commondialog.CHORD tkinter.commondialog.COMMAND tkinter.commondialog.CURRENT tkinter.commondialog.CallWrapper(??) tkinter.commondialog.Canvas(??) tkinter.commondialog.Checkbutton(??) tkinter.commondialog.DISABLED tkinter.commondialog.DOTBOX tkinter.commondialog.Dialog(??) tkinter.commondialog.DoubleVar(??) tkinter.commondialog.E tkinter.commondialog.END tkinter.commondialog.EW tkinter.commondialog.EXCEPTION tkinter.commondialog.EXTENDED tkinter.commondialog.Entry(??) tkinter.commondialog.Event(??) tkinter.commondialog.EventType(??) tkinter.commondialog.FALSE tkinter.commondialog.FIRST tkinter.commondialog.FLAT tkinter.commondialog.Frame(??) tkinter.commondialog.GROOVE tkinter.commondialog.Grid(??) tkinter.commondialog.HIDDEN tkinter.commondialog.HORIZONTAL tkinter.commondialog.INSERT tkinter.commondialog.INSIDE tkinter.commondialog.Image(??) tkinter.commondialog.IntVar(??) tkinter.commondialog.LAST tkinter.commondialog.LEFT tkinter.commondialog.Label(??) tkinter.commondialog.LabelFrame(??) tkinter.commondialog.Listbox(??) tkinter.commondialog.MITER tkinter.commondialog.MOVETO tkinter.commondialog.MULTIPLE tkinter.commondialog.Menu(??) tkinter.commondialog.Menubutton(??) tkinter.commondialog.Message(??) tkinter.commondialog.Misc(??) tkinter.commondialog.N tkinter.commondialog.NE tkinter.commondialog.NO tkinter.commondialog.NONE tkinter.commondialog.NORMAL tkinter.commondialog.NS tkinter.commondialog.NSEW tkinter.commondialog.NUMERIC tkinter.commondialog.NW tkinter.commondialog.NoDefaultRoot(??) tkinter.commondialog.OFF tkinter.commondialog.ON tkinter.commondialog.OUTSIDE tkinter.commondialog.OptionMenu(??) tkinter.commondialog.PAGES tkinter.commondialog.PIESLICE tkinter.commondialog.PROJECTING tkinter.commondialog.Pack(??) tkinter.commondialog.PanedWindow(??) tkinter.commondialog.PhotoImage(??) tkinter.commondialog.Place(??) tkinter.commondialog.RADIOBUTTON tkinter.commondialog.RAISED tkinter.commondialog.READABLE tkinter.commondialog.RIDGE tkinter.commondialog.RIGHT tkinter.commondialog.ROUND tkinter.commondialog.Radiobutton(??) tkinter.commondialog.S tkinter.commondialog.SCROLL tkinter.commondialog.SE tkinter.commondialog.SEL tkinter.commondialog.SEL_FIRST tkinter.commondialog.SEL_LAST tkinter.commondialog.SEPARATOR tkinter.commondialog.SINGLE tkinter.commondialog.SOLID tkinter.commondialog.SUNKEN tkinter.commondialog.SW tkinter.commondialog.Scale(??) tkinter.commondialog.Scrollbar(??) tkinter.commondialog.Spinbox(??) tkinter.commondialog.StringVar(??) tkinter.commondialog.TOP tkinter.commondialog.TRUE tkinter.commondialog.Tcl(??) tkinter.commondialog.TclError(??) tkinter.commondialog.TclVersion tkinter.commondialog.Text(??) tkinter.commondialog.Tk(??) tkinter.commondialog.TkVersion tkinter.commondialog.Toplevel(??) tkinter.commondialog.UNDERLINE tkinter.commondialog.UNITS tkinter.commondialog.VERTICAL tkinter.commondialog.Variable(??) tkinter.commondialog.W tkinter.commondialog.WORD tkinter.commondialog.WRITABLE tkinter.commondialog.Widget(??) tkinter.commondialog.Wm(??) tkinter.commondialog.X tkinter.commondialog.XView(??) tkinter.commondialog.Y tkinter.commondialog.YES tkinter.commondialog.YView(??) tkinter.commondialog.constants(??) tkinter.commondialog.enum(??) tkinter.commondialog.getboolean(??) tkinter.commondialog.getdouble(??) tkinter.commondialog.getint(??) tkinter.commondialog.image_names(??) tkinter.commondialog.image_types(??) tkinter.commondialog.mainloop(??) tkinter.commondialog.re(??) tkinter.commondialog.sys(??) tkinter.commondialog.wantobjects tkinter.constants(??) tkinter.constants.ACTIVE tkinter.constants.ALL tkinter.constants.ANCHOR tkinter.constants.ARC tkinter.constants.BASELINE tkinter.constants.BEVEL tkinter.constants.BOTH tkinter.constants.BOTTOM tkinter.constants.BROWSE tkinter.constants.BUTT tkinter.constants.CASCADE tkinter.constants.CENTER tkinter.constants.CHAR tkinter.constants.CHECKBUTTON tkinter.constants.CHORD tkinter.constants.COMMAND tkinter.constants.CURRENT tkinter.constants.DISABLED tkinter.constants.DOTBOX tkinter.constants.E tkinter.constants.END tkinter.constants.EW tkinter.constants.EXTENDED tkinter.constants.FALSE tkinter.constants.FIRST tkinter.constants.FLAT tkinter.constants.GROOVE tkinter.constants.HIDDEN tkinter.constants.HORIZONTAL tkinter.constants.INSERT tkinter.constants.INSIDE tkinter.constants.LAST tkinter.constants.LEFT tkinter.constants.MITER tkinter.constants.MOVETO tkinter.constants.MULTIPLE tkinter.constants.N tkinter.constants.NE tkinter.constants.NO tkinter.constants.NONE tkinter.constants.NORMAL tkinter.constants.NS tkinter.constants.NSEW tkinter.constants.NUMERIC tkinter.constants.NW tkinter.constants.OFF tkinter.constants.ON tkinter.constants.OUTSIDE tkinter.constants.PAGES tkinter.constants.PIESLICE tkinter.constants.PROJECTING tkinter.constants.RADIOBUTTON tkinter.constants.RAISED tkinter.constants.RIDGE tkinter.constants.RIGHT tkinter.constants.ROUND tkinter.constants.S tkinter.constants.SCROLL tkinter.constants.SE tkinter.constants.SEL tkinter.constants.SEL_FIRST tkinter.constants.SEL_LAST tkinter.constants.SEPARATOR tkinter.constants.SINGLE tkinter.constants.SOLID tkinter.constants.SUNKEN tkinter.constants.SW tkinter.constants.TOP tkinter.constants.TRUE tkinter.constants.UNDERLINE tkinter.constants.UNITS tkinter.constants.VERTICAL tkinter.constants.W tkinter.constants.WORD tkinter.constants.X tkinter.constants.Y tkinter.constants.YES tkinter.dialog.ACTIVE tkinter.dialog.ALL tkinter.dialog.ANCHOR tkinter.dialog.ARC tkinter.dialog.BASELINE tkinter.dialog.BEVEL tkinter.dialog.BOTH tkinter.dialog.BOTTOM tkinter.dialog.BROWSE tkinter.dialog.BUTT tkinter.dialog.BaseWidget(??) tkinter.dialog.BitmapImage(??) tkinter.dialog.BooleanVar(??) tkinter.dialog.Button(??) tkinter.dialog.CASCADE tkinter.dialog.CENTER tkinter.dialog.CHAR tkinter.dialog.CHECKBUTTON tkinter.dialog.CHORD tkinter.dialog.COMMAND tkinter.dialog.CURRENT tkinter.dialog.CallWrapper(??) tkinter.dialog.Canvas(??) tkinter.dialog.Checkbutton(??) tkinter.dialog.DIALOG_ICON tkinter.dialog.DISABLED tkinter.dialog.DOTBOX tkinter.dialog.Dialog(??) tkinter.dialog.DoubleVar(??) tkinter.dialog.E tkinter.dialog.END tkinter.dialog.EW tkinter.dialog.EXCEPTION tkinter.dialog.EXTENDED tkinter.dialog.Entry(??) tkinter.dialog.Event(??) tkinter.dialog.EventType(??) tkinter.dialog.FALSE tkinter.dialog.FIRST tkinter.dialog.FLAT tkinter.dialog.Frame(??) tkinter.dialog.GROOVE tkinter.dialog.Grid(??) tkinter.dialog.HIDDEN tkinter.dialog.HORIZONTAL tkinter.dialog.INSERT tkinter.dialog.INSIDE tkinter.dialog.Image(??) tkinter.dialog.IntVar(??) tkinter.dialog.LAST tkinter.dialog.LEFT tkinter.dialog.Label(??) tkinter.dialog.LabelFrame(??) tkinter.dialog.Listbox(??) tkinter.dialog.MITER tkinter.dialog.MOVETO tkinter.dialog.MULTIPLE tkinter.dialog.Menu(??) tkinter.dialog.Menubutton(??) tkinter.dialog.Message(??) tkinter.dialog.Misc(??) tkinter.dialog.N tkinter.dialog.NE tkinter.dialog.NO tkinter.dialog.NONE tkinter.dialog.NORMAL tkinter.dialog.NS tkinter.dialog.NSEW tkinter.dialog.NUMERIC tkinter.dialog.NW tkinter.dialog.NoDefaultRoot(??) tkinter.dialog.OFF tkinter.dialog.ON tkinter.dialog.OUTSIDE tkinter.dialog.OptionMenu(??) tkinter.dialog.PAGES tkinter.dialog.PIESLICE tkinter.dialog.PROJECTING tkinter.dialog.Pack(??) tkinter.dialog.PanedWindow(??) tkinter.dialog.PhotoImage(??) tkinter.dialog.Place(??) tkinter.dialog.RADIOBUTTON tkinter.dialog.RAISED tkinter.dialog.READABLE tkinter.dialog.RIDGE tkinter.dialog.RIGHT tkinter.dialog.ROUND tkinter.dialog.Radiobutton(??) tkinter.dialog.S tkinter.dialog.SCROLL tkinter.dialog.SE tkinter.dialog.SEL tkinter.dialog.SEL_FIRST tkinter.dialog.SEL_LAST tkinter.dialog.SEPARATOR tkinter.dialog.SINGLE tkinter.dialog.SOLID tkinter.dialog.SUNKEN tkinter.dialog.SW tkinter.dialog.Scale(??) tkinter.dialog.Scrollbar(??) tkinter.dialog.Spinbox(??) tkinter.dialog.StringVar(??) tkinter.dialog.TOP tkinter.dialog.TRUE tkinter.dialog.Tcl(??) tkinter.dialog.TclError(??) tkinter.dialog.TclVersion tkinter.dialog.Text(??) tkinter.dialog.Tk(??) tkinter.dialog.TkVersion tkinter.dialog.Toplevel(??) tkinter.dialog.UNDERLINE tkinter.dialog.UNITS tkinter.dialog.VERTICAL tkinter.dialog.Variable(??) tkinter.dialog.W tkinter.dialog.WORD tkinter.dialog.WRITABLE tkinter.dialog.Widget(??) tkinter.dialog.Wm(??) tkinter.dialog.X tkinter.dialog.XView(??) tkinter.dialog.Y tkinter.dialog.YES tkinter.dialog.YView(??) tkinter.dialog.colorchooser(??) tkinter.dialog.commondialog(??) tkinter.dialog.constants(??) tkinter.dialog.enum(??) tkinter.dialog.getboolean(??) tkinter.dialog.getdouble(??) tkinter.dialog.getint(??) tkinter.dialog.image_names(??) tkinter.dialog.image_types(??) tkinter.dialog.mainloop(??) tkinter.dialog.re(??) tkinter.dialog.sys(??) tkinter.dialog.wantobjects tkinter.dnd.DndHandler(??) tkinter.dnd.Icon(??) tkinter.dnd.Tester(??) tkinter.dnd.dnd_start(??) tkinter.dnd.test(??) tkinter.dnd.tkinter(??) tkinter.enum(??) tkinter.filedialog.ACTIVE tkinter.filedialog.ALL tkinter.filedialog.ANCHOR tkinter.filedialog.ARC tkinter.filedialog.BASELINE tkinter.filedialog.BEVEL tkinter.filedialog.BOTH tkinter.filedialog.BOTTOM tkinter.filedialog.BROWSE tkinter.filedialog.BUTT tkinter.filedialog.BaseWidget(??) tkinter.filedialog.BitmapImage(??) tkinter.filedialog.BooleanVar(??) tkinter.filedialog.Button(??) tkinter.filedialog.CASCADE tkinter.filedialog.CENTER tkinter.filedialog.CHAR tkinter.filedialog.CHECKBUTTON tkinter.filedialog.CHORD tkinter.filedialog.COMMAND tkinter.filedialog.CURRENT tkinter.filedialog.CallWrapper(??) tkinter.filedialog.Canvas(??) tkinter.filedialog.Checkbutton(??) tkinter.filedialog.DISABLED tkinter.filedialog.DOTBOX tkinter.filedialog.Dialog(??) tkinter.filedialog.Directory(??) tkinter.filedialog.DoubleVar(??) tkinter.filedialog.E tkinter.filedialog.END tkinter.filedialog.EW tkinter.filedialog.EXCEPTION tkinter.filedialog.EXTENDED tkinter.filedialog.Entry(??) tkinter.filedialog.Event(??) tkinter.filedialog.EventType(??) tkinter.filedialog.FALSE tkinter.filedialog.FIRST tkinter.filedialog.FLAT tkinter.filedialog.FileDialog(??) tkinter.filedialog.Frame(??) tkinter.filedialog.GROOVE tkinter.filedialog.Grid(??) tkinter.filedialog.HIDDEN tkinter.filedialog.HORIZONTAL tkinter.filedialog.INSERT tkinter.filedialog.INSIDE tkinter.filedialog.Image(??) tkinter.filedialog.IntVar(??) tkinter.filedialog.LAST tkinter.filedialog.LEFT tkinter.filedialog.Label(??) tkinter.filedialog.LabelFrame(??) tkinter.filedialog.Listbox(??) tkinter.filedialog.LoadFileDialog(??) tkinter.filedialog.MITER tkinter.filedialog.MOVETO tkinter.filedialog.MULTIPLE tkinter.filedialog.Menu(??) tkinter.filedialog.Menubutton(??) tkinter.filedialog.Message(??) tkinter.filedialog.Misc(??) tkinter.filedialog.N tkinter.filedialog.NE tkinter.filedialog.NO tkinter.filedialog.NONE tkinter.filedialog.NORMAL tkinter.filedialog.NS tkinter.filedialog.NSEW tkinter.filedialog.NUMERIC tkinter.filedialog.NW tkinter.filedialog.NoDefaultRoot(??) tkinter.filedialog.OFF tkinter.filedialog.ON tkinter.filedialog.OUTSIDE tkinter.filedialog.Open(??) tkinter.filedialog.OptionMenu(??) tkinter.filedialog.PAGES tkinter.filedialog.PIESLICE tkinter.filedialog.PROJECTING tkinter.filedialog.Pack(??) tkinter.filedialog.PanedWindow(??) tkinter.filedialog.PhotoImage(??) tkinter.filedialog.Place(??) tkinter.filedialog.RADIOBUTTON tkinter.filedialog.RAISED tkinter.filedialog.READABLE tkinter.filedialog.RIDGE tkinter.filedialog.RIGHT tkinter.filedialog.ROUND tkinter.filedialog.Radiobutton(??) tkinter.filedialog.S tkinter.filedialog.SCROLL tkinter.filedialog.SE tkinter.filedialog.SEL tkinter.filedialog.SEL_FIRST tkinter.filedialog.SEL_LAST tkinter.filedialog.SEPARATOR tkinter.filedialog.SINGLE tkinter.filedialog.SOLID tkinter.filedialog.SUNKEN tkinter.filedialog.SW tkinter.filedialog.SaveAs(??) tkinter.filedialog.SaveFileDialog(??) tkinter.filedialog.Scale(??) tkinter.filedialog.Scrollbar(??) tkinter.filedialog.Spinbox(??) tkinter.filedialog.StringVar(??) tkinter.filedialog.TOP tkinter.filedialog.TRUE tkinter.filedialog.Tcl(??) tkinter.filedialog.TclError(??) tkinter.filedialog.TclVersion tkinter.filedialog.Text(??) tkinter.filedialog.Tk(??) tkinter.filedialog.TkVersion tkinter.filedialog.Toplevel(??) tkinter.filedialog.UNDERLINE tkinter.filedialog.UNITS tkinter.filedialog.VERTICAL tkinter.filedialog.Variable(??) tkinter.filedialog.W tkinter.filedialog.WORD tkinter.filedialog.WRITABLE tkinter.filedialog.Widget(??) tkinter.filedialog.Wm(??) tkinter.filedialog.X tkinter.filedialog.XView(??) tkinter.filedialog.Y tkinter.filedialog.YES tkinter.filedialog.YView(??) tkinter.filedialog.askdirectory(??) tkinter.filedialog.askopenfile(??) tkinter.filedialog.askopenfilename(??) tkinter.filedialog.askopenfilenames(??) tkinter.filedialog.askopenfiles(??) tkinter.filedialog.asksaveasfile(??) tkinter.filedialog.asksaveasfilename(??) tkinter.filedialog.colorchooser(??) tkinter.filedialog.commondialog(??) tkinter.filedialog.constants(??) tkinter.filedialog.dialog(??) tkinter.filedialog.dialogstates(??) tkinter.filedialog.dnd(??) tkinter.filedialog.enum(??) tkinter.filedialog.fnmatch(??) tkinter.filedialog.getboolean(??) tkinter.filedialog.getdouble(??) tkinter.filedialog.getint(??) tkinter.filedialog.image_names(??) tkinter.filedialog.image_types(??) tkinter.filedialog.mainloop(??) tkinter.filedialog.os(??) tkinter.filedialog.re(??) tkinter.filedialog.sys(??) tkinter.filedialog.test(??) tkinter.filedialog.wantobjects tkinter.font.BOLD tkinter.font.Font(??) tkinter.font.ITALIC tkinter.font.NORMAL tkinter.font.ROMAN tkinter.font.families(??) tkinter.font.itertools(??) tkinter.font.names(??) tkinter.font.nametofont(??) tkinter.font.tkinter(??) tkinter.getboolean(??) tkinter.getdouble(??) tkinter.getint(??) tkinter.image_names(??) tkinter.image_types(??) tkinter.mainloop(??) tkinter.messagebox.ABORT tkinter.messagebox.ABORTRETRYIGNORE tkinter.messagebox.CANCEL tkinter.messagebox.Dialog(??) tkinter.messagebox.ERROR tkinter.messagebox.IGNORE tkinter.messagebox.INFO tkinter.messagebox.Message(??) tkinter.messagebox.NO tkinter.messagebox.OK tkinter.messagebox.OKCANCEL tkinter.messagebox.QUESTION tkinter.messagebox.RETRY tkinter.messagebox.RETRYCANCEL tkinter.messagebox.WARNING tkinter.messagebox.YES tkinter.messagebox.YESNO tkinter.messagebox.YESNOCANCEL tkinter.messagebox.askokcancel(??) tkinter.messagebox.askquestion(??) tkinter.messagebox.askretrycancel(??) tkinter.messagebox.askyesno(??) tkinter.messagebox.askyesnocancel(??) tkinter.messagebox.showerror(??) tkinter.messagebox.showinfo(??) tkinter.messagebox.showwarning(??) tkinter.re(??) tkinter.scrolledtext.BOTH tkinter.scrolledtext.Frame(??) tkinter.scrolledtext.Grid(??) tkinter.scrolledtext.LEFT tkinter.scrolledtext.Pack(??) tkinter.scrolledtext.Place(??) tkinter.scrolledtext.RIGHT tkinter.scrolledtext.Scrollbar(??) tkinter.scrolledtext.ScrolledText(??) tkinter.scrolledtext.Text(??) tkinter.scrolledtext.Y tkinter.scrolledtext.example(??) tkinter.simpledialog.ACTIVE tkinter.simpledialog.ALL tkinter.simpledialog.ANCHOR tkinter.simpledialog.ARC tkinter.simpledialog.BASELINE tkinter.simpledialog.BEVEL tkinter.simpledialog.BOTH tkinter.simpledialog.BOTTOM tkinter.simpledialog.BROWSE tkinter.simpledialog.BUTT tkinter.simpledialog.BaseWidget(??) tkinter.simpledialog.BitmapImage(??) tkinter.simpledialog.BooleanVar(??) tkinter.simpledialog.Button(??) tkinter.simpledialog.CASCADE tkinter.simpledialog.CENTER tkinter.simpledialog.CHAR tkinter.simpledialog.CHECKBUTTON tkinter.simpledialog.CHORD tkinter.simpledialog.COMMAND tkinter.simpledialog.CURRENT tkinter.simpledialog.CallWrapper(??) tkinter.simpledialog.Canvas(??) tkinter.simpledialog.Checkbutton(??) tkinter.simpledialog.DISABLED tkinter.simpledialog.DOTBOX tkinter.simpledialog.Dialog(??) tkinter.simpledialog.DoubleVar(??) tkinter.simpledialog.E tkinter.simpledialog.END tkinter.simpledialog.EW tkinter.simpledialog.EXCEPTION tkinter.simpledialog.EXTENDED tkinter.simpledialog.Entry(??) tkinter.simpledialog.Event(??) tkinter.simpledialog.EventType(??) tkinter.simpledialog.FALSE tkinter.simpledialog.FIRST tkinter.simpledialog.FLAT tkinter.simpledialog.Frame(??) tkinter.simpledialog.GROOVE tkinter.simpledialog.Grid(??) tkinter.simpledialog.HIDDEN tkinter.simpledialog.HORIZONTAL tkinter.simpledialog.INSERT tkinter.simpledialog.INSIDE tkinter.simpledialog.Image(??) tkinter.simpledialog.IntVar(??) tkinter.simpledialog.LAST tkinter.simpledialog.LEFT tkinter.simpledialog.Label(??) tkinter.simpledialog.LabelFrame(??) tkinter.simpledialog.Listbox(??) tkinter.simpledialog.MITER tkinter.simpledialog.MOVETO tkinter.simpledialog.MULTIPLE tkinter.simpledialog.Menu(??) tkinter.simpledialog.Menubutton(??) tkinter.simpledialog.Message(??) tkinter.simpledialog.Misc(??) tkinter.simpledialog.N tkinter.simpledialog.NE tkinter.simpledialog.NO tkinter.simpledialog.NONE tkinter.simpledialog.NORMAL tkinter.simpledialog.NS tkinter.simpledialog.NSEW tkinter.simpledialog.NUMERIC tkinter.simpledialog.NW tkinter.simpledialog.NoDefaultRoot(??) tkinter.simpledialog.OFF tkinter.simpledialog.ON tkinter.simpledialog.OUTSIDE tkinter.simpledialog.OptionMenu(??) tkinter.simpledialog.PAGES tkinter.simpledialog.PIESLICE tkinter.simpledialog.PROJECTING tkinter.simpledialog.Pack(??) tkinter.simpledialog.PanedWindow(??) tkinter.simpledialog.PhotoImage(??) tkinter.simpledialog.Place(??) tkinter.simpledialog.RADIOBUTTON tkinter.simpledialog.RAISED tkinter.simpledialog.READABLE tkinter.simpledialog.RIDGE tkinter.simpledialog.RIGHT tkinter.simpledialog.ROUND tkinter.simpledialog.Radiobutton(??) tkinter.simpledialog.S tkinter.simpledialog.SCROLL tkinter.simpledialog.SE tkinter.simpledialog.SEL tkinter.simpledialog.SEL_FIRST tkinter.simpledialog.SEL_LAST tkinter.simpledialog.SEPARATOR tkinter.simpledialog.SINGLE tkinter.simpledialog.SOLID tkinter.simpledialog.SUNKEN tkinter.simpledialog.SW tkinter.simpledialog.Scale(??) tkinter.simpledialog.Scrollbar(??) tkinter.simpledialog.SimpleDialog(??) tkinter.simpledialog.Spinbox(??) tkinter.simpledialog.StringVar(??) tkinter.simpledialog.TOP tkinter.simpledialog.TRUE tkinter.simpledialog.Tcl(??) tkinter.simpledialog.TclError(??) tkinter.simpledialog.TclVersion tkinter.simpledialog.Text(??) tkinter.simpledialog.Tk(??) tkinter.simpledialog.TkVersion tkinter.simpledialog.Toplevel(??) tkinter.simpledialog.UNDERLINE tkinter.simpledialog.UNITS tkinter.simpledialog.VERTICAL tkinter.simpledialog.Variable(??) tkinter.simpledialog.W tkinter.simpledialog.WORD tkinter.simpledialog.WRITABLE tkinter.simpledialog.Widget(??) tkinter.simpledialog.Wm(??) tkinter.simpledialog.X tkinter.simpledialog.XView(??) tkinter.simpledialog.Y tkinter.simpledialog.YES tkinter.simpledialog.YView(??) tkinter.simpledialog.askfloat(??) tkinter.simpledialog.askinteger(??) tkinter.simpledialog.askstring(??) tkinter.simpledialog.colorchooser(??) tkinter.simpledialog.commondialog(??) tkinter.simpledialog.constants(??) tkinter.simpledialog.dialog(??) tkinter.simpledialog.dnd(??) tkinter.simpledialog.enum(??) tkinter.simpledialog.filedialog(??) tkinter.simpledialog.font(??) tkinter.simpledialog.getboolean(??) tkinter.simpledialog.getdouble(??) tkinter.simpledialog.getint(??) tkinter.simpledialog.image_names(??) tkinter.simpledialog.image_types(??) tkinter.simpledialog.mainloop(??) tkinter.simpledialog.messagebox(??) tkinter.simpledialog.re(??) tkinter.simpledialog.scrolledtext(??) tkinter.simpledialog.sys(??) tkinter.simpledialog.tkinter(??) tkinter.simpledialog.wantobjects tkinter.sys(??) tkinter.tix.ACROSSTOP tkinter.tix.ACTIVE tkinter.tix.ALL tkinter.tix.ANCHOR tkinter.tix.ARC tkinter.tix.ASCII tkinter.tix.AUTO tkinter.tix.BALLOON tkinter.tix.BASELINE tkinter.tix.BEVEL tkinter.tix.BOTH tkinter.tix.BOTTOM tkinter.tix.BROWSE tkinter.tix.BUTT tkinter.tix.Balloon(??) tkinter.tix.BaseWidget(??) tkinter.tix.BitmapImage(??) tkinter.tix.BooleanVar(??) tkinter.tix.Button(??) tkinter.tix.ButtonBox(??) tkinter.tix.CASCADE tkinter.tix.CELL tkinter.tix.CENTER tkinter.tix.CHAR tkinter.tix.CHECKBUTTON tkinter.tix.CHORD tkinter.tix.COLUMN tkinter.tix.COMMAND tkinter.tix.CObjView(??) tkinter.tix.CURRENT tkinter.tix.CallWrapper(??) tkinter.tix.Canvas(??) tkinter.tix.CheckList(??) tkinter.tix.Checkbutton(??) tkinter.tix.ComboBox(??) tkinter.tix.Control(??) tkinter.tix.DECREASING tkinter.tix.DISABLED tkinter.tix.DOTBOX tkinter.tix.DialogShell(??) tkinter.tix.DirList(??) tkinter.tix.DirSelectBox(??) tkinter.tix.DirSelectDialog(??) tkinter.tix.DirTree(??) tkinter.tix.DisplayStyle(??) tkinter.tix.DoubleVar(??) tkinter.tix.E tkinter.tix.END tkinter.tix.EW tkinter.tix.EXCEPTION tkinter.tix.EXTENDED tkinter.tix.Entry(??) tkinter.tix.Event(??) tkinter.tix.EventType(??) tkinter.tix.ExFileSelectBox(??) tkinter.tix.ExFileSelectDialog(??) tkinter.tix.FALSE tkinter.tix.FIRST tkinter.tix.FLAT tkinter.tix.FileEntry(??) tkinter.tix.FileSelectBox(??) tkinter.tix.FileSelectDialog(??) tkinter.tix.FileTypeList(??) tkinter.tix.Form(??) tkinter.tix.Frame(??) tkinter.tix.GROOVE tkinter.tix.Grid(??) tkinter.tix.HIDDEN tkinter.tix.HList(??) tkinter.tix.HORIZONTAL tkinter.tix.IMAGE tkinter.tix.IMAGETEXT tkinter.tix.IMMEDIATE tkinter.tix.INCREASING tkinter.tix.INSERT tkinter.tix.INSIDE tkinter.tix.INTEGER tkinter.tix.Image(??) tkinter.tix.InputOnly(??) tkinter.tix.IntVar(??) tkinter.tix.LAST tkinter.tix.LEFT tkinter.tix.Label(??) tkinter.tix.LabelEntry(??) tkinter.tix.LabelFrame(??) tkinter.tix.ListNoteBook(??) tkinter.tix.Listbox(??) tkinter.tix.MAIN tkinter.tix.MAX tkinter.tix.MITER tkinter.tix.MOVETO tkinter.tix.MULTIPLE tkinter.tix.Menu(??) tkinter.tix.Menubutton(??) tkinter.tix.Message(??) tkinter.tix.Meter(??) tkinter.tix.Misc(??) tkinter.tix.N tkinter.tix.NE tkinter.tix.NO tkinter.tix.NONE tkinter.tix.NORMAL tkinter.tix.NS tkinter.tix.NSEW tkinter.tix.NUMERIC tkinter.tix.NW tkinter.tix.NoDefaultRoot(??) tkinter.tix.NoteBook(??) tkinter.tix.NoteBookFrame(??) tkinter.tix.OFF tkinter.tix.ON tkinter.tix.OUTSIDE tkinter.tix.OptionMenu(??) tkinter.tix.OptionName(??) tkinter.tix.PAGES tkinter.tix.PIESLICE tkinter.tix.PROJECTING tkinter.tix.Pack(??) tkinter.tix.PanedWindow(??) tkinter.tix.PhotoImage(??) tkinter.tix.Place(??) tkinter.tix.PopupMenu(??) tkinter.tix.RADIOBUTTON tkinter.tix.RAISED tkinter.tix.READABLE tkinter.tix.REAL tkinter.tix.RIDGE tkinter.tix.RIGHT tkinter.tix.ROUND tkinter.tix.ROW tkinter.tix.Radiobutton(??) tkinter.tix.ResizeHandle(??) tkinter.tix.S tkinter.tix.SCROLL tkinter.tix.SE tkinter.tix.SEL tkinter.tix.SEL_FIRST tkinter.tix.SEL_LAST tkinter.tix.SEPARATOR tkinter.tix.SINGLE tkinter.tix.SOLID tkinter.tix.STATUS tkinter.tix.SUNKEN tkinter.tix.SW tkinter.tix.S_REGION tkinter.tix.Scale(??) tkinter.tix.Scrollbar(??) tkinter.tix.ScrolledGrid(??) tkinter.tix.ScrolledHList(??) tkinter.tix.ScrolledListBox(??) tkinter.tix.ScrolledTList(??) tkinter.tix.ScrolledText(??) tkinter.tix.ScrolledWindow(??) tkinter.tix.Select(??) tkinter.tix.Shell(??) tkinter.tix.Spinbox(??) tkinter.tix.StdButtonBox(??) tkinter.tix.StringVar(??) tkinter.tix.TCL_ALL_EVENTS tkinter.tix.TCL_DONT_WAIT tkinter.tix.TCL_FILE_EVENTS tkinter.tix.TCL_IDLE_EVENTS tkinter.tix.TCL_TIMER_EVENTS tkinter.tix.TCL_WINDOW_EVENTS tkinter.tix.TEXT tkinter.tix.TList(??) tkinter.tix.TOP tkinter.tix.TRUE tkinter.tix.Tcl(??) tkinter.tix.TclError(??) tkinter.tix.TclVersion tkinter.tix.Text(??) tkinter.tix.TixSubWidget(??) tkinter.tix.TixWidget(??) tkinter.tix.Tk(??) tkinter.tix.TkVersion tkinter.tix.Toplevel(??) tkinter.tix.Tree(??) tkinter.tix.UNDERLINE tkinter.tix.UNITS tkinter.tix.VERTICAL tkinter.tix.Variable(??) tkinter.tix.W tkinter.tix.WINDOW tkinter.tix.WORD tkinter.tix.WRITABLE tkinter.tix.Widget(??) tkinter.tix.Wm(??) tkinter.tix.X tkinter.tix.XView(??) tkinter.tix.X_REGION tkinter.tix.Y tkinter.tix.YES tkinter.tix.YView(??) tkinter.tix.Y_REGION tkinter.tix.colorchooser(??) tkinter.tix.commondialog(??) tkinter.tix.constants(??) tkinter.tix.dialog(??) tkinter.tix.dnd(??) tkinter.tix.enum(??) tkinter.tix.filedialog(??) tkinter.tix.font(??) tkinter.tix.getboolean(??) tkinter.tix.getdouble(??) tkinter.tix.getint(??) tkinter.tix.image_names(??) tkinter.tix.image_types(??) tkinter.tix.mainloop(??) tkinter.tix.messagebox(??) tkinter.tix.os(??) tkinter.tix.re(??) tkinter.tix.scrolledtext(??) tkinter.tix.simpledialog(??) tkinter.tix.sys(??) tkinter.tix.tixCommand(??) tkinter.tix.tkinter(??) tkinter.tix.wantobjects tkinter.ttk.Button(??) tkinter.ttk.Checkbutton(??) tkinter.ttk.Combobox(??) tkinter.ttk.Entry(??) tkinter.ttk.Frame(??) tkinter.ttk.Label(??) tkinter.ttk.LabelFrame(??) tkinter.ttk.LabeledScale(??) tkinter.ttk.Labelframe(??) tkinter.ttk.Menubutton(??) tkinter.ttk.Notebook(??) tkinter.ttk.OptionMenu(??) tkinter.ttk.PanedWindow(??) tkinter.ttk.Panedwindow(??) tkinter.ttk.Progressbar(??) tkinter.ttk.Radiobutton(??) tkinter.ttk.Scale(??) tkinter.ttk.Scrollbar(??) tkinter.ttk.Separator(??) tkinter.ttk.Sizegrip(??) tkinter.ttk.Style(??) tkinter.ttk.Treeview(??) tkinter.ttk.Widget(??) tkinter.ttk.setup_master(??) tkinter.ttk.tclobjs_to_py(??) tkinter.ttk.tkinter(??) tkinter.wantobjects token.AMPER token.AMPEREQUAL token.ASYNC token.AT token.ATEQUAL token.AWAIT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COMMA token.COMMENT token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENCODING token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NL token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.ASYNC tokenize.AT tokenize.ATEQUAL tokenize.AWAIT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.Bracket tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.EXACT_TOKEN_TYPES(??) tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.Operator tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.StringPrefix tokenize.TILDE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.blank_re(??) tokenize.chain(*iterables) --> chain object tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.endpats(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(??) tokenize.main(??) tokenize.maybe(??) tokenize.open(??) tokenize.re(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.triple_quoted(??) tokenize.u tokenize.untokenize(??) trace.CoverageResults(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.dis(??) trace.gc(??) trace.inspect(??) trace.linecache(??) trace.main(??) trace.os(??) trace.pickle(??) trace.re(??) trace.rx_blank(??) trace.sys(??) trace.threading(??) trace.token(??) trace.tokenize(??) traceback.FrameSummary(??) traceback.StackSummary(??) traceback.TracebackException(??) traceback.clear_frames(??) traceback.collections(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.itertools(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) traceback.walk_stack(??) traceback.walk_tb(??) tracemalloc.BaseFilter(??) tracemalloc.DomainFilter(??) tracemalloc.Filter(??) tracemalloc.Frame(??) tracemalloc.Iterable(??) tracemalloc.Sequence(??) tracemalloc.Snapshot(??) tracemalloc.Statistic(??) tracemalloc.StatisticDiff(??) tracemalloc.Trace(??) tracemalloc.Traceback(??) tracemalloc.clear_traces(??) tracemalloc.fnmatch(??) tracemalloc.get_object_traceback(??) tracemalloc.get_traceback_limit(??) tracemalloc.get_traced_memory(??) tracemalloc.get_tracemalloc_memory(??) tracemalloc.is_tracing(??) tracemalloc.linecache(??) tracemalloc.os(??) tracemalloc.pickle(??) tracemalloc.start(??) tracemalloc.stop(??) tracemalloc.take_snapshot(??) tracemalloc.total_ordering(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.ISIG tty.ISPEED tty.ISTRIP tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSASOFT tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGPGRP tty.TIOCGWINSZ tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSETD tty.TIOCSPGRP tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple(??) turtle.Canvas(??) turtle.Pen(??) turtle.RawPen(??) turtle.RawTurtle(??) turtle.Screen(??) turtle.ScrolledCanvas(??) turtle.Shape(??) turtle.TK(??) turtle.TNavigator(??) turtle.TPen(??) turtle.Tbuffer(??) turtle.Terminator(??) turtle.Turtle(??) turtle.TurtleGraphicsError(??) turtle.TurtleScreen(??) turtle.TurtleScreenBase(??) turtle.Vec2D(??) turtle.addshape(??) turtle.back(??) turtle.backward(??) turtle.begin_fill(??) turtle.begin_poly(??) turtle.bgcolor(??) turtle.bgpic(??) turtle.bk(??) turtle.bye(??) turtle.circle(??) turtle.clear(??) turtle.clearscreen(??) turtle.clearstamp(??) turtle.clearstamps(??) turtle.clone(??) turtle.color(??) turtle.colormode(??) turtle.config_dict(??) turtle.deepcopy(??) turtle.degrees(??) turtle.delay(??) turtle.distance(??) turtle.done(??) turtle.dot(??) turtle.down(??) turtle.end_fill(??) turtle.end_poly(??) turtle.exitonclick(??) turtle.fd(??) turtle.fillcolor(??) turtle.filling(??) turtle.forward(??) turtle.get_poly(??) turtle.get_shapepoly(??) turtle.getcanvas(??) turtle.getmethparlist(??) turtle.getpen(??) turtle.getscreen(??) turtle.getshapes(??) turtle.getturtle(??) turtle.goto(??) turtle.heading(??) turtle.hideturtle(??) turtle.home(??) turtle.ht(??) turtle.inspect(??) turtle.isdown(??) turtle.isfile(??) turtle.isvisible(??) turtle.join(??) turtle.left(??) turtle.listen(??) turtle.lt(??) turtle.mainloop(??) turtle.math(??) turtle.mode(??) turtle.numinput(??) turtle.onclick(??) turtle.ondrag(??) turtle.onkey(??) turtle.onkeypress(??) turtle.onkeyrelease(??) turtle.onrelease(??) turtle.onscreenclick(??) turtle.ontimer(??) turtle.pd(??) turtle.pen(??) turtle.pencolor(??) turtle.pendown(??) turtle.pensize(??) turtle.penup(??) turtle.pos(??) turtle.position(??) turtle.pu(??) turtle.radians(??) turtle.read_docstrings(??) turtle.readconfig(??) turtle.register_shape(??) turtle.reset(??) turtle.resetscreen(??) turtle.resizemode(??) turtle.right(??) turtle.rt(??) turtle.screensize(??) turtle.seth(??) turtle.setheading(??) turtle.setpos(??) turtle.setposition(??) turtle.settiltangle(??) turtle.setundobuffer(??) turtle.setup(??) turtle.setworldcoordinates(??) turtle.setx(??) turtle.sety(??) turtle.shape(??) turtle.shapesize(??) turtle.shapetransform(??) turtle.shearfactor(??) turtle.showturtle(??) turtle.simpledialog(??) turtle.speed(??) turtle.split(??) turtle.st(??) turtle.stamp(??) turtle.sys(??) turtle.textinput(??) turtle.tilt(??) turtle.tiltangle(??) turtle.time(??) turtle.title(??) turtle.towards(??) turtle.tracer(??) turtle.turtles(??) turtle.turtlesize(??) turtle.types(??) turtle.undo (repeatedly) the last turtle action. turtle.undobufferentries(??) turtle.up(??) turtle.update(??) turtle.width(??) turtle.window_height(??) turtle.window_width(??) turtle.write(??) turtle.write_docstringdict(??) turtle.xcor(??) turtle.ycor(??) type(object_or_name, bases, dict) types.AsyncGeneratorType(??) types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.ClassMethodDescriptorType(??) types.CodeType(??) types.CoroutineType(??) types.DynamicClassAttribute(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MappingProxyType(??) types.MemberDescriptorType(??) types.MethodDescriptorType(??) types.MethodType(??) types.MethodWrapperType(??) types.ModuleType(??) types.SimpleNamespace(??) types.TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno) types.WrapperDescriptorType(??) types.coroutine(??) types.new_class(??) types.prepare_class(??) types.resolve_bases(??) typing.AbstractSet(??) typing.Any(??) typing.AnyStr(??) typing.AsyncContextManager(??) typing.AsyncGenerator(??) typing.AsyncIterable(??) typing.AsyncIterator(??) typing.Awaitable(??) typing.BinaryIO(??) typing.ByteString(??) typing.CT_co(??) typing.Callable(??) typing.ChainMap(??) typing.ClassVar(??) typing.Collection(??) typing.Container(??) typing.ContextManager(??) typing.Coroutine(??) typing.Counter(??) typing.DefaultDict(??) typing.Deque(??) typing.Dict(??) typing.ForwardRef(??) typing.FrozenSet(??) typing.Generator(??) typing.Generic(??) typing.Hashable(??) typing.IO(??) typing.ItemsView(??) typing.Iterable(??) typing.Iterator(??) typing.KT(??) typing.KeysView(??) typing.List(??) typing.Mapping(??) typing.MappingView(??) typing.Match(??) typing.MethodDescriptorType(??) typing.MethodWrapperType(??) typing.MutableMapping(??) typing.MutableSequence(??) typing.MutableSet(??) typing.NamedTuple(??) typing.NamedTupleMeta(??) typing.NewType(??) typing.NoReturn(??) typing.Optional(??) typing.Pattern(??) typing.Reversible(??) typing.Sequence(??) typing.Set(??) typing.Sized(??) typing.SupportsAbs(??) typing.SupportsBytes(??) typing.SupportsComplex(??) typing.SupportsFloat(??) typing.SupportsInt(??) typing.SupportsRound(??) typing.T(??) typing.TYPE_CHECKING(??) typing.T_co(??) typing.T_contra(??) typing.Text(??) typing.TextIO(??) typing.Tuple(??) typing.Type(??) typing.TypeVar(??) typing.Union(??) typing.VT(??) typing.VT_co(??) typing.V_co(??) typing.ValuesView(??) typing.WrapperDescriptorType(??) typing.abc(??) typing.abstractmethod(??) typing.abstractproperty(??) typing.cast(??) typing.collections(??) typing.contextlib(??) typing.functools(??) typing.get_type_hints(??) typing.io(??) typing.no_type_check(??) typing.no_type_check_decorator(??) typing.overload(??) typing.re(??) typing.stdlib_re(??) typing.sys(??) typing.types(??) urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.re(??) urllib.parse.scheme_chars urllib.parse.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.parse.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.parse.splitnport(??) urllib.parse.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.parse.splitport('host:port') --> 'host', 'port'. urllib.parse.splitquery('/path?query') --> '/path', 'query'. urllib.parse.splittag('/path#tag') --> '/path', 'tag'. urllib.parse.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.parse.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.parse.splitvalue('attr=value') --> 'attr', 'value'. urllib.parse.sys(??) urllib.parse.to_bytes(u"URL") --> 'URL'. urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap('') --> 'type://host/path'. urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.DataHandler(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPPasswordMgrWithPriorAuth(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.contextlib(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.getproxies_macosx_sysconf(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.proxy_bypass_macosx_sysconf(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.splitattr('/path;attr1=value1;attr2=value2;...') -> urllib.request.splithost('//host[:port]/path') --> 'host[:port]', '/path'. urllib.request.splitpasswd('user:passwd') -> 'user', 'passwd'. urllib.request.splitport('host:port') --> 'host', 'port'. urllib.request.splitquery('/path?query') --> '/path', 'query'. urllib.request.splittag('/path#tag') --> '/path', 'tag'. urllib.request.splittype('type:opaquestring') --> 'type', 'opaquestring'. urllib.request.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. urllib.request.splitvalue('attr=value') --> 'attr', 'value'. urllib.request.ssl(??) urllib.request.string(??) urllib.request.sys(??) urllib.request.tempfile(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.to_bytes(u"URL") --> 'URL'. urllib.request.unquote(??) urllib.request.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.request.unwrap('') --> 'type://host/path'. urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.request.warnings(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.response.tempfile(??) urllib.robotparser.Entry(??) urllib.robotparser.RequestRate(requests, seconds) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.collections(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.Enum(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.SafeUUID(??) uuid.UUID(??) uuid.bytes_(??) uuid.getnode(??) uuid.int_(??) uuid.os(??) uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary venv.EnvBuilder(??) venv.create(??) venv.logger(??) venv.logging(??) venv.main(??) venv.os(??) venv.shutil(??) venv.subprocess(??) venv.sys(??) venv.types(??) warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.audioop(??) wave.builtins(??) wave.namedtuple(??) wave.open(??) wave.openfp(??) wave.struct(??) wave.sys(??) wave.warnings(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakMethod(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.finalize(??) weakref.getweakrefcount(??) weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.itertools(??) weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) weakref.sys(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Chrome(??) webbrowser.Chromium(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.MacOSX(??) webbrowser.MacOSXOSAScript(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.register_standard_browsers(??) webbrowser.shlex(??) webbrowser.shutil(??) webbrowser.subprocess(??) webbrowser.sys(??) webbrowser.threading(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.python_implementation(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO(??) xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.raise_conversion_error(??) xdrlib.struct(??) xdrlib.wraps(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.warnings(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLPullParser(??) xml.etree.ElementTree.collections(??) xml.etree.ElementTree.contextlib(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.io(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.XMLPullParser(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(??) xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate(??) xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.codecs(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.io(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO(??) xmlrpc.client.DateTime(??) xmlrpc.client.Decimal(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.loads(??) xmlrpc.client.sys(??) xmlrpc.client.time(??) xmlrpc.client.urllib(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.http(??) xmlrpc.server.inspect(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.partial(func, *args, **keywords) - new function with partial application xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(iter1 [,iter2 [...]]) --> zip object zipapp.MAIN_TEMPLATE zipapp.ZipAppError(??) zipapp.contextlib(??) zipapp.create_archive(??) zipapp.get_interpreter(??) zipapp.main(??) zipapp.os(??) zipapp.pathlib(??) zipapp.shebang_encoding zipapp.shutil(??) zipapp.stat(??) zipapp.sys(??) zipapp.zipfile(??) zipfile.BZIP2_VERSION zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.DEFAULT_VERSION zipfile.LZMACompressor(??) zipfile.LZMADecompressor(??) zipfile.LZMA_VERSION zipfile.LargeZipFile(??) zipfile.MAX_EXTRACT_VERSION zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP64_VERSION zipfile.ZIP_BZIP2 zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_LZMA zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.bz2(??) zipfile.compressor_names(??) zipfile.crc32(??) zipfile.error(??) zipfile.importlib(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.lzma(??) zipfile.main(??) zipfile.os(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.threading(??) zipfile.time(??) zipfile.zlib(??) zipimport.ZipImportError(??) zipimport.zipimporter(??) ================================================ FILE: src/qscint/qsci/api/python/Python-3.8.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BlockingIOError(??) BrokenPipeError(??) BufferError(??) BytesWarning(??) ChildProcessError(??) ConnectionAbortedError(??) ConnectionError(??) ConnectionRefusedError(??) ConnectionResetError(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FileExistsError(??) FileNotFoundError(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) InterruptedError(??) IsADirectoryError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) ModuleNotFoundError(??) NameError(??) None(??) NotADirectoryError(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) PermissionError(??) ProcessLookupError(??) RecursionError(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopAsyncIteration(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) TargetScopeError(??) TimeoutError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABC(??) abc.ABCMeta(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abc.get_cache_token(??) abs(??) aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.namedtuple(??) aifc.open(??) aifc.openfp(??) aifc.struct(??) aifc.warnings(??) all(??) any(??) argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.MetavarTypeHelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) ascii(??) ast.AST(??) ast.Add(??) ast.And(??) ast.AnnAssign(??) ast.Assert(??) ast.Assign(??) ast.AsyncFor(??) ast.AsyncFunctionDef(??) ast.AsyncWith(??) ast.Attribute(??) ast.AugAssign(??) ast.AugLoad(??) ast.AugStore(??) ast.Await(??) ast.BinOp(??) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(??) ast.Break(??) ast.Bytes(??) ast.Call(??) ast.ClassDef(??) ast.Compare(??) ast.Constant(??) ast.Continue(??) ast.Del(??) ast.Delete(??) ast.Dict(??) ast.DictComp(??) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(??) ast.Expr(??) ast.Expression(??) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(??) ast.FormattedValue(??) ast.FunctionDef(??) ast.FunctionType(??) ast.GeneratorExp(??) ast.Global(??) ast.Gt(??) ast.GtE(??) ast.If(??) ast.IfExp(??) ast.Import(??) ast.ImportFrom(??) ast.In(??) ast.Index(??) ast.Interactive(??) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.JoinedStr(??) ast.LShift(??) ast.Lambda(??) ast.List(??) ast.ListComp(??) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.MatMult(??) ast.Mod(??) ast.Module(??) ast.Mult(??) ast.Name(??) ast.NameConstant(??) ast.NamedExpr(??) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(??) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ALLOW_TOP_LEVEL_AWAIT ast.PyCF_ONLY_AST ast.PyCF_TYPE_COMMENTS ast.RShift(??) ast.Raise(??) ast.Return(??) ast.Set(??) ast.SetComp(??) ast.Slice(??) ast.Starred(??) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(??) ast.Suite(??) ast.Try(??) ast.Tuple(??) ast.TypeIgnore(??) ast.UAdd(??) ast.USub(??) ast.UnaryOp(??) ast.While(??) ast.With(??) ast.Yield(??) ast.YieldFrom(??) ast.alias(??) ast.arg(??) ast.arguments(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.get_source_segment(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(??) ast.literal_eval(??) ast.mod(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.type_ignore(??) ast.unaryop(??) ast.walk(??) ast.withitem(??) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.deque([iterable[, maxlen]]) --> deque object asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asyncio.ALL_COMPLETED asyncio.AbstractChildWatcher(??) asyncio.AbstractEventLoop(??) asyncio.AbstractEventLoopPolicy(??) asyncio.AbstractServer(??) asyncio.BaseEventLoop(??) asyncio.BaseProtocol(??) asyncio.BaseTransport(??) asyncio.BoundedSemaphore(??) asyncio.BufferedProtocol(??) asyncio.CancelledError(??) asyncio.Condition(??) asyncio.DatagramProtocol(??) asyncio.DatagramTransport(??) asyncio.DefaultEventLoopPolicy(??) asyncio.Event(??) asyncio.FIRST_COMPLETED asyncio.FIRST_EXCEPTION asyncio.FastChildWatcher(??) asyncio.Future(??) asyncio.Handle(??) asyncio.IncompleteReadError(??) asyncio.InvalidStateError(??) asyncio.LifoQueue(??) asyncio.LimitOverrunError(??) asyncio.Lock(??) asyncio.PriorityQueue(??) asyncio.Protocol(??) asyncio.Queue(??) asyncio.QueueEmpty(??) asyncio.QueueFull(??) asyncio.ReadTransport(??) asyncio.SafeChildWatcher(??) asyncio.SelectorEventLoop(??) asyncio.Semaphore(??) asyncio.SendfileNotAvailableError(??) asyncio.Stream(??) asyncio.StreamMode(??) asyncio.StreamServer(??) asyncio.SubprocessProtocol(??) asyncio.SubprocessTransport(??) asyncio.Task(??) asyncio.TimeoutError(??) asyncio.TimerHandle(??) asyncio.Transport(??) asyncio.UnixStreamServer(??) asyncio.WriteTransport(??) asyncio.all_tasks(??) asyncio.as_completed(??) asyncio.base_events(??) asyncio.base_events.BaseEventLoop(??) asyncio.base_events.MAXIMUM_SELECT_TIMEOUT asyncio.base_events.Server(??) asyncio.base_events.collections(??) asyncio.base_events.concurrent(??) asyncio.base_events.constants(??) asyncio.base_events.coroutines(??) asyncio.base_events.events(??) asyncio.base_events.exceptions(??) asyncio.base_events.functools(??) asyncio.base_events.futures(??) asyncio.base_events.heapq(??) asyncio.base_events.itertools(??) asyncio.base_events.logger(??) asyncio.base_events.os(??) asyncio.base_events.protocols(??) asyncio.base_events.socket(??) asyncio.base_events.ssl(??) asyncio.base_events.sslproto(??) asyncio.base_events.staggered(??) asyncio.base_events.stat(??) asyncio.base_events.subprocess(??) asyncio.base_events.sys(??) asyncio.base_events.tasks(??) asyncio.base_events.threading(??) asyncio.base_events.time(??) asyncio.base_events.traceback(??) asyncio.base_events.transports(??) asyncio.base_events.trsock(??) asyncio.base_events.warnings(??) asyncio.base_events.weakref(??) asyncio.base_futures(??) asyncio.base_futures.format_helpers(??) asyncio.base_futures.isfuture(??) asyncio.base_futures.reprlib(??) asyncio.base_subprocess(??) asyncio.base_subprocess.BaseSubprocessTransport(??) asyncio.base_subprocess.ReadSubprocessPipeProto(??) asyncio.base_subprocess.WriteSubprocessPipeProto(??) asyncio.base_subprocess.collections(??) asyncio.base_subprocess.logger(??) asyncio.base_subprocess.protocols(??) asyncio.base_subprocess.subprocess(??) asyncio.base_subprocess.transports(??) asyncio.base_subprocess.warnings(??) asyncio.base_tasks(??) asyncio.base_tasks.base_futures(??) asyncio.base_tasks.coroutines(??) asyncio.base_tasks.linecache(??) asyncio.base_tasks.traceback(??) asyncio.connect(??) asyncio.connect_read_pipe(??) asyncio.connect_unix(??) asyncio.connect_write_pipe(??) asyncio.constants(??) asyncio.constants.ACCEPT_RETRY_DELAY asyncio.constants.DEBUG_STACK_DEPTH asyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES asyncio.constants.SENDFILE_FALLBACK_READBUFFER_SIZE asyncio.constants.SSL_HANDSHAKE_TIMEOUT asyncio.constants.enum(??) asyncio.coroutine(??) asyncio.coroutines(??) asyncio.coroutines.CoroWrapper(??) asyncio.coroutines.base_futures(??) asyncio.coroutines.collections(??) asyncio.coroutines.constants(??) asyncio.coroutines.coroutine(??) asyncio.coroutines.format_helpers(??) asyncio.coroutines.functools(??) asyncio.coroutines.inspect(??) asyncio.coroutines.iscoroutine(??) asyncio.coroutines.iscoroutinefunction(??) asyncio.coroutines.logger(??) asyncio.coroutines.os(??) asyncio.coroutines.sys(??) asyncio.coroutines.traceback(??) asyncio.coroutines.types(??) asyncio.coroutines.warnings(??) asyncio.create_subprocess_exec(??) asyncio.create_subprocess_shell(??) asyncio.create_task(??) asyncio.current_task(??) asyncio.ensure_future(??) asyncio.events(??) asyncio.events.AbstractEventLoop(??) asyncio.events.AbstractEventLoopPolicy(??) asyncio.events.AbstractServer(??) asyncio.events.BaseDefaultEventLoopPolicy(??) asyncio.events.Handle(??) asyncio.events.TimerHandle(??) asyncio.events.contextvars(??) asyncio.events.exceptions(??) asyncio.events.format_helpers(??) asyncio.events.get_child_watcher(??) asyncio.events.get_event_loop(??) asyncio.events.get_event_loop_policy(??) asyncio.events.get_running_loop(??) asyncio.events.new_event_loop(??) asyncio.events.os(??) asyncio.events.set_child_watcher(??) asyncio.events.set_event_loop(??) asyncio.events.set_event_loop_policy(??) asyncio.events.socket(??) asyncio.events.subprocess(??) asyncio.events.sys(??) asyncio.events.threading(??) asyncio.exceptions(??) asyncio.exceptions.CancelledError(??) asyncio.exceptions.IncompleteReadError(??) asyncio.exceptions.InvalidStateError(??) asyncio.exceptions.LimitOverrunError(??) asyncio.exceptions.SendfileNotAvailableError(??) asyncio.exceptions.TimeoutError(??) asyncio.format_helpers(??) asyncio.format_helpers.constants(??) asyncio.format_helpers.extract_stack(??) asyncio.format_helpers.functools(??) asyncio.format_helpers.inspect(??) asyncio.format_helpers.reprlib(??) asyncio.format_helpers.sys(??) asyncio.format_helpers.traceback(??) asyncio.futures(??) asyncio.futures.Future(??) asyncio.futures.STACK_DEBUG asyncio.futures.base_futures(??) asyncio.futures.concurrent(??) asyncio.futures.contextvars(??) asyncio.futures.events(??) asyncio.futures.exceptions(??) asyncio.futures.format_helpers(??) asyncio.futures.isfuture(??) asyncio.futures.logging(??) asyncio.futures.sys(??) asyncio.futures.wrap_future(??) asyncio.gather(??) asyncio.get_child_watcher(??) asyncio.get_event_loop(??) asyncio.get_event_loop_policy(??) asyncio.get_running_loop(??) asyncio.iscoroutine(??) asyncio.iscoroutinefunction(??) asyncio.isfuture(??) asyncio.locks(??) asyncio.locks.BoundedSemaphore(??) asyncio.locks.Condition(??) asyncio.locks.Event(??) asyncio.locks.Lock(??) asyncio.locks.Semaphore(??) asyncio.locks.collections(??) asyncio.locks.coroutines(??) asyncio.locks.events(??) asyncio.locks.exceptions(??) asyncio.locks.futures(??) asyncio.locks.types(??) asyncio.locks.warnings(??) asyncio.log(??) asyncio.log.logger(??) asyncio.log.logging(??) asyncio.new_event_loop(??) asyncio.open_connection(??) asyncio.open_unix_connection(??) asyncio.proactor_events(??) asyncio.proactor_events.BaseProactorEventLoop(??) asyncio.proactor_events.base_events(??) asyncio.proactor_events.collections(??) asyncio.proactor_events.constants(??) asyncio.proactor_events.exceptions(??) asyncio.proactor_events.futures(??) asyncio.proactor_events.io(??) asyncio.proactor_events.logger(??) asyncio.proactor_events.os(??) asyncio.proactor_events.protocols(??) asyncio.proactor_events.signal(??) asyncio.proactor_events.socket(??) asyncio.proactor_events.sslproto(??) asyncio.proactor_events.transports(??) asyncio.proactor_events.trsock(??) asyncio.proactor_events.warnings(??) asyncio.protocols(??) asyncio.protocols.BaseProtocol(??) asyncio.protocols.BufferedProtocol(??) asyncio.protocols.DatagramProtocol(??) asyncio.protocols.Protocol(??) asyncio.protocols.SubprocessProtocol(??) asyncio.queues(??) asyncio.queues.LifoQueue(??) asyncio.queues.PriorityQueue(??) asyncio.queues.Queue(??) asyncio.queues.QueueEmpty(??) asyncio.queues.QueueFull(??) asyncio.queues.collections(??) asyncio.queues.events(??) asyncio.queues.heapq(??) asyncio.queues.locks(??) asyncio.run(??) asyncio.run_coroutine_threadsafe(??) asyncio.runners(??) asyncio.runners.coroutines(??) asyncio.runners.events(??) asyncio.runners.run(??) asyncio.runners.tasks(??) asyncio.selector_events(??) asyncio.selector_events.BaseSelectorEventLoop(??) asyncio.selector_events.base_events(??) asyncio.selector_events.collections(??) asyncio.selector_events.constants(??) asyncio.selector_events.errno(??) asyncio.selector_events.events(??) asyncio.selector_events.functools(??) asyncio.selector_events.futures(??) asyncio.selector_events.logger(??) asyncio.selector_events.protocols(??) asyncio.selector_events.selectors(??) asyncio.selector_events.socket(??) asyncio.selector_events.ssl(??) asyncio.selector_events.sslproto(??) asyncio.selector_events.transports(??) asyncio.selector_events.trsock(??) asyncio.selector_events.warnings(??) asyncio.selector_events.weakref(??) asyncio.set_child_watcher(??) asyncio.set_event_loop(??) asyncio.set_event_loop_policy(??) asyncio.shield(??) asyncio.sleep(??) asyncio.sslproto(??) asyncio.sslproto.SSLProtocol(??) asyncio.sslproto.base_events(??) asyncio.sslproto.collections(??) asyncio.sslproto.constants(??) asyncio.sslproto.logger(??) asyncio.sslproto.protocols(??) asyncio.sslproto.ssl(??) asyncio.sslproto.transports(??) asyncio.sslproto.warnings(??) asyncio.staggered(??) asyncio.staggered.contextlib(??) asyncio.staggered.events(??) asyncio.staggered.futures(??) asyncio.staggered.locks(??) asyncio.staggered.staggered_race(??) asyncio.staggered.tasks(??) asyncio.staggered.typing(??) asyncio.start_server(??) asyncio.start_unix_server(??) asyncio.streams(??) asyncio.streams.FlowControlMixin(??) asyncio.streams.Stream(??) asyncio.streams.StreamMode(??) asyncio.streams.StreamReader(??) asyncio.streams.StreamReaderProtocol(??) asyncio.streams.StreamServer(??) asyncio.streams.StreamWriter(??) asyncio.streams.UnixStreamServer(??) asyncio.streams.connect(??) asyncio.streams.connect_read_pipe(??) asyncio.streams.connect_unix(??) asyncio.streams.connect_write_pipe(??) asyncio.streams.coroutines(??) asyncio.streams.enum(??) asyncio.streams.events(??) asyncio.streams.exceptions(??) asyncio.streams.format_helpers(??) asyncio.streams.logger(??) asyncio.streams.open_connection(??) asyncio.streams.open_unix_connection(??) asyncio.streams.protocols(??) asyncio.streams.socket(??) asyncio.streams.start_server(??) asyncio.streams.start_unix_server(??) asyncio.streams.sys(??) asyncio.streams.tasks(??) asyncio.streams.warnings(??) asyncio.streams.weakref(??) asyncio.subprocess(??) asyncio.subprocess.DEVNULL asyncio.subprocess.PIPE asyncio.subprocess.Process(??) asyncio.subprocess.STDOUT asyncio.subprocess.SubprocessStreamProtocol(??) asyncio.subprocess.create_subprocess_exec(??) asyncio.subprocess.create_subprocess_shell(??) asyncio.subprocess.events(??) asyncio.subprocess.logger(??) asyncio.subprocess.protocols(??) asyncio.subprocess.streams(??) asyncio.subprocess.subprocess(??) asyncio.subprocess.tasks(??) asyncio.subprocess.warnings(??) asyncio.sys(??) asyncio.tasks(??) asyncio.tasks.ALL_COMPLETED asyncio.tasks.FIRST_COMPLETED asyncio.tasks.FIRST_EXCEPTION asyncio.tasks.Task(??) asyncio.tasks.all_tasks(??) asyncio.tasks.as_completed(??) asyncio.tasks.base_tasks(??) asyncio.tasks.concurrent(??) asyncio.tasks.contextvars(??) asyncio.tasks.coroutines(??) asyncio.tasks.create_task(??) asyncio.tasks.current_task(??) asyncio.tasks.ensure_future(??) asyncio.tasks.events(??) asyncio.tasks.exceptions(??) asyncio.tasks.functools(??) asyncio.tasks.futures(??) asyncio.tasks.gather(??) asyncio.tasks.inspect(??) asyncio.tasks.itertools(??) asyncio.tasks.run_coroutine_threadsafe(??) asyncio.tasks.shield(??) asyncio.tasks.sleep(??) asyncio.tasks.types(??) asyncio.tasks.wait(??) asyncio.tasks.wait_for(??) asyncio.tasks.warnings(??) asyncio.tasks.weakref(??) asyncio.transports(??) asyncio.transports.BaseTransport(??) asyncio.transports.DatagramTransport(??) asyncio.transports.ReadTransport(??) asyncio.transports.SubprocessTransport(??) asyncio.transports.Transport(??) asyncio.transports.WriteTransport(??) asyncio.trsock(??) asyncio.trsock.TransportSocket(??) asyncio.trsock.socket(??) asyncio.trsock.warnings(??) asyncio.unix_events(??) asyncio.unix_events.AbstractChildWatcher(??) asyncio.unix_events.BaseChildWatcher(??) asyncio.unix_events.DefaultEventLoopPolicy(??) asyncio.unix_events.FastChildWatcher(??) asyncio.unix_events.SafeChildWatcher(??) asyncio.unix_events.SelectorEventLoop(??) asyncio.unix_events.base_events(??) asyncio.unix_events.base_subprocess(??) asyncio.unix_events.constants(??) asyncio.unix_events.coroutines(??) asyncio.unix_events.errno(??) asyncio.unix_events.events(??) asyncio.unix_events.exceptions(??) asyncio.unix_events.futures(??) asyncio.unix_events.io(??) asyncio.unix_events.logger(??) asyncio.unix_events.os(??) asyncio.unix_events.selector_events(??) asyncio.unix_events.selectors(??) asyncio.unix_events.signal(??) asyncio.unix_events.socket(??) asyncio.unix_events.stat(??) asyncio.unix_events.subprocess(??) asyncio.unix_events.sys(??) asyncio.unix_events.tasks(??) asyncio.unix_events.threading(??) asyncio.unix_events.transports(??) asyncio.unix_events.warnings(??) asyncio.wait(??) asyncio.wait_for(??) asyncio.warnings(??) asyncio.wrap_future(??) asyncore.EAGAIN asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.EPIPE asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None base64.MAXBINSIZE base64.MAXLINESIZE base64.a85decode(??) base64.a85encode(??) base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.b85decode(??) base64.b85encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.decodestring(??) base64.encode(??) base64.encodebytes(??) base64.encodestring(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.CO_ASYNC_GENERATOR bdb.CO_COROUTINE bdb.CO_GENERATOR bdb.GENERATOR_AND_COROUTINE_FLAGS bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) bisect.bisect(??) bisect.bisect_left(a, x[, lo[, hi]]) -> index bisect.bisect_right(a, x[, lo[, hi]]) -> index bisect.insort(??) bisect.insort_left(a, x[, lo[, hi]]) bisect.insort_right(a, x[, lo[, hi]]) bool(x) -> bool breakpoint(*args, **kws) builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BlockingIOError(??) builtins.BrokenPipeError(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.ChildProcessError(??) builtins.ConnectionAbortedError(??) builtins.ConnectionError(??) builtins.ConnectionRefusedError(??) builtins.ConnectionResetError(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FileExistsError(??) builtins.FileNotFoundError(??) builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.InterruptedError(??) builtins.IsADirectoryError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.ModuleNotFoundError(??) builtins.NameError(??) builtins.None builtins.NotADirectoryError(??) builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.PermissionError(??) builtins.ProcessLookupError(??) builtins.RecursionError(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopAsyncIteration(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.TargetScopeError(??) builtins.TimeoutError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(??) builtins.all(??) builtins.any(??) builtins.ascii(??) builtins.bin(??) builtins.bool(x) -> bool builtins.breakpoint(*args, **kws) builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(??) builtins.chr(??) builtins.classmethod(function) -> method builtins.compile(??) builtins.complex(??) builtins.copyright(??) builtins.credits(??) builtins.delattr(??) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(??) builtins.enumerate(??) builtins.eval(??) builtins.exec(??) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(??) builtins.format(??) builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals(??) builtins.hasattr(??) builtins.hash(??) builtins.help(??) builtins.hex(??) builtins.id(??) builtins.input(??) builtins.int([x]) -> integer builtins.isinstance(??) builtins.issubclass(??) builtins.iter(iterable) -> iterator builtins.len(??) builtins.license(??) builtins.list(??) builtins.locals(??) builtins.map(func, *iterables) --> map object builtins.max(iterable, *[, default=obj, key=func]) -> value builtins.memoryview(??) builtins.min(iterable, *[, default=obj, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(??) builtins.open(??) builtins.ord(??) builtins.pow(??) builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) builtins.property(??) builtins.quit(??) builtins.range(stop) -> range object builtins.repr(??) builtins.reversed(??) builtins.round(??) builtins.set() -> new empty set object builtins.setattr(??) builtins.slice(stop) builtins.sorted(??) builtins.staticmethod(function) -> method builtins.str(object='') -> str builtins.sum(??) builtins.super() -> same as super(__class__, ) builtins.tuple(??) builtins.type(object_or_name, bases, dict) builtins.vars([object]) -> dictionary builtins.zip(iter1 [,iter2 [...]]) --> zip object bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor(??) bz2.BZ2Decompressor(??) bz2.BZ2File(??) bz2.RLock(??) bz2.compress(??) bz2.decompress(??) bz2.io(??) bz2.open(??) bz2.os(??) bz2.warnings(??) cProfile.Profile(timer=None, timeunit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthlen(??) calendar.monthrange(??) calendar.nextmonth(??) calendar.prcal(??) calendar.prevmonth(??) calendar.prmonth(??) calendar.prweek(??) calendar.repeat(object [,times]) -> create an iterator which returns the object calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(??) cgi.BytesIO(??) cgi.FeedParser(??) cgi.FieldStorage(??) cgi.Mapping(??) cgi.Message(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.closelog(??) cgi.dolog(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) chr(??) chunk.Chunk(??) classmethod(function) -> method cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(??) codecs.encode(??) codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(??) codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.namereplace_errors(??) codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(??) codecs.register_error(??) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) collections.ChainMap(??) collections.Counter(??) collections.OrderedDict(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.abc(??) collections.abc.AsyncGenerator(??) collections.abc.AsyncIterable(??) collections.abc.AsyncIterator(??) collections.abc.Awaitable(??) collections.abc.ByteString(??) collections.abc.Callable(??) collections.abc.Collection(??) collections.abc.Container(??) collections.abc.Coroutine(??) collections.abc.Generator(??) collections.abc.Hashable(??) collections.abc.ItemsView(??) collections.abc.Iterable(??) collections.abc.Iterator(??) collections.abc.KeysView(??) collections.abc.Mapping(??) collections.abc.MappingView(??) collections.abc.MutableMapping(??) collections.abc.MutableSequence(??) collections.abc.MutableSet(??) collections.abc.Reversible(??) collections.abc.Sequence(??) collections.abc.Set(??) collections.abc.Sized(??) collections.abc.ValuesView(??) collections.defaultdict(default_factory[, ...]) --> dict with default factory collections.deque([iterable[, maxlen]]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(??) compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.importlib(??) compileall.main(??) compileall.os(??) compileall.partial(func, *args, **keywords) - new function with partial application compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(??) concurrent.futures(??) concurrent.futures.ALL_COMPLETED concurrent.futures.BrokenExecutor(??) concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process.BrokenProcessPool(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.Full(??) concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.Queue(??) concurrent.futures.process.atexit(??) concurrent.futures.process.itertools(??) concurrent.futures.process.mp(??) concurrent.futures.process.multiprocessing(??) concurrent.futures.process.os(??) concurrent.futures.process.partial(func, *args, **keywords) - new function with partial application concurrent.futures.process.queue(??) concurrent.futures.process.sys(??) concurrent.futures.process.threading(??) concurrent.futures.process.traceback(??) concurrent.futures.process.weakref(??) concurrent.futures.thread.BrokenThreadPool(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.atexit(??) concurrent.futures.thread.itertools(??) concurrent.futures.thread.os(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.ConverterMapping(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.os(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.AbstractAsyncContextManager(??) contextlib.AbstractContextManager(??) contextlib.AsyncExitStack(??) contextlib.ContextDecorator(??) contextlib.ExitStack(??) contextlib.MethodType(??) contextlib.abc(??) contextlib.asynccontextmanager(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.deque([iterable[, maxlen]]) --> deque object contextlib.nullcontext(??) contextlib.redirect_stderr(??) contextlib.redirect_stdout(??) contextlib.suppress(??) contextlib.sys(??) contextlib.wraps(??) contextvars.Context(??) contextvars.ContextVar(??) contextvars.Token(??) contextvars.copy_context(??) copy.Error(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.METHOD_BLOWFISH(??) crypt.METHOD_CRYPT(??) crypt.METHOD_MD5(??) crypt.METHOD_SHA256(??) crypt.METHOD_SHA512(??) crypt.crypt(??) crypt.methods(??) crypt.mksalt(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib(??) ctypes.macholib.dyld(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(??) ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(??) ctypes.macholib.dyld.combinations_with_replacement(??) ctypes.macholib.dyld.compress(??) ctypes.macholib.dyld.count(??) ctypes.macholib.dyld.cycle(??) ctypes.macholib.dyld.dropwhile(??) ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(??) ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(??) ctypes.macholib.dyld.islice(iterable, stop) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(??) ctypes.macholib.dyld.product(*iterables, repeat=1) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(??) ctypes.macholib.dyld.takewhile(??) ctypes.macholib.dyld.tee(??) ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib(??) ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util(??) ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.shutil(??) ctypes.util.subprocess(??) ctypes.util.sys(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii(??) curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.ncurses_version(??) curses.newpad(??) curses.newwin(nlines, ncols, [begin_y=0, begin_x=0]) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.unget_wch(??) curses.ungetch(??) curses.ungetmouse(??) curses.update_lines_cols(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.window(??) curses.wrapper(??) dataclasses.Field(??) dataclasses.FrozenInstanceError(??) dataclasses.InitVar(??) dataclasses.MISSING(??) dataclasses.asdict(??) dataclasses.astuple(??) dataclasses.builtins(??) dataclasses.copy(??) dataclasses.dataclass(??) dataclasses.field(??) dataclasses.fields(??) dataclasses.functools(??) dataclasses.inspect(??) dataclasses.is_dataclass(??) dataclasses.keyword(??) dataclasses.make_dataclass(??) dataclasses.re(??) dataclasses.replace(??) dataclasses.sys(??) dataclasses.types(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.sys(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(??) dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.FloatOperation(??) decimal.HAVE_THREADS(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.MAX_EMAX decimal.MAX_PREC decimal.MIN_EMIN decimal.MIN_ETINY decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(??) dict() -> new empty dictionary difflib.Differ(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.diff_bytes(??) difflib.get_close_matches(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dir([object]) -> list of strings dis.Bytecode(??) dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.FORMAT_VALUE dis.FORMAT_VALUE_CONVERTERS(??) dis.HAVE_ARGUMENT dis.Instruction(??) dis.MAKE_FUNCTION dis.MAKE_FUNCTION_FLAGS(??) dis.cmp_op(??) dis.code_info(??) dis.collections(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.get_instructions(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.hasnargs(??) dis.io(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.stack_effect(??) dis.sys(??) dis.types(??) divmod(??) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.FAIL_FAST doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) dummy_threading.Barrier(??) dummy_threading.BoundedSemaphore(??) dummy_threading.BrokenBarrierError(??) dummy_threading.Condition(??) dummy_threading.Event(??) dummy_threading.ExceptHookArgs(??) dummy_threading.Lock(??) dummy_threading.RLock(??) dummy_threading.Semaphore(??) dummy_threading.TIMEOUT_MAX dummy_threading.Thread(??) dummy_threading.ThreadError(??) dummy_threading.Timer(??) dummy_threading.active_count(??) dummy_threading.current_thread(??) dummy_threading.enumerate(??) dummy_threading.excepthook(??) dummy_threading.get_ident(??) dummy_threading.local(??) dummy_threading.main_thread(??) dummy_threading.setprofile(??) dummy_threading.settrace(??) dummy_threading.stack_size(??) dummy_threading.threading(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.contentmanager(??) email.contentmanager.ContentManager(??) email.contentmanager.binascii(??) email.contentmanager.email(??) email.contentmanager.get_and_fixup_unknown_message_content(??) email.contentmanager.get_message_content(??) email.contentmanager.get_non_text_content(??) email.contentmanager.get_text_content(??) email.contentmanager.maintype email.contentmanager.quoprimime(??) email.contentmanager.raw_data_manager(??) email.contentmanager.set_bytes_content(??) email.contentmanager.set_message_content(??) email.contentmanager.set_text_content(??) email.contentmanager.subtype email.contentmanager.typ(??) email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.CloseBoundaryNotFoundDefect(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderDefect(??) email.errors.HeaderMissingRequiredValue(??) email.errors.HeaderParseError(??) email.errors.InvalidBase64CharactersDefect(??) email.errors.InvalidBase64LengthDefect(??) email.errors.InvalidBase64PaddingDefect(??) email.errors.InvalidHeaderDefect(??) email.errors.InvalidMultipartContentTransferEncodingDefect(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MissingHeaderBodySeparatorDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.NonASCIILocalPartDefect(??) email.errors.NonPrintableDefect(??) email.errors.ObsoleteHeaderDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.errors.UndecodableBytesDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.StringIO(??) email.feedparser.compat32(??) email.feedparser.deque([iterable[, maxlen]]) --> deque object email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.re(??) email.generator(??) email.generator.BytesGenerator(??) email.generator.BytesIO(??) email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.NL email.generator.NLCRE(??) email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.deepcopy(??) email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.FWS email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.headerregistry(??) email.headerregistry.Address(??) email.headerregistry.AddressHeader(??) email.headerregistry.BaseHeader(??) email.headerregistry.ContentDispositionHeader(??) email.headerregistry.ContentTransferEncodingHeader(??) email.headerregistry.ContentTypeHeader(??) email.headerregistry.DateHeader(??) email.headerregistry.Group(??) email.headerregistry.HeaderRegistry(??) email.headerregistry.MIMEVersionHeader(??) email.headerregistry.MappingProxyType(??) email.headerregistry.ParameterizedMIMEHeader(??) email.headerregistry.SingleAddressHeader(??) email.headerregistry.UniqueAddressHeader(??) email.headerregistry.UniqueDateHeader(??) email.headerregistry.UniqueSingleAddressHeader(??) email.headerregistry.UniqueUnstructuredHeader(??) email.headerregistry.UnstructuredHeader(??) email.headerregistry.errors(??) email.headerregistry.parser(??) email.headerregistry.utils(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO(??) email.message.Charset(??) email.message.EmailMessage(??) email.message.MIMEPart(??) email.message.Message(??) email.message.Policy(??) email.message.SEMISPACE email.message.StringIO(??) email.message.compat32(??) email.message.decode_b(??) email.message.errors(??) email.message.quopri(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio.BytesIO(??) email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base(??) email.mime.base.MIMEBase(??) email.mime.base.email(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text.Charset(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.parser(??) email.parser.BytesFeedParser(??) email.parser.BytesHeaderParser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.compat32(??) email.policy(??) email.policy.Compat32(??) email.policy.EmailMessage(??) email.policy.EmailPolicy(??) email.policy.HTTP(??) email.policy.HeaderRegistry(??) email.policy.Policy(??) email.policy.SMTP(??) email.policy.SMTPUTF8(??) email.policy.compat32(??) email.policy.default(??) email.policy.linesep_splitter(??) email.policy.raw_data_manager(??) email.policy.re(??) email.policy.strict(??) email.policy.sys(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.Charset(??) email.utils.EMPTYSTRING email.utils.TICK email.utils.UEMPTYSTRING email.utils.collapse_rfc2231_value(??) email.utils.datetime(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.format_datetime(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.localtime(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_to_datetime(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) ensurepip.bootstrap(??) ensurepip.os(??) ensurepip.pkgutil(??) ensurepip.sys(??) ensurepip.tempfile(??) ensurepip.version(??) enum.DynamicClassAttribute(??) enum.Enum(??) enum.EnumMeta(??) enum.Flag(??) enum.IntEnum(??) enum.IntFlag(??) enum.MappingProxyType(??) enum.auto(??) enum.sys(??) enum.unique(??) enumerate(??) errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EAUTH errno.EBADARCH errno.EBADEXEC errno.EBADF errno.EBADMACHO errno.EBADMSG errno.EBADRPC errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDESTADDRREQ errno.EDEVERR errno.EDOM errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EFTYPE errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENEEDAUTH errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOATTR errno.ENOBUFS errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENOPOLICY errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTRECOVERABLE errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EOWNERDEAD errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROCLIM errno.EPROCUNAVAIL errno.EPROGMISMATCH errno.EPROGUNAVAIL errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.EPWROFF errno.ERANGE errno.EREMOTE errno.EROFS errno.ERPCMISMATCH errno.ESHLIBVERS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESTALE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.errorcode(??) eval(??) exec(??) exit(??) faulthandler.cancel_dump_traceback_later(): faulthandler.disable(): disable the fault handler faulthandler.dump_traceback(file=sys.stderr, all_threads=True): dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False): faulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler faulthandler.is_enabled()->bool: check if the handler is enabled faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False): register a handler for the signal 'signum': dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register() filecmp.BUFSIZE filecmp.DEFAULT_IGNORES(??) filecmp.clear_cache(??) filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(??) filecmp.os(??) filecmp.stat(??) fileinput.FileInput([files[, inplace[, backup]]], *, mode=None, openhook=None) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(??) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(??) fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(??) formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) formatter.warnings(??) fractions.Decimal(??) fractions.Fraction(??) fractions.gcd(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MAXLINE ftplib.MSG_OOB ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) functools.RLock(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.cached_property(??) functools.cmp_to_key(??) functools.get_cache_token(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.partialmethod(??) functools.recursive_repr(??) functools.reduce(function, sequence[, initial]) -> value functools.singledispatch(??) functools.singledispatchmethod(??) functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.callbacks(??) gc.collect(??) gc.disable(??) gc.enable(??) gc.freeze(??) gc.garbage(??) gc.get_count(??) gc.get_debug(??) gc.get_freeze_count(??) gc.get_objects(??) gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_stats(??) gc.get_threshold(??) gc.is_tracked(??) gc.isenabled(??) gc.set_debug(??) gc.set_threshold(threshold0, [threshold1, threshold2]) -> None gc.unfreeze(??) genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.samefile(??) genericpath.sameopenfile(??) genericpath.samestat(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.contextlib(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.io(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.dgettext(??) gettext.dngettext(??) gettext.dnpgettext(??) gettext.dpgettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.locale(??) gettext.ngettext(??) gettext.npgettext(??) gettext.os(??) gettext.pgettext(??) gettext.re(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.escape(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) globals(??) gzip.BadGzipFile(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.main(??) gzip.open(??) gzip.os(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(??) hash(??) hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.blake2b(??) hashlib.blake2s(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.pbkdf2_hmac(??) hashlib.scrypt(??) hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha3_224([data]) -> SHA3 object hashlib.sha3_256([data]) -> SHA3 object hashlib.sha3_384([data]) -> SHA3 object hashlib.sha3_512([data]) -> SHA3 object hashlib.sha512(??) hashlib.shake_128([data]) -> SHAKE object hashlib.shake_256([data]) -> SHAKE object heapq.heapify(??) heapq.heappop(??) heapq.heappush(??) heapq.heappushpop(??) heapq.heapreplace(??) heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) help(??) hex(??) hmac.HMAC(??) hmac.compare_digest(??) hmac.digest(??) hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities(??) html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.html5(??) html.entities.name2codepoint(??) html.escape(??) html.parser.HTMLParser(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_normal(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind_tolerant(??) html.parser.unescape(??) html.parser.warnings(??) html.unescape(??) http.HTTPStatus(??) http.IntEnum(??) http.client(??) http.client.ACCEPTED(??) http.client.ALREADY_REPORTED(??) http.client.BAD_GATEWAY(??) http.client.BAD_REQUEST(??) http.client.BadStatusLine(??) http.client.CONFLICT(??) http.client.CONTINUE(??) http.client.CREATED(??) http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EXPECTATION_FAILED(??) http.client.FAILED_DEPENDENCY(??) http.client.FORBIDDEN(??) http.client.FOUND(??) http.client.GATEWAY_TIMEOUT(??) http.client.GONE(??) http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED(??) http.client.IM_USED(??) http.client.INSUFFICIENT_STORAGE(??) http.client.INTERNAL_SERVER_ERROR(??) http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED(??) http.client.LOCKED(??) http.client.LOOP_DETECTED(??) http.client.LineTooLong(??) http.client.METHOD_NOT_ALLOWED(??) http.client.MISDIRECTED_REQUEST(??) http.client.MOVED_PERMANENTLY(??) http.client.MULTIPLE_CHOICES(??) http.client.MULTI_STATUS(??) http.client.NETWORK_AUTHENTICATION_REQUIRED(??) http.client.NON_AUTHORITATIVE_INFORMATION(??) http.client.NOT_ACCEPTABLE(??) http.client.NOT_EXTENDED(??) http.client.NOT_FOUND(??) http.client.NOT_IMPLEMENTED(??) http.client.NOT_MODIFIED(??) http.client.NO_CONTENT(??) http.client.NotConnected(??) http.client.OK(??) http.client.PARTIAL_CONTENT(??) http.client.PAYMENT_REQUIRED(??) http.client.PERMANENT_REDIRECT(??) http.client.PRECONDITION_FAILED(??) http.client.PRECONDITION_REQUIRED(??) http.client.PROCESSING(??) http.client.PROXY_AUTHENTICATION_REQUIRED(??) http.client.REQUESTED_RANGE_NOT_SATISFIABLE(??) http.client.REQUEST_ENTITY_TOO_LARGE(??) http.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??) http.client.REQUEST_TIMEOUT(??) http.client.REQUEST_URI_TOO_LONG(??) http.client.RESET_CONTENT(??) http.client.RemoteDisconnected(??) http.client.ResponseNotReady(??) http.client.SEE_OTHER(??) http.client.SERVICE_UNAVAILABLE(??) http.client.SWITCHING_PROTOCOLS(??) http.client.TEMPORARY_REDIRECT(??) http.client.TOO_MANY_REQUESTS(??) http.client.UNAUTHORIZED(??) http.client.UNPROCESSABLE_ENTITY(??) http.client.UNSUPPORTED_MEDIA_TYPE(??) http.client.UPGRADE_REQUIRED(??) http.client.USE_PROXY(??) http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.VARIANT_ALSO_NEGOTIATES(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.http(??) http.client.io(??) http.client.parse_headers(??) http.client.re(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.datetime(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.os(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.server(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.HTTPStatus(??) http.server.SimpleHTTPRequestHandler(??) http.server.ThreadingHTTPServer(??) http.server.copy(??) http.server.datetime(??) http.server.email(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.partial(func, *args, **keywords) - new function with partial application http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(??) imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.DEFAULT_BUFFER_SIZE imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.Months(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.calendar(??) imaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imaplib.timedelta(??) imaplib.timezone(??) imghdr.PathLike(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exr(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_webp(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.SourcelessFileLoader(??) imp.acquire_lock(??) imp.cache_from_source(??) imp.create_dynamic(??) imp.find_module(??) imp.get_frozen_object(??) imp.get_magic(??) imp.get_suffixes(??) imp.get_tag(??) imp.importlib(??) imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(??) imp.load_package(??) imp.load_source(??) imp.lock_held(??) imp.machinery(??) imp.new_module(??) imp.os(??) imp.release_lock(??) imp.reload(??) imp.source_from_cache(??) imp.sys(??) imp.tokenize(??) imp.types(??) imp.util(??) imp.warnings(??) importlib.abc(??) importlib.abc.ExecutionLoader(??) importlib.abc.FileLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.MetaPathFinder(??) importlib.abc.PathEntryFinder(??) importlib.abc.ResourceLoader(??) importlib.abc.ResourceReader(??) importlib.abc.SourceLoader(??) importlib.abc.abc(??) importlib.abc.machinery(??) importlib.abc.warnings(??) importlib.find_loader(??) importlib.import_module(??) importlib.invalidate_caches(??) importlib.machinery(??) importlib.machinery.BYTECODE_SUFFIXES(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.DEBUG_BYTECODE_SUFFIXES(??) importlib.machinery.EXTENSION_SUFFIXES(??) importlib.machinery.ExtensionFileLoader(??) importlib.machinery.FileFinder(??) importlib.machinery.FrozenImporter(??) importlib.machinery.ModuleSpec(??) importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??) importlib.machinery.PathFinder(??) importlib.machinery.SOURCE_SUFFIXES(??) importlib.machinery.SourceFileLoader(??) importlib.machinery.SourcelessFileLoader(??) importlib.machinery.WindowsRegistryFinder(??) importlib.machinery.all_suffixes(??) importlib.metadata.ConfigParser(??) importlib.metadata.Distribution(??) importlib.metadata.DistributionFinder(??) importlib.metadata.EntryPoint(??) importlib.metadata.FileHash(??) importlib.metadata.MetaPathFinder(??) importlib.metadata.PackageNotFoundError(??) importlib.metadata.PackagePath(??) importlib.metadata.PathDistribution(??) importlib.metadata.abc(??) importlib.metadata.collections(??) importlib.metadata.csv(??) importlib.metadata.distribution(??) importlib.metadata.distributions(??) importlib.metadata.email(??) importlib.metadata.entry_points(??) importlib.metadata.files(??) importlib.metadata.functools(??) importlib.metadata.import_module(??) importlib.metadata.io(??) importlib.metadata.itertools(??) importlib.metadata.metadata(??) importlib.metadata.operator(??) importlib.metadata.pathlib(??) importlib.metadata.re(??) importlib.metadata.requires(??) importlib.metadata.starmap(??) importlib.metadata.suppress(??) importlib.metadata.sys(??) importlib.metadata.version(??) importlib.reload(??) importlib.resources.BinaryIO(??) importlib.resources.BytesIO(??) importlib.resources.Iterable(??) importlib.resources.Iterator(??) importlib.resources.ModuleType(??) importlib.resources.Optional(??) importlib.resources.Package(??) importlib.resources.Path(??) importlib.resources.Resource(??) importlib.resources.ResourceLoader(??) importlib.resources.Set(??) importlib.resources.TextIO(??) importlib.resources.TextIOWrapper(??) importlib.resources.Union(??) importlib.resources.ZipImportError(??) importlib.resources.cast(??) importlib.resources.contents(??) importlib.resources.contextmanager(??) importlib.resources.import_module(??) importlib.resources.is_resource(??) importlib.resources.open_binary(??) importlib.resources.open_text(??) importlib.resources.os(??) importlib.resources.path(??) importlib.resources.read_binary(??) importlib.resources.read_text(??) importlib.resources.resources_abc(??) importlib.resources.suppress(??) importlib.resources.tempfile(??) importlib.sys(??) importlib.types(??) importlib.util(??) importlib.util.LazyLoader(??) importlib.util.MAGIC_NUMBER importlib.util.abc(??) importlib.util.cache_from_source(??) importlib.util.contextmanager(??) importlib.util.decode_source(??) importlib.util.find_spec(??) importlib.util.functools(??) importlib.util.module_for_loader(??) importlib.util.module_from_spec(??) importlib.util.resolve_name(??) importlib.util.set_loader(??) importlib.util.set_package(??) importlib.util.source_from_cache(??) importlib.util.source_hash(??) importlib.util.spec_from_file_location(??) importlib.util.spec_from_loader(??) importlib.util.sys(??) importlib.util.types(??) importlib.util.warnings(??) importlib.warnings(??) input(??) inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.BoundArguments(??) inspect.CORO_CLOSED inspect.CORO_CREATED inspect.CORO_RUNNING inspect.CORO_SUSPENDED inspect.CO_ASYNC_GENERATOR inspect.CO_COROUTINE inspect.CO_GENERATOR inspect.CO_ITERABLE_COROUTINE inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.ClosureVars(nonlocals, globals, builtins, unbound) inspect.EndOfBlock(??) inspect.FrameInfo(frame, filename, lineno, function, code_context, index) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.OrderedDict(??) inspect.Parameter(??) inspect.Signature(??) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.abc(??) inspect.attrgetter(attr, ...) --> attrgetter object inspect.builtins(??) inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.collections(??) inspect.currentframe(??) inspect.dis(??) inspect.enum(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.functools(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getclosurevars(??) inspect.getcomments(??) inspect.getcoroutinelocals(??) inspect.getcoroutinestate(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorlocals(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.importlib(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isasyncgen(??) inspect.isasyncgenfunction(??) inspect.isawaitable(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.iscoroutine(??) inspect.iscoroutinefunction(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.signature(??) inspect.stack(??) inspect.sys(??) inspect.token(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.unwrap(??) inspect.v inspect.walktree(??) inspect.warnings(??) int([x]) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO(??) io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) io.open_code(??) ipaddress.AddressValueError(??) ipaddress.IPV4LENGTH ipaddress.IPV6LENGTH ipaddress.IPv4Address(??) ipaddress.IPv4Interface(??) ipaddress.IPv4Network(??) ipaddress.IPv6Address(??) ipaddress.IPv6Interface(??) ipaddress.IPv6Network(??) ipaddress.NetmaskValueError(??) ipaddress.collapse_addresses(??) ipaddress.functools(??) ipaddress.get_mixed_type_key(??) ipaddress.ip_address(??) ipaddress.ip_interface(??) ipaddress.ip_network(??) ipaddress.summarize_address_range(??) ipaddress.v4_int_to_packed(??) ipaddress.v6_int_to_packed(??) isinstance(??) issubclass(??) iter(iterable) -> iterator itertools.accumulate(??) itertools.chain(*iterables) --> chain object itertools.combinations(??) itertools.combinations_with_replacement(??) itertools.compress(??) itertools.count(??) itertools.cycle(??) itertools.dropwhile(??) itertools.filterfalse(??) itertools.groupby(??) itertools.islice(iterable, stop) --> islice object itertools.permutations(??) itertools.product(*iterables, repeat=1) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(??) itertools.takewhile(??) itertools.tee(??) itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecodeError(??) json.JSONDecoder(??) json.JSONEncoder(??) json.codecs(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS(??) json.decoder.JSONArray(??) json.decoder.JSONDecodeError(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.c_scanstring(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanner(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.detect_encoding(??) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(string) -> string json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring(??) json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.argparse(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.kwlist(??) len(??) license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.functools(??) linecache.getline(??) linecache.getlines(??) linecache.lazycache(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list(??) locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.currency(??) locale.delocalize(??) locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.k locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.v locale.windows_locale(??) locals(??) logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.collections(??) logging.config(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingMixin(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.errno(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.re(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.threading(??) logging.config.traceback(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.copy(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.queue(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.threading(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing(??) logging.logProcesses(??) logging.logThreads(??) logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions(??) logging.re(??) logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) lzma.CHECK_CRC32 lzma.CHECK_CRC64 lzma.CHECK_ID_MAX lzma.CHECK_NONE lzma.CHECK_SHA256 lzma.CHECK_UNKNOWN lzma.FILTER_ARM lzma.FILTER_ARMTHUMB lzma.FILTER_DELTA lzma.FILTER_IA64 lzma.FILTER_LZMA1 lzma.FILTER_LZMA2 lzma.FILTER_POWERPC lzma.FILTER_SPARC lzma.FILTER_X86 lzma.FORMAT_ALONE lzma.FORMAT_AUTO lzma.FORMAT_RAW lzma.FORMAT_XZ lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None) lzma.LZMADecompressor(??) lzma.LZMAError(??) lzma.LZMAFile(??) lzma.MF_BT2 lzma.MF_BT3 lzma.MF_BT4 lzma.MF_HC3 lzma.MF_HC4 lzma.MODE_FAST lzma.MODE_NORMAL lzma.PRESET_DEFAULT lzma.PRESET_EXTREME lzma.builtins(??) lzma.compress(??) lzma.decompress(??) lzma.io(??) lzma.is_check_supported(??) lzma.open(??) lzma.os(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.contextlib(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.lineno_sort_key(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) mailcap.warnings(??) map(func, *iterables) --> map object marshal.dump(??) marshal.dumps(??) marshal.load(??) marshal.loads(??) marshal.version max(iterable, *[, default=obj, key=func]) -> value memoryview(??) mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable, *[, default=obj, key=func]) -> value modulefinder.AddPackagePath(??) modulefinder.EXTENDED_ARG modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.importlib(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.sys(??) modulefinder.test(??) modulefinder.types(??) modulefinder.warnings(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.Barrier(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.SimpleQueue(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.BufferTooShort(??) multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.Connection(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.families(??) multiprocessing.connection.io(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.rebuild_connection(??) multiprocessing.connection.reduce_connection(??) multiprocessing.connection.reduction(??) multiprocessing.connection.selectors(??) multiprocessing.connection.socket(??) multiprocessing.connection.struct(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.connection.util(??) multiprocessing.connection.wait(??) multiprocessing.context(??) multiprocessing.context.AuthenticationError(??) multiprocessing.context.BaseContext(??) multiprocessing.context.BufferTooShort(??) multiprocessing.context.DefaultContext(??) multiprocessing.context.ForkContext(??) multiprocessing.context.ForkProcess(??) multiprocessing.context.ForkServerContext(??) multiprocessing.context.ForkServerProcess(??) multiprocessing.context.Process(??) multiprocessing.context.ProcessError(??) multiprocessing.context.SpawnContext(??) multiprocessing.context.SpawnProcess(??) multiprocessing.context.TimeoutError(??) multiprocessing.context.assert_spawning(??) multiprocessing.context.get_spawning_popen(??) multiprocessing.context.os(??) multiprocessing.context.process(??) multiprocessing.context.reduction(??) multiprocessing.context.set_spawning_popen(??) multiprocessing.context.sys(??) multiprocessing.context.threading(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.Barrier(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.list(??) multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forkserver.ForkServer(??) multiprocessing.forkserver.MAXFDS_TO_SEND multiprocessing.forkserver.SIGNED_STRUCT(??) multiprocessing.forkserver.connect_to_new_process(??) multiprocessing.forkserver.connection(??) multiprocessing.forkserver.ensure_running(??) multiprocessing.forkserver.errno(??) multiprocessing.forkserver.get_inherited_fds(??) multiprocessing.forkserver.main(??) multiprocessing.forkserver.os(??) multiprocessing.forkserver.process(??) multiprocessing.forkserver.read_signed(??) multiprocessing.forkserver.reduction(??) multiprocessing.forkserver.resource_tracker(??) multiprocessing.forkserver.selectors(??) multiprocessing.forkserver.set_forkserver_preload(??) multiprocessing.forkserver.signal(??) multiprocessing.forkserver.socket(??) multiprocessing.forkserver.spawn(??) multiprocessing.forkserver.struct(??) multiprocessing.forkserver.sys(??) multiprocessing.forkserver.threading(??) multiprocessing.forkserver.util(??) multiprocessing.forkserver.warnings(??) multiprocessing.forkserver.write_signed(??) multiprocessing.freeze_support(??) multiprocessing.get_all_start_methods(??) multiprocessing.get_context(??) multiprocessing.get_logger(??) multiprocessing.get_start_method(??) multiprocessing.heap(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Heap(??) multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect(??) multiprocessing.heap.defaultdict(default_factory[, ...]) --> dict with default factory multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.rebuild_arena(??) multiprocessing.heap.reduce_arena(??) multiprocessing.heap.reduction(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.heap.util(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BarrierProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BasePoolProxy(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.HAS_SHMEM(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.ProcessError(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.SharedMemoryManager(??) multiprocessing.managers.SharedMemoryServer(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.connection(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.get_context(??) multiprocessing.managers.get_spawning_popen(??) multiprocessing.managers.getpid(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.os(??) multiprocessing.managers.pool(??) multiprocessing.managers.process(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.reduction(??) multiprocessing.managers.shared_memory(??) multiprocessing.managers.signal(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.time(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.parent_process(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.AsyncResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.Empty(??) multiprocessing.pool.ExceptionWithTraceback(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.INIT multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.RUN multiprocessing.pool.RemoteTraceback(??) multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.get_context(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.os(??) multiprocessing.pool.queue(??) multiprocessing.pool.rebuild_exc(??) multiprocessing.pool.starmapstar(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.traceback(??) multiprocessing.pool.util(??) multiprocessing.pool.wait(??) multiprocessing.pool.warnings(??) multiprocessing.pool.worker(??) multiprocessing.popen_fork.Popen(??) multiprocessing.popen_fork.os(??) multiprocessing.popen_fork.signal(??) multiprocessing.popen_fork.util(??) multiprocessing.popen_forkserver.Popen(??) multiprocessing.popen_forkserver.forkserver(??) multiprocessing.popen_forkserver.io(??) multiprocessing.popen_forkserver.os(??) multiprocessing.popen_forkserver.popen_fork(??) multiprocessing.popen_forkserver.reduction(??) multiprocessing.popen_forkserver.set_spawning_popen(??) multiprocessing.popen_forkserver.spawn(??) multiprocessing.popen_forkserver.util(??) multiprocessing.popen_spawn_posix.Popen(??) multiprocessing.popen_spawn_posix.io(??) multiprocessing.popen_spawn_posix.os(??) multiprocessing.popen_spawn_posix.popen_fork(??) multiprocessing.popen_spawn_posix.reduction(??) multiprocessing.popen_spawn_posix.set_spawning_popen(??) multiprocessing.popen_spawn_posix.spawn(??) multiprocessing.popen_spawn_posix.util(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.BaseProcess(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.WeakSet(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.parent_process(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.process.threading(??) multiprocessing.queues(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Queue(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.collections(??) multiprocessing.queues.connection(??) multiprocessing.queues.context(??) multiprocessing.queues.debug(??) multiprocessing.queues.errno(??) multiprocessing.queues.info(??) multiprocessing.queues.is_exiting(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.weakref(??) multiprocessing.reducer(??) multiprocessing.reduction(??) multiprocessing.reduction.ABCMeta(??) multiprocessing.reduction.ACKNOWLEDGE(??) multiprocessing.reduction.AbstractReducer(??) multiprocessing.reduction.DupFd(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.HAVE_SEND_HANDLE(??) multiprocessing.reduction.array(??) multiprocessing.reduction.context(??) multiprocessing.reduction.copyreg(??) multiprocessing.reduction.dump(??) multiprocessing.reduction.functools(??) multiprocessing.reduction.io(??) multiprocessing.reduction.os(??) multiprocessing.reduction.pickle(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.recvfds(??) multiprocessing.reduction.register(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.sendfds(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sys(??) multiprocessing.resource_sharer.DupFd(??) multiprocessing.resource_sharer.os(??) multiprocessing.resource_sharer.process(??) multiprocessing.resource_sharer.reduction(??) multiprocessing.resource_sharer.signal(??) multiprocessing.resource_sharer.socket(??) multiprocessing.resource_sharer.stop(??) multiprocessing.resource_sharer.sys(??) multiprocessing.resource_sharer.threading(??) multiprocessing.resource_sharer.util(??) multiprocessing.resource_tracker(??) multiprocessing.resource_tracker.ResourceTracker(??) multiprocessing.resource_tracker.ensure_running(??) multiprocessing.resource_tracker.getfd(??) multiprocessing.resource_tracker.main(??) multiprocessing.resource_tracker.os(??) multiprocessing.resource_tracker.register(??) multiprocessing.resource_tracker.signal(??) multiprocessing.resource_tracker.spawn(??) multiprocessing.resource_tracker.sys(??) multiprocessing.resource_tracker.threading(??) multiprocessing.resource_tracker.unregister(??) multiprocessing.resource_tracker.util(??) multiprocessing.resource_tracker.warnings(??) multiprocessing.set_executable(??) multiprocessing.set_forkserver_preload(??) multiprocessing.set_start_method(??) multiprocessing.shared_memory(??) multiprocessing.shared_memory.ShareableList(??) multiprocessing.shared_memory.SharedMemory(??) multiprocessing.shared_memory.errno(??) multiprocessing.shared_memory.mmap(??) multiprocessing.shared_memory.os(??) multiprocessing.shared_memory.partial(func, *args, **keywords) - new function with partial application multiprocessing.shared_memory.secrets(??) multiprocessing.shared_memory.struct(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.get_context(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.reduction(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.spawn(??) multiprocessing.spawn.WINEXE(??) multiprocessing.spawn.WINSERVICE(??) multiprocessing.spawn.freeze_support(??) multiprocessing.spawn.get_command_line(??) multiprocessing.spawn.get_executable(??) multiprocessing.spawn.get_preparation_data(??) multiprocessing.spawn.get_start_method(??) multiprocessing.spawn.import_main_path(??) multiprocessing.spawn.is_forking(??) multiprocessing.spawn.old_main_modules(??) multiprocessing.spawn.os(??) multiprocessing.spawn.prepare(??) multiprocessing.spawn.process(??) multiprocessing.spawn.reduction(??) multiprocessing.spawn.runpy(??) multiprocessing.spawn.set_executable(??) multiprocessing.spawn.set_start_method(??) multiprocessing.spawn.spawn_main(??) multiprocessing.spawn.sys(??) multiprocessing.spawn.types(??) multiprocessing.spawn.util(??) multiprocessing.synchronize.Barrier(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.context(??) multiprocessing.synchronize.process(??) multiprocessing.synchronize.sem_unlink(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.tempfile(??) multiprocessing.synchronize.threading(??) multiprocessing.synchronize.time(??) multiprocessing.synchronize.util(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.MAXFD multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.atexit(??) multiprocessing.util.close_all_fds_except(??) multiprocessing.util.close_fds(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.os(??) multiprocessing.util.process(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.spawnv_passfds(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.sys(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) netrc.stat(??) next(iterator[, default]) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.warnings(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) object(??) oct(??) open(??) operator.abs(??) operator.add(??) operator.and_(??) operator.attrgetter(attr, ...) --> attrgetter object operator.concat(??) operator.contains(??) operator.countOf(??) operator.delitem(??) operator.eq(??) operator.floordiv(??) operator.ge(??) operator.getitem(??) operator.gt(??) operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imatmul(??) operator.imod(??) operator.imul(??) operator.index(??) operator.indexOf(??) operator.inv(??) operator.invert(??) operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(??) operator.is_not(??) operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(??) operator.length_hint(??) operator.lshift(??) operator.lt(??) operator.matmul(??) operator.methodcaller(name, ...) --> methodcaller object operator.mod(??) operator.mul(??) operator.ne(??) operator.neg(??) operator.not_(??) operator.or_(??) operator.pos(??) operator.pow(??) operator.rshift(??) operator.setitem(??) operator.sub(??) operator.truediv(??) operator.truth(??) operator.xor(??) optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.ngettext(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(??) os.CLD_CONTINUED os.CLD_DUMPED os.CLD_EXITED os.CLD_TRAPPED os.DirEntry(??) os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_LOCK os.F_OK os.F_TEST os.F_TLOCK os.F_ULOCK os.MutableMapping(??) os.NGROUPS_MAX os.O_ACCMODE os.O_APPEND os.O_ASYNC os.O_CLOEXEC os.O_CREAT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_EXLOCK os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_SHLOCK os.O_SYNC os.O_TRUNC os.O_WRONLY os.POSIX_SPAWN_CLOSE os.POSIX_SPAWN_DUP2 os.POSIX_SPAWN_OPEN os.PRIO_PGRP os.PRIO_PROCESS os.PRIO_USER os.P_ALL os.P_NOWAIT os.P_NOWAITO os.P_PGID os.P_PID os.P_WAIT os.PathLike(??) os.RTLD_GLOBAL os.RTLD_LAZY os.RTLD_LOCAL os.RTLD_NODELETE os.RTLD_NOLOAD os.RTLD_NOW os.R_OK os.SCHED_FIFO os.SCHED_OTHER os.SCHED_RR os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(??) os.WEXITED os.WEXITSTATUS(??) os.WIFCONTINUED(??) os.WIFEXITED(??) os.WIFSIGNALED(??) os.WIFSTOPPED(??) os.WNOHANG os.WNOWAIT os.WSTOPPED os.WSTOPSIG(??) os.WTERMSIG(??) os.WUNTRACED os.W_OK os.X_OK os.abc(??) os.abort(??) os.access(??) os.altsep(??) os.chdir(??) os.chflags(??) os.chmod(??) os.chown(??) os.chroot(??) os.close(??) os.closerange(??) os.confstr(??) os.confstr_names(??) os.cpu_count(??) os.ctermid(??) os.curdir os.defpath os.device_encoding(??) os.devnull os.dup(??) os.dup2(??) os.environ(??) os.environb(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(??) os.execve(??) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(??) os.fchmod(??) os.fchown(??) os.fdopen(??) os.fork(??) os.forkpty(??) os.fpathconf(??) os.fsdecode(??) os.fsencode(??) os.fspath(??) os.fstat(??) os.fstatvfs(??) os.fsync(??) os.ftruncate(??) os.get_blocking(??) os.get_exec_path(??) os.get_inheritable(??) os.get_terminal_size(??) os.getcwd(??) os.getcwdb(??) os.getegid(??) os.getenv(??) os.getenvb(??) os.geteuid(??) os.getgid(??) os.getgrouplist(user, group) -> list of groups to which a user belongs os.getgroups(??) os.getloadavg(??) os.getlogin(??) os.getpgid(??) os.getpgrp(??) os.getpid(??) os.getppid(??) os.getpriority(??) os.getsid(??) os.getuid(??) os.initgroups(username, gid) -> None os.isatty(??) os.kill(??) os.killpg(??) os.lchflags(??) os.lchmod(??) os.lchown(??) os.linesep os.link(??) os.listdir(??) os.lockf(??) os.lseek(??) os.lstat(??) os.major(??) os.makedev(??) os.makedirs(name [, mode=0o777][, exist_ok=False]) os.minor(??) os.mkdir(??) os.mkfifo(??) os.mknod(??) os.name os.nice(??) os.open(??) os.openpty(??) os.pardir os.path(??) os.pathconf(??) os.pathconf_names(??) os.pathsep os.pipe(??) os.popen(??) os.posix_spawn(??) os.posix_spawnp(??) os.pread(??) os.putenv(??) os.pwrite(??) os.read(??) os.readlink(??) os.readv(??) os.register_at_fork(??) os.remove(??) os.removedirs(name) os.rename(??) os.renames(old, new) os.replace(??) os.rmdir(??) os.scandir(??) os.sched_get_priority_max(??) os.sched_get_priority_min(??) os.sched_yield(??) os.sendfile(out, in, offset, count) -> byteswritten os.sep os.set_blocking(??) os.set_inheritable(??) os.setegid(??) os.seteuid(??) os.setgid(??) os.setgroups(??) os.setpgid(??) os.setpgrp(??) os.setpriority(??) os.setregid(??) os.setreuid(??) os.setsid(??) os.setuid(??) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.st(??) os.stat(??) os.stat_result(??) os.statvfs(??) os.statvfs_result(??) os.strerror(??) os.supports_bytes_environ(??) os.supports_dir_fd(??) os.supports_effective_ids(??) os.supports_fd(??) os.supports_follow_symlinks(??) os.symlink(??) os.sync(??) os.sys(??) os.sysconf(??) os.sysconf_names(??) os.system(??) os.tcgetpgrp(??) os.tcsetpgrp(??) os.terminal_size(??) os.times(??) os.times_result(??) os.truncate(??) os.ttyname(??) os.umask(??) os.uname(??) os.uname_result(??) os.unlink(??) os.unsetenv(??) os.urandom(??) os.utime(??) os.wait(??) os.wait3(??) os.wait4(??) os.waitpid(??) os.walk(??) os.write(??) os.writev(??) pathlib.EBADF pathlib.EINVAL pathlib.ELOOP pathlib.ENOENT pathlib.ENOTDIR pathlib.Path(??) pathlib.PosixPath(??) pathlib.PurePath(??) pathlib.PurePosixPath(??) pathlib.PureWindowsPath(??) pathlib.S_ISBLK(mode) -> bool pathlib.S_ISCHR(mode) -> bool pathlib.S_ISDIR(mode) -> bool pathlib.S_ISFIFO(mode) -> bool pathlib.S_ISLNK(mode) -> bool pathlib.S_ISREG(mode) -> bool pathlib.S_ISSOCK(mode) -> bool pathlib.Sequence(??) pathlib.WindowsPath(??) pathlib.attrgetter(attr, ...) --> attrgetter object pathlib.fnmatch(??) pathlib.functools(??) pathlib.io(??) pathlib.nt(??) pathlib.ntpath(??) pathlib.os(??) pathlib.posixpath(??) pathlib.re(??) pathlib.supports_symlinks(??) pathlib.sys(??) pathlib.urlquote_from_bytes(??) pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.glob(??) pdb.help(??) pdb.inspect(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.traceback(??) pickle.ADDITEMS pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINBYTES8 pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BINUNICODE8 pickle.BUILD pickle.BYTEARRAY8 pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_SET pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FRAME pickle.FROZENSET pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.MEMOIZE pickle.NEWFALSE pickle.NEWOBJ pickle.NEWOBJ_EX pickle.NEWTRUE pickle.NEXT_BUFFER pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleBuffer(??) pickle.PickleError(??) pickle.Pickler(??) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.READONLY_BUFFER pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.SHORT_BINUNICODE pickle.STACK_GLOBAL pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(??) pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.islice(iterable, stop) --> islice object pickle.load(??) pickle.loads(??) pickle.maxsize pickle.pack(format, v1, v2, ...) -> bytes pickle.partial(func, *args, **keywords) - new function with partial application pickle.re(??) pickle.sys(??) pickle.unpack(??) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.TAKEN_FROM_ARGUMENT4U pickletools.TAKEN_FROM_ARGUMENT8U pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytearray8(??) pickletools.bytes1(??) pickletools.bytes4(??) pickletools.bytes8(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.io(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybuffer(??) pickletools.pybytearray(??) pickletools.pybytes(??) pickletools.pybytes_or_str(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyfrozenset(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pyset(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_bytearray8(??) pickletools.read_bytes1(??) pickletools.read_bytes4(??) pickletools.read_bytes8(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_uint4(??) pickletools.read_uint8(??) pickletools.read_unicodestring1(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestring8(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.sys(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.uint4(??) pickletools.uint8(??) pickletools.unicodestring1(??) pickletools.unicodestring4(??) pickletools.unicodestring8(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleInfo(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.importlib(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.namedtuple(??) pkgutil.os(??) pkgutil.read_code(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.warnings(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.architecture(??) platform.collections(??) platform.java_ver(??) platform.libc_ver(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.uname_result(system, node, release, version, machine, processor) platform.version(??) platform.win32_edition(??) platform.win32_is_iot(??) platform.win32_ver(??) plistlib.BytesIO(??) plistlib.Data(??) plistlib.FMT_BINARY(??) plistlib.FMT_XML(??) plistlib.InvalidFileException(??) plistlib.PLISTHEADER plistlib.ParserCreate(??) plistlib.PlistFormat(??) plistlib.UID(??) plistlib.binascii(??) plistlib.codecs(??) plistlib.contextlib(??) plistlib.datetime(??) plistlib.dump(??) plistlib.dumps(??) plistlib.enum(??) plistlib.itertools(??) plistlib.load(??) plistlib.loads(??) plistlib.os(??) plistlib.re(??) plistlib.readPlist(??) plistlib.readPlistFromBytes(??) plistlib.struct(??) plistlib.warn(??) plistlib.writePlist(??) plistlib.writePlistToBytes(??) poplib.CR poplib.CRLF poplib.HAVE_SSL(??) poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.errno(??) poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) posix.CLD_CONTINUED posix.CLD_DUMPED posix.CLD_EXITED posix.CLD_TRAPPED posix.DirEntry(??) posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_LOCK posix.F_OK posix.F_TEST posix.F_TLOCK posix.F_ULOCK posix.NGROUPS_MAX posix.O_ACCMODE posix.O_APPEND posix.O_ASYNC posix.O_CLOEXEC posix.O_CREAT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_EXLOCK posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_SHLOCK posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.POSIX_SPAWN_CLOSE posix.POSIX_SPAWN_DUP2 posix.POSIX_SPAWN_OPEN posix.PRIO_PGRP posix.PRIO_PROCESS posix.PRIO_USER posix.P_ALL posix.P_PGID posix.P_PID posix.RTLD_GLOBAL posix.RTLD_LAZY posix.RTLD_LOCAL posix.RTLD_NODELETE posix.RTLD_NOLOAD posix.RTLD_NOW posix.R_OK posix.SCHED_FIFO posix.SCHED_OTHER posix.SCHED_RR posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(??) posix.WEXITED posix.WEXITSTATUS(??) posix.WIFCONTINUED(??) posix.WIFEXITED(??) posix.WIFSIGNALED(??) posix.WIFSTOPPED(??) posix.WNOHANG posix.WNOWAIT posix.WSTOPPED posix.WSTOPSIG(??) posix.WTERMSIG(??) posix.WUNTRACED posix.W_OK posix.X_OK posix.abort(??) posix.access(??) posix.chdir(??) posix.chflags(??) posix.chmod(??) posix.chown(??) posix.chroot(??) posix.close(??) posix.closerange(??) posix.confstr(??) posix.confstr_names(??) posix.cpu_count(??) posix.ctermid(??) posix.device_encoding(??) posix.dup(??) posix.dup2(??) posix.environ(??) posix.error(??) posix.execv(??) posix.execve(??) posix.fchdir(??) posix.fchmod(??) posix.fchown(??) posix.fork(??) posix.forkpty(??) posix.fpathconf(??) posix.fspath(??) posix.fstat(??) posix.fstatvfs(??) posix.fsync(??) posix.ftruncate(??) posix.get_blocking(??) posix.get_inheritable(??) posix.get_terminal_size(??) posix.getcwd(??) posix.getcwdb(??) posix.getegid(??) posix.geteuid(??) posix.getgid(??) posix.getgrouplist(user, group) -> list of groups to which a user belongs posix.getgroups(??) posix.getloadavg(??) posix.getlogin(??) posix.getpgid(??) posix.getpgrp(??) posix.getpid(??) posix.getppid(??) posix.getpriority(??) posix.getsid(??) posix.getuid(??) posix.initgroups(username, gid) -> None posix.isatty(??) posix.kill(??) posix.killpg(??) posix.lchflags(??) posix.lchmod(??) posix.lchown(??) posix.link(??) posix.listdir(??) posix.lockf(??) posix.lseek(??) posix.lstat(??) posix.major(??) posix.makedev(??) posix.minor(??) posix.mkdir(??) posix.mkfifo(??) posix.mknod(??) posix.nice(??) posix.open(??) posix.openpty(??) posix.pathconf(??) posix.pathconf_names(??) posix.pipe(??) posix.posix_spawn(??) posix.posix_spawnp(??) posix.pread(??) posix.putenv(??) posix.pwrite(??) posix.read(??) posix.readlink(??) posix.readv(??) posix.register_at_fork(??) posix.remove(??) posix.rename(??) posix.replace(??) posix.rmdir(??) posix.scandir(??) posix.sched_get_priority_max(??) posix.sched_get_priority_min(??) posix.sched_yield(??) posix.sendfile(out, in, offset, count) -> byteswritten posix.set_blocking(??) posix.set_inheritable(??) posix.setegid(??) posix.seteuid(??) posix.setgid(??) posix.setgroups(??) posix.setpgid(??) posix.setpgrp(??) posix.setpriority(??) posix.setregid(??) posix.setreuid(??) posix.setsid(??) posix.setuid(??) posix.stat(??) posix.stat_result(??) posix.statvfs(??) posix.statvfs_result(??) posix.strerror(??) posix.symlink(??) posix.sync(??) posix.sysconf(??) posix.sysconf_names(??) posix.system(??) posix.tcgetpgrp(??) posix.tcsetpgrp(??) posix.terminal_size(??) posix.times(??) posix.times_result(??) posix.truncate(??) posix.ttyname(??) posix.umask(??) posix.uname(??) posix.uname_result(??) posix.unlink(??) posix.unsetenv(??) posix.urandom(??) posix.utime(??) posix.wait(??) posix.wait3(??) posix.wait4(??) posix.waitpid(??) posix.write(??) posix.writev(??) pow(??) pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pp(??) pprint.pprint(??) pprint.re(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) profile.Profile(??) profile.main(??) profile.marshal(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(??) pstats.Enum(??) pstats.SortKey(??) pstats.Stats(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(??) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.tty(??) pwd.getpwall(??) pwd.getpwnam(??) pwd.getpwuid(??) pwd.struct_passwd(??) py_compile.PyCompileError(??) py_compile.PycInvalidationMode(??) py_compile.compile(??) py_compile.enum(??) py_compile.importlib(??) py_compile.main(??) py_compile.os(??) py_compile.sys(??) py_compile.traceback(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.importlib(??) pyclbr.io(??) pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque([iterable[, maxlen]]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.help(??) pydoc.html(??) pydoc.importfile(??) pydoc.importlib(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.sort_attributes(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.tokenize(??) pydoc.ttypager(??) pydoc.urllib(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics.topics(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.SimpleQueue(??) queue.deque([iterable[, maxlen]]) --> deque object queue.heappop(??) queue.heappush(??) queue.threading(??) queue.time(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(??) quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.choices(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates an int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range(stop) -> range object re.A(??) re.ASCII(??) re.DEBUG(??) re.DOTALL(??) re.I(??) re.IGNORECASE(??) re.L(??) re.LOCALE(??) re.M(??) re.MULTILINE(??) re.Match(??) re.Pattern(??) re.RegexFlag(??) re.S(??) re.Scanner(??) re.T(??) re.TEMPLATE(??) re.U(??) re.UNICODE(??) re.VERBOSE(??) re.X(??) re.compile(??) re.copyreg(??) re.enum(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.fullmatch(??) re.functools(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.template(??) repr(??) reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, stop) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) reversed(??) rlcompleter.Completer(??) rlcompleter.atexit(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(??) runpy.get_importer(??) runpy.importlib(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) runpy.types(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) sched.threading(??) sched.time(??) secrets.DEFAULT_ENTROPY secrets.SystemRandom(??) secrets.base64(??) secrets.binascii(??) secrets.choice(??) secrets.compare_digest(??) secrets.os(??) secrets.randbelow(??) secrets.randbits(??) secrets.token_bytes(??) secrets.token_hex(??) secrets.token_urlsafe(??) selectors.ABCMeta(??) selectors.BaseSelector(??) selectors.DefaultSelector(??) selectors.EVENT_READ selectors.EVENT_WRITE selectors.KqueueSelector(??) selectors.Mapping(??) selectors.PollSelector(??) selectors.SelectSelector(??) selectors.SelectorKey(fileobj, fd, events, data) selectors.abstractmethod(??) selectors.math(??) selectors.namedtuple(??) selectors.select(??) selectors.sys(??) set() -> new empty set object setattr(??) shelve.BsdDbShelf(??) shelve.BytesIO(??) shelve.DbfilenameShelf(??) shelve.Pickler(??) shelve.Shelf(??) shelve.Unpickler(??) shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque([iterable[, maxlen]]) --> deque object shlex.join(??) shlex.os(??) shlex.quote(??) shlex.re(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.COPY_BUFSIZE shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SameFileError(??) shutil.SpecialFileError(??) shutil.chown(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.disk_usage(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_terminal_size(??) shutil.get_unpack_formats(??) shutil.getgrnam(??) shutil.getpwnam(??) shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.nt(??) shutil.os(??) shutil.posix(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) shutil.which(??) signal.Handlers(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT(??) signal.SIGALRM(??) signal.SIGBUS(??) signal.SIGCHLD(??) signal.SIGCONT(??) signal.SIGEMT(??) signal.SIGFPE(??) signal.SIGHUP(??) signal.SIGILL(??) signal.SIGINFO(??) signal.SIGINT(??) signal.SIGIO(??) signal.SIGIOT(??) signal.SIGKILL(??) signal.SIGPIPE(??) signal.SIGPROF(??) signal.SIGQUIT(??) signal.SIGSEGV(??) signal.SIGSTOP(??) signal.SIGSYS(??) signal.SIGTERM(??) signal.SIGTRAP(??) signal.SIGTSTP(??) signal.SIGTTIN(??) signal.SIGTTOU(??) signal.SIGURG(??) signal.SIGUSR1(??) signal.SIGUSR2(??) signal.SIGVTALRM(??) signal.SIGWINCH(??) signal.SIGXCPU(??) signal.SIGXFSZ(??) signal.SIG_BLOCK(??) signal.SIG_DFL(??) signal.SIG_IGN(??) signal.SIG_SETMASK(??) signal.SIG_UNBLOCK(??) signal.Sigmasks(??) signal.Signals(??) signal.alarm(??) signal.default_int_handler(...) signal.getitimer(??) signal.getsignal(??) signal.pause(??) signal.pthread_kill(??) signal.pthread_sigmask(??) signal.raise_signal(??) signal.set_wakeup_fd(fd, *, warn_on_full_buffer=True) -> fd signal.setitimer(??) signal.siginterrupt(??) signal.signal(??) signal.sigpending(??) signal.sigwait(??) signal.strsignal(??) signal.valid_signals(??) sip5.argument_parser(??) sip5.argument_parser.ArgParser(??) sip5.argument_parser.ArgumentParser(??) sip5.argument_parser.SIP_VERSION_STR sip5.builder.Builder(??) sip5.builder.DistutilsBuilder(??) sip5.builder.Option(??) sip5.builder.Project(??) sip5.builder.PyProjectOptionException(??) sip5.builder.PyProjectUndefinedOptionException(??) sip5.builder.bindings(??) sip5.builder.bindings.Bindings(??) sip5.builder.bindings.Configurable(??) sip5.builder.bindings.GeneratedBindings(??) sip5.builder.bindings.Option(??) sip5.builder.bindings.PyProjectUndefinedOptionException(??) sip5.builder.bindings.SIP_VERSION_STR sip5.builder.bindings.UserException(??) sip5.builder.bindings.copy_nonshared_sources(??) sip5.builder.bindings.generateAPI(??) sip5.builder.bindings.generateCode(??) sip5.builder.bindings.generateExtracts(??) sip5.builder.bindings.generateTypeHints(??) sip5.builder.bindings.generateXML(??) sip5.builder.bindings.os(??) sip5.builder.bindings.parse(??) sip5.builder.bindings.sys(??) sip5.builder.builder(??) sip5.builder.builder.ABC(??) sip5.builder.builder.Builder(??) sip5.builder.builder.DistutilsBuilder(??) sip5.builder.builder.abstractmethod(??) sip5.builder.configurable(??) sip5.builder.configurable.Configurable(??) sip5.builder.configurable.Option(??) sip5.builder.configurable.PyProjectOptionException(??) sip5.builder.distinfo(??) sip5.builder.distinfo.SIP_VERSION_STR sip5.builder.distinfo.UserException(??) sip5.builder.distinfo.WHEEL_VERSION sip5.builder.distinfo.base64(??) sip5.builder.distinfo.create_distinfo(??) sip5.builder.distinfo.hashlib(??) sip5.builder.distinfo.os(??) sip5.builder.distinfo.shutil(??) sip5.builder.distinfo.sys(??) sip5.builder.project(??) sip5.builder.project.Bindings(??) sip5.builder.project.Builder(??) sip5.builder.project.Configurable(??) sip5.builder.project.Option(??) sip5.builder.project.OrderedDict(??) sip5.builder.project.Project(??) sip5.builder.project.PyProject(??) sip5.builder.project.PyProjectException(??) sip5.builder.project.PyProjectOptionException(??) sip5.builder.project.PyProjectUndefinedOptionException(??) sip5.builder.project.SIP_VERSION sip5.builder.project.SIP_VERSION_STR sip5.builder.project.UserException(??) sip5.builder.project.copy_sip_h(??) sip5.builder.project.create_distinfo(??) sip5.builder.project.get_python_lib(??) sip5.builder.project.glob(??) sip5.builder.project.importlib(??) sip5.builder.project.os(??) sip5.builder.project.resolve_abi_version(??) sip5.builder.project.set_globals(??) sip5.builder.project.shutil(??) sip5.builder.project.sys(??) sip5.builder.project.tempfile(??) sip5.builder.project.warnings(??) sip5.builder.pyproject(??) sip5.builder.pyproject.OrderedDict(??) sip5.builder.pyproject.PyProject(??) sip5.builder.pyproject.PyProjectException(??) sip5.builder.pyproject.PyProjectOptionException(??) sip5.builder.pyproject.PyProjectUndefinedOptionException(??) sip5.builder.pyproject.UserFileException(??) sip5.builder.pyproject.UserParseException(??) sip5.builder.pyproject.toml(??) sip5.builder.tools(??) sip5.builder.tools.build(??) sip5.builder.tools.build.Project(??) sip5.builder.tools.build.handle_exception(??) sip5.builder.tools.build.main(??) sip5.builder.tools.install.Project(??) sip5.builder.tools.install.handle_exception(??) sip5.builder.tools.install.main(??) sip5.builder.tools.sdist.Project(??) sip5.builder.tools.sdist.handle_exception(??) sip5.builder.tools.sdist.main(??) sip5.builder.tools.wheel.Project(??) sip5.builder.tools.wheel.handle_exception(??) sip5.builder.tools.wheel.main(??) sip5.code_generator(??) sip5.exceptions(??) sip5.exceptions.UserException(??) sip5.exceptions.UserFileException(??) sip5.exceptions.UserParseException(??) sip5.exceptions.handle_exception(??) sip5.exceptions.os(??) sip5.exceptions.sys(??) sip5.helpers.UserFileException(??) sip5.helpers.UserParseException(??) sip5.helpers.get_bindings_configuration(??) sip5.helpers.os(??) sip5.helpers.toml(??) sip5.legacy(??) sip5.legacy.header(??) sip5.legacy.header.ArgumentParser(??) sip5.legacy.header.copy_sip_h(??) sip5.legacy.header.handle_exception(??) sip5.legacy.header.main(??) sip5.legacy.header.resolve_abi_version(??) sip5.legacy.sip5(??) sip5.legacy.sip5.ArgumentParser(??) sip5.legacy.sip5.SIP_VERSION sip5.legacy.sip5.SIP_VERSION_STR sip5.legacy.sip5.UserException(??) sip5.legacy.sip5.generateAPI(??) sip5.legacy.sip5.generateCode(??) sip5.legacy.sip5.generateExtracts(??) sip5.legacy.sip5.generateTypeHints(??) sip5.legacy.sip5.generateXML(??) sip5.legacy.sip5.handle_exception(??) sip5.legacy.sip5.main(??) sip5.legacy.sip5.parse(??) sip5.legacy.sip5.resolve_abi_version(??) sip5.legacy.sip5.set_globals(??) sip5.legacy.sip5.simplefilter(??) sip5.legacy.sip5.sip5(??) sip5.module(??) sip5.module.abi_version(??) sip5.module.abi_version.UserException(??) sip5.module.abi_version.get_module_source_dir(??) sip5.module.abi_version.get_sip_module_version(??) sip5.module.abi_version.os(??) sip5.module.abi_version.parse(??) sip5.module.abi_version.resolve_abi_version(??) sip5.module.copy_nonshared_sources(??) sip5.module.copy_sip_h(??) sip5.module.main.ArgumentParser(??) sip5.module.main.handle_exception(??) sip5.module.main.main(??) sip5.module.main.module(??) sip5.module.module(??) sip5.module.module.SIP_VERSION sip5.module.module.SIP_VERSION_STR sip5.module.module.copy_nonshared_sources(??) sip5.module.module.copy_sip_h(??) sip5.module.module.get_module_source_dir(??) sip5.module.module.get_sip_module_version(??) sip5.module.module.module(??) sip5.module.module.os(??) sip5.module.module.resolve_abi_version(??) sip5.module.module.shutil(??) sip5.module.module.tarfile(??) sip5.module.resolve_abi_version(??) sip5.version(??) sip5.version.SIP_VERSION sip5.version.SIP_VERSION_STR site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.builtins(??) site.check_enableusersite(??) site.enablerlcompleter(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.venv(??) slice(stop) smtpd.COMMASPACE smtpd.DATA_SIZE_DEFAULT smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.collections(??) smtpd.errno(??) smtpd.get_addr_spec(??) smtpd.get_angle_addr(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPNotSupportedError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.bCRLF smtplib.base64(??) smtplib.copy(??) smtplib.datetime(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.sys(??) sndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.namedtuple(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK(??) socket.AF_DECnet socket.AF_INET(??) socket.AF_INET6(??) socket.AF_IPX(??) socket.AF_LINK(??) socket.AF_ROUTE(??) socket.AF_SNA(??) socket.AF_SYSTEM(??) socket.AF_UNIX(??) socket.AF_UNSPEC(??) socket.AI_ADDRCONFIG(??) socket.AI_ALL(??) socket.AI_CANONNAME(??) socket.AI_DEFAULT(??) socket.AI_MASK(??) socket.AI_NUMERICHOST(??) socket.AI_NUMERICSERV(??) socket.AI_PASSIVE(??) socket.AI_V4MAPPED(??) socket.AI_V4MAPPED_CFG(??) socket.AddressFamily(??) socket.AddressInfo(??) socket.CAPI(??) socket.CMSG_LEN(length) -> control message length socket.CMSG_SPACE(length) -> buffer size socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_BADHINTS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MAX socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_PROTOCOL socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EWOULDBLOCK socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_EON socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GGP socket.IPPROTO_GRE socket.IPPROTO_HELLO socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPCOMP socket.IPPROTO_IPIP socket.IPPROTO_IPV4 socket.IPPROTO_IPV6 socket.IPPROTO_MAX socket.IPPROTO_ND socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_SCTP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPPROTO_XTP socket.IPV6_CHECKSUM socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_RECVTCLASS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVDSTADDR socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.IntEnum(??) socket.IntFlag(??) socket.LOCAL_PEERCRED socket.MSG_CTRUNC(??) socket.MSG_DONTROUTE(??) socket.MSG_DONTWAIT(??) socket.MSG_EOF(??) socket.MSG_EOR(??) socket.MSG_OOB(??) socket.MSG_PEEK(??) socket.MSG_TRUNC(??) socket.MSG_WAITALL(??) socket.MsgFlag(??) socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PF_SYSTEM socket.SCM_CREDS socket.SCM_RIGHTS socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM(??) socket.SOCK_RAW(??) socket.SOCK_RDM(??) socket.SOCK_SEQPACKET(??) socket.SOCK_STREAM(??) socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_REUSEPORT socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SO_USELOOPBACK socket.SYSPROTO_CONTROL socket.SocketIO(??) socket.SocketKind(??) socket.SocketType(??) socket.TCP_KEEPCNT socket.TCP_KEEPINTVL socket.TCP_MAXSEG socket.TCP_NODELAY socket.close(integer) -> None socket.create_connection(??) socket.create_server(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(??) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_dualstack_ipv6(??) socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.if_indextoname(if_index) socket.if_nameindex() socket.if_nametoindex(if_name) socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.selectors(??) socket.setdefaulttimeout(timeout) socket.sethostname(name) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.BufferedIOBase(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.os(??) socketserver.selectors(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) socketserver.time(??) sorted(??) sqlite3.Binary(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_CREATE_VTABLE sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DONE sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_DROP_VTABLE sqlite3.SQLITE_FUNCTION sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_RECURSIVE sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SAVEPOINT sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.collections(??) sqlite3.complete_statement(sql) sqlite3.connect(??) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_CREATE_VTABLE sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DONE sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_DROP_VTABLE sqlite3.dbapi2.SQLITE_FUNCTION sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_RECURSIVE sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SAVEPOINT sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.collections(??) sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(??) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.AF_INET(??) ssl.ALERT_DESCRIPTION_ACCESS_DENIED(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??) ssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??) ssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??) ssl.ALERT_DESCRIPTION_DECODE_ERROR(??) ssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??) ssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??) ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??) ssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??) ssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??) ssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??) ssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??) ssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??) ssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??) ssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??) ssl.ALERT_DESCRIPTION_UNKNOWN_CA(??) ssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??) ssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??) ssl.ALERT_DESCRIPTION_USER_CANCELLED(??) ssl.AlertDescription(??) ssl.CERT_NONE(??) ssl.CERT_OPTIONAL(??) ssl.CERT_REQUIRED(??) ssl.CHANNEL_BINDING_TYPES(??) ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath) ssl.HAS_ALPN(??) ssl.HAS_ECDH(??) ssl.HAS_NEVER_CHECK_COMMON_NAME(??) ssl.HAS_NPN(??) ssl.HAS_SNI(??) ssl.HAS_SSLv2(??) ssl.HAS_SSLv3(??) ssl.HAS_TLSv1(??) ssl.HAS_TLSv1_1(??) ssl.HAS_TLSv1_2(??) ssl.HAS_TLSv1_3(??) ssl.MemoryBIO(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL(??) ssl.OP_CIPHER_SERVER_PREFERENCE(??) ssl.OP_NO_COMPRESSION(??) ssl.OP_NO_RENEGOTIATION(??) ssl.OP_NO_SSLv2(??) ssl.OP_NO_SSLv3(??) ssl.OP_NO_TICKET(??) ssl.OP_NO_TLSv1(??) ssl.OP_NO_TLSv1_1(??) ssl.OP_NO_TLSv1_2(??) ssl.OP_NO_TLSv1_3(??) ssl.OP_SINGLE_DH_USE(??) ssl.OP_SINGLE_ECDH_USE(??) ssl.Options(??) ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv23(??) ssl.PROTOCOL_TLS(??) ssl.PROTOCOL_TLS_CLIENT(??) ssl.PROTOCOL_TLS_SERVER(??) ssl.PROTOCOL_TLSv1(??) ssl.PROTOCOL_TLSv1_1(??) ssl.PROTOCOL_TLSv1_2(??) ssl.Purpose(??) ssl.RAND_add(??) ssl.RAND_bytes(??) ssl.RAND_pseudo_bytes(??) ssl.RAND_status(??) ssl.SOCK_STREAM(??) ssl.SOL_SOCKET ssl.SO_TYPE ssl.SSLCertVerificationError(??) ssl.SSLContext(??) ssl.SSLEOFError(??) ssl.SSLError(??) ssl.SSLErrorNumber(??) ssl.SSLObject(??) ssl.SSLSession(??) ssl.SSLSocket(??) ssl.SSLSyscallError(??) ssl.SSLWantReadError(??) ssl.SSLWantWriteError(??) ssl.SSLZeroReturnError(??) ssl.SSL_ERROR_EOF(??) ssl.SSL_ERROR_INVALID_ERROR_CODE(??) ssl.SSL_ERROR_SSL(??) ssl.SSL_ERROR_SYSCALL(??) ssl.SSL_ERROR_WANT_CONNECT(??) ssl.SSL_ERROR_WANT_READ(??) ssl.SSL_ERROR_WANT_WRITE(??) ssl.SSL_ERROR_WANT_X509_LOOKUP(??) ssl.SSL_ERROR_ZERO_RETURN(??) ssl.TLSVersion(??) ssl.VERIFY_CRL_CHECK_CHAIN(??) ssl.VERIFY_CRL_CHECK_LEAF(??) ssl.VERIFY_DEFAULT(??) ssl.VERIFY_X509_STRICT(??) ssl.VERIFY_X509_TRUSTED_FIRST(??) ssl.VerifyFlags(??) ssl.VerifyMode(??) ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.create_connection(??) ssl.create_default_context(??) ssl.errno(??) ssl.get_default_verify_paths(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.match_hostname(??) ssl.namedtuple(??) ssl.os(??) ssl.socket(??) ssl.socket_error(??) ssl.sys(??) ssl.warnings(??) ssl.wrap_socket(??) stat.FILE_ATTRIBUTE_ARCHIVE stat.FILE_ATTRIBUTE_COMPRESSED stat.FILE_ATTRIBUTE_DEVICE stat.FILE_ATTRIBUTE_DIRECTORY stat.FILE_ATTRIBUTE_ENCRYPTED stat.FILE_ATTRIBUTE_HIDDEN stat.FILE_ATTRIBUTE_INTEGRITY_STREAM stat.FILE_ATTRIBUTE_NORMAL stat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED stat.FILE_ATTRIBUTE_NO_SCRUB_DATA stat.FILE_ATTRIBUTE_OFFLINE stat.FILE_ATTRIBUTE_READONLY stat.FILE_ATTRIBUTE_REPARSE_POINT stat.FILE_ATTRIBUTE_SPARSE_FILE stat.FILE_ATTRIBUTE_SYSTEM stat.FILE_ATTRIBUTE_TEMPORARY stat.FILE_ATTRIBUTE_VIRTUAL stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFDOOR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFPORT stat.S_IFREG stat.S_IFSOCK stat.S_IFWHT stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(mode) -> bool stat.S_ISCHR(mode) -> bool stat.S_ISDIR(mode) -> bool stat.S_ISDOOR(mode) -> bool stat.S_ISFIFO(mode) -> bool stat.S_ISGID stat.S_ISLNK(mode) -> bool stat.S_ISPORT(mode) -> bool stat.S_ISREG(mode) -> bool stat.S_ISSOCK(mode) -> bool stat.S_ISUID stat.S_ISVTX stat.S_ISWHT(mode) -> bool stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_COMPRESSED stat.UF_HIDDEN stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE stat.filemode(??) staticmethod(function) -> method statistics.Counter(??) statistics.Decimal(??) statistics.Fraction(??) statistics.NormalDist(??) statistics.StatisticsError(??) statistics.bisect_left(a, x[, lo[, hi]]) -> index statistics.bisect_right(a, x[, lo[, hi]]) -> index statistics.erf(??) statistics.exp(??) statistics.fabs(??) statistics.fmean(??) statistics.fsum(??) statistics.geometric_mean(??) statistics.groupby(??) statistics.harmonic_mean(??) statistics.hypot(*coordinates) -> value statistics.itemgetter(item, ...) --> itemgetter object statistics.log(x, [base=math.e]) statistics.math(??) statistics.mean(??) statistics.median(??) statistics.median_grouped(??) statistics.median_high(??) statistics.median_low(??) statistics.mode(??) statistics.multimode(??) statistics.numbers(??) statistics.pstdev(??) statistics.pvariance(??) statistics.quantiles(??) statistics.random(??) statistics.sqrt(??) statistics.stdev(??) statistics.tau statistics.variance(??) str(object='') -> str string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(??) struct.calcsize(??) struct.error(??) struct.iter_unpack(??) struct.pack(format, v1, v2, ...) -> bytes struct.pack_into(format, buffer, offset, v1, v2, ...) struct.unpack(??) struct.unpack_from(??) subprocess.CalledProcessError(??) subprocess.CompletedProcess(??) subprocess.DEVNULL subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.SubprocessError(??) subprocess.TimeoutExpired(??) subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.contextlib(??) subprocess.errno(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.os(??) subprocess.run(??) subprocess.select(??) subprocess.selectors(??) subprocess.signal(??) subprocess.sys(??) subprocess.threading(??) subprocess.time(??) subprocess.warnings(??) sum(??) sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.namedtuple(??) sunau.open(??) sunau.openfp(??) sunau.warnings(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.annassign symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.async_funcdef symbol.async_stmt symbol.atom symbol.atom_expr symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.func_body_suite symbol.func_type symbol.func_type_input symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.namedexpr_test symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.sync_comp_for symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.typelist symbol.varargslist symbol.vfpdef symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_arg symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_ANNOT symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_NONLOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.addaudithook(??) sys.api_version sys.argv(??) sys.audit(event, *args) sys.base_exec_prefix sys.base_prefix sys.breakpointhook(*args, **kws) sys.builtin_module_names(??) sys.byteorder sys.call_tracing(??) sys.callstats(??) sys.copyright sys.displayhook(??) sys.dont_write_bytecode(??) sys.exc_info(??) sys.excepthook(??) sys.exec_prefix sys.executable sys.exit(??) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.get_asyncgen_hooks(??) sys.get_coroutine_origin_tracking_depth(??) sys.getallocatedblocks(??) sys.getcheckinterval(??) sys.getdefaultencoding(??) sys.getdlopenflags(??) sys.getfilesystemencodeerrors(??) sys.getfilesystemencoding(??) sys.getprofile(??) sys.getrecursionlimit(??) sys.getrefcount(??) sys.getsizeof(object [, default]) -> int sys.getswitchinterval(??) sys.gettrace(??) sys.hash_info(??) sys.hexversion sys.implementation(??) sys.int_info(??) sys.intern(??) sys.is_finalizing(??) sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.prefix sys.pycache_prefix(??) sys.set_asyncgen_hooks(* [, firstiter] [, finalizer]) sys.set_coroutine_origin_tracking_depth(??) sys.setcheckinterval(??) sys.setdlopenflags(??) sys.setprofile(function) sys.setrecursionlimit(??) sys.setswitchinterval(??) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.thread_info(??) sys.unraisablehook(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.grp(??) tarfile.io(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.main(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.selectors(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempdirb(??) tempfile.gettempprefix(??) tempfile.gettempprefixb(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.indent(??) textwrap.re(??) textwrap.shorten(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.ExceptHookArgs(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.WeakSet(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.enumerate(??) threading.excepthook(exc_type, exc_value, exc_traceback, thread) threading.get_ident() -> integer threading.get_native_id() -> integer threading.local(??) threading.main_thread(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.altzone time.asctime([tuple]) -> string time.ctime(seconds) -> string time.daylight time.get_clock_info(name: str) -> dict time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.monotonic() -> float time.monotonic_ns() -> int time.perf_counter() -> float time.perf_counter_ns() -> int time.process_time() -> float time.process_time_ns(??) time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.time_ns() -> int time.timezone time.tzname(??) time.tzset() timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) tkinter.ACTIVE tkinter.ALL tkinter.ANCHOR tkinter.ARC tkinter.BASELINE tkinter.BEVEL tkinter.BOTH tkinter.BOTTOM tkinter.BROWSE tkinter.BUTT tkinter.BaseWidget(??) tkinter.BitmapImage(??) tkinter.BooleanVar(??) tkinter.Button(??) tkinter.CASCADE tkinter.CENTER tkinter.CHAR tkinter.CHECKBUTTON tkinter.CHORD tkinter.COMMAND tkinter.CURRENT tkinter.CallWrapper(??) tkinter.Canvas(??) tkinter.Checkbutton(??) tkinter.DISABLED tkinter.DOTBOX tkinter.DoubleVar(??) tkinter.E tkinter.END tkinter.EW tkinter.EXCEPTION tkinter.EXTENDED tkinter.Entry(??) tkinter.Event(??) tkinter.EventType(??) tkinter.FALSE tkinter.FIRST tkinter.FLAT tkinter.Frame(??) tkinter.GROOVE tkinter.Grid(??) tkinter.HIDDEN tkinter.HORIZONTAL tkinter.INSERT tkinter.INSIDE tkinter.Image(??) tkinter.IntVar(??) tkinter.LAST tkinter.LEFT tkinter.Label(??) tkinter.LabelFrame(??) tkinter.Listbox(??) tkinter.MITER tkinter.MOVETO tkinter.MULTIPLE tkinter.Menu(??) tkinter.Menubutton(??) tkinter.Message(??) tkinter.Misc(??) tkinter.N tkinter.NE tkinter.NO tkinter.NONE tkinter.NORMAL tkinter.NS tkinter.NSEW tkinter.NUMERIC tkinter.NW tkinter.NoDefaultRoot(??) tkinter.OFF tkinter.ON tkinter.OUTSIDE tkinter.OptionMenu(??) tkinter.PAGES tkinter.PIESLICE tkinter.PROJECTING tkinter.Pack(??) tkinter.PanedWindow(??) tkinter.PhotoImage(??) tkinter.Place(??) tkinter.RADIOBUTTON tkinter.RAISED tkinter.READABLE tkinter.RIDGE tkinter.RIGHT tkinter.ROUND tkinter.Radiobutton(??) tkinter.S tkinter.SCROLL tkinter.SE tkinter.SEL tkinter.SEL_FIRST tkinter.SEL_LAST tkinter.SEPARATOR tkinter.SINGLE tkinter.SOLID tkinter.SUNKEN tkinter.SW tkinter.Scale(??) tkinter.Scrollbar(??) tkinter.Spinbox(??) tkinter.StringVar(??) tkinter.TOP tkinter.TRUE tkinter.Tcl(??) tkinter.TclError(??) tkinter.TclVersion tkinter.Text(??) tkinter.Tk(??) tkinter.TkVersion tkinter.Toplevel(??) tkinter.UNDERLINE tkinter.UNITS tkinter.VERTICAL tkinter.Variable(??) tkinter.W tkinter.WORD tkinter.WRITABLE tkinter.Widget(??) tkinter.Wm(??) tkinter.X tkinter.XView(??) tkinter.Y tkinter.YES tkinter.YView(??) tkinter.colorchooser(??) tkinter.colorchooser.Chooser(??) tkinter.colorchooser.Dialog(??) tkinter.colorchooser.askcolor(??) tkinter.commondialog(??) tkinter.commondialog.ACTIVE tkinter.commondialog.ALL tkinter.commondialog.ANCHOR tkinter.commondialog.ARC tkinter.commondialog.BASELINE tkinter.commondialog.BEVEL tkinter.commondialog.BOTH tkinter.commondialog.BOTTOM tkinter.commondialog.BROWSE tkinter.commondialog.BUTT tkinter.commondialog.BaseWidget(??) tkinter.commondialog.BitmapImage(??) tkinter.commondialog.BooleanVar(??) tkinter.commondialog.Button(??) tkinter.commondialog.CASCADE tkinter.commondialog.CENTER tkinter.commondialog.CHAR tkinter.commondialog.CHECKBUTTON tkinter.commondialog.CHORD tkinter.commondialog.COMMAND tkinter.commondialog.CURRENT tkinter.commondialog.CallWrapper(??) tkinter.commondialog.Canvas(??) tkinter.commondialog.Checkbutton(??) tkinter.commondialog.DISABLED tkinter.commondialog.DOTBOX tkinter.commondialog.Dialog(??) tkinter.commondialog.DoubleVar(??) tkinter.commondialog.E tkinter.commondialog.END tkinter.commondialog.EW tkinter.commondialog.EXCEPTION tkinter.commondialog.EXTENDED tkinter.commondialog.Entry(??) tkinter.commondialog.Event(??) tkinter.commondialog.EventType(??) tkinter.commondialog.FALSE tkinter.commondialog.FIRST tkinter.commondialog.FLAT tkinter.commondialog.Frame(??) tkinter.commondialog.GROOVE tkinter.commondialog.Grid(??) tkinter.commondialog.HIDDEN tkinter.commondialog.HORIZONTAL tkinter.commondialog.INSERT tkinter.commondialog.INSIDE tkinter.commondialog.Image(??) tkinter.commondialog.IntVar(??) tkinter.commondialog.LAST tkinter.commondialog.LEFT tkinter.commondialog.Label(??) tkinter.commondialog.LabelFrame(??) tkinter.commondialog.Listbox(??) tkinter.commondialog.MITER tkinter.commondialog.MOVETO tkinter.commondialog.MULTIPLE tkinter.commondialog.Menu(??) tkinter.commondialog.Menubutton(??) tkinter.commondialog.Message(??) tkinter.commondialog.Misc(??) tkinter.commondialog.N tkinter.commondialog.NE tkinter.commondialog.NO tkinter.commondialog.NONE tkinter.commondialog.NORMAL tkinter.commondialog.NS tkinter.commondialog.NSEW tkinter.commondialog.NUMERIC tkinter.commondialog.NW tkinter.commondialog.NoDefaultRoot(??) tkinter.commondialog.OFF tkinter.commondialog.ON tkinter.commondialog.OUTSIDE tkinter.commondialog.OptionMenu(??) tkinter.commondialog.PAGES tkinter.commondialog.PIESLICE tkinter.commondialog.PROJECTING tkinter.commondialog.Pack(??) tkinter.commondialog.PanedWindow(??) tkinter.commondialog.PhotoImage(??) tkinter.commondialog.Place(??) tkinter.commondialog.RADIOBUTTON tkinter.commondialog.RAISED tkinter.commondialog.READABLE tkinter.commondialog.RIDGE tkinter.commondialog.RIGHT tkinter.commondialog.ROUND tkinter.commondialog.Radiobutton(??) tkinter.commondialog.S tkinter.commondialog.SCROLL tkinter.commondialog.SE tkinter.commondialog.SEL tkinter.commondialog.SEL_FIRST tkinter.commondialog.SEL_LAST tkinter.commondialog.SEPARATOR tkinter.commondialog.SINGLE tkinter.commondialog.SOLID tkinter.commondialog.SUNKEN tkinter.commondialog.SW tkinter.commondialog.Scale(??) tkinter.commondialog.Scrollbar(??) tkinter.commondialog.Spinbox(??) tkinter.commondialog.StringVar(??) tkinter.commondialog.TOP tkinter.commondialog.TRUE tkinter.commondialog.Tcl(??) tkinter.commondialog.TclError(??) tkinter.commondialog.TclVersion tkinter.commondialog.Text(??) tkinter.commondialog.Tk(??) tkinter.commondialog.TkVersion tkinter.commondialog.Toplevel(??) tkinter.commondialog.UNDERLINE tkinter.commondialog.UNITS tkinter.commondialog.VERTICAL tkinter.commondialog.Variable(??) tkinter.commondialog.W tkinter.commondialog.WORD tkinter.commondialog.WRITABLE tkinter.commondialog.Widget(??) tkinter.commondialog.Wm(??) tkinter.commondialog.X tkinter.commondialog.XView(??) tkinter.commondialog.Y tkinter.commondialog.YES tkinter.commondialog.YView(??) tkinter.commondialog.constants(??) tkinter.commondialog.enum(??) tkinter.commondialog.getboolean(??) tkinter.commondialog.getdouble(??) tkinter.commondialog.getint(??) tkinter.commondialog.image_names(??) tkinter.commondialog.image_types(??) tkinter.commondialog.mainloop(??) tkinter.commondialog.re(??) tkinter.commondialog.scrolledtext(??) tkinter.commondialog.sys(??) tkinter.commondialog.wantobjects tkinter.constants(??) tkinter.constants.ACTIVE tkinter.constants.ALL tkinter.constants.ANCHOR tkinter.constants.ARC tkinter.constants.BASELINE tkinter.constants.BEVEL tkinter.constants.BOTH tkinter.constants.BOTTOM tkinter.constants.BROWSE tkinter.constants.BUTT tkinter.constants.CASCADE tkinter.constants.CENTER tkinter.constants.CHAR tkinter.constants.CHECKBUTTON tkinter.constants.CHORD tkinter.constants.COMMAND tkinter.constants.CURRENT tkinter.constants.DISABLED tkinter.constants.DOTBOX tkinter.constants.E tkinter.constants.END tkinter.constants.EW tkinter.constants.EXTENDED tkinter.constants.FALSE tkinter.constants.FIRST tkinter.constants.FLAT tkinter.constants.GROOVE tkinter.constants.HIDDEN tkinter.constants.HORIZONTAL tkinter.constants.INSERT tkinter.constants.INSIDE tkinter.constants.LAST tkinter.constants.LEFT tkinter.constants.MITER tkinter.constants.MOVETO tkinter.constants.MULTIPLE tkinter.constants.N tkinter.constants.NE tkinter.constants.NO tkinter.constants.NONE tkinter.constants.NORMAL tkinter.constants.NS tkinter.constants.NSEW tkinter.constants.NUMERIC tkinter.constants.NW tkinter.constants.OFF tkinter.constants.ON tkinter.constants.OUTSIDE tkinter.constants.PAGES tkinter.constants.PIESLICE tkinter.constants.PROJECTING tkinter.constants.RADIOBUTTON tkinter.constants.RAISED tkinter.constants.RIDGE tkinter.constants.RIGHT tkinter.constants.ROUND tkinter.constants.S tkinter.constants.SCROLL tkinter.constants.SE tkinter.constants.SEL tkinter.constants.SEL_FIRST tkinter.constants.SEL_LAST tkinter.constants.SEPARATOR tkinter.constants.SINGLE tkinter.constants.SOLID tkinter.constants.SUNKEN tkinter.constants.SW tkinter.constants.TOP tkinter.constants.TRUE tkinter.constants.UNDERLINE tkinter.constants.UNITS tkinter.constants.VERTICAL tkinter.constants.W tkinter.constants.WORD tkinter.constants.X tkinter.constants.Y tkinter.constants.YES tkinter.dialog(??) tkinter.dialog.ACTIVE tkinter.dialog.ALL tkinter.dialog.ANCHOR tkinter.dialog.ARC tkinter.dialog.BASELINE tkinter.dialog.BEVEL tkinter.dialog.BOTH tkinter.dialog.BOTTOM tkinter.dialog.BROWSE tkinter.dialog.BUTT tkinter.dialog.BaseWidget(??) tkinter.dialog.BitmapImage(??) tkinter.dialog.BooleanVar(??) tkinter.dialog.Button(??) tkinter.dialog.CASCADE tkinter.dialog.CENTER tkinter.dialog.CHAR tkinter.dialog.CHECKBUTTON tkinter.dialog.CHORD tkinter.dialog.COMMAND tkinter.dialog.CURRENT tkinter.dialog.CallWrapper(??) tkinter.dialog.Canvas(??) tkinter.dialog.Checkbutton(??) tkinter.dialog.DIALOG_ICON tkinter.dialog.DISABLED tkinter.dialog.DOTBOX tkinter.dialog.Dialog(??) tkinter.dialog.DoubleVar(??) tkinter.dialog.E tkinter.dialog.END tkinter.dialog.EW tkinter.dialog.EXCEPTION tkinter.dialog.EXTENDED tkinter.dialog.Entry(??) tkinter.dialog.Event(??) tkinter.dialog.EventType(??) tkinter.dialog.FALSE tkinter.dialog.FIRST tkinter.dialog.FLAT tkinter.dialog.Frame(??) tkinter.dialog.GROOVE tkinter.dialog.Grid(??) tkinter.dialog.HIDDEN tkinter.dialog.HORIZONTAL tkinter.dialog.INSERT tkinter.dialog.INSIDE tkinter.dialog.Image(??) tkinter.dialog.IntVar(??) tkinter.dialog.LAST tkinter.dialog.LEFT tkinter.dialog.Label(??) tkinter.dialog.LabelFrame(??) tkinter.dialog.Listbox(??) tkinter.dialog.MITER tkinter.dialog.MOVETO tkinter.dialog.MULTIPLE tkinter.dialog.Menu(??) tkinter.dialog.Menubutton(??) tkinter.dialog.Message(??) tkinter.dialog.Misc(??) tkinter.dialog.N tkinter.dialog.NE tkinter.dialog.NO tkinter.dialog.NONE tkinter.dialog.NORMAL tkinter.dialog.NS tkinter.dialog.NSEW tkinter.dialog.NUMERIC tkinter.dialog.NW tkinter.dialog.NoDefaultRoot(??) tkinter.dialog.OFF tkinter.dialog.ON tkinter.dialog.OUTSIDE tkinter.dialog.OptionMenu(??) tkinter.dialog.PAGES tkinter.dialog.PIESLICE tkinter.dialog.PROJECTING tkinter.dialog.Pack(??) tkinter.dialog.PanedWindow(??) tkinter.dialog.PhotoImage(??) tkinter.dialog.Place(??) tkinter.dialog.RADIOBUTTON tkinter.dialog.RAISED tkinter.dialog.READABLE tkinter.dialog.RIDGE tkinter.dialog.RIGHT tkinter.dialog.ROUND tkinter.dialog.Radiobutton(??) tkinter.dialog.S tkinter.dialog.SCROLL tkinter.dialog.SE tkinter.dialog.SEL tkinter.dialog.SEL_FIRST tkinter.dialog.SEL_LAST tkinter.dialog.SEPARATOR tkinter.dialog.SINGLE tkinter.dialog.SOLID tkinter.dialog.SUNKEN tkinter.dialog.SW tkinter.dialog.Scale(??) tkinter.dialog.Scrollbar(??) tkinter.dialog.Spinbox(??) tkinter.dialog.StringVar(??) tkinter.dialog.TOP tkinter.dialog.TRUE tkinter.dialog.Tcl(??) tkinter.dialog.TclError(??) tkinter.dialog.TclVersion tkinter.dialog.Text(??) tkinter.dialog.Tk(??) tkinter.dialog.TkVersion tkinter.dialog.Toplevel(??) tkinter.dialog.UNDERLINE tkinter.dialog.UNITS tkinter.dialog.VERTICAL tkinter.dialog.Variable(??) tkinter.dialog.W tkinter.dialog.WORD tkinter.dialog.WRITABLE tkinter.dialog.Widget(??) tkinter.dialog.Wm(??) tkinter.dialog.X tkinter.dialog.XView(??) tkinter.dialog.Y tkinter.dialog.YES tkinter.dialog.YView(??) tkinter.dialog.colorchooser(??) tkinter.dialog.commondialog(??) tkinter.dialog.constants(??) tkinter.dialog.enum(??) tkinter.dialog.getboolean(??) tkinter.dialog.getdouble(??) tkinter.dialog.getint(??) tkinter.dialog.image_names(??) tkinter.dialog.image_types(??) tkinter.dialog.mainloop(??) tkinter.dialog.messagebox(??) tkinter.dialog.re(??) tkinter.dialog.scrolledtext(??) tkinter.dialog.sys(??) tkinter.dialog.wantobjects tkinter.dnd(??) tkinter.dnd.DndHandler(??) tkinter.dnd.Icon(??) tkinter.dnd.Tester(??) tkinter.dnd.dnd_start(??) tkinter.dnd.test(??) tkinter.dnd.tkinter(??) tkinter.enum(??) tkinter.filedialog.ACTIVE tkinter.filedialog.ALL tkinter.filedialog.ANCHOR tkinter.filedialog.ARC tkinter.filedialog.BASELINE tkinter.filedialog.BEVEL tkinter.filedialog.BOTH tkinter.filedialog.BOTTOM tkinter.filedialog.BROWSE tkinter.filedialog.BUTT tkinter.filedialog.BaseWidget(??) tkinter.filedialog.BitmapImage(??) tkinter.filedialog.BooleanVar(??) tkinter.filedialog.Button(??) tkinter.filedialog.CASCADE tkinter.filedialog.CENTER tkinter.filedialog.CHAR tkinter.filedialog.CHECKBUTTON tkinter.filedialog.CHORD tkinter.filedialog.COMMAND tkinter.filedialog.CURRENT tkinter.filedialog.CallWrapper(??) tkinter.filedialog.Canvas(??) tkinter.filedialog.Checkbutton(??) tkinter.filedialog.DISABLED tkinter.filedialog.DOTBOX tkinter.filedialog.Dialog(??) tkinter.filedialog.Directory(??) tkinter.filedialog.DoubleVar(??) tkinter.filedialog.E tkinter.filedialog.END tkinter.filedialog.EW tkinter.filedialog.EXCEPTION tkinter.filedialog.EXTENDED tkinter.filedialog.Entry(??) tkinter.filedialog.Event(??) tkinter.filedialog.EventType(??) tkinter.filedialog.FALSE tkinter.filedialog.FIRST tkinter.filedialog.FLAT tkinter.filedialog.FileDialog(??) tkinter.filedialog.Frame(??) tkinter.filedialog.GROOVE tkinter.filedialog.Grid(??) tkinter.filedialog.HIDDEN tkinter.filedialog.HORIZONTAL tkinter.filedialog.INSERT tkinter.filedialog.INSIDE tkinter.filedialog.Image(??) tkinter.filedialog.IntVar(??) tkinter.filedialog.LAST tkinter.filedialog.LEFT tkinter.filedialog.Label(??) tkinter.filedialog.LabelFrame(??) tkinter.filedialog.Listbox(??) tkinter.filedialog.LoadFileDialog(??) tkinter.filedialog.MITER tkinter.filedialog.MOVETO tkinter.filedialog.MULTIPLE tkinter.filedialog.Menu(??) tkinter.filedialog.Menubutton(??) tkinter.filedialog.Message(??) tkinter.filedialog.Misc(??) tkinter.filedialog.N tkinter.filedialog.NE tkinter.filedialog.NO tkinter.filedialog.NONE tkinter.filedialog.NORMAL tkinter.filedialog.NS tkinter.filedialog.NSEW tkinter.filedialog.NUMERIC tkinter.filedialog.NW tkinter.filedialog.NoDefaultRoot(??) tkinter.filedialog.OFF tkinter.filedialog.ON tkinter.filedialog.OUTSIDE tkinter.filedialog.Open(??) tkinter.filedialog.OptionMenu(??) tkinter.filedialog.PAGES tkinter.filedialog.PIESLICE tkinter.filedialog.PROJECTING tkinter.filedialog.Pack(??) tkinter.filedialog.PanedWindow(??) tkinter.filedialog.PhotoImage(??) tkinter.filedialog.Place(??) tkinter.filedialog.RADIOBUTTON tkinter.filedialog.RAISED tkinter.filedialog.READABLE tkinter.filedialog.RIDGE tkinter.filedialog.RIGHT tkinter.filedialog.ROUND tkinter.filedialog.Radiobutton(??) tkinter.filedialog.S tkinter.filedialog.SCROLL tkinter.filedialog.SE tkinter.filedialog.SEL tkinter.filedialog.SEL_FIRST tkinter.filedialog.SEL_LAST tkinter.filedialog.SEPARATOR tkinter.filedialog.SINGLE tkinter.filedialog.SOLID tkinter.filedialog.SUNKEN tkinter.filedialog.SW tkinter.filedialog.SaveAs(??) tkinter.filedialog.SaveFileDialog(??) tkinter.filedialog.Scale(??) tkinter.filedialog.Scrollbar(??) tkinter.filedialog.Spinbox(??) tkinter.filedialog.StringVar(??) tkinter.filedialog.TOP tkinter.filedialog.TRUE tkinter.filedialog.Tcl(??) tkinter.filedialog.TclError(??) tkinter.filedialog.TclVersion tkinter.filedialog.Text(??) tkinter.filedialog.Tk(??) tkinter.filedialog.TkVersion tkinter.filedialog.Toplevel(??) tkinter.filedialog.UNDERLINE tkinter.filedialog.UNITS tkinter.filedialog.VERTICAL tkinter.filedialog.Variable(??) tkinter.filedialog.W tkinter.filedialog.WORD tkinter.filedialog.WRITABLE tkinter.filedialog.Widget(??) tkinter.filedialog.Wm(??) tkinter.filedialog.X tkinter.filedialog.XView(??) tkinter.filedialog.Y tkinter.filedialog.YES tkinter.filedialog.YView(??) tkinter.filedialog.askdirectory(??) tkinter.filedialog.askopenfile(??) tkinter.filedialog.askopenfilename(??) tkinter.filedialog.askopenfilenames(??) tkinter.filedialog.askopenfiles(??) tkinter.filedialog.asksaveasfile(??) tkinter.filedialog.asksaveasfilename(??) tkinter.filedialog.colorchooser(??) tkinter.filedialog.commondialog(??) tkinter.filedialog.constants(??) tkinter.filedialog.dialog(??) tkinter.filedialog.dialogstates(??) tkinter.filedialog.dnd(??) tkinter.filedialog.enum(??) tkinter.filedialog.fnmatch(??) tkinter.filedialog.getboolean(??) tkinter.filedialog.getdouble(??) tkinter.filedialog.getint(??) tkinter.filedialog.image_names(??) tkinter.filedialog.image_types(??) tkinter.filedialog.mainloop(??) tkinter.filedialog.messagebox(??) tkinter.filedialog.os(??) tkinter.filedialog.re(??) tkinter.filedialog.scrolledtext(??) tkinter.filedialog.sys(??) tkinter.filedialog.test(??) tkinter.filedialog.ttk(??) tkinter.filedialog.wantobjects tkinter.font.BOLD tkinter.font.Font(??) tkinter.font.ITALIC tkinter.font.NORMAL tkinter.font.ROMAN tkinter.font.families(??) tkinter.font.itertools(??) tkinter.font.names(??) tkinter.font.nametofont(??) tkinter.font.tkinter(??) tkinter.getboolean(??) tkinter.getdouble(??) tkinter.getint(??) tkinter.image_names(??) tkinter.image_types(??) tkinter.mainloop(??) tkinter.messagebox(??) tkinter.messagebox.ABORT tkinter.messagebox.ABORTRETRYIGNORE tkinter.messagebox.CANCEL tkinter.messagebox.Dialog(??) tkinter.messagebox.ERROR tkinter.messagebox.IGNORE tkinter.messagebox.INFO tkinter.messagebox.Message(??) tkinter.messagebox.NO tkinter.messagebox.OK tkinter.messagebox.OKCANCEL tkinter.messagebox.QUESTION tkinter.messagebox.RETRY tkinter.messagebox.RETRYCANCEL tkinter.messagebox.WARNING tkinter.messagebox.YES tkinter.messagebox.YESNO tkinter.messagebox.YESNOCANCEL tkinter.messagebox.askokcancel(??) tkinter.messagebox.askquestion(??) tkinter.messagebox.askretrycancel(??) tkinter.messagebox.askyesno(??) tkinter.messagebox.askyesnocancel(??) tkinter.messagebox.showerror(??) tkinter.messagebox.showinfo(??) tkinter.messagebox.showwarning(??) tkinter.re(??) tkinter.scrolledtext(??) tkinter.scrolledtext.BOTH tkinter.scrolledtext.Frame(??) tkinter.scrolledtext.Grid(??) tkinter.scrolledtext.LEFT tkinter.scrolledtext.Pack(??) tkinter.scrolledtext.Place(??) tkinter.scrolledtext.RIGHT tkinter.scrolledtext.Scrollbar(??) tkinter.scrolledtext.ScrolledText(??) tkinter.scrolledtext.Text(??) tkinter.scrolledtext.Y tkinter.scrolledtext.example(??) tkinter.simpledialog.ACTIVE tkinter.simpledialog.ALL tkinter.simpledialog.ANCHOR tkinter.simpledialog.ARC tkinter.simpledialog.BASELINE tkinter.simpledialog.BEVEL tkinter.simpledialog.BOTH tkinter.simpledialog.BOTTOM tkinter.simpledialog.BROWSE tkinter.simpledialog.BUTT tkinter.simpledialog.BaseWidget(??) tkinter.simpledialog.BitmapImage(??) tkinter.simpledialog.BooleanVar(??) tkinter.simpledialog.Button(??) tkinter.simpledialog.CASCADE tkinter.simpledialog.CENTER tkinter.simpledialog.CHAR tkinter.simpledialog.CHECKBUTTON tkinter.simpledialog.CHORD tkinter.simpledialog.COMMAND tkinter.simpledialog.CURRENT tkinter.simpledialog.CallWrapper(??) tkinter.simpledialog.Canvas(??) tkinter.simpledialog.Checkbutton(??) tkinter.simpledialog.DISABLED tkinter.simpledialog.DOTBOX tkinter.simpledialog.Dialog(??) tkinter.simpledialog.DoubleVar(??) tkinter.simpledialog.E tkinter.simpledialog.END tkinter.simpledialog.EW tkinter.simpledialog.EXCEPTION tkinter.simpledialog.EXTENDED tkinter.simpledialog.Entry(??) tkinter.simpledialog.Event(??) tkinter.simpledialog.EventType(??) tkinter.simpledialog.FALSE tkinter.simpledialog.FIRST tkinter.simpledialog.FLAT tkinter.simpledialog.Frame(??) tkinter.simpledialog.GROOVE tkinter.simpledialog.Grid(??) tkinter.simpledialog.HIDDEN tkinter.simpledialog.HORIZONTAL tkinter.simpledialog.INSERT tkinter.simpledialog.INSIDE tkinter.simpledialog.Image(??) tkinter.simpledialog.IntVar(??) tkinter.simpledialog.LAST tkinter.simpledialog.LEFT tkinter.simpledialog.Label(??) tkinter.simpledialog.LabelFrame(??) tkinter.simpledialog.Listbox(??) tkinter.simpledialog.MITER tkinter.simpledialog.MOVETO tkinter.simpledialog.MULTIPLE tkinter.simpledialog.Menu(??) tkinter.simpledialog.Menubutton(??) tkinter.simpledialog.Message(??) tkinter.simpledialog.Misc(??) tkinter.simpledialog.N tkinter.simpledialog.NE tkinter.simpledialog.NO tkinter.simpledialog.NONE tkinter.simpledialog.NORMAL tkinter.simpledialog.NS tkinter.simpledialog.NSEW tkinter.simpledialog.NUMERIC tkinter.simpledialog.NW tkinter.simpledialog.NoDefaultRoot(??) tkinter.simpledialog.OFF tkinter.simpledialog.ON tkinter.simpledialog.OUTSIDE tkinter.simpledialog.OptionMenu(??) tkinter.simpledialog.PAGES tkinter.simpledialog.PIESLICE tkinter.simpledialog.PROJECTING tkinter.simpledialog.Pack(??) tkinter.simpledialog.PanedWindow(??) tkinter.simpledialog.PhotoImage(??) tkinter.simpledialog.Place(??) tkinter.simpledialog.RADIOBUTTON tkinter.simpledialog.RAISED tkinter.simpledialog.READABLE tkinter.simpledialog.RIDGE tkinter.simpledialog.RIGHT tkinter.simpledialog.ROUND tkinter.simpledialog.Radiobutton(??) tkinter.simpledialog.S tkinter.simpledialog.SCROLL tkinter.simpledialog.SE tkinter.simpledialog.SEL tkinter.simpledialog.SEL_FIRST tkinter.simpledialog.SEL_LAST tkinter.simpledialog.SEPARATOR tkinter.simpledialog.SINGLE tkinter.simpledialog.SOLID tkinter.simpledialog.SUNKEN tkinter.simpledialog.SW tkinter.simpledialog.Scale(??) tkinter.simpledialog.Scrollbar(??) tkinter.simpledialog.SimpleDialog(??) tkinter.simpledialog.Spinbox(??) tkinter.simpledialog.StringVar(??) tkinter.simpledialog.TOP tkinter.simpledialog.TRUE tkinter.simpledialog.Tcl(??) tkinter.simpledialog.TclError(??) tkinter.simpledialog.TclVersion tkinter.simpledialog.Text(??) tkinter.simpledialog.Tk(??) tkinter.simpledialog.TkVersion tkinter.simpledialog.Toplevel(??) tkinter.simpledialog.UNDERLINE tkinter.simpledialog.UNITS tkinter.simpledialog.VERTICAL tkinter.simpledialog.Variable(??) tkinter.simpledialog.W tkinter.simpledialog.WORD tkinter.simpledialog.WRITABLE tkinter.simpledialog.Widget(??) tkinter.simpledialog.Wm(??) tkinter.simpledialog.X tkinter.simpledialog.XView(??) tkinter.simpledialog.Y tkinter.simpledialog.YES tkinter.simpledialog.YView(??) tkinter.simpledialog.askfloat(??) tkinter.simpledialog.askinteger(??) tkinter.simpledialog.askstring(??) tkinter.simpledialog.colorchooser(??) tkinter.simpledialog.commondialog(??) tkinter.simpledialog.constants(??) tkinter.simpledialog.dialog(??) tkinter.simpledialog.dnd(??) tkinter.simpledialog.enum(??) tkinter.simpledialog.filedialog(??) tkinter.simpledialog.font(??) tkinter.simpledialog.getboolean(??) tkinter.simpledialog.getdouble(??) tkinter.simpledialog.getint(??) tkinter.simpledialog.image_names(??) tkinter.simpledialog.image_types(??) tkinter.simpledialog.mainloop(??) tkinter.simpledialog.messagebox(??) tkinter.simpledialog.re(??) tkinter.simpledialog.scrolledtext(??) tkinter.simpledialog.sys(??) tkinter.simpledialog.tix(??) tkinter.simpledialog.tkinter(??) tkinter.simpledialog.ttk(??) tkinter.simpledialog.wantobjects tkinter.sys(??) tkinter.tix.ACROSSTOP tkinter.tix.ACTIVE tkinter.tix.ALL tkinter.tix.ANCHOR tkinter.tix.ARC tkinter.tix.ASCII tkinter.tix.AUTO tkinter.tix.BALLOON tkinter.tix.BASELINE tkinter.tix.BEVEL tkinter.tix.BOTH tkinter.tix.BOTTOM tkinter.tix.BROWSE tkinter.tix.BUTT tkinter.tix.Balloon(??) tkinter.tix.BaseWidget(??) tkinter.tix.BitmapImage(??) tkinter.tix.BooleanVar(??) tkinter.tix.Button(??) tkinter.tix.ButtonBox(??) tkinter.tix.CASCADE tkinter.tix.CELL tkinter.tix.CENTER tkinter.tix.CHAR tkinter.tix.CHECKBUTTON tkinter.tix.CHORD tkinter.tix.COLUMN tkinter.tix.COMMAND tkinter.tix.CObjView(??) tkinter.tix.CURRENT tkinter.tix.CallWrapper(??) tkinter.tix.Canvas(??) tkinter.tix.CheckList(??) tkinter.tix.Checkbutton(??) tkinter.tix.ComboBox(??) tkinter.tix.Control(??) tkinter.tix.DECREASING tkinter.tix.DISABLED tkinter.tix.DOTBOX tkinter.tix.DialogShell(??) tkinter.tix.DirList(??) tkinter.tix.DirSelectBox(??) tkinter.tix.DirSelectDialog(??) tkinter.tix.DirTree(??) tkinter.tix.DisplayStyle(??) tkinter.tix.DoubleVar(??) tkinter.tix.E tkinter.tix.END tkinter.tix.EW tkinter.tix.EXCEPTION tkinter.tix.EXTENDED tkinter.tix.Entry(??) tkinter.tix.Event(??) tkinter.tix.EventType(??) tkinter.tix.ExFileSelectBox(??) tkinter.tix.ExFileSelectDialog(??) tkinter.tix.FALSE tkinter.tix.FIRST tkinter.tix.FLAT tkinter.tix.FileEntry(??) tkinter.tix.FileSelectBox(??) tkinter.tix.FileSelectDialog(??) tkinter.tix.FileTypeList(??) tkinter.tix.Form(??) tkinter.tix.Frame(??) tkinter.tix.GROOVE tkinter.tix.Grid(??) tkinter.tix.HIDDEN tkinter.tix.HList(??) tkinter.tix.HORIZONTAL tkinter.tix.IMAGE tkinter.tix.IMAGETEXT tkinter.tix.IMMEDIATE tkinter.tix.INCREASING tkinter.tix.INSERT tkinter.tix.INSIDE tkinter.tix.INTEGER tkinter.tix.Image(??) tkinter.tix.InputOnly(??) tkinter.tix.IntVar(??) tkinter.tix.LAST tkinter.tix.LEFT tkinter.tix.Label(??) tkinter.tix.LabelEntry(??) tkinter.tix.LabelFrame(??) tkinter.tix.ListNoteBook(??) tkinter.tix.Listbox(??) tkinter.tix.MAIN tkinter.tix.MAX tkinter.tix.MITER tkinter.tix.MOVETO tkinter.tix.MULTIPLE tkinter.tix.Menu(??) tkinter.tix.Menubutton(??) tkinter.tix.Message(??) tkinter.tix.Meter(??) tkinter.tix.Misc(??) tkinter.tix.N tkinter.tix.NE tkinter.tix.NO tkinter.tix.NONE tkinter.tix.NORMAL tkinter.tix.NS tkinter.tix.NSEW tkinter.tix.NUMERIC tkinter.tix.NW tkinter.tix.NoDefaultRoot(??) tkinter.tix.NoteBook(??) tkinter.tix.NoteBookFrame(??) tkinter.tix.OFF tkinter.tix.ON tkinter.tix.OUTSIDE tkinter.tix.OptionMenu(??) tkinter.tix.OptionName(??) tkinter.tix.PAGES tkinter.tix.PIESLICE tkinter.tix.PROJECTING tkinter.tix.Pack(??) tkinter.tix.PanedWindow(??) tkinter.tix.PhotoImage(??) tkinter.tix.Place(??) tkinter.tix.PopupMenu(??) tkinter.tix.RADIOBUTTON tkinter.tix.RAISED tkinter.tix.READABLE tkinter.tix.REAL tkinter.tix.RIDGE tkinter.tix.RIGHT tkinter.tix.ROUND tkinter.tix.ROW tkinter.tix.Radiobutton(??) tkinter.tix.ResizeHandle(??) tkinter.tix.S tkinter.tix.SCROLL tkinter.tix.SE tkinter.tix.SEL tkinter.tix.SEL_FIRST tkinter.tix.SEL_LAST tkinter.tix.SEPARATOR tkinter.tix.SINGLE tkinter.tix.SOLID tkinter.tix.STATUS tkinter.tix.SUNKEN tkinter.tix.SW tkinter.tix.S_REGION tkinter.tix.Scale(??) tkinter.tix.Scrollbar(??) tkinter.tix.ScrolledGrid(??) tkinter.tix.ScrolledHList(??) tkinter.tix.ScrolledListBox(??) tkinter.tix.ScrolledTList(??) tkinter.tix.ScrolledText(??) tkinter.tix.ScrolledWindow(??) tkinter.tix.Select(??) tkinter.tix.Shell(??) tkinter.tix.Spinbox(??) tkinter.tix.StdButtonBox(??) tkinter.tix.StringVar(??) tkinter.tix.TCL_ALL_EVENTS tkinter.tix.TCL_DONT_WAIT tkinter.tix.TCL_FILE_EVENTS tkinter.tix.TCL_IDLE_EVENTS tkinter.tix.TCL_TIMER_EVENTS tkinter.tix.TCL_WINDOW_EVENTS tkinter.tix.TEXT tkinter.tix.TList(??) tkinter.tix.TOP tkinter.tix.TRUE tkinter.tix.Tcl(??) tkinter.tix.TclError(??) tkinter.tix.TclVersion tkinter.tix.Text(??) tkinter.tix.TixSubWidget(??) tkinter.tix.TixWidget(??) tkinter.tix.Tk(??) tkinter.tix.TkVersion tkinter.tix.Toplevel(??) tkinter.tix.Tree(??) tkinter.tix.UNDERLINE tkinter.tix.UNITS tkinter.tix.VERTICAL tkinter.tix.Variable(??) tkinter.tix.W tkinter.tix.WINDOW tkinter.tix.WORD tkinter.tix.WRITABLE tkinter.tix.Widget(??) tkinter.tix.Wm(??) tkinter.tix.X tkinter.tix.XView(??) tkinter.tix.X_REGION tkinter.tix.Y tkinter.tix.YES tkinter.tix.YView(??) tkinter.tix.Y_REGION tkinter.tix.colorchooser(??) tkinter.tix.commondialog(??) tkinter.tix.constants(??) tkinter.tix.dialog(??) tkinter.tix.dnd(??) tkinter.tix.enum(??) tkinter.tix.filedialog(??) tkinter.tix.font(??) tkinter.tix.getboolean(??) tkinter.tix.getdouble(??) tkinter.tix.getint(??) tkinter.tix.image_names(??) tkinter.tix.image_types(??) tkinter.tix.mainloop(??) tkinter.tix.messagebox(??) tkinter.tix.os(??) tkinter.tix.re(??) tkinter.tix.scrolledtext(??) tkinter.tix.sys(??) tkinter.tix.tixCommand(??) tkinter.tix.tkinter(??) tkinter.tix.ttk(??) tkinter.tix.wantobjects tkinter.ttk.Button(??) tkinter.ttk.Checkbutton(??) tkinter.ttk.Combobox(??) tkinter.ttk.Entry(??) tkinter.ttk.Frame(??) tkinter.ttk.Label(??) tkinter.ttk.LabelFrame(??) tkinter.ttk.LabeledScale(??) tkinter.ttk.Labelframe(??) tkinter.ttk.Menubutton(??) tkinter.ttk.Notebook(??) tkinter.ttk.OptionMenu(??) tkinter.ttk.PanedWindow(??) tkinter.ttk.Panedwindow(??) tkinter.ttk.Progressbar(??) tkinter.ttk.Radiobutton(??) tkinter.ttk.Scale(??) tkinter.ttk.Scrollbar(??) tkinter.ttk.Separator(??) tkinter.ttk.Sizegrip(??) tkinter.ttk.Spinbox(??) tkinter.ttk.Style(??) tkinter.ttk.Treeview(??) tkinter.ttk.Widget(??) tkinter.ttk.setup_master(??) tkinter.ttk.tclobjs_to_py(??) tkinter.ttk.tkinter(??) tkinter.wantobjects token.AMPER token.AMPEREQUAL token.ASYNC token.AT token.ATEQUAL token.AWAIT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COLONEQUAL token.COMMA token.COMMENT token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENCODING token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.EXACT_TOKEN_TYPES(??) token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NL token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.TYPE_COMMENT token.TYPE_IGNORE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.ASYNC tokenize.AT tokenize.ATEQUAL tokenize.AWAIT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COLONEQUAL tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.EXACT_TOKEN_TYPES(??) tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.StringPrefix tokenize.TILDE tokenize.TYPE_COMMENT tokenize.TYPE_IGNORE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.blank_re(??) tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.endpats(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(??) tokenize.main(??) tokenize.maybe(??) tokenize.open(??) tokenize.re(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.triple_quoted(??) tokenize.u tokenize.untokenize(??) trace.CoverageResults(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.dis(??) trace.gc(??) trace.inspect(??) trace.linecache(??) trace.main(??) trace.os(??) trace.pickle(??) trace.sys(??) trace.threading(??) trace.token(??) trace.tokenize(??) traceback.FrameSummary(??) traceback.StackSummary(??) traceback.TracebackException(??) traceback.clear_frames(??) traceback.collections(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.itertools(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) traceback.walk_stack(??) traceback.walk_tb(??) tracemalloc.BaseFilter(??) tracemalloc.DomainFilter(??) tracemalloc.Filter(??) tracemalloc.Frame(??) tracemalloc.Iterable(??) tracemalloc.Sequence(??) tracemalloc.Snapshot(??) tracemalloc.Statistic(??) tracemalloc.StatisticDiff(??) tracemalloc.Trace(??) tracemalloc.Traceback(??) tracemalloc.clear_traces(??) tracemalloc.fnmatch(??) tracemalloc.get_object_traceback(??) tracemalloc.get_traceback_limit(??) tracemalloc.get_traced_memory(??) tracemalloc.get_tracemalloc_memory(??) tracemalloc.is_tracing(??) tracemalloc.linecache(??) tracemalloc.os(??) tracemalloc.pickle(??) tracemalloc.start(??) tracemalloc.stop(??) tracemalloc.take_snapshot(??) tracemalloc.total_ordering(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.ISIG tty.ISPEED tty.ISTRIP tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSASOFT tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGPGRP tty.TIOCGWINSZ tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSETD tty.TIOCSPGRP tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple(??) turtle.Canvas(??) turtle.Pen(??) turtle.RawPen(??) turtle.RawTurtle(??) turtle.Screen(??) turtle.ScrolledCanvas(??) turtle.Shape(??) turtle.TK(??) turtle.TNavigator(??) turtle.TPen(??) turtle.Tbuffer(??) turtle.Terminator(??) turtle.Turtle(??) turtle.TurtleGraphicsError(??) turtle.TurtleScreen(??) turtle.TurtleScreenBase(??) turtle.Vec2D(??) turtle.addshape(??) turtle.back(??) turtle.backward(??) turtle.begin_fill(??) turtle.begin_poly(??) turtle.bgcolor(??) turtle.bgpic(??) turtle.bk(??) turtle.bye(??) turtle.circle(??) turtle.clear(??) turtle.clearscreen(??) turtle.clearstamp(??) turtle.clearstamps(??) turtle.clone(??) turtle.color(??) turtle.colormode(??) turtle.config_dict(??) turtle.deepcopy(??) turtle.degrees(??) turtle.delay(??) turtle.distance(??) turtle.done(??) turtle.dot(??) turtle.down(??) turtle.end_fill(??) turtle.end_poly(??) turtle.exitonclick(??) turtle.fd(??) turtle.fillcolor(??) turtle.filling(??) turtle.forward(??) turtle.get_poly(??) turtle.get_shapepoly(??) turtle.getcanvas(??) turtle.getmethparlist(??) turtle.getpen(??) turtle.getscreen(??) turtle.getshapes(??) turtle.getturtle(??) turtle.goto(??) turtle.heading(??) turtle.hideturtle(??) turtle.home(??) turtle.ht(??) turtle.inspect(??) turtle.isdown(??) turtle.isfile(??) turtle.isvisible(??) turtle.join(??) turtle.left(??) turtle.listen(??) turtle.lt(??) turtle.mainloop(??) turtle.math(??) turtle.mode(??) turtle.numinput(??) turtle.onclick(??) turtle.ondrag(??) turtle.onkey(??) turtle.onkeypress(??) turtle.onkeyrelease(??) turtle.onrelease(??) turtle.onscreenclick(??) turtle.ontimer(??) turtle.pd(??) turtle.pen(??) turtle.pencolor(??) turtle.pendown(??) turtle.pensize(??) turtle.penup(??) turtle.pos(??) turtle.position(??) turtle.pu(??) turtle.radians(??) turtle.read_docstrings(??) turtle.readconfig(??) turtle.register_shape(??) turtle.reset(??) turtle.resetscreen(??) turtle.resizemode(??) turtle.right(??) turtle.rt(??) turtle.screensize(??) turtle.seth(??) turtle.setheading(??) turtle.setpos(??) turtle.setposition(??) turtle.settiltangle(??) turtle.setundobuffer(??) turtle.setup(??) turtle.setworldcoordinates(??) turtle.setx(??) turtle.sety(??) turtle.shape(??) turtle.shapesize(??) turtle.shapetransform(??) turtle.shearfactor(??) turtle.showturtle(??) turtle.simpledialog(??) turtle.speed(??) turtle.split(??) turtle.st(??) turtle.stamp(??) turtle.sys(??) turtle.textinput(??) turtle.tilt(??) turtle.tiltangle(??) turtle.time(??) turtle.title(??) turtle.towards(??) turtle.tracer(??) turtle.turtles(??) turtle.turtlesize(??) turtle.types(??) turtle.undo (repeatedly) the last turtle action. turtle.undobufferentries(??) turtle.up(??) turtle.update(??) turtle.width(??) turtle.window_height(??) turtle.window_width(??) turtle.write(??) turtle.write_docstringdict(??) turtle.xcor(??) turtle.ycor(??) type(object_or_name, bases, dict) types.AsyncGeneratorType(??) types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CellType(??) types.ClassMethodDescriptorType(??) types.CodeType(??) types.CoroutineType(??) types.DynamicClassAttribute(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MappingProxyType(??) types.MemberDescriptorType(??) types.MethodDescriptorType(??) types.MethodType(??) types.MethodWrapperType(??) types.ModuleType(??) types.SimpleNamespace(??) types.TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno) types.WrapperDescriptorType(??) types.coroutine(??) types.new_class(??) types.prepare_class(??) types.resolve_bases(??) typing.ABCMeta(??) typing.AbstractSet(??) typing.Any(??) typing.AnyStr(??) typing.AsyncContextManager(??) typing.AsyncGenerator(??) typing.AsyncIterable(??) typing.AsyncIterator(??) typing.Awaitable(??) typing.BinaryIO(??) typing.ByteString(??) typing.CT_co(??) typing.Callable(??) typing.ChainMap(??) typing.ClassVar(??) typing.Collection(??) typing.Container(??) typing.ContextManager(??) typing.Coroutine(??) typing.Counter(??) typing.DefaultDict(??) typing.Deque(??) typing.Dict(??) typing.EXCLUDED_ATTRIBUTES(??) typing.Final(??) typing.ForwardRef(??) typing.FrozenSet(??) typing.Generator(??) typing.Generic(??) typing.Hashable(??) typing.IO(??) typing.ItemsView(??) typing.Iterable(??) typing.Iterator(??) typing.KT(??) typing.KeysView(??) typing.List(??) typing.Literal(??) typing.Mapping(??) typing.MappingView(??) typing.Match(??) typing.MethodDescriptorType(??) typing.MethodWrapperType(??) typing.MutableMapping(??) typing.MutableSequence(??) typing.MutableSet(??) typing.NamedTuple(??) typing.NamedTupleMeta(??) typing.NewType(??) typing.NoReturn(??) typing.Optional(??) typing.OrderedDict(??) typing.Pattern(??) typing.Protocol(??) typing.Reversible(??) typing.Sequence(??) typing.Set(??) typing.Sized(??) typing.SupportsAbs(??) typing.SupportsBytes(??) typing.SupportsComplex(??) typing.SupportsFloat(??) typing.SupportsIndex(??) typing.SupportsInt(??) typing.SupportsRound(??) typing.T(??) typing.TYPE_CHECKING(??) typing.T_co(??) typing.T_contra(??) typing.Text(??) typing.TextIO(??) typing.Tuple(??) typing.Type(??) typing.TypeVar(??) typing.TypedDict(??) typing.Union(??) typing.VT(??) typing.VT_co(??) typing.V_co(??) typing.ValuesView(??) typing.WrapperDescriptorType(??) typing.abstractmethod(??) typing.abstractproperty(??) typing.cast(??) typing.collections(??) typing.contextlib(??) typing.final(??) typing.functools(??) typing.get_args(??) typing.get_origin(??) typing.get_type_hints(??) typing.io(??) typing.no_type_check(??) typing.no_type_check_decorator(??) typing.operator(??) typing.overload(??) typing.re(??) typing.runtime_checkable(??) typing.stdlib_re(??) typing.sys(??) typing.types(??) urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.re(??) urllib.parse.scheme_chars urllib.parse.splitattr(??) urllib.parse.splithost(??) urllib.parse.splitnport(??) urllib.parse.splitpasswd(??) urllib.parse.splitport(??) urllib.parse.splitquery(??) urllib.parse.splittag(??) urllib.parse.splittype(??) urllib.parse.splituser(??) urllib.parse.splitvalue(??) urllib.parse.sys(??) urllib.parse.to_bytes(??) urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap(??) urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.parse.warnings(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.DataHandler(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPPasswordMgrWithPriorAuth(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.contextlib(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.getproxies_macosx_sysconf(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.proxy_bypass_macosx_sysconf(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.ssl(??) urllib.request.string(??) urllib.request.sys(??) urllib.request.tempfile(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.unquote(??) urllib.request.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.request.unwrap(??) urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.request.warnings(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.response.tempfile(??) urllib.robotparser.Entry(??) urllib.robotparser.RequestRate(requests, seconds) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.collections(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.Enum(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.SafeUUID(??) uuid.UUID(??) uuid.bytes_(??) uuid.getnode(??) uuid.int_(??) uuid.os(??) uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary venv.EnvBuilder(??) venv.create(??) venv.logger(??) venv.logging(??) venv.main(??) venv.os(??) venv.shutil(??) venv.subprocess(??) venv.sys(??) venv.sysconfig(??) venv.types(??) warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.audioop(??) wave.builtins(??) wave.namedtuple(??) wave.open(??) wave.openfp(??) wave.struct(??) wave.sys(??) wave.warnings(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakMethod(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.finalize(??) weakref.getweakrefcount(??) weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.itertools(??) weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) weakref.sys(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Chrome(??) webbrowser.Chromium(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.MacOSX(??) webbrowser.MacOSXOSAScript(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.register_standard_browsers(??) webbrowser.shlex(??) webbrowser.shutil(??) webbrowser.subprocess(??) webbrowser.sys(??) webbrowser.threading(??) wsgiref.handlers(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.python_implementation(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO(??) xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.raise_conversion_error(??) xdrlib.struct(??) xdrlib.wraps(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.sys(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat(??) xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder(??) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.warnings(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementPath(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree(??) xml.etree.ElementTree.C14NWriterTarget(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLPullParser(??) xml.etree.ElementTree.canonicalize(??) xml.etree.ElementTree.collections(??) xml.etree.ElementTree.contextlib(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.io(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree(??) xml.etree.cElementTree.C14NWriterTarget(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.XMLPullParser(??) xml.etree.cElementTree.canonicalize(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(??) xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate(??) xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.codecs(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.io(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO(??) xmlrpc.client.DateTime(??) xmlrpc.client.Decimal(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.loads(??) xmlrpc.client.sys(??) xmlrpc.client.time(??) xmlrpc.client.urllib(??) xmlrpc.server(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.http(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.partial(func, *args, **keywords) - new function with partial application xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.signature(??) xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(iter1 [,iter2 [...]]) --> zip object zipapp.MAIN_TEMPLATE zipapp.ZipAppError(??) zipapp.contextlib(??) zipapp.create_archive(??) zipapp.get_interpreter(??) zipapp.main(??) zipapp.os(??) zipapp.pathlib(??) zipapp.shebang_encoding zipapp.shutil(??) zipapp.stat(??) zipapp.sys(??) zipapp.zipfile(??) zipfile.BZIP2_VERSION zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.DEFAULT_VERSION zipfile.LZMACompressor(??) zipfile.LZMADecompressor(??) zipfile.LZMA_VERSION zipfile.LargeZipFile(??) zipfile.MAX_EXTRACT_VERSION zipfile.Path(??) zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP64_VERSION zipfile.ZIP_BZIP2 zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_LZMA zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.bz2(??) zipfile.compressor_names(??) zipfile.crc32(??) zipfile.error(??) zipfile.functools(??) zipfile.importlib(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.lzma(??) zipfile.main(??) zipfile.os(??) zipfile.posixpath(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.threading(??) zipfile.time(??) zipfile.zlib(??) zipimport.END_CENTRAL_DIR_SIZE zipimport.MAX_COMMENT_LEN zipimport.STRING_END_ARCHIVE zipimport.ZipImportError(??) zipimport.alt_path_sep zipimport.cp437_table zipimport.marshal(??) zipimport.path_sep zipimport.sys(??) zipimport.time(??) zipimport.zipimporter(archivepath) -> zipimporter object ================================================ FILE: src/qscint/qsci/api/python/Python-3.9.api ================================================ ArithmeticError(??) AssertionError(??) AttributeError(??) BaseException(??) BlockingIOError(??) BrokenPipeError(??) BufferError(??) BytesWarning(??) ChildProcessError(??) ConnectionAbortedError(??) ConnectionError(??) ConnectionRefusedError(??) ConnectionResetError(??) DeprecationWarning(??) EOFError(??) Ellipsis(??) EnvironmentError(??) Exception(??) False(??) FileExistsError(??) FileNotFoundError(??) FloatingPointError(??) FutureWarning(??) GeneratorExit(??) IOError(??) ImportError(??) ImportWarning(??) IndentationError(??) IndexError(??) InterruptedError(??) IsADirectoryError(??) KeyError(??) KeyboardInterrupt(??) LookupError(??) MemoryError(??) ModuleNotFoundError(??) NameError(??) None(??) NotADirectoryError(??) NotImplemented(??) NotImplementedError(??) OSError(??) OverflowError(??) PendingDeprecationWarning(??) PermissionError(??) ProcessLookupError(??) RecursionError(??) ReferenceError(??) ResourceWarning(??) RuntimeError(??) RuntimeWarning(??) StopAsyncIteration(??) StopIteration(??) SyntaxError(??) SyntaxWarning(??) SystemError(??) SystemExit(??) TabError(??) TimeoutError(??) True(??) TypeError(??) UnboundLocalError(??) UnicodeDecodeError(??) UnicodeEncodeError(??) UnicodeError(??) UnicodeTranslateError(??) UnicodeWarning(??) UserWarning(??) ValueError(??) Warning(??) ZeroDivisionError(??) abc.ABC(??) abc.ABCMeta(??) abc.abstractclassmethod(??) abc.abstractmethod(??) abc.abstractproperty(??) abc.abstractstaticmethod(??) abc.get_cache_token(??) abs(??) aifc.Aifc_read(??) aifc.Aifc_write(??) aifc.Chunk(??) aifc.Error(??) aifc.builtins(??) aifc.namedtuple(??) aifc.open(??) aifc.struct(??) aifc.warnings(??) all(??) any(??) argparse.Action(??) argparse.ArgumentDefaultsHelpFormatter(??) argparse.ArgumentError(??) argparse.ArgumentParser(??) argparse.ArgumentTypeError(??) argparse.BooleanOptionalAction(??) argparse.FileType(??) argparse.HelpFormatter(??) argparse.MetavarTypeHelpFormatter(??) argparse.Namespace(??) argparse.ONE_OR_MORE argparse.OPTIONAL argparse.PARSER argparse.REMAINDER argparse.RawDescriptionHelpFormatter(??) argparse.RawTextHelpFormatter(??) argparse.SUPPRESS argparse.ZERO_OR_MORE argparse.ngettext(??) ascii(??) ast.AST(??) ast.Add(??) ast.And(??) ast.AnnAssign(expr target, expr annotation, expr? value, int simple) ast.Assert(expr test, expr? msg) ast.Assign(expr* targets, expr value, string? type_comment) ast.AsyncFor(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment) ast.AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment) ast.AsyncWith(withitem* items, stmt* body, string? type_comment) ast.Attribute(expr value, identifier attr, expr_context ctx) ast.AugAssign(expr target, operator op, expr value) ast.AugLoad(??) ast.AugStore(??) ast.Await(expr value) ast.BinOp(expr left, operator op, expr right) ast.BitAnd(??) ast.BitOr(??) ast.BitXor(??) ast.BoolOp(boolop op, expr* values) ast.Break(??) ast.Bytes(??) ast.Call(expr func, expr* args, keyword* keywords) ast.ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list) ast.Compare(expr left, cmpop* ops, expr* comparators) ast.Constant(constant value, string? kind) ast.Continue(??) ast.Del(??) ast.Delete(expr* targets) ast.Dict(expr* keys, expr* values) ast.DictComp(expr key, expr value, comprehension* generators) ast.Div(??) ast.Ellipsis(??) ast.Eq(??) ast.ExceptHandler(expr? type, identifier? name, stmt* body) ast.Expr(expr value) ast.Expression(expr body) ast.ExtSlice(??) ast.FloorDiv(??) ast.For(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment) ast.FormattedValue(expr value, int? conversion, expr? format_spec) ast.FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment) ast.FunctionType(expr* argtypes, expr returns) ast.GeneratorExp(expr elt, comprehension* generators) ast.Global(identifier* names) ast.Gt(??) ast.GtE(??) ast.If(expr test, stmt* body, stmt* orelse) ast.IfExp(expr test, expr body, expr orelse) ast.Import(alias* names) ast.ImportFrom(identifier? module, alias* names, int? level) ast.In(??) ast.Index(??) ast.IntEnum(??) ast.Interactive(stmt* body) ast.Invert(??) ast.Is(??) ast.IsNot(??) ast.JoinedStr(expr* values) ast.LShift(??) ast.Lambda(arguments args, expr body) ast.List(expr* elts, expr_context ctx) ast.ListComp(expr elt, comprehension* generators) ast.Load(??) ast.Lt(??) ast.LtE(??) ast.MatMult(??) ast.Mod(??) ast.Module(stmt* body, type_ignore* type_ignores) ast.Mult(??) ast.Name(identifier id, expr_context ctx) ast.NameConstant(??) ast.NamedExpr(expr target, expr value) ast.NodeTransformer(??) ast.NodeVisitor(??) ast.Nonlocal(identifier* names) ast.Not(??) ast.NotEq(??) ast.NotIn(??) ast.Num(??) ast.Or(??) ast.Param(??) ast.Pass(??) ast.Pow(??) ast.PyCF_ALLOW_TOP_LEVEL_AWAIT ast.PyCF_ONLY_AST ast.PyCF_TYPE_COMMENTS ast.RShift(??) ast.Raise(expr? exc, expr? cause) ast.Return(expr? value) ast.Set(expr* elts) ast.SetComp(expr elt, comprehension* generators) ast.Slice(expr? lower, expr? upper, expr? step) ast.Starred(expr value, expr_context ctx) ast.Store(??) ast.Str(??) ast.Sub(??) ast.Subscript(expr value, expr slice, expr_context ctx) ast.Suite(??) ast.Try(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody) ast.Tuple(expr* elts, expr_context ctx) ast.TypeIgnore(int lineno, string tag) ast.UAdd(??) ast.USub(??) ast.UnaryOp(unaryop op, expr operand) ast.While(expr test, stmt* body, stmt* orelse) ast.With(withitem* items, stmt* body, string? type_comment) ast.Yield(expr? value) ast.YieldFrom(expr value) ast.alias(identifier name, identifier? asname) ast.arg(identifier arg, expr? annotation, string? type_comment) ast.arguments(arg* posonlyargs, arg* args, arg? vararg, arg* kwonlyargs, expr* kw_defaults, arg? kwarg, expr* defaults) ast.auto(??) ast.boolop(??) ast.cmpop(??) ast.comprehension(expr target, expr iter, expr* ifs, int is_async) ast.contextmanager(??) ast.copy_location(??) ast.dump(??) ast.excepthandler(??) ast.expr(??) ast.expr_context(??) ast.fix_missing_locations(??) ast.get_docstring(??) ast.get_source_segment(??) ast.increment_lineno(??) ast.iter_child_nodes(??) ast.iter_fields(??) ast.keyword(identifier? arg, expr value) ast.literal_eval(??) ast.main(??) ast.mod(??) ast.nullcontext(??) ast.operator(??) ast.parse(??) ast.slice(??) ast.stmt(??) ast.sys(??) ast.type_ignore(??) ast.unaryop(??) ast.unparse(??) ast.walk(??) ast.withitem(expr context_expr, expr? optional_vars) asynchat.async_chat(??) asynchat.asyncore(??) asynchat.deque([iterable[, maxlen]]) --> deque object asynchat.find_prefix_at_end(??) asynchat.simple_producer(??) asyncio.ALL_COMPLETED asyncio.AbstractChildWatcher(??) asyncio.AbstractEventLoop(??) asyncio.AbstractEventLoopPolicy(??) asyncio.AbstractServer(??) asyncio.BaseEventLoop(??) asyncio.BaseProtocol(??) asyncio.BaseTransport(??) asyncio.BoundedSemaphore(??) asyncio.BufferedProtocol(??) asyncio.CancelledError(??) asyncio.Condition(??) asyncio.DatagramProtocol(??) asyncio.DatagramTransport(??) asyncio.DefaultEventLoopPolicy(??) asyncio.Event(??) asyncio.FIRST_COMPLETED asyncio.FIRST_EXCEPTION asyncio.FastChildWatcher(??) asyncio.Future(??) asyncio.Handle(??) asyncio.IncompleteReadError(??) asyncio.InvalidStateError(??) asyncio.LifoQueue(??) asyncio.LimitOverrunError(??) asyncio.Lock(??) asyncio.MultiLoopChildWatcher(??) asyncio.PidfdChildWatcher(??) asyncio.PriorityQueue(??) asyncio.Protocol(??) asyncio.Queue(??) asyncio.QueueEmpty(??) asyncio.QueueFull(??) asyncio.ReadTransport(??) asyncio.SafeChildWatcher(??) asyncio.SelectorEventLoop(??) asyncio.Semaphore(??) asyncio.SendfileNotAvailableError(??) asyncio.StreamReader(??) asyncio.StreamReaderProtocol(??) asyncio.StreamWriter(??) asyncio.SubprocessProtocol(??) asyncio.SubprocessTransport(??) asyncio.Task(??) asyncio.ThreadedChildWatcher(??) asyncio.TimeoutError(??) asyncio.TimerHandle(??) asyncio.Transport(??) asyncio.WriteTransport(??) asyncio.all_tasks(??) asyncio.as_completed(??) asyncio.base_events(??) asyncio.base_events.BaseEventLoop(??) asyncio.base_events.MAXIMUM_SELECT_TIMEOUT asyncio.base_events.Server(??) asyncio.base_events.collections(??) asyncio.base_events.concurrent(??) asyncio.base_events.constants(??) asyncio.base_events.coroutines(??) asyncio.base_events.events(??) asyncio.base_events.exceptions(??) asyncio.base_events.functools(??) asyncio.base_events.futures(??) asyncio.base_events.heapq(??) asyncio.base_events.itertools(??) asyncio.base_events.logger(??) asyncio.base_events.os(??) asyncio.base_events.protocols(??) asyncio.base_events.socket(??) asyncio.base_events.ssl(??) asyncio.base_events.sslproto(??) asyncio.base_events.staggered(??) asyncio.base_events.stat(??) asyncio.base_events.subprocess(??) asyncio.base_events.sys(??) asyncio.base_events.tasks(??) asyncio.base_events.threading(??) asyncio.base_events.time(??) asyncio.base_events.traceback(??) asyncio.base_events.transports(??) asyncio.base_events.trsock(??) asyncio.base_events.warnings(??) asyncio.base_events.weakref(??) asyncio.base_futures(??) asyncio.base_futures.format_helpers(??) asyncio.base_futures.isfuture(??) asyncio.base_futures.reprlib(??) asyncio.base_subprocess(??) asyncio.base_subprocess.BaseSubprocessTransport(??) asyncio.base_subprocess.ReadSubprocessPipeProto(??) asyncio.base_subprocess.WriteSubprocessPipeProto(??) asyncio.base_subprocess.collections(??) asyncio.base_subprocess.logger(??) asyncio.base_subprocess.protocols(??) asyncio.base_subprocess.subprocess(??) asyncio.base_subprocess.transports(??) asyncio.base_subprocess.warnings(??) asyncio.base_tasks(??) asyncio.base_tasks.base_futures(??) asyncio.base_tasks.coroutines(??) asyncio.base_tasks.linecache(??) asyncio.base_tasks.traceback(??) asyncio.constants(??) asyncio.constants.ACCEPT_RETRY_DELAY asyncio.constants.DEBUG_STACK_DEPTH asyncio.constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES asyncio.constants.SENDFILE_FALLBACK_READBUFFER_SIZE asyncio.constants.SSL_HANDSHAKE_TIMEOUT asyncio.constants.enum(??) asyncio.coroutine(??) asyncio.coroutines(??) asyncio.coroutines.CoroWrapper(??) asyncio.coroutines.base_futures(??) asyncio.coroutines.collections(??) asyncio.coroutines.constants(??) asyncio.coroutines.coroutine(??) asyncio.coroutines.format_helpers(??) asyncio.coroutines.functools(??) asyncio.coroutines.inspect(??) asyncio.coroutines.iscoroutine(??) asyncio.coroutines.iscoroutinefunction(??) asyncio.coroutines.logger(??) asyncio.coroutines.os(??) asyncio.coroutines.sys(??) asyncio.coroutines.traceback(??) asyncio.coroutines.types(??) asyncio.coroutines.warnings(??) asyncio.create_subprocess_exec(??) asyncio.create_subprocess_shell(??) asyncio.create_task(??) asyncio.current_task(??) asyncio.ensure_future(??) asyncio.events(??) asyncio.events.AbstractEventLoop(??) asyncio.events.AbstractEventLoopPolicy(??) asyncio.events.AbstractServer(??) asyncio.events.BaseDefaultEventLoopPolicy(??) asyncio.events.Handle(??) asyncio.events.TimerHandle(??) asyncio.events.contextvars(??) asyncio.events.format_helpers(??) asyncio.events.get_child_watcher(??) asyncio.events.get_event_loop(??) asyncio.events.get_event_loop_policy(??) asyncio.events.get_running_loop(??) asyncio.events.new_event_loop(??) asyncio.events.os(??) asyncio.events.set_child_watcher(??) asyncio.events.set_event_loop(??) asyncio.events.set_event_loop_policy(??) asyncio.events.socket(??) asyncio.events.subprocess(??) asyncio.events.sys(??) asyncio.events.threading(??) asyncio.exceptions(??) asyncio.exceptions.CancelledError(??) asyncio.exceptions.IncompleteReadError(??) asyncio.exceptions.InvalidStateError(??) asyncio.exceptions.LimitOverrunError(??) asyncio.exceptions.SendfileNotAvailableError(??) asyncio.exceptions.TimeoutError(??) asyncio.format_helpers(??) asyncio.format_helpers.constants(??) asyncio.format_helpers.extract_stack(??) asyncio.format_helpers.functools(??) asyncio.format_helpers.inspect(??) asyncio.format_helpers.reprlib(??) asyncio.format_helpers.sys(??) asyncio.format_helpers.traceback(??) asyncio.futures(??) asyncio.futures.Future(??) asyncio.futures.STACK_DEBUG asyncio.futures.base_futures(??) asyncio.futures.concurrent(??) asyncio.futures.contextvars(??) asyncio.futures.events(??) asyncio.futures.exceptions(??) asyncio.futures.format_helpers(??) asyncio.futures.isfuture(??) asyncio.futures.logging(??) asyncio.futures.sys(??) asyncio.futures.wrap_future(??) asyncio.gather(??) asyncio.get_child_watcher(??) asyncio.get_event_loop(??) asyncio.get_event_loop_policy(??) asyncio.get_running_loop(??) asyncio.iscoroutine(??) asyncio.iscoroutinefunction(??) asyncio.isfuture(??) asyncio.locks(??) asyncio.locks.BoundedSemaphore(??) asyncio.locks.Condition(??) asyncio.locks.Event(??) asyncio.locks.Lock(??) asyncio.locks.Semaphore(??) asyncio.locks.collections(??) asyncio.locks.events(??) asyncio.locks.exceptions(??) asyncio.locks.warnings(??) asyncio.log(??) asyncio.log.logger(??) asyncio.log.logging(??) asyncio.new_event_loop(??) asyncio.open_connection(??) asyncio.open_unix_connection(??) asyncio.proactor_events(??) asyncio.proactor_events.BaseProactorEventLoop(??) asyncio.proactor_events.base_events(??) asyncio.proactor_events.collections(??) asyncio.proactor_events.constants(??) asyncio.proactor_events.exceptions(??) asyncio.proactor_events.futures(??) asyncio.proactor_events.io(??) asyncio.proactor_events.logger(??) asyncio.proactor_events.os(??) asyncio.proactor_events.protocols(??) asyncio.proactor_events.signal(??) asyncio.proactor_events.socket(??) asyncio.proactor_events.sslproto(??) asyncio.proactor_events.threading(??) asyncio.proactor_events.transports(??) asyncio.proactor_events.trsock(??) asyncio.proactor_events.warnings(??) asyncio.protocols(??) asyncio.protocols.BaseProtocol(??) asyncio.protocols.BufferedProtocol(??) asyncio.protocols.DatagramProtocol(??) asyncio.protocols.Protocol(??) asyncio.protocols.SubprocessProtocol(??) asyncio.queues(??) asyncio.queues.LifoQueue(??) asyncio.queues.PriorityQueue(??) asyncio.queues.Queue(??) asyncio.queues.QueueEmpty(??) asyncio.queues.QueueFull(??) asyncio.queues.collections(??) asyncio.queues.events(??) asyncio.queues.heapq(??) asyncio.queues.locks(??) asyncio.queues.warnings(??) asyncio.run(??) asyncio.run_coroutine_threadsafe(??) asyncio.runners(??) asyncio.runners.coroutines(??) asyncio.runners.events(??) asyncio.runners.run(??) asyncio.runners.tasks(??) asyncio.selector_events(??) asyncio.selector_events.BaseSelectorEventLoop(??) asyncio.selector_events.base_events(??) asyncio.selector_events.collections(??) asyncio.selector_events.constants(??) asyncio.selector_events.errno(??) asyncio.selector_events.events(??) asyncio.selector_events.functools(??) asyncio.selector_events.futures(??) asyncio.selector_events.logger(??) asyncio.selector_events.protocols(??) asyncio.selector_events.selectors(??) asyncio.selector_events.socket(??) asyncio.selector_events.ssl(??) asyncio.selector_events.sslproto(??) asyncio.selector_events.transports(??) asyncio.selector_events.trsock(??) asyncio.selector_events.warnings(??) asyncio.selector_events.weakref(??) asyncio.set_child_watcher(??) asyncio.set_event_loop(??) asyncio.set_event_loop_policy(??) asyncio.shield(??) asyncio.sleep(??) asyncio.sslproto(??) asyncio.sslproto.SSLProtocol(??) asyncio.sslproto.collections(??) asyncio.sslproto.constants(??) asyncio.sslproto.logger(??) asyncio.sslproto.protocols(??) asyncio.sslproto.ssl(??) asyncio.sslproto.transports(??) asyncio.sslproto.warnings(??) asyncio.staggered(??) asyncio.staggered.contextlib(??) asyncio.staggered.events(??) asyncio.staggered.exceptions_mod(??) asyncio.staggered.locks(??) asyncio.staggered.staggered_race(??) asyncio.staggered.tasks(??) asyncio.staggered.typing(??) asyncio.start_server(??) asyncio.start_unix_server(??) asyncio.streams(??) asyncio.streams.FlowControlMixin(??) asyncio.streams.StreamReader(??) asyncio.streams.StreamReaderProtocol(??) asyncio.streams.StreamWriter(??) asyncio.streams.coroutines(??) asyncio.streams.events(??) asyncio.streams.exceptions(??) asyncio.streams.format_helpers(??) asyncio.streams.logger(??) asyncio.streams.open_connection(??) asyncio.streams.open_unix_connection(??) asyncio.streams.protocols(??) asyncio.streams.sleep(??) asyncio.streams.socket(??) asyncio.streams.start_server(??) asyncio.streams.start_unix_server(??) asyncio.streams.sys(??) asyncio.streams.warnings(??) asyncio.streams.weakref(??) asyncio.subprocess(??) asyncio.subprocess.DEVNULL asyncio.subprocess.PIPE asyncio.subprocess.Process(??) asyncio.subprocess.STDOUT asyncio.subprocess.SubprocessStreamProtocol(??) asyncio.subprocess.create_subprocess_exec(??) asyncio.subprocess.create_subprocess_shell(??) asyncio.subprocess.events(??) asyncio.subprocess.logger(??) asyncio.subprocess.protocols(??) asyncio.subprocess.streams(??) asyncio.subprocess.subprocess(??) asyncio.subprocess.tasks(??) asyncio.subprocess.warnings(??) asyncio.sys(??) asyncio.tasks(??) asyncio.tasks.ALL_COMPLETED asyncio.tasks.FIRST_COMPLETED asyncio.tasks.FIRST_EXCEPTION asyncio.tasks.Task(??) asyncio.tasks.all_tasks(??) asyncio.tasks.as_completed(??) asyncio.tasks.base_tasks(??) asyncio.tasks.concurrent(??) asyncio.tasks.contextvars(??) asyncio.tasks.coroutines(??) asyncio.tasks.create_task(??) asyncio.tasks.current_task(??) asyncio.tasks.ensure_future(??) asyncio.tasks.events(??) asyncio.tasks.exceptions(??) asyncio.tasks.functools(??) asyncio.tasks.futures(??) asyncio.tasks.gather(??) asyncio.tasks.inspect(??) asyncio.tasks.itertools(??) asyncio.tasks.run_coroutine_threadsafe(??) asyncio.tasks.shield(??) asyncio.tasks.sleep(??) asyncio.tasks.types(??) asyncio.tasks.wait(??) asyncio.tasks.wait_for(??) asyncio.tasks.warnings(??) asyncio.tasks.weakref(??) asyncio.threads(??) asyncio.threads.contextvars(??) asyncio.threads.events(??) asyncio.threads.functools(??) asyncio.threads.to_thread(??) asyncio.to_thread(??) asyncio.transports(??) asyncio.transports.BaseTransport(??) asyncio.transports.DatagramTransport(??) asyncio.transports.ReadTransport(??) asyncio.transports.SubprocessTransport(??) asyncio.transports.Transport(??) asyncio.transports.WriteTransport(??) asyncio.trsock(??) asyncio.trsock.TransportSocket(??) asyncio.trsock.socket(??) asyncio.trsock.warnings(??) asyncio.unix_events(??) asyncio.unix_events.AbstractChildWatcher(??) asyncio.unix_events.BaseChildWatcher(??) asyncio.unix_events.DefaultEventLoopPolicy(??) asyncio.unix_events.FastChildWatcher(??) asyncio.unix_events.MultiLoopChildWatcher(??) asyncio.unix_events.PidfdChildWatcher(??) asyncio.unix_events.SafeChildWatcher(??) asyncio.unix_events.SelectorEventLoop(??) asyncio.unix_events.ThreadedChildWatcher(??) asyncio.unix_events.base_events(??) asyncio.unix_events.base_subprocess(??) asyncio.unix_events.constants(??) asyncio.unix_events.coroutines(??) asyncio.unix_events.errno(??) asyncio.unix_events.events(??) asyncio.unix_events.exceptions(??) asyncio.unix_events.futures(??) asyncio.unix_events.io(??) asyncio.unix_events.itertools(??) asyncio.unix_events.logger(??) asyncio.unix_events.os(??) asyncio.unix_events.selector_events(??) asyncio.unix_events.selectors(??) asyncio.unix_events.signal(??) asyncio.unix_events.socket(??) asyncio.unix_events.stat(??) asyncio.unix_events.subprocess(??) asyncio.unix_events.sys(??) asyncio.unix_events.tasks(??) asyncio.unix_events.threading(??) asyncio.unix_events.transports(??) asyncio.unix_events.warnings(??) asyncio.wait(??) asyncio.wait_for(??) asyncio.wrap_future(??) asyncore.EAGAIN asyncore.EALREADY asyncore.EBADF asyncore.ECONNABORTED asyncore.ECONNRESET asyncore.EINPROGRESS asyncore.EINVAL asyncore.EISCONN asyncore.ENOTCONN asyncore.EPIPE asyncore.ESHUTDOWN asyncore.EWOULDBLOCK asyncore.ExitNow(??) asyncore.close_all(??) asyncore.compact_traceback(??) asyncore.dispatcher(??) asyncore.dispatcher_with_send(??) asyncore.errorcode(??) asyncore.file_dispatcher(??) asyncore.file_wrapper(??) asyncore.loop(??) asyncore.os(??) asyncore.poll(??) asyncore.poll2(??) asyncore.poll3(??) asyncore.read(??) asyncore.readwrite(??) asyncore.select(??) asyncore.socket(??) asyncore.socket_map(??) asyncore.sys(??) asyncore.time(??) asyncore.warnings(??) asyncore.write(??) atexit.register(func, *args, **kwargs) -> func atexit.unregister(func) -> None base64.MAXBINSIZE base64.MAXLINESIZE base64.a85decode(??) base64.a85encode(??) base64.b16decode(??) base64.b16encode(??) base64.b32decode(??) base64.b32encode(??) base64.b64decode(??) base64.b64encode(??) base64.b85decode(??) base64.b85encode(??) base64.binascii(??) base64.bytes_types(??) base64.decode(??) base64.decodebytes(??) base64.encode(??) base64.encodebytes(??) base64.main(??) base64.re(??) base64.standard_b64decode(??) base64.standard_b64encode(??) base64.struct(??) base64.test(??) base64.urlsafe_b64decode(??) base64.urlsafe_b64encode(??) bdb.Bdb(??) bdb.BdbQuit(??) bdb.Breakpoint(??) bdb.CO_ASYNC_GENERATOR bdb.CO_COROUTINE bdb.CO_GENERATOR bdb.GENERATOR_AND_COROUTINE_FLAGS bdb.Tdb(??) bdb.bar(??) bdb.checkfuncname(??) bdb.effective(??) bdb.fnmatch(??) bdb.foo(??) bdb.os(??) bdb.set_trace(??) bdb.sys(??) bdb.test(??) bin(??) binhex.BinHex(??) binhex.Error(??) binhex.FInfo(??) binhex.HexBin(??) binhex.LINELEN binhex.REASONABLY_LARGE binhex.RUNCHAR binhex.binascii(??) binhex.binhex(infilename, outfilename): create binhex-encoded copy of a file binhex.contextlib(??) binhex.getfileinfo(??) binhex.hexbin(infilename, outfilename) - Decode binhexed file binhex.io(??) binhex.openrsrc(??) binhex.os(??) binhex.struct(??) binhex.warnings(??) bisect.bisect(??) bisect.bisect_left(??) bisect.bisect_right(??) bisect.insort(??) bisect.insort_left(??) bisect.insort_right(??) bool(x) -> bool breakpoint(*args, **kws) builtins.ArithmeticError(??) builtins.AssertionError(??) builtins.AttributeError(??) builtins.BaseException(??) builtins.BlockingIOError(??) builtins.BrokenPipeError(??) builtins.BufferError(??) builtins.BytesWarning(??) builtins.ChildProcessError(??) builtins.ConnectionAbortedError(??) builtins.ConnectionError(??) builtins.ConnectionRefusedError(??) builtins.ConnectionResetError(??) builtins.DeprecationWarning(??) builtins.EOFError(??) builtins.Ellipsis(??) builtins.EnvironmentError(??) builtins.Exception(??) builtins.False builtins.FileExistsError(??) builtins.FileNotFoundError(??) builtins.FloatingPointError(??) builtins.FutureWarning(??) builtins.GeneratorExit(??) builtins.IOError(??) builtins.ImportError(??) builtins.ImportWarning(??) builtins.IndentationError(??) builtins.IndexError(??) builtins.InterruptedError(??) builtins.IsADirectoryError(??) builtins.KeyError(??) builtins.KeyboardInterrupt(??) builtins.LookupError(??) builtins.MemoryError(??) builtins.ModuleNotFoundError(??) builtins.NameError(??) builtins.None builtins.NotADirectoryError(??) builtins.NotImplemented(??) builtins.NotImplementedError(??) builtins.OSError(??) builtins.OverflowError(??) builtins.PendingDeprecationWarning(??) builtins.PermissionError(??) builtins.ProcessLookupError(??) builtins.RecursionError(??) builtins.ReferenceError(??) builtins.ResourceWarning(??) builtins.RuntimeError(??) builtins.RuntimeWarning(??) builtins.StopAsyncIteration(??) builtins.StopIteration(??) builtins.SyntaxError(??) builtins.SyntaxWarning(??) builtins.SystemError(??) builtins.SystemExit(??) builtins.TabError(??) builtins.TimeoutError(??) builtins.True builtins.TypeError(??) builtins.UnboundLocalError(??) builtins.UnicodeDecodeError(??) builtins.UnicodeEncodeError(??) builtins.UnicodeError(??) builtins.UnicodeTranslateError(??) builtins.UnicodeWarning(??) builtins.UserWarning(??) builtins.ValueError(??) builtins.Warning(??) builtins.ZeroDivisionError(??) builtins.abs(??) builtins.all(??) builtins.any(??) builtins.ascii(??) builtins.bin(??) builtins.bool(x) -> bool builtins.breakpoint(*args, **kws) builtins.bytearray(iterable_of_ints) -> bytearray builtins.bytes(iterable_of_ints) -> bytes builtins.callable(??) builtins.chr(??) builtins.classmethod(function) -> method builtins.compile(??) builtins.complex(??) builtins.copyright(??) builtins.credits(??) builtins.delattr(??) builtins.dict() -> new empty dictionary builtins.dir([object]) -> list of strings builtins.divmod(??) builtins.enumerate(??) builtins.eval(??) builtins.exec(??) builtins.exit(??) builtins.filter(function or None, iterable) --> filter object builtins.float(??) builtins.format(??) builtins.frozenset() -> empty frozenset object builtins.getattr(object, name[, default]) -> value builtins.globals(??) builtins.hasattr(??) builtins.hash(??) builtins.help(??) builtins.hex(??) builtins.id(??) builtins.input(??) builtins.int([x]) -> integer builtins.isinstance(??) builtins.issubclass(??) builtins.iter(iterable) -> iterator builtins.len(??) builtins.license(??) builtins.list(??) builtins.locals(??) builtins.map(func, *iterables) --> map object builtins.max(iterable, *[, default=obj, key=func]) -> value builtins.memoryview(??) builtins.min(iterable, *[, default=obj, key=func]) -> value builtins.next(iterator[, default]) builtins.object(??) builtins.oct(??) builtins.open(??) builtins.ord(??) builtins.pow(??) builtins.print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) builtins.property(??) builtins.quit(??) builtins.range(stop) -> range object builtins.repr(??) builtins.reversed(??) builtins.round(??) builtins.set() -> new empty set object builtins.setattr(??) builtins.slice(stop) builtins.sorted(??) builtins.staticmethod(function) -> method builtins.str(object='') -> str builtins.sum(??) builtins.super() -> same as super(__class__, ) builtins.tuple(??) builtins.type(object_or_name, bases, dict) builtins.vars([object]) -> dictionary builtins.zip(*iterables) --> A zip object yielding tuples until an input is exhausted. bytearray(iterable_of_ints) -> bytearray bytes(iterable_of_ints) -> bytes bz2.BZ2Compressor(??) bz2.BZ2Decompressor(??) bz2.BZ2File(??) bz2.RLock(??) bz2.compress(??) bz2.decompress(??) bz2.io(??) bz2.open(??) bz2.os(??) cProfile.Profile(timer=None, timeunit=None, subcalls=True, builtins=True) cProfile.label(??) cProfile.main(??) cProfile.run(??) cProfile.runctx(??) calendar.Calendar(??) calendar.EPOCH calendar.FRIDAY calendar.February calendar.HTMLCalendar(??) calendar.IllegalMonthError(??) calendar.IllegalWeekdayError(??) calendar.January calendar.LocaleHTMLCalendar(??) calendar.LocaleTextCalendar(??) calendar.MONDAY calendar.SATURDAY calendar.SUNDAY calendar.THURSDAY calendar.TUESDAY calendar.TextCalendar(??) calendar.WEDNESDAY calendar.c(??) calendar.calendar(??) calendar.datetime(??) calendar.day_abbr(??) calendar.day_name(??) calendar.different_locale(??) calendar.error(??) calendar.firstweekday(??) calendar.format(??) calendar.formatstring(??) calendar.isleap(??) calendar.leapdays(??) calendar.main(??) calendar.mdays(??) calendar.month(??) calendar.month_abbr(??) calendar.month_name(??) calendar.monthcalendar(??) calendar.monthrange(??) calendar.prcal(??) calendar.prmonth(??) calendar.prweek(??) calendar.repeat(object [,times]) -> create an iterator which returns the object calendar.setfirstweekday(??) calendar.sys(??) calendar.timegm(??) calendar.week(??) calendar.weekday(??) calendar.weekheader(??) callable(??) cgi.BytesIO(??) cgi.FeedParser(??) cgi.FieldStorage(??) cgi.Mapping(??) cgi.Message(??) cgi.MiniFieldStorage(??) cgi.StringIO(??) cgi.TextIOWrapper(??) cgi.closelog(??) cgi.dolog(??) cgi.html(??) cgi.initlog(??) cgi.locale(??) cgi.log(??) cgi.logfile cgi.logfp(??) cgi.maxlen cgi.nolog(??) cgi.os(??) cgi.parse(??) cgi.parse_header(??) cgi.parse_multipart(??) cgi.print_arguments(??) cgi.print_directory(??) cgi.print_environ(??) cgi.print_environ_usage(??) cgi.print_exception(??) cgi.print_form(??) cgi.sys(??) cgi.tempfile(??) cgi.test(??) cgi.urllib(??) cgi.valid_boundary(??) cgitb.Hook(??) cgitb.enable(??) cgitb.grey(??) cgitb.handler(??) cgitb.html(??) cgitb.inspect(??) cgitb.keyword(??) cgitb.linecache(??) cgitb.lookup(??) cgitb.os(??) cgitb.pydoc(??) cgitb.reset(??) cgitb.scanvars(??) cgitb.small(??) cgitb.strong(??) cgitb.sys(??) cgitb.tempfile(??) cgitb.text(??) cgitb.time(??) cgitb.tokenize(??) cgitb.traceback(??) chr(??) chunk.Chunk(??) classmethod(function) -> method cmd.Cmd(??) cmd.IDENTCHARS cmd.PROMPT cmd.string(??) cmd.sys(??) code.CommandCompiler(??) code.InteractiveConsole(??) code.InteractiveInterpreter(??) code.compile_command(??) code.interact(??) code.sys(??) code.traceback(??) codecs.BOM codecs.BOM32_BE codecs.BOM32_LE codecs.BOM64_BE codecs.BOM64_LE codecs.BOM_BE codecs.BOM_LE codecs.BOM_UTF16 codecs.BOM_UTF16_BE codecs.BOM_UTF16_LE codecs.BOM_UTF32 codecs.BOM_UTF32_BE codecs.BOM_UTF32_LE codecs.BOM_UTF8 codecs.BufferedIncrementalDecoder(??) codecs.BufferedIncrementalEncoder(??) codecs.Codec(??) codecs.CodecInfo(??) codecs.EncodedFile(??) codecs.IncrementalDecoder(??) codecs.IncrementalEncoder(??) codecs.StreamReader(??) codecs.StreamReaderWriter(??) codecs.StreamRecoder(??) codecs.StreamWriter(??) codecs.ascii_decode(??) codecs.ascii_encode(??) codecs.backslashreplace_errors(??) codecs.builtins(??) codecs.charmap_build(??) codecs.charmap_decode(??) codecs.charmap_encode(??) codecs.decode(??) codecs.encode(??) codecs.escape_decode(??) codecs.escape_encode(??) codecs.getdecoder(??) codecs.getencoder(??) codecs.getincrementaldecoder(??) codecs.getincrementalencoder(??) codecs.getreader(??) codecs.getwriter(??) codecs.ignore_errors(??) codecs.iterdecode(??) codecs.iterencode(??) codecs.latin_1_decode(??) codecs.latin_1_encode(??) codecs.lookup(??) codecs.lookup_error(errors) -> handler codecs.make_encoding_map(??) codecs.make_identity_dict(rng) -> dict codecs.namereplace_errors(??) codecs.open(??) codecs.raw_unicode_escape_decode(??) codecs.raw_unicode_escape_encode(??) codecs.readbuffer_encode(??) codecs.register(??) codecs.register_error(??) codecs.replace_errors(??) codecs.strict_errors(??) codecs.sys(??) codecs.unicode_escape_decode(??) codecs.unicode_escape_encode(??) codecs.utf_16_be_decode(??) codecs.utf_16_be_encode(??) codecs.utf_16_decode(??) codecs.utf_16_encode(??) codecs.utf_16_ex_decode(??) codecs.utf_16_le_decode(??) codecs.utf_16_le_encode(??) codecs.utf_32_be_decode(??) codecs.utf_32_be_encode(??) codecs.utf_32_decode(??) codecs.utf_32_encode(??) codecs.utf_32_ex_decode(??) codecs.utf_32_le_decode(??) codecs.utf_32_le_encode(??) codecs.utf_7_decode(??) codecs.utf_7_encode(??) codecs.utf_8_decode(??) codecs.utf_8_encode(??) codecs.xmlcharrefreplace_errors(??) codeop.CommandCompiler(??) codeop.Compile(??) codeop.PyCF_DONT_IMPLY_DEDENT codeop.compile_command(??) codeop.warnings(??) collections.ChainMap(??) collections.Counter(??) collections.OrderedDict(??) collections.UserDict(??) collections.UserList(??) collections.UserString(??) collections.abc(??) collections.abc.AsyncGenerator(??) collections.abc.AsyncIterable(??) collections.abc.AsyncIterator(??) collections.abc.Awaitable(??) collections.abc.ByteString(??) collections.abc.Callable(??) collections.abc.Collection(??) collections.abc.Container(??) collections.abc.Coroutine(??) collections.abc.Generator(??) collections.abc.Hashable(??) collections.abc.ItemsView(??) collections.abc.Iterable(??) collections.abc.Iterator(??) collections.abc.KeysView(??) collections.abc.Mapping(??) collections.abc.MappingView(??) collections.abc.MutableMapping(??) collections.abc.MutableSequence(??) collections.abc.MutableSet(??) collections.abc.Reversible(??) collections.abc.Sequence(??) collections.abc.Set(??) collections.abc.Sized(??) collections.abc.ValuesView(??) collections.defaultdict(default_factory[, ...]) --> dict with default factory collections.deque([iterable[, maxlen]]) --> deque object collections.namedtuple(??) colorsys.ONE_SIXTH colorsys.ONE_THIRD colorsys.TWO_THIRD colorsys.hls_to_rgb(??) colorsys.hsv_to_rgb(??) colorsys.rgb_to_hls(??) colorsys.rgb_to_hsv(??) colorsys.rgb_to_yiq(??) colorsys.yiq_to_rgb(??) compile(??) compileall.Path(??) compileall.compile_dir(??) compileall.compile_file(??) compileall.compile_path(??) compileall.filecmp(??) compileall.importlib(??) compileall.main(??) compileall.os(??) compileall.partial(func, *args, **keywords) - new function with partial application compileall.py_compile(??) compileall.struct(??) compileall.sys(??) complex(??) concurrent.futures(??) concurrent.futures.ALL_COMPLETED concurrent.futures.BrokenExecutor(??) concurrent.futures.CancelledError(??) concurrent.futures.Executor(??) concurrent.futures.FIRST_COMPLETED concurrent.futures.FIRST_EXCEPTION concurrent.futures.Future(??) concurrent.futures.ProcessPoolExecutor(??) concurrent.futures.ThreadPoolExecutor(??) concurrent.futures.TimeoutError(??) concurrent.futures.as_completed(??) concurrent.futures.process.BrokenProcessPool(??) concurrent.futures.process.EXTRA_QUEUED_CALLS concurrent.futures.process.ProcessPoolExecutor(??) concurrent.futures.process.Queue(??) concurrent.futures.process.itertools(??) concurrent.futures.process.mp(??) concurrent.futures.process.multiprocessing(??) concurrent.futures.process.os(??) concurrent.futures.process.partial(func, *args, **keywords) - new function with partial application concurrent.futures.process.queue(??) concurrent.futures.process.sys(??) concurrent.futures.process.threading(??) concurrent.futures.process.traceback(??) concurrent.futures.process.weakref(??) concurrent.futures.thread.BrokenThreadPool(??) concurrent.futures.thread.ThreadPoolExecutor(??) concurrent.futures.thread.itertools(??) concurrent.futures.thread.os(??) concurrent.futures.thread.queue(??) concurrent.futures.thread.threading(??) concurrent.futures.thread.types(??) concurrent.futures.thread.weakref(??) concurrent.futures.wait(??) configparser.BasicInterpolation(??) configparser.ConfigParser(??) configparser.ConverterMapping(??) configparser.DEFAULTSECT configparser.DuplicateOptionError(??) configparser.DuplicateSectionError(??) configparser.Error(??) configparser.ExtendedInterpolation(??) configparser.Interpolation(??) configparser.InterpolationDepthError(??) configparser.InterpolationError(??) configparser.InterpolationMissingOptionError(??) configparser.InterpolationSyntaxError(??) configparser.LegacyInterpolation(??) configparser.MAX_INTERPOLATION_DEPTH configparser.MissingSectionHeaderError(??) configparser.MutableMapping(??) configparser.NoOptionError(??) configparser.NoSectionError(??) configparser.ParsingError(??) configparser.RawConfigParser(??) configparser.SafeConfigParser(??) configparser.SectionProxy(??) configparser.functools(??) configparser.io(??) configparser.itertools(??) configparser.os(??) configparser.re(??) configparser.sys(??) configparser.warnings(??) contextlib.AbstractAsyncContextManager(??) contextlib.AbstractContextManager(??) contextlib.AsyncExitStack(??) contextlib.ContextDecorator(??) contextlib.ExitStack(??) contextlib.GenericAlias(??) contextlib.MethodType(??) contextlib.abc(??) contextlib.asynccontextmanager(??) contextlib.closing(??) contextlib.contextmanager(??) contextlib.deque([iterable[, maxlen]]) --> deque object contextlib.nullcontext(??) contextlib.redirect_stderr(??) contextlib.redirect_stdout(??) contextlib.suppress(??) contextlib.sys(??) contextlib.wraps(??) contextvars.Context(??) contextvars.ContextVar(??) contextvars.Token(??) contextvars.copy_context(??) copy.Error(??) copy.copy(??) copy.deepcopy(??) copy.dispatch_table(??) copy.error(??) copyreg.add_extension(??) copyreg.clear_extension_cache(??) copyreg.constructor(??) copyreg.dispatch_table(??) copyreg.pickle(??) copyreg.pickle_complex(??) copyreg.remove_extension(??) copyright(??) credits(??) crypt.METHOD_BLOWFISH(??) crypt.METHOD_CRYPT(??) crypt.METHOD_MD5(??) crypt.METHOD_SHA256(??) crypt.METHOD_SHA512(??) crypt.crypt(??) crypt.errno(??) crypt.methods(??) crypt.mksalt(??) csv.Dialect(??) csv.DictReader(??) csv.DictWriter(??) csv.Error(??) csv.QUOTE_ALL csv.QUOTE_MINIMAL csv.QUOTE_NONE csv.QUOTE_NONNUMERIC csv.Sniffer(??) csv.StringIO(??) csv.excel(??) csv.excel_tab(??) csv.field_size_limit(??) csv.get_dialect(??) csv.list_dialects(??) csv.re(??) csv.reader(??) csv.register_dialect(??) csv.unix_dialect(??) csv.unregister_dialect(??) csv.writer(??) ctypes.ARRAY(??) ctypes.ArgumentError(??) ctypes.Array(??) ctypes.BigEndianStructure(??) ctypes.CDLL(??) ctypes.CFUNCTYPE(??) ctypes.DEFAULT_MODE ctypes.LibraryLoader(??) ctypes.LittleEndianStructure(??) ctypes.POINTER(??) ctypes.PYFUNCTYPE(??) ctypes.PyDLL(??) ctypes.RTLD_GLOBAL ctypes.RTLD_LOCAL ctypes.SetPointerType(??) ctypes.Structure(??) ctypes.Union(??) ctypes.addressof(C instance) -> integer ctypes.alignment(C type) -> integer ctypes.byref(C instance[, offset=0]) -> byref-object ctypes.c_bool(??) ctypes.c_buffer(??) ctypes.c_byte(??) ctypes.c_char(??) ctypes.c_char_p(??) ctypes.c_double(??) ctypes.c_float(??) ctypes.c_int(??) ctypes.c_int16(??) ctypes.c_int32(??) ctypes.c_int64(??) ctypes.c_int8(??) ctypes.c_long(??) ctypes.c_longdouble(??) ctypes.c_longlong(??) ctypes.c_short(??) ctypes.c_size_t(??) ctypes.c_ssize_t(??) ctypes.c_ubyte(??) ctypes.c_uint(??) ctypes.c_uint16(??) ctypes.c_uint32(??) ctypes.c_uint64(??) ctypes.c_uint8(??) ctypes.c_ulong(??) ctypes.c_ulonglong(??) ctypes.c_ushort(??) ctypes.c_void_p(??) ctypes.c_voidp(??) ctypes.c_wchar(??) ctypes.c_wchar_p(??) ctypes.cast(??) ctypes.cdll(??) ctypes.create_string_buffer(aBytes) -> character array ctypes.create_unicode_buffer(aString) -> character array ctypes.get_errno(??) ctypes.macholib(??) ctypes.macholib.dyld(??) ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK(??) ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK(??) ctypes.macholib.dyld.accumulate(??) ctypes.macholib.dyld.chain(*iterables) --> chain object ctypes.macholib.dyld.combinations(??) ctypes.macholib.dyld.combinations_with_replacement(??) ctypes.macholib.dyld.compress(??) ctypes.macholib.dyld.count(??) ctypes.macholib.dyld.cycle(??) ctypes.macholib.dyld.dropwhile(??) ctypes.macholib.dyld.dyld_default_search(??) ctypes.macholib.dyld.dyld_env(??) ctypes.macholib.dyld.dyld_executable_path_search(??) ctypes.macholib.dyld.dyld_fallback_framework_path(??) ctypes.macholib.dyld.dyld_fallback_library_path(??) ctypes.macholib.dyld.dyld_find(??) ctypes.macholib.dyld.dyld_framework_path(??) ctypes.macholib.dyld.dyld_image_suffix(??) ctypes.macholib.dyld.dyld_image_suffix_search(??) ctypes.macholib.dyld.dyld_library_path(??) ctypes.macholib.dyld.dyld_override_search(??) ctypes.macholib.dyld.dylib_info(??) ctypes.macholib.dyld.filterfalse(??) ctypes.macholib.dyld.framework_find(??) ctypes.macholib.dyld.framework_info(??) ctypes.macholib.dyld.groupby(??) ctypes.macholib.dyld.islice(iterable, stop) --> islice object ctypes.macholib.dyld.os(??) ctypes.macholib.dyld.permutations(??) ctypes.macholib.dyld.product(*iterables, repeat=1) --> product object ctypes.macholib.dyld.repeat(object [,times]) -> create an iterator which returns the object ctypes.macholib.dyld.starmap(??) ctypes.macholib.dyld.takewhile(??) ctypes.macholib.dyld.tee(??) ctypes.macholib.dyld.test_dyld_find(??) ctypes.macholib.dyld.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object ctypes.macholib.dylib(??) ctypes.macholib.dylib.DYLIB_RE(??) ctypes.macholib.dylib.dylib_info(??) ctypes.macholib.dylib.re(??) ctypes.macholib.dylib.test_dylib_info(??) ctypes.macholib.framework(??) ctypes.macholib.framework.STRICT_FRAMEWORK_RE(??) ctypes.macholib.framework.framework_info(??) ctypes.macholib.framework.re(??) ctypes.macholib.framework.test_framework_info(??) ctypes.memmove(??) ctypes.memset(??) ctypes.pointer(??) ctypes.py_object(??) ctypes.pydll(??) ctypes.pythonapi(??) ctypes.resize(??) ctypes.set_errno(??) ctypes.sizeof(C type) -> integer ctypes.string_at(addr[, size]) -> string ctypes.util(??) ctypes.util.find_library(??) ctypes.util.os(??) ctypes.util.shutil(??) ctypes.util.subprocess(??) ctypes.util.sys(??) ctypes.util.test(??) ctypes.wstring_at(addr[, size]) -> string curses.ALL_MOUSE_EVENTS curses.A_ALTCHARSET curses.A_ATTRIBUTES curses.A_BLINK curses.A_BOLD curses.A_CHARTEXT curses.A_COLOR curses.A_DIM curses.A_HORIZONTAL curses.A_INVIS curses.A_LEFT curses.A_LOW curses.A_NORMAL curses.A_PROTECT curses.A_REVERSE curses.A_RIGHT curses.A_STANDOUT curses.A_TOP curses.A_UNDERLINE curses.A_VERTICAL curses.BUTTON1_CLICKED curses.BUTTON1_DOUBLE_CLICKED curses.BUTTON1_PRESSED curses.BUTTON1_RELEASED curses.BUTTON1_TRIPLE_CLICKED curses.BUTTON2_CLICKED curses.BUTTON2_DOUBLE_CLICKED curses.BUTTON2_PRESSED curses.BUTTON2_RELEASED curses.BUTTON2_TRIPLE_CLICKED curses.BUTTON3_CLICKED curses.BUTTON3_DOUBLE_CLICKED curses.BUTTON3_PRESSED curses.BUTTON3_RELEASED curses.BUTTON3_TRIPLE_CLICKED curses.BUTTON4_CLICKED curses.BUTTON4_DOUBLE_CLICKED curses.BUTTON4_PRESSED curses.BUTTON4_RELEASED curses.BUTTON4_TRIPLE_CLICKED curses.BUTTON_ALT curses.BUTTON_CTRL curses.BUTTON_SHIFT curses.COLOR_BLACK curses.COLOR_BLUE curses.COLOR_CYAN curses.COLOR_GREEN curses.COLOR_MAGENTA curses.COLOR_RED curses.COLOR_WHITE curses.COLOR_YELLOW curses.ERR curses.KEY_A1 curses.KEY_A3 curses.KEY_B2 curses.KEY_BACKSPACE curses.KEY_BEG curses.KEY_BREAK curses.KEY_BTAB curses.KEY_C1 curses.KEY_C3 curses.KEY_CANCEL curses.KEY_CATAB curses.KEY_CLEAR curses.KEY_CLOSE curses.KEY_COMMAND curses.KEY_COPY curses.KEY_CREATE curses.KEY_CTAB curses.KEY_DC curses.KEY_DL curses.KEY_DOWN curses.KEY_EIC curses.KEY_END curses.KEY_ENTER curses.KEY_EOL curses.KEY_EOS curses.KEY_EXIT curses.KEY_F0 curses.KEY_F1 curses.KEY_F10 curses.KEY_F11 curses.KEY_F12 curses.KEY_F13 curses.KEY_F14 curses.KEY_F15 curses.KEY_F16 curses.KEY_F17 curses.KEY_F18 curses.KEY_F19 curses.KEY_F2 curses.KEY_F20 curses.KEY_F21 curses.KEY_F22 curses.KEY_F23 curses.KEY_F24 curses.KEY_F25 curses.KEY_F26 curses.KEY_F27 curses.KEY_F28 curses.KEY_F29 curses.KEY_F3 curses.KEY_F30 curses.KEY_F31 curses.KEY_F32 curses.KEY_F33 curses.KEY_F34 curses.KEY_F35 curses.KEY_F36 curses.KEY_F37 curses.KEY_F38 curses.KEY_F39 curses.KEY_F4 curses.KEY_F40 curses.KEY_F41 curses.KEY_F42 curses.KEY_F43 curses.KEY_F44 curses.KEY_F45 curses.KEY_F46 curses.KEY_F47 curses.KEY_F48 curses.KEY_F49 curses.KEY_F5 curses.KEY_F50 curses.KEY_F51 curses.KEY_F52 curses.KEY_F53 curses.KEY_F54 curses.KEY_F55 curses.KEY_F56 curses.KEY_F57 curses.KEY_F58 curses.KEY_F59 curses.KEY_F6 curses.KEY_F60 curses.KEY_F61 curses.KEY_F62 curses.KEY_F63 curses.KEY_F7 curses.KEY_F8 curses.KEY_F9 curses.KEY_FIND curses.KEY_HELP curses.KEY_HOME curses.KEY_IC curses.KEY_IL curses.KEY_LEFT curses.KEY_LL curses.KEY_MARK curses.KEY_MAX curses.KEY_MESSAGE curses.KEY_MIN curses.KEY_MOUSE curses.KEY_MOVE curses.KEY_NEXT curses.KEY_NPAGE curses.KEY_OPEN curses.KEY_OPTIONS curses.KEY_PPAGE curses.KEY_PREVIOUS curses.KEY_PRINT curses.KEY_REDO curses.KEY_REFERENCE curses.KEY_REFRESH curses.KEY_REPLACE curses.KEY_RESET curses.KEY_RESIZE curses.KEY_RESTART curses.KEY_RESUME curses.KEY_RIGHT curses.KEY_SAVE curses.KEY_SBEG curses.KEY_SCANCEL curses.KEY_SCOMMAND curses.KEY_SCOPY curses.KEY_SCREATE curses.KEY_SDC curses.KEY_SDL curses.KEY_SELECT curses.KEY_SEND curses.KEY_SEOL curses.KEY_SEXIT curses.KEY_SF curses.KEY_SFIND curses.KEY_SHELP curses.KEY_SHOME curses.KEY_SIC curses.KEY_SLEFT curses.KEY_SMESSAGE curses.KEY_SMOVE curses.KEY_SNEXT curses.KEY_SOPTIONS curses.KEY_SPREVIOUS curses.KEY_SPRINT curses.KEY_SR curses.KEY_SREDO curses.KEY_SREPLACE curses.KEY_SRESET curses.KEY_SRIGHT curses.KEY_SRSUME curses.KEY_SSAVE curses.KEY_SSUSPEND curses.KEY_STAB curses.KEY_SUNDO curses.KEY_SUSPEND curses.KEY_UNDO curses.KEY_UP curses.OK curses.REPORT_MOUSE_POSITION curses.ascii(??) curses.ascii.ACK curses.ascii.BEL curses.ascii.BS curses.ascii.CAN curses.ascii.CR curses.ascii.DC1 curses.ascii.DC2 curses.ascii.DC3 curses.ascii.DC4 curses.ascii.DEL curses.ascii.DLE curses.ascii.EM curses.ascii.ENQ curses.ascii.EOT curses.ascii.ESC curses.ascii.ETB curses.ascii.ETX curses.ascii.FF curses.ascii.FS curses.ascii.GS curses.ascii.HT curses.ascii.LF curses.ascii.NAK curses.ascii.NL curses.ascii.NUL curses.ascii.RS curses.ascii.SI curses.ascii.SO curses.ascii.SOH curses.ascii.SP curses.ascii.STX curses.ascii.SUB curses.ascii.SYN curses.ascii.TAB curses.ascii.US curses.ascii.VT curses.ascii.alt(??) curses.ascii.ascii(??) curses.ascii.controlnames(??) curses.ascii.ctrl(??) curses.ascii.isalnum(??) curses.ascii.isalpha(??) curses.ascii.isascii(??) curses.ascii.isblank(??) curses.ascii.iscntrl(??) curses.ascii.isctrl(??) curses.ascii.isdigit(??) curses.ascii.isgraph(??) curses.ascii.islower(??) curses.ascii.ismeta(??) curses.ascii.isprint(??) curses.ascii.ispunct(??) curses.ascii.isspace(??) curses.ascii.isupper(??) curses.ascii.isxdigit(??) curses.ascii.unctrl(??) curses.baudrate(??) curses.beep(??) curses.can_change_color(??) curses.cbreak(??) curses.color_content(??) curses.color_pair(??) curses.curs_set(??) curses.def_prog_mode(??) curses.def_shell_mode(??) curses.delay_output(??) curses.doupdate(??) curses.echo(??) curses.endwin(??) curses.erasechar(??) curses.error(??) curses.filter(??) curses.flash(??) curses.flushinp(??) curses.get_escdelay(??) curses.get_tabsize(??) curses.getmouse(??) curses.getsyx(??) curses.getwin(??) curses.halfdelay(??) curses.has_colors(??) curses.has_ic(??) curses.has_il(??) curses.has_key(??) curses.has_key.has_key(??) curses.init_color(??) curses.init_pair(??) curses.initscr(??) curses.intrflush(??) curses.is_term_resized(??) curses.isendwin(??) curses.keyname(??) curses.killchar(??) curses.longname(??) curses.meta(??) curses.mouseinterval(??) curses.mousemask(??) curses.napms(??) curses.ncurses_version(??) curses.newpad(??) curses.newwin(nlines, ncols, [begin_y=0, begin_x=0]) curses.nl(??) curses.nocbreak(??) curses.noecho(??) curses.nonl(??) curses.noqiflush(??) curses.noraw(??) curses.pair_content(??) curses.pair_number(??) curses.panel.bottom_panel(??) curses.panel.error(??) curses.panel.new_panel(??) curses.panel.panel(??) curses.panel.top_panel(??) curses.panel.update_panels(??) curses.panel.version curses.putp(??) curses.qiflush(??) curses.raw(??) curses.reset_prog_mode(??) curses.reset_shell_mode(??) curses.resetty(??) curses.resize_term(??) curses.resizeterm(??) curses.savetty(??) curses.set_escdelay(??) curses.set_tabsize(??) curses.setsyx(??) curses.setupterm(??) curses.start_color(??) curses.termattrs(??) curses.termname(??) curses.textpad(??) curses.textpad.Textbox(??) curses.textpad.curses(??) curses.textpad.rectangle(??) curses.tigetflag(??) curses.tigetnum(??) curses.tigetstr(??) curses.tparm(??) curses.typeahead(??) curses.unctrl(??) curses.unget_wch(??) curses.ungetch(??) curses.ungetmouse(??) curses.update_lines_cols(??) curses.use_default_colors(??) curses.use_env(??) curses.version curses.window(??) curses.wrapper(??) dataclasses.Field(??) dataclasses.FrozenInstanceError(??) dataclasses.GenericAlias(??) dataclasses.InitVar(??) dataclasses.MISSING(??) dataclasses.asdict(??) dataclasses.astuple(??) dataclasses.builtins(??) dataclasses.copy(??) dataclasses.dataclass(??) dataclasses.field(??) dataclasses.fields(??) dataclasses.functools(??) dataclasses.inspect(??) dataclasses.is_dataclass(??) dataclasses.keyword(??) dataclasses.make_dataclass(??) dataclasses.re(??) dataclasses.replace(??) dataclasses.sys(??) dataclasses.types(??) datetime.MAXYEAR datetime.MINYEAR datetime.date(year, month, day) --> date object datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) datetime.datetime_CAPI(??) datetime.sys(??) datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object datetime.timedelta(??) datetime.timezone(??) datetime.tzinfo(??) dbm.dumb.collections(??) dbm.dumb.error(??) dbm.dumb.open(??) dbm.error(??) dbm.io(??) dbm.ndbm(??) dbm.ndbm.error(??) dbm.ndbm.library dbm.ndbm.open(??) dbm.open(??) dbm.os(??) dbm.struct(??) dbm.sys(??) dbm.whichdb(??) decimal.BasicContext(??) decimal.Clamped(??) decimal.Context(??) decimal.ConversionSyntax(??) decimal.Decimal(??) decimal.DecimalException(??) decimal.DecimalTuple(sign, digits, exponent) decimal.DefaultContext(??) decimal.DivisionByZero(??) decimal.DivisionImpossible(??) decimal.DivisionUndefined(??) decimal.ExtendedContext(??) decimal.FloatOperation(??) decimal.HAVE_CONTEXTVAR(??) decimal.HAVE_THREADS(??) decimal.Inexact(??) decimal.InvalidContext(??) decimal.InvalidOperation(??) decimal.MAX_EMAX decimal.MAX_PREC decimal.MIN_EMIN decimal.MIN_ETINY decimal.Overflow(??) decimal.ROUND_05UP decimal.ROUND_CEILING decimal.ROUND_DOWN decimal.ROUND_FLOOR decimal.ROUND_HALF_DOWN decimal.ROUND_HALF_EVEN decimal.ROUND_HALF_UP decimal.ROUND_UP decimal.Rounded(??) decimal.Subnormal(??) decimal.Underflow(??) decimal.getcontext(??) decimal.localcontext(??) decimal.setcontext(??) delattr(??) dict() -> new empty dictionary difflib.Differ(??) difflib.GenericAlias(??) difflib.HtmlDiff(??) difflib.IS_CHARACTER_JUNK(??) difflib.IS_LINE_JUNK(??) difflib.Match(a, b, size) difflib.SequenceMatcher(??) difflib.context_diff(??) difflib.diff_bytes(??) difflib.get_close_matches(??) difflib.ndiff(??) difflib.restore(??) difflib.unified_diff(??) dip.TOOLKIT dip.automate.AutomationCommands(??) dip.automate.AutomationError(??) dip.automate.IAutomated(??) dip.automate.IAutomatedActionTrigger(??) dip.automate.IAutomatedDialog(??) dip.automate.IAutomatedEditor(??) dip.automate.IAutomatedListEditor(??) dip.automate.IAutomatedOptionSelector(??) dip.automate.IAutomatedShell(??) dip.automate.IAutomatedTabBar(??) dip.automate.IAutomatedTableEditor(??) dip.automate.IAutomatedTrigger(??) dip.automate.Robot(??) dip.automate.automation_commands(??) dip.automate.automation_commands.Any(??) dip.automate.automation_commands.AutomationCommands(??) dip.automate.automation_commands.Int(??) dip.automate.automation_commands.Model(??) dip.automate.exceptions(??) dip.automate.exceptions.AutomationError(??) dip.automate.i_automated(??) dip.automate.i_automated.IAutomated(??) dip.automate.i_automated.Interface(??) dip.automate.i_automated_action_trigger(??) dip.automate.i_automated_action_trigger.IAutomated(??) dip.automate.i_automated_action_trigger.IAutomatedActionTrigger(??) dip.automate.i_automated_dialog(??) dip.automate.i_automated_dialog.IAutomated(??) dip.automate.i_automated_dialog.IAutomatedDialog(??) dip.automate.i_automated_editor(??) dip.automate.i_automated_editor.IAutomated(??) dip.automate.i_automated_editor.IAutomatedEditor(??) dip.automate.i_automated_list_editor(??) dip.automate.i_automated_list_editor.IAutomated(??) dip.automate.i_automated_list_editor.IAutomatedListEditor(??) dip.automate.i_automated_option_selector(??) dip.automate.i_automated_option_selector.IAutomated(??) dip.automate.i_automated_option_selector.IAutomatedOptionSelector(??) dip.automate.i_automated_shell(??) dip.automate.i_automated_shell.IAutomatedActionTrigger(??) dip.automate.i_automated_shell.IAutomatedShell(??) dip.automate.i_automated_tab_bar(??) dip.automate.i_automated_tab_bar.IAutomated(??) dip.automate.i_automated_tab_bar.IAutomatedTabBar(??) dip.automate.i_automated_table_editor(??) dip.automate.i_automated_table_editor.IAutomated(??) dip.automate.i_automated_table_editor.IAutomatedTableEditor(??) dip.automate.i_automated_trigger(??) dip.automate.i_automated_trigger.IAutomated(??) dip.automate.i_automated_trigger.IAutomatedTrigger(??) dip.automate.main.DIP_RELEASE dip.automate.main.Robot(??) dip.automate.main.argparse(??) dip.automate.main.automation_commands(??) dip.automate.main.delay dip.automate.main.exec_hook(??) dip.automate.main.importlib(??) dip.automate.main.main(??) dip.automate.main.os(??) dip.automate.main.sys(??) dip.automate.main.timeout dip.automate.robot(??) dip.automate.robot.Int(??) dip.automate.robot.List(??) dip.automate.robot.Model(??) dip.automate.robot.QTimer(parent: QObject = None) dip.automate.robot.Robot(??) dip.automate.robot.RobotCommand(??) dip.automate.robot.TOOLKIT dip.automate.robot_command(??) dip.automate.robot_command.AutomationError(??) dip.automate.robot_command.Dict(??) dip.automate.robot_command.IAutomated(??) dip.automate.robot_command.Int(??) dip.automate.robot_command.Model(??) dip.automate.robot_command.POLL_PERIOD dip.automate.robot_command.QApplication(List[str]) dip.automate.robot_command.QLayout(QWidget) dip.automate.robot_command.QMenuBar(parent: QWidget = None) dip.automate.robot_command.QTest(??) dip.automate.robot_command.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.automate.robot_command.RobotCommand(??) dip.automate.robot_command.Str(??) dip.automate.robot_command.TOOLKIT dip.automate.robot_command.Tuple(??) dip.builder.DistributionManager(??) dip.builder.IApplicationTemplate(??) dip.builder.IBuilderProject(??) dip.builder.IDistribution(??) dip.builder.IDistributionDefaults(??) dip.builder.IDistributionManager(??) dip.builder.IPythonClass(??) dip.builder.build_action_collection(??) dip.builder.build_action_collection.ActionCollection(??) dip.builder.build_action_collection.BuildActionCollection(??) dip.builder.builder_project(??) dip.builder.builder_project.BuilderProjectFactory(??) dip.builder.builder_project.builder_project(??) dip.builder.builder_project.builder_project.BuilderProject(??) dip.builder.builder_project.builder_project.IBuilderProject(??) dip.builder.builder_project.builder_project.Model(??) dip.builder.builder_project.builder_project.implements(??) dip.builder.builder_project.builder_project.os(??) dip.builder.builder_project.builder_project.stat(??) dip.builder.builder_project.builder_project.sys(??) dip.builder.builder_project.builder_project_factory(??) dip.builder.builder_project.builder_project_factory.Adapter(??) dip.builder.builder_project.builder_project_factory.BuilderProjectFactory(??) dip.builder.builder_project.builder_project_factory.IBuilderProject(??) dip.builder.builder_project.builder_project_factory.IBuilderProjectIManagedModelAdapter(??) dip.builder.builder_project.builder_project_factory.IDisplay(??) dip.builder.builder_project.builder_project_factory.IManagedModel(??) dip.builder.builder_project.builder_project_factory.Model(??) dip.builder.builder_project.builder_project_factory.adapt(??) dip.builder.builder_project.builder_project_factory.implements(??) dip.builder.builder_project_codec(??) dip.builder.builder_project_codec.IBuilderProjectCodec(??) dip.builder.builder_project_codec.ibuilderproject_codec(??) dip.builder.builder_project_codec.ibuilderproject_codec.Adapter(??) dip.builder.builder_project_codec.ibuilderproject_codec.IBuilderProject(??) dip.builder.builder_project_codec.ibuilderproject_codec.IBuilderProjectCodec(??) dip.builder.builder_project_codec.ibuilderproject_codec.IBuilderProjectCodecAdapter(??) dip.builder.builder_project_codec.ibuilderproject_codec.IFilterHints(??) dip.builder.builder_project_codec.ibuilderproject_codec.IXmlDecoder(??) dip.builder.builder_project_codec.ibuilderproject_codec.IXmlEncoder(??) dip.builder.builder_project_codec.ibuilderproject_codec.XmlCodec(??) dip.builder.builder_project_codec.ibuilderproject_codec.adapt(??) dip.builder.builder_project_codec.ibuilderproject_xml_decoder.DistributionManager(??) dip.builder.builder_project_codec.ibuilderproject_xml_decoder.FormatError(??) dip.builder.builder_project_codec.ibuilderproject_xml_decoder.IBuilderProjectXmlDecoder(??) dip.builder.builder_project_codec.ibuilderproject_xml_decoder.XmlDecoder(??) dip.builder.builder_project_codec.ibuilderproject_xml_encoder.IBuilderProjectXmlEncoder(??) dip.builder.builder_project_codec.ibuilderproject_xml_encoder.XmlEncoder(??) dip.builder.builder_project_tool(??) dip.builder.builder_project_tool.IBuilderProjectTool(??) dip.builder.builder_project_tool.ibuilderproject_tool(??) dip.builder.builder_project_tool.ibuilderproject_tool.FormTool(??) dip.builder.builder_project_tool.ibuilderproject_tool.IBuilderProject(??) dip.builder.builder_project_tool.ibuilderproject_tool.IBuilderProjectTool(??) dip.builder.builder_project_tool.ibuilderproject_tool.IDisplay(??) dip.builder.builder_project_tool.ibuilderproject_tool.implements(??) dip.builder.create_application_tool(??) dip.builder.create_application_tool.CreateApplicationTool(??) dip.builder.create_application_tool.application_template(??) dip.builder.create_application_tool.application_template.ApplicationTemplate(??) dip.builder.create_application_tool.application_template.Form(??) dip.builder.create_application_tool.application_template.IApplicationTemplate(??) dip.builder.create_application_tool.application_template.IWizard(??) dip.builder.create_application_tool.application_template.ListEditor(??) dip.builder.create_application_tool.application_template.MessageArea(??) dip.builder.create_application_tool.application_template.Model(??) dip.builder.create_application_tool.application_template.PythonClass(??) dip.builder.create_application_tool.application_template.Stretch(??) dip.builder.create_application_tool.application_template.VBox(??) dip.builder.create_application_tool.application_template.Wizard(??) dip.builder.create_application_tool.application_template.WizardPage(??) dip.builder.create_application_tool.application_template.implements(??) dip.builder.create_application_tool.create_application_tool(??) dip.builder.create_application_tool.create_application_tool.Action(??) dip.builder.create_application_tool.create_application_tool.ActionCollection(??) dip.builder.create_application_tool.create_application_tool.Application(??) dip.builder.create_application_tool.create_application_tool.ApplicationTemplate(??) dip.builder.create_application_tool.create_application_tool.CreateApplicationTool(??) dip.builder.create_application_tool.create_application_tool.IBuilderProject(??) dip.builder.create_application_tool.create_application_tool.ISubscriber(??) dip.builder.create_application_tool.create_application_tool.ITool(??) dip.builder.create_application_tool.create_application_tool.Model(??) dip.builder.create_application_tool.create_application_tool.implements(??) dip.builder.create_application_tool.create_application_tool.observe(??) dip.builder.create_application_tool.create_application_tool.os(??) dip.builder.create_application_tool.python_class(??) dip.builder.create_application_tool.python_class.IPythonClass(??) dip.builder.create_application_tool.python_class.Model(??) dip.builder.create_application_tool.python_class.PythonClass(??) dip.builder.create_application_tool.python_class.implements(??) dip.builder.create_distribution_tool.CreateDistributionTool(??) dip.builder.create_distribution_tool.create_distribution_tool(??) dip.builder.create_distribution_tool.create_distribution_tool.Action(??) dip.builder.create_distribution_tool.create_distribution_tool.Application(??) dip.builder.create_distribution_tool.create_distribution_tool.CreateDistributionTool(??) dip.builder.create_distribution_tool.create_distribution_tool.Dict(??) dip.builder.create_distribution_tool.create_distribution_tool.DistributionManager(??) dip.builder.create_distribution_tool.create_distribution_tool.IBuilderProject(??) dip.builder.create_distribution_tool.create_distribution_tool.IDisplay(??) dip.builder.create_distribution_tool.create_distribution_tool.ISubscriber(??) dip.builder.create_distribution_tool.create_distribution_tool.ITool(??) dip.builder.create_distribution_tool.create_distribution_tool.IView(??) dip.builder.create_distribution_tool.create_distribution_tool.Model(??) dip.builder.create_distribution_tool.create_distribution_tool.implements(??) dip.builder.create_distribution_tool.create_distribution_tool.observe(??) dip.builder.default_distribution_manager.DistributionManager(??) dip.builder.default_distribution_manager.distribution_manager(??) dip.builder.default_distribution_manager.distribution_manager.DistributionManager(??) dip.builder.default_distribution_manager.distribution_manager.IDistributionManager(??) dip.builder.default_distribution_manager.distribution_manager.Model(??) dip.builder.default_distribution_manager.distribution_manager.clone_model(??) dip.builder.default_distribution_manager.distribution_manager.implements(??) dip.builder.distribution_manager(??) dip.builder.distribution_manager.DistributionManager(??) dip.builder.distribution_manager.IDistributionManager(??) dip.builder.distribution_manager.Instance(??) dip.builder.distribution_manager.Singleton(??) dip.builder.i_application_template(??) dip.builder.i_application_template.IApplicationTemplate(??) dip.builder.i_application_template.IPythonClass(??) dip.builder.i_application_template.Interface(??) dip.builder.i_application_template.List(??) dip.builder.i_application_template.Str(??) dip.builder.i_builder_project(??) dip.builder.i_builder_project.IBuilderProject(??) dip.builder.i_builder_project.IDistributionDefaults(??) dip.builder.i_builder_project.Interface(??) dip.builder.i_builder_project.List(??) dip.builder.i_builder_project.Str(??) dip.builder.i_builder_project.Version(??) dip.builder.i_distribution(??) dip.builder.i_distribution.IDistribution(??) dip.builder.i_distribution.Interface(??) dip.builder.i_distribution.Str(??) dip.builder.i_distribution_defaults(??) dip.builder.i_distribution_defaults.IDistributionDefaults(??) dip.builder.i_distribution_defaults.Interface(??) dip.builder.i_distribution_defaults.Str(??) dip.builder.i_distribution_manager(??) dip.builder.i_distribution_manager.IDistribution(??) dip.builder.i_distribution_manager.IDistributionManager(??) dip.builder.i_distribution_manager.Interface(??) dip.builder.i_distribution_manager.List(??) dip.builder.i_python_class(??) dip.builder.i_python_class.ClassName(??) dip.builder.i_python_class.IPythonClass(??) dip.builder.i_python_class.Interface(??) dip.builder.i_python_class.ModuleName(??) dip.builder.main.Application(??) dip.builder.main.IApplication(??) dip.builder.main.IManagedModelTool(??) dip.builder.main.IShell(??) dip.builder.main.IView(??) dip.builder.main.PluginManager(??) dip.builder.main.main(??) dip.builder.main.sys(??) dip.builder.plugins(??) dip.builder.plugins.CreateApplicationToolPlugin(??) dip.builder.plugins.CreateDistributionToolPlugin(??) dip.builder.plugins.DistributionManagerPlugin(??) dip.builder.plugins.DistutilsDistributionPlugin(??) dip.builder.plugins.IBuilderProjectCodecPlugin(??) dip.builder.plugins.IBuilderProjectFactoryPlugin(??) dip.builder.plugins.IBuilderProjectToolPlugin(??) dip.builder.plugins.IDistributionManagerServicePlugin(??) dip.builder.plugins.create_application_tool_plugin(??) dip.builder.plugins.create_application_tool_plugin.CreateApplicationToolPlugin(??) dip.builder.plugins.create_application_tool_plugin.IDisplay(??) dip.builder.plugins.create_application_tool_plugin.IPlugin(??) dip.builder.plugins.create_application_tool_plugin.Model(??) dip.builder.plugins.create_application_tool_plugin.implements(??) dip.builder.plugins.create_distribution_tool_plugin(??) dip.builder.plugins.create_distribution_tool_plugin.CreateDistributionToolPlugin(??) dip.builder.plugins.create_distribution_tool_plugin.IDisplay(??) dip.builder.plugins.create_distribution_tool_plugin.IPlugin(??) dip.builder.plugins.create_distribution_tool_plugin.Model(??) dip.builder.plugins.create_distribution_tool_plugin.implements(??) dip.builder.plugins.distribution_manager_plugin(??) dip.builder.plugins.distribution_manager_plugin.DistributionManagerPlugin(??) dip.builder.plugins.distribution_manager_plugin.IDisplay(??) dip.builder.plugins.distribution_manager_plugin.IDistributionManager(??) dip.builder.plugins.distribution_manager_plugin.IPlugin(??) dip.builder.plugins.distribution_manager_plugin.Model(??) dip.builder.plugins.distribution_manager_plugin.implements(??) dip.builder.plugins.distutils_distribution_plugin(??) dip.builder.plugins.distutils_distribution_plugin.DistutilsDistributionPlugin(??) dip.builder.plugins.distutils_distribution_plugin.IDisplay(??) dip.builder.plugins.distutils_distribution_plugin.IPlugin(??) dip.builder.plugins.distutils_distribution_plugin.Model(??) dip.builder.plugins.distutils_distribution_plugin.implements(??) dip.builder.plugins.ibuilderproject_codec_plugin(??) dip.builder.plugins.ibuilderproject_codec_plugin.IBuilderProjectCodecPlugin(??) dip.builder.plugins.ibuilderproject_codec_plugin.IDisplay(??) dip.builder.plugins.ibuilderproject_codec_plugin.IPlugin(??) dip.builder.plugins.ibuilderproject_codec_plugin.Model(??) dip.builder.plugins.ibuilderproject_codec_plugin.implements(??) dip.builder.plugins.ibuilderproject_factory_plugin(??) dip.builder.plugins.ibuilderproject_factory_plugin.IBuilderProjectFactoryPlugin(??) dip.builder.plugins.ibuilderproject_factory_plugin.IDisplay(??) dip.builder.plugins.ibuilderproject_factory_plugin.IPlugin(??) dip.builder.plugins.ibuilderproject_factory_plugin.Model(??) dip.builder.plugins.ibuilderproject_factory_plugin.implements(??) dip.builder.plugins.ibuilderproject_tool_plugin(??) dip.builder.plugins.ibuilderproject_tool_plugin.IBuilderProjectToolPlugin(??) dip.builder.plugins.ibuilderproject_tool_plugin.IDisplay(??) dip.builder.plugins.ibuilderproject_tool_plugin.IPlugin(??) dip.builder.plugins.ibuilderproject_tool_plugin.Model(??) dip.builder.plugins.ibuilderproject_tool_plugin.implements(??) dip.builder.plugins.idistributionmanager_service_plugin(??) dip.builder.plugins.idistributionmanager_service_plugin.IDisplay(??) dip.builder.plugins.idistributionmanager_service_plugin.IDistributionManager(??) dip.builder.plugins.idistributionmanager_service_plugin.IDistributionManagerServicePlugin(??) dip.builder.plugins.idistributionmanager_service_plugin.IPlugin(??) dip.builder.plugins.idistributionmanager_service_plugin.Model(??) dip.builder.plugins.idistributionmanager_service_plugin.Service(??) dip.builder.plugins.idistributionmanager_service_plugin.implements(??) dip.builder.types(??) dip.builder.types.ClassName(??) dip.builder.types.ModuleName(??) dip.builder.types.Version(??) dip.builder.types.class_name(??) dip.builder.types.class_name.ClassName(??) dip.builder.types.class_name.Str(??) dip.builder.types.module_name(??) dip.builder.types.module_name.ModuleName(??) dip.builder.types.module_name.Str(??) dip.builder.types.version(??) dip.builder.types.version.Str(??) dip.builder.types.version.Version(??) dip.developer(??) dip.developer.extensions_viewer(??) dip.developer.extensions_viewer.ExtensionsViewer(??) dip.developer.extensions_viewer.ExtensionsViewerTool(??) dip.developer.extensions_viewer.extensions_viewer(??) dip.developer.extensions_viewer.extensions_viewer.ExtensionsViewer(??) dip.developer.extensions_viewer.extensions_viewer.IDisplay(??) dip.developer.extensions_viewer.extensions_viewer.PluginManager(??) dip.developer.extensions_viewer.extensions_viewer.QTreeWidget(parent: QWidget = None) dip.developer.extensions_viewer.extensions_viewer.QTreeWidgetItem(type: int = QTreeWidgetItem.Type) dip.developer.extensions_viewer.extensions_viewer.TOOLKIT dip.developer.extensions_viewer.extensions_viewer.functools(??) dip.developer.extensions_viewer.extensions_viewer.observe(??) dip.developer.extensions_viewer.extensions_viewer_tool(??) dip.developer.extensions_viewer.extensions_viewer_tool.ExtensionsViewerTool(??) dip.developer.extensions_viewer.extensions_viewer_tool.SimpleViewTool(??) dip.developer.plugins(??) dip.developer.plugins.ExtensionsViewerToolPlugin(??) dip.developer.plugins.PluginsViewerToolPlugin(??) dip.developer.plugins.ServicesViewerToolPlugin(??) dip.developer.plugins.extensions_viewer_tool_plugin(??) dip.developer.plugins.extensions_viewer_tool_plugin.ExtensionsViewerToolPlugin(??) dip.developer.plugins.extensions_viewer_tool_plugin.IDisplay(??) dip.developer.plugins.extensions_viewer_tool_plugin.IPlugin(??) dip.developer.plugins.extensions_viewer_tool_plugin.Model(??) dip.developer.plugins.extensions_viewer_tool_plugin.implements(??) dip.developer.plugins.plugins_viewer_tool_plugin(??) dip.developer.plugins.plugins_viewer_tool_plugin.IDisplay(??) dip.developer.plugins.plugins_viewer_tool_plugin.IPlugin(??) dip.developer.plugins.plugins_viewer_tool_plugin.Model(??) dip.developer.plugins.plugins_viewer_tool_plugin.PluginsViewerToolPlugin(??) dip.developer.plugins.plugins_viewer_tool_plugin.implements(??) dip.developer.plugins.services_viewer_tool_plugin(??) dip.developer.plugins.services_viewer_tool_plugin.IDisplay(??) dip.developer.plugins.services_viewer_tool_plugin.IPlugin(??) dip.developer.plugins.services_viewer_tool_plugin.Model(??) dip.developer.plugins.services_viewer_tool_plugin.ServicesViewerToolPlugin(??) dip.developer.plugins.services_viewer_tool_plugin.implements(??) dip.developer.plugins_viewer.PluginsViewer(??) dip.developer.plugins_viewer.PluginsViewerTool(??) dip.developer.plugins_viewer.plugins_viewer(??) dip.developer.plugins_viewer.plugins_viewer.IDisplay(??) dip.developer.plugins_viewer.plugins_viewer.PluginManager(??) dip.developer.plugins_viewer.plugins_viewer.PluginsViewer(??) dip.developer.plugins_viewer.plugins_viewer.QTreeWidget(parent: QWidget = None) dip.developer.plugins_viewer.plugins_viewer.QTreeWidgetItem(type: int = QTreeWidgetItem.Type) dip.developer.plugins_viewer.plugins_viewer.TOOLKIT dip.developer.plugins_viewer.plugins_viewer.functools(??) dip.developer.plugins_viewer.plugins_viewer.observe(??) dip.developer.plugins_viewer.plugins_viewer_tool(??) dip.developer.plugins_viewer.plugins_viewer_tool.PluginsViewerTool(??) dip.developer.plugins_viewer.plugins_viewer_tool.SimpleViewTool(??) dip.developer.services_viewer(??) dip.developer.services_viewer.ServicesViewer(??) dip.developer.services_viewer.ServicesViewerTool(??) dip.developer.services_viewer.services_viewer(??) dip.developer.services_viewer.services_viewer.IDisplay(??) dip.developer.services_viewer.services_viewer.PluginManager(??) dip.developer.services_viewer.services_viewer.QTreeWidget(parent: QWidget = None) dip.developer.services_viewer.services_viewer.QTreeWidgetItem(type: int = QTreeWidgetItem.Type) dip.developer.services_viewer.services_viewer.ServicesViewer(??) dip.developer.services_viewer.services_viewer.TOOLKIT dip.developer.services_viewer.services_viewer.observe(??) dip.developer.services_viewer.services_viewer_tool(??) dip.developer.services_viewer.services_viewer_tool.ServicesViewerTool(??) dip.developer.services_viewer.services_viewer_tool.SimpleViewTool(??) dip.io(??) dip.io.BaseStorage(??) dip.io.FormatError(??) dip.io.ICodec(??) dip.io.IFilterHints(??) dip.io.IIoManager(??) dip.io.IIoManagerUi(??) dip.io.IStorage(??) dip.io.IStorageBrowser(??) dip.io.IStorageFactory(??) dip.io.IStorageLocation(??) dip.io.IStorageUi(??) dip.io.IStreamingStorageFactory(??) dip.io.IStructuredStorageFactory(??) dip.io.IoManager(??) dip.io.StorageError(??) dip.io.base_storage(??) dip.io.base_storage.BaseStorage(??) dip.io.base_storage.Model(??) dip.io.base_storage.StorageError(??) dip.io.codecs(??) dip.io.codecs.unicode(??) dip.io.codecs.unicode.IUnicodeDecoder(??) dip.io.codecs.unicode.IUnicodeEncoder(??) dip.io.codecs.unicode.UnicodeCodec(??) dip.io.codecs.unicode.i_unicode_decoder(??) dip.io.codecs.unicode.i_unicode_decoder.IUnicodeDecoder(??) dip.io.codecs.unicode.i_unicode_decoder.Interface(??) dip.io.codecs.unicode.i_unicode_encoder(??) dip.io.codecs.unicode.i_unicode_encoder.IUnicodeEncoder(??) dip.io.codecs.unicode.i_unicode_encoder.Interface(??) dip.io.codecs.unicode.unicode_codec(??) dip.io.codecs.unicode.unicode_codec.ICodec(??) dip.io.codecs.unicode.unicode_codec.IUnicodeDecoder(??) dip.io.codecs.unicode.unicode_codec.IUnicodeEncoder(??) dip.io.codecs.unicode.unicode_codec.Model(??) dip.io.codecs.unicode.unicode_codec.Str(??) dip.io.codecs.unicode.unicode_codec.UnicodeCodec(??) dip.io.codecs.unicode.unicode_codec.implements(??) dip.io.codecs.xml.IXmlDecoder(??) dip.io.codecs.xml.IXmlEncoder(??) dip.io.codecs.xml.XmlCodec(??) dip.io.codecs.xml.XmlDecoder(??) dip.io.codecs.xml.XmlEncoder(??) dip.io.codecs.xml.i_xml_decoder(??) dip.io.codecs.xml.i_xml_decoder.Adapter(??) dip.io.codecs.xml.i_xml_decoder.IXmlDecoder(??) dip.io.codecs.xml.i_xml_decoder.Interface(??) dip.io.codecs.xml.i_xml_decoder.Model(??) dip.io.codecs.xml.i_xml_decoder.ModelIXmlDecoderAdapter(??) dip.io.codecs.xml.i_xml_decoder.adapt(??) dip.io.codecs.xml.i_xml_encoder(??) dip.io.codecs.xml.i_xml_encoder.Adapter(??) dip.io.codecs.xml.i_xml_encoder.IXmlEncoder(??) dip.io.codecs.xml.i_xml_encoder.Interface(??) dip.io.codecs.xml.i_xml_encoder.Model(??) dip.io.codecs.xml.i_xml_encoder.ModelIXmlEncoderAdapter(??) dip.io.codecs.xml.i_xml_encoder.adapt(??) dip.io.codecs.xml.xml_codec(??) dip.io.codecs.xml.xml_codec.Any(??) dip.io.codecs.xml.xml_codec.ICodec(??) dip.io.codecs.xml.xml_codec.IXmlDecoder(??) dip.io.codecs.xml.xml_codec.IXmlEncoder(??) dip.io.codecs.xml.xml_codec.Model(??) dip.io.codecs.xml.xml_codec.XmlCodec(??) dip.io.codecs.xml.xml_codec.implements(??) dip.io.codecs.xml.xml_decoder(??) dip.io.codecs.xml.xml_decoder.Any(??) dip.io.codecs.xml.xml_decoder.Bool(??) dip.io.codecs.xml.xml_decoder.Dict(??) dip.io.codecs.xml.xml_decoder.Enum(??) dip.io.codecs.xml.xml_decoder.Float(??) dip.io.codecs.xml.xml_decoder.FormatError(??) dip.io.codecs.xml.xml_decoder.Instance(??) dip.io.codecs.xml.xml_decoder.Int(??) dip.io.codecs.xml.xml_decoder.List(??) dip.io.codecs.xml.xml_decoder.Model(??) dip.io.codecs.xml.xml_decoder.QXmlStreamReader() dip.io.codecs.xml.xml_decoder.Set(??) dip.io.codecs.xml.xml_decoder.Str(??) dip.io.codecs.xml.xml_decoder.TOOLKIT dip.io.codecs.xml.xml_decoder.Tuple(??) dip.io.codecs.xml.xml_decoder.XmlDecoder(??) dip.io.codecs.xml.xml_decoder.base64(??) dip.io.codecs.xml.xml_decoder.get_model_types(??) dip.io.codecs.xml.xml_decoder.pickle(??) dip.io.codecs.xml.xml_encoder(??) dip.io.codecs.xml.xml_encoder.CollectionTypeFactory(??) dip.io.codecs.xml.xml_encoder.Enum(??) dip.io.codecs.xml.xml_encoder.FormatError(??) dip.io.codecs.xml.xml_encoder.Instance(??) dip.io.codecs.xml.xml_encoder.Int(??) dip.io.codecs.xml.xml_encoder.List(??) dip.io.codecs.xml.xml_encoder.Model(??) dip.io.codecs.xml.xml_encoder.Str(??) dip.io.codecs.xml.xml_encoder.ValueTypeFactory(??) dip.io.codecs.xml.xml_encoder.XmlEncoder(??) dip.io.codecs.xml.xml_encoder.base64(??) dip.io.codecs.xml.xml_encoder.get_model_types(??) dip.io.codecs.xml.xml_encoder.pickle(??) dip.io.default_io_manager.IoManager(??) dip.io.default_io_manager.io_manager(??) dip.io.default_io_manager.io_manager.ICodec(??) dip.io.default_io_manager.io_manager.IIoManager(??) dip.io.default_io_manager.io_manager.IoManager(??) dip.io.default_io_manager.io_manager.Model(??) dip.io.default_io_manager.io_manager.StorageError(??) dip.io.default_io_manager.io_manager.implements(??) dip.io.default_io_manager.io_manager_ui(??) dip.io.default_io_manager.io_manager_ui.IIoManagerUi(??) dip.io.default_io_manager.io_manager_ui.IoManagerUi(??) dip.io.default_io_manager.io_manager_ui.LocationWizard(??) dip.io.default_io_manager.io_manager_ui.Model(??) dip.io.default_io_manager.io_manager_ui.OptionList(??) dip.io.default_io_manager.io_manager_ui.Stack(??) dip.io.default_io_manager.io_manager_ui.WizardPage(??) dip.io.default_io_manager.io_manager_ui.implements(??) dip.io.default_io_manager.location_wizard(??) dip.io.default_io_manager.location_wizard.Any(??) dip.io.default_io_manager.location_wizard.Bool(??) dip.io.default_io_manager.location_wizard.Dict(??) dip.io.default_io_manager.location_wizard.IIoManagerUi(??) dip.io.default_io_manager.location_wizard.IStorage(??) dip.io.default_io_manager.location_wizard.IStorageLocation(??) dip.io.default_io_manager.location_wizard.Instance(??) dip.io.default_io_manager.location_wizard.List(??) dip.io.default_io_manager.location_wizard.LocationWizard(??) dip.io.default_io_manager.location_wizard.Wizard(??) dip.io.default_io_manager.location_wizard.WizardController(??) dip.io.default_io_manager.location_wizard.observe(??) dip.io.exceptions(??) dip.io.exceptions.FormatError(??) dip.io.exceptions.StorageError(??) dip.io.i_codec(??) dip.io.i_codec.ICodec(??) dip.io.i_codec.Interface(??) dip.io.i_codec.Str(??) dip.io.i_codec.Subclass(??) dip.io.i_filter_hints(??) dip.io.i_filter_hints.IFilterHints(??) dip.io.i_filter_hints.Interface(??) dip.io.i_filter_hints.Str(??) dip.io.i_io_manager(??) dip.io.i_io_manager.Callable(??) dip.io.i_io_manager.ICodec(??) dip.io.i_io_manager.IIoManager(??) dip.io.i_io_manager.IIoManagerUi(??) dip.io.i_io_manager.IStorageFactory(??) dip.io.i_io_manager.Instance(??) dip.io.i_io_manager.Interface(??) dip.io.i_io_manager.List(??) dip.io.i_io_manager_ui(??) dip.io.i_io_manager_ui.IIoManagerUi(??) dip.io.i_io_manager_ui.Instance(??) dip.io.i_io_manager_ui.Interface(??) dip.io.i_io_manager_ui.Str(??) dip.io.i_storage(??) dip.io.i_storage.ICodec(??) dip.io.i_storage.IStorage(??) dip.io.i_storage.IStorageUi(??) dip.io.i_storage.Instance(??) dip.io.i_storage.Interface(??) dip.io.i_storage.List(??) dip.io.i_storage_browser(??) dip.io.i_storage_browser.IStorage(??) dip.io.i_storage_browser.IStorageBrowser(??) dip.io.i_storage_browser.IStorageLocation(??) dip.io.i_storage_browser.Instance(??) dip.io.i_storage_browser.Interface(??) dip.io.i_storage_browser.Str(??) dip.io.i_storage_factory(??) dip.io.i_storage_factory.Bool(??) dip.io.i_storage_factory.IStorageFactory(??) dip.io.i_storage_factory.Interface(??) dip.io.i_storage_location(??) dip.io.i_storage_location.IStorage(??) dip.io.i_storage_location.IStorageLocation(??) dip.io.i_storage_location.Instance(??) dip.io.i_storage_location.Interface(??) dip.io.i_storage_ui(??) dip.io.i_storage_ui.IStorageUi(??) dip.io.i_storage_ui.Instance(??) dip.io.i_storage_ui.Interface(??) dip.io.i_streaming_storage_factory(??) dip.io.i_streaming_storage_factory.IStorageFactory(??) dip.io.i_streaming_storage_factory.IStreamingStorageFactory(??) dip.io.i_structured_storage_factory(??) dip.io.i_structured_storage_factory.ICodec(??) dip.io.i_structured_storage_factory.IStorageFactory(??) dip.io.i_structured_storage_factory.IStructuredStorageFactory(??) dip.io.io_manager(??) dip.io.io_manager.IIoManager(??) dip.io.io_manager.Instance(??) dip.io.io_manager.IoManager(??) dip.io.io_manager.Singleton(??) dip.io.istoragelocation_idisplay_adapter(??) dip.io.istoragelocation_idisplay_adapter.Adapter(??) dip.io.istoragelocation_idisplay_adapter.IDisplay(??) dip.io.istoragelocation_idisplay_adapter.IStorageLocation(??) dip.io.istoragelocation_idisplay_adapter.IStorageLocationIDisplayAdapter(??) dip.io.istoragelocation_idisplay_adapter.adapt(??) dip.io.plugins(??) dip.io.plugins.FilesystemStoragePlugin(??) dip.io.plugins.filesystem_storage_plugin(??) dip.io.plugins.filesystem_storage_plugin.FilesystemStoragePlugin(??) dip.io.plugins.filesystem_storage_plugin.IDisplay(??) dip.io.plugins.filesystem_storage_plugin.IPlugin(??) dip.io.plugins.filesystem_storage_plugin.Model(??) dip.io.plugins.filesystem_storage_plugin.implements(??) dip.io.storage.QIODeviceStorage(??) dip.io.storage.filesystem.FilesystemStorageFactory(??) dip.io.storage.filesystem.filesystem_storage(??) dip.io.storage.filesystem.filesystem_storage.FilesystemStorage(??) dip.io.storage.filesystem.filesystem_storage.IStorage(??) dip.io.storage.filesystem.filesystem_storage.QDir(QDir) dip.io.storage.filesystem.filesystem_storage.QFile() dip.io.storage.filesystem.filesystem_storage.QFileInfo() dip.io.storage.filesystem.filesystem_storage.QIODeviceStorage(??) dip.io.storage.filesystem.filesystem_storage.TOOLKIT dip.io.storage.filesystem.filesystem_storage.implements(??) dip.io.storage.filesystem.filesystem_storage.os(??) dip.io.storage.filesystem.filesystem_storage.urllib(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter.Adapter(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter.FilesystemStorageBrowserAdapter(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter.IEditor(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter.IStorageBrowser(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter.Instance(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter.implements(??) dip.io.storage.filesystem.filesystem_storage_browser_adapter.observe(??) dip.io.storage.filesystem.filesystem_storage_factory(??) dip.io.storage.filesystem.filesystem_storage_factory.FilesystemStorageFactory(??) dip.io.storage.filesystem.filesystem_storage_factory.IStreamingStorageFactory(??) dip.io.storage.filesystem.filesystem_storage_factory.Model(??) dip.io.storage.filesystem.filesystem_storage_factory.implements(??) dip.io.storage.filesystem.filesystem_storage_location(??) dip.io.storage.filesystem.filesystem_storage_location.FilesystemStorageLocation(??) dip.io.storage.filesystem.filesystem_storage_location.IStorageLocation(??) dip.io.storage.filesystem.filesystem_storage_location.Model(??) dip.io.storage.filesystem.filesystem_storage_location.Str(??) dip.io.storage.filesystem.filesystem_storage_location.implements(??) dip.io.storage.filesystem.filesystem_storage_ui(??) dip.io.storage.filesystem.filesystem_storage_ui.FilesystemLocationEditor(??) dip.io.storage.filesystem.filesystem_storage_ui.FilesystemLocationValidator(??) dip.io.storage.filesystem.filesystem_storage_ui.FilesystemStorageBrowserAdapter(??) dip.io.storage.filesystem.filesystem_storage_ui.FilesystemStorageUi(??) dip.io.storage.filesystem.filesystem_storage_ui.Form(??) dip.io.storage.filesystem.filesystem_storage_ui.IFilterHints(??) dip.io.storage.filesystem.filesystem_storage_ui.IStorageBrowser(??) dip.io.storage.filesystem.filesystem_storage_ui.IStorageUi(??) dip.io.storage.filesystem.filesystem_storage_ui.Model(??) dip.io.storage.filesystem.filesystem_storage_ui.UIToolkit(??) dip.io.storage.filesystem.filesystem_storage_ui.implements(??) dip.io.storage.filesystem.filesystemstorage_idisplay_adapter(??) dip.io.storage.filesystem.filesystemstorage_idisplay_adapter.Adapter(??) dip.io.storage.filesystem.filesystemstorage_idisplay_adapter.FilesystemStorage(??) dip.io.storage.filesystem.filesystemstorage_idisplay_adapter.FilesystemStorageIDisplayAdapter(??) dip.io.storage.filesystem.filesystemstorage_idisplay_adapter.IDisplay(??) dip.io.storage.filesystem.filesystemstorage_idisplay_adapter.adapt(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.Adapter(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.DelegatedTo(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.FilesystemStorageLocation(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.FilesystemStorageLocationIDisplayAdapter(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.IDisplay(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.adapt(??) dip.io.storage.filesystem.filesystemstoragelocation_idisplay_adapter.os(??) dip.io.storage.qiodevice_storage(??) dip.io.storage.qiodevice_storage.BaseStorage(??) dip.io.storage.qiodevice_storage.Int(??) dip.io.storage.qiodevice_storage.QIODevice() dip.io.storage.qiodevice_storage.QIODeviceStorage(??) dip.io.storage.qiodevice_storage.StorageError(??) dip.io.storage.qiodevice_storage.TOOLKIT dip.model(??) dip.model.Adapter(??) dip.model.Any(??) dip.model.AttributeChange(??) dip.model.Bool(??) dip.model.Callable(??) dip.model.CollectionTypeFactory(??) dip.model.DelegatedTo(??) dip.model.Dict(??) dip.model.Enum(??) dip.model.Float(??) dip.model.Instance(??) dip.model.Int(??) dip.model.Interface(??) dip.model.List(??) dip.model.MappingProxy(??) dip.model.MetaInterface(??) dip.model.MetaModel(??) dip.model.MetaSingleton(??) dip.model.Model(??) dip.model.MutableTypeFactory(??) dip.model.Set(??) dip.model.Singleton(??) dip.model.Str(??) dip.model.Subclass(??) dip.model.Trigger(??) dip.model.Tuple(??) dip.model.TypeFactory(??) dip.model.ValidationError(??) dip.model.ValidationTypeError(??) dip.model.ValueTypeFactory(??) dip.model.adapt(??) dip.model.adapter(??) dip.model.adapter.Adapter(??) dip.model.adapter.Any(??) dip.model.adapter.Model(??) dip.model.adapter.unadapted(??) dip.model.adapter_internals(??) dip.model.adapter_internals.adapt_explicitly(??) dip.model.adapter_internals.add_adapter_factory(??) dip.model.adapter_internals.object_adapter(??) dip.model.any(??) dip.model.any.Any(??) dip.model.any.ValueTypeFactory(??) dip.model.attribute_change(??) dip.model.attribute_change.Any(??) dip.model.attribute_change.AttributeChange(??) dip.model.attribute_change.Instance(??) dip.model.attribute_change.Model(??) dip.model.attribute_change.Str(??) dip.model.bool(??) dip.model.bool.Bool(??) dip.model.bool.ValidationTypeError(??) dip.model.bool.ValueTypeFactory(??) dip.model.callable(??) dip.model.callable.Callable(??) dip.model.callable.ValidationError(??) dip.model.callable.ValueTypeFactory(??) dip.model.change_trigger(??) dip.model.change_trigger.ChangeTrigger(??) dip.model.change_trigger.QCoreApplication(List[str]) dip.model.change_trigger.QObject(parent: QObject = None) dip.model.change_trigger.TOOLKIT dip.model.change_trigger.get_change_trigger(??) dip.model.change_trigger.pyqtSignal(??) dip.model.clone_model(??) dip.model.collection_type_factory(??) dip.model.collection_type_factory.Any(??) dip.model.collection_type_factory.CollectionTypeFactory(??) dip.model.collection_type_factory.MetaInterface(??) dip.model.collection_type_factory.ValidationError(??) dip.model.collection_type_factory.ValidationTypeError(??) dip.model.collection_type_factory.ValueTypeFactory(??) dip.model.collection_type_factory.sys(??) dip.model.delegated_to(??) dip.model.delegated_to.DelegatedTo(??) dip.model.delegated_to.ValueTypeFactory(??) dip.model.dict(??) dip.model.dict.Any(??) dip.model.dict.AttributeChange(??) dip.model.dict.DefaultArgValue(??) dip.model.dict.Dict(??) dip.model.dict.DictImpl(??) dip.model.dict.MutableTypeFactory(??) dip.model.dict.ValidationTypeError(??) dip.model.dict.get_change_trigger(??) dip.model.enum(??) dip.model.enum.Enum(??) dip.model.enum.ValidationError(??) dip.model.enum.ValidationTypeError(??) dip.model.enum.ValueTypeFactory(??) dip.model.exceptions(??) dip.model.exceptions.ValidationError(??) dip.model.exceptions.ValidationTypeError(??) dip.model.float(??) dip.model.float.Float(??) dip.model.float.ValidationTypeError(??) dip.model.float.ValueTypeFactory(??) dip.model.get_attribute_type(??) dip.model.get_attribute_types(??) dip.model.get_model_types(??) dip.model.implements(??) dip.model.inject(??) dip.model.inject.Interface(??) dip.model.inject.TypeFactory(??) dip.model.inject.get_model_types(??) dip.model.inject.inject(??) dip.model.inject.types(??) dip.model.instance(??) dip.model.instance.CollectionTypeFactory(??) dip.model.instance.Instance(??) dip.model.instance.ValidationError(??) dip.model.int(??) dip.model.int.Int(??) dip.model.int.ValidationTypeError(??) dip.model.int.ValueTypeFactory(??) dip.model.interface(??) dip.model.interface.Interface(??) dip.model.interface.MetaInterface(??) dip.model.isadapted(??) dip.model.list(??) dip.model.list.Any(??) dip.model.list.AttributeChange(??) dip.model.list.DefaultArgValue(??) dip.model.list.List(??) dip.model.list.ListImpl(??) dip.model.list.MutableTypeFactory(??) dip.model.list.ValidationTypeError(??) dip.model.list.get_change_trigger(??) dip.model.mapping_proxy(??) dip.model.mapping_proxy.Any(??) dip.model.mapping_proxy.Bool(??) dip.model.mapping_proxy.Dict(??) dip.model.mapping_proxy.Float(??) dip.model.mapping_proxy.Int(??) dip.model.mapping_proxy.List(??) dip.model.mapping_proxy.MappingProxy(??) dip.model.mapping_proxy.Model(??) dip.model.mapping_proxy.Set(??) dip.model.mapping_proxy.Str(??) dip.model.meta_interface(??) dip.model.meta_interface.MetaInterface(??) dip.model.meta_interface.MetaModel(??) dip.model.meta_interface.adapt_explicitly(??) dip.model.meta_interface.object_adapter(??) dip.model.meta_interface.unadapted(??) dip.model.meta_model(??) dip.model.meta_model.DelegatedTo(??) dip.model.meta_model.MetaModel(??) dip.model.meta_model.QObject(parent: QObject = None) dip.model.meta_model.TOOLKIT dip.model.meta_model.Trigger(??) dip.model.meta_model.TypeFactory(??) dip.model.meta_model.Uninitialized(??) dip.model.meta_model.ValueTypeFactory(??) dip.model.meta_model.observe(??) dip.model.meta_model.types(??) dip.model.meta_singleton(??) dip.model.meta_singleton.Instance(??) dip.model.meta_singleton.MetaInterface(??) dip.model.meta_singleton.MetaModel(??) dip.model.meta_singleton.MetaSingleton(??) dip.model.model(??) dip.model.model.MetaModel(??) dip.model.model.Model(??) dip.model.model_utils(??) dip.model.model_utils.TypeFactory(??) dip.model.model_utils.clone_model(??) dip.model.model_utils.get_attribute_type(??) dip.model.model_utils.get_attribute_types(??) dip.model.model_utils.get_model_types(??) dip.model.model_utils.resolve_attribute_path(??) dip.model.mutable_type_factory(??) dip.model.mutable_type_factory.CollectionTypeFactory(??) dip.model.mutable_type_factory.MutableTypeFactory(??) dip.model.notify_observers(??) dip.model.observe(??) dip.model.resolve_attribute_path(??) dip.model.set(??) dip.model.set.Any(??) dip.model.set.AttributeChange(??) dip.model.set.DefaultArgValue(??) dip.model.set.MutableTypeFactory(??) dip.model.set.Set(??) dip.model.set.SetImpl(??) dip.model.set.ValidationTypeError(??) dip.model.set.get_change_trigger(??) dip.model.singleton(??) dip.model.singleton.Any(??) dip.model.singleton.MetaSingleton(??) dip.model.singleton.Singleton(??) dip.model.str(??) dip.model.str.Str(??) dip.model.str.ValidationTypeError(??) dip.model.str.ValueTypeFactory(??) dip.model.subclass(??) dip.model.subclass.CollectionTypeFactory(??) dip.model.subclass.Subclass(??) dip.model.subclass.ValidationTypeError(??) dip.model.trigger(??) dip.model.trigger.Trigger(??) dip.model.trigger.TypeFactory(??) dip.model.trigger.get_change_trigger(??) dip.model.tuple(??) dip.model.tuple.Any(??) dip.model.tuple.CollectionTypeFactory(??) dip.model.tuple.DefaultArgValue(??) dip.model.tuple.Tuple(??) dip.model.tuple.TupleImpl(??) dip.model.tuple.ValidationTypeError(??) dip.model.type_factory(??) dip.model.type_factory.TypeFactory(??) dip.model.unadapted(??) dip.model.value_type_factory(??) dip.model.value_type_factory.TypeFactory(??) dip.model.value_type_factory.Uninitialized(??) dip.model.value_type_factory.ValidationError(??) dip.model.value_type_factory.ValueTypeFactory(??) dip.model.value_type_factory.get_change_trigger(??) dip.os(??) dip.plugins(??) dip.plugins.ExtensionPoint(??) dip.plugins.IExtensionPoint(??) dip.plugins.IPlugin(??) dip.plugins.IPluginManager(??) dip.plugins.IService(??) dip.plugins.PluginManager(??) dip.plugins.Service(??) dip.plugins.default_plugin_manager.PluginManager(??) dip.plugins.default_plugin_manager.plugin_manager(??) dip.plugins.default_plugin_manager.plugin_manager.ExtensionPoint(??) dip.plugins.default_plugin_manager.plugin_manager.IPluginManager(??) dip.plugins.default_plugin_manager.plugin_manager.Model(??) dip.plugins.default_plugin_manager.plugin_manager.PluginManager(??) dip.plugins.default_plugin_manager.plugin_manager.implements(??) dip.plugins.default_plugin_manager.plugin_manager.observe(??) dip.plugins.extension_point(??) dip.plugins.extension_point.ExtensionPoint(??) dip.plugins.extension_point.IExtensionPoint(??) dip.plugins.extension_point.List(??) dip.plugins.extension_point.Model(??) dip.plugins.extension_point.implements(??) dip.plugins.extension_point.weakref(??) dip.plugins.i_extension_point(??) dip.plugins.i_extension_point.IExtensionPoint(??) dip.plugins.i_extension_point.Interface(??) dip.plugins.i_extension_point.List(??) dip.plugins.i_extension_point.Str(??) dip.plugins.i_plugin(??) dip.plugins.i_plugin.Bool(??) dip.plugins.i_plugin.IPlugin(??) dip.plugins.i_plugin.Interface(??) dip.plugins.i_plugin.List(??) dip.plugins.i_plugin.Str(??) dip.plugins.i_plugin_manager(??) dip.plugins.i_plugin_manager.IExtensionPoint(??) dip.plugins.i_plugin_manager.IPlugin(??) dip.plugins.i_plugin_manager.IPluginManager(??) dip.plugins.i_plugin_manager.IService(??) dip.plugins.i_plugin_manager.Interface(??) dip.plugins.i_plugin_manager.List(??) dip.plugins.i_service(??) dip.plugins.i_service.Any(??) dip.plugins.i_service.IService(??) dip.plugins.i_service.Interface(??) dip.plugins.i_service.Subclass(??) dip.plugins.plugin_manager(??) dip.plugins.plugin_manager.IPluginManager(??) dip.plugins.plugin_manager.Instance(??) dip.plugins.plugin_manager.PluginManager(??) dip.plugins.plugin_manager.Singleton(??) dip.plugins.service(??) dip.plugins.service.IService(??) dip.plugins.service.Model(??) dip.plugins.service.Service(??) dip.plugins.service.implements(??) dip.publish(??) dip.publish.IPublication(??) dip.publish.IPublicationManager(??) dip.publish.IPublisher(??) dip.publish.ISubscriber(??) dip.publish.Publication(??) dip.publish.default_publication_manager(??) dip.publish.default_publication_manager.PublicationManager(??) dip.publish.default_publication_manager.publication_manager(??) dip.publish.default_publication_manager.publication_manager.IPublicationManager(??) dip.publish.default_publication_manager.publication_manager.MetaInterface(??) dip.publish.default_publication_manager.publication_manager.Model(??) dip.publish.default_publication_manager.publication_manager.Publication(??) dip.publish.default_publication_manager.publication_manager.PublicationManager(??) dip.publish.default_publication_manager.publication_manager.implements(??) dip.publish.default_publication_manager.publication_manager.observe(??) dip.publish.i_publication(??) dip.publish.i_publication.Any(??) dip.publish.i_publication.IPublication(??) dip.publish.i_publication.Interface(??) dip.publish.i_publication.Str(??) dip.publish.i_publication_manager(??) dip.publish.i_publication_manager.IPublicationManager(??) dip.publish.i_publication_manager.IPublisher(??) dip.publish.i_publication_manager.ISubscriber(??) dip.publish.i_publication_manager.Interface(??) dip.publish.i_publication_manager.List(??) dip.publish.i_publisher(??) dip.publish.i_publisher.IPublication(??) dip.publish.i_publisher.IPublisher(??) dip.publish.i_publisher.Instance(??) dip.publish.i_publisher.Interface(??) dip.publish.i_subscriber(??) dip.publish.i_subscriber.IPublication(??) dip.publish.i_subscriber.ISubscriber(??) dip.publish.i_subscriber.Instance(??) dip.publish.i_subscriber.Interface(??) dip.publish.publication(??) dip.publish.publication.IPublication(??) dip.publish.publication.Model(??) dip.publish.publication.Publication(??) dip.publish.publication.implements(??) dip.pui(??) dip.pui.Action(??) dip.pui.CheckBox(??) dip.pui.ComboBox(??) dip.pui.Dialog(??) dip.pui.Dock(??) dip.pui.FilesystemLocationEditor(??) dip.pui.FloatSpinBox(??) dip.pui.Form(??) dip.pui.Grid(??) dip.pui.GroupBox(??) dip.pui.HBox(??) dip.pui.Label(??) dip.pui.LineEditor(??) dip.pui.ListEditor(??) dip.pui.MainWindow(??) dip.pui.Menu(??) dip.pui.MenuBar(??) dip.pui.MessageArea(??) dip.pui.OptionList(??) dip.pui.PushButton(??) dip.pui.RadioButtons(??) dip.pui.SpinBox(??) dip.pui.Splitter(??) dip.pui.Stack(??) dip.pui.StorageLocationEditor(??) dip.pui.TableEditor(??) dip.pui.TextEditor(??) dip.pui.ToolButton(??) dip.pui.UIToolkit(??) dip.pui.VBox(??) dip.pui.Wizard(??) dip.pui.WizardPage(??) dip.pui.factory(??) dip.pui.factory.Action(??) dip.pui.factory.CheckBox(??) dip.pui.factory.ComboBox(??) dip.pui.factory.Dialog(??) dip.pui.factory.Dock(??) dip.pui.factory.FilesystemLocationEditor(??) dip.pui.factory.FloatSpinBox(??) dip.pui.factory.Form(??) dip.pui.factory.Grid(??) dip.pui.factory.GroupBox(??) dip.pui.factory.HBox(??) dip.pui.factory.Label(??) dip.pui.factory.LineEditor(??) dip.pui.factory.ListEditor(??) dip.pui.factory.MainWindow(??) dip.pui.factory.Menu(??) dip.pui.factory.MenuBar(??) dip.pui.factory.MessageArea(??) dip.pui.factory.OptionList(??) dip.pui.factory.PushButton(??) dip.pui.factory.RadioButtons(??) dip.pui.factory.SpinBox(??) dip.pui.factory.Splitter(??) dip.pui.factory.Stack(??) dip.pui.factory.StorageLocationEditor(??) dip.pui.factory.TableEditor(??) dip.pui.factory.TextEditor(??) dip.pui.factory.ToolButton(??) dip.pui.factory.UIToolkit(??) dip.pui.factory.VBox(??) dip.pui.factory.Wizard(??) dip.pui.factory.WizardPage(??) dip.settings(??) dip.settings.ISettings(??) dip.settings.ISettingsManager(??) dip.settings.ISettingsStorage(??) dip.settings.SettingsManager(??) dip.settings.default_settings_manager.SettingsManager(??) dip.settings.default_settings_manager.settings_manager(??) dip.settings.default_settings_manager.settings_manager.ISettings(??) dip.settings.default_settings_manager.settings_manager.ISettingsManager(??) dip.settings.default_settings_manager.settings_manager.ISettingsStorage(??) dip.settings.default_settings_manager.settings_manager.Instance(??) dip.settings.default_settings_manager.settings_manager.Model(??) dip.settings.default_settings_manager.settings_manager.SettingsManager(??) dip.settings.default_settings_manager.settings_manager.SettingsToolkit(??) dip.settings.default_settings_manager.settings_manager.implements(??) dip.settings.default_settings_manager.settings_manager.os(??) dip.settings.default_settings_manager.settings_manager.sys(??) dip.settings.i_settings(??) dip.settings.i_settings.ISettings(??) dip.settings.i_settings.Interface(??) dip.settings.i_settings.Str(??) dip.settings.i_settings_manager(??) dip.settings.i_settings_manager.ISettingsManager(??) dip.settings.i_settings_manager.Interface(??) dip.settings.i_settings_storage(??) dip.settings.i_settings_storage.ISettingsStorage(??) dip.settings.i_settings_storage.Interface(??) dip.settings.ieditor_isettings_adapter(??) dip.settings.ieditor_isettings_adapter.Adapter(??) dip.settings.ieditor_isettings_adapter.IEditor(??) dip.settings.ieditor_isettings_adapter.IEditorISettingsAdapter(??) dip.settings.ieditor_isettings_adapter.ISettings(??) dip.settings.ieditor_isettings_adapter.adapt(??) dip.settings.settings_manager(??) dip.settings.settings_manager.ISettingsManager(??) dip.settings.settings_manager.Instance(??) dip.settings.settings_manager.SettingsManager(??) dip.settings.settings_manager.Singleton(??) dip.shell(??) dip.shell.BaseManagedModelTool(??) dip.shell.BaseShellAdapter(??) dip.shell.BaseShellFactory(??) dip.shell.IActionHints(??) dip.shell.IAreaHints(??) dip.shell.ICloseViewVeto(??) dip.shell.IDirty(??) dip.shell.IManagedModel(??) dip.shell.IManagedModelTool(??) dip.shell.IModelManagerTool(??) dip.shell.IOpenModel(??) dip.shell.IQuitVeto(??) dip.shell.IShell(??) dip.shell.ITool(??) dip.shell.SimpleViewTool(??) dip.shell.base_managed_model_tool(??) dip.shell.base_managed_model_tool.Adapter(??) dip.shell.base_managed_model_tool.BaseManagedModelTool(??) dip.shell.base_managed_model_tool.ICloseViewVeto(??) dip.shell.base_managed_model_tool.IDisplay(??) dip.shell.base_managed_model_tool.IManagedModel(??) dip.shell.base_managed_model_tool.IOpenModel(??) dip.shell.base_managed_model_tool.IPublisher(??) dip.shell.base_managed_model_tool.IView(??) dip.shell.base_managed_model_tool.Instance(??) dip.shell.base_managed_model_tool.Model(??) dip.shell.base_managed_model_tool.Publication(??) dip.shell.base_managed_model_tool.implements(??) dip.shell.base_managed_model_tool.observe(??) dip.shell.base_managed_model_tool.unadapted(??) dip.shell.base_shell_adapter(??) dip.shell.base_shell_adapter.Action(??) dip.shell.base_shell_adapter.ActionCollection(??) dip.shell.base_shell_adapter.Adapter(??) dip.shell.base_shell_adapter.Application(??) dip.shell.base_shell_adapter.BaseShellAdapter(??) dip.shell.base_shell_adapter.IAreaHints(??) dip.shell.base_shell_adapter.ICloseViewVeto(??) dip.shell.base_shell_adapter.IContainer(??) dip.shell.base_shell_adapter.IOpenModel(??) dip.shell.base_shell_adapter.IPublisher(??) dip.shell.base_shell_adapter.IShell(??) dip.shell.base_shell_adapter.ISubscriber(??) dip.shell.base_shell_adapter.IView(??) dip.shell.base_shell_adapter.IoManager(??) dip.shell.base_shell_adapter.get_attribute_types(??) dip.shell.base_shell_adapter.observe(??) dip.shell.base_shell_factory(??) dip.shell.base_shell_factory.BaseShellFactory(??) dip.shell.base_shell_factory.Callable(??) dip.shell.base_shell_factory.Enum(??) dip.shell.base_shell_factory.IShell(??) dip.shell.base_shell_factory.List(??) dip.shell.base_shell_factory.Str(??) dip.shell.base_shell_factory.ViewFactory(??) dip.shell.i_action_hints(??) dip.shell.i_action_hints.Adapter(??) dip.shell.i_action_hints.IActionHints(??) dip.shell.i_action_hints.Interface(??) dip.shell.i_action_hints.Str(??) dip.shell.i_action_hints.adapt(??) dip.shell.i_action_hints.objectIActionHintsAdapter(??) dip.shell.i_area_hints(??) dip.shell.i_area_hints.Adapter(??) dip.shell.i_area_hints.IAreaHints(??) dip.shell.i_area_hints.Interface(??) dip.shell.i_area_hints.Str(??) dip.shell.i_area_hints.adapt(??) dip.shell.i_area_hints.objectIAreaHintsAdapter(??) dip.shell.i_close_view_veto(??) dip.shell.i_close_view_veto.ICloseViewVeto(??) dip.shell.i_close_view_veto.Interface(??) dip.shell.i_dirty(??) dip.shell.i_dirty.Bool(??) dip.shell.i_dirty.IDirty(??) dip.shell.i_dirty.Interface(??) dip.shell.i_managed_model(??) dip.shell.i_managed_model.Bool(??) dip.shell.i_managed_model.IDirty(??) dip.shell.i_managed_model.IManagedModel(??) dip.shell.i_managed_model.IStorageLocation(??) dip.shell.i_managed_model.IView(??) dip.shell.i_managed_model.Instance(??) dip.shell.i_managed_model.List(??) dip.shell.i_managed_model.Str(??) dip.shell.i_managed_model_tool(??) dip.shell.i_managed_model_tool.Bool(??) dip.shell.i_managed_model_tool.Enum(??) dip.shell.i_managed_model_tool.IManagedModel(??) dip.shell.i_managed_model_tool.IManagedModelTool(??) dip.shell.i_managed_model_tool.IModelManagerTool(??) dip.shell.i_managed_model_tool.ITool(??) dip.shell.i_managed_model_tool.Instance(??) dip.shell.i_managed_model_tool.List(??) dip.shell.i_model_manager_tool(??) dip.shell.i_model_manager_tool.Callable(??) dip.shell.i_model_manager_tool.IModelManagerTool(??) dip.shell.i_model_manager_tool.ITool(??) dip.shell.i_model_manager_tool.List(??) dip.shell.i_open_model(??) dip.shell.i_open_model.IOpenModel(??) dip.shell.i_open_model.Interface(??) dip.shell.i_quit_veto(??) dip.shell.i_quit_veto.IQuitVeto(??) dip.shell.i_quit_veto.Interface(??) dip.shell.i_quit_veto.List(??) dip.shell.i_quit_veto.Str(??) dip.shell.i_shell(??) dip.shell.i_shell.Enum(??) dip.shell.i_shell.IPublicationManager(??) dip.shell.i_shell.IShell(??) dip.shell.i_shell.ITool(??) dip.shell.i_shell.IView(??) dip.shell.i_shell.Instance(??) dip.shell.i_shell.Interface(??) dip.shell.i_shell.List(??) dip.shell.i_shell.Str(??) dip.shell.i_tool(??) dip.shell.i_tool.IAction(??) dip.shell.i_tool.IActionCollection(??) dip.shell.i_tool.ITool(??) dip.shell.i_tool.IView(??) dip.shell.i_tool.Instance(??) dip.shell.i_tool.Interface(??) dip.shell.i_tool.List(??) dip.shell.i_tool.Str(??) dip.shell.plugins(??) dip.shell.plugins.DirtyToolPlugin(??) dip.shell.plugins.MainWindowShellPlugin(??) dip.shell.plugins.ModelManagerToolPlugin(??) dip.shell.plugins.QuitToolPlugin(??) dip.shell.plugins.WhatsThisToolPlugin(??) dip.shell.plugins.dirty_tool_plugin(??) dip.shell.plugins.dirty_tool_plugin.DirtyToolPlugin(??) dip.shell.plugins.dirty_tool_plugin.IDisplay(??) dip.shell.plugins.dirty_tool_plugin.IPlugin(??) dip.shell.plugins.dirty_tool_plugin.Model(??) dip.shell.plugins.dirty_tool_plugin.implements(??) dip.shell.plugins.main_window_shell_plugin(??) dip.shell.plugins.main_window_shell_plugin.IDisplay(??) dip.shell.plugins.main_window_shell_plugin.IPlugin(??) dip.shell.plugins.main_window_shell_plugin.IShell(??) dip.shell.plugins.main_window_shell_plugin.MainWindowShellPlugin(??) dip.shell.plugins.main_window_shell_plugin.Model(??) dip.shell.plugins.main_window_shell_plugin.Service(??) dip.shell.plugins.main_window_shell_plugin.implements(??) dip.shell.plugins.model_manager_tool_plugin(??) dip.shell.plugins.model_manager_tool_plugin.IDisplay(??) dip.shell.plugins.model_manager_tool_plugin.IPlugin(??) dip.shell.plugins.model_manager_tool_plugin.Model(??) dip.shell.plugins.model_manager_tool_plugin.ModelManagerToolPlugin(??) dip.shell.plugins.model_manager_tool_plugin.implements(??) dip.shell.plugins.quit_tool_plugin(??) dip.shell.plugins.quit_tool_plugin.IDisplay(??) dip.shell.plugins.quit_tool_plugin.IPlugin(??) dip.shell.plugins.quit_tool_plugin.Model(??) dip.shell.plugins.quit_tool_plugin.QuitToolPlugin(??) dip.shell.plugins.quit_tool_plugin.implements(??) dip.shell.plugins.whats_this_tool_plugin(??) dip.shell.plugins.whats_this_tool_plugin.IDisplay(??) dip.shell.plugins.whats_this_tool_plugin.IPlugin(??) dip.shell.plugins.whats_this_tool_plugin.Model(??) dip.shell.plugins.whats_this_tool_plugin.WhatsThisToolPlugin(??) dip.shell.plugins.whats_this_tool_plugin.implements(??) dip.shell.shells(??) dip.shell.shells.main_window.MainWindowShell(??) dip.shell.shells.main_window.imainwindow_ishell_adapter(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.Application(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.BaseShellAdapter(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.Dock(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.IActionHints(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.IAreaHints(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.IMainWindow(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.IMainWindowIShellAdapter(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.IShell(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.adapt(??) dip.shell.shells.main_window.imainwindow_ishell_adapter.observe(??) dip.shell.shells.main_window.main_window_shell(??) dip.shell.shells.main_window.main_window_shell.BaseShellFactory(??) dip.shell.shells.main_window.main_window_shell.Instance(??) dip.shell.shells.main_window.main_window_shell.MainWindow(??) dip.shell.shells.main_window.main_window_shell.MainWindowShell(??) dip.shell.shells.main_window.main_window_shell.Menu(??) dip.shell.shells.main_window.main_window_shell.MenuBar(??) dip.shell.shells.main_window.main_window_shell.Stack(??) dip.shell.simple_view_tool(??) dip.shell.simple_view_tool.IActionHints(??) dip.shell.simple_view_tool.IAreaHints(??) dip.shell.simple_view_tool.ITool(??) dip.shell.simple_view_tool.IView(??) dip.shell.simple_view_tool.Instance(??) dip.shell.simple_view_tool.Model(??) dip.shell.simple_view_tool.SimpleViewTool(??) dip.shell.simple_view_tool.Str(??) dip.shell.simple_view_tool.Tuple(??) dip.shell.simple_view_tool.implements(??) dip.shell.simple_view_tool.observe(??) dip.shell.tools(??) dip.shell.tools.dirty.DirtyTool(??) dip.shell.tools.dirty.dirty_tool(??) dip.shell.tools.dirty.dirty_tool.DirtyTool(??) dip.shell.tools.dirty.dirty_tool.IDirty(??) dip.shell.tools.dirty.dirty_tool.ITool(??) dip.shell.tools.dirty.dirty_tool.Model(??) dip.shell.tools.dirty.dirty_tool.implements(??) dip.shell.tools.dirty.dirty_tool.observe(??) dip.shell.tools.form(??) dip.shell.tools.form.FormTool(??) dip.shell.tools.form.form_tool(??) dip.shell.tools.form.form_tool.BaseManagedModelTool(??) dip.shell.tools.form.form_tool.Callable(??) dip.shell.tools.form.form_tool.FormTool(??) dip.shell.tools.form.form_tool.IAreaHints(??) dip.shell.tools.form.form_tool.IManagedModel(??) dip.shell.tools.form.form_tool.IManagedModelTool(??) dip.shell.tools.form.form_tool.Instance(??) dip.shell.tools.form.form_tool.Str(??) dip.shell.tools.form.form_tool.ViewFactory(??) dip.shell.tools.form.form_tool.implements(??) dip.shell.tools.form.form_tool.observe(??) dip.shell.tools.model_manager.ModelManagerTool(??) dip.shell.tools.model_manager.model_manager_tool(??) dip.shell.tools.model_manager.model_manager_tool.Application(??) dip.shell.tools.model_manager.model_manager_tool.CloseAction(??) dip.shell.tools.model_manager.model_manager_tool.IDirty(??) dip.shell.tools.model_manager.model_manager_tool.IDisplay(??) dip.shell.tools.model_manager.model_manager_tool.IManagedModel(??) dip.shell.tools.model_manager.model_manager_tool.IManagedModelTool(??) dip.shell.tools.model_manager.model_manager_tool.IModelManagerTool(??) dip.shell.tools.model_manager.model_manager_tool.IPublisher(??) dip.shell.tools.model_manager.model_manager_tool.IQuitVeto(??) dip.shell.tools.model_manager.model_manager_tool.IStorageLocation(??) dip.shell.tools.model_manager.model_manager_tool.IView(??) dip.shell.tools.model_manager.model_manager_tool.Instance(??) dip.shell.tools.model_manager.model_manager_tool.IoManager(??) dip.shell.tools.model_manager.model_manager_tool.Model(??) dip.shell.tools.model_manager.model_manager_tool.ModelManagerTool(??) dip.shell.tools.model_manager.model_manager_tool.NewAction(??) dip.shell.tools.model_manager.model_manager_tool.OpenAction(??) dip.shell.tools.model_manager.model_manager_tool.Publication(??) dip.shell.tools.model_manager.model_manager_tool.ResourcesState(??) dip.shell.tools.model_manager.model_manager_tool.SaveAction(??) dip.shell.tools.model_manager.model_manager_tool.SaveAsAction(??) dip.shell.tools.model_manager.model_manager_tool.StorageError(??) dip.shell.tools.model_manager.model_manager_tool.Str(??) dip.shell.tools.model_manager.model_manager_tool.implements(??) dip.shell.tools.model_manager.model_manager_tool.observe(??) dip.shell.tools.model_manager.model_manager_tool.unadapted(??) dip.shell.tools.model_manager.model_template_dialog.Any(??) dip.shell.tools.model_manager.model_template_dialog.Dialog(??) dip.shell.tools.model_manager.model_template_dialog.Instance(??) dip.shell.tools.model_manager.model_template_dialog.Label(??) dip.shell.tools.model_manager.model_template_dialog.ModelManagerTool(??) dip.shell.tools.model_manager.model_template_dialog.ModelTemplateDialog(??) dip.shell.tools.model_manager.model_template_dialog.OptionList(??) dip.shell.tools.model_manager.model_template_dialog.Str(??) dip.shell.tools.model_manager.model_template_dialog.VBox(??) dip.shell.tools.model_manager.new_wizard.Any(??) dip.shell.tools.model_manager.new_wizard.IManagedModelTool(??) dip.shell.tools.model_manager.new_wizard.Instance(??) dip.shell.tools.model_manager.new_wizard.ModelManagerTool(??) dip.shell.tools.model_manager.new_wizard.NewWizard(??) dip.shell.tools.model_manager.new_wizard.OptionList(??) dip.shell.tools.model_manager.new_wizard.Wizard(??) dip.shell.tools.model_manager.new_wizard.WizardController(??) dip.shell.tools.model_manager.new_wizard.WizardPage(??) dip.shell.tools.model_manager.new_wizard.observe(??) dip.shell.tools.model_manager.open_wizard(??) dip.shell.tools.model_manager.open_wizard.Any(??) dip.shell.tools.model_manager.open_wizard.Bool(??) dip.shell.tools.model_manager.open_wizard.Dict(??) dip.shell.tools.model_manager.open_wizard.IManagedModelTool(??) dip.shell.tools.model_manager.open_wizard.IStorage(??) dip.shell.tools.model_manager.open_wizard.IStorageBrowser(??) dip.shell.tools.model_manager.open_wizard.IStorageLocation(??) dip.shell.tools.model_manager.open_wizard.Instance(??) dip.shell.tools.model_manager.open_wizard.IoManager(??) dip.shell.tools.model_manager.open_wizard.ModelManagerTool(??) dip.shell.tools.model_manager.open_wizard.OpenWizard(??) dip.shell.tools.model_manager.open_wizard.OptionList(??) dip.shell.tools.model_manager.open_wizard.Wizard(??) dip.shell.tools.model_manager.open_wizard.WizardController(??) dip.shell.tools.model_manager.open_wizard.WizardPage(??) dip.shell.tools.model_manager.open_wizard.observe(??) dip.shell.tools.model_manager.resources_state(??) dip.shell.tools.model_manager.resources_state.Bool(??) dip.shell.tools.model_manager.resources_state.Dict(??) dip.shell.tools.model_manager.resources_state.IDisplay(??) dip.shell.tools.model_manager.resources_state.IManagedModel(??) dip.shell.tools.model_manager.resources_state.IManagedModelTool(??) dip.shell.tools.model_manager.resources_state.Instance(??) dip.shell.tools.model_manager.resources_state.IoManager(??) dip.shell.tools.model_manager.resources_state.Model(??) dip.shell.tools.model_manager.resources_state.ResourcesState(??) dip.shell.tools.model_manager.tool_dialog.Dialog(??) dip.shell.tools.model_manager.tool_dialog.IManagedModelTool(??) dip.shell.tools.model_manager.tool_dialog.Instance(??) dip.shell.tools.model_manager.tool_dialog.Label(??) dip.shell.tools.model_manager.tool_dialog.ModelManagerTool(??) dip.shell.tools.model_manager.tool_dialog.OptionList(??) dip.shell.tools.model_manager.tool_dialog.Str(??) dip.shell.tools.model_manager.tool_dialog.ToolDialog(??) dip.shell.tools.model_manager.tool_dialog.Tuple(??) dip.shell.tools.model_manager.tool_dialog.VBox(??) dip.shell.tools.quit(??) dip.shell.tools.quit.QuitTool(??) dip.shell.tools.quit.quit_tool(??) dip.shell.tools.quit.quit_tool.Application(??) dip.shell.tools.quit.quit_tool.Dialog(??) dip.shell.tools.quit.quit_tool.IQuitVeto(??) dip.shell.tools.quit.quit_tool.IShell(??) dip.shell.tools.quit.quit_tool.ITool(??) dip.shell.tools.quit.quit_tool.IView(??) dip.shell.tools.quit.quit_tool.Instance(??) dip.shell.tools.quit.quit_tool.Model(??) dip.shell.tools.quit.quit_tool.QuitAction(??) dip.shell.tools.quit.quit_tool.QuitTool(??) dip.shell.tools.quit.quit_tool.Str(??) dip.shell.tools.quit.quit_tool.implements(??) dip.shell.tools.quit.quit_tool.observe(??) dip.shell.tools.whats_this(??) dip.shell.tools.whats_this.WhatsThisTool(??) dip.shell.tools.whats_this.whats_this_tool(??) dip.shell.tools.whats_this.whats_this_tool.ITool(??) dip.shell.tools.whats_this.whats_this_tool.Model(??) dip.shell.tools.whats_this.whats_this_tool.WhatsThisAction(??) dip.shell.tools.whats_this.whats_this_tool.WhatsThisTool(??) dip.shell.tools.whats_this.whats_this_tool.implements(??) dip.sys(??) dip.toolkits(??) dip.toolkits.Toolkit(??) dip.toolkits.toolkit(??) dip.toolkits.toolkit.Singleton(??) dip.toolkits.toolkit.TOOLKIT dip.toolkits.toolkit.Toolkit(??) dip.toolkits.toolkit.sys(??) dip.ui(??) dip.ui.Action(??) dip.ui.ActionCollection(??) dip.ui.Application(??) dip.ui.Bindings(??) dip.ui.BoxLayoutFactory(??) dip.ui.CheckBox(??) dip.ui.CollectionValidator(??) dip.ui.ComboBox(??) dip.ui.ContainerFactory(??) dip.ui.Controller(??) dip.ui.Dialog(??) dip.ui.DialogButton(??) dip.ui.DialogController(??) dip.ui.Dock(??) dip.ui.EditorFactory(??) dip.ui.FilesystemLocationEditor(??) dip.ui.FilesystemLocationValidator(??) dip.ui.FloatSpinBox(??) dip.ui.Form(??) dip.ui.Grid(??) dip.ui.GroupBox(??) dip.ui.HBox(??) dip.ui.IAction(??) dip.ui.IActionCollection(??) dip.ui.IApplication(??) dip.ui.IBox(??) dip.ui.ICheckBox(??) dip.ui.ICollectionEditor(??) dip.ui.IComboBox(??) dip.ui.IContainer(??) dip.ui.IDialog(??) dip.ui.IDisplay(??) dip.ui.IDock(??) dip.ui.IEditor(??) dip.ui.IFilesystemLocationEditor(??) dip.ui.IFloatSpinBox(??) dip.ui.IForm(??) dip.ui.IGrid(??) dip.ui.IGroupBox(??) dip.ui.IHBox(??) dip.ui.ILabel(??) dip.ui.ILineEditor(??) dip.ui.IListEditor(??) dip.ui.IMainWindow(??) dip.ui.IMenu(??) dip.ui.IMenuBar(??) dip.ui.IMessageArea(??) dip.ui.IObject(??) dip.ui.IOptionList(??) dip.ui.IOptionSelector(??) dip.ui.IPushButton(??) dip.ui.IRadioButtons(??) dip.ui.ISingleViewContainer(??) dip.ui.ISpinBox(??) dip.ui.ISplitter(??) dip.ui.IStack(??) dip.ui.IStorageLocationEditor(??) dip.ui.ITableEditor(??) dip.ui.ITextEditor(??) dip.ui.IToolButton(??) dip.ui.IVBox(??) dip.ui.IValidator(??) dip.ui.IView(??) dip.ui.IWizard(??) dip.ui.IWizardPage(??) dip.ui.Label(??) dip.ui.LineEditor(??) dip.ui.ListColumn(??) dip.ui.ListEditor(??) dip.ui.MainWindow(??) dip.ui.Menu(??) dip.ui.MenuBar(??) dip.ui.MessageArea(??) dip.ui.OptionList(??) dip.ui.OptionSelectorFactory(??) dip.ui.OptionValidator(??) dip.ui.PushButton(??) dip.ui.RadioButtons(??) dip.ui.SingleSubviewContainerFactory(??) dip.ui.SpinBox(??) dip.ui.Splitter(??) dip.ui.Stack(??) dip.ui.StorageLocationEditor(??) dip.ui.StorageLocationValidator(??) dip.ui.Stretch(??) dip.ui.StringValidator(??) dip.ui.TableColumn(??) dip.ui.TableEditor(??) dip.ui.TextEditor(??) dip.ui.ToolButton(??) dip.ui.UIToolkit(??) dip.ui.VBox(??) dip.ui.ViewFactory(??) dip.ui.Wizard(??) dip.ui.WizardController(??) dip.ui.WizardPage(??) dip.ui.action(??) dip.ui.action.Action(??) dip.ui.action.Bool(??) dip.ui.action.IAction(??) dip.ui.action.UIToolkit(??) dip.ui.action.ValidationTypeError(??) dip.ui.action.ValueTypeFactory(??) dip.ui.action.get_attribute_type(??) dip.ui.action.resolve_attribute_path(??) dip.ui.action_collection(??) dip.ui.action_collection.ActionCollection(??) dip.ui.action_collection.ActionCollectionImpl(??) dip.ui.action_collection.IActionCollection(??) dip.ui.action_collection.Model(??) dip.ui.action_collection.ValidationTypeError(??) dip.ui.action_collection.ValueTypeFactory(??) dip.ui.action_collection.implements(??) dip.ui.actions.CloseAction(??) dip.ui.actions.NewAction(??) dip.ui.actions.OpenAction(??) dip.ui.actions.QuitAction(??) dip.ui.actions.SaveAction(??) dip.ui.actions.SaveAsAction(??) dip.ui.actions.WhatsThisAction(??) dip.ui.actions.close_action(??) dip.ui.actions.close_action.Action(??) dip.ui.actions.close_action.CloseAction(??) dip.ui.actions.close_action.IAction(??) dip.ui.actions.close_action.UIToolkit(??) dip.ui.actions.new_action(??) dip.ui.actions.new_action.Action(??) dip.ui.actions.new_action.IAction(??) dip.ui.actions.new_action.NewAction(??) dip.ui.actions.new_action.UIToolkit(??) dip.ui.actions.open_action(??) dip.ui.actions.open_action.Action(??) dip.ui.actions.open_action.IAction(??) dip.ui.actions.open_action.OpenAction(??) dip.ui.actions.open_action.UIToolkit(??) dip.ui.actions.quit_action(??) dip.ui.actions.quit_action.Action(??) dip.ui.actions.quit_action.IAction(??) dip.ui.actions.quit_action.QuitAction(??) dip.ui.actions.quit_action.UIToolkit(??) dip.ui.actions.save_action(??) dip.ui.actions.save_action.Action(??) dip.ui.actions.save_action.IAction(??) dip.ui.actions.save_action.SaveAction(??) dip.ui.actions.save_action.UIToolkit(??) dip.ui.actions.save_as_action(??) dip.ui.actions.save_as_action.Action(??) dip.ui.actions.save_as_action.IAction(??) dip.ui.actions.save_as_action.SaveAsAction(??) dip.ui.actions.save_as_action.UIToolkit(??) dip.ui.actions.whats_this_action(??) dip.ui.actions.whats_this_action.Action(??) dip.ui.actions.whats_this_action.IAction(??) dip.ui.actions.whats_this_action.UIToolkit(??) dip.ui.actions.whats_this_action.WhatsThisAction(??) dip.ui.application(??) dip.ui.application.Application(??) dip.ui.application.IApplication(??) dip.ui.application.UIToolkit(??) dip.ui.bindings(??) dip.ui.bindings.Bindings(??) dip.ui.bindings.Callable(??) dip.ui.bindings.EditorFactory(??) dip.ui.bindings.IEditor(??) dip.ui.bindings.IView(??) dip.ui.bindings.MappingProxy(??) dip.ui.bindings.Model(??) dip.ui.bindings.UIToolkit(??) dip.ui.bindings.ViewFactory(??) dip.ui.bindings.get_attribute_type(??) dip.ui.bindings.resolve_attribute_path(??) dip.ui.box_layout_factory(??) dip.ui.box_layout_factory.BoxLayoutFactory(??) dip.ui.box_layout_factory.ContainerFactory(??) dip.ui.box_layout_factory.Stretch(??) dip.ui.check_box(??) dip.ui.check_box.CheckBox(??) dip.ui.check_box.EditorFactory(??) dip.ui.check_box.ICheckBox(??) dip.ui.collection_validator(??) dip.ui.collection_validator.CollectionValidator(??) dip.ui.collection_validator.IValidator(??) dip.ui.collection_validator.Model(??) dip.ui.collection_validator.implements(??) dip.ui.combo_box(??) dip.ui.combo_box.ComboBox(??) dip.ui.combo_box.IComboBox(??) dip.ui.combo_box.OptionSelectorFactory(??) dip.ui.container_factory(??) dip.ui.container_factory.Bool(??) dip.ui.container_factory.Callable(??) dip.ui.container_factory.ContainerFactory(??) dip.ui.container_factory.IAction(??) dip.ui.container_factory.IContainer(??) dip.ui.container_factory.List(??) dip.ui.container_factory.UIToolkit(??) dip.ui.container_factory.ViewFactory(??) dip.ui.container_factory.get_attribute_type(??) dip.ui.container_factory.get_model_types(??) dip.ui.container_factory.resolve_attribute_path(??) dip.ui.controller(??) dip.ui.controller.Bool(??) dip.ui.controller.Controller(??) dip.ui.controller.IAction(??) dip.ui.controller.IContainer(??) dip.ui.controller.IEditor(??) dip.ui.controller.IMessageArea(??) dip.ui.controller.IView(??) dip.ui.controller.Instance(??) dip.ui.controller.List(??) dip.ui.controller.Model(??) dip.ui.controller.Str(??) dip.ui.controller.ValueTypeFactory(??) dip.ui.controller.observe(??) dip.ui.controller.partial(func, *args, **keywords) - new function with partial application dip.ui.dialog(??) dip.ui.dialog.Dialog(??) dip.ui.dialog.IDialog(??) dip.ui.dialog.List(??) dip.ui.dialog.SingleSubviewContainerFactory(??) dip.ui.dialog_controller(??) dip.ui.dialog_controller.Controller(??) dip.ui.dialog_controller.DialogController(??) dip.ui.dialog_controller.IDialog(??) dip.ui.dialog_controller.Instance(??) dip.ui.dialog_controller.observe(??) dip.ui.dock(??) dip.ui.dock.Dock(??) dip.ui.dock.IDock(??) dip.ui.dock.SingleSubviewContainerFactory(??) dip.ui.editor_factory(??) dip.ui.editor_factory.EditorFactory(??) dip.ui.editor_factory.IEditor(??) dip.ui.editor_factory.Str(??) dip.ui.editor_factory.ViewFactory(??) dip.ui.editor_factory.get_attribute_type(??) dip.ui.editor_factory.resolve_attribute_path(??) dip.ui.filesystem_location_editor(??) dip.ui.filesystem_location_editor.Bool(??) dip.ui.filesystem_location_editor.EditorFactory(??) dip.ui.filesystem_location_editor.FilesystemLocationEditor(??) dip.ui.filesystem_location_editor.IFilesystemLocationEditor(??) dip.ui.filesystem_location_validator(??) dip.ui.filesystem_location_validator.Bool(??) dip.ui.filesystem_location_validator.Enum(??) dip.ui.filesystem_location_validator.FilesystemLocationValidator(??) dip.ui.filesystem_location_validator.IFilesystemLocationEditor(??) dip.ui.filesystem_location_validator.IValidator(??) dip.ui.filesystem_location_validator.Model(??) dip.ui.filesystem_location_validator.implements(??) dip.ui.filesystem_location_validator.os(??) dip.ui.float_spin_box(??) dip.ui.float_spin_box.EditorFactory(??) dip.ui.float_spin_box.FloatSpinBox(??) dip.ui.float_spin_box.IFloatSpinBox(??) dip.ui.form(??) dip.ui.form.ContainerFactory(??) dip.ui.form.Form(??) dip.ui.form.IEditor(??) dip.ui.form.IForm(??) dip.ui.grid(??) dip.ui.grid.ContainerFactory(??) dip.ui.grid.Grid(??) dip.ui.grid.IGrid(??) dip.ui.group_box(??) dip.ui.group_box.GroupBox(??) dip.ui.group_box.IGroupBox(??) dip.ui.group_box.SingleSubviewContainerFactory(??) dip.ui.h_box(??) dip.ui.h_box.BoxLayoutFactory(??) dip.ui.h_box.HBox(??) dip.ui.h_box.IHBox(??) dip.ui.i_action(??) dip.ui.i_action.Bool(??) dip.ui.i_action.Callable(??) dip.ui.i_action.IAction(??) dip.ui.i_action.IObject(??) dip.ui.i_action.Instance(??) dip.ui.i_action.Model(??) dip.ui.i_action.Str(??) dip.ui.i_action.Trigger(??) dip.ui.i_action_collection(??) dip.ui.i_action_collection.Bool(??) dip.ui.i_action_collection.IAction(??) dip.ui.i_action_collection.IActionCollection(??) dip.ui.i_action_collection.IObject(??) dip.ui.i_action_collection.Instance(??) dip.ui.i_action_collection.List(??) dip.ui.i_action_collection.Str(??) dip.ui.i_application(??) dip.ui.i_application.IApplication(??) dip.ui.i_application.IView(??) dip.ui.i_application.Instance(??) dip.ui.i_application.Interface(??) dip.ui.i_box(??) dip.ui.i_box.IBox(??) dip.ui.i_box.IContainer(??) dip.ui.i_box.IView(??) dip.ui.i_box.Instance(??) dip.ui.i_box.Stretch(??) dip.ui.i_box.Tuple(??) dip.ui.i_check_box(??) dip.ui.i_check_box.ICheckBox(??) dip.ui.i_check_box.IEditor(??) dip.ui.i_collection_editor(??) dip.ui.i_collection_editor.ICollectionEditor(??) dip.ui.i_collection_editor.IEditor(??) dip.ui.i_combo_box(??) dip.ui.i_combo_box.IComboBox(??) dip.ui.i_combo_box.IOptionSelector(??) dip.ui.i_container(??) dip.ui.i_container.IAction(??) dip.ui.i_container.IActionCollection(??) dip.ui.i_container.IContainer(??) dip.ui.i_container.IView(??) dip.ui.i_container.Instance(??) dip.ui.i_container.List(??) dip.ui.i_container.Tuple(??) dip.ui.i_dialog(??) dip.ui.i_dialog.Bool(??) dip.ui.i_dialog.DialogButton(??) dip.ui.i_dialog.Enum(??) dip.ui.i_dialog.IDialog(??) dip.ui.i_dialog.ISingleViewContainer(??) dip.ui.i_dialog.Trigger(??) dip.ui.i_dialog.Tuple(??) dip.ui.i_display(??) dip.ui.i_display.IDisplay(??) dip.ui.i_display.Interface(??) dip.ui.i_display.Str(??) dip.ui.i_dock(??) dip.ui.i_dock.Enum(??) dip.ui.i_dock.IAction(??) dip.ui.i_dock.IDock(??) dip.ui.i_dock.ISingleViewContainer(??) dip.ui.i_dock.Instance(??) dip.ui.i_dock.Str(??) dip.ui.i_editor(??) dip.ui.i_editor.Any(??) dip.ui.i_editor.Bool(??) dip.ui.i_editor.Enum(??) dip.ui.i_editor.IEditor(??) dip.ui.i_editor.IValidator(??) dip.ui.i_editor.IView(??) dip.ui.i_editor.Instance(??) dip.ui.i_editor.Model(??) dip.ui.i_editor.Str(??) dip.ui.i_editor.TypeFactory(??) dip.ui.i_filesystem_location_editor(??) dip.ui.i_filesystem_location_editor.Bool(??) dip.ui.i_filesystem_location_editor.Enum(??) dip.ui.i_filesystem_location_editor.IEditor(??) dip.ui.i_filesystem_location_editor.IFilesystemLocationEditor(??) dip.ui.i_filesystem_location_editor.Str(??) dip.ui.i_float_spin_box(??) dip.ui.i_float_spin_box.Float(??) dip.ui.i_float_spin_box.IEditor(??) dip.ui.i_float_spin_box.IFloatSpinBox(??) dip.ui.i_form(??) dip.ui.i_form.IContainer(??) dip.ui.i_form.IForm(??) dip.ui.i_form.Str(??) dip.ui.i_form.Tuple(??) dip.ui.i_grid(??) dip.ui.i_grid.IContainer(??) dip.ui.i_grid.IGrid(??) dip.ui.i_grid.Int(??) dip.ui.i_group_box(??) dip.ui.i_group_box.IGroupBox(??) dip.ui.i_group_box.ISingleViewContainer(??) dip.ui.i_h_box(??) dip.ui.i_h_box.IBox(??) dip.ui.i_h_box.IHBox(??) dip.ui.i_label(??) dip.ui.i_label.IEditor(??) dip.ui.i_label.ILabel(??) dip.ui.i_line_editor(??) dip.ui.i_line_editor.IEditor(??) dip.ui.i_line_editor.ILineEditor(??) dip.ui.i_list_editor(??) dip.ui.i_list_editor.Bool(??) dip.ui.i_list_editor.Callable(??) dip.ui.i_list_editor.ICollectionEditor(??) dip.ui.i_list_editor.IListEditor(??) dip.ui.i_list_editor.Int(??) dip.ui.i_list_editor.List(??) dip.ui.i_list_editor.ListColumn(??) dip.ui.i_main_window(??) dip.ui.i_main_window.IDock(??) dip.ui.i_main_window.IMainWindow(??) dip.ui.i_main_window.IMenuBar(??) dip.ui.i_main_window.ISingleViewContainer(??) dip.ui.i_main_window.Instance(??) dip.ui.i_main_window.List(??) dip.ui.i_menu(??) dip.ui.i_menu.Bool(??) dip.ui.i_menu.IAction(??) dip.ui.i_menu.IContainer(??) dip.ui.i_menu.IMenu(??) dip.ui.i_menu.Instance(??) dip.ui.i_menu.List(??) dip.ui.i_menu.Str(??) dip.ui.i_menu_bar(??) dip.ui.i_menu_bar.IContainer(??) dip.ui.i_menu_bar.IMenuBar(??) dip.ui.i_message_area(??) dip.ui.i_message_area.IMessageArea(??) dip.ui.i_message_area.IView(??) dip.ui.i_message_area.Str(??) dip.ui.i_object(??) dip.ui.i_object.IObject(??) dip.ui.i_object.Interface(??) dip.ui.i_object.Str(??) dip.ui.i_option_list(??) dip.ui.i_option_list.IOptionList(??) dip.ui.i_option_list.IOptionSelector(??) dip.ui.i_option_selector(??) dip.ui.i_option_selector.Bool(??) dip.ui.i_option_selector.IEditor(??) dip.ui.i_option_selector.IOptionSelector(??) dip.ui.i_option_selector.Str(??) dip.ui.i_option_selector.Tuple(??) dip.ui.i_push_button(??) dip.ui.i_push_button.IEditor(??) dip.ui.i_push_button.IPushButton(??) dip.ui.i_radio_buttons(??) dip.ui.i_radio_buttons.Bool(??) dip.ui.i_radio_buttons.IOptionSelector(??) dip.ui.i_radio_buttons.IRadioButtons(??) dip.ui.i_single_view_container(??) dip.ui.i_single_view_container.IContainer(??) dip.ui.i_single_view_container.ISingleViewContainer(??) dip.ui.i_single_view_container.IView(??) dip.ui.i_single_view_container.Instance(??) dip.ui.i_spin_box(??) dip.ui.i_spin_box.IEditor(??) dip.ui.i_spin_box.ISpinBox(??) dip.ui.i_spin_box.Int(??) dip.ui.i_splitter(??) dip.ui.i_splitter.IContainer(??) dip.ui.i_splitter.ISplitter(??) dip.ui.i_stack(??) dip.ui.i_stack.Enum(??) dip.ui.i_stack.IContainer(??) dip.ui.i_stack.IStack(??) dip.ui.i_stack.IView(??) dip.ui.i_stack.Instance(??) dip.ui.i_stack.List(??) dip.ui.i_storage_location_editor(??) dip.ui.i_storage_location_editor.Bool(??) dip.ui.i_storage_location_editor.Enum(??) dip.ui.i_storage_location_editor.IEditor(??) dip.ui.i_storage_location_editor.IStorageLocationEditor(??) dip.ui.i_storage_location_editor.Str(??) dip.ui.i_table_editor(??) dip.ui.i_table_editor.Callable(??) dip.ui.i_table_editor.Enum(??) dip.ui.i_table_editor.ICollectionEditor(??) dip.ui.i_table_editor.ITableEditor(??) dip.ui.i_table_editor.Instance(??) dip.ui.i_table_editor.List(??) dip.ui.i_table_editor.TableColumn(??) dip.ui.i_text_editor(??) dip.ui.i_text_editor.IEditor(??) dip.ui.i_text_editor.ITextEditor(??) dip.ui.i_tool_button(??) dip.ui.i_tool_button.IAction(??) dip.ui.i_tool_button.IEditor(??) dip.ui.i_tool_button.IToolButton(??) dip.ui.i_tool_button.Instance(??) dip.ui.i_v_box(??) dip.ui.i_v_box.IBox(??) dip.ui.i_v_box.IVBox(??) dip.ui.i_validator(??) dip.ui.i_validator.IValidator(??) dip.ui.i_validator.Interface(??) dip.ui.i_view(??) dip.ui.i_view.Bool(??) dip.ui.i_view.Callable(??) dip.ui.i_view.IObject(??) dip.ui.i_view.IView(??) dip.ui.i_view.Instance(??) dip.ui.i_view.List(??) dip.ui.i_view.Str(??) dip.ui.i_view.Trigger(??) dip.ui.i_wizard(??) dip.ui.i_wizard.IContainer(??) dip.ui.i_wizard.IWizard(??) dip.ui.i_wizard.IWizardPage(??) dip.ui.i_wizard.Instance(??) dip.ui.i_wizard.Trigger(??) dip.ui.i_wizard.Tuple(??) dip.ui.i_wizard_page(??) dip.ui.i_wizard_page.Bool(??) dip.ui.i_wizard_page.ISingleViewContainer(??) dip.ui.i_wizard_page.IWizardPage(??) dip.ui.i_wizard_page.Str(??) dip.ui.label(??) dip.ui.label.EditorFactory(??) dip.ui.label.ILabel(??) dip.ui.label.Label(??) dip.ui.line_editor(??) dip.ui.line_editor.EditorFactory(??) dip.ui.line_editor.Enum(??) dip.ui.line_editor.ILineEditor(??) dip.ui.line_editor.LineEditor(??) dip.ui.list_column(??) dip.ui.list_column.ListColumn(??) dip.ui.list_column.Str(??) dip.ui.list_column.TableColumn(??) dip.ui.list_editor(??) dip.ui.list_editor.Any(??) dip.ui.list_editor.EditorFactory(??) dip.ui.list_editor.IListEditor(??) dip.ui.list_editor.Instance(??) dip.ui.list_editor.List(??) dip.ui.list_editor.ListColumn(??) dip.ui.list_editor.ListEditor(??) dip.ui.list_editor.MetaModel(??) dip.ui.list_editor.Str(??) dip.ui.list_editor.UIToolkit(??) dip.ui.list_editor.get_model_types(??) dip.ui.main_window(??) dip.ui.main_window.Action(??) dip.ui.main_window.Dock(??) dip.ui.main_window.IMainWindow(??) dip.ui.main_window.Instance(??) dip.ui.main_window.List(??) dip.ui.main_window.MainWindow(??) dip.ui.main_window.MenuBar(??) dip.ui.main_window.SingleSubviewContainerFactory(??) dip.ui.menu(??) dip.ui.menu.Action(??) dip.ui.menu.ContainerFactory(??) dip.ui.menu.IMenu(??) dip.ui.menu.Instance(??) dip.ui.menu.List(??) dip.ui.menu.Menu(??) dip.ui.menu.Str(??) dip.ui.menu_bar(??) dip.ui.menu_bar.ContainerFactory(??) dip.ui.menu_bar.IMenuBar(??) dip.ui.menu_bar.List(??) dip.ui.menu_bar.Menu(??) dip.ui.menu_bar.MenuBar(??) dip.ui.message_area(??) dip.ui.message_area.IMessageArea(??) dip.ui.message_area.MessageArea(??) dip.ui.message_area.ViewFactory(??) dip.ui.option_list(??) dip.ui.option_list.IOptionList(??) dip.ui.option_list.OptionList(??) dip.ui.option_list.OptionSelectorFactory(??) dip.ui.option_selector_factory(??) dip.ui.option_selector_factory.Bool(??) dip.ui.option_selector_factory.EditorFactory(??) dip.ui.option_selector_factory.Enum(??) dip.ui.option_selector_factory.IOptionSelector(??) dip.ui.option_selector_factory.Instance(??) dip.ui.option_selector_factory.List(??) dip.ui.option_selector_factory.OptionSelectorFactory(??) dip.ui.option_selector_factory.Str(??) dip.ui.option_validator(??) dip.ui.option_validator.IValidator(??) dip.ui.option_validator.Model(??) dip.ui.option_validator.OptionValidator(??) dip.ui.option_validator.implements(??) dip.ui.push_button(??) dip.ui.push_button.EditorFactory(??) dip.ui.push_button.IPushButton(??) dip.ui.push_button.PushButton(??) dip.ui.radio_buttons(??) dip.ui.radio_buttons.IRadioButtons(??) dip.ui.radio_buttons.OptionSelectorFactory(??) dip.ui.radio_buttons.RadioButtons(??) dip.ui.single_subview_container_factory(??) dip.ui.single_subview_container_factory.ContainerFactory(??) dip.ui.single_subview_container_factory.Enum(??) dip.ui.single_subview_container_factory.Form(??) dip.ui.single_subview_container_factory.SingleSubviewContainerFactory(??) dip.ui.spin_box(??) dip.ui.spin_box.EditorFactory(??) dip.ui.spin_box.ISpinBox(??) dip.ui.spin_box.SpinBox(??) dip.ui.splitter(??) dip.ui.splitter.ContainerFactory(??) dip.ui.splitter.ISplitter(??) dip.ui.splitter.Splitter(??) dip.ui.stack(??) dip.ui.stack.ContainerFactory(??) dip.ui.stack.IStack(??) dip.ui.stack.Stack(??) dip.ui.storage_location_editor(??) dip.ui.storage_location_editor.Bool(??) dip.ui.storage_location_editor.EditorFactory(??) dip.ui.storage_location_editor.IStorageLocationEditor(??) dip.ui.storage_location_editor.StorageLocationEditor(??) dip.ui.storage_location_validator(??) dip.ui.storage_location_validator.Bool(??) dip.ui.storage_location_validator.Enum(??) dip.ui.storage_location_validator.IStorageLocationEditor(??) dip.ui.storage_location_validator.IValidator(??) dip.ui.storage_location_validator.IoManager(??) dip.ui.storage_location_validator.Model(??) dip.ui.storage_location_validator.StorageLocationValidator(??) dip.ui.storage_location_validator.Str(??) dip.ui.storage_location_validator.implements(??) dip.ui.stretch(??) dip.ui.stretch.Stretch(??) dip.ui.string_validator(??) dip.ui.string_validator.Bool(??) dip.ui.string_validator.IValidator(??) dip.ui.string_validator.Model(??) dip.ui.string_validator.StringValidator(??) dip.ui.string_validator.implements(??) dip.ui.table_column(??) dip.ui.table_column.Bool(??) dip.ui.table_column.Callable(??) dip.ui.table_column.Instance(??) dip.ui.table_column.Model(??) dip.ui.table_column.Str(??) dip.ui.table_column.TableColumn(??) dip.ui.table_column.TypeFactory(??) dip.ui.table_editor(??) dip.ui.table_editor.Any(??) dip.ui.table_editor.EditorFactory(??) dip.ui.table_editor.ITableEditor(??) dip.ui.table_editor.Instance(??) dip.ui.table_editor.List(??) dip.ui.table_editor.MetaModel(??) dip.ui.table_editor.Str(??) dip.ui.table_editor.TableColumn(??) dip.ui.table_editor.TableEditor(??) dip.ui.table_editor.UIToolkit(??) dip.ui.table_editor.get_model_types(??) dip.ui.text_editor(??) dip.ui.text_editor.EditorFactory(??) dip.ui.text_editor.ITextEditor(??) dip.ui.text_editor.TextEditor(??) dip.ui.tool_button(??) dip.ui.tool_button.EditorFactory(??) dip.ui.tool_button.IToolButton(??) dip.ui.tool_button.Str(??) dip.ui.tool_button.ToolButton(??) dip.ui.toolkits(??) dip.ui.toolkits.AbstractUIToolkit(??) dip.ui.toolkits.ToolkitError(??) dip.ui.toolkits.UIToolkit(??) dip.ui.toolkits.abstract_ui_toolkit(??) dip.ui.toolkits.abstract_ui_toolkit.AbstractUIToolkit(??) dip.ui.toolkits.abstract_ui_toolkit.Model(??) dip.ui.toolkits.abstract_ui_toolkit.Tuple(??) dip.ui.toolkits.exceptions(??) dip.ui.toolkits.exceptions.ToolkitError(??) dip.ui.toolkits.qt5(??) dip.ui.toolkits.qt5.PYQT_VERSION dip.ui.toolkits.qt5.Toolkit(??) dip.ui.toolkits.qt5.adapters(??) dip.ui.toolkits.qt5.adapters.box_adapters(??) dip.ui.toolkits.qt5.adapters.box_adapters.BoxAdapterMixin(??) dip.ui.toolkits.qt5.adapters.box_adapters.BoxLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.box_adapters.BoxWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.box_adapters.ContainerLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.box_adapters.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.box_adapters.IBox(??) dip.ui.toolkits.qt5.adapters.box_adapters.IView(??) dip.ui.toolkits.qt5.adapters.box_adapters.QLayout(QWidget) dip.ui.toolkits.qt5.adapters.box_adapters.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.box_adapters.Stretch(??) dip.ui.toolkits.qt5.adapters.box_adapters.unadapted(??) dip.ui.toolkits.qt5.adapters.container_adapters(??) dip.ui.toolkits.qt5.adapters.container_adapters.ContainerAdapterMixin(??) dip.ui.toolkits.qt5.adapters.container_adapters.ContainerLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.container_adapters.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.container_adapters.IContainer(??) dip.ui.toolkits.qt5.adapters.container_adapters.IView(??) dip.ui.toolkits.qt5.adapters.container_adapters.QLayout(QWidget) dip.ui.toolkits.qt5.adapters.container_adapters.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.container_adapters.ViewLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.container_adapters.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.container_adapters.unadapted(??) dip.ui.toolkits.qt5.adapters.editor_adapters(??) dip.ui.toolkits.qt5.adapters.editor_adapters.EditorAdapterMixin(??) dip.ui.toolkits.qt5.adapters.editor_adapters.EditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.editor_adapters.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.editor_adapters.IEditor(??) dip.ui.toolkits.qt5.adapters.editor_adapters.ViewLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.editor_adapters.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.editor_adapters.notify_observers(??) dip.ui.toolkits.qt5.adapters.editor_delegate(??) dip.ui.toolkits.qt5.adapters.editor_delegate.EditorDelegate(??) dip.ui.toolkits.qt5.adapters.editor_delegate.EditorFactory(??) dip.ui.toolkits.qt5.adapters.editor_delegate.ICollectionEditor(??) dip.ui.toolkits.qt5.adapters.editor_delegate.IEditor(??) dip.ui.toolkits.qt5.adapters.editor_delegate.QStyledItemDelegate(parent: QObject = None) dip.ui.toolkits.qt5.adapters.editor_delegate.Qt(??) dip.ui.toolkits.qt5.adapters.editor_delegate.as_QWidget(??) dip.ui.toolkits.qt5.adapters.editor_delegate.from_QWidget(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.FilesystemLocationEditorAdapterMixin(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.IFilesystemLocationEditor(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.LocationEditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.LocationEditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.QBoxLayout(QBoxLayout.Direction, parent: QWidget = None) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.QBoxLayoutIFilesystemLocationEditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.QWidgetIFilesystemLocationEditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.filesystem_location_editor.adapt(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.EditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.Instance(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.LocationEditorAdapterMixin(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.LocationEditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.LocationEditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.Model(??) dip.ui.toolkits.qt5.adapters.location_editor_adapters.QAbstractButton(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.location_editor_adapters.QLineEdit(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.location_editor_adapters.adapt(??) dip.ui.toolkits.qt5.adapters.object_adapter(??) dip.ui.toolkits.qt5.adapters.object_adapter.Adapter(??) dip.ui.toolkits.qt5.adapters.object_adapter.IObject(??) dip.ui.toolkits.qt5.adapters.object_adapter.ObjectAdapter(??) dip.ui.toolkits.qt5.adapters.place_holder(??) dip.ui.toolkits.qt5.adapters.place_holder.IMenu(??) dip.ui.toolkits.qt5.adapters.place_holder.PlaceHolder(??) dip.ui.toolkits.qt5.adapters.place_holder.QAction(parent: QObject = None) dip.ui.toolkits.qt5.adapters.place_holder.QMenu(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.place_holder.unadapted(??) dip.ui.toolkits.qt5.adapters.qaction(??) dip.ui.toolkits.qt5.adapters.qaction.IAction(??) dip.ui.toolkits.qt5.adapters.qaction.ObjectAdapter(??) dip.ui.toolkits.qt5.adapters.qaction.QAction(parent: QObject = None) dip.ui.toolkits.qt5.adapters.qaction.QActionIActionAdapter(??) dip.ui.toolkits.qt5.adapters.qaction.adapt(??) dip.ui.toolkits.qt5.adapters.qaction.notify_observers(??) dip.ui.toolkits.qt5.adapters.qapplication(??) dip.ui.toolkits.qt5.adapters.qapplication.Adapter(??) dip.ui.toolkits.qt5.adapters.qapplication.IApplication(??) dip.ui.toolkits.qt5.adapters.qapplication.IContainer(??) dip.ui.toolkits.qt5.adapters.qapplication.IView(??) dip.ui.toolkits.qt5.adapters.qapplication.QApplication(List[str]) dip.ui.toolkits.qt5.adapters.qapplication.QApplicationIApplicationAdapter(??) dip.ui.toolkits.qt5.adapters.qapplication.adapt(??) dip.ui.toolkits.qt5.adapters.qapplication.from_QWidget(??) dip.ui.toolkits.qt5.adapters.qapplication.notify_observers(??) dip.ui.toolkits.qt5.adapters.qcheckbox(??) dip.ui.toolkits.qt5.adapters.qcheckbox.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qcheckbox.ICheckBox(??) dip.ui.toolkits.qt5.adapters.qcheckbox.QCheckBox(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qcheckbox.QCheckBoxICheckBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qcheckbox.Qt(??) dip.ui.toolkits.qt5.adapters.qcheckbox.adapt(??) dip.ui.toolkits.qt5.adapters.qcombobox(??) dip.ui.toolkits.qt5.adapters.qcombobox.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qcombobox.IComboBox(??) dip.ui.toolkits.qt5.adapters.qcombobox.IDisplay(??) dip.ui.toolkits.qt5.adapters.qcombobox.IOptionSelector(??) dip.ui.toolkits.qt5.adapters.qcombobox.QComboBox(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qcombobox.QComboBoxIComboBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qcombobox.adapt(??) dip.ui.toolkits.qt5.adapters.qdialog(??) dip.ui.toolkits.qt5.adapters.qdialog.IDialog(??) dip.ui.toolkits.qt5.adapters.qdialog.IView(??) dip.ui.toolkits.qt5.adapters.qdialog.Instance(??) dip.ui.toolkits.qt5.adapters.qdialog.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qdialog.QDialogButtonBox(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qdialog.QDialogIDialogAdapter(??) dip.ui.toolkits.qt5.adapters.qdialog.QLayout(QWidget) dip.ui.toolkits.qt5.adapters.qdialog.Qt5ToolkitError(??) dip.ui.toolkits.qt5.adapters.qdialog.SingleViewContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qdialog.adapt(??) dip.ui.toolkits.qt5.adapters.qdialog.unadapted(??) dip.ui.toolkits.qt5.adapters.qdockwidget(??) dip.ui.toolkits.qt5.adapters.qdockwidget.IDock(??) dip.ui.toolkits.qt5.adapters.qdockwidget.QDockWidget(str, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qdockwidget.QDockWidgetIDockAdapter(??) dip.ui.toolkits.qt5.adapters.qdockwidget.SingleViewContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qdockwidget.adapt(??) dip.ui.toolkits.qt5.adapters.qdockwidget.as_QWidget(??) dip.ui.toolkits.qt5.adapters.qdockwidget.from_QWidget(??) dip.ui.toolkits.qt5.adapters.qdoublespinbox(??) dip.ui.toolkits.qt5.adapters.qdoublespinbox.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qdoublespinbox.IFloatSpinBox(??) dip.ui.toolkits.qt5.adapters.qdoublespinbox.QDoubleSpinBox(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qdoublespinbox.QDoubleSpinBoxIFloatSpinBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qdoublespinbox.adapt(??) dip.ui.toolkits.qt5.adapters.qformlayout(??) dip.ui.toolkits.qt5.adapters.qformlayout.ContainerLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.qformlayout.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qformlayout.FormAdapterMixin(??) dip.ui.toolkits.qt5.adapters.qformlayout.IForm(??) dip.ui.toolkits.qt5.adapters.qformlayout.IView(??) dip.ui.toolkits.qt5.adapters.qformlayout.Instance(??) dip.ui.toolkits.qt5.adapters.qformlayout.Model(??) dip.ui.toolkits.qt5.adapters.qformlayout.QEvent(QEvent.Type) dip.ui.toolkits.qt5.adapters.qformlayout.QFormLayout(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qformlayout.QFormLayoutIFormAdapter(??) dip.ui.toolkits.qt5.adapters.qformlayout.QObject(parent: QObject = None) dip.ui.toolkits.qt5.adapters.qformlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qformlayout.QWidgetIFormAdapter(??) dip.ui.toolkits.qt5.adapters.qformlayout.VisibilityEventFilter(??) dip.ui.toolkits.qt5.adapters.qformlayout.adapt(??) dip.ui.toolkits.qt5.adapters.qformlayout.unadapted(??) dip.ui.toolkits.qt5.adapters.qgridlayout(??) dip.ui.toolkits.qt5.adapters.qgridlayout.ContainerLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.qgridlayout.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qgridlayout.GridAdapterMixin(??) dip.ui.toolkits.qt5.adapters.qgridlayout.IGrid(??) dip.ui.toolkits.qt5.adapters.qgridlayout.IView(??) dip.ui.toolkits.qt5.adapters.qgridlayout.QGridLayout(QWidget) dip.ui.toolkits.qt5.adapters.qgridlayout.QGridLayoutIGridAdapter(??) dip.ui.toolkits.qt5.adapters.qgridlayout.QLayout(QWidget) dip.ui.toolkits.qt5.adapters.qgridlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qgridlayout.QWidgetIGridAdapter(??) dip.ui.toolkits.qt5.adapters.qgridlayout.adapt(??) dip.ui.toolkits.qt5.adapters.qgridlayout.unadapted(??) dip.ui.toolkits.qt5.adapters.qgroupbox(??) dip.ui.toolkits.qt5.adapters.qgroupbox.IGroupBox(??) dip.ui.toolkits.qt5.adapters.qgroupbox.QGroupBox(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qgroupbox.QGroupBoxIGroupBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qgroupbox.SingleViewContainerLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.qgroupbox.adapt(??) dip.ui.toolkits.qt5.adapters.qhboxlayout(??) dip.ui.toolkits.qt5.adapters.qhboxlayout.BoxLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.qhboxlayout.BoxWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qhboxlayout.IHBox(??) dip.ui.toolkits.qt5.adapters.qhboxlayout.QHBoxLayout() dip.ui.toolkits.qt5.adapters.qhboxlayout.QHBoxLayoutIHBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qhboxlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qhboxlayout.QWidgetIHBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qhboxlayout.adapt(??) dip.ui.toolkits.qt5.adapters.qlabel(??) dip.ui.toolkits.qt5.adapters.qlabel.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qlabel.ILabel(??) dip.ui.toolkits.qt5.adapters.qlabel.IMessageArea(??) dip.ui.toolkits.qt5.adapters.qlabel.QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qlabel.QLabelILabelAdapter(??) dip.ui.toolkits.qt5.adapters.qlabel.QLabelIMessageAreaAdapter(??) dip.ui.toolkits.qt5.adapters.qlabel.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qlabel.adapt(??) dip.ui.toolkits.qt5.adapters.qlineedit(??) dip.ui.toolkits.qt5.adapters.qlineedit.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qlineedit.ILineEditor(??) dip.ui.toolkits.qt5.adapters.qlineedit.QLineEdit(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qlineedit.QLineEditILineEditorAdapter(??) dip.ui.toolkits.qt5.adapters.qlineedit.adapt(??) dip.ui.toolkits.qt5.adapters.qlistview(??) dip.ui.toolkits.qt5.adapters.qlistview.Bool(??) dip.ui.toolkits.qt5.adapters.qlistview.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qlistview.IDisplay(??) dip.ui.toolkits.qt5.adapters.qlistview.IOptionList(??) dip.ui.toolkits.qt5.adapters.qlistview.Instance(??) dip.ui.toolkits.qt5.adapters.qlistview.QAbstractItemView(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qlistview.QItemSelectionModel(model: QAbstractItemModel = None) dip.ui.toolkits.qt5.adapters.qlistview.QListView(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qlistview.QListViewIOptionListAdapter(??) dip.ui.toolkits.qt5.adapters.qlistview.QStandardItem() dip.ui.toolkits.qt5.adapters.qlistview.QStandardItemModel(parent: QObject = None) dip.ui.toolkits.qt5.adapters.qlistview.Qt(??) dip.ui.toolkits.qt5.adapters.qlistview.adapt(??) dip.ui.toolkits.qt5.adapters.qmainwindow(??) dip.ui.toolkits.qt5.adapters.qmainwindow.Adapter(??) dip.ui.toolkits.qt5.adapters.qmainwindow.IAction(??) dip.ui.toolkits.qt5.adapters.qmainwindow.IActionCollection(??) dip.ui.toolkits.qt5.adapters.qmainwindow.IMainWindow(??) dip.ui.toolkits.qt5.adapters.qmainwindow.IMenuBar(??) dip.ui.toolkits.qt5.adapters.qmainwindow.QMainWindow(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qmainwindow.QMainWindowIMainWindowAdapter(??) dip.ui.toolkits.qt5.adapters.qmainwindow.Qt(??) dip.ui.toolkits.qt5.adapters.qmainwindow.Qt5ToolkitError(??) dip.ui.toolkits.qt5.adapters.qmainwindow.SingleViewContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qmainwindow.adapt(??) dip.ui.toolkits.qt5.adapters.qmainwindow.as_QWidget(??) dip.ui.toolkits.qt5.adapters.qmainwindow.from_QWidget(??) dip.ui.toolkits.qt5.adapters.qmainwindow.observe(??) dip.ui.toolkits.qt5.adapters.qmainwindow.unadapted(??) dip.ui.toolkits.qt5.adapters.qmenu(??) dip.ui.toolkits.qt5.adapters.qmenu.IAction(??) dip.ui.toolkits.qt5.adapters.qmenu.IActionCollection(??) dip.ui.toolkits.qt5.adapters.qmenu.IMenu(??) dip.ui.toolkits.qt5.adapters.qmenu.PlaceHolder(??) dip.ui.toolkits.qt5.adapters.qmenu.QAction(parent: QObject = None) dip.ui.toolkits.qt5.adapters.qmenu.QMenu(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qmenu.QMenuIMenuAdapter(??) dip.ui.toolkits.qt5.adapters.qmenu.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qmenu.adapt(??) dip.ui.toolkits.qt5.adapters.qmenu.observe(??) dip.ui.toolkits.qt5.adapters.qmenu.sys(??) dip.ui.toolkits.qt5.adapters.qmenu.unadapted(??) dip.ui.toolkits.qt5.adapters.qmenubar(??) dip.ui.toolkits.qt5.adapters.qmenubar.IAction(??) dip.ui.toolkits.qt5.adapters.qmenubar.IActionCollection(??) dip.ui.toolkits.qt5.adapters.qmenubar.IMenu(??) dip.ui.toolkits.qt5.adapters.qmenubar.IMenuBar(??) dip.ui.toolkits.qt5.adapters.qmenubar.PlaceHolder(??) dip.ui.toolkits.qt5.adapters.qmenubar.QMenuBar(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qmenubar.QMenuBarIMenuBarAdapter(??) dip.ui.toolkits.qt5.adapters.qmenubar.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qmenubar.adapt(??) dip.ui.toolkits.qt5.adapters.qmenubar.unadapted(??) dip.ui.toolkits.qt5.adapters.qpushbutton(??) dip.ui.toolkits.qt5.adapters.qpushbutton.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qpushbutton.IPushButton(??) dip.ui.toolkits.qt5.adapters.qpushbutton.QPushButton(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qpushbutton.QPushButtonIPushButtonAdapter(??) dip.ui.toolkits.qt5.adapters.qpushbutton.adapt(??) dip.ui.toolkits.qt5.adapters.qpushbutton.notify_observers(??) dip.ui.toolkits.qt5.adapters.qspinbox(??) dip.ui.toolkits.qt5.adapters.qspinbox.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qspinbox.ISpinBox(??) dip.ui.toolkits.qt5.adapters.qspinbox.QSpinBox(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qspinbox.QSpinBoxISpinBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qspinbox.adapt(??) dip.ui.toolkits.qt5.adapters.qsplitter(??) dip.ui.toolkits.qt5.adapters.qsplitter.Adapter(??) dip.ui.toolkits.qt5.adapters.qsplitter.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qsplitter.ISplitter(??) dip.ui.toolkits.qt5.adapters.qsplitter.QSplitter(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qsplitter.QSplitterISplitterAdapter(??) dip.ui.toolkits.qt5.adapters.qsplitter.adapt(??) dip.ui.toolkits.qt5.adapters.qsplitter.as_QWidget(??) dip.ui.toolkits.qt5.adapters.qsplitter.from_QWidget(??) dip.ui.toolkits.qt5.adapters.qtabwidget(??) dip.ui.toolkits.qt5.adapters.qtabwidget.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qtabwidget.IStack(??) dip.ui.toolkits.qt5.adapters.qtabwidget.QTabWidget(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qtabwidget.QTabWidgetIStackAdapter(??) dip.ui.toolkits.qt5.adapters.qtabwidget.adapt(??) dip.ui.toolkits.qt5.adapters.qtabwidget.as_QWidget(??) dip.ui.toolkits.qt5.adapters.qtabwidget.from_QWidget(??) dip.ui.toolkits.qt5.adapters.qtabwidget.notify_observers(??) dip.ui.toolkits.qt5.adapters.qtabwidget.observe(??) dip.ui.toolkits.qt5.adapters.qtextedit(??) dip.ui.toolkits.qt5.adapters.qtextedit.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qtextedit.ITextEditor(??) dip.ui.toolkits.qt5.adapters.qtextedit.QTextEdit(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qtextedit.QTextEditITextEditorAdapter(??) dip.ui.toolkits.qt5.adapters.qtextedit.adapt(??) dip.ui.toolkits.qt5.adapters.qtoolbutton(??) dip.ui.toolkits.qt5.adapters.qtoolbutton.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qtoolbutton.IToolButton(??) dip.ui.toolkits.qt5.adapters.qtoolbutton.QToolButton(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qtoolbutton.QToolButtonIToolButtonAdapter(??) dip.ui.toolkits.qt5.adapters.qtoolbutton.adapt(??) dip.ui.toolkits.qt5.adapters.qtoolbutton.notify_observers(??) dip.ui.toolkits.qt5.adapters.qtoolbutton.unadapted(??) dip.ui.toolkits.qt5.adapters.qtreeview(??) dip.ui.toolkits.qt5.adapters.qtreeview.Bool(??) dip.ui.toolkits.qt5.adapters.qtreeview.CollectionEditorAdapter(??) dip.ui.toolkits.qt5.adapters.qtreeview.EditorDelegate(??) dip.ui.toolkits.qt5.adapters.qtreeview.IListEditor(??) dip.ui.toolkits.qt5.adapters.qtreeview.ITableEditor(??) dip.ui.toolkits.qt5.adapters.qtreeview.Instance(??) dip.ui.toolkits.qt5.adapters.qtreeview.Int(??) dip.ui.toolkits.qt5.adapters.qtreeview.Model(??) dip.ui.toolkits.qt5.adapters.qtreeview.QAbstractItemView(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qtreeview.QApplication(List[str]) dip.ui.toolkits.qt5.adapters.qtreeview.QStandardItem() dip.ui.toolkits.qt5.adapters.qtreeview.QStandardItemModel(parent: QObject = None) dip.ui.toolkits.qt5.adapters.qtreeview.QTreeView(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qtreeview.QTreeViewIListEditorAdapter(??) dip.ui.toolkits.qt5.adapters.qtreeview.QTreeViewITableEditorAdapter(??) dip.ui.toolkits.qt5.adapters.qtreeview.Qt(??) dip.ui.toolkits.qt5.adapters.qtreeview.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qtreeview.adapt(??) dip.ui.toolkits.qt5.adapters.qtreeview.notify_observers(??) dip.ui.toolkits.qt5.adapters.qvboxlayout(??) dip.ui.toolkits.qt5.adapters.qvboxlayout.BoxLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.qvboxlayout.BoxWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qvboxlayout.IVBox(??) dip.ui.toolkits.qt5.adapters.qvboxlayout.QVBoxLayout() dip.ui.toolkits.qt5.adapters.qvboxlayout.QVBoxLayoutIVBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qvboxlayout.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qvboxlayout.QWidgetIVBoxAdapter(??) dip.ui.toolkits.qt5.adapters.qvboxlayout.adapt(??) dip.ui.toolkits.qt5.adapters.qwidget(??) dip.ui.toolkits.qt5.adapters.qwidget.Adapter(??) dip.ui.toolkits.qt5.adapters.qwidget.IView(??) dip.ui.toolkits.qt5.adapters.qwidget.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qwidget.QWidgetIViewAdapter(??) dip.ui.toolkits.qt5.adapters.qwidget.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qwidget.adapt(??) dip.ui.toolkits.qt5.adapters.qwizard(??) dip.ui.toolkits.qt5.adapters.qwizard.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.qwizard.IWizard(??) dip.ui.toolkits.qt5.adapters.qwizard.IWizardPage(??) dip.ui.toolkits.qt5.adapters.qwizard.QWizard(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.qwizard.QWizardIWizardAdapter(??) dip.ui.toolkits.qt5.adapters.qwizard.adapt(??) dip.ui.toolkits.qt5.adapters.qwizard.notify_observers(??) dip.ui.toolkits.qt5.adapters.qwizard.unadapted(??) dip.ui.toolkits.qt5.adapters.qwizardpage(??) dip.ui.toolkits.qt5.adapters.qwizardpage.Bool(??) dip.ui.toolkits.qt5.adapters.qwizardpage.IWizardPage(??) dip.ui.toolkits.qt5.adapters.qwizardpage.QWizardPage(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.qwizardpage.QWizardPageIWizardPageAdapter(??) dip.ui.toolkits.qt5.adapters.qwizardpage.SingleViewContainerLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.qwizardpage.adapt(??) dip.ui.toolkits.qt5.adapters.radio_buttons(??) dip.ui.toolkits.qt5.adapters.radio_buttons.Dict(??) dip.ui.toolkits.qt5.adapters.radio_buttons.EditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.radio_buttons.EditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.radio_buttons.IDisplay(??) dip.ui.toolkits.qt5.adapters.radio_buttons.IRadioButtons(??) dip.ui.toolkits.qt5.adapters.radio_buttons.List(??) dip.ui.toolkits.qt5.adapters.radio_buttons.Model(??) dip.ui.toolkits.qt5.adapters.radio_buttons.QBoxLayout(QBoxLayout.Direction, parent: QWidget = None) dip.ui.toolkits.qt5.adapters.radio_buttons.QBoxLayoutIRadioButtonsAdapter(??) dip.ui.toolkits.qt5.adapters.radio_buttons.QRadioButton(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.radio_buttons.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.radio_buttons.QWidgetIRadioButtonsAdapter(??) dip.ui.toolkits.qt5.adapters.radio_buttons.RadioButtonsAdapterMixin(??) dip.ui.toolkits.qt5.adapters.radio_buttons.adapt(??) dip.ui.toolkits.qt5.adapters.single_view_container_adapters(??) dip.ui.toolkits.qt5.adapters.single_view_container_adapters.ContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.single_view_container_adapters.ISingleViewContainer(??) dip.ui.toolkits.qt5.adapters.single_view_container_adapters.SingleViewContainerLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.single_view_container_adapters.SingleViewContainerWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.single_view_container_adapters.as_QLayout(??) dip.ui.toolkits.qt5.adapters.single_view_container_adapters.from_QLayout(??) dip.ui.toolkits.qt5.adapters.storage_location_editor(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.DelegatedTo(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.IFilterHints(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.IIoManagerUi(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.IStorageLocation(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.IStorageLocationEditor(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.Instance(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.IoManager(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.LocationEditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.LocationEditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.QBoxLayout(QBoxLayout.Direction, parent: QWidget = None) dip.ui.toolkits.qt5.adapters.storage_location_editor.QBoxLayoutIStorageLocationEditorLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.adapters.storage_location_editor.QWidgetIStorageLocationEditorWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.StorageLocationEditorAdapterMixin(??) dip.ui.toolkits.qt5.adapters.storage_location_editor.adapt(??) dip.ui.toolkits.qt5.adapters.view_adapters(??) dip.ui.toolkits.qt5.adapters.view_adapters.CloseEventFilter(??) dip.ui.toolkits.qt5.adapters.view_adapters.IView(??) dip.ui.toolkits.qt5.adapters.view_adapters.Instance(??) dip.ui.toolkits.qt5.adapters.view_adapters.ObjectAdapter(??) dip.ui.toolkits.qt5.adapters.view_adapters.QEvent(QEvent.Type) dip.ui.toolkits.qt5.adapters.view_adapters.QFormLayout(parent: QWidget = None) dip.ui.toolkits.qt5.adapters.view_adapters.QObject(parent: QObject = None) dip.ui.toolkits.qt5.adapters.view_adapters.ShowEventFilter(??) dip.ui.toolkits.qt5.adapters.view_adapters.ViewLayoutAdapter(??) dip.ui.toolkits.qt5.adapters.view_adapters.ViewWidgetAdapter(??) dip.ui.toolkits.qt5.adapters.view_adapters.notify_observers(??) dip.ui.toolkits.qt5.adapters.view_adapters.observe(??) dip.ui.toolkits.qt5.exceptions(??) dip.ui.toolkits.qt5.exceptions.Qt5ToolkitError(??) dip.ui.toolkits.qt5.exceptions.Qt5ToplevelWidgetError(??) dip.ui.toolkits.qt5.exceptions.ToolkitError(??) dip.ui.toolkits.qt5.toolkit(??) dip.ui.toolkits.qt5.toolkit.AbstractUIToolkit(??) dip.ui.toolkits.qt5.toolkit.QAction(parent: QObject = None) dip.ui.toolkits.qt5.toolkit.QApplication(List[str]) dip.ui.toolkits.qt5.toolkit.QCheckBox(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QComboBox(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.toolkit.QDialogButtonBox(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QDockWidget(str, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.toolkit.QDoubleSpinBox(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]) dip.ui.toolkits.qt5.toolkit.QFormLayout(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QGridLayout(QWidget) dip.ui.toolkits.qt5.toolkit.QGroupBox(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QHBoxLayout() dip.ui.toolkits.qt5.toolkit.QKeySequence() dip.ui.toolkits.qt5.toolkit.QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.toolkit.QLayout(QWidget) dip.ui.toolkits.qt5.toolkit.QLineEdit(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QListView(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QMainWindow(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.toolkit.QMenu(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QMenuBar(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QMessageBox(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QPushButton(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QSpinBox(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QSplitter(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QStyle() dip.ui.toolkits.qt5.toolkit.QTabWidget(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QTextEdit(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QToolButton(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QTreeView(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.QVBoxLayout() dip.ui.toolkits.qt5.toolkit.QWhatsThis(QWhatsThis) dip.ui.toolkits.qt5.toolkit.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.toolkit.QWizard(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.toolkit.QWizardPage(parent: QWidget = None) dip.ui.toolkits.qt5.toolkit.Qt(??) dip.ui.toolkits.qt5.toolkit.Qt5ToplevelWidgetError(??) dip.ui.toolkits.qt5.toolkit.Toolkit(??) dip.ui.toolkits.qt5.toolkit.as_QLayout(??) dip.ui.toolkits.qt5.toolkit.as_QWidget(??) dip.ui.toolkits.qt5.toolkit.as_QWidget_parent(??) dip.ui.toolkits.qt5.utils(??) dip.ui.toolkits.qt5.utils.IView(??) dip.ui.toolkits.qt5.utils.QLayout(QWidget) dip.ui.toolkits.qt5.utils.QVBoxLayout() dip.ui.toolkits.qt5.utils.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) dip.ui.toolkits.qt5.utils.as_QLayout(??) dip.ui.toolkits.qt5.utils.as_QWidget(??) dip.ui.toolkits.qt5.utils.as_QWidget_parent(??) dip.ui.toolkits.qt5.utils.from_QLayout(??) dip.ui.toolkits.qt5.utils.from_QWidget(??) dip.ui.toolkits.qt5.utils.unadapted(??) dip.ui.toolkits.ui_toolkit(??) dip.ui.toolkits.ui_toolkit.AbstractUIToolkit(??) dip.ui.toolkits.ui_toolkit.Instance(??) dip.ui.toolkits.ui_toolkit.Toolkit(??) dip.ui.toolkits.ui_toolkit.UIToolkit(??) dip.ui.v_box(??) dip.ui.v_box.BoxLayoutFactory(??) dip.ui.v_box.IVBox(??) dip.ui.v_box.VBox(??) dip.ui.view_factory(??) dip.ui.view_factory.Callable(??) dip.ui.view_factory.IView(??) dip.ui.view_factory.MappingProxy(??) dip.ui.view_factory.Model(??) dip.ui.view_factory.Str(??) dip.ui.view_factory.UIToolkit(??) dip.ui.view_factory.ViewFactory(??) dip.ui.view_factory.unadapted(??) dip.ui.wizard(??) dip.ui.wizard.ContainerFactory(??) dip.ui.wizard.IWizard(??) dip.ui.wizard.List(??) dip.ui.wizard.Wizard(??) dip.ui.wizard.WizardPage(??) dip.ui.wizard_controller(??) dip.ui.wizard_controller.Controller(??) dip.ui.wizard_controller.IContainer(??) dip.ui.wizard_controller.IWizard(??) dip.ui.wizard_controller.IWizardPage(??) dip.ui.wizard_controller.Instance(??) dip.ui.wizard_controller.WizardController(??) dip.ui.wizard_controller.observe(??) dip.ui.wizard_page(??) dip.ui.wizard_page.IWizardPage(??) dip.ui.wizard_page.SingleSubviewContainerFactory(??) dip.ui.wizard_page.WizardPage(??) dip.version(??) dip.version.DIP_HEXVERSION dip.version.DIP_RELEASE dir([object]) -> list of strings dis.Bytecode(??) dis.COMPILER_FLAG_NAMES(??) dis.EXTENDED_ARG dis.FORMAT_VALUE dis.FORMAT_VALUE_CONVERTERS(??) dis.HAVE_ARGUMENT dis.Instruction(??) dis.MAKE_FUNCTION dis.MAKE_FUNCTION_FLAGS(??) dis.cmp_op(??) dis.code_info(??) dis.collections(??) dis.dis(??) dis.disassemble(??) dis.disco(??) dis.distb(??) dis.findlabels(??) dis.findlinestarts(??) dis.get_instructions(??) dis.hascompare(??) dis.hasconst(??) dis.hasfree(??) dis.hasjabs(??) dis.hasjrel(??) dis.haslocal(??) dis.hasname(??) dis.hasnargs(??) dis.io(??) dis.opmap(??) dis.opname(??) dis.pretty_flags(??) dis.show_code(??) dis.stack_effect(??) dis.sys(??) dis.types(??) divmod(??) doctest.BLANKLINE_MARKER doctest.COMPARISON_FLAGS doctest.DONT_ACCEPT_BLANKLINE doctest.DONT_ACCEPT_TRUE_FOR_1 doctest.DebugRunner(??) doctest.DocFileCase(??) doctest.DocFileSuite(??) doctest.DocFileTest(??) doctest.DocTest(??) doctest.DocTestCase(??) doctest.DocTestFailure(??) doctest.DocTestFinder(??) doctest.DocTestParser(??) doctest.DocTestRunner(??) doctest.DocTestSuite(??) doctest.ELLIPSIS doctest.ELLIPSIS_MARKER doctest.Example(??) doctest.FAIL_FAST doctest.IGNORE_EXCEPTION_DETAIL doctest.NORMALIZE_WHITESPACE doctest.OPTIONFLAGS_BY_NAME(??) doctest.OutputChecker(??) doctest.REPORTING_FLAGS doctest.REPORT_CDIFF doctest.REPORT_NDIFF doctest.REPORT_ONLY_FIRST_FAILURE doctest.REPORT_UDIFF doctest.SKIP doctest.SkipDocTestCase(??) doctest.StringIO(??) doctest.TestResults(failed, attempted) doctest.UnexpectedException(??) doctest.debug(??) doctest.debug_script(??) doctest.debug_src(??) doctest.difflib(??) doctest.inspect(??) doctest.linecache(??) doctest.master(??) doctest.namedtuple(??) doctest.os(??) doctest.pdb(??) doctest.re(??) doctest.register_optionflag(??) doctest.run_docstring_examples(??) doctest.script_from_examples(??) doctest.set_unittest_reportflags(??) doctest.sys(??) doctest.testfile(??) doctest.testmod(??) doctest.testsource(??) doctest.traceback(??) doctest.unittest(??) email.base64mime(??) email.base64mime.CRLF email.base64mime.EMPTYSTRING email.base64mime.MISC_LEN email.base64mime.NL email.base64mime.a2b_base64(??) email.base64mime.b2a_base64(??) email.base64mime.b64encode(??) email.base64mime.body_decode(??) email.base64mime.body_encode(??) email.base64mime.decode(??) email.base64mime.decodestring(??) email.base64mime.header_encode(??) email.base64mime.header_length(??) email.charset(??) email.charset.ALIASES(??) email.charset.BASE64 email.charset.CHARSETS(??) email.charset.CODEC_MAP(??) email.charset.Charset(??) email.charset.DEFAULT_CHARSET email.charset.EMPTYSTRING email.charset.QP email.charset.RFC2047_CHROME_LEN email.charset.SHORTEST email.charset.UNKNOWN8BIT email.charset.add_alias(??) email.charset.add_charset(??) email.charset.add_codec(??) email.charset.email(??) email.charset.encode_7or8bit(??) email.charset.errors(??) email.charset.partial(func, *args, **keywords) - new function with partial application email.contentmanager(??) email.contentmanager.ContentManager(??) email.contentmanager.binascii(??) email.contentmanager.email(??) email.contentmanager.get_and_fixup_unknown_message_content(??) email.contentmanager.get_message_content(??) email.contentmanager.get_non_text_content(??) email.contentmanager.get_text_content(??) email.contentmanager.maintype email.contentmanager.quoprimime(??) email.contentmanager.raw_data_manager(??) email.contentmanager.set_bytes_content(??) email.contentmanager.set_message_content(??) email.contentmanager.set_text_content(??) email.contentmanager.subtype email.contentmanager.typ(??) email.encoders(??) email.encoders.encode_7or8bit(??) email.encoders.encode_base64(??) email.encoders.encode_noop(??) email.encoders.encode_quopri(??) email.errors(??) email.errors.BoundaryError(??) email.errors.CharsetError(??) email.errors.CloseBoundaryNotFoundDefect(??) email.errors.FirstHeaderLineIsContinuationDefect(??) email.errors.HeaderDefect(??) email.errors.HeaderMissingRequiredValue(??) email.errors.HeaderParseError(??) email.errors.InvalidBase64CharactersDefect(??) email.errors.InvalidBase64LengthDefect(??) email.errors.InvalidBase64PaddingDefect(??) email.errors.InvalidHeaderDefect(??) email.errors.InvalidMultipartContentTransferEncodingDefect(??) email.errors.MalformedHeaderDefect(??) email.errors.MessageDefect(??) email.errors.MessageError(??) email.errors.MessageParseError(??) email.errors.MisplacedEnvelopeHeaderDefect(??) email.errors.MissingHeaderBodySeparatorDefect(??) email.errors.MultipartConversionError(??) email.errors.MultipartInvariantViolationDefect(??) email.errors.NoBoundaryInMultipartDefect(??) email.errors.NonASCIILocalPartDefect(??) email.errors.NonPrintableDefect(??) email.errors.ObsoleteHeaderDefect(??) email.errors.StartBoundaryNotFoundDefect(??) email.errors.UndecodableBytesDefect(??) email.feedparser(??) email.feedparser.BufferedSubFile(??) email.feedparser.BytesFeedParser(??) email.feedparser.EMPTYSTRING email.feedparser.FeedParser(??) email.feedparser.NL email.feedparser.NLCRE(??) email.feedparser.NLCRE_bol(??) email.feedparser.NLCRE_crack(??) email.feedparser.NLCRE_eol(??) email.feedparser.NeedMoreData(??) email.feedparser.StringIO(??) email.feedparser.compat32(??) email.feedparser.deque([iterable[, maxlen]]) --> deque object email.feedparser.errors(??) email.feedparser.headerRE(??) email.feedparser.re(??) email.generator(??) email.generator.BytesGenerator(??) email.generator.BytesIO(??) email.generator.DecodedGenerator(??) email.generator.Generator(??) email.generator.NL email.generator.NLCRE(??) email.generator.StringIO(??) email.generator.UNDERSCORE email.generator.deepcopy(??) email.generator.fcre(??) email.generator.random(??) email.generator.re(??) email.generator.sys(??) email.generator.time(??) email.header(??) email.header.BSPACE email.header.Charset(??) email.header.EMPTYSTRING email.header.FWS email.header.Header(??) email.header.HeaderParseError(??) email.header.MAXLINELEN email.header.NL email.header.SPACE email.header.SPACE8 email.header.USASCII(??) email.header.UTF8(??) email.header.binascii(??) email.header.decode_header(??) email.header.ecre(??) email.header.email(??) email.header.fcre(??) email.header.make_header(??) email.header.re(??) email.headerregistry(??) email.headerregistry.Address(??) email.headerregistry.AddressHeader(??) email.headerregistry.BaseHeader(??) email.headerregistry.ContentDispositionHeader(??) email.headerregistry.ContentTransferEncodingHeader(??) email.headerregistry.ContentTypeHeader(??) email.headerregistry.DateHeader(??) email.headerregistry.Group(??) email.headerregistry.HeaderRegistry(??) email.headerregistry.MIMEVersionHeader(??) email.headerregistry.MappingProxyType(??) email.headerregistry.MessageIDHeader(??) email.headerregistry.ParameterizedMIMEHeader(??) email.headerregistry.SingleAddressHeader(??) email.headerregistry.UniqueAddressHeader(??) email.headerregistry.UniqueDateHeader(??) email.headerregistry.UniqueSingleAddressHeader(??) email.headerregistry.UniqueUnstructuredHeader(??) email.headerregistry.UnstructuredHeader(??) email.headerregistry.errors(??) email.headerregistry.parser(??) email.headerregistry.utils(??) email.iterators(??) email.iterators.StringIO(??) email.iterators.body_line_iterator(??) email.iterators.sys(??) email.iterators.typed_subpart_iterator(??) email.iterators.walk(??) email.message(??) email.message.BytesIO(??) email.message.Charset(??) email.message.EmailMessage(??) email.message.MIMEPart(??) email.message.Message(??) email.message.Policy(??) email.message.SEMISPACE email.message.StringIO(??) email.message.compat32(??) email.message.decode_b(??) email.message.errors(??) email.message.quopri(??) email.message.re(??) email.message.tspecials(??) email.message.utils(??) email.message.uu(??) email.message_from_binary_file(??) email.message_from_bytes(??) email.message_from_file(??) email.message_from_string(??) email.mime.application.MIMEApplication(??) email.mime.application.MIMENonMultipart(??) email.mime.application.encoders(??) email.mime.audio.BytesIO(??) email.mime.audio.MIMEAudio(??) email.mime.audio.MIMENonMultipart(??) email.mime.audio.encoders(??) email.mime.audio.sndhdr(??) email.mime.base(??) email.mime.base.MIMEBase(??) email.mime.base.email(??) email.mime.base.message(??) email.mime.image.MIMEImage(??) email.mime.image.MIMENonMultipart(??) email.mime.image.encoders(??) email.mime.image.imghdr(??) email.mime.message.MIMEMessage(??) email.mime.message.MIMENonMultipart(??) email.mime.message.message(??) email.mime.multipart(??) email.mime.multipart.MIMEBase(??) email.mime.multipart.MIMEMultipart(??) email.mime.nonmultipart.MIMEBase(??) email.mime.nonmultipart.MIMENonMultipart(??) email.mime.nonmultipart.errors(??) email.mime.text.Charset(??) email.mime.text.MIMENonMultipart(??) email.mime.text.MIMEText(??) email.parser(??) email.parser.BytesFeedParser(??) email.parser.BytesHeaderParser(??) email.parser.BytesParser(??) email.parser.FeedParser(??) email.parser.HeaderParser(??) email.parser.Parser(??) email.parser.StringIO(??) email.parser.TextIOWrapper(??) email.parser.compat32(??) email.policy(??) email.policy.Compat32(??) email.policy.EmailMessage(??) email.policy.EmailPolicy(??) email.policy.HTTP(??) email.policy.HeaderRegistry(??) email.policy.Policy(??) email.policy.SMTP(??) email.policy.SMTPUTF8(??) email.policy.compat32(??) email.policy.default(??) email.policy.linesep_splitter(??) email.policy.raw_data_manager(??) email.policy.re(??) email.policy.strict(??) email.policy.sys(??) email.quoprimime(??) email.quoprimime.CRLF email.quoprimime.EMPTYSTRING email.quoprimime.NL email.quoprimime.ascii_letters email.quoprimime.body_check(??) email.quoprimime.body_decode(??) email.quoprimime.body_encode(??) email.quoprimime.body_length(??) email.quoprimime.c email.quoprimime.decode(??) email.quoprimime.decodestring(??) email.quoprimime.digits email.quoprimime.header_check(??) email.quoprimime.header_decode(??) email.quoprimime.header_encode(??) email.quoprimime.header_length(??) email.quoprimime.hexdigits email.quoprimime.quote(??) email.quoprimime.re(??) email.quoprimime.unquote(??) email.utils(??) email.utils.COMMASPACE email.utils.CRLF email.utils.Charset(??) email.utils.EMPTYSTRING email.utils.TICK email.utils.UEMPTYSTRING email.utils.collapse_rfc2231_value(??) email.utils.datetime(??) email.utils.decode_params(??) email.utils.decode_rfc2231(??) email.utils.encode_rfc2231(??) email.utils.escapesre(??) email.utils.format_datetime(??) email.utils.formataddr(??) email.utils.formatdate(??) email.utils.getaddresses(??) email.utils.localtime(??) email.utils.make_msgid(??) email.utils.mktime_tz(??) email.utils.os(??) email.utils.parseaddr(??) email.utils.parsedate(??) email.utils.parsedate_to_datetime(??) email.utils.parsedate_tz(??) email.utils.quote(??) email.utils.random(??) email.utils.re(??) email.utils.rfc2231_continuation(??) email.utils.socket(??) email.utils.specialsre(??) email.utils.time(??) email.utils.unquote(??) email.utils.urllib(??) ensurepip.bootstrap(??) ensurepip.os(??) ensurepip.resources(??) ensurepip.runpy(??) ensurepip.subprocess(??) ensurepip.sys(??) ensurepip.tempfile(??) ensurepip.version(??) enum.DynamicClassAttribute(??) enum.Enum(??) enum.EnumMeta(??) enum.Flag(??) enum.IntEnum(??) enum.IntFlag(??) enum.MappingProxyType(??) enum.auto(??) enum.sys(??) enum.unique(??) enumerate(??) errno.E2BIG errno.EACCES errno.EADDRINUSE errno.EADDRNOTAVAIL errno.EAFNOSUPPORT errno.EAGAIN errno.EALREADY errno.EAUTH errno.EBADARCH errno.EBADEXEC errno.EBADF errno.EBADMACHO errno.EBADMSG errno.EBADRPC errno.EBUSY errno.ECANCELED errno.ECHILD errno.ECONNABORTED errno.ECONNREFUSED errno.ECONNRESET errno.EDEADLK errno.EDESTADDRREQ errno.EDEVERR errno.EDOM errno.EDQUOT errno.EEXIST errno.EFAULT errno.EFBIG errno.EFTYPE errno.EHOSTDOWN errno.EHOSTUNREACH errno.EIDRM errno.EILSEQ errno.EINPROGRESS errno.EINTR errno.EINVAL errno.EIO errno.EISCONN errno.EISDIR errno.ELOOP errno.EMFILE errno.EMLINK errno.EMSGSIZE errno.EMULTIHOP errno.ENAMETOOLONG errno.ENEEDAUTH errno.ENETDOWN errno.ENETRESET errno.ENETUNREACH errno.ENFILE errno.ENOATTR errno.ENOBUFS errno.ENODATA errno.ENODEV errno.ENOENT errno.ENOEXEC errno.ENOLCK errno.ENOLINK errno.ENOMEM errno.ENOMSG errno.ENOPOLICY errno.ENOPROTOOPT errno.ENOSPC errno.ENOSR errno.ENOSTR errno.ENOSYS errno.ENOTBLK errno.ENOTCONN errno.ENOTDIR errno.ENOTEMPTY errno.ENOTRECOVERABLE errno.ENOTSOCK errno.ENOTSUP errno.ENOTTY errno.ENXIO errno.EOPNOTSUPP errno.EOVERFLOW errno.EOWNERDEAD errno.EPERM errno.EPFNOSUPPORT errno.EPIPE errno.EPROCLIM errno.EPROCUNAVAIL errno.EPROGMISMATCH errno.EPROGUNAVAIL errno.EPROTO errno.EPROTONOSUPPORT errno.EPROTOTYPE errno.EPWROFF errno.ERANGE errno.EREMOTE errno.EROFS errno.ERPCMISMATCH errno.ESHLIBVERS errno.ESHUTDOWN errno.ESOCKTNOSUPPORT errno.ESPIPE errno.ESRCH errno.ESTALE errno.ETIME errno.ETIMEDOUT errno.ETOOMANYREFS errno.ETXTBSY errno.EUSERS errno.EWOULDBLOCK errno.EXDEV errno.errorcode(??) eval(??) exec(??) exit(??) faulthandler.cancel_dump_traceback_later(): faulthandler.disable(): disable the fault handler faulthandler.dump_traceback(file=sys.stderr, all_threads=True): dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.dump_traceback_later(timeout, repeat=False, file=sys.stderrn, exit=False): faulthandler.enable(file=sys.stderr, all_threads=True): enable the fault handler faulthandler.is_enabled()->bool: check if the handler is enabled faulthandler.register(signum, file=sys.stderr, all_threads=True, chain=False): register a handler for the signal 'signum': dump the traceback of the current thread, or of all threads if all_threads is True, into file faulthandler.unregister(signum): unregister the handler of the signal 'signum' registered by register() filecmp.BUFSIZE filecmp.DEFAULT_IGNORES(??) filecmp.GenericAlias(??) filecmp.clear_cache(??) filecmp.cmp(??) filecmp.cmpfiles(??) filecmp.demo(??) filecmp.dircmp(??) filecmp.filterfalse(??) filecmp.os(??) filecmp.stat(??) fileinput.FileInput([files[, inplace[, backup]]], *, mode=None, openhook=None) fileinput.GenericAlias(??) fileinput.close(??) fileinput.filelineno(??) fileinput.filename(??) fileinput.fileno(??) fileinput.hook_compressed(??) fileinput.hook_encoded(??) fileinput.input(??) fileinput.isfirstline(??) fileinput.isstdin(??) fileinput.lineno(??) fileinput.nextfile(??) fileinput.os(??) fileinput.sys(??) filter(function or None, iterable) --> filter object float(??) fnmatch.filter(??) fnmatch.fnmatch(??) fnmatch.fnmatchcase(??) fnmatch.functools(??) fnmatch.os(??) fnmatch.posixpath(??) fnmatch.re(??) fnmatch.translate(??) format(??) formatter.AS_IS(??) formatter.AbstractFormatter(??) formatter.AbstractWriter(??) formatter.DumbWriter(??) formatter.NullFormatter(??) formatter.NullWriter(??) formatter.sys(??) formatter.test(??) formatter.warnings(??) fractions.Decimal(??) fractions.Fraction(??) fractions.math(??) fractions.numbers(??) fractions.operator(??) fractions.re(??) fractions.sys(??) frozenset() -> empty frozenset object ftplib.B_CRLF ftplib.CRLF ftplib.Error(??) ftplib.FTP(??) ftplib.FTP_PORT ftplib.FTP_TLS(??) ftplib.MAXLINE ftplib.MSG_OOB ftplib.all_errors(??) ftplib.error_perm(??) ftplib.error_proto(??) ftplib.error_reply(??) ftplib.error_temp(??) ftplib.ftpcp(??) ftplib.parse150(??) ftplib.parse227(??) ftplib.parse229(??) ftplib.parse257(??) ftplib.print_line(??) ftplib.socket(??) ftplib.ssl(??) ftplib.sys(??) ftplib.test(??) functools.GenericAlias(??) functools.RLock(??) functools.WRAPPER_ASSIGNMENTS(??) functools.WRAPPER_UPDATES(??) functools.cache(??) functools.cached_property(??) functools.cmp_to_key(??) functools.get_cache_token(??) functools.lru_cache(??) functools.namedtuple(??) functools.partial(func, *args, **keywords) - new function with partial application functools.partialmethod(??) functools.recursive_repr(??) functools.reduce(function, sequence[, initial]) -> value functools.singledispatch(??) functools.singledispatchmethod(??) functools.total_ordering(??) functools.update_wrapper(??) functools.wraps(??) gc.DEBUG_COLLECTABLE gc.DEBUG_LEAK gc.DEBUG_SAVEALL gc.DEBUG_STATS gc.DEBUG_UNCOLLECTABLE gc.callbacks(??) gc.collect(??) gc.disable(??) gc.enable(??) gc.freeze(??) gc.garbage(??) gc.get_count(??) gc.get_debug(??) gc.get_freeze_count(??) gc.get_objects(??) gc.get_referents(*objs) -> list gc.get_referrers(*objs) -> list gc.get_stats(??) gc.get_threshold(??) gc.is_finalized(??) gc.is_tracked(??) gc.isenabled(??) gc.set_debug(??) gc.set_threshold(threshold0, [threshold1, threshold2]) -> None gc.unfreeze(??) genericpath.commonprefix(??) genericpath.exists(??) genericpath.getatime(??) genericpath.getctime(??) genericpath.getmtime(??) genericpath.getsize(??) genericpath.isdir(??) genericpath.isfile(??) genericpath.os(??) genericpath.samefile(??) genericpath.sameopenfile(??) genericpath.samestat(??) genericpath.stat(??) getattr(object, name[, default]) -> value getopt.GetoptError(??) getopt.do_longs(??) getopt.do_shorts(??) getopt.error(??) getopt.getopt(args, options[, long_options]) -> opts, args getopt.gnu_getopt(??) getopt.long_has_args(??) getopt.os(??) getopt.short_has_arg(??) getpass.GetPassWarning(??) getpass.contextlib(??) getpass.fallback_getpass(??) getpass.getpass(??) getpass.getuser(??) getpass.io(??) getpass.os(??) getpass.sys(??) getpass.termios(??) getpass.unix_getpass(??) getpass.warnings(??) getpass.win_getpass(??) gettext.Catalog(??) gettext.GNUTranslations(??) gettext.NullTranslations(??) gettext.bind_textdomain_codeset(??) gettext.bindtextdomain(??) gettext.c2py(??) gettext.dgettext(??) gettext.dngettext(??) gettext.dnpgettext(??) gettext.dpgettext(??) gettext.find(??) gettext.gettext(??) gettext.install(??) gettext.ldgettext(??) gettext.ldngettext(??) gettext.lgettext(??) gettext.lngettext(??) gettext.ngettext(??) gettext.npgettext(??) gettext.os(??) gettext.pgettext(??) gettext.re(??) gettext.sys(??) gettext.textdomain(??) gettext.translation(??) glob.escape(??) glob.fnmatch(??) glob.glob(??) glob.glob0(??) glob.glob1(??) glob.has_magic(??) glob.iglob(??) glob.magic_check(??) glob.magic_check_bytes(??) glob.os(??) glob.re(??) glob.sys(??) globals(??) graphlib.CycleError(??) graphlib.TopologicalSorter(??) gzip.BadGzipFile(??) gzip.FCOMMENT gzip.FEXTRA gzip.FHCRC gzip.FNAME gzip.FTEXT gzip.GzipFile(??) gzip.READ gzip.WRITE gzip.builtins(??) gzip.compress(??) gzip.decompress(??) gzip.io(??) gzip.main(??) gzip.open(??) gzip.os(??) gzip.struct(??) gzip.sys(??) gzip.time(??) gzip.write32u(??) gzip.zlib(??) hasattr(??) hash(??) hashlib.algorithms_available(??) hashlib.algorithms_guaranteed(??) hashlib.blake2b(??) hashlib.blake2s(??) hashlib.md5(??) hashlib.new(name, data=b'') - Return a new hashing object using the named algorithm; hashlib.pbkdf2_hmac(??) hashlib.scrypt(??) hashlib.sha1(??) hashlib.sha224(??) hashlib.sha256(??) hashlib.sha384(??) hashlib.sha3_224(??) hashlib.sha3_256(??) hashlib.sha3_384(??) hashlib.sha3_512(??) hashlib.sha512(??) hashlib.shake_128(??) hashlib.shake_256(??) heapq.heapify(??) heapq.heappop(??) heapq.heappush(??) heapq.heappushpop(??) heapq.heapreplace(??) heapq.merge(??) heapq.nlargest(??) heapq.nsmallest(??) help(??) hex(??) hmac.HMAC(??) hmac.compare_digest(??) hmac.digest(??) hmac.digest_size(??) hmac.new(??) hmac.trans_36 hmac.trans_5C html.entities(??) html.entities.codepoint2name(??) html.entities.entitydefs(??) html.entities.html5(??) html.entities.name2codepoint(??) html.escape(??) html.parser.HTMLParser(??) html.parser.attrfind_tolerant(??) html.parser.charref(??) html.parser.commentclose(??) html.parser.endendtag(??) html.parser.endtagfind(??) html.parser.entityref(??) html.parser.incomplete(??) html.parser.interesting_normal(??) html.parser.locatestarttagend_tolerant(??) html.parser.piclose(??) html.parser.re(??) html.parser.starttagopen(??) html.parser.tagfind_tolerant(??) html.parser.unescape(??) html.unescape(??) http.HTTPStatus(??) http.IntEnum(??) http.client(??) http.client.ACCEPTED(??) http.client.ALREADY_REPORTED(??) http.client.BAD_GATEWAY(??) http.client.BAD_REQUEST(??) http.client.BadStatusLine(??) http.client.CONFLICT(??) http.client.CONTINUE(??) http.client.CREATED(??) http.client.CannotSendHeader(??) http.client.CannotSendRequest(??) http.client.EARLY_HINTS(??) http.client.EXPECTATION_FAILED(??) http.client.FAILED_DEPENDENCY(??) http.client.FORBIDDEN(??) http.client.FOUND(??) http.client.GATEWAY_TIMEOUT(??) http.client.GONE(??) http.client.HTTPConnection(??) http.client.HTTPException(??) http.client.HTTPMessage(??) http.client.HTTPResponse(??) http.client.HTTPSConnection(??) http.client.HTTPS_PORT http.client.HTTP_PORT http.client.HTTP_VERSION_NOT_SUPPORTED(??) http.client.IM_A_TEAPOT(??) http.client.IM_USED(??) http.client.INSUFFICIENT_STORAGE(??) http.client.INTERNAL_SERVER_ERROR(??) http.client.ImproperConnectionState(??) http.client.IncompleteRead(??) http.client.InvalidURL(??) http.client.LENGTH_REQUIRED(??) http.client.LOCKED(??) http.client.LOOP_DETECTED(??) http.client.LineTooLong(??) http.client.METHOD_NOT_ALLOWED(??) http.client.MISDIRECTED_REQUEST(??) http.client.MOVED_PERMANENTLY(??) http.client.MULTIPLE_CHOICES(??) http.client.MULTI_STATUS(??) http.client.NETWORK_AUTHENTICATION_REQUIRED(??) http.client.NON_AUTHORITATIVE_INFORMATION(??) http.client.NOT_ACCEPTABLE(??) http.client.NOT_EXTENDED(??) http.client.NOT_FOUND(??) http.client.NOT_IMPLEMENTED(??) http.client.NOT_MODIFIED(??) http.client.NO_CONTENT(??) http.client.NotConnected(??) http.client.OK(??) http.client.PARTIAL_CONTENT(??) http.client.PAYMENT_REQUIRED(??) http.client.PERMANENT_REDIRECT(??) http.client.PRECONDITION_FAILED(??) http.client.PRECONDITION_REQUIRED(??) http.client.PROCESSING(??) http.client.PROXY_AUTHENTICATION_REQUIRED(??) http.client.REQUESTED_RANGE_NOT_SATISFIABLE(??) http.client.REQUEST_ENTITY_TOO_LARGE(??) http.client.REQUEST_HEADER_FIELDS_TOO_LARGE(??) http.client.REQUEST_TIMEOUT(??) http.client.REQUEST_URI_TOO_LONG(??) http.client.RESET_CONTENT(??) http.client.RemoteDisconnected(??) http.client.ResponseNotReady(??) http.client.SEE_OTHER(??) http.client.SERVICE_UNAVAILABLE(??) http.client.SWITCHING_PROTOCOLS(??) http.client.TEMPORARY_REDIRECT(??) http.client.TOO_EARLY(??) http.client.TOO_MANY_REQUESTS(??) http.client.UNAUTHORIZED(??) http.client.UNAVAILABLE_FOR_LEGAL_REASONS(??) http.client.UNPROCESSABLE_ENTITY(??) http.client.UNSUPPORTED_MEDIA_TYPE(??) http.client.UPGRADE_REQUIRED(??) http.client.USE_PROXY(??) http.client.UnimplementedFileMode(??) http.client.UnknownProtocol(??) http.client.UnknownTransferEncoding(??) http.client.VARIANT_ALSO_NEGOTIATES(??) http.client.collections(??) http.client.email(??) http.client.error(??) http.client.http(??) http.client.io(??) http.client.parse_headers(??) http.client.re(??) http.client.responses(??) http.client.socket(??) http.client.ssl(??) http.client.urlsplit(??) http.cookiejar.Absent(??) http.cookiejar.Cookie(??) http.cookiejar.CookieJar(??) http.cookiejar.CookiePolicy(??) http.cookiejar.DAYS(??) http.cookiejar.DEFAULT_HTTP_PORT http.cookiejar.DefaultCookiePolicy(??) http.cookiejar.EPOCH_YEAR http.cookiejar.ESCAPED_CHAR_RE(??) http.cookiejar.FileCookieJar(??) http.cookiejar.HEADER_ESCAPE_RE(??) http.cookiejar.HEADER_JOIN_ESCAPE_RE(??) http.cookiejar.HEADER_QUOTED_VALUE_RE(??) http.cookiejar.HEADER_TOKEN_RE(??) http.cookiejar.HEADER_VALUE_RE(??) http.cookiejar.HTTP_PATH_SAFE http.cookiejar.IPV4_RE(??) http.cookiejar.ISO_DATE_RE(??) http.cookiejar.LOOSE_HTTP_DATE_RE(??) http.cookiejar.LWPCookieJar(??) http.cookiejar.LoadError(??) http.cookiejar.MISSING_FILENAME_TEXT http.cookiejar.MONTHS(??) http.cookiejar.MONTHS_LOWER(??) http.cookiejar.MozillaCookieJar(??) http.cookiejar.STRICT_DATE_RE(??) http.cookiejar.TIMEZONE_RE(??) http.cookiejar.UTC_ZONES(??) http.cookiejar.WEEKDAY_RE(??) http.cookiejar.copy(??) http.cookiejar.cut_port_re(??) http.cookiejar.datetime(??) http.cookiejar.debug(??) http.cookiejar.deepvalues(??) http.cookiejar.domain_match(??) http.cookiejar.eff_request_host(??) http.cookiejar.escape_path(??) http.cookiejar.http(??) http.cookiejar.http2time(??) http.cookiejar.is_HDN(??) http.cookiejar.is_third_party(??) http.cookiejar.iso2time(??) http.cookiejar.join_header_words(??) http.cookiejar.liberal_is_HDN(??) http.cookiejar.logger(??) http.cookiejar.lwp_cookie_str(??) http.cookiejar.month http.cookiejar.offset_from_tz_string(??) http.cookiejar.os(??) http.cookiejar.parse_ns_headers(??) http.cookiejar.re(??) http.cookiejar.reach(??) http.cookiejar.request_host(??) http.cookiejar.request_path(??) http.cookiejar.request_port(??) http.cookiejar.split_header_words(??) http.cookiejar.strip_quotes(??) http.cookiejar.time(??) http.cookiejar.time2isoz(??) http.cookiejar.time2netscape(??) http.cookiejar.timegm(??) http.cookiejar.unmatched(??) http.cookiejar.uppercase_escaped_char(??) http.cookiejar.urllib(??) http.cookiejar.user_domain_match(??) http.cookiejar.vals_sorted_by_key(??) http.cookies(??) http.cookies.BaseCookie(??) http.cookies.CookieError(??) http.cookies.Morsel(??) http.cookies.SimpleCookie(??) http.cookies.re(??) http.cookies.string(??) http.cookies.types(??) http.server(??) http.server.BaseHTTPRequestHandler(??) http.server.CGIHTTPRequestHandler(??) http.server.DEFAULT_ERROR_CONTENT_TYPE http.server.DEFAULT_ERROR_MESSAGE http.server.HTTPServer(??) http.server.HTTPStatus(??) http.server.SimpleHTTPRequestHandler(??) http.server.ThreadingHTTPServer(??) http.server.contextlib(??) http.server.copy(??) http.server.datetime(??) http.server.email(??) http.server.executable(??) http.server.html(??) http.server.http(??) http.server.io(??) http.server.mimetypes(??) http.server.nobody(??) http.server.nobody_uid(??) http.server.os(??) http.server.partial(func, *args, **keywords) - new function with partial application http.server.posixpath(??) http.server.select(??) http.server.shutil(??) http.server.socket(??) http.server.socketserver(??) http.server.sys(??) http.server.test(??) http.server.time(??) http.server.urllib(??) id(??) imaplib.AllowedVersions(??) imaplib.CRLF imaplib.Commands(??) imaplib.Continuation(??) imaplib.DEFAULT_BUFFER_SIZE imaplib.Debug imaplib.Flags(??) imaplib.HAVE_SSL(??) imaplib.IMAP4(??) imaplib.IMAP4_PORT imaplib.IMAP4_SSL(??) imaplib.IMAP4_SSL_PORT imaplib.IMAP4_stream(??) imaplib.Int2AP(??) imaplib.InternalDate(??) imaplib.Internaldate2tuple(??) imaplib.Literal(??) imaplib.MapCRLF(??) imaplib.Mon2num(??) imaplib.Months(??) imaplib.ParseFlags(??) imaplib.Response_code(??) imaplib.Time2Internaldate(??) imaplib.Untagged_response(??) imaplib.Untagged_status(??) imaplib.binascii(??) imaplib.calendar(??) imaplib.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) imaplib.errno(??) imaplib.random(??) imaplib.re(??) imaplib.socket(??) imaplib.ssl(??) imaplib.subprocess(??) imaplib.sys(??) imaplib.time(??) imaplib.timedelta(??) imaplib.timezone(??) imghdr.PathLike(??) imghdr.test(??) imghdr.test_bmp(??) imghdr.test_exr(??) imghdr.test_gif(??) imghdr.test_jpeg(??) imghdr.test_pbm(??) imghdr.test_pgm(??) imghdr.test_png(??) imghdr.test_ppm(??) imghdr.test_rast(??) imghdr.test_rgb(??) imghdr.test_tiff(??) imghdr.test_webp(??) imghdr.test_xbm(??) imghdr.testall(??) imghdr.tests(??) imghdr.what(??) imp.C_BUILTIN imp.C_EXTENSION imp.IMP_HOOK imp.NullImporter(??) imp.PKG_DIRECTORY imp.PY_CODERESOURCE imp.PY_COMPILED imp.PY_FROZEN imp.PY_RESOURCE imp.PY_SOURCE imp.SEARCH_ERROR imp.SourcelessFileLoader(??) imp.acquire_lock(??) imp.cache_from_source(??) imp.create_dynamic(??) imp.find_module(??) imp.get_frozen_object(??) imp.get_magic(??) imp.get_suffixes(??) imp.get_tag(??) imp.importlib(??) imp.init_builtin(??) imp.init_frozen(??) imp.is_builtin(??) imp.is_frozen(??) imp.is_frozen_package(??) imp.load_compiled(??) imp.load_dynamic(??) imp.load_module(??) imp.load_package(??) imp.load_source(??) imp.lock_held(??) imp.machinery(??) imp.new_module(??) imp.os(??) imp.release_lock(??) imp.reload(??) imp.source_from_cache(??) imp.sys(??) imp.tokenize(??) imp.types(??) imp.util(??) imp.warnings(??) importlib.abc(??) importlib.abc.ExecutionLoader(??) importlib.abc.FileLoader(??) importlib.abc.Finder(??) importlib.abc.InspectLoader(??) importlib.abc.Loader(??) importlib.abc.MetaPathFinder(??) importlib.abc.PathEntryFinder(??) importlib.abc.Protocol(??) importlib.abc.ResourceLoader(??) importlib.abc.ResourceReader(??) importlib.abc.SourceLoader(??) importlib.abc.Traversable(??) importlib.abc.TraversableResources(??) importlib.abc.abc(??) importlib.abc.machinery(??) importlib.abc.runtime_checkable(??) importlib.abc.warnings(??) importlib.find_loader(??) importlib.import_module(??) importlib.invalidate_caches(??) importlib.machinery(??) importlib.machinery.BYTECODE_SUFFIXES(??) importlib.machinery.BuiltinImporter(??) importlib.machinery.DEBUG_BYTECODE_SUFFIXES(??) importlib.machinery.EXTENSION_SUFFIXES(??) importlib.machinery.ExtensionFileLoader(??) importlib.machinery.FileFinder(??) importlib.machinery.FrozenImporter(??) importlib.machinery.ModuleSpec(??) importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES(??) importlib.machinery.PathFinder(??) importlib.machinery.SOURCE_SUFFIXES(??) importlib.machinery.SourceFileLoader(??) importlib.machinery.SourcelessFileLoader(??) importlib.machinery.WindowsRegistryFinder(??) importlib.machinery.all_suffixes(??) importlib.metadata(??) importlib.metadata.ConfigParser(??) importlib.metadata.Distribution(??) importlib.metadata.DistributionFinder(??) importlib.metadata.EntryPoint(??) importlib.metadata.FastPath(??) importlib.metadata.FileHash(??) importlib.metadata.MetaPathFinder(??) importlib.metadata.MetadataPathFinder(??) importlib.metadata.PackageNotFoundError(??) importlib.metadata.PackagePath(??) importlib.metadata.PathDistribution(??) importlib.metadata.Prepared(??) importlib.metadata.abc(??) importlib.metadata.collections(??) importlib.metadata.csv(??) importlib.metadata.distribution(??) importlib.metadata.distributions(??) importlib.metadata.email(??) importlib.metadata.entry_points(??) importlib.metadata.files(??) importlib.metadata.functools(??) importlib.metadata.import_module(??) importlib.metadata.io(??) importlib.metadata.itertools(??) importlib.metadata.metadata(??) importlib.metadata.operator(??) importlib.metadata.os(??) importlib.metadata.pathlib(??) importlib.metadata.posixpath(??) importlib.metadata.re(??) importlib.metadata.requires(??) importlib.metadata.starmap(??) importlib.metadata.suppress(??) importlib.metadata.sys(??) importlib.metadata.version(??) importlib.metadata.zipfile(??) importlib.reload(??) importlib.resources(??) importlib.resources.BinaryIO(??) importlib.resources.BytesIO(??) importlib.resources.ContextManager(??) importlib.resources.Iterable(??) importlib.resources.ModuleType(??) importlib.resources.Optional(??) importlib.resources.Package(??) importlib.resources.Path(??) importlib.resources.Resource(??) importlib.resources.ResourceLoader(??) importlib.resources.TextIO(??) importlib.resources.TextIOWrapper(??) importlib.resources.Union(??) importlib.resources.as_file(??) importlib.resources.cast(??) importlib.resources.contents(??) importlib.resources.contextmanager(??) importlib.resources.files(??) importlib.resources.import_module(??) importlib.resources.is_resource(??) importlib.resources.open_binary(??) importlib.resources.open_text(??) importlib.resources.os(??) importlib.resources.path(??) importlib.resources.read_binary(??) importlib.resources.read_text(??) importlib.resources.resources_abc(??) importlib.resources.suppress(??) importlib.sys(??) importlib.types(??) importlib.util(??) importlib.util.LazyLoader(??) importlib.util.MAGIC_NUMBER importlib.util.abc(??) importlib.util.cache_from_source(??) importlib.util.contextmanager(??) importlib.util.decode_source(??) importlib.util.find_spec(??) importlib.util.functools(??) importlib.util.module_for_loader(??) importlib.util.module_from_spec(??) importlib.util.resolve_name(??) importlib.util.set_loader(??) importlib.util.set_package(??) importlib.util.source_from_cache(??) importlib.util.source_hash(??) importlib.util.spec_from_file_location(??) importlib.util.spec_from_loader(??) importlib.util.sys(??) importlib.util.types(??) importlib.util.warnings(??) importlib.warnings(??) input(??) inspect.ArgInfo(args, varargs, keywords, locals) inspect.ArgSpec(args, varargs, keywords, defaults) inspect.Arguments(args, varargs, varkw) inspect.Attribute(name, kind, defining_class, object) inspect.BlockFinder(??) inspect.BoundArguments(??) inspect.CORO_CLOSED inspect.CORO_CREATED inspect.CORO_RUNNING inspect.CORO_SUSPENDED inspect.CO_ASYNC_GENERATOR inspect.CO_COROUTINE inspect.CO_GENERATOR inspect.CO_ITERABLE_COROUTINE inspect.CO_NESTED inspect.CO_NEWLOCALS inspect.CO_NOFREE inspect.CO_OPTIMIZED inspect.CO_VARARGS inspect.CO_VARKEYWORDS inspect.ClassFoundException(??) inspect.ClosureVars(nonlocals, globals, builtins, unbound) inspect.EndOfBlock(??) inspect.FrameInfo(frame, filename, lineno, function, code_context, index) inspect.FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations) inspect.GEN_CLOSED inspect.GEN_CREATED inspect.GEN_RUNNING inspect.GEN_SUSPENDED inspect.OrderedDict(??) inspect.Parameter(??) inspect.Signature(??) inspect.TPFLAGS_IS_ABSTRACT inspect.Traceback(filename, lineno, function, code_context, index) inspect.abc(??) inspect.ast(??) inspect.attrgetter(attr, ...) --> attrgetter object inspect.builtins(??) inspect.classify_class_attrs(??) inspect.cleandoc(??) inspect.collections(??) inspect.currentframe(??) inspect.dis(??) inspect.enum(??) inspect.findsource(??) inspect.formatannotation(??) inspect.formatannotationrelativeto(??) inspect.formatargspec(??) inspect.formatargvalues(??) inspect.functools(??) inspect.getabsfile(??) inspect.getargs(??) inspect.getargspec(??) inspect.getargvalues(??) inspect.getattr_static(??) inspect.getblock(??) inspect.getcallargs(??) inspect.getclasstree(??) inspect.getclosurevars(??) inspect.getcomments(??) inspect.getcoroutinelocals(??) inspect.getcoroutinestate(??) inspect.getdoc(??) inspect.getfile(??) inspect.getframeinfo(??) inspect.getfullargspec(??) inspect.getgeneratorlocals(??) inspect.getgeneratorstate(??) inspect.getinnerframes(??) inspect.getlineno(??) inspect.getmembers(??) inspect.getmodule(??) inspect.getmodulename(??) inspect.getmro(??) inspect.getouterframes(??) inspect.getsource(??) inspect.getsourcefile(??) inspect.getsourcelines(??) inspect.importlib(??) inspect.indentsize(??) inspect.isabstract(??) inspect.isasyncgen(??) inspect.isasyncgenfunction(??) inspect.isawaitable(??) inspect.isbuiltin(??) inspect.isclass(??) inspect.iscode(??) inspect.iscoroutine(??) inspect.iscoroutinefunction(??) inspect.isdatadescriptor(??) inspect.isframe(??) inspect.isfunction(??) inspect.isgenerator(??) inspect.isgeneratorfunction(??) inspect.isgetsetdescriptor(??) inspect.ismemberdescriptor(??) inspect.ismethod(??) inspect.ismethoddescriptor(??) inspect.ismodule(??) inspect.isroutine(??) inspect.istraceback(??) inspect.itertools(??) inspect.k inspect.linecache(??) inspect.mod_dict(??) inspect.modulesbyfile(??) inspect.namedtuple(??) inspect.os(??) inspect.re(??) inspect.signature(??) inspect.stack(??) inspect.sys(??) inspect.token(??) inspect.tokenize(??) inspect.trace(??) inspect.types(??) inspect.unwrap(??) inspect.v inspect.walktree(??) inspect.warnings(??) int([x]) -> integer io.BlockingIOError(??) io.BufferedIOBase(??) io.BufferedRWPair(??) io.BufferedRandom(??) io.BufferedReader(??) io.BufferedWriter(??) io.BytesIO(??) io.DEFAULT_BUFFER_SIZE io.FileIO(??) io.IOBase(??) io.IncrementalNewlineDecoder(??) io.OpenWrapper(??) io.RawIOBase(??) io.SEEK_CUR io.SEEK_END io.SEEK_SET io.StringIO(??) io.TextIOBase(??) io.TextIOWrapper(??) io.UnsupportedOperation(??) io.abc(??) io.open(??) io.open_code(??) ipaddress.AddressValueError(??) ipaddress.IPV4LENGTH ipaddress.IPV6LENGTH ipaddress.IPv4Address(??) ipaddress.IPv4Interface(??) ipaddress.IPv4Network(??) ipaddress.IPv6Address(??) ipaddress.IPv6Interface(??) ipaddress.IPv6Network(??) ipaddress.NetmaskValueError(??) ipaddress.collapse_addresses(??) ipaddress.functools(??) ipaddress.get_mixed_type_key(??) ipaddress.ip_address(??) ipaddress.ip_interface(??) ipaddress.ip_network(??) ipaddress.summarize_address_range(??) ipaddress.v4_int_to_packed(??) ipaddress.v6_int_to_packed(??) isinstance(??) issubclass(??) iter(iterable) -> iterator itertools.accumulate(??) itertools.chain(*iterables) --> chain object itertools.combinations(??) itertools.combinations_with_replacement(??) itertools.compress(??) itertools.count(??) itertools.cycle(??) itertools.dropwhile(??) itertools.filterfalse(??) itertools.groupby(??) itertools.islice(iterable, stop) --> islice object itertools.permutations(??) itertools.product(*iterables, repeat=1) --> product object itertools.repeat(object [,times]) -> create an iterator which returns the object itertools.starmap(??) itertools.takewhile(??) itertools.tee(??) itertools.zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object json.JSONDecodeError(??) json.JSONDecoder(??) json.JSONEncoder(??) json.codecs(??) json.decoder(??) json.decoder.BACKSLASH(??) json.decoder.FLAGS(??) json.decoder.JSONArray(??) json.decoder.JSONDecodeError(??) json.decoder.JSONDecoder(??) json.decoder.JSONObject(??) json.decoder.NaN json.decoder.NegInf json.decoder.PosInf json.decoder.STRINGCHUNK(??) json.decoder.WHITESPACE(??) json.decoder.WHITESPACE_STR json.decoder.c_scanstring(??) json.decoder.py_scanstring(??) json.decoder.re(??) json.decoder.scanner(??) json.decoder.scanstring(string, end, strict=True) -> (string, end) json.detect_encoding(??) json.dump(??) json.dumps(??) json.encoder(??) json.encoder.ESCAPE(??) json.encoder.ESCAPE_ASCII(??) json.encoder.ESCAPE_DCT(??) json.encoder.HAS_UTF8(??) json.encoder.INFINITY json.encoder.JSONEncoder(??) json.encoder.c_encode_basestring(??) json.encoder.c_encode_basestring_ascii(??) json.encoder.c_make_encoder(??) json.encoder.encode_basestring(string) -> string json.encoder.encode_basestring_ascii(string) -> string json.encoder.i json.encoder.py_encode_basestring(??) json.encoder.py_encode_basestring_ascii(??) json.encoder.re(??) json.load(??) json.loads(??) json.scanner(??) json.scanner.NUMBER_RE(??) json.scanner.c_make_scanner(??) json.scanner.make_scanner(??) json.scanner.py_make_scanner(??) json.scanner.re(??) json.tool.argparse(??) json.tool.json(??) json.tool.main(??) json.tool.sys(??) keyword.iskeyword(??) keyword.issoftkeyword(??) keyword.kwlist(??) keyword.softkwlist(??) len(??) license(??) linecache.cache(??) linecache.checkcache(??) linecache.clearcache(??) linecache.functools(??) linecache.getline(??) linecache.getlines(??) linecache.lazycache(??) linecache.os(??) linecache.sys(??) linecache.tokenize(??) linecache.updatecache(??) list(??) locale.ABDAY_1 locale.ABDAY_2 locale.ABDAY_3 locale.ABDAY_4 locale.ABDAY_5 locale.ABDAY_6 locale.ABDAY_7 locale.ABMON_1 locale.ABMON_10 locale.ABMON_11 locale.ABMON_12 locale.ABMON_2 locale.ABMON_3 locale.ABMON_4 locale.ABMON_5 locale.ABMON_6 locale.ABMON_7 locale.ABMON_8 locale.ABMON_9 locale.ALT_DIGITS locale.AM_STR locale.CHAR_MAX locale.CODESET locale.CRNCYSTR locale.DAY_1 locale.DAY_2 locale.DAY_3 locale.DAY_4 locale.DAY_5 locale.DAY_6 locale.DAY_7 locale.D_FMT locale.D_T_FMT locale.ERA locale.ERA_D_FMT locale.ERA_D_T_FMT locale.ERA_T_FMT locale.Error(??) locale.LC_ALL locale.LC_COLLATE locale.LC_CTYPE locale.LC_MESSAGES locale.LC_MONETARY locale.LC_NUMERIC locale.LC_TIME locale.MON_1 locale.MON_10 locale.MON_11 locale.MON_12 locale.MON_2 locale.MON_3 locale.MON_4 locale.MON_5 locale.MON_6 locale.MON_7 locale.MON_8 locale.MON_9 locale.NOEXPR locale.PM_STR locale.RADIXCHAR locale.THOUSEP locale.T_FMT locale.T_FMT_AMPM locale.YESEXPR locale.atof(??) locale.atoi(??) locale.currency(??) locale.delocalize(??) locale.encodings(??) locale.format(??) locale.format_string(??) locale.functools(??) locale.getdefaultlocale(??) locale.getlocale(??) locale.getpreferredencoding(??) locale.k locale.locale_alias(??) locale.locale_encoding_alias(??) locale.localeconv(??) locale.nl_langinfo(key) -> string locale.normalize(??) locale.re(??) locale.resetlocale(??) locale.setlocale(??) locale.str(??) locale.strcoll(??) locale.strxfrm(string) -> string. locale.sys(??) locale.v locale.windows_locale(??) locals(??) logging.BASIC_FORMAT logging.BufferingFormatter(??) logging.CRITICAL logging.DEBUG logging.ERROR logging.FATAL logging.FileHandler(??) logging.Filter(??) logging.Filterer(??) logging.Formatter(??) logging.Handler(??) logging.INFO logging.LogRecord(??) logging.Logger(??) logging.LoggerAdapter(??) logging.Manager(??) logging.NOTSET logging.NullHandler(??) logging.PercentStyle(??) logging.PlaceHolder(??) logging.RootLogger(??) logging.StrFormatStyle(??) logging.StreamHandler(??) logging.StringTemplateStyle(??) logging.Template(??) logging.WARN logging.WARNING logging.addLevelName(??) logging.atexit(??) logging.basicConfig(??) logging.captureWarnings(??) logging.collections(??) logging.config(??) logging.config.BaseConfigurator(??) logging.config.ConvertingDict(??) logging.config.ConvertingList(??) logging.config.ConvertingMixin(??) logging.config.ConvertingTuple(??) logging.config.DEFAULT_LOGGING_CONFIG_PORT logging.config.DictConfigurator(??) logging.config.IDENTIFIER(??) logging.config.RESET_ERROR logging.config.StreamRequestHandler(??) logging.config.ThreadingTCPServer(??) logging.config.dictConfig(??) logging.config.dictConfigClass(??) logging.config.errno(??) logging.config.fileConfig(??) logging.config.io(??) logging.config.listen(??) logging.config.logging(??) logging.config.re(??) logging.config.stopListening(??) logging.config.struct(??) logging.config.sys(??) logging.config.threading(??) logging.config.traceback(??) logging.config.valid_ident(??) logging.critical(??) logging.currentframe(??) logging.debug(??) logging.disable(??) logging.error(??) logging.exception(??) logging.fatal(??) logging.getLevelName(??) logging.getLogRecordFactory(??) logging.getLogger(??) logging.getLoggerClass(??) logging.handlers(??) logging.handlers.BaseRotatingHandler(??) logging.handlers.BufferingHandler(??) logging.handlers.DEFAULT_HTTP_LOGGING_PORT logging.handlers.DEFAULT_SOAP_LOGGING_PORT logging.handlers.DEFAULT_TCP_LOGGING_PORT logging.handlers.DEFAULT_UDP_LOGGING_PORT logging.handlers.DatagramHandler(??) logging.handlers.HTTPHandler(??) logging.handlers.MemoryHandler(??) logging.handlers.NTEventLogHandler(??) logging.handlers.QueueHandler(??) logging.handlers.QueueListener(??) logging.handlers.RotatingFileHandler(??) logging.handlers.SMTPHandler(??) logging.handlers.ST_DEV logging.handlers.ST_INO logging.handlers.ST_MTIME logging.handlers.SYSLOG_TCP_PORT logging.handlers.SYSLOG_UDP_PORT logging.handlers.SocketHandler(??) logging.handlers.SysLogHandler(??) logging.handlers.TimedRotatingFileHandler(??) logging.handlers.WatchedFileHandler(??) logging.handlers.copy(??) logging.handlers.logging(??) logging.handlers.os(??) logging.handlers.pickle(??) logging.handlers.queue(??) logging.handlers.re(??) logging.handlers.socket(??) logging.handlers.struct(??) logging.handlers.threading(??) logging.handlers.time(??) logging.info(??) logging.io(??) logging.lastResort(??) logging.log(??) logging.logMultiprocessing(??) logging.logProcesses(??) logging.logThreads(??) logging.makeLogRecord(??) logging.os(??) logging.raiseExceptions(??) logging.re(??) logging.root(??) logging.setLogRecordFactory(??) logging.setLoggerClass(??) logging.shutdown(??) logging.sys(??) logging.threading(??) logging.time(??) logging.traceback(??) logging.warn(??) logging.warning(??) logging.warnings(??) logging.weakref(??) lzma.CHECK_CRC32 lzma.CHECK_CRC64 lzma.CHECK_ID_MAX lzma.CHECK_NONE lzma.CHECK_SHA256 lzma.CHECK_UNKNOWN lzma.FILTER_ARM lzma.FILTER_ARMTHUMB lzma.FILTER_DELTA lzma.FILTER_IA64 lzma.FILTER_LZMA1 lzma.FILTER_LZMA2 lzma.FILTER_POWERPC lzma.FILTER_SPARC lzma.FILTER_X86 lzma.FORMAT_ALONE lzma.FORMAT_AUTO lzma.FORMAT_RAW lzma.FORMAT_XZ lzma.LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None) lzma.LZMADecompressor(??) lzma.LZMAError(??) lzma.LZMAFile(??) lzma.MF_BT2 lzma.MF_BT3 lzma.MF_BT4 lzma.MF_HC3 lzma.MF_HC4 lzma.MODE_FAST lzma.MODE_NORMAL lzma.PRESET_DEFAULT lzma.PRESET_EXTREME lzma.builtins(??) lzma.compress(??) lzma.decompress(??) lzma.io(??) lzma.is_check_supported(??) lzma.open(??) lzma.os(??) mailbox.Babyl(??) mailbox.BabylMessage(??) mailbox.Error(??) mailbox.ExternalClashError(??) mailbox.FormatError(??) mailbox.GenericAlias(??) mailbox.MH(??) mailbox.MHMessage(??) mailbox.MMDF(??) mailbox.MMDFMessage(??) mailbox.Mailbox(??) mailbox.Maildir(??) mailbox.MaildirMessage(??) mailbox.Message(??) mailbox.NoSuchMailboxError(??) mailbox.NotEmptyError(??) mailbox.calendar(??) mailbox.contextlib(??) mailbox.copy(??) mailbox.email(??) mailbox.errno(??) mailbox.fcntl(??) mailbox.io(??) mailbox.linesep mailbox.mbox(??) mailbox.mboxMessage(??) mailbox.os(??) mailbox.socket(??) mailbox.time(??) mailbox.warnings(??) mailcap.findmatch(??) mailcap.findparam(??) mailcap.getcaps(??) mailcap.lineno_sort_key(??) mailcap.listmailcapfiles(??) mailcap.lookup(??) mailcap.os(??) mailcap.parsefield(??) mailcap.parseline(??) mailcap.readmailcapfile(??) mailcap.show(??) mailcap.subst(??) mailcap.test(??) mailcap.warnings(??) map(func, *iterables) --> map object marshal.dump(??) marshal.dumps(??) marshal.load(??) marshal.loads(??) marshal.version max(iterable, *[, default=obj, key=func]) -> value memoryview(??) metasip.GccXML.Argument(??) metasip.GccXML.Class(??) metasip.GccXML.Constructor(??) metasip.GccXML.Destructor(??) metasip.GccXML.Enum(??) metasip.GccXML.EnumValue(??) metasip.GccXML.Function(??) metasip.GccXML.GccXMLParser(??) metasip.GccXML.ICodeContainer(??) metasip.GccXML.IProject(??) metasip.GccXML.Instance(??) metasip.GccXML.Logger(??) metasip.GccXML.Method(??) metasip.GccXML.Model(??) metasip.GccXML.Namespace(??) metasip.GccXML.OpaqueClass(??) metasip.GccXML.OperatorCast(??) metasip.GccXML.OperatorFunction(??) metasip.GccXML.OperatorMethod(??) metasip.GccXML.ParserBase(??) metasip.GccXML.Typedef(??) metasip.GccXML.VALUE_MAP(??) metasip.GccXML.Variable(??) metasip.GccXML.implements(??) metasip.GccXML.optAttribute(??) metasip.GccXML.os(??) metasip.GccXML.subprocess(??) metasip.GccXML.sys(??) metasip.GccXML.tempfile(??) metasip.Logger(??) metasip.Parser.ContentHandler(??) metasip.Parser.ErrorHandler(??) metasip.Parser.Logger(??) metasip.Parser.ParserBase(??) metasip.Parser.SAXParseException(??) metasip.Parser.make_parser(??) metasip.Parser.optAttribute(??) metasip.Project(??) metasip.Project.acceptArgumentNames(??) metasip.Project.descriptive_name(??) metasip.Project.externalfeatures(??) metasip.Project.externalmodules(??) metasip.Project.features(??) metasip.Project.findHeaderDirectory(??) metasip.Project.generateModule(??) metasip.Project.headers(??) metasip.Project.ignorednamespaces(??) metasip.Project.modules(??) metasip.Project.name(??) metasip.Project.nameArgumentsFromConventions(??) metasip.Project.platforms(??) metasip.Project.rootmodule(??) metasip.Project.save(??) metasip.Project.sipcomments(??) metasip.Project.version(??) metasip.Project.versions(??) metasip.Project.vmap_create(??) metasip.Project.vmap_or_version_ranges(??) metasip.Project.vmap_to_version_ranges(??) metasip.ProjectCodec(??) metasip.ProjectEditorTool(??) metasip.ProjectFactory(??) metasip.UpdateManager(??) metasip.api_editor(??) metasip.api_editor.Annos(??) metasip.api_editor.Annos.split_annos(??) metasip.api_editor.ApiEditor(??) metasip.api_editor.ArgProperties(??) metasip.api_editor.ArgProperties.ArgPropertiesDialog(??) metasip.api_editor.ArgProperties.Encoding(??) metasip.api_editor.ArgProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.ArgProperties.Ui_ArgPropertiesBase(??) metasip.api_editor.ArgProperties.split_annos(??) metasip.api_editor.BaseType(??) metasip.api_editor.BaseType.BaseType(??) metasip.api_editor.CallableProperties(??) metasip.api_editor.CallableProperties.CallablePropertiesDialog(??) metasip.api_editor.CallableProperties.Constructor(??) metasip.api_editor.CallableProperties.Destructor(??) metasip.api_editor.CallableProperties.Encoding(??) metasip.api_editor.CallableProperties.Function(??) metasip.api_editor.CallableProperties.ManualCode(??) metasip.api_editor.CallableProperties.Method(??) metasip.api_editor.CallableProperties.OperatorFunction(??) metasip.api_editor.CallableProperties.OperatorMethod(??) metasip.api_editor.CallableProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.CallableProperties.Ui_CallablePropertiesBase(??) metasip.api_editor.CallableProperties.split_annos(??) metasip.api_editor.ClassProperties(??) metasip.api_editor.ClassProperties.ClassPropertiesDialog(??) metasip.api_editor.ClassProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.ClassProperties.Ui_ClassPropertiesBase(??) metasip.api_editor.ClassProperties.split_annos(??) metasip.api_editor.Designer(??) metasip.api_editor.Designer.ArgPropertiesBase(??) metasip.api_editor.Designer.ArgPropertiesBase.QtCore(??) metasip.api_editor.Designer.ArgPropertiesBase.QtGui(??) metasip.api_editor.Designer.ArgPropertiesBase.QtWidgets(??) metasip.api_editor.Designer.ArgPropertiesBase.Ui_ArgPropertiesBase(??) metasip.api_editor.Designer.CallablePropertiesBase(??) metasip.api_editor.Designer.CallablePropertiesBase.QtCore(??) metasip.api_editor.Designer.CallablePropertiesBase.QtGui(??) metasip.api_editor.Designer.CallablePropertiesBase.QtWidgets(??) metasip.api_editor.Designer.CallablePropertiesBase.Ui_CallablePropertiesBase(??) metasip.api_editor.Designer.ClassPropertiesBase(??) metasip.api_editor.Designer.ClassPropertiesBase.QtCore(??) metasip.api_editor.Designer.ClassPropertiesBase.QtGui(??) metasip.api_editor.Designer.ClassPropertiesBase.QtWidgets(??) metasip.api_editor.Designer.ClassPropertiesBase.Ui_ClassPropertiesBase(??) metasip.api_editor.Designer.EnumPropertiesBase(??) metasip.api_editor.Designer.EnumPropertiesBase.QtCore(??) metasip.api_editor.Designer.EnumPropertiesBase.QtGui(??) metasip.api_editor.Designer.EnumPropertiesBase.QtWidgets(??) metasip.api_editor.Designer.EnumPropertiesBase.Ui_EnumPropertiesBase(??) metasip.api_editor.Designer.EnumValuePropertiesBase(??) metasip.api_editor.Designer.EnumValuePropertiesBase.QtCore(??) metasip.api_editor.Designer.EnumValuePropertiesBase.QtGui(??) metasip.api_editor.Designer.EnumValuePropertiesBase.QtWidgets(??) metasip.api_editor.Designer.EnumValuePropertiesBase.Ui_EnumValuePropertiesBase(??) metasip.api_editor.Designer.FeaturePickerBase(??) metasip.api_editor.Designer.FeaturePickerBase.QtCore(??) metasip.api_editor.Designer.FeaturePickerBase.QtGui(??) metasip.api_editor.Designer.FeaturePickerBase.QtWidgets(??) metasip.api_editor.Designer.FeaturePickerBase.Ui_FeaturePickerBase(??) metasip.api_editor.Designer.GenerationsBase(??) metasip.api_editor.Designer.GenerationsBase.QtCore(??) metasip.api_editor.Designer.GenerationsBase.QtGui(??) metasip.api_editor.Designer.GenerationsBase.QtWidgets(??) metasip.api_editor.Designer.GenerationsBase.Ui_GenerationsBase(??) metasip.api_editor.Designer.ManualCodeBase(??) metasip.api_editor.Designer.ManualCodeBase.QtCore(??) metasip.api_editor.Designer.ManualCodeBase.QtGui(??) metasip.api_editor.Designer.ManualCodeBase.QtWidgets(??) metasip.api_editor.Designer.ManualCodeBase.Ui_ManualCodeBase(??) metasip.api_editor.Designer.ModulePropertiesBase(??) metasip.api_editor.Designer.ModulePropertiesBase.QtCore(??) metasip.api_editor.Designer.ModulePropertiesBase.QtGui(??) metasip.api_editor.Designer.ModulePropertiesBase.QtWidgets(??) metasip.api_editor.Designer.ModulePropertiesBase.Ui_ModulePropertiesBase(??) metasip.api_editor.Designer.OpaqueClassPropertiesBase(??) metasip.api_editor.Designer.OpaqueClassPropertiesBase.QtCore(??) metasip.api_editor.Designer.OpaqueClassPropertiesBase.QtGui(??) metasip.api_editor.Designer.OpaqueClassPropertiesBase.QtWidgets(??) metasip.api_editor.Designer.OpaqueClassPropertiesBase.Ui_OpaqueClassPropertiesBase(??) metasip.api_editor.Designer.PlatformPickerBase(??) metasip.api_editor.Designer.PlatformPickerBase.QtCore(??) metasip.api_editor.Designer.PlatformPickerBase.QtGui(??) metasip.api_editor.Designer.PlatformPickerBase.QtWidgets(??) metasip.api_editor.Designer.PlatformPickerBase.Ui_PlatformPickerBase(??) metasip.api_editor.Designer.ProjectPropertiesBase(??) metasip.api_editor.Designer.ProjectPropertiesBase.QtCore(??) metasip.api_editor.Designer.ProjectPropertiesBase.QtGui(??) metasip.api_editor.Designer.ProjectPropertiesBase.QtWidgets(??) metasip.api_editor.Designer.ProjectPropertiesBase.Ui_ProjectPropertiesBase(??) metasip.api_editor.Designer.VariablePropertiesBase(??) metasip.api_editor.Designer.VariablePropertiesBase.QtCore(??) metasip.api_editor.Designer.VariablePropertiesBase.QtGui(??) metasip.api_editor.Designer.VariablePropertiesBase.QtWidgets(??) metasip.api_editor.Designer.VariablePropertiesBase.Ui_VariablePropertiesBase(??) metasip.api_editor.Encoding(??) metasip.api_editor.Encoding.Encoding(??) metasip.api_editor.EnumProperties(??) metasip.api_editor.EnumProperties.BaseType(??) metasip.api_editor.EnumProperties.EnumPropertiesDialog(??) metasip.api_editor.EnumProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.EnumProperties.Ui_EnumPropertiesBase(??) metasip.api_editor.EnumProperties.split_annos(??) metasip.api_editor.EnumValueProperties(??) metasip.api_editor.EnumValueProperties.EnumValuePropertiesDialog(??) metasip.api_editor.EnumValueProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.EnumValueProperties.Ui_EnumValuePropertiesBase(??) metasip.api_editor.EnumValueProperties.split_annos(??) metasip.api_editor.ExternalEditor(??) metasip.api_editor.ExternalEditor.ExternalEditor(??) metasip.api_editor.ExternalEditor.IDialog(??) metasip.api_editor.ExternalEditor.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.ExternalEditor.QDialogButtonBox(parent: QWidget = None) metasip.api_editor.ExternalEditor.QEvent(QEvent.Type) metasip.api_editor.ExternalEditor.QFile() metasip.api_editor.ExternalEditor.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]) metasip.api_editor.ExternalEditor.QHBoxLayout() metasip.api_editor.ExternalEditor.QMessageBox(parent: QWidget = None) metasip.api_editor.ExternalEditor.QObject(parent: QObject = None) metasip.api_editor.ExternalEditor.QPushButton(parent: QWidget = None) metasip.api_editor.ExternalEditor.QTextStream() metasip.api_editor.ExternalEditor.QVBoxLayout() metasip.api_editor.ExternalEditor.QsciLexerCPP(parent: QObject = None, caseInsensitiveKeywords: bool = False) metasip.api_editor.ExternalEditor.QsciScintilla(parent: QWidget = None) metasip.api_editor.ExternalEditor.SettingsManager(??) metasip.api_editor.ExternalEditor.pyqtSignal(??) metasip.api_editor.FeaturePicker(??) metasip.api_editor.FeaturePicker.FeaturePickerDialog(??) metasip.api_editor.FeaturePicker.QComboBox(parent: QWidget = None) metasip.api_editor.FeaturePicker.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.FeaturePicker.QGridLayout(QWidget) metasip.api_editor.FeaturePicker.QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.FeaturePicker.Ui_FeaturePickerBase(??) metasip.api_editor.Generations(??) metasip.api_editor.Generations.GenerationsDialog(??) metasip.api_editor.Generations.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.Generations.Ui_GenerationsBase(??) metasip.api_editor.ManualCode(??) metasip.api_editor.ManualCode.ManualCodeDialog(??) metasip.api_editor.ManualCode.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.ManualCode.Ui_ManualCodeBase(??) metasip.api_editor.ModuleProperties(??) metasip.api_editor.ModuleProperties.ModulePropertiesDialog(??) metasip.api_editor.ModuleProperties.QCheckBox(parent: QWidget = None) metasip.api_editor.ModuleProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.ModuleProperties.QGridLayout(QWidget) metasip.api_editor.ModuleProperties.Qt(??) metasip.api_editor.ModuleProperties.Ui_ModulePropertiesBase(??) metasip.api_editor.OpaqueClassProperties(??) metasip.api_editor.OpaqueClassProperties.OpaqueClassPropertiesDialog(??) metasip.api_editor.OpaqueClassProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.OpaqueClassProperties.Ui_OpaqueClassPropertiesBase(??) metasip.api_editor.OpaqueClassProperties.split_annos(??) metasip.api_editor.PlatformPicker(??) metasip.api_editor.PlatformPicker.PlatformPickerDialog(??) metasip.api_editor.PlatformPicker.QCheckBox(parent: QWidget = None) metasip.api_editor.PlatformPicker.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.PlatformPicker.Ui_PlatformPickerBase(??) metasip.api_editor.ProjectProperties(??) metasip.api_editor.ProjectProperties.ProjectPropertiesDialog(??) metasip.api_editor.ProjectProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.ProjectProperties.Ui_ProjectPropertiesBase(??) metasip.api_editor.VariableProperties(??) metasip.api_editor.VariableProperties.Encoding(??) metasip.api_editor.VariableProperties.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.VariableProperties.Ui_VariablePropertiesBase(??) metasip.api_editor.VariableProperties.VariablePropertiesDialog(??) metasip.api_editor.VariableProperties.split_annos(??) metasip.api_editor.api_editor(??) metasip.api_editor.api_editor.Access(??) metasip.api_editor.api_editor.ApiEditor(??) metasip.api_editor.api_editor.Application(??) metasip.api_editor.api_editor.ArgPropertiesDialog(??) metasip.api_editor.api_editor.Argument(??) metasip.api_editor.api_editor.CallablePropertiesDialog(??) metasip.api_editor.api_editor.Class(??) metasip.api_editor.api_editor.ClassPropertiesDialog(??) metasip.api_editor.api_editor.CodeItem(??) metasip.api_editor.api_editor.Constructor(??) metasip.api_editor.api_editor.ContainerItem(??) metasip.api_editor.api_editor.Destructor(??) metasip.api_editor.api_editor.DropSite(??) metasip.api_editor.api_editor.EditorItem(??) metasip.api_editor.api_editor.Enum(??) metasip.api_editor.api_editor.EnumPropertiesDialog(??) metasip.api_editor.api_editor.EnumValue(??) metasip.api_editor.api_editor.EnumValuePropertiesDialog(??) metasip.api_editor.api_editor.ExternalEditor(??) metasip.api_editor.api_editor.FeaturePickerDialog(??) metasip.api_editor.api_editor.Function(??) metasip.api_editor.api_editor.GenerationsDialog(??) metasip.api_editor.api_editor.IDirty(??) metasip.api_editor.api_editor.ManualCode(??) metasip.api_editor.api_editor.ManualCodeDialog(??) metasip.api_editor.api_editor.Method(??) metasip.api_editor.api_editor.Module(??) metasip.api_editor.api_editor.ModuleItem(??) metasip.api_editor.api_editor.ModulePropertiesDialog(??) metasip.api_editor.api_editor.Namespace(??) metasip.api_editor.api_editor.OpaqueClass(??) metasip.api_editor.api_editor.OpaqueClassPropertiesDialog(??) metasip.api_editor.api_editor.OperatorCast(??) metasip.api_editor.api_editor.OperatorFunction(??) metasip.api_editor.api_editor.OperatorMethod(??) metasip.api_editor.api_editor.PlatformPickerDialog(??) metasip.api_editor.api_editor.ProjectItem(??) metasip.api_editor.api_editor.ProjectPropertiesDialog(??) metasip.api_editor.api_editor.QApplication(List[str]) metasip.api_editor.api_editor.QByteArray() metasip.api_editor.api_editor.QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.api_editor.QDrag(QObject) metasip.api_editor.api_editor.QInputDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.api_editor.QMenu(parent: QWidget = None) metasip.api_editor.api_editor.QMessageBox(parent: QWidget = None) metasip.api_editor.api_editor.QMimeData() metasip.api_editor.api_editor.QProgressDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.api_editor.api_editor.QTreeWidget(parent: QWidget = None) metasip.api_editor.api_editor.QTreeWidgetItem(type: int = QTreeWidgetItem.Type) metasip.api_editor.api_editor.QTreeWidgetItemIterator(QTreeWidgetItemIterator) metasip.api_editor.api_editor.QVBoxLayout() metasip.api_editor.api_editor.Qt(??) metasip.api_editor.api_editor.SipFileItem(??) metasip.api_editor.api_editor.Variable(??) metasip.api_editor.api_editor.VariablePropertiesDialog(??) metasip.api_editor.api_editor.VersionRange(??) metasip.api_editor.api_editor.observe(??) metasip.api_editor.api_editor.version_range(??) metasip.default_update_manager(??) metasip.default_update_manager.UpdateManager(??) metasip.default_update_manager.update_manager(??) metasip.default_update_manager.update_manager.Application(??) metasip.default_update_manager.update_manager.IUpdate(??) metasip.default_update_manager.update_manager.IUpdateManager(??) metasip.default_update_manager.update_manager.Model(??) metasip.default_update_manager.update_manager.Str(??) metasip.default_update_manager.update_manager.UpdateManager(??) metasip.default_update_manager.update_manager.implements(??) metasip.interfaces(??) metasip.interfaces.ISchema(??) metasip.interfaces.IUpdate(??) metasip.interfaces.IUpdateManager(??) metasip.interfaces.i_schema(??) metasip.interfaces.i_schema.ISchema(??) metasip.interfaces.i_schema.Interface(??) metasip.interfaces.i_schema.Str(??) metasip.interfaces.i_update(??) metasip.interfaces.i_update.IUpdate(??) metasip.interfaces.i_update.Int(??) metasip.interfaces.i_update.Interface(??) metasip.interfaces.i_update.Str(??) metasip.interfaces.i_update_manager(??) metasip.interfaces.i_update_manager.IUpdate(??) metasip.interfaces.i_update_manager.IUpdateManager(??) metasip.interfaces.i_update_manager.Interface(??) metasip.interfaces.i_update_manager.List(??) metasip.interfaces.project(??) metasip.interfaces.project.IAccess(??) metasip.interfaces.project.IAnnos(??) metasip.interfaces.project.IArgument(??) metasip.interfaces.project.ICallable(??) metasip.interfaces.project.IClass(??) metasip.interfaces.project.IClassCallable(??) metasip.interfaces.project.ICode(??) metasip.interfaces.project.ICodeContainer(??) metasip.interfaces.project.IConstructor(??) metasip.interfaces.project.IDestructor(??) metasip.interfaces.project.IDocString(??) metasip.interfaces.project.IEnum(??) metasip.interfaces.project.IEnumValue(??) metasip.interfaces.project.IExtendedAccess(??) metasip.interfaces.project.IFunction(??) metasip.interfaces.project.IHeaderDirectory(??) metasip.interfaces.project.IHeaderFile(??) metasip.interfaces.project.IHeaderFileVersion(??) metasip.interfaces.project.IManualCode(??) metasip.interfaces.project.IMethod(??) metasip.interfaces.project.IModule(??) metasip.interfaces.project.INamespace(??) metasip.interfaces.project.IOpaqueClass(??) metasip.interfaces.project.IOperatorCast(??) metasip.interfaces.project.IOperatorFunction(??) metasip.interfaces.project.IOperatorMethod(??) metasip.interfaces.project.IProject(??) metasip.interfaces.project.ISipFile(??) metasip.interfaces.project.ITagged(??) metasip.interfaces.project.ITypedef(??) metasip.interfaces.project.IVariable(??) metasip.interfaces.project.IVersionRange(??) metasip.interfaces.project.IWorkflow(??) metasip.interfaces.project.ProjectVersion metasip.interfaces.project.i_access(??) metasip.interfaces.project.i_access.Enum(??) metasip.interfaces.project.i_access.IAccess(??) metasip.interfaces.project.i_access.Interface(??) metasip.interfaces.project.i_annos(??) metasip.interfaces.project.i_annos.IAnnos(??) metasip.interfaces.project.i_annos.Interface(??) metasip.interfaces.project.i_annos.Str(??) metasip.interfaces.project.i_argument(??) metasip.interfaces.project.i_argument.Bool(??) metasip.interfaces.project.i_argument.IAnnos(??) metasip.interfaces.project.i_argument.IArgument(??) metasip.interfaces.project.i_argument.Str(??) metasip.interfaces.project.i_callable(??) metasip.interfaces.project.i_callable.IArgument(??) metasip.interfaces.project.i_callable.ICallable(??) metasip.interfaces.project.i_callable.ICode(??) metasip.interfaces.project.i_callable.List(??) metasip.interfaces.project.i_callable.Str(??) metasip.interfaces.project.i_class(??) metasip.interfaces.project.i_class.Bool(??) metasip.interfaces.project.i_class.IAccess(??) metasip.interfaces.project.i_class.IClass(??) metasip.interfaces.project.i_class.ICode(??) metasip.interfaces.project.i_class.ICodeContainer(??) metasip.interfaces.project.i_class.IDocString(??) metasip.interfaces.project.i_class.Str(??) metasip.interfaces.project.i_class_callable(??) metasip.interfaces.project.i_class_callable.ICallable(??) metasip.interfaces.project.i_class_callable.IClass(??) metasip.interfaces.project.i_class_callable.IClassCallable(??) metasip.interfaces.project.i_class_callable.Instance(??) metasip.interfaces.project.i_code(??) metasip.interfaces.project.i_code.IAnnos(??) metasip.interfaces.project.i_code.ICode(??) metasip.interfaces.project.i_code.ITagged(??) metasip.interfaces.project.i_code.IWorkflow(??) metasip.interfaces.project.i_code.Instance(??) metasip.interfaces.project.i_code_container(??) metasip.interfaces.project.i_code_container.ICodeContainer(??) metasip.interfaces.project.i_code_container.Interface(??) metasip.interfaces.project.i_code_container.List(??) metasip.interfaces.project.i_constructor(??) metasip.interfaces.project.i_constructor.Bool(??) metasip.interfaces.project.i_constructor.IAccess(??) metasip.interfaces.project.i_constructor.IClassCallable(??) metasip.interfaces.project.i_constructor.IConstructor(??) metasip.interfaces.project.i_constructor.IDocString(??) metasip.interfaces.project.i_destructor(??) metasip.interfaces.project.i_destructor.Bool(??) metasip.interfaces.project.i_destructor.IAccess(??) metasip.interfaces.project.i_destructor.IClass(??) metasip.interfaces.project.i_destructor.ICode(??) metasip.interfaces.project.i_destructor.IDestructor(??) metasip.interfaces.project.i_destructor.Instance(??) metasip.interfaces.project.i_destructor.Str(??) metasip.interfaces.project.i_doc_string(??) metasip.interfaces.project.i_doc_string.IDocString(??) metasip.interfaces.project.i_doc_string.Interface(??) metasip.interfaces.project.i_doc_string.Str(??) metasip.interfaces.project.i_enum(??) metasip.interfaces.project.i_enum.Bool(??) metasip.interfaces.project.i_enum.IAccess(??) metasip.interfaces.project.i_enum.ICode(??) metasip.interfaces.project.i_enum.IEnum(??) metasip.interfaces.project.i_enum.IEnumValue(??) metasip.interfaces.project.i_enum.List(??) metasip.interfaces.project.i_enum.Str(??) metasip.interfaces.project.i_enum_value(??) metasip.interfaces.project.i_enum_value.IAnnos(??) metasip.interfaces.project.i_enum_value.IEnumValue(??) metasip.interfaces.project.i_enum_value.ITagged(??) metasip.interfaces.project.i_enum_value.IWorkflow(??) metasip.interfaces.project.i_enum_value.Str(??) metasip.interfaces.project.i_extended_access(??) metasip.interfaces.project.i_extended_access.Enum(??) metasip.interfaces.project.i_extended_access.IAccess(??) metasip.interfaces.project.i_extended_access.IExtendedAccess(??) metasip.interfaces.project.i_function(??) metasip.interfaces.project.i_function.ICallable(??) metasip.interfaces.project.i_function.IDocString(??) metasip.interfaces.project.i_function.IFunction(??) metasip.interfaces.project.i_header_directory(??) metasip.interfaces.project.i_header_directory.IHeaderDirectory(??) metasip.interfaces.project.i_header_directory.IHeaderFile(??) metasip.interfaces.project.i_header_directory.Interface(??) metasip.interfaces.project.i_header_directory.List(??) metasip.interfaces.project.i_header_directory.Str(??) metasip.interfaces.project.i_header_file(??) metasip.interfaces.project.i_header_file.Bool(??) metasip.interfaces.project.i_header_file.IHeaderFile(??) metasip.interfaces.project.i_header_file.IHeaderFileVersion(??) metasip.interfaces.project.i_header_file.Interface(??) metasip.interfaces.project.i_header_file.List(??) metasip.interfaces.project.i_header_file.Str(??) metasip.interfaces.project.i_header_file_version(??) metasip.interfaces.project.i_header_file_version.Bool(??) metasip.interfaces.project.i_header_file_version.IHeaderFileVersion(??) metasip.interfaces.project.i_header_file_version.Interface(??) metasip.interfaces.project.i_header_file_version.Str(??) metasip.interfaces.project.i_manual_code(??) metasip.interfaces.project.i_manual_code.ICode(??) metasip.interfaces.project.i_manual_code.IDocString(??) metasip.interfaces.project.i_manual_code.IExtendedAccess(??) metasip.interfaces.project.i_manual_code.IManualCode(??) metasip.interfaces.project.i_manual_code.Str(??) metasip.interfaces.project.i_method(??) metasip.interfaces.project.i_method.Bool(??) metasip.interfaces.project.i_method.IClassCallable(??) metasip.interfaces.project.i_method.IDocString(??) metasip.interfaces.project.i_method.IExtendedAccess(??) metasip.interfaces.project.i_method.IMethod(??) metasip.interfaces.project.i_method.Str(??) metasip.interfaces.project.i_module(??) metasip.interfaces.project.i_module.Bool(??) metasip.interfaces.project.i_module.Enum(??) metasip.interfaces.project.i_module.IModule(??) metasip.interfaces.project.i_module.ISipFile(??) metasip.interfaces.project.i_module.Interface(??) metasip.interfaces.project.i_module.List(??) metasip.interfaces.project.i_module.Str(??) metasip.interfaces.project.i_namespace(??) metasip.interfaces.project.i_namespace.ICode(??) metasip.interfaces.project.i_namespace.ICodeContainer(??) metasip.interfaces.project.i_namespace.INamespace(??) metasip.interfaces.project.i_namespace.Str(??) metasip.interfaces.project.i_opaque_class(??) metasip.interfaces.project.i_opaque_class.IAccess(??) metasip.interfaces.project.i_opaque_class.ICode(??) metasip.interfaces.project.i_opaque_class.IOpaqueClass(??) metasip.interfaces.project.i_opaque_class.Str(??) metasip.interfaces.project.i_operator_cast(??) metasip.interfaces.project.i_operator_cast.Bool(??) metasip.interfaces.project.i_operator_cast.IAccess(??) metasip.interfaces.project.i_operator_cast.IClassCallable(??) metasip.interfaces.project.i_operator_cast.IOperatorCast(??) metasip.interfaces.project.i_operator_function(??) metasip.interfaces.project.i_operator_function.ICallable(??) metasip.interfaces.project.i_operator_function.IOperatorFunction(??) metasip.interfaces.project.i_operator_method(??) metasip.interfaces.project.i_operator_method.Bool(??) metasip.interfaces.project.i_operator_method.IAccess(??) metasip.interfaces.project.i_operator_method.IClassCallable(??) metasip.interfaces.project.i_operator_method.IOperatorMethod(??) metasip.interfaces.project.i_operator_method.Str(??) metasip.interfaces.project.i_project(??) metasip.interfaces.project.i_project.IHeaderDirectory(??) metasip.interfaces.project.i_project.IModule(??) metasip.interfaces.project.i_project.IProject(??) metasip.interfaces.project.i_project.Instance(??) metasip.interfaces.project.i_project.Int(??) metasip.interfaces.project.i_project.Interface(??) metasip.interfaces.project.i_project.List(??) metasip.interfaces.project.i_project.ProjectVersion metasip.interfaces.project.i_project.Str(??) metasip.interfaces.project.i_sip_file(??) metasip.interfaces.project.i_sip_file.ICodeContainer(??) metasip.interfaces.project.i_sip_file.ISipFile(??) metasip.interfaces.project.i_sip_file.Str(??) metasip.interfaces.project.i_tagged(??) metasip.interfaces.project.i_tagged.ITagged(??) metasip.interfaces.project.i_tagged.IVersionRange(??) metasip.interfaces.project.i_tagged.Interface(??) metasip.interfaces.project.i_tagged.List(??) metasip.interfaces.project.i_tagged.Str(??) metasip.interfaces.project.i_typedef(??) metasip.interfaces.project.i_typedef.ICode(??) metasip.interfaces.project.i_typedef.ITypedef(??) metasip.interfaces.project.i_typedef.Str(??) metasip.interfaces.project.i_variable(??) metasip.interfaces.project.i_variable.Bool(??) metasip.interfaces.project.i_variable.IAccess(??) metasip.interfaces.project.i_variable.ICode(??) metasip.interfaces.project.i_variable.IVariable(??) metasip.interfaces.project.i_variable.Str(??) metasip.interfaces.project.i_version_range(??) metasip.interfaces.project.i_version_range.IVersionRange(??) metasip.interfaces.project.i_version_range.Interface(??) metasip.interfaces.project.i_version_range.Str(??) metasip.interfaces.project.i_workflow(??) metasip.interfaces.project.i_workflow.Enum(??) metasip.interfaces.project.i_workflow.IWorkflow(??) metasip.interfaces.project.i_workflow.Interface(??) metasip.interfaces.project.project_version(??) metasip.interfaces.project.project_version.ProjectVersion metasip.logger(??) metasip.logger.Logger(??) metasip.logger.Singleton(??) metasip.main.FilesystemStorageFactory(??) metasip.main.IoManager(??) metasip.main.Project(??) metasip.main.ProjectCodec(??) metasip.main.StorageError(??) metasip.main.argparse(??) metasip.main.fatal(??) metasip.main.generate(??) metasip.main.launchGUI(??) metasip.main.load_batch_project(??) metasip.main.msip_main(??) metasip.main.msipgen_main(??) metasip.main.os(??) metasip.main.sys(??) metasip.project_adapters(??) metasip.project_adapters.Adapter(??) metasip.project_adapters.DelegatedTo(??) metasip.project_adapters.IDisplay(??) metasip.project_adapters.IFilterHints(??) metasip.project_adapters.IManagedModel(??) metasip.project_adapters.Module(??) metasip.project_adapters.ModuleIDisplayAdapter(??) metasip.project_adapters.Project(??) metasip.project_adapters.ProjectIFilterHintsAdapter(??) metasip.project_adapters.ProjectIManagedModelAdapter(??) metasip.project_adapters.adapt(??) metasip.project_adapters.observe(??) metasip.project_codec(??) metasip.project_codec.ICodec(??) metasip.project_codec.IProject(??) metasip.project_codec.Model(??) metasip.project_codec.ProjectCodec(??) metasip.project_codec.ProjectParser(??) metasip.project_codec.StorageError(??) metasip.project_codec.implements(??) metasip.project_codec.os(??) metasip.project_codec.tempfile(??) metasip.project_editor_tool(??) metasip.project_editor_tool.BaseManagedModelTool(??) metasip.project_editor_tool.IDisplay(??) metasip.project_editor_tool.IManagedModelTool(??) metasip.project_editor_tool.IProject(??) metasip.project_editor_tool.ProjectEditorTool(??) metasip.project_editor_tool.implements(??) metasip.project_factory(??) metasip.project_factory.IDisplay(??) metasip.project_factory.Model(??) metasip.project_factory.ProjectFactory(??) metasip.project_factory.implements(??) metasip.project_parser(??) metasip.project_parser.Argument(??) metasip.project_parser.Class(??) metasip.project_parser.Constructor(??) metasip.project_parser.Destructor(??) metasip.project_parser.ElementTree(??) metasip.project_parser.Enum(??) metasip.project_parser.EnumValue(??) metasip.project_parser.FormatError(??) metasip.project_parser.Function(??) metasip.project_parser.HeaderDirectory(??) metasip.project_parser.HeaderFile(??) metasip.project_parser.HeaderFileVersion(??) metasip.project_parser.IDirty(??) metasip.project_parser.ManualCode(??) metasip.project_parser.Method(??) metasip.project_parser.Module(??) metasip.project_parser.Namespace(??) metasip.project_parser.OpaqueClass(??) metasip.project_parser.OperatorCast(??) metasip.project_parser.OperatorFunction(??) metasip.project_parser.OperatorMethod(??) metasip.project_parser.Project(??) metasip.project_parser.ProjectParser(??) metasip.project_parser.ProjectVersion metasip.project_parser.QApplication(List[str]) metasip.project_parser.QProgressDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.project_parser.SipFile(??) metasip.project_parser.Typedef(??) metasip.project_parser.UpdateManager(??) metasip.project_parser.Variable(??) metasip.project_parser.VersionRange(??) metasip.schemas.ProjectV10Schema(??) metasip.schemas.ProjectV11Schema(??) metasip.schemas.ProjectV12Schema(??) metasip.schemas.ProjectV13Schema(??) metasip.schemas.ProjectV14Schema(??) metasip.schemas.ProjectV1Schema(??) metasip.schemas.ProjectV2Schema(??) metasip.schemas.ProjectV3Schema(??) metasip.schemas.ProjectV4Schema(??) metasip.schemas.ProjectV5Schema(??) metasip.schemas.ProjectV6Schema(??) metasip.schemas.ProjectV7Schema(??) metasip.schemas.ProjectV8Schema(??) metasip.schemas.ProjectV9Schema(??) metasip.schemas.project_v10_schema(??) metasip.schemas.project_v10_schema.IDisplay(??) metasip.schemas.project_v10_schema.IFilterHints(??) metasip.schemas.project_v10_schema.ISchema(??) metasip.schemas.project_v10_schema.Model(??) metasip.schemas.project_v10_schema.ProjectV10Schema(??) metasip.schemas.project_v10_schema.implements(??) metasip.schemas.project_v11_schema(??) metasip.schemas.project_v11_schema.IDisplay(??) metasip.schemas.project_v11_schema.IFilterHints(??) metasip.schemas.project_v11_schema.ISchema(??) metasip.schemas.project_v11_schema.Model(??) metasip.schemas.project_v11_schema.ProjectV11Schema(??) metasip.schemas.project_v11_schema.implements(??) metasip.schemas.project_v12_schema(??) metasip.schemas.project_v12_schema.IDisplay(??) metasip.schemas.project_v12_schema.IFilterHints(??) metasip.schemas.project_v12_schema.ISchema(??) metasip.schemas.project_v12_schema.Model(??) metasip.schemas.project_v12_schema.ProjectV12Schema(??) metasip.schemas.project_v12_schema.implements(??) metasip.schemas.project_v13_schema(??) metasip.schemas.project_v13_schema.IDisplay(??) metasip.schemas.project_v13_schema.IFilterHints(??) metasip.schemas.project_v13_schema.ISchema(??) metasip.schemas.project_v13_schema.Model(??) metasip.schemas.project_v13_schema.ProjectV13Schema(??) metasip.schemas.project_v13_schema.implements(??) metasip.schemas.project_v14_schema(??) metasip.schemas.project_v14_schema.IDisplay(??) metasip.schemas.project_v14_schema.IFilterHints(??) metasip.schemas.project_v14_schema.ISchema(??) metasip.schemas.project_v14_schema.Model(??) metasip.schemas.project_v14_schema.ProjectV14Schema(??) metasip.schemas.project_v14_schema.implements(??) metasip.schemas.project_v1_schema(??) metasip.schemas.project_v1_schema.IDisplay(??) metasip.schemas.project_v1_schema.IFilterHints(??) metasip.schemas.project_v1_schema.ISchema(??) metasip.schemas.project_v1_schema.Model(??) metasip.schemas.project_v1_schema.ProjectV1Schema(??) metasip.schemas.project_v1_schema.implements(??) metasip.schemas.project_v2_schema(??) metasip.schemas.project_v2_schema.IDisplay(??) metasip.schemas.project_v2_schema.IFilterHints(??) metasip.schemas.project_v2_schema.ISchema(??) metasip.schemas.project_v2_schema.Model(??) metasip.schemas.project_v2_schema.ProjectV2Schema(??) metasip.schemas.project_v2_schema.implements(??) metasip.schemas.project_v3_schema(??) metasip.schemas.project_v3_schema.IDisplay(??) metasip.schemas.project_v3_schema.IFilterHints(??) metasip.schemas.project_v3_schema.ISchema(??) metasip.schemas.project_v3_schema.Model(??) metasip.schemas.project_v3_schema.ProjectV3Schema(??) metasip.schemas.project_v3_schema.implements(??) metasip.schemas.project_v4_schema(??) metasip.schemas.project_v4_schema.IDisplay(??) metasip.schemas.project_v4_schema.IFilterHints(??) metasip.schemas.project_v4_schema.ISchema(??) metasip.schemas.project_v4_schema.Model(??) metasip.schemas.project_v4_schema.ProjectV4Schema(??) metasip.schemas.project_v4_schema.implements(??) metasip.schemas.project_v5_schema(??) metasip.schemas.project_v5_schema.IDisplay(??) metasip.schemas.project_v5_schema.IFilterHints(??) metasip.schemas.project_v5_schema.ISchema(??) metasip.schemas.project_v5_schema.Model(??) metasip.schemas.project_v5_schema.ProjectV5Schema(??) metasip.schemas.project_v5_schema.implements(??) metasip.schemas.project_v6_schema(??) metasip.schemas.project_v6_schema.IDisplay(??) metasip.schemas.project_v6_schema.IFilterHints(??) metasip.schemas.project_v6_schema.ISchema(??) metasip.schemas.project_v6_schema.Model(??) metasip.schemas.project_v6_schema.ProjectV6Schema(??) metasip.schemas.project_v6_schema.implements(??) metasip.schemas.project_v7_schema(??) metasip.schemas.project_v7_schema.IDisplay(??) metasip.schemas.project_v7_schema.IFilterHints(??) metasip.schemas.project_v7_schema.ISchema(??) metasip.schemas.project_v7_schema.Model(??) metasip.schemas.project_v7_schema.ProjectV7Schema(??) metasip.schemas.project_v7_schema.implements(??) metasip.schemas.project_v8_schema(??) metasip.schemas.project_v8_schema.IDisplay(??) metasip.schemas.project_v8_schema.IFilterHints(??) metasip.schemas.project_v8_schema.ISchema(??) metasip.schemas.project_v8_schema.Model(??) metasip.schemas.project_v8_schema.ProjectV8Schema(??) metasip.schemas.project_v8_schema.implements(??) metasip.schemas.project_v9_schema(??) metasip.schemas.project_v9_schema.IDisplay(??) metasip.schemas.project_v9_schema.IFilterHints(??) metasip.schemas.project_v9_schema.ISchema(??) metasip.schemas.project_v9_schema.Model(??) metasip.schemas.project_v9_schema.ProjectV9Schema(??) metasip.schemas.project_v9_schema.implements(??) metasip.stdout_logger(??) metasip.stdout_logger.StdoutLogger(??) metasip.stdout_logger.sys(??) metasip.tools(??) metasip.tools.features(??) metasip.tools.features.FeaturesTool(??) metasip.tools.features.features_tool(??) metasip.tools.features.features_tool.Action(??) metasip.tools.features.features_tool.ActionCollection(??) metasip.tools.features.features_tool.CheckBox(??) metasip.tools.features.features_tool.ComboBox(??) metasip.tools.features.features_tool.Dialog(??) metasip.tools.features.features_tool.DialogController(??) metasip.tools.features.features_tool.FeatureController(??) metasip.tools.features.features_tool.FeaturesTool(??) metasip.tools.features.features_tool.Form(??) metasip.tools.features.features_tool.IAction(??) metasip.tools.features.features_tool.IDialog(??) metasip.tools.features.features_tool.IDirty(??) metasip.tools.features.features_tool.IProject(??) metasip.tools.features.features_tool.ISubscriber(??) metasip.tools.features.features_tool.ITagged_items(??) metasip.tools.features.features_tool.ITool(??) metasip.tools.features.features_tool.LineEditor(??) metasip.tools.features.features_tool.MessageArea(??) metasip.tools.features.features_tool.Model(??) metasip.tools.features.features_tool.VBox(??) metasip.tools.features.features_tool.implements(??) metasip.tools.features.features_tool.observe(??) metasip.tools.features.features_tool.validate_identifier(??) metasip.tools.import_project(??) metasip.tools.import_project.ImportProjectTool(??) metasip.tools.import_project.import_project_tool(??) metasip.tools.import_project.import_project_tool.Action(??) metasip.tools.import_project.import_project_tool.Application(??) metasip.tools.import_project.import_project_tool.Dialog(??) metasip.tools.import_project.import_project_tool.IDialog(??) metasip.tools.import_project.import_project_tool.IDirty(??) metasip.tools.import_project.import_project_tool.IFilterHints(??) metasip.tools.import_project.import_project_tool.IHeaderDirectory(??) metasip.tools.import_project.import_project_tool.IModule(??) metasip.tools.import_project.import_project_tool.IProject(??) metasip.tools.import_project.import_project_tool.ISubscriber(??) metasip.tools.import_project.import_project_tool.ITool(??) metasip.tools.import_project.import_project_tool.ImportProjectTool(??) metasip.tools.import_project.import_project_tool.IoManager(??) metasip.tools.import_project.import_project_tool.Model(??) metasip.tools.import_project.import_project_tool.StorageLocationEditor(??) metasip.tools.import_project.import_project_tool.implements(??) metasip.tools.import_project.import_project_tool.os(??) metasip.tools.logger(??) metasip.tools.logger.LoggerTool(??) metasip.tools.logger.logger_tool(??) metasip.tools.logger.logger_tool.Logger(??) metasip.tools.logger.logger_tool.LoggerTool(??) metasip.tools.logger.logger_tool.QAbstractSlider(parent: QWidget = None) metasip.tools.logger.logger_tool.QApplication(List[str]) metasip.tools.logger.logger_tool.QPlainTextEdit(parent: QWidget = None) metasip.tools.logger.logger_tool.SimpleViewTool(??) metasip.tools.logger.logger_tool.unadapted(??) metasip.tools.modules.ModulesTool(??) metasip.tools.modules.modules_tool(??) metasip.tools.modules.modules_tool.Action(??) metasip.tools.modules.modules_tool.ActionCollection(??) metasip.tools.modules.modules_tool.CheckBox(??) metasip.tools.modules.modules_tool.ComboBox(??) metasip.tools.modules.modules_tool.Dialog(??) metasip.tools.modules.modules_tool.DialogController(??) metasip.tools.modules.modules_tool.Form(??) metasip.tools.modules.modules_tool.IAction(??) metasip.tools.modules.modules_tool.IDialog(??) metasip.tools.modules.modules_tool.IDirty(??) metasip.tools.modules.modules_tool.IProject(??) metasip.tools.modules.modules_tool.ISubscriber(??) metasip.tools.modules.modules_tool.ITool(??) metasip.tools.modules.modules_tool.LineEditor(??) metasip.tools.modules.modules_tool.MessageArea(??) metasip.tools.modules.modules_tool.Model(??) metasip.tools.modules.modules_tool.Module(??) metasip.tools.modules.modules_tool.ModuleController(??) metasip.tools.modules.modules_tool.ModulesTool(??) metasip.tools.modules.modules_tool.VBox(??) metasip.tools.modules.modules_tool.implements(??) metasip.tools.modules.modules_tool.observe(??) metasip.tools.modules.modules_tool.validate_identifier(??) metasip.tools.platforms(??) metasip.tools.platforms.PlatformsTool(??) metasip.tools.platforms.platforms_tool(??) metasip.tools.platforms.platforms_tool.Action(??) metasip.tools.platforms.platforms_tool.ActionCollection(??) metasip.tools.platforms.platforms_tool.CheckBox(??) metasip.tools.platforms.platforms_tool.ComboBox(??) metasip.tools.platforms.platforms_tool.Dialog(??) metasip.tools.platforms.platforms_tool.DialogController(??) metasip.tools.platforms.platforms_tool.Form(??) metasip.tools.platforms.platforms_tool.IAction(??) metasip.tools.platforms.platforms_tool.IDialog(??) metasip.tools.platforms.platforms_tool.IDirty(??) metasip.tools.platforms.platforms_tool.IProject(??) metasip.tools.platforms.platforms_tool.ISubscriber(??) metasip.tools.platforms.platforms_tool.ITagged_items(??) metasip.tools.platforms.platforms_tool.ITool(??) metasip.tools.platforms.platforms_tool.LineEditor(??) metasip.tools.platforms.platforms_tool.MessageArea(??) metasip.tools.platforms.platforms_tool.Model(??) metasip.tools.platforms.platforms_tool.PlatformController(??) metasip.tools.platforms.platforms_tool.PlatformsTool(??) metasip.tools.platforms.platforms_tool.VBox(??) metasip.tools.platforms.platforms_tool.implements(??) metasip.tools.platforms.platforms_tool.observe(??) metasip.tools.platforms.platforms_tool.validate_identifier(??) metasip.tools.scanner.ScannerTool(??) metasip.tools.scanner.module_validator.IValidator(??) metasip.tools.scanner.module_validator.Model(??) metasip.tools.scanner.module_validator.ModuleValidator(??) metasip.tools.scanner.module_validator.implements(??) metasip.tools.scanner.scanner_controller.Application(??) metasip.tools.scanner.scanner_controller.Controller(??) metasip.tools.scanner.scanner_controller.HeaderDirectory(??) metasip.tools.scanner.scanner_controller.HeaderFile(??) metasip.tools.scanner.scanner_controller.HeaderFileVersion(??) metasip.tools.scanner.scanner_controller.ICodeContainer(??) metasip.tools.scanner.scanner_controller.IDirty(??) metasip.tools.scanner.scanner_controller.IEnum(??) metasip.tools.scanner.scanner_controller.IHeaderDirectory(??) metasip.tools.scanner.scanner_controller.IHeaderFile(??) metasip.tools.scanner.scanner_controller.IProject(??) metasip.tools.scanner.scanner_controller.Instance(??) metasip.tools.scanner.scanner_controller.List(??) metasip.tools.scanner.scanner_controller.Logger(??) metasip.tools.scanner.scanner_controller.ManualCode(??) metasip.tools.scanner.scanner_controller.Project(??) metasip.tools.scanner.scanner_controller.QInputDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) metasip.tools.scanner.scanner_controller.ScannerController(??) metasip.tools.scanner.scanner_controller.ScannerView(??) metasip.tools.scanner.scanner_controller.SipFile(??) metasip.tools.scanner.scanner_controller.VersionRange(??) metasip.tools.scanner.scanner_controller.glob(??) metasip.tools.scanner.scanner_controller.hashlib(??) metasip.tools.scanner.scanner_controller.observe(??) metasip.tools.scanner.scanner_controller.os(??) metasip.tools.scanner.scanner_controller.unadapted(??) metasip.tools.scanner.scanner_model.Bool(??) metasip.tools.scanner.scanner_model.Instance(??) metasip.tools.scanner.scanner_model.Model(??) metasip.tools.scanner.scanner_model.ScannerModel(??) metasip.tools.scanner.scanner_model.Str(??) metasip.tools.scanner.scanner_tool(??) metasip.tools.scanner.scanner_tool.IProject(??) metasip.tools.scanner.scanner_tool.ISubscriber(??) metasip.tools.scanner.scanner_tool.ScannerTool(??) metasip.tools.scanner.scanner_tool.SimpleViewTool(??) metasip.tools.scanner.scanner_tool.implements(??) metasip.tools.scanner.scanner_tool.observe(??) metasip.tools.scanner.scanner_view(??) metasip.tools.scanner.scanner_view.HeaderDirectoryItem(??) metasip.tools.scanner.scanner_view.HeaderFileItem(??) metasip.tools.scanner.scanner_view.ProjectItem(??) metasip.tools.scanner.scanner_view.QTreeWidget(parent: QWidget = None) metasip.tools.scanner.scanner_view.QTreeWidgetItem(type: int = QTreeWidgetItem.Type) metasip.tools.scanner.scanner_view.Qt(??) metasip.tools.scanner.scanner_view.ScannerItem(??) metasip.tools.scanner.scanner_view.ScannerView(??) metasip.tools.scanner.scanner_view.observe(??) metasip.tools.schema_validator.SchemaValidatorTool(??) metasip.tools.schema_validator.schema_validator(??) metasip.tools.schema_validator.schema_validator.Instance(??) metasip.tools.schema_validator.schema_validator.Model(??) metasip.tools.schema_validator.schema_validator.QAbstractMessageHandler(parent: QObject = None) metasip.tools.schema_validator.schema_validator.QFile() metasip.tools.schema_validator.schema_validator.QIODevice() metasip.tools.schema_validator.schema_validator.QSourceLocation() metasip.tools.schema_validator.schema_validator.QUrl() metasip.tools.schema_validator.schema_validator.QXmlSchema() metasip.tools.schema_validator.schema_validator.QXmlSchemaValidator() metasip.tools.schema_validator.schema_validator.SchemaValidationException(??) metasip.tools.schema_validator.schema_validator.SchemaValidator(??) metasip.tools.schema_validator.schema_validator.Str(??) metasip.tools.schema_validator.schema_validator_tool(??) metasip.tools.schema_validator.schema_validator_tool.Action(??) metasip.tools.schema_validator.schema_validator_tool.Application(??) metasip.tools.schema_validator.schema_validator_tool.Dialog(??) metasip.tools.schema_validator.schema_validator_tool.DialogController(??) metasip.tools.schema_validator.schema_validator_tool.IAction(??) metasip.tools.schema_validator.schema_validator_tool.IDialog(??) metasip.tools.schema_validator.schema_validator_tool.IEditor(??) metasip.tools.schema_validator.schema_validator_tool.IFilterHints(??) metasip.tools.schema_validator.schema_validator_tool.ISchema(??) metasip.tools.schema_validator.schema_validator_tool.IStorageLocationEditor(??) metasip.tools.schema_validator.schema_validator_tool.ITool(??) metasip.tools.schema_validator.schema_validator_tool.Label(??) metasip.tools.schema_validator.schema_validator_tool.List(??) metasip.tools.schema_validator.schema_validator_tool.Model(??) metasip.tools.schema_validator.schema_validator_tool.OptionList(??) metasip.tools.schema_validator.schema_validator_tool.SchemaValidatorTool(??) metasip.tools.schema_validator.schema_validator_tool.StorageLocationEditor(??) metasip.tools.schema_validator.schema_validator_tool.Str(??) metasip.tools.schema_validator.schema_validator_tool.VBox(??) metasip.tools.schema_validator.schema_validator_tool.implements(??) metasip.tools.schema_validator.schema_validator_tool.os(??) metasip.tools.schema_validator.schema_validator_tool.sys(??) metasip.tools.versions(??) metasip.tools.versions.VersionsTool(??) metasip.tools.versions.versions_tool(??) metasip.tools.versions.versions_tool.Action(??) metasip.tools.versions.versions_tool.ActionCollection(??) metasip.tools.versions.versions_tool.Application(??) metasip.tools.versions.versions_tool.CheckBox(??) metasip.tools.versions.versions_tool.ComboBox(??) metasip.tools.versions.versions_tool.Dialog(??) metasip.tools.versions.versions_tool.DialogController(??) metasip.tools.versions.versions_tool.HeaderFileVersion(??) metasip.tools.versions.versions_tool.IAction(??) metasip.tools.versions.versions_tool.IDialog(??) metasip.tools.versions.versions_tool.IDirty(??) metasip.tools.versions.versions_tool.IProject(??) metasip.tools.versions.versions_tool.ISubscriber(??) metasip.tools.versions.versions_tool.ITagged_items(??) metasip.tools.versions.versions_tool.ITool(??) metasip.tools.versions.versions_tool.LineEditor(??) metasip.tools.versions.versions_tool.MessageArea(??) metasip.tools.versions.versions_tool.Model(??) metasip.tools.versions.versions_tool.VersionController(??) metasip.tools.versions.versions_tool.VersionsTool(??) metasip.tools.versions.versions_tool.implements(??) metasip.tools.versions.versions_tool.observe(??) metasip.tools.versions.versions_tool.validate_identifier(??) metasip.update_manager(??) metasip.update_manager.Singleton(??) metasip.update_manager.UpdateManager(??) metasip.updates.ProjectV10Update(??) metasip.updates.ProjectV11Update(??) metasip.updates.ProjectV12Update(??) metasip.updates.ProjectV13Update(??) metasip.updates.ProjectV14Update(??) metasip.updates.ProjectV2Update(??) metasip.updates.ProjectV3Update(??) metasip.updates.ProjectV4Update(??) metasip.updates.ProjectV5Update(??) metasip.updates.ProjectV6Update(??) metasip.updates.ProjectV7Update(??) metasip.updates.ProjectV8Update(??) metasip.updates.ProjectV9Update(??) metasip.updates.project_v10_update(??) metasip.updates.project_v10_update.IUpdate(??) metasip.updates.project_v10_update.Model(??) metasip.updates.project_v10_update.ProjectV10Update(??) metasip.updates.project_v10_update.implements(??) metasip.updates.project_v11_update(??) metasip.updates.project_v11_update.IUpdate(??) metasip.updates.project_v11_update.Model(??) metasip.updates.project_v11_update.ProjectV11Update(??) metasip.updates.project_v11_update.implements(??) metasip.updates.project_v12_update(??) metasip.updates.project_v12_update.IUpdate(??) metasip.updates.project_v12_update.Model(??) metasip.updates.project_v12_update.ProjectV12Update(??) metasip.updates.project_v12_update.implements(??) metasip.updates.project_v13_update(??) metasip.updates.project_v13_update.IUpdate(??) metasip.updates.project_v13_update.Model(??) metasip.updates.project_v13_update.ProjectV13Update(??) metasip.updates.project_v13_update.implements(??) metasip.updates.project_v14_update(??) metasip.updates.project_v14_update.IUpdate(??) metasip.updates.project_v14_update.Model(??) metasip.updates.project_v14_update.ProjectV14Update(??) metasip.updates.project_v14_update.implements(??) metasip.updates.project_v2_update(??) metasip.updates.project_v2_update.ElementTree(??) metasip.updates.project_v2_update.IUpdate(??) metasip.updates.project_v2_update.Model(??) metasip.updates.project_v2_update.ProjectV2Update(??) metasip.updates.project_v2_update.QComboBox(parent: QWidget = None) metasip.updates.project_v2_update.implements(??) metasip.updates.project_v3_update(??) metasip.updates.project_v3_update.IUpdate(??) metasip.updates.project_v3_update.Model(??) metasip.updates.project_v3_update.ProjectV3Update(??) metasip.updates.project_v3_update.implements(??) metasip.updates.project_v4_update(??) metasip.updates.project_v4_update.IUpdate(??) metasip.updates.project_v4_update.Model(??) metasip.updates.project_v4_update.ProjectV4Update(??) metasip.updates.project_v4_update.implements(??) metasip.updates.project_v5_update(??) metasip.updates.project_v5_update.IUpdate(??) metasip.updates.project_v5_update.Model(??) metasip.updates.project_v5_update.ProjectV5Update(??) metasip.updates.project_v5_update.implements(??) metasip.updates.project_v6_update(??) metasip.updates.project_v6_update.IUpdate(??) metasip.updates.project_v6_update.Model(??) metasip.updates.project_v6_update.ProjectV6Update(??) metasip.updates.project_v6_update.implements(??) metasip.updates.project_v7_update(??) metasip.updates.project_v7_update.IUpdate(??) metasip.updates.project_v7_update.Model(??) metasip.updates.project_v7_update.ProjectV7Update(??) metasip.updates.project_v7_update.implements(??) metasip.updates.project_v8_update(??) metasip.updates.project_v8_update.IUpdate(??) metasip.updates.project_v8_update.Model(??) metasip.updates.project_v8_update.ProjectV8Update(??) metasip.updates.project_v8_update.implements(??) metasip.updates.project_v9_update(??) metasip.updates.project_v9_update.IUpdate(??) metasip.updates.project_v9_update.Model(??) metasip.updates.project_v9_update.ProjectV9Update(??) metasip.updates.project_v9_update.implements(??) metasip.utils(??) metasip.utils.project(??) metasip.utils.project.ICodeContainer(??) metasip.utils.project.IEnum(??) metasip.utils.project.ITagged_items(??) metasip.utils.project.re(??) metasip.utils.project.validate_identifier(??) metasip.version(??) metasip.version.METASIP_HEXVERSION metasip.version.METASIP_RELEASE mimetypes.MimeTypes(??) mimetypes.add_type(??) mimetypes.common_types(??) mimetypes.encodings_map(??) mimetypes.guess_all_extensions(??) mimetypes.guess_extension(??) mimetypes.guess_type(??) mimetypes.init(??) mimetypes.inited(??) mimetypes.knownfiles(??) mimetypes.os(??) mimetypes.posixpath(??) mimetypes.read_mime_types(??) mimetypes.suffix_map(??) mimetypes.sys(??) mimetypes.types_map(??) mimetypes.urllib(??) min(iterable, *[, default=obj, key=func]) -> value modulefinder.AddPackagePath(??) modulefinder.EXTENDED_ARG modulefinder.IMPORT_NAME modulefinder.LOAD_CONST modulefinder.Module(??) modulefinder.ModuleFinder(??) modulefinder.ReplacePackage(??) modulefinder.STORE_GLOBAL modulefinder.STORE_NAME modulefinder.STORE_OPS(??) modulefinder.dis(??) modulefinder.importlib(??) modulefinder.io(??) modulefinder.marshal(??) modulefinder.os(??) modulefinder.packagePathMap(??) modulefinder.replacePackageMap(??) modulefinder.sys(??) modulefinder.test(??) multiprocessing.Array(??) multiprocessing.AuthenticationError(??) multiprocessing.Barrier(??) multiprocessing.BoundedSemaphore(??) multiprocessing.BufferTooShort(??) multiprocessing.Condition(??) multiprocessing.Event(??) multiprocessing.JoinableQueue(??) multiprocessing.Lock(??) multiprocessing.Manager(??) multiprocessing.Pipe(??) multiprocessing.Pool(??) multiprocessing.Process(??) multiprocessing.ProcessError(??) multiprocessing.Queue(??) multiprocessing.RLock(??) multiprocessing.RawArray(??) multiprocessing.RawValue(??) multiprocessing.SUBDEBUG multiprocessing.SUBWARNING multiprocessing.Semaphore(??) multiprocessing.SimpleQueue(??) multiprocessing.TimeoutError(??) multiprocessing.Value(??) multiprocessing.active_children(??) multiprocessing.allow_connection_pickling(??) multiprocessing.connection(??) multiprocessing.connection.AuthenticationError(??) multiprocessing.connection.BUFSIZE multiprocessing.connection.BufferTooShort(??) multiprocessing.connection.CHALLENGE multiprocessing.connection.CONNECTION_TIMEOUT multiprocessing.connection.Client(??) multiprocessing.connection.Connection(??) multiprocessing.connection.ConnectionWrapper(??) multiprocessing.connection.FAILURE multiprocessing.connection.Listener(??) multiprocessing.connection.MESSAGE_LENGTH multiprocessing.connection.Pipe(??) multiprocessing.connection.SocketClient(??) multiprocessing.connection.SocketListener(??) multiprocessing.connection.WELCOME multiprocessing.connection.XmlClient(??) multiprocessing.connection.XmlListener(??) multiprocessing.connection.address_type(??) multiprocessing.connection.answer_challenge(??) multiprocessing.connection.arbitrary_address(??) multiprocessing.connection.default_family multiprocessing.connection.deliver_challenge(??) multiprocessing.connection.families(??) multiprocessing.connection.io(??) multiprocessing.connection.itertools(??) multiprocessing.connection.os(??) multiprocessing.connection.rebuild_connection(??) multiprocessing.connection.reduce_connection(??) multiprocessing.connection.reduction(??) multiprocessing.connection.selectors(??) multiprocessing.connection.socket(??) multiprocessing.connection.struct(??) multiprocessing.connection.sys(??) multiprocessing.connection.tempfile(??) multiprocessing.connection.time(??) multiprocessing.connection.util(??) multiprocessing.connection.wait(??) multiprocessing.context(??) multiprocessing.context.AuthenticationError(??) multiprocessing.context.BaseContext(??) multiprocessing.context.BufferTooShort(??) multiprocessing.context.DefaultContext(??) multiprocessing.context.ForkContext(??) multiprocessing.context.ForkProcess(??) multiprocessing.context.ForkServerContext(??) multiprocessing.context.ForkServerProcess(??) multiprocessing.context.Process(??) multiprocessing.context.ProcessError(??) multiprocessing.context.SpawnContext(??) multiprocessing.context.SpawnProcess(??) multiprocessing.context.TimeoutError(??) multiprocessing.context.assert_spawning(??) multiprocessing.context.get_spawning_popen(??) multiprocessing.context.os(??) multiprocessing.context.process(??) multiprocessing.context.reduction(??) multiprocessing.context.set_spawning_popen(??) multiprocessing.context.sys(??) multiprocessing.context.threading(??) multiprocessing.cpu_count(??) multiprocessing.current_process(??) multiprocessing.dummy(??) multiprocessing.dummy.Array(??) multiprocessing.dummy.Barrier(??) multiprocessing.dummy.BoundedSemaphore(??) multiprocessing.dummy.Condition(??) multiprocessing.dummy.DummyProcess(??) multiprocessing.dummy.Event(??) multiprocessing.dummy.JoinableQueue(??) multiprocessing.dummy.Lock(??) multiprocessing.dummy.Manager(??) multiprocessing.dummy.Namespace(??) multiprocessing.dummy.Pipe(??) multiprocessing.dummy.Pool(??) multiprocessing.dummy.Process(??) multiprocessing.dummy.Queue(??) multiprocessing.dummy.RLock(??) multiprocessing.dummy.Semaphore(??) multiprocessing.dummy.Value(??) multiprocessing.dummy.active_children(??) multiprocessing.dummy.array(??) multiprocessing.dummy.connection(??) multiprocessing.dummy.connection.Client(??) multiprocessing.dummy.connection.Connection(??) multiprocessing.dummy.connection.Listener(??) multiprocessing.dummy.connection.Pipe(??) multiprocessing.dummy.connection.Queue(??) multiprocessing.dummy.connection.families(??) multiprocessing.dummy.current_process(??) multiprocessing.dummy.dict() -> new empty dictionary multiprocessing.dummy.freeze_support(??) multiprocessing.dummy.list(??) multiprocessing.dummy.shutdown(??) multiprocessing.dummy.sys(??) multiprocessing.dummy.threading(??) multiprocessing.dummy.weakref(??) multiprocessing.forkserver.ForkServer(??) multiprocessing.forkserver.MAXFDS_TO_SEND multiprocessing.forkserver.SIGNED_STRUCT(??) multiprocessing.forkserver.connect_to_new_process(??) multiprocessing.forkserver.connection(??) multiprocessing.forkserver.ensure_running(??) multiprocessing.forkserver.errno(??) multiprocessing.forkserver.get_inherited_fds(??) multiprocessing.forkserver.main(??) multiprocessing.forkserver.os(??) multiprocessing.forkserver.process(??) multiprocessing.forkserver.read_signed(??) multiprocessing.forkserver.reduction(??) multiprocessing.forkserver.resource_tracker(??) multiprocessing.forkserver.selectors(??) multiprocessing.forkserver.set_forkserver_preload(??) multiprocessing.forkserver.signal(??) multiprocessing.forkserver.socket(??) multiprocessing.forkserver.spawn(??) multiprocessing.forkserver.struct(??) multiprocessing.forkserver.sys(??) multiprocessing.forkserver.threading(??) multiprocessing.forkserver.util(??) multiprocessing.forkserver.warnings(??) multiprocessing.forkserver.write_signed(??) multiprocessing.freeze_support(??) multiprocessing.get_all_start_methods(??) multiprocessing.get_context(??) multiprocessing.get_logger(??) multiprocessing.get_start_method(??) multiprocessing.heap(??) multiprocessing.heap.Arena(??) multiprocessing.heap.BufferWrapper(??) multiprocessing.heap.Heap(??) multiprocessing.heap.assert_spawning(??) multiprocessing.heap.bisect(??) multiprocessing.heap.defaultdict(default_factory[, ...]) --> dict with default factory multiprocessing.heap.mmap(??) multiprocessing.heap.os(??) multiprocessing.heap.rebuild_arena(??) multiprocessing.heap.reduce_arena(??) multiprocessing.heap.reduction(??) multiprocessing.heap.sys(??) multiprocessing.heap.tempfile(??) multiprocessing.heap.threading(??) multiprocessing.heap.util(??) multiprocessing.log_to_stderr(??) multiprocessing.managers.AcquirerProxy(??) multiprocessing.managers.Array(??) multiprocessing.managers.ArrayProxy(??) multiprocessing.managers.AutoProxy(??) multiprocessing.managers.BarrierProxy(??) multiprocessing.managers.BaseListProxy(??) multiprocessing.managers.BaseManager(??) multiprocessing.managers.BasePoolProxy(??) multiprocessing.managers.BaseProxy(??) multiprocessing.managers.ConditionProxy(??) multiprocessing.managers.DictProxy(??) multiprocessing.managers.EventProxy(??) multiprocessing.managers.HAS_SHMEM(??) multiprocessing.managers.IteratorProxy(??) multiprocessing.managers.ListProxy(??) multiprocessing.managers.MakeProxyType(??) multiprocessing.managers.Namespace(??) multiprocessing.managers.NamespaceProxy(??) multiprocessing.managers.PoolProxy(??) multiprocessing.managers.ProcessError(??) multiprocessing.managers.ProcessLocalSet(??) multiprocessing.managers.RebuildProxy(??) multiprocessing.managers.RemoteError(??) multiprocessing.managers.Server(??) multiprocessing.managers.SharedMemoryManager(??) multiprocessing.managers.SharedMemoryServer(??) multiprocessing.managers.State(??) multiprocessing.managers.SyncManager(??) multiprocessing.managers.Token(??) multiprocessing.managers.Value(??) multiprocessing.managers.ValueProxy(??) multiprocessing.managers.all_methods(??) multiprocessing.managers.array(??) multiprocessing.managers.connection(??) multiprocessing.managers.convert_to_error(??) multiprocessing.managers.dispatch(??) multiprocessing.managers.format_exc(??) multiprocessing.managers.get_context(??) multiprocessing.managers.get_spawning_popen(??) multiprocessing.managers.getpid(??) multiprocessing.managers.listener_client(??) multiprocessing.managers.os(??) multiprocessing.managers.pool(??) multiprocessing.managers.process(??) multiprocessing.managers.public_methods(??) multiprocessing.managers.queue(??) multiprocessing.managers.rebuild_as_list(??) multiprocessing.managers.reduce_array(??) multiprocessing.managers.reduction(??) multiprocessing.managers.shared_memory(??) multiprocessing.managers.signal(??) multiprocessing.managers.sys(??) multiprocessing.managers.threading(??) multiprocessing.managers.time(??) multiprocessing.managers.types(??) multiprocessing.managers.util(??) multiprocessing.managers.view_type(??) multiprocessing.managers.view_types(??) multiprocessing.parent_process(??) multiprocessing.pool.ApplyResult(??) multiprocessing.pool.AsyncResult(??) multiprocessing.pool.CLOSE multiprocessing.pool.ExceptionWithTraceback(??) multiprocessing.pool.IMapIterator(??) multiprocessing.pool.IMapUnorderedIterator(??) multiprocessing.pool.INIT multiprocessing.pool.MapResult(??) multiprocessing.pool.MaybeEncodingError(??) multiprocessing.pool.Pool(??) multiprocessing.pool.RUN multiprocessing.pool.RemoteTraceback(??) multiprocessing.pool.TERMINATE multiprocessing.pool.ThreadPool(??) multiprocessing.pool.TimeoutError(??) multiprocessing.pool.collections(??) multiprocessing.pool.get_context(??) multiprocessing.pool.itertools(??) multiprocessing.pool.job_counter(??) multiprocessing.pool.mapstar(??) multiprocessing.pool.os(??) multiprocessing.pool.queue(??) multiprocessing.pool.rebuild_exc(??) multiprocessing.pool.starmapstar(??) multiprocessing.pool.threading(??) multiprocessing.pool.time(??) multiprocessing.pool.traceback(??) multiprocessing.pool.types(??) multiprocessing.pool.util(??) multiprocessing.pool.wait(??) multiprocessing.pool.warnings(??) multiprocessing.pool.worker(??) multiprocessing.popen_fork.Popen(??) multiprocessing.popen_fork.os(??) multiprocessing.popen_fork.signal(??) multiprocessing.popen_fork.util(??) multiprocessing.popen_forkserver.Popen(??) multiprocessing.popen_forkserver.forkserver(??) multiprocessing.popen_forkserver.io(??) multiprocessing.popen_forkserver.os(??) multiprocessing.popen_forkserver.popen_fork(??) multiprocessing.popen_forkserver.reduction(??) multiprocessing.popen_forkserver.set_spawning_popen(??) multiprocessing.popen_forkserver.spawn(??) multiprocessing.popen_forkserver.util(??) multiprocessing.popen_spawn_posix.Popen(??) multiprocessing.popen_spawn_posix.io(??) multiprocessing.popen_spawn_posix.os(??) multiprocessing.popen_spawn_posix.popen_fork(??) multiprocessing.popen_spawn_posix.reduction(??) multiprocessing.popen_spawn_posix.set_spawning_popen(??) multiprocessing.popen_spawn_posix.spawn(??) multiprocessing.popen_spawn_posix.util(??) multiprocessing.process(??) multiprocessing.process.AuthenticationString(??) multiprocessing.process.BaseProcess(??) multiprocessing.process.ORIGINAL_DIR multiprocessing.process.WeakSet(??) multiprocessing.process.active_children(??) multiprocessing.process.current_process(??) multiprocessing.process.itertools(??) multiprocessing.process.name multiprocessing.process.os(??) multiprocessing.process.parent_process(??) multiprocessing.process.signal(??) multiprocessing.process.signum(??) multiprocessing.process.sys(??) multiprocessing.process.threading(??) multiprocessing.queues(??) multiprocessing.queues.Empty(??) multiprocessing.queues.Finalize(??) multiprocessing.queues.Full(??) multiprocessing.queues.JoinableQueue(??) multiprocessing.queues.Queue(??) multiprocessing.queues.SimpleQueue(??) multiprocessing.queues.collections(??) multiprocessing.queues.connection(??) multiprocessing.queues.context(??) multiprocessing.queues.debug(??) multiprocessing.queues.errno(??) multiprocessing.queues.info(??) multiprocessing.queues.is_exiting(??) multiprocessing.queues.os(??) multiprocessing.queues.register_after_fork(??) multiprocessing.queues.sys(??) multiprocessing.queues.threading(??) multiprocessing.queues.time(??) multiprocessing.queues.types(??) multiprocessing.queues.weakref(??) multiprocessing.reducer(??) multiprocessing.reduction(??) multiprocessing.reduction.ABCMeta(??) multiprocessing.reduction.ACKNOWLEDGE(??) multiprocessing.reduction.AbstractReducer(??) multiprocessing.reduction.DupFd(??) multiprocessing.reduction.ForkingPickler(??) multiprocessing.reduction.HAVE_SEND_HANDLE(??) multiprocessing.reduction.array(??) multiprocessing.reduction.context(??) multiprocessing.reduction.copyreg(??) multiprocessing.reduction.dump(??) multiprocessing.reduction.functools(??) multiprocessing.reduction.io(??) multiprocessing.reduction.os(??) multiprocessing.reduction.pickle(??) multiprocessing.reduction.recv_handle(??) multiprocessing.reduction.recvfds(??) multiprocessing.reduction.register(??) multiprocessing.reduction.send_handle(??) multiprocessing.reduction.sendfds(??) multiprocessing.reduction.socket(??) multiprocessing.reduction.sys(??) multiprocessing.resource_sharer.DupFd(??) multiprocessing.resource_sharer.os(??) multiprocessing.resource_sharer.process(??) multiprocessing.resource_sharer.reduction(??) multiprocessing.resource_sharer.signal(??) multiprocessing.resource_sharer.socket(??) multiprocessing.resource_sharer.stop(??) multiprocessing.resource_sharer.sys(??) multiprocessing.resource_sharer.threading(??) multiprocessing.resource_sharer.util(??) multiprocessing.resource_tracker(??) multiprocessing.resource_tracker.ResourceTracker(??) multiprocessing.resource_tracker.ensure_running(??) multiprocessing.resource_tracker.getfd(??) multiprocessing.resource_tracker.main(??) multiprocessing.resource_tracker.os(??) multiprocessing.resource_tracker.register(??) multiprocessing.resource_tracker.signal(??) multiprocessing.resource_tracker.spawn(??) multiprocessing.resource_tracker.sys(??) multiprocessing.resource_tracker.threading(??) multiprocessing.resource_tracker.unregister(??) multiprocessing.resource_tracker.util(??) multiprocessing.resource_tracker.warnings(??) multiprocessing.set_executable(??) multiprocessing.set_forkserver_preload(??) multiprocessing.set_start_method(??) multiprocessing.shared_memory(??) multiprocessing.shared_memory.ShareableList(??) multiprocessing.shared_memory.SharedMemory(??) multiprocessing.shared_memory.errno(??) multiprocessing.shared_memory.mmap(??) multiprocessing.shared_memory.os(??) multiprocessing.shared_memory.partial(func, *args, **keywords) - new function with partial application multiprocessing.shared_memory.secrets(??) multiprocessing.shared_memory.struct(??) multiprocessing.shared_memory.types(??) multiprocessing.sharedctypes.Array(??) multiprocessing.sharedctypes.RawArray(??) multiprocessing.sharedctypes.RawValue(??) multiprocessing.sharedctypes.Synchronized(??) multiprocessing.sharedctypes.SynchronizedArray(??) multiprocessing.sharedctypes.SynchronizedBase(??) multiprocessing.sharedctypes.SynchronizedString(??) multiprocessing.sharedctypes.Value(??) multiprocessing.sharedctypes.assert_spawning(??) multiprocessing.sharedctypes.class_cache(??) multiprocessing.sharedctypes.copy(??) multiprocessing.sharedctypes.ctypes(??) multiprocessing.sharedctypes.get_context(??) multiprocessing.sharedctypes.heap(??) multiprocessing.sharedctypes.make_property(??) multiprocessing.sharedctypes.prop_cache(??) multiprocessing.sharedctypes.rebuild_ctype(??) multiprocessing.sharedctypes.reduce_ctype(??) multiprocessing.sharedctypes.reduction(??) multiprocessing.sharedctypes.synchronized(??) multiprocessing.sharedctypes.template multiprocessing.sharedctypes.typecode_to_type(??) multiprocessing.sharedctypes.weakref(??) multiprocessing.spawn(??) multiprocessing.spawn.WINEXE(??) multiprocessing.spawn.WINSERVICE(??) multiprocessing.spawn.freeze_support(??) multiprocessing.spawn.get_command_line(??) multiprocessing.spawn.get_executable(??) multiprocessing.spawn.get_preparation_data(??) multiprocessing.spawn.get_start_method(??) multiprocessing.spawn.import_main_path(??) multiprocessing.spawn.is_forking(??) multiprocessing.spawn.old_main_modules(??) multiprocessing.spawn.os(??) multiprocessing.spawn.prepare(??) multiprocessing.spawn.process(??) multiprocessing.spawn.reduction(??) multiprocessing.spawn.runpy(??) multiprocessing.spawn.set_executable(??) multiprocessing.spawn.set_start_method(??) multiprocessing.spawn.spawn_main(??) multiprocessing.spawn.sys(??) multiprocessing.spawn.types(??) multiprocessing.spawn.util(??) multiprocessing.synchronize.Barrier(??) multiprocessing.synchronize.BoundedSemaphore(??) multiprocessing.synchronize.Condition(??) multiprocessing.synchronize.Event(??) multiprocessing.synchronize.Lock(??) multiprocessing.synchronize.RECURSIVE_MUTEX multiprocessing.synchronize.RLock(??) multiprocessing.synchronize.SEMAPHORE multiprocessing.synchronize.SEM_VALUE_MAX multiprocessing.synchronize.SemLock(??) multiprocessing.synchronize.Semaphore(??) multiprocessing.synchronize.context(??) multiprocessing.synchronize.process(??) multiprocessing.synchronize.sem_unlink(??) multiprocessing.synchronize.sys(??) multiprocessing.synchronize.tempfile(??) multiprocessing.synchronize.threading(??) multiprocessing.synchronize.time(??) multiprocessing.synchronize.util(??) multiprocessing.sys(??) multiprocessing.util(??) multiprocessing.util.DEBUG multiprocessing.util.DEFAULT_LOGGING_FORMAT multiprocessing.util.Finalize(??) multiprocessing.util.ForkAwareLocal(??) multiprocessing.util.ForkAwareThreadLock(??) multiprocessing.util.INFO multiprocessing.util.LOGGER_NAME multiprocessing.util.MAXFD multiprocessing.util.NOTSET multiprocessing.util.SUBDEBUG multiprocessing.util.SUBWARNING multiprocessing.util.abstract_sockets_supported(??) multiprocessing.util.atexit(??) multiprocessing.util.close_all_fds_except(??) multiprocessing.util.close_fds(??) multiprocessing.util.debug(??) multiprocessing.util.get_logger(??) multiprocessing.util.get_temp_dir(??) multiprocessing.util.info(??) multiprocessing.util.is_abstract_socket_namespace(??) multiprocessing.util.is_exiting(??) multiprocessing.util.itertools(??) multiprocessing.util.log_to_stderr(??) multiprocessing.util.os(??) multiprocessing.util.process(??) multiprocessing.util.register_after_fork(??) multiprocessing.util.spawnv_passfds(??) multiprocessing.util.sub_debug(??) multiprocessing.util.sub_warning(??) multiprocessing.util.sys(??) multiprocessing.util.threading(??) multiprocessing.util.weakref(??) netrc.NetrcParseError(??) netrc.netrc(??) netrc.os(??) netrc.shlex(??) netrc.stat(??) next(iterator[, default]) nntplib.ArticleInfo(number, message_id, lines) nntplib.GroupInfo(group, last, first, flag) nntplib.NNTP(??) nntplib.NNTPDataError(??) nntplib.NNTPError(??) nntplib.NNTPPermanentError(??) nntplib.NNTPProtocolError(??) nntplib.NNTPReplyError(??) nntplib.NNTPTemporaryError(??) nntplib.NNTP_PORT nntplib.NNTP_SSL(??) nntplib.NNTP_SSL_PORT nntplib.collections(??) nntplib.datetime(??) nntplib.decode_header(??) nntplib.re(??) nntplib.socket(??) nntplib.ssl(??) nntplib.sys(??) numbers.ABCMeta(??) numbers.Complex(??) numbers.Integral(??) numbers.Number(??) numbers.Rational(??) numbers.Real(??) numbers.abstractmethod(??) object(??) oct(??) open(??) operator.abs(??) operator.add(??) operator.and_(??) operator.attrgetter(attr, ...) --> attrgetter object operator.concat(??) operator.contains(??) operator.countOf(??) operator.delitem(??) operator.eq(??) operator.floordiv(??) operator.ge(??) operator.getitem(??) operator.gt(??) operator.iadd(??) operator.iand(??) operator.iconcat(??) operator.ifloordiv(??) operator.ilshift(??) operator.imatmul(??) operator.imod(??) operator.imul(??) operator.index(??) operator.indexOf(??) operator.inv(??) operator.invert(??) operator.ior(??) operator.ipow(??) operator.irshift(??) operator.is_(??) operator.is_not(??) operator.isub(??) operator.itemgetter(item, ...) --> itemgetter object operator.itruediv(??) operator.ixor(??) operator.le(??) operator.length_hint(??) operator.lshift(??) operator.lt(??) operator.matmul(??) operator.methodcaller(name, ...) --> methodcaller object operator.mod(??) operator.mul(??) operator.ne(??) operator.neg(??) operator.not_(??) operator.or_(??) operator.pos(??) operator.pow(??) operator.rshift(??) operator.setitem(??) operator.sub(??) operator.truediv(??) operator.truth(??) operator.xor(??) optparse.AmbiguousOptionError(??) optparse.BadOptionError(??) optparse.HelpFormatter(??) optparse.IndentedHelpFormatter(??) optparse.NO_DEFAULT(??) optparse.OptParseError(??) optparse.Option(??) optparse.OptionConflictError(??) optparse.OptionContainer(??) optparse.OptionError(??) optparse.OptionGroup(??) optparse.OptionParser(??) optparse.OptionValueError(??) optparse.SUPPRESS_HELP optparse.SUPPRESS_USAGE optparse.TitledHelpFormatter(??) optparse.Values(??) optparse.check_builtin(??) optparse.check_choice(??) optparse.gettext(??) optparse.make_option(??) optparse.ngettext(??) optparse.os(??) optparse.sys(??) optparse.textwrap(??) ord(??) os.CLD_CONTINUED os.CLD_DUMPED os.CLD_EXITED os.CLD_KILLED os.CLD_STOPPED os.CLD_TRAPPED os.DirEntry(??) os.EX_CANTCREAT os.EX_CONFIG os.EX_DATAERR os.EX_IOERR os.EX_NOHOST os.EX_NOINPUT os.EX_NOPERM os.EX_NOUSER os.EX_OK os.EX_OSERR os.EX_OSFILE os.EX_PROTOCOL os.EX_SOFTWARE os.EX_TEMPFAIL os.EX_UNAVAILABLE os.EX_USAGE os.F_LOCK os.F_OK os.F_TEST os.F_TLOCK os.F_ULOCK os.GenericAlias(??) os.Mapping(??) os.MutableMapping(??) os.NGROUPS_MAX os.O_ACCMODE os.O_APPEND os.O_ASYNC os.O_CLOEXEC os.O_CREAT os.O_DIRECTORY os.O_DSYNC os.O_EXCL os.O_EXLOCK os.O_NDELAY os.O_NOCTTY os.O_NOFOLLOW os.O_NONBLOCK os.O_RDONLY os.O_RDWR os.O_SHLOCK os.O_SYNC os.O_TRUNC os.O_WRONLY os.POSIX_SPAWN_CLOSE os.POSIX_SPAWN_DUP2 os.POSIX_SPAWN_OPEN os.PRIO_PGRP os.PRIO_PROCESS os.PRIO_USER os.P_ALL os.P_NOWAIT os.P_NOWAITO os.P_PGID os.P_PID os.P_WAIT os.PathLike(??) os.RTLD_GLOBAL os.RTLD_LAZY os.RTLD_LOCAL os.RTLD_NODELETE os.RTLD_NOLOAD os.RTLD_NOW os.R_OK os.SCHED_FIFO os.SCHED_OTHER os.SCHED_RR os.SEEK_CUR os.SEEK_END os.SEEK_SET os.ST_NOSUID os.ST_RDONLY os.TMP_MAX os.WCONTINUED os.WCOREDUMP(??) os.WEXITED os.WEXITSTATUS(??) os.WIFCONTINUED(??) os.WIFEXITED(??) os.WIFSIGNALED(??) os.WIFSTOPPED(??) os.WNOHANG os.WNOWAIT os.WSTOPPED os.WSTOPSIG(??) os.WTERMSIG(??) os.WUNTRACED os.W_OK os.X_OK os.abc(??) os.abort(??) os.access(??) os.altsep(??) os.chdir(??) os.chflags(??) os.chmod(??) os.chown(??) os.chroot(??) os.close(??) os.closerange(??) os.confstr(??) os.confstr_names(??) os.cpu_count(??) os.ctermid(??) os.curdir os.defpath os.device_encoding(??) os.devnull os.dup(??) os.dup2(??) os.environ(??) os.environb(??) os.error(??) os.execl(file, *args) os.execle(file, *args, env) os.execlp(file, *args) os.execlpe(file, *args, env) os.execv(??) os.execve(??) os.execvp(file, args) os.execvpe(file, args, env) os.extsep os.fchdir(??) os.fchmod(??) os.fchown(??) os.fdopen(??) os.fork(??) os.forkpty(??) os.fpathconf(??) os.fsdecode(??) os.fsencode(??) os.fspath(??) os.fstat(??) os.fstatvfs(??) os.fsync(??) os.ftruncate(??) os.get_blocking(??) os.get_exec_path(??) os.get_inheritable(??) os.get_terminal_size(??) os.getcwd(??) os.getcwdb(??) os.getegid(??) os.getenv(??) os.getenvb(??) os.geteuid(??) os.getgid(??) os.getgrouplist(??) os.getgroups(??) os.getloadavg(??) os.getlogin(??) os.getpgid(??) os.getpgrp(??) os.getpid(??) os.getppid(??) os.getpriority(??) os.getsid(??) os.getuid(??) os.initgroups(??) os.isatty(??) os.kill(??) os.killpg(??) os.lchflags(??) os.lchmod(??) os.lchown(??) os.linesep os.link(??) os.listdir(??) os.lockf(??) os.lseek(??) os.lstat(??) os.major(??) os.makedev(??) os.makedirs(name [, mode=0o777][, exist_ok=False]) os.minor(??) os.mkdir(??) os.mkfifo(??) os.mknod(??) os.name os.nice(??) os.open(??) os.openpty(??) os.pardir os.path(??) os.pathconf(??) os.pathconf_names(??) os.pathsep os.pipe(??) os.popen(??) os.posix_spawn(??) os.posix_spawnp(??) os.pread(??) os.putenv(??) os.pwrite(??) os.read(??) os.readlink(??) os.readv(??) os.register_at_fork(??) os.remove(??) os.removedirs(name) os.rename(??) os.renames(old, new) os.replace(??) os.rmdir(??) os.scandir(??) os.sched_get_priority_max(??) os.sched_get_priority_min(??) os.sched_yield(??) os.sendfile(??) os.sep os.set_blocking(??) os.set_inheritable(??) os.setegid(??) os.seteuid(??) os.setgid(??) os.setgroups(??) os.setpgid(??) os.setpgrp(??) os.setpriority(??) os.setregid(??) os.setreuid(??) os.setsid(??) os.setuid(??) os.spawnl(mode, file, *args) -> integer os.spawnle(mode, file, *args, env) -> integer os.spawnlp(mode, file, *args) -> integer os.spawnlpe(mode, file, *args, env) -> integer os.spawnv(mode, file, args) -> integer os.spawnve(mode, file, args, env) -> integer os.spawnvp(mode, file, args) -> integer os.spawnvpe(mode, file, args, env) -> integer os.st(??) os.stat(??) os.stat_result(??) os.statvfs(??) os.statvfs_result(??) os.strerror(??) os.supports_bytes_environ(??) os.supports_dir_fd(??) os.supports_effective_ids(??) os.supports_fd(??) os.supports_follow_symlinks(??) os.symlink(??) os.sync(??) os.sys(??) os.sysconf(??) os.sysconf_names(??) os.system(??) os.tcgetpgrp(??) os.tcsetpgrp(??) os.terminal_size(??) os.times(??) os.times_result(??) os.truncate(??) os.ttyname(??) os.umask(??) os.uname(??) os.uname_result(??) os.unlink(??) os.unsetenv(??) os.urandom(??) os.utime(??) os.wait(??) os.wait3(??) os.wait4(??) os.waitpid(??) os.waitstatus_to_exitcode(??) os.walk(??) os.write(??) os.writev(??) pathlib.EBADF pathlib.EINVAL pathlib.ELOOP pathlib.ENOENT pathlib.ENOTDIR pathlib.Path(??) pathlib.PosixPath(??) pathlib.PurePath(??) pathlib.PurePosixPath(??) pathlib.PureWindowsPath(??) pathlib.S_ISBLK(mode) -> bool pathlib.S_ISCHR(mode) -> bool pathlib.S_ISDIR(mode) -> bool pathlib.S_ISFIFO(mode) -> bool pathlib.S_ISLNK(mode) -> bool pathlib.S_ISREG(mode) -> bool pathlib.S_ISSOCK(mode) -> bool pathlib.Sequence(??) pathlib.WindowsPath(??) pathlib.attrgetter(attr, ...) --> attrgetter object pathlib.fnmatch(??) pathlib.functools(??) pathlib.io(??) pathlib.nt(??) pathlib.ntpath(??) pathlib.os(??) pathlib.posixpath(??) pathlib.re(??) pathlib.supports_symlinks(??) pathlib.sys(??) pathlib.urlquote_from_bytes(??) pdb.Pdb(??) pdb.Restart(??) pdb.TESTCMD pdb.bdb(??) pdb.cmd(??) pdb.code(??) pdb.dis(??) pdb.find_function(??) pdb.getsourcelines(??) pdb.glob(??) pdb.help(??) pdb.inspect(??) pdb.io(??) pdb.lasti2lineno(??) pdb.line_prefix pdb.linecache(??) pdb.main(??) pdb.os(??) pdb.pm(??) pdb.post_mortem(??) pdb.pprint(??) pdb.re(??) pdb.run(??) pdb.runcall(??) pdb.runctx(??) pdb.runeval(??) pdb.set_trace(??) pdb.signal(??) pdb.sys(??) pdb.test(??) pdb.tokenize(??) pdb.traceback(??) pickle.ADDITEMS pickle.APPEND pickle.APPENDS pickle.BINBYTES pickle.BINBYTES8 pickle.BINFLOAT pickle.BINGET pickle.BININT pickle.BININT1 pickle.BININT2 pickle.BINPERSID pickle.BINPUT pickle.BINSTRING pickle.BINUNICODE pickle.BINUNICODE8 pickle.BUILD pickle.BYTEARRAY8 pickle.DEFAULT_PROTOCOL pickle.DICT pickle.DUP pickle.EMPTY_DICT pickle.EMPTY_LIST pickle.EMPTY_SET pickle.EMPTY_TUPLE pickle.EXT1 pickle.EXT2 pickle.EXT4 pickle.FALSE pickle.FLOAT pickle.FRAME pickle.FROZENSET pickle.FunctionType(??) pickle.GET pickle.GLOBAL pickle.HIGHEST_PROTOCOL pickle.INST pickle.INT pickle.LIST pickle.LONG pickle.LONG1 pickle.LONG4 pickle.LONG_BINGET pickle.LONG_BINPUT pickle.MARK pickle.MEMOIZE pickle.NEWFALSE pickle.NEWOBJ pickle.NEWOBJ_EX pickle.NEWTRUE pickle.NEXT_BUFFER pickle.NONE pickle.OBJ pickle.PERSID pickle.POP pickle.POP_MARK pickle.PROTO pickle.PUT pickle.PickleBuffer(??) pickle.PickleError(??) pickle.Pickler(??) pickle.PicklingError(??) pickle.PyStringMap(??) pickle.READONLY_BUFFER pickle.REDUCE pickle.SETITEM pickle.SETITEMS pickle.SHORT_BINBYTES pickle.SHORT_BINSTRING pickle.SHORT_BINUNICODE pickle.STACK_GLOBAL pickle.STOP pickle.STRING pickle.TRUE pickle.TUPLE pickle.TUPLE1 pickle.TUPLE2 pickle.TUPLE3 pickle.UNICODE pickle.Unpickler(??) pickle.UnpicklingError(??) pickle.bytes_types(??) pickle.codecs(??) pickle.compatible_formats(??) pickle.decode_long(??) pickle.dispatch_table(??) pickle.dump(??) pickle.dumps(??) pickle.encode_long(??) pickle.format_version pickle.io(??) pickle.islice(iterable, stop) --> islice object pickle.load(??) pickle.loads(??) pickle.maxsize pickle.pack(format, v1, v2, ...) -> bytes pickle.partial(func, *args, **keywords) - new function with partial application pickle.re(??) pickle.sys(??) pickle.unpack(??) pickle.whichmodule(??) pickletools.ArgumentDescriptor(??) pickletools.OpcodeInfo(??) pickletools.StackObject(??) pickletools.TAKEN_FROM_ARGUMENT1 pickletools.TAKEN_FROM_ARGUMENT4 pickletools.TAKEN_FROM_ARGUMENT4U pickletools.TAKEN_FROM_ARGUMENT8U pickletools.UP_TO_NEWLINE pickletools.anyobject(??) pickletools.bytearray8(??) pickletools.bytes1(??) pickletools.bytes4(??) pickletools.bytes8(??) pickletools.bytes_types(??) pickletools.code2op(??) pickletools.codecs(??) pickletools.decimalnl_long(??) pickletools.decimalnl_short(??) pickletools.decode_long(??) pickletools.dis(??) pickletools.float8(??) pickletools.floatnl(??) pickletools.genops(??) pickletools.int4(??) pickletools.io(??) pickletools.long1(??) pickletools.long4(??) pickletools.markobject(??) pickletools.opcodes(??) pickletools.optimize(??) pickletools.pickle(??) pickletools.pybool(??) pickletools.pybuffer(??) pickletools.pybytearray(??) pickletools.pybytes(??) pickletools.pybytes_or_str(??) pickletools.pydict(??) pickletools.pyfloat(??) pickletools.pyfrozenset(??) pickletools.pyint(??) pickletools.pyinteger_or_bool(??) pickletools.pylist(??) pickletools.pylong(??) pickletools.pynone(??) pickletools.pyset(??) pickletools.pystring(??) pickletools.pytuple(??) pickletools.pyunicode(??) pickletools.re(??) pickletools.read_bytearray8(??) pickletools.read_bytes1(??) pickletools.read_bytes4(??) pickletools.read_bytes8(??) pickletools.read_decimalnl_long(??) pickletools.read_decimalnl_short(??) pickletools.read_float8(??) pickletools.read_floatnl(??) pickletools.read_int4(??) pickletools.read_long1(??) pickletools.read_long4(??) pickletools.read_string1(??) pickletools.read_string4(??) pickletools.read_stringnl(??) pickletools.read_stringnl_noescape(??) pickletools.read_stringnl_noescape_pair(??) pickletools.read_uint1(??) pickletools.read_uint2(??) pickletools.read_uint4(??) pickletools.read_uint8(??) pickletools.read_unicodestring1(??) pickletools.read_unicodestring4(??) pickletools.read_unicodestring8(??) pickletools.read_unicodestringnl(??) pickletools.stackslice(??) pickletools.string1(??) pickletools.string4(??) pickletools.stringnl(??) pickletools.stringnl_noescape(??) pickletools.stringnl_noescape_pair(??) pickletools.sys(??) pickletools.uint1(??) pickletools.uint2(??) pickletools.uint4(??) pickletools.uint8(??) pickletools.unicodestring1(??) pickletools.unicodestring4(??) pickletools.unicodestring8(??) pickletools.unicodestringnl(??) pipes.FILEIN_FILEOUT pipes.FILEIN_STDOUT pipes.SINK pipes.SOURCE pipes.STDIN_FILEOUT pipes.STDIN_STDOUT pipes.Template(??) pipes.makepipeline(??) pipes.os(??) pipes.quote(??) pipes.re(??) pipes.stepkinds(??) pipes.tempfile(??) pkgutil.ImpImporter(??) pkgutil.ImpLoader(??) pkgutil.ModuleInfo(??) pkgutil.ModuleType(??) pkgutil.extend_path(??) pkgutil.find_loader(??) pkgutil.get_data(??) pkgutil.get_importer(??) pkgutil.get_loader(??) pkgutil.importlib(??) pkgutil.iter_importer_modules(??) pkgutil.iter_importers(??) pkgutil.iter_modules(??) pkgutil.iter_zipimport_modules(??) pkgutil.namedtuple(??) pkgutil.os(??) pkgutil.re(??) pkgutil.read_code(??) pkgutil.resolve_name(??) pkgutil.simplegeneric(??) pkgutil.sys(??) pkgutil.walk_packages(??) pkgutil.warnings(??) pkgutil.zipimport(??) pkgutil.zipimporter(archivepath) -> zipimporter object platform.architecture(??) platform.collections(??) platform.functools(??) platform.itertools(??) platform.java_ver(??) platform.libc_ver(??) platform.mac_ver(??) platform.machine(??) platform.node(??) platform.os(??) platform.platform(??) platform.processor(??) platform.python_branch(??) platform.python_build(??) platform.python_compiler(??) platform.python_implementation(??) platform.python_revision(??) platform.python_version(??) platform.python_version_tuple(??) platform.re(??) platform.release(??) platform.subprocess(??) platform.sys(??) platform.system(??) platform.system_alias(??) platform.uname(??) platform.uname_result(??) platform.version(??) platform.win32_edition(??) platform.win32_is_iot(??) platform.win32_ver(??) plistlib.BytesIO(??) plistlib.FMT_BINARY(??) plistlib.FMT_XML(??) plistlib.InvalidFileException(??) plistlib.PLISTHEADER plistlib.ParserCreate(??) plistlib.PlistFormat(??) plistlib.UID(??) plistlib.binascii(??) plistlib.codecs(??) plistlib.datetime(??) plistlib.dump(??) plistlib.dumps(??) plistlib.enum(??) plistlib.itertools(??) plistlib.load(??) plistlib.loads(??) plistlib.os(??) plistlib.re(??) plistlib.struct(??) poplib.CR poplib.CRLF poplib.HAVE_SSL(??) poplib.LF poplib.POP3(??) poplib.POP3_PORT poplib.POP3_SSL(??) poplib.POP3_SSL_PORT poplib.errno(??) poplib.error_proto(??) poplib.re(??) poplib.socket(??) poplib.ssl(??) poplib.sys(??) posix.CLD_CONTINUED posix.CLD_DUMPED posix.CLD_EXITED posix.CLD_KILLED posix.CLD_STOPPED posix.CLD_TRAPPED posix.DirEntry(??) posix.EX_CANTCREAT posix.EX_CONFIG posix.EX_DATAERR posix.EX_IOERR posix.EX_NOHOST posix.EX_NOINPUT posix.EX_NOPERM posix.EX_NOUSER posix.EX_OK posix.EX_OSERR posix.EX_OSFILE posix.EX_PROTOCOL posix.EX_SOFTWARE posix.EX_TEMPFAIL posix.EX_UNAVAILABLE posix.EX_USAGE posix.F_LOCK posix.F_OK posix.F_TEST posix.F_TLOCK posix.F_ULOCK posix.NGROUPS_MAX posix.O_ACCMODE posix.O_APPEND posix.O_ASYNC posix.O_CLOEXEC posix.O_CREAT posix.O_DIRECTORY posix.O_DSYNC posix.O_EXCL posix.O_EXLOCK posix.O_NDELAY posix.O_NOCTTY posix.O_NOFOLLOW posix.O_NONBLOCK posix.O_RDONLY posix.O_RDWR posix.O_SHLOCK posix.O_SYNC posix.O_TRUNC posix.O_WRONLY posix.POSIX_SPAWN_CLOSE posix.POSIX_SPAWN_DUP2 posix.POSIX_SPAWN_OPEN posix.PRIO_PGRP posix.PRIO_PROCESS posix.PRIO_USER posix.P_ALL posix.P_PGID posix.P_PID posix.RTLD_GLOBAL posix.RTLD_LAZY posix.RTLD_LOCAL posix.RTLD_NODELETE posix.RTLD_NOLOAD posix.RTLD_NOW posix.R_OK posix.SCHED_FIFO posix.SCHED_OTHER posix.SCHED_RR posix.ST_NOSUID posix.ST_RDONLY posix.TMP_MAX posix.WCONTINUED posix.WCOREDUMP(??) posix.WEXITED posix.WEXITSTATUS(??) posix.WIFCONTINUED(??) posix.WIFEXITED(??) posix.WIFSIGNALED(??) posix.WIFSTOPPED(??) posix.WNOHANG posix.WNOWAIT posix.WSTOPPED posix.WSTOPSIG(??) posix.WTERMSIG(??) posix.WUNTRACED posix.W_OK posix.X_OK posix.abort(??) posix.access(??) posix.chdir(??) posix.chflags(??) posix.chmod(??) posix.chown(??) posix.chroot(??) posix.close(??) posix.closerange(??) posix.confstr(??) posix.confstr_names(??) posix.cpu_count(??) posix.ctermid(??) posix.device_encoding(??) posix.dup(??) posix.dup2(??) posix.environ(??) posix.error(??) posix.execv(??) posix.execve(??) posix.fchdir(??) posix.fchmod(??) posix.fchown(??) posix.fork(??) posix.forkpty(??) posix.fpathconf(??) posix.fspath(??) posix.fstat(??) posix.fstatvfs(??) posix.fsync(??) posix.ftruncate(??) posix.get_blocking(??) posix.get_inheritable(??) posix.get_terminal_size(??) posix.getcwd(??) posix.getcwdb(??) posix.getegid(??) posix.geteuid(??) posix.getgid(??) posix.getgrouplist(??) posix.getgroups(??) posix.getloadavg(??) posix.getlogin(??) posix.getpgid(??) posix.getpgrp(??) posix.getpid(??) posix.getppid(??) posix.getpriority(??) posix.getsid(??) posix.getuid(??) posix.initgroups(??) posix.isatty(??) posix.kill(??) posix.killpg(??) posix.lchflags(??) posix.lchmod(??) posix.lchown(??) posix.link(??) posix.listdir(??) posix.lockf(??) posix.lseek(??) posix.lstat(??) posix.major(??) posix.makedev(??) posix.minor(??) posix.mkdir(??) posix.mkfifo(??) posix.mknod(??) posix.nice(??) posix.open(??) posix.openpty(??) posix.pathconf(??) posix.pathconf_names(??) posix.pipe(??) posix.posix_spawn(??) posix.posix_spawnp(??) posix.pread(??) posix.putenv(??) posix.pwrite(??) posix.read(??) posix.readlink(??) posix.readv(??) posix.register_at_fork(??) posix.remove(??) posix.rename(??) posix.replace(??) posix.rmdir(??) posix.scandir(??) posix.sched_get_priority_max(??) posix.sched_get_priority_min(??) posix.sched_yield(??) posix.sendfile(??) posix.set_blocking(??) posix.set_inheritable(??) posix.setegid(??) posix.seteuid(??) posix.setgid(??) posix.setgroups(??) posix.setpgid(??) posix.setpgrp(??) posix.setpriority(??) posix.setregid(??) posix.setreuid(??) posix.setsid(??) posix.setuid(??) posix.stat(??) posix.stat_result(??) posix.statvfs(??) posix.statvfs_result(??) posix.strerror(??) posix.symlink(??) posix.sync(??) posix.sysconf(??) posix.sysconf_names(??) posix.system(??) posix.tcgetpgrp(??) posix.tcsetpgrp(??) posix.terminal_size(??) posix.times(??) posix.times_result(??) posix.truncate(??) posix.ttyname(??) posix.umask(??) posix.uname(??) posix.uname_result(??) posix.unlink(??) posix.unsetenv(??) posix.urandom(??) posix.utime(??) posix.wait(??) posix.wait3(??) posix.wait4(??) posix.waitpid(??) posix.waitstatus_to_exitcode(??) posix.write(??) posix.writev(??) pow(??) pprint.PrettyPrinter(??) pprint.isreadable(??) pprint.isrecursive(??) pprint.pformat(??) pprint.pp(??) pprint.pprint(??) pprint.re(??) pprint.saferepr(??) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) profile.Profile(??) profile.main(??) profile.marshal(??) profile.run(??) profile.runctx(??) profile.sys(??) profile.time(??) property(??) pstats.Dict(??) pstats.Enum(??) pstats.FunctionProfile(ncalls: int, tottime: float, percall_tottime: float, cumtime: float, percall_cumtime: float, file_name: str, line_number: int) pstats.SortKey(??) pstats.Stats(??) pstats.StatsProfile(??) pstats.TupleComp(??) pstats.add_callers(??) pstats.add_func_stats(??) pstats.cmp_to_key(??) pstats.count_calls(??) pstats.dataclass(??) pstats.f8(??) pstats.func_get_function_name(??) pstats.func_std_string(??) pstats.func_strip_path(??) pstats.marshal(??) pstats.os(??) pstats.re(??) pstats.sys(??) pstats.time(??) pty.CHILD pty.STDERR_FILENO pty.STDIN_FILENO pty.STDOUT_FILENO pty.fork() -> (pid, master_fd) pty.master_open() -> (master_fd, slave_name) pty.openpty() -> (master_fd, slave_fd) pty.os(??) pty.select(??) pty.slave_open(tty_name) -> slave_fd pty.spawn(??) pty.sys(??) pty.tty(??) pwd.getpwall(??) pwd.getpwnam(??) pwd.getpwuid(??) pwd.struct_passwd(??) py_compile.PyCompileError(??) py_compile.PycInvalidationMode(??) py_compile.compile(??) py_compile.enum(??) py_compile.importlib(??) py_compile.main(??) py_compile.os(??) py_compile.sys(??) py_compile.traceback(??) pyclbr.Class(??) pyclbr.DEDENT pyclbr.Function(??) pyclbr.NAME pyclbr.OP pyclbr.importlib(??) pyclbr.io(??) pyclbr.readmodule(??) pyclbr.readmodule_ex(??) pyclbr.sys(??) pyclbr.tokenize(??) pydoc.Doc(??) pydoc.ErrorDuringImport(??) pydoc.HTMLDoc(??) pydoc.HTMLRepr(??) pydoc.Helper(??) pydoc.ModuleScanner(??) pydoc.Repr(??) pydoc.TextDoc(??) pydoc.TextRepr(??) pydoc.allmethods(??) pydoc.apropos(??) pydoc.browse(??) pydoc.builtins(??) pydoc.classify_class_attrs(??) pydoc.classname(??) pydoc.cli(??) pydoc.cram(??) pydoc.deque([iterable[, maxlen]]) --> deque object pydoc.describe(??) pydoc.doc(??) pydoc.format_exception_only(??) pydoc.getdoc(??) pydoc.getpager(??) pydoc.help(??) pydoc.html(??) pydoc.importfile(??) pydoc.importlib(??) pydoc.inspect(??) pydoc.io(??) pydoc.isdata(??) pydoc.ispackage(??) pydoc.ispath(??) pydoc.locate(??) pydoc.os(??) pydoc.pager(??) pydoc.pathdirs(??) pydoc.pipepager(??) pydoc.pkgutil(??) pydoc.plain(??) pydoc.plainpager(??) pydoc.plaintext(??) pydoc.platform(??) pydoc.re(??) pydoc.render_doc(??) pydoc.replace(??) pydoc.resolve(??) pydoc.safeimport(??) pydoc.sort_attributes(??) pydoc.source_synopsis(??) pydoc.splitdoc(??) pydoc.stripid(??) pydoc.synopsis(??) pydoc.sys(??) pydoc.sysconfig(??) pydoc.tempfilepager(??) pydoc.text(??) pydoc.time(??) pydoc.tokenize(??) pydoc.ttypager(??) pydoc.urllib(??) pydoc.visiblename(??) pydoc.warnings(??) pydoc.writedoc(??) pydoc.writedocs(??) pydoc_data.topics.topics(??) pyqtbuild.PYQTBUILD_VERSION pyqtbuild.PYQTBUILD_VERSION_STR pyqtbuild.PyQtBindings(??) pyqtbuild.PyQtProject(??) pyqtbuild.QmakeBuilder(??) pyqtbuild.QmakeTargetInstallable(??) pyqtbuild.bindings(??) pyqtbuild.bindings.Bindings(??) pyqtbuild.bindings.BuildableExecutable(??) pyqtbuild.bindings.Option(??) pyqtbuild.bindings.PyQtBindings(??) pyqtbuild.bindings.UserException(??) pyqtbuild.bindings.glob(??) pyqtbuild.bindings.os(??) pyqtbuild.bindings.sys(??) pyqtbuild.builder(??) pyqtbuild.builder.Buildable(??) pyqtbuild.builder.BuildableModule(??) pyqtbuild.builder.Builder(??) pyqtbuild.builder.Option(??) pyqtbuild.builder.Project(??) pyqtbuild.builder.PyProjectOptionException(??) pyqtbuild.builder.QmakeBuilder(??) pyqtbuild.builder.QmakeTargetInstallable(??) pyqtbuild.builder.UserException(??) pyqtbuild.builder.os(??) pyqtbuild.builder.sys(??) pyqtbuild.bundle.abstract_package(??) pyqtbuild.bundle.abstract_package.ABC(??) pyqtbuild.bundle.abstract_package.AbstractPackage(??) pyqtbuild.bundle.abstract_package.UserException(??) pyqtbuild.bundle.abstract_package.VersionedMetadata(??) pyqtbuild.bundle.abstract_package.abstractmethod(??) pyqtbuild.bundle.abstract_package.os(??) pyqtbuild.bundle.abstract_package.packaging(??) pyqtbuild.bundle.abstract_package.subprocess(??) pyqtbuild.bundle.abstract_package.verbose(??) pyqtbuild.bundle.bundle(??) pyqtbuild.bundle.bundle.UserException(??) pyqtbuild.bundle.bundle.base64(??) pyqtbuild.bundle.bundle.bundle(??) pyqtbuild.bundle.bundle.fnmatch(??) pyqtbuild.bundle.bundle.hashlib(??) pyqtbuild.bundle.bundle.os(??) pyqtbuild.bundle.bundle.packages(??) pyqtbuild.bundle.bundle.shutil(??) pyqtbuild.bundle.bundle.verbose(??) pyqtbuild.bundle.bundle.zipfile(??) pyqtbuild.bundle.main.ArgumentParser(??) pyqtbuild.bundle.main.PYQTBUILD_VERSION_STR pyqtbuild.bundle.main.bundle(??) pyqtbuild.bundle.main.handle_exception(??) pyqtbuild.bundle.main.main(??) pyqtbuild.bundle.main.set_verbose(??) pyqtbuild.bundle.packages(??) pyqtbuild.bundle.packages.PyQt3D(??) pyqtbuild.bundle.packages.PyQt5(??) pyqtbuild.bundle.packages.PyQtChart(??) pyqtbuild.bundle.packages.PyQtDataVisualization(??) pyqtbuild.bundle.packages.PyQtPurchasing(??) pyqtbuild.bundle.packages.PyQtWebEngine(??) pyqtbuild.bundle.packages.pyqt3d(??) pyqtbuild.bundle.packages.pyqt3d.AbstractPackage(??) pyqtbuild.bundle.packages.pyqt3d.PyQt3D(??) pyqtbuild.bundle.packages.pyqt3d.VersionedMetadata(??) pyqtbuild.bundle.packages.pyqt5(??) pyqtbuild.bundle.packages.pyqt5.AbstractPackage(??) pyqtbuild.bundle.packages.pyqt5.PyQt5(??) pyqtbuild.bundle.packages.pyqt5.VersionedMetadata(??) pyqtbuild.bundle.packages.pyqt5.os(??) pyqtbuild.bundle.packages.pyqt5.shutil(??) pyqtbuild.bundle.packages.pyqt5.verbose(??) pyqtbuild.bundle.packages.pyqtchart(??) pyqtbuild.bundle.packages.pyqtchart.AbstractPackage(??) pyqtbuild.bundle.packages.pyqtchart.PyQtChart(??) pyqtbuild.bundle.packages.pyqtchart.VersionedMetadata(??) pyqtbuild.bundle.packages.pyqtdatavisualization(??) pyqtbuild.bundle.packages.pyqtdatavisualization.AbstractPackage(??) pyqtbuild.bundle.packages.pyqtdatavisualization.PyQtDataVisualization(??) pyqtbuild.bundle.packages.pyqtdatavisualization.VersionedMetadata(??) pyqtbuild.bundle.packages.pyqtpurchasing(??) pyqtbuild.bundle.packages.pyqtpurchasing.AbstractPackage(??) pyqtbuild.bundle.packages.pyqtpurchasing.PyQtPurchasing(??) pyqtbuild.bundle.packages.pyqtpurchasing.VersionedMetadata(??) pyqtbuild.bundle.packages.pyqtwebengine(??) pyqtbuild.bundle.packages.pyqtwebengine.AbstractPackage(??) pyqtbuild.bundle.packages.pyqtwebengine.PyQtWebEngine(??) pyqtbuild.bundle.packages.pyqtwebengine.VersionedMetadata(??) pyqtbuild.bundle.qt_metadata(??) pyqtbuild.bundle.qt_metadata.UserException(??) pyqtbuild.bundle.qt_metadata.VersionedMetadata(??) pyqtbuild.bundle.qt_metadata.fnmatch(??) pyqtbuild.bundle.qt_metadata.os(??) pyqtbuild.bundle.qt_metadata.shutil(??) pyqtbuild.bundle.qt_metadata.subprocess(??) pyqtbuild.bundle.qt_metadata.verbose(??) pyqtbuild.bundle.verbose(??) pyqtbuild.bundle.verbose.set_verbose(??) pyqtbuild.bundle.verbose.verbose(??) pyqtbuild.installable(??) pyqtbuild.installable.Installable(??) pyqtbuild.installable.QmakeTargetInstallable(??) pyqtbuild.project(??) pyqtbuild.project.MINIMUM_GLIBC_VERSION pyqtbuild.project.Option(??) pyqtbuild.project.Project(??) pyqtbuild.project.PyQtProject(??) pyqtbuild.project.UserException(??) pyqtbuild.project.os(??) pyqtbuild.project.sys(??) pyqtbuild.version(??) pyqtbuild.version.PYQTBUILD_VERSION pyqtbuild.version.PYQTBUILD_VERSION_STR pyqtdeploy.AbstractComponent(??) pyqtdeploy.AbstractPyQtComponent(??) pyqtdeploy.AbstractPythonComponent(??) pyqtdeploy.AbstractQtComponent(??) pyqtdeploy.AbstractSIPComponent(??) pyqtdeploy.Architecture(??) pyqtdeploy.Builder(??) pyqtdeploy.Component(??) pyqtdeploy.ComponentLibrary(??) pyqtdeploy.ComponentOption(??) pyqtdeploy.DataFile(??) pyqtdeploy.ExtensionModule(??) pyqtdeploy.MessageHandler(??) pyqtdeploy.PYQTDEPLOY_RELEASE pyqtdeploy.Project(??) pyqtdeploy.PythonModule(??) pyqtdeploy.PythonPackage(??) pyqtdeploy.Sysroot(??) pyqtdeploy.SysrootSpecification(??) pyqtdeploy.UserException(??) pyqtdeploy.builder(??) pyqtdeploy.builder.Builder(??) pyqtdeploy.builder.builder(??) pyqtdeploy.builder.builder.Architecture(??) pyqtdeploy.builder.builder.Builder(??) pyqtdeploy.builder.builder.ComponentLibrary(??) pyqtdeploy.builder.builder.DataFile(??) pyqtdeploy.builder.builder.ExtensionModule(??) pyqtdeploy.builder.builder.PYQTDEPLOY_HEXVERSION pyqtdeploy.builder.builder.Part(??) pyqtdeploy.builder.builder.Platform(??) pyqtdeploy.builder.builder.Project(??) pyqtdeploy.builder.builder.PythonModule(??) pyqtdeploy.builder.builder.PythonPackage(??) pyqtdeploy.builder.builder.Sysroot(??) pyqtdeploy.builder.builder.UserException(??) pyqtdeploy.builder.builder.VersionNumber(??) pyqtdeploy.builder.builder.create_file(??) pyqtdeploy.builder.builder.csv(??) pyqtdeploy.builder.builder.glob(??) pyqtdeploy.builder.builder.open_file(??) pyqtdeploy.builder.builder.os(??) pyqtdeploy.builder.builder.shlex(??) pyqtdeploy.builder.builder.shutil(??) pyqtdeploy.builder.builder.tempfile(??) pyqtdeploy.file_utilities(??) pyqtdeploy.file_utilities.UserException(??) pyqtdeploy.file_utilities.create_file(??) pyqtdeploy.file_utilities.open_file(??) pyqtdeploy.gui.ProjectGUI(??) pyqtdeploy.gui.application_page(??) pyqtdeploy.gui.application_page.ApplicationPage(??) pyqtdeploy.gui.application_page.BetterForm(??) pyqtdeploy.gui.application_page.CollapsibleWidget(??) pyqtdeploy.gui.application_page.FilenameEditor(??) pyqtdeploy.gui.application_page.PackageEditor(??) pyqtdeploy.gui.application_page.QCheckBox(parent: QWidget = None) pyqtdeploy.gui.application_page.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]) pyqtdeploy.gui.application_page.QFontInfo(QFont) pyqtdeploy.gui.application_page.QGridLayout(QWidget) pyqtdeploy.gui.application_page.QGroupBox(parent: QWidget = None) pyqtdeploy.gui.application_page.QGuiApplication(List[str]) pyqtdeploy.gui.application_page.QLineEdit(parent: QWidget = None) pyqtdeploy.gui.application_page.QPlainTextEdit(parent: QWidget = None) pyqtdeploy.gui.application_page.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) pyqtdeploy.gui.application_page.Qt(??) pyqtdeploy.gui.better_form(??) pyqtdeploy.gui.better_form.BetterForm(??) pyqtdeploy.gui.better_form.QFormLayout(parent: QWidget = None) pyqtdeploy.gui.better_form.QWidgetItem(QWidget) pyqtdeploy.gui.better_form.Qt(??) pyqtdeploy.gui.collapsible_widget(??) pyqtdeploy.gui.collapsible_widget.CollapsibleWidget(??) pyqtdeploy.gui.collapsible_widget.QGuiApplication(List[str]) pyqtdeploy.gui.collapsible_widget.QToolButton(parent: QWidget = None) pyqtdeploy.gui.collapsible_widget.QVBoxLayout() pyqtdeploy.gui.collapsible_widget.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) pyqtdeploy.gui.collapsible_widget.Qt(??) pyqtdeploy.gui.exception_handlers(??) pyqtdeploy.gui.exception_handlers.QMessageBox(parent: QWidget = None) pyqtdeploy.gui.exception_handlers.handle_user_exception(??) pyqtdeploy.gui.filename_editor(??) pyqtdeploy.gui.filename_editor.FilenameEditor(??) pyqtdeploy.gui.filename_editor.QDir(QDir) pyqtdeploy.gui.filename_editor.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]) pyqtdeploy.gui.filename_editor.QHBoxLayout() pyqtdeploy.gui.filename_editor.QLineEdit(parent: QWidget = None) pyqtdeploy.gui.filename_editor.QStyle() pyqtdeploy.gui.filename_editor.QToolButton(parent: QWidget = None) pyqtdeploy.gui.filename_editor.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) pyqtdeploy.gui.filename_editor.pyqtSignal(??) pyqtdeploy.gui.filename_editor_delegate.FilenameEditor(??) pyqtdeploy.gui.filename_editor_delegate.FilenameEditorDelegate(??) pyqtdeploy.gui.filename_editor_delegate.QStyledItemDelegate(parent: QObject = None) pyqtdeploy.gui.filename_editor_delegate.Qt(??) pyqtdeploy.gui.handle_user_exception(??) pyqtdeploy.gui.package_editor(??) pyqtdeploy.gui.package_editor.PackageEditor(??) pyqtdeploy.gui.package_editor.QDir(QDir) pyqtdeploy.gui.package_editor.QGridLayout(QWidget) pyqtdeploy.gui.package_editor.QMessageBox(parent: QWidget = None) pyqtdeploy.gui.package_editor.QPushButton(parent: QWidget = None) pyqtdeploy.gui.package_editor.QTreeWidget(parent: QWidget = None) pyqtdeploy.gui.package_editor.QTreeWidgetItem(type: int = QTreeWidgetItem.Type) pyqtdeploy.gui.package_editor.QTreeWidgetItemIterator(QTreeWidgetItemIterator) pyqtdeploy.gui.package_editor.QrcDirectory(??) pyqtdeploy.gui.package_editor.QrcFile(??) pyqtdeploy.gui.package_editor.Qt(??) pyqtdeploy.gui.package_editor.fnmatch(??) pyqtdeploy.gui.package_editor.pyqtSignal(??) pyqtdeploy.gui.packages_page(??) pyqtdeploy.gui.packages_page.Architecture(??) pyqtdeploy.gui.packages_page.BetterForm(??) pyqtdeploy.gui.packages_page.FilenameEditor(??) pyqtdeploy.gui.packages_page.PackagesPage(??) pyqtdeploy.gui.packages_page.Part(??) pyqtdeploy.gui.packages_page.PartItem(??) pyqtdeploy.gui.packages_page.PartsEditor(??) pyqtdeploy.gui.packages_page.QColor(Qt.GlobalColor) pyqtdeploy.gui.packages_page.QSizePolicy() pyqtdeploy.gui.packages_page.QSplitter(parent: QWidget = None) pyqtdeploy.gui.packages_page.QTreeWidget(parent: QWidget = None) pyqtdeploy.gui.packages_page.QTreeWidgetItem(type: int = QTreeWidgetItem.Type) pyqtdeploy.gui.packages_page.QTreeWidgetItemIterator(QTreeWidgetItemIterator) pyqtdeploy.gui.packages_page.QVBoxLayout() pyqtdeploy.gui.packages_page.QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) pyqtdeploy.gui.packages_page.Qt(??) pyqtdeploy.gui.packages_page.Sysroot(??) pyqtdeploy.gui.packages_page.os(??) pyqtdeploy.gui.project_gui(??) pyqtdeploy.gui.project_gui.ApplicationPage(??) pyqtdeploy.gui.project_gui.PYQTDEPLOY_RELEASE pyqtdeploy.gui.project_gui.PackagesPage(??) pyqtdeploy.gui.project_gui.Project(??) pyqtdeploy.gui.project_gui.ProjectGUI(??) pyqtdeploy.gui.project_gui.ProjectWrapper(??) pyqtdeploy.gui.project_gui.QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType]) pyqtdeploy.gui.project_gui.QFileInfo() pyqtdeploy.gui.project_gui.QKeySequence() pyqtdeploy.gui.project_gui.QMainWindow(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) pyqtdeploy.gui.project_gui.QMessageBox(parent: QWidget = None) pyqtdeploy.gui.project_gui.QPoint() pyqtdeploy.gui.project_gui.QSettings(str, application: str = '', parent: QObject = None) pyqtdeploy.gui.project_gui.QSize() pyqtdeploy.gui.project_gui.QTabWidget(parent: QWidget = None) pyqtdeploy.gui.project_gui.QWhatsThis(QWhatsThis) pyqtdeploy.gui.project_gui.UserException(??) pyqtdeploy.gui.project_gui.handle_user_exception(??) pyqtdeploy.gui.project_gui.os(??) pyqtdeploy.gui.project_wrapper(??) pyqtdeploy.gui.project_wrapper.ProjectWrapper(??) pyqtdeploy.gui.project_wrapper.QObject(parent: QObject = None) pyqtdeploy.gui.project_wrapper.pyqtSignal(??) pyqtdeploy.message_handler(??) pyqtdeploy.message_handler.MessageHandler(??) pyqtdeploy.message_handler.os(??) pyqtdeploy.message_handler.sys(??) pyqtdeploy.parts(??) pyqtdeploy.parts.CompiledPart(??) pyqtdeploy.parts.ComponentLibrary(??) pyqtdeploy.parts.DataFile(??) pyqtdeploy.parts.ExtensionModule(??) pyqtdeploy.parts.Part(??) pyqtdeploy.parts.PythonModule(??) pyqtdeploy.parts.PythonPackage(??) pyqtdeploy.parts.VersionNumber(??) pyqtdeploy.platforms(??) pyqtdeploy.platforms.Android(??) pyqtdeploy.platforms.AndroidArchitecture(??) pyqtdeploy.platforms.Android_arm_32(??) pyqtdeploy.platforms.Android_arm_64(??) pyqtdeploy.platforms.ApplePlatform(??) pyqtdeploy.platforms.Architecture(??) pyqtdeploy.platforms.Linux(??) pyqtdeploy.platforms.Linux_x86_32(??) pyqtdeploy.platforms.Linux_x86_64(??) pyqtdeploy.platforms.Platform(??) pyqtdeploy.platforms.UserException(??) pyqtdeploy.platforms.VersionNumber(??) pyqtdeploy.platforms.Windows(??) pyqtdeploy.platforms.WindowsArchitecture(??) pyqtdeploy.platforms.Windows_x86_32(??) pyqtdeploy.platforms.Windows_x86_64(??) pyqtdeploy.platforms.glob(??) pyqtdeploy.platforms.iOS(??) pyqtdeploy.platforms.iOS_arm_64(??) pyqtdeploy.platforms.macOS(??) pyqtdeploy.platforms.macOS_x86_64(??) pyqtdeploy.platforms.os(??) pyqtdeploy.platforms.subprocess(??) pyqtdeploy.platforms.sys(??) pyqtdeploy.project(??) pyqtdeploy.project.Project(??) pyqtdeploy.project.QrcDirectory(??) pyqtdeploy.project.QrcFile(??) pyqtdeploy.project.QrcPackage(??) pyqtdeploy.project.legacy(??) pyqtdeploy.project.legacy.Element(??) pyqtdeploy.project.legacy.ElementTree(??) pyqtdeploy.project.legacy.Platform(??) pyqtdeploy.project.legacy.QrcDirectory(??) pyqtdeploy.project.legacy.QrcFile(??) pyqtdeploy.project.legacy.QrcPackage(??) pyqtdeploy.project.legacy.SubElement(??) pyqtdeploy.project.legacy.UserException(??) pyqtdeploy.project.legacy.VersionNumber(??) pyqtdeploy.project.legacy.load_xml(??) pyqtdeploy.project.project(??) pyqtdeploy.project.project.Project(??) pyqtdeploy.project.project.QrcDirectory(??) pyqtdeploy.project.project.QrcFile(??) pyqtdeploy.project.project.QrcPackage(??) pyqtdeploy.project.project.SysrootSpecification(??) pyqtdeploy.project.project.UserException(??) pyqtdeploy.project.project.os(??) pyqtdeploy.project.project.toml(??) pyqtdeploy.project.project_parts(??) pyqtdeploy.project.project_parts.DataFile(??) pyqtdeploy.project.project_parts.PythonModule(??) pyqtdeploy.project.project_parts.QrcDirectory(??) pyqtdeploy.project.project_parts.QrcFile(??) pyqtdeploy.project.project_parts.QrcPackage(??) pyqtdeploy.project.project_parts.os(??) pyqtdeploy.pyqtdeploy_main.argparse(??) pyqtdeploy.pyqtdeploy_main.main(??) pyqtdeploy.pyqtdeploy_main.sys(??) pyqtdeploy.pyqtdeploybuild_main.Builder(??) pyqtdeploy.pyqtdeploybuild_main.MessageHandler(??) pyqtdeploy.pyqtdeploybuild_main.PYQTDEPLOY_RELEASE pyqtdeploy.pyqtdeploybuild_main.UserException(??) pyqtdeploy.pyqtdeploybuild_main.argparse(??) pyqtdeploy.pyqtdeploybuild_main.main(??) pyqtdeploy.pyqtdeploysysroot_main(??) pyqtdeploy.pyqtdeploysysroot_main.Architecture(??) pyqtdeploy.pyqtdeploysysroot_main.MessageHandler(??) pyqtdeploy.pyqtdeploysysroot_main.PYQTDEPLOY_RELEASE pyqtdeploy.pyqtdeploysysroot_main.Sysroot(??) pyqtdeploy.pyqtdeploysysroot_main.SysrootSpecification(??) pyqtdeploy.pyqtdeploysysroot_main.UserException(??) pyqtdeploy.pyqtdeploysysroot_main.argparse(??) pyqtdeploy.pyqtdeploysysroot_main.main(??) pyqtdeploy.pyqtdeploysysroot_main.os(??) pyqtdeploy.sysroot(??) pyqtdeploy.sysroot.AbstractComponent(??) pyqtdeploy.sysroot.AbstractPyQtComponent(??) pyqtdeploy.sysroot.AbstractPythonComponent(??) pyqtdeploy.sysroot.AbstractQtComponent(??) pyqtdeploy.sysroot.AbstractSIPComponent(??) pyqtdeploy.sysroot.Component(??) pyqtdeploy.sysroot.ComponentOption(??) pyqtdeploy.sysroot.Sysroot(??) pyqtdeploy.sysroot.SysrootSpecification(??) pyqtdeploy.sysroot.abstract_component(??) pyqtdeploy.sysroot.abstract_component.ABC(??) pyqtdeploy.sysroot.abstract_component.AbstractComponent(??) pyqtdeploy.sysroot.abstract_component.CompiledPart(??) pyqtdeploy.sysroot.abstract_component.ComponentOption(??) pyqtdeploy.sysroot.abstract_component.ExtensionModule(??) pyqtdeploy.sysroot.abstract_component.Part(??) pyqtdeploy.sysroot.abstract_component.abstractmethod(??) pyqtdeploy.sysroot.abstract_component.copy(??) pyqtdeploy.sysroot.abstract_component.os(??) pyqtdeploy.sysroot.abstract_component.shutil(??) pyqtdeploy.sysroot.abstract_pyqt_component(??) pyqtdeploy.sysroot.abstract_pyqt_component.AbstractPyQtComponent(??) pyqtdeploy.sysroot.abstract_pyqt_component.Component(??) pyqtdeploy.sysroot.abstract_pyqt_component.abstractmethod(??) pyqtdeploy.sysroot.abstract_python_component(??) pyqtdeploy.sysroot.abstract_python_component.AbstractPythonComponent(??) pyqtdeploy.sysroot.abstract_python_component.Component(??) pyqtdeploy.sysroot.abstract_python_component.abstractmethod(??) pyqtdeploy.sysroot.abstract_qt_component(??) pyqtdeploy.sysroot.abstract_qt_component.AbstractQtComponent(??) pyqtdeploy.sysroot.abstract_qt_component.Component(??) pyqtdeploy.sysroot.abstract_qt_component.abstractmethod(??) pyqtdeploy.sysroot.abstract_sip_component(??) pyqtdeploy.sysroot.abstract_sip_component.AbstractSIPComponent(??) pyqtdeploy.sysroot.abstract_sip_component.Component(??) pyqtdeploy.sysroot.abstract_sip_component.abstractmethod(??) pyqtdeploy.sysroot.component(??) pyqtdeploy.sysroot.component.AbstractComponent(??) pyqtdeploy.sysroot.component.Component(??) pyqtdeploy.sysroot.component.ComponentOption(??) pyqtdeploy.sysroot.component.HTMLParser(??) pyqtdeploy.sysroot.component.HTTPError(??) pyqtdeploy.sysroot.component.PyPIPageParser(??) pyqtdeploy.sysroot.component.abstractmethod(??) pyqtdeploy.sysroot.component.os(??) pyqtdeploy.sysroot.component.shutil(??) pyqtdeploy.sysroot.component.urlopen(??) pyqtdeploy.sysroot.component_option(??) pyqtdeploy.sysroot.component_option.ComponentOption(??) pyqtdeploy.sysroot.plugins(??) pyqtdeploy.sysroot.plugins.OpenSSL(??) pyqtdeploy.sysroot.plugins.OpenSSL.Component(??) pyqtdeploy.sysroot.plugins.OpenSSL.ComponentLibrary(??) pyqtdeploy.sysroot.plugins.OpenSSL.ComponentOption(??) pyqtdeploy.sysroot.plugins.OpenSSL.OpenSSLComponent(??) pyqtdeploy.sysroot.plugins.OpenSSL.glob(??) pyqtdeploy.sysroot.plugins.OpenSSL.os(??) pyqtdeploy.sysroot.plugins.OpenSSL.shutil(??) pyqtdeploy.sysroot.plugins.PyQt.AbstractPyQtComponent(??) pyqtdeploy.sysroot.plugins.PyQt.ComponentOption(??) pyqtdeploy.sysroot.plugins.PyQt.ExtensionModule(??) pyqtdeploy.sysroot.plugins.PyQt.PyQtComponent(??) pyqtdeploy.sysroot.plugins.PyQt.PythonModule(??) pyqtdeploy.sysroot.plugins.PyQt.PythonPackage(??) pyqtdeploy.sysroot.plugins.PyQt.os(??) pyqtdeploy.sysroot.plugins.PyQt.toml(??) pyqtdeploy.sysroot.plugins.PyQt3D.Component(??) pyqtdeploy.sysroot.plugins.PyQt3D.ComponentOption(??) pyqtdeploy.sysroot.plugins.PyQt3D.ExtensionModule(??) pyqtdeploy.sysroot.plugins.PyQt3D.PyQt3DComponent(??) pyqtdeploy.sysroot.plugins.PyQt3D.os(??) pyqtdeploy.sysroot.plugins.PyQtChart(??) pyqtdeploy.sysroot.plugins.PyQtChart.Component(??) pyqtdeploy.sysroot.plugins.PyQtChart.ComponentOption(??) pyqtdeploy.sysroot.plugins.PyQtChart.ExtensionModule(??) pyqtdeploy.sysroot.plugins.PyQtChart.PyQtChartComponent(??) pyqtdeploy.sysroot.plugins.PyQtChart.os(??) pyqtdeploy.sysroot.plugins.PyQtDataVisualization.Component(??) pyqtdeploy.sysroot.plugins.PyQtDataVisualization.ComponentOption(??) pyqtdeploy.sysroot.plugins.PyQtDataVisualization.ExtensionModule(??) pyqtdeploy.sysroot.plugins.PyQtDataVisualization.PyQtDataVisualizationComponent(??) pyqtdeploy.sysroot.plugins.PyQtDataVisualization.os(??) pyqtdeploy.sysroot.plugins.PyQtPurchasing.Component(??) pyqtdeploy.sysroot.plugins.PyQtPurchasing.ComponentOption(??) pyqtdeploy.sysroot.plugins.PyQtPurchasing.ExtensionModule(??) pyqtdeploy.sysroot.plugins.PyQtPurchasing.PyQtPurchasingComponent(??) pyqtdeploy.sysroot.plugins.PyQtPurchasing.os(??) pyqtdeploy.sysroot.plugins.PyQtWebEngine(??) pyqtdeploy.sysroot.plugins.PyQtWebEngine.Component(??) pyqtdeploy.sysroot.plugins.PyQtWebEngine.ComponentOption(??) pyqtdeploy.sysroot.plugins.PyQtWebEngine.ExtensionModule(??) pyqtdeploy.sysroot.plugins.PyQtWebEngine.PyQtWebEngineComponent(??) pyqtdeploy.sysroot.plugins.PyQtWebEngine.os(??) pyqtdeploy.sysroot.plugins.Python(??) pyqtdeploy.sysroot.plugins.Python.PythonComponent(??) pyqtdeploy.sysroot.plugins.Python.pyconfig(??) pyqtdeploy.sysroot.plugins.Python.pyconfig.Config(??) pyqtdeploy.sysroot.plugins.Python.pyconfig.generate_pyconfig_h(??) pyqtdeploy.sysroot.plugins.Python.pyconfig.pyconfig(??) pyqtdeploy.sysroot.plugins.Python.python(??) pyqtdeploy.sysroot.plugins.Python.python.AbstractPythonComponent(??) pyqtdeploy.sysroot.plugins.Python.python.ComponentOption(??) pyqtdeploy.sysroot.plugins.Python.python.LATEST_3_5_RELEASE(??) pyqtdeploy.sysroot.plugins.Python.python.LATEST_3_6_RELEASE(??) pyqtdeploy.sysroot.plugins.Python.python.LATEST_3_7_RELEASE(??) pyqtdeploy.sysroot.plugins.Python.python.PythonComponent(??) pyqtdeploy.sysroot.plugins.Python.python.generate_pyconfig_h(??) pyqtdeploy.sysroot.plugins.Python.python.os(??) pyqtdeploy.sysroot.plugins.Python.python.shutil(??) pyqtdeploy.sysroot.plugins.Python.python.standard_library(??) pyqtdeploy.sysroot.plugins.Python.python.sys(??) pyqtdeploy.sysroot.plugins.Python.standard_library(??) pyqtdeploy.sysroot.plugins.Python.standard_library.CodecModule(??) pyqtdeploy.sysroot.plugins.Python.standard_library.CoreExtensionModule(??) pyqtdeploy.sysroot.plugins.Python.standard_library.CorePythonModule(??) pyqtdeploy.sysroot.plugins.Python.standard_library.ExtensionModule(??) pyqtdeploy.sysroot.plugins.Python.standard_library.PythonModule(??) pyqtdeploy.sysroot.plugins.Python.standard_library.standard_library(??) pyqtdeploy.sysroot.plugins.QScintilla(??) pyqtdeploy.sysroot.plugins.QScintilla.Component(??) pyqtdeploy.sysroot.plugins.QScintilla.ComponentOption(??) pyqtdeploy.sysroot.plugins.QScintilla.ExtensionModule(??) pyqtdeploy.sysroot.plugins.QScintilla.QScintillaComponent(??) pyqtdeploy.sysroot.plugins.QScintilla.os(??) pyqtdeploy.sysroot.plugins.Qt(??) pyqtdeploy.sysroot.plugins.Qt.AbstractQtComponent(??) pyqtdeploy.sysroot.plugins.Qt.ComponentOption(??) pyqtdeploy.sysroot.plugins.Qt.QtComponent(??) pyqtdeploy.sysroot.plugins.Qt.os(??) pyqtdeploy.sysroot.plugins.Qt.sys(??) pyqtdeploy.sysroot.plugins.SIP(??) pyqtdeploy.sysroot.plugins.SIP.AbstractSIPComponent(??) pyqtdeploy.sysroot.plugins.SIP.ComponentOption(??) pyqtdeploy.sysroot.plugins.SIP.ExtensionModule(??) pyqtdeploy.sysroot.plugins.SIP.SIPComponent(??) pyqtdeploy.sysroot.plugins.SIP.os(??) pyqtdeploy.sysroot.plugins.zlib.Component(??) pyqtdeploy.sysroot.plugins.zlib.ComponentLibrary(??) pyqtdeploy.sysroot.plugins.zlib.ComponentOption(??) pyqtdeploy.sysroot.plugins.zlib.os(??) pyqtdeploy.sysroot.plugins.zlib.zlibComponent(??) pyqtdeploy.sysroot.specification(??) pyqtdeploy.sysroot.specification.AbstractComponent(??) pyqtdeploy.sysroot.specification.AbstractPythonComponent(??) pyqtdeploy.sysroot.specification.AbstractQtComponent(??) pyqtdeploy.sysroot.specification.AbstractSIPComponent(??) pyqtdeploy.sysroot.specification.Architecture(??) pyqtdeploy.sysroot.specification.OrderedDict(??) pyqtdeploy.sysroot.specification.SysrootSpecification(??) pyqtdeploy.sysroot.specification.UserException(??) pyqtdeploy.sysroot.specification.importlib(??) pyqtdeploy.sysroot.specification.os(??) pyqtdeploy.sysroot.specification.shutil(??) pyqtdeploy.sysroot.specification.toml(??) pyqtdeploy.sysroot.sysroot(??) pyqtdeploy.sysroot.sysroot.Platform(??) pyqtdeploy.sysroot.sysroot.Sysroot(??) pyqtdeploy.sysroot.sysroot.UserException(??) pyqtdeploy.sysroot.sysroot.VersionNumber(??) pyqtdeploy.sysroot.sysroot.fu_create_file(??) pyqtdeploy.sysroot.sysroot.fu_open_file(??) pyqtdeploy.sysroot.sysroot.os(??) pyqtdeploy.sysroot.sysroot.shutil(??) pyqtdeploy.sysroot.sysroot.sys(??) pyqtdeploy.user_exception(??) pyqtdeploy.user_exception.UserException(??) pyqtdeploy.version(??) pyqtdeploy.version.PYQTDEPLOY_HEXVERSION pyqtdeploy.version.PYQTDEPLOY_RELEASE pyqtdeploy.version_number(??) pyqtdeploy.version_number.UserException(??) pyqtdeploy.version_number.VersionNumber(??) pyqtdeploy.version_number.namedtuple(??) queue.Empty(??) queue.Full(??) queue.LifoQueue(??) queue.PriorityQueue(??) queue.Queue(??) queue.SimpleQueue(??) queue.deque([iterable[, maxlen]]) --> deque object queue.heappop(??) queue.heappush(??) queue.threading(??) queue.time(??) queue.types(??) quit(??) quopri.EMPTYSTRING quopri.ESCAPE quopri.HEX quopri.MAXLINESIZE quopri.a2b_qp(??) quopri.b2a_qp(??) quopri.decode(??) quopri.decodestring(??) quopri.encode(??) quopri.encodestring(??) quopri.ishex(??) quopri.main(??) quopri.needsquoting(??) quopri.quote(??) quopri.unhex(??) random.BPF random.LOG4 random.NV_MAGICCONST random.RECIP_BPF random.Random(??) random.SG_MAGICCONST random.SystemRandom(??) random.TWOPI random.betavariate(??) random.choice(??) random.choices(??) random.expovariate(??) random.gammavariate(??) random.gauss(??) random.getrandbits(k) -> x. Generates an int with k random bits. random.getstate(??) random.lognormvariate(??) random.normalvariate(??) random.paretovariate(??) random.randbytes(??) random.randint(??) random.random() -> x in the interval [0, 1). random.randrange(??) random.sample(??) random.seed(??) random.setstate(??) random.shuffle(??) random.triangular(??) random.uniform(??) random.vonmisesvariate(??) random.weibullvariate(??) range(stop) -> range object re.A(??) re.ASCII(??) re.DEBUG(??) re.DOTALL(??) re.I(??) re.IGNORECASE(??) re.L(??) re.LOCALE(??) re.M(??) re.MULTILINE(??) re.Match(??) re.Pattern(??) re.RegexFlag(??) re.S(??) re.Scanner(??) re.T(??) re.TEMPLATE(??) re.U(??) re.UNICODE(??) re.VERBOSE(??) re.X(??) re.compile(??) re.copyreg(??) re.enum(??) re.error(??) re.escape(??) re.findall(??) re.finditer(??) re.fullmatch(??) re.functools(??) re.match(??) re.purge(??) re.search(??) re.split(??) re.sre_compile(??) re.sre_parse(??) re.sub(??) re.subn(??) re.template(??) repr(??) reprlib.Repr(??) reprlib.aRepr(??) reprlib.builtins(??) reprlib.get_ident() -> integer reprlib.islice(iterable, stop) --> islice object reprlib.recursive_repr(??) reprlib.repr(??) reversed(??) rlcompleter.Completer(??) rlcompleter.atexit(??) rlcompleter.builtins(??) rlcompleter.get_class_members(??) rlcompleter.readline(??) round(??) runpy.get_importer(??) runpy.importlib(??) runpy.io(??) runpy.os(??) runpy.read_code(??) runpy.run_module(??) runpy.run_path(??) runpy.sys(??) runpy.types(??) sched.Event(??) sched.heapq(??) sched.namedtuple(??) sched.scheduler(??) sched.threading(??) sched.time(??) secrets.DEFAULT_ENTROPY secrets.SystemRandom(??) secrets.base64(??) secrets.binascii(??) secrets.choice(??) secrets.compare_digest(??) secrets.randbelow(??) secrets.randbits(??) secrets.token_bytes(??) secrets.token_hex(??) secrets.token_urlsafe(??) selectors.ABCMeta(??) selectors.BaseSelector(??) selectors.DefaultSelector(??) selectors.EVENT_READ selectors.EVENT_WRITE selectors.KqueueSelector(??) selectors.Mapping(??) selectors.PollSelector(??) selectors.SelectSelector(??) selectors.SelectorKey(fileobj, fd, events, data) selectors.abstractmethod(??) selectors.math(??) selectors.namedtuple(??) selectors.select(??) selectors.sys(??) set() -> new empty set object setattr(??) shelve.BsdDbShelf(??) shelve.BytesIO(??) shelve.DbfilenameShelf(??) shelve.Pickler(??) shelve.Shelf(??) shelve.Unpickler(??) shelve.collections(??) shelve.open(??) shlex.StringIO(??) shlex.deque([iterable[, maxlen]]) --> deque object shlex.join(??) shlex.os(??) shlex.quote(??) shlex.re(??) shlex.shlex(??) shlex.split(??) shlex.sys(??) shutil.COPY_BUFSIZE shutil.Error(??) shutil.ExecError(??) shutil.ReadError(??) shutil.RegistryError(??) shutil.SameFileError(??) shutil.SpecialFileError(??) shutil.chown(??) shutil.collections(??) shutil.copy(??) shutil.copy2(??) shutil.copyfile(??) shutil.copyfileobj(??) shutil.copymode(??) shutil.copystat(??) shutil.copytree(??) shutil.disk_usage(??) shutil.errno(??) shutil.fnmatch(??) shutil.get_archive_formats(??) shutil.get_terminal_size(??) shutil.get_unpack_formats(??) shutil.getgrnam(??) shutil.getpwnam(??) shutil.ignore_patterns(??) shutil.make_archive(??) shutil.move(??) shutil.nt(??) shutil.os(??) shutil.posix(??) shutil.register_archive_format(??) shutil.register_unpack_format(??) shutil.rmtree(??) shutil.stat(??) shutil.sys(??) shutil.unpack_archive(??) shutil.unregister_archive_format(??) shutil.unregister_unpack_format(??) shutil.which(??) signal.Handlers(??) signal.ITIMER_PROF signal.ITIMER_REAL signal.ITIMER_VIRTUAL signal.ItimerError(??) signal.NSIG signal.SIGABRT(??) signal.SIGALRM(??) signal.SIGBUS(??) signal.SIGCHLD(??) signal.SIGCONT(??) signal.SIGEMT(??) signal.SIGFPE(??) signal.SIGHUP(??) signal.SIGILL(??) signal.SIGINFO(??) signal.SIGINT(??) signal.SIGIO(??) signal.SIGIOT(??) signal.SIGKILL(??) signal.SIGPIPE(??) signal.SIGPROF(??) signal.SIGQUIT(??) signal.SIGSEGV(??) signal.SIGSTOP(??) signal.SIGSYS(??) signal.SIGTERM(??) signal.SIGTRAP(??) signal.SIGTSTP(??) signal.SIGTTIN(??) signal.SIGTTOU(??) signal.SIGURG(??) signal.SIGUSR1(??) signal.SIGUSR2(??) signal.SIGVTALRM(??) signal.SIGWINCH(??) signal.SIGXCPU(??) signal.SIGXFSZ(??) signal.SIG_BLOCK(??) signal.SIG_DFL(??) signal.SIG_IGN(??) signal.SIG_SETMASK(??) signal.SIG_UNBLOCK(??) signal.Sigmasks(??) signal.Signals(??) signal.alarm(??) signal.default_int_handler(...) signal.getitimer(??) signal.getsignal(??) signal.pause(??) signal.pthread_kill(??) signal.pthread_sigmask(??) signal.raise_signal(??) signal.set_wakeup_fd(fd, *, warn_on_full_buffer=True) -> fd signal.setitimer(??) signal.siginterrupt(??) signal.signal(??) signal.sigpending(??) signal.sigwait(??) signal.strsignal(??) signal.valid_signals(??) sipbuild.AbstractBuilder(??) sipbuild.AbstractProject(??) sipbuild.Bindings(??) sipbuild.Buildable(??) sipbuild.BuildableBindings(??) sipbuild.BuildableExecutable(??) sipbuild.BuildableFromSources(??) sipbuild.BuildableModule(??) sipbuild.Builder(??) sipbuild.DistutilsBuilder(??) sipbuild.Installable(??) sipbuild.Option(??) sipbuild.Project(??) sipbuild.PyProjectOptionException(??) sipbuild.PyProjectUndefinedOptionException(??) sipbuild.SIP_VERSION sipbuild.SIP_VERSION_STR sipbuild.UserException(??) sipbuild.abstract_builder(??) sipbuild.abstract_builder.ABC(??) sipbuild.abstract_builder.AbstractBuilder(??) sipbuild.abstract_builder.Configurable(??) sipbuild.abstract_builder.abstractmethod(??) sipbuild.abstract_project(??) sipbuild.abstract_project.ABC(??) sipbuild.abstract_project.AbstractProject(??) sipbuild.abstract_project.PyProject(??) sipbuild.abstract_project.PyProjectOptionException(??) sipbuild.abstract_project.UserException(??) sipbuild.abstract_project.abstractmethod(??) sipbuild.abstract_project.importlib(??) sipbuild.abstract_project.os(??) sipbuild.api.AbstractProject(??) sipbuild.api.build_sdist(??) sipbuild.api.build_wheel(??) sipbuild.api.handle_exception(??) sipbuild.argument_parser(??) sipbuild.argument_parser.ArgParser(??) sipbuild.argument_parser.ArgumentParser(??) sipbuild.argument_parser.SIP_VERSION_STR sipbuild.bindings(??) sipbuild.bindings.Bindings(??) sipbuild.bindings.BuildableBindings(??) sipbuild.bindings.Configurable(??) sipbuild.bindings.Installable(??) sipbuild.bindings.Option(??) sipbuild.bindings.UserException(??) sipbuild.bindings.copy_nonshared_sources(??) sipbuild.bindings.generateAPI(??) sipbuild.bindings.generateCode(??) sipbuild.bindings.generateExtracts(??) sipbuild.bindings.generateTypeHints(??) sipbuild.bindings.generateXML(??) sipbuild.bindings.os(??) sipbuild.bindings.parse(??) sipbuild.bindings.sys(??) sipbuild.buildable(??) sipbuild.buildable.Buildable(??) sipbuild.buildable.BuildableBindings(??) sipbuild.buildable.BuildableExecutable(??) sipbuild.buildable.BuildableFromSources(??) sipbuild.buildable.BuildableModule(??) sipbuild.buildable.Installable(??) sipbuild.buildable.SIP_VERSION_STR sipbuild.buildable.UserException(??) sipbuild.buildable.importlib(??) sipbuild.buildable.os(??) sipbuild.buildable.sys(??) sipbuild.builder(??) sipbuild.builder.AbstractBuilder(??) sipbuild.builder.BuildableFromSources(??) sipbuild.builder.Builder(??) sipbuild.builder.FIRST_SUPPORTED_MINOR sipbuild.builder.Installable(??) sipbuild.builder.LAST_SUPPORTED_MINOR sipbuild.builder.SIP_VERSION sipbuild.builder.SIP_VERSION_STR sipbuild.builder.UserException(??) sipbuild.builder.abstractmethod(??) sipbuild.builder.copy_sip_h(??) sipbuild.builder.get_platform(??) sipbuild.builder.glob(??) sipbuild.builder.os(??) sipbuild.builder.set_globals(??) sipbuild.builder.shutil(??) sipbuild.builder.stat(??) sipbuild.builder.sys(??) sipbuild.builder.write_metadata(??) sipbuild.code_generator(??) sipbuild.configurable(??) sipbuild.configurable.Configurable(??) sipbuild.configurable.Marker(??) sipbuild.configurable.Option(??) sipbuild.configurable.PyProjectOptionException(??) sipbuild.configurable.UserException(??) sipbuild.distinfo(??) sipbuild.distinfo.create_distinfo(??) sipbuild.distinfo.distinfo(??) sipbuild.distinfo.distinfo.PyProject(??) sipbuild.distinfo.distinfo.SIP_VERSION_STR sipbuild.distinfo.distinfo.UserException(??) sipbuild.distinfo.distinfo.WHEEL_VERSION sipbuild.distinfo.distinfo.base64(??) sipbuild.distinfo.distinfo.create_distinfo(??) sipbuild.distinfo.distinfo.distinfo(??) sipbuild.distinfo.distinfo.hashlib(??) sipbuild.distinfo.distinfo.os(??) sipbuild.distinfo.distinfo.shutil(??) sipbuild.distinfo.distinfo.sys(??) sipbuild.distinfo.distinfo.write_metadata(??) sipbuild.distinfo.main.ArgumentParser(??) sipbuild.distinfo.main.distinfo(??) sipbuild.distinfo.main.handle_exception(??) sipbuild.distinfo.main.main(??) sipbuild.distinfo.write_metadata(??) sipbuild.distutils_builder(??) sipbuild.distutils_builder.BuildableModule(??) sipbuild.distutils_builder.Builder(??) sipbuild.distutils_builder.Distribution(??) sipbuild.distutils_builder.DistutilsBuilder(??) sipbuild.distutils_builder.ERROR sipbuild.distutils_builder.Extension(??) sipbuild.distutils_builder.ExtensionCommand(??) sipbuild.distutils_builder.INFO sipbuild.distutils_builder.Installable(??) sipbuild.distutils_builder.UserException(??) sipbuild.distutils_builder.build_ext(??) sipbuild.distutils_builder.os(??) sipbuild.distutils_builder.set_threshold(??) sipbuild.exceptions(??) sipbuild.exceptions.UserException(??) sipbuild.exceptions.UserFileException(??) sipbuild.exceptions.UserParseException(??) sipbuild.exceptions.handle_exception(??) sipbuild.exceptions.os(??) sipbuild.exceptions.sys(??) sipbuild.handle_exception(??) sipbuild.helpers.UserFileException(??) sipbuild.helpers.UserParseException(??) sipbuild.helpers.get_bindings_configuration(??) sipbuild.helpers.os(??) sipbuild.helpers.resolve_abi_version(??) sipbuild.helpers.toml(??) sipbuild.installable(??) sipbuild.installable.Installable(??) sipbuild.installable.copy2(??) sipbuild.installable.copytree(??) sipbuild.installable.os(??) sipbuild.module(??) sipbuild.module.abi_version(??) sipbuild.module.abi_version.UserException(??) sipbuild.module.abi_version.get_module_source_dir(??) sipbuild.module.abi_version.get_sip_module_version(??) sipbuild.module.abi_version.os(??) sipbuild.module.abi_version.parse(??) sipbuild.module.abi_version.resolve_abi_version(??) sipbuild.module.copy_nonshared_sources(??) sipbuild.module.copy_sip_h(??) sipbuild.module.main.ArgumentParser(??) sipbuild.module.main.handle_exception(??) sipbuild.module.main.main(??) sipbuild.module.main.module(??) sipbuild.module.module(??) sipbuild.module.module.SIP_VERSION sipbuild.module.module.SIP_VERSION_STR sipbuild.module.module.copy_nonshared_sources(??) sipbuild.module.module.copy_sip_h(??) sipbuild.module.module.get_module_source_dir(??) sipbuild.module.module.get_sip_module_version(??) sipbuild.module.module.module(??) sipbuild.module.module.os(??) sipbuild.module.module.resolve_abi_version(??) sipbuild.module.module.shutil(??) sipbuild.module.module.subprocess(??) sipbuild.module.module.sys(??) sipbuild.module.resolve_abi_version(??) sipbuild.project(??) sipbuild.project.AbstractBuilder(??) sipbuild.project.AbstractProject(??) sipbuild.project.Bindings(??) sipbuild.project.Configurable(??) sipbuild.project.FIRST_SUPPORTED_MINOR sipbuild.project.LAST_SUPPORTED_MINOR sipbuild.project.Option(??) sipbuild.project.OrderedDict(??) sipbuild.project.Project(??) sipbuild.project.PyProjectException(??) sipbuild.project.PyProjectOptionException(??) sipbuild.project.PyProjectUndefinedOptionException(??) sipbuild.project.UserException(??) sipbuild.project.get_python_inc(??) sipbuild.project.get_python_lib(??) sipbuild.project.os(??) sipbuild.project.packaging(??) sipbuild.project.resolve_abi_version(??) sipbuild.project.shutil(??) sipbuild.project.subprocess(??) sipbuild.project.sys(??) sipbuild.project.tempfile(??) sipbuild.project.warnings(??) sipbuild.py_versions(??) sipbuild.py_versions.FIRST_SUPPORTED_MINOR sipbuild.py_versions.LAST_SUPPORTED_MINOR sipbuild.pyproject(??) sipbuild.pyproject.FIRST_SUPPORTED_MINOR sipbuild.pyproject.OrderedDict(??) sipbuild.pyproject.PyProject(??) sipbuild.pyproject.PyProjectException(??) sipbuild.pyproject.PyProjectOptionException(??) sipbuild.pyproject.PyProjectUndefinedOptionException(??) sipbuild.pyproject.UserFileException(??) sipbuild.pyproject.UserParseException(??) sipbuild.pyproject.toml(??) sipbuild.tools(??) sipbuild.tools.build(??) sipbuild.tools.build.AbstractProject(??) sipbuild.tools.build.handle_exception(??) sipbuild.tools.build.main(??) sipbuild.tools.install.AbstractProject(??) sipbuild.tools.install.handle_exception(??) sipbuild.tools.install.main(??) sipbuild.tools.sdist.AbstractProject(??) sipbuild.tools.sdist.handle_exception(??) sipbuild.tools.sdist.main(??) sipbuild.tools.wheel.AbstractProject(??) sipbuild.tools.wheel.handle_exception(??) sipbuild.tools.wheel.main(??) sipbuild.version(??) sipbuild.version.SIP_VERSION sipbuild.version.SIP_VERSION_STR site.ENABLE_USER_SITE(??) site.PREFIXES(??) site.USER_BASE site.USER_SITE site.abs_paths(??) site.addpackage(??) site.addsitedir(??) site.addsitepackages(??) site.addusersitepackages(??) site.builtins(??) site.check_enableusersite(??) site.enablerlcompleter(??) site.execsitecustomize(??) site.execusercustomize(??) site.getsitepackages(??) site.getuserbase(??) site.getusersitepackages(??) site.io(??) site.main(??) site.makepath(??) site.os(??) site.removeduppaths(??) site.setcopyright(??) site.sethelper(??) site.setquit(??) site.sys(??) site.venv(??) slice(stop) smtpd.COMMASPACE smtpd.DATA_SIZE_DEFAULT smtpd.DEBUGSTREAM(??) smtpd.DebuggingServer(??) smtpd.Devnull(??) smtpd.MailmanProxy(??) smtpd.NEWLINE smtpd.Options(??) smtpd.PureProxy(??) smtpd.SMTPChannel(??) smtpd.SMTPServer(??) smtpd.asynchat(??) smtpd.asyncore(??) smtpd.collections(??) smtpd.errno(??) smtpd.get_addr_spec(??) smtpd.get_angle_addr(??) smtpd.getopt(??) smtpd.os(??) smtpd.parseargs(??) smtpd.program smtpd.socket(??) smtpd.sys(??) smtpd.time(??) smtpd.usage(??) smtpd.warn(??) smtplib.CRLF smtplib.LMTP(??) smtplib.LMTP_PORT smtplib.OLDSTYLE_AUTH(??) smtplib.SMTP(??) smtplib.SMTPAuthenticationError(??) smtplib.SMTPConnectError(??) smtplib.SMTPDataError(??) smtplib.SMTPException(??) smtplib.SMTPHeloError(??) smtplib.SMTPNotSupportedError(??) smtplib.SMTPRecipientsRefused(??) smtplib.SMTPResponseException(??) smtplib.SMTPSenderRefused(??) smtplib.SMTPServerDisconnected(??) smtplib.SMTP_PORT smtplib.SMTP_SSL(??) smtplib.SMTP_SSL_PORT smtplib.bCRLF smtplib.base64(??) smtplib.copy(??) smtplib.datetime(??) smtplib.email(??) smtplib.encode_base64(??) smtplib.hmac(??) smtplib.io(??) smtplib.quoteaddr(??) smtplib.quotedata(??) smtplib.re(??) smtplib.socket(??) smtplib.ssl(??) smtplib.sys(??) sndhdr.SndHeaders(filetype, framerate, nchannels, nframes, sampwidth) sndhdr.get_long_be(??) sndhdr.get_long_le(??) sndhdr.get_short_be(??) sndhdr.get_short_le(??) sndhdr.namedtuple(??) sndhdr.test(??) sndhdr.test_8svx(??) sndhdr.test_aifc(??) sndhdr.test_au(??) sndhdr.test_hcom(??) sndhdr.test_sndr(??) sndhdr.test_sndt(??) sndhdr.test_voc(??) sndhdr.test_wav(??) sndhdr.testall(??) sndhdr.tests(??) sndhdr.what(??) sndhdr.whathdr(??) socket.AF_APPLETALK(??) socket.AF_DECnet socket.AF_INET(??) socket.AF_INET6(??) socket.AF_IPX(??) socket.AF_LINK(??) socket.AF_ROUTE(??) socket.AF_SNA(??) socket.AF_SYSTEM(??) socket.AF_UNIX(??) socket.AF_UNSPEC(??) socket.AI_ADDRCONFIG(??) socket.AI_ALL(??) socket.AI_CANONNAME(??) socket.AI_DEFAULT(??) socket.AI_MASK(??) socket.AI_NUMERICHOST(??) socket.AI_NUMERICSERV(??) socket.AI_PASSIVE(??) socket.AI_V4MAPPED(??) socket.AI_V4MAPPED_CFG(??) socket.AddressFamily(??) socket.AddressInfo(??) socket.CAPI(??) socket.CMSG_LEN(length) -> control message length socket.CMSG_SPACE(length) -> buffer size socket.EAGAIN socket.EAI_ADDRFAMILY socket.EAI_AGAIN socket.EAI_BADFLAGS socket.EAI_BADHINTS socket.EAI_FAIL socket.EAI_FAMILY socket.EAI_MAX socket.EAI_MEMORY socket.EAI_NODATA socket.EAI_NONAME socket.EAI_OVERFLOW socket.EAI_PROTOCOL socket.EAI_SERVICE socket.EAI_SOCKTYPE socket.EAI_SYSTEM socket.EBADF socket.EWOULDBLOCK socket.INADDR_ALLHOSTS_GROUP socket.INADDR_ANY socket.INADDR_BROADCAST socket.INADDR_LOOPBACK socket.INADDR_MAX_LOCAL_GROUP socket.INADDR_NONE socket.INADDR_UNSPEC_GROUP socket.IPPORT_RESERVED socket.IPPORT_USERRESERVED socket.IPPROTO_AH socket.IPPROTO_DSTOPTS socket.IPPROTO_EGP socket.IPPROTO_EON socket.IPPROTO_ESP socket.IPPROTO_FRAGMENT socket.IPPROTO_GGP socket.IPPROTO_GRE socket.IPPROTO_HELLO socket.IPPROTO_HOPOPTS socket.IPPROTO_ICMP socket.IPPROTO_ICMPV6 socket.IPPROTO_IDP socket.IPPROTO_IGMP socket.IPPROTO_IP socket.IPPROTO_IPCOMP socket.IPPROTO_IPIP socket.IPPROTO_IPV4 socket.IPPROTO_IPV6 socket.IPPROTO_MAX socket.IPPROTO_ND socket.IPPROTO_NONE socket.IPPROTO_PIM socket.IPPROTO_PUP socket.IPPROTO_RAW socket.IPPROTO_ROUTING socket.IPPROTO_RSVP socket.IPPROTO_SCTP socket.IPPROTO_TCP socket.IPPROTO_TP socket.IPPROTO_UDP socket.IPPROTO_XTP socket.IPV6_CHECKSUM socket.IPV6_DONTFRAG socket.IPV6_DSTOPTS socket.IPV6_HOPLIMIT socket.IPV6_HOPOPTS socket.IPV6_JOIN_GROUP socket.IPV6_LEAVE_GROUP socket.IPV6_MULTICAST_HOPS socket.IPV6_MULTICAST_IF socket.IPV6_MULTICAST_LOOP socket.IPV6_NEXTHOP socket.IPV6_PATHMTU socket.IPV6_PKTINFO socket.IPV6_RECVDSTOPTS socket.IPV6_RECVHOPLIMIT socket.IPV6_RECVHOPOPTS socket.IPV6_RECVPATHMTU socket.IPV6_RECVPKTINFO socket.IPV6_RECVRTHDR socket.IPV6_RECVTCLASS socket.IPV6_RTHDR socket.IPV6_RTHDRDSTOPTS socket.IPV6_RTHDR_TYPE_0 socket.IPV6_TCLASS socket.IPV6_UNICAST_HOPS socket.IPV6_USE_MIN_MTU socket.IPV6_V6ONLY socket.IP_ADD_MEMBERSHIP socket.IP_DEFAULT_MULTICAST_LOOP socket.IP_DEFAULT_MULTICAST_TTL socket.IP_DROP_MEMBERSHIP socket.IP_HDRINCL socket.IP_MAX_MEMBERSHIPS socket.IP_MULTICAST_IF socket.IP_MULTICAST_LOOP socket.IP_MULTICAST_TTL socket.IP_OPTIONS socket.IP_RECVDSTADDR socket.IP_RECVOPTS socket.IP_RECVRETOPTS socket.IP_RETOPTS socket.IP_TOS socket.IP_TTL socket.IntEnum(??) socket.IntFlag(??) socket.LOCAL_PEERCRED socket.MSG_CTRUNC(??) socket.MSG_DONTROUTE(??) socket.MSG_DONTWAIT(??) socket.MSG_EOF(??) socket.MSG_EOR(??) socket.MSG_OOB(??) socket.MSG_PEEK(??) socket.MSG_TRUNC(??) socket.MSG_WAITALL(??) socket.MsgFlag(??) socket.NI_DGRAM socket.NI_MAXHOST socket.NI_MAXSERV socket.NI_NAMEREQD socket.NI_NOFQDN socket.NI_NUMERICHOST socket.NI_NUMERICSERV socket.PF_SYSTEM socket.SCM_CREDS socket.SCM_RIGHTS socket.SHUT_RD socket.SHUT_RDWR socket.SHUT_WR socket.SOCK_DGRAM(??) socket.SOCK_RAW(??) socket.SOCK_RDM(??) socket.SOCK_SEQPACKET(??) socket.SOCK_STREAM(??) socket.SOL_IP socket.SOL_SOCKET socket.SOL_TCP socket.SOL_UDP socket.SOMAXCONN socket.SO_ACCEPTCONN socket.SO_BROADCAST socket.SO_DEBUG socket.SO_DONTROUTE socket.SO_ERROR socket.SO_KEEPALIVE socket.SO_LINGER socket.SO_OOBINLINE socket.SO_RCVBUF socket.SO_RCVLOWAT socket.SO_RCVTIMEO socket.SO_REUSEADDR socket.SO_REUSEPORT socket.SO_SNDBUF socket.SO_SNDLOWAT socket.SO_SNDTIMEO socket.SO_TYPE socket.SO_USELOOPBACK socket.SYSPROTO_CONTROL socket.SocketIO(??) socket.SocketKind(??) socket.SocketType(??) socket.TCP_KEEPCNT socket.TCP_KEEPINTVL socket.TCP_MAXSEG socket.TCP_NODELAY socket.array(??) socket.close(integer) -> None socket.create_connection(??) socket.create_server(??) socket.dup(integer) -> integer socket.errno(??) socket.error(??) socket.fromfd(fd, family, type[, proto]) -> socket object socket.gaierror(??) socket.getaddrinfo(??) socket.getdefaulttimeout() -> timeout socket.getfqdn(??) socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) socket.gethostbyname(host) -> address socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) socket.gethostname() -> string socket.getnameinfo(sockaddr, flags) --> (host, port) socket.getprotobyname(name) -> integer socket.getservbyname(servicename[, protocolname]) -> integer socket.getservbyport(port[, protocolname]) -> string socket.has_dualstack_ipv6(??) socket.has_ipv6(??) socket.herror(??) socket.htonl(integer) -> integer socket.htons(integer) -> integer socket.if_indextoname(if_index) socket.if_nameindex() socket.if_nametoindex(if_name) socket.inet_aton(string) -> bytes giving packed 32-bit IP representation socket.inet_ntoa(packed_ip) -> ip_address_string socket.inet_ntop(af, packed_ip) -> string formatted IP address socket.inet_pton(af, ip) -> packed IP address string socket.io(??) socket.ntohl(integer) -> integer socket.ntohs(integer) -> integer socket.os(??) socket.recv_fds(sock, bufsize, maxfds[, flags]) -> (data, list of file socket.selectors(??) socket.send_fds(sock, buffers, fds[, flags[, address]]) -> integer socket.setdefaulttimeout(timeout) socket.sethostname(name) socket.socket(??) socket.socketpair([family[, type[, proto]]]) -> (socket object, socket object) socket.sys(??) socket.timeout(??) socketserver.BaseRequestHandler(??) socketserver.BaseServer(??) socketserver.BufferedIOBase(??) socketserver.DatagramRequestHandler(??) socketserver.ForkingMixIn(??) socketserver.ForkingTCPServer(??) socketserver.ForkingUDPServer(??) socketserver.StreamRequestHandler(??) socketserver.TCPServer(??) socketserver.ThreadingMixIn(??) socketserver.ThreadingTCPServer(??) socketserver.ThreadingUDPServer(??) socketserver.ThreadingUnixDatagramServer(??) socketserver.ThreadingUnixStreamServer(??) socketserver.UDPServer(??) socketserver.UnixDatagramServer(??) socketserver.UnixStreamServer(??) socketserver.os(??) socketserver.selectors(??) socketserver.socket(??) socketserver.sys(??) socketserver.threading(??) socketserver.time(??) sorted(??) sqlite3.Binary(??) sqlite3.Connection(??) sqlite3.Cursor(??) sqlite3.DataError(??) sqlite3.DatabaseError(??) sqlite3.Date(??) sqlite3.DateFromTicks(??) sqlite3.Error(??) sqlite3.IntegrityError(??) sqlite3.InterfaceError(??) sqlite3.InternalError(??) sqlite3.NotSupportedError(??) sqlite3.OperationalError(??) sqlite3.OptimizedUnicode(??) sqlite3.PARSE_COLNAMES sqlite3.PARSE_DECLTYPES sqlite3.PrepareProtocol(??) sqlite3.ProgrammingError(??) sqlite3.Row(??) sqlite3.SQLITE_ALTER_TABLE sqlite3.SQLITE_ANALYZE sqlite3.SQLITE_ATTACH sqlite3.SQLITE_CREATE_INDEX sqlite3.SQLITE_CREATE_TABLE sqlite3.SQLITE_CREATE_TEMP_INDEX sqlite3.SQLITE_CREATE_TEMP_TABLE sqlite3.SQLITE_CREATE_TEMP_TRIGGER sqlite3.SQLITE_CREATE_TEMP_VIEW sqlite3.SQLITE_CREATE_TRIGGER sqlite3.SQLITE_CREATE_VIEW sqlite3.SQLITE_CREATE_VTABLE sqlite3.SQLITE_DELETE sqlite3.SQLITE_DENY sqlite3.SQLITE_DETACH sqlite3.SQLITE_DONE sqlite3.SQLITE_DROP_INDEX sqlite3.SQLITE_DROP_TABLE sqlite3.SQLITE_DROP_TEMP_INDEX sqlite3.SQLITE_DROP_TEMP_TABLE sqlite3.SQLITE_DROP_TEMP_TRIGGER sqlite3.SQLITE_DROP_TEMP_VIEW sqlite3.SQLITE_DROP_TRIGGER sqlite3.SQLITE_DROP_VIEW sqlite3.SQLITE_DROP_VTABLE sqlite3.SQLITE_FUNCTION sqlite3.SQLITE_IGNORE sqlite3.SQLITE_INSERT sqlite3.SQLITE_OK sqlite3.SQLITE_PRAGMA sqlite3.SQLITE_READ sqlite3.SQLITE_RECURSIVE sqlite3.SQLITE_REINDEX sqlite3.SQLITE_SAVEPOINT sqlite3.SQLITE_SELECT sqlite3.SQLITE_TRANSACTION sqlite3.SQLITE_UPDATE sqlite3.Time(??) sqlite3.TimeFromTicks(??) sqlite3.Timestamp(??) sqlite3.TimestampFromTicks(??) sqlite3.Warning(??) sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.adapters(??) sqlite3.apilevel sqlite3.collections(??) sqlite3.complete_statement(sql) sqlite3.connect(??) sqlite3.converters(??) sqlite3.datetime(??) sqlite3.dbapi2(??) sqlite3.dbapi2.Binary(??) sqlite3.dbapi2.Connection(??) sqlite3.dbapi2.Cursor(??) sqlite3.dbapi2.DataError(??) sqlite3.dbapi2.DatabaseError(??) sqlite3.dbapi2.Date(??) sqlite3.dbapi2.DateFromTicks(??) sqlite3.dbapi2.Error(??) sqlite3.dbapi2.IntegrityError(??) sqlite3.dbapi2.InterfaceError(??) sqlite3.dbapi2.InternalError(??) sqlite3.dbapi2.NotSupportedError(??) sqlite3.dbapi2.OperationalError(??) sqlite3.dbapi2.OptimizedUnicode(??) sqlite3.dbapi2.PARSE_COLNAMES sqlite3.dbapi2.PARSE_DECLTYPES sqlite3.dbapi2.PrepareProtocol(??) sqlite3.dbapi2.ProgrammingError(??) sqlite3.dbapi2.Row(??) sqlite3.dbapi2.SQLITE_ALTER_TABLE sqlite3.dbapi2.SQLITE_ANALYZE sqlite3.dbapi2.SQLITE_ATTACH sqlite3.dbapi2.SQLITE_CREATE_INDEX sqlite3.dbapi2.SQLITE_CREATE_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW sqlite3.dbapi2.SQLITE_CREATE_TRIGGER sqlite3.dbapi2.SQLITE_CREATE_VIEW sqlite3.dbapi2.SQLITE_CREATE_VTABLE sqlite3.dbapi2.SQLITE_DELETE sqlite3.dbapi2.SQLITE_DENY sqlite3.dbapi2.SQLITE_DETACH sqlite3.dbapi2.SQLITE_DONE sqlite3.dbapi2.SQLITE_DROP_INDEX sqlite3.dbapi2.SQLITE_DROP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW sqlite3.dbapi2.SQLITE_DROP_TRIGGER sqlite3.dbapi2.SQLITE_DROP_VIEW sqlite3.dbapi2.SQLITE_DROP_VTABLE sqlite3.dbapi2.SQLITE_FUNCTION sqlite3.dbapi2.SQLITE_IGNORE sqlite3.dbapi2.SQLITE_INSERT sqlite3.dbapi2.SQLITE_OK sqlite3.dbapi2.SQLITE_PRAGMA sqlite3.dbapi2.SQLITE_READ sqlite3.dbapi2.SQLITE_RECURSIVE sqlite3.dbapi2.SQLITE_REINDEX sqlite3.dbapi2.SQLITE_SAVEPOINT sqlite3.dbapi2.SQLITE_SELECT sqlite3.dbapi2.SQLITE_TRANSACTION sqlite3.dbapi2.SQLITE_UPDATE sqlite3.dbapi2.Time(??) sqlite3.dbapi2.TimeFromTicks(??) sqlite3.dbapi2.Timestamp(??) sqlite3.dbapi2.TimestampFromTicks(??) sqlite3.dbapi2.Warning(??) sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. sqlite3.dbapi2.adapters(??) sqlite3.dbapi2.apilevel sqlite3.dbapi2.collections(??) sqlite3.dbapi2.complete_statement(sql) sqlite3.dbapi2.connect(??) sqlite3.dbapi2.converters(??) sqlite3.dbapi2.datetime(??) sqlite3.dbapi2.enable_callback_tracebacks(flag) sqlite3.dbapi2.enable_shared_cache(do_enable) sqlite3.dbapi2.paramstyle sqlite3.dbapi2.register_adapter(type, callable) sqlite3.dbapi2.register_converter(typename, callable) sqlite3.dbapi2.sqlite_version sqlite3.dbapi2.sqlite_version_info(??) sqlite3.dbapi2.threadsafety sqlite3.dbapi2.time(??) sqlite3.dbapi2.version sqlite3.dbapi2.version_info(??) sqlite3.enable_callback_tracebacks(flag) sqlite3.enable_shared_cache(do_enable) sqlite3.paramstyle sqlite3.register_adapter(type, callable) sqlite3.register_converter(typename, callable) sqlite3.sqlite_version sqlite3.sqlite_version_info(??) sqlite3.threadsafety sqlite3.time(??) sqlite3.version sqlite3.version_info(??) ssl.ALERT_DESCRIPTION_ACCESS_DENIED(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE(??) ssl.ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE(??) ssl.ALERT_DESCRIPTION_BAD_RECORD_MAC(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_EXPIRED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_REVOKED(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN(??) ssl.ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE(??) ssl.ALERT_DESCRIPTION_CLOSE_NOTIFY(??) ssl.ALERT_DESCRIPTION_DECODE_ERROR(??) ssl.ALERT_DESCRIPTION_DECOMPRESSION_FAILURE(??) ssl.ALERT_DESCRIPTION_DECRYPT_ERROR(??) ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE(??) ssl.ALERT_DESCRIPTION_ILLEGAL_PARAMETER(??) ssl.ALERT_DESCRIPTION_INSUFFICIENT_SECURITY(??) ssl.ALERT_DESCRIPTION_INTERNAL_ERROR(??) ssl.ALERT_DESCRIPTION_NO_RENEGOTIATION(??) ssl.ALERT_DESCRIPTION_PROTOCOL_VERSION(??) ssl.ALERT_DESCRIPTION_RECORD_OVERFLOW(??) ssl.ALERT_DESCRIPTION_UNEXPECTED_MESSAGE(??) ssl.ALERT_DESCRIPTION_UNKNOWN_CA(??) ssl.ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY(??) ssl.ALERT_DESCRIPTION_UNRECOGNIZED_NAME(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE(??) ssl.ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION(??) ssl.ALERT_DESCRIPTION_USER_CANCELLED(??) ssl.AlertDescription(??) ssl.CERT_NONE(??) ssl.CERT_OPTIONAL(??) ssl.CERT_REQUIRED(??) ssl.CHANNEL_BINDING_TYPES(??) ssl.CertificateError(??) ssl.DER_cert_to_PEM_cert(??) ssl.DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath) ssl.HAS_ALPN(??) ssl.HAS_ECDH(??) ssl.HAS_NEVER_CHECK_COMMON_NAME(??) ssl.HAS_NPN(??) ssl.HAS_SNI(??) ssl.HAS_SSLv2(??) ssl.HAS_SSLv3(??) ssl.HAS_TLSv1(??) ssl.HAS_TLSv1_1(??) ssl.HAS_TLSv1_2(??) ssl.HAS_TLSv1_3(??) ssl.MemoryBIO(??) ssl.OPENSSL_VERSION ssl.OPENSSL_VERSION_INFO(??) ssl.OPENSSL_VERSION_NUMBER ssl.OP_ALL(??) ssl.OP_CIPHER_SERVER_PREFERENCE(??) ssl.OP_ENABLE_MIDDLEBOX_COMPAT(??) ssl.OP_NO_COMPRESSION(??) ssl.OP_NO_RENEGOTIATION(??) ssl.OP_NO_SSLv2(??) ssl.OP_NO_SSLv3(??) ssl.OP_NO_TICKET(??) ssl.OP_NO_TLSv1(??) ssl.OP_NO_TLSv1_1(??) ssl.OP_NO_TLSv1_2(??) ssl.OP_NO_TLSv1_3(??) ssl.OP_SINGLE_DH_USE(??) ssl.OP_SINGLE_ECDH_USE(??) ssl.Options(??) ssl.PEM_FOOTER ssl.PEM_HEADER ssl.PEM_cert_to_DER_cert(??) ssl.PROTOCOL_SSLv23(??) ssl.PROTOCOL_TLS(??) ssl.PROTOCOL_TLS_CLIENT(??) ssl.PROTOCOL_TLS_SERVER(??) ssl.PROTOCOL_TLSv1(??) ssl.PROTOCOL_TLSv1_1(??) ssl.PROTOCOL_TLSv1_2(??) ssl.Purpose(??) ssl.RAND_add(??) ssl.RAND_bytes(??) ssl.RAND_pseudo_bytes(??) ssl.RAND_status(??) ssl.SOCK_STREAM(??) ssl.SOL_SOCKET ssl.SO_TYPE ssl.SSLCertVerificationError(??) ssl.SSLContext(??) ssl.SSLEOFError(??) ssl.SSLError(??) ssl.SSLErrorNumber(??) ssl.SSLObject(??) ssl.SSLSession(??) ssl.SSLSocket(??) ssl.SSLSyscallError(??) ssl.SSLWantReadError(??) ssl.SSLWantWriteError(??) ssl.SSLZeroReturnError(??) ssl.SSL_ERROR_EOF(??) ssl.SSL_ERROR_INVALID_ERROR_CODE(??) ssl.SSL_ERROR_SSL(??) ssl.SSL_ERROR_SYSCALL(??) ssl.SSL_ERROR_WANT_CONNECT(??) ssl.SSL_ERROR_WANT_READ(??) ssl.SSL_ERROR_WANT_WRITE(??) ssl.SSL_ERROR_WANT_X509_LOOKUP(??) ssl.SSL_ERROR_ZERO_RETURN(??) ssl.TLSVersion(??) ssl.VERIFY_CRL_CHECK_CHAIN(??) ssl.VERIFY_CRL_CHECK_LEAF(??) ssl.VERIFY_DEFAULT(??) ssl.VERIFY_X509_STRICT(??) ssl.VERIFY_X509_TRUSTED_FIRST(??) ssl.VerifyFlags(??) ssl.VerifyMode(??) ssl.base64(??) ssl.cert_time_to_seconds(??) ssl.create_connection(??) ssl.create_default_context(??) ssl.errno(??) ssl.get_default_verify_paths(??) ssl.get_protocol_name(??) ssl.get_server_certificate(??) ssl.match_hostname(??) ssl.namedtuple(??) ssl.os(??) ssl.socket(??) ssl.socket_error(??) ssl.sys(??) ssl.warnings(??) ssl.wrap_socket(??) stat.FILE_ATTRIBUTE_ARCHIVE stat.FILE_ATTRIBUTE_COMPRESSED stat.FILE_ATTRIBUTE_DEVICE stat.FILE_ATTRIBUTE_DIRECTORY stat.FILE_ATTRIBUTE_ENCRYPTED stat.FILE_ATTRIBUTE_HIDDEN stat.FILE_ATTRIBUTE_INTEGRITY_STREAM stat.FILE_ATTRIBUTE_NORMAL stat.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED stat.FILE_ATTRIBUTE_NO_SCRUB_DATA stat.FILE_ATTRIBUTE_OFFLINE stat.FILE_ATTRIBUTE_READONLY stat.FILE_ATTRIBUTE_REPARSE_POINT stat.FILE_ATTRIBUTE_SPARSE_FILE stat.FILE_ATTRIBUTE_SYSTEM stat.FILE_ATTRIBUTE_TEMPORARY stat.FILE_ATTRIBUTE_VIRTUAL stat.SF_APPEND stat.SF_ARCHIVED stat.SF_IMMUTABLE stat.SF_NOUNLINK stat.SF_SNAPSHOT stat.ST_ATIME stat.ST_CTIME stat.ST_DEV stat.ST_GID stat.ST_INO stat.ST_MODE stat.ST_MTIME stat.ST_NLINK stat.ST_SIZE stat.ST_UID stat.S_ENFMT stat.S_IEXEC stat.S_IFBLK stat.S_IFCHR stat.S_IFDIR stat.S_IFDOOR stat.S_IFIFO stat.S_IFLNK stat.S_IFMT(??) stat.S_IFPORT stat.S_IFREG stat.S_IFSOCK stat.S_IFWHT stat.S_IMODE(??) stat.S_IREAD stat.S_IRGRP stat.S_IROTH stat.S_IRUSR stat.S_IRWXG stat.S_IRWXO stat.S_IRWXU stat.S_ISBLK(mode) -> bool stat.S_ISCHR(mode) -> bool stat.S_ISDIR(mode) -> bool stat.S_ISDOOR(mode) -> bool stat.S_ISFIFO(mode) -> bool stat.S_ISGID stat.S_ISLNK(mode) -> bool stat.S_ISPORT(mode) -> bool stat.S_ISREG(mode) -> bool stat.S_ISSOCK(mode) -> bool stat.S_ISUID stat.S_ISVTX stat.S_ISWHT(mode) -> bool stat.S_IWGRP stat.S_IWOTH stat.S_IWRITE stat.S_IWUSR stat.S_IXGRP stat.S_IXOTH stat.S_IXUSR stat.UF_APPEND stat.UF_COMPRESSED stat.UF_HIDDEN stat.UF_IMMUTABLE stat.UF_NODUMP stat.UF_NOUNLINK stat.UF_OPAQUE stat.filemode(??) staticmethod(function) -> method statistics.Counter(??) statistics.Decimal(??) statistics.Fraction(??) statistics.NormalDist(??) statistics.StatisticsError(??) statistics.bisect_left(??) statistics.bisect_right(??) statistics.erf(??) statistics.exp(??) statistics.fabs(??) statistics.fmean(??) statistics.fsum(??) statistics.geometric_mean(??) statistics.groupby(??) statistics.harmonic_mean(??) statistics.hypot(*coordinates) -> value statistics.itemgetter(item, ...) --> itemgetter object statistics.log(x, [base=math.e]) statistics.math(??) statistics.mean(??) statistics.median(??) statistics.median_grouped(??) statistics.median_high(??) statistics.median_low(??) statistics.mode(??) statistics.multimode(??) statistics.numbers(??) statistics.pstdev(??) statistics.pvariance(??) statistics.quantiles(??) statistics.random(??) statistics.sqrt(??) statistics.stdev(??) statistics.tau statistics.variance(??) str(object='') -> str string.Formatter(??) string.Template(??) string.ascii_letters string.ascii_lowercase string.ascii_uppercase string.capwords(s [,sep]) -> string string.digits string.hexdigits string.octdigits string.printable string.punctuation string.whitespace stringprep.b1_set(??) stringprep.b3_exceptions(??) stringprep.c22_specials(??) stringprep.c6_set(??) stringprep.c7_set(??) stringprep.c8_set(??) stringprep.c9_set(??) stringprep.in_table_a1(??) stringprep.in_table_b1(??) stringprep.in_table_c11(??) stringprep.in_table_c11_c12(??) stringprep.in_table_c12(??) stringprep.in_table_c21(??) stringprep.in_table_c21_c22(??) stringprep.in_table_c22(??) stringprep.in_table_c3(??) stringprep.in_table_c4(??) stringprep.in_table_c5(??) stringprep.in_table_c6(??) stringprep.in_table_c7(??) stringprep.in_table_c8(??) stringprep.in_table_c9(??) stringprep.in_table_d1(??) stringprep.in_table_d2(??) stringprep.map_table_b2(??) stringprep.map_table_b3(??) stringprep.unicodedata(??) struct.Struct(fmt) --> compiled struct object struct.calcsize(??) struct.error(??) struct.iter_unpack(??) struct.pack(format, v1, v2, ...) -> bytes struct.pack_into(format, buffer, offset, v1, v2, ...) struct.unpack(??) struct.unpack_from(??) subprocess.CalledProcessError(??) subprocess.CompletedProcess(??) subprocess.DEVNULL subprocess.PIPE subprocess.Popen(??) subprocess.STDOUT subprocess.SubprocessError(??) subprocess.TimeoutExpired(??) subprocess.builtins(??) subprocess.call(??) subprocess.check_call(??) subprocess.check_output(??) subprocess.contextlib(??) subprocess.errno(??) subprocess.getoutput(??) subprocess.getstatusoutput(??) subprocess.grp(??) subprocess.io(??) subprocess.list2cmdline(??) subprocess.os(??) subprocess.pwd(??) subprocess.run(??) subprocess.select(??) subprocess.selectors(??) subprocess.signal(??) subprocess.sys(??) subprocess.threading(??) subprocess.time(??) subprocess.types(??) subprocess.warnings(??) sum(??) sunau.AUDIO_FILE_ENCODING_ADPCM_G721 sunau.AUDIO_FILE_ENCODING_ADPCM_G722 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 sunau.AUDIO_FILE_ENCODING_ALAW_8 sunau.AUDIO_FILE_ENCODING_DOUBLE sunau.AUDIO_FILE_ENCODING_FLOAT sunau.AUDIO_FILE_ENCODING_LINEAR_16 sunau.AUDIO_FILE_ENCODING_LINEAR_24 sunau.AUDIO_FILE_ENCODING_LINEAR_32 sunau.AUDIO_FILE_ENCODING_LINEAR_8 sunau.AUDIO_FILE_ENCODING_MULAW_8 sunau.AUDIO_FILE_MAGIC sunau.AUDIO_UNKNOWN_SIZE sunau.Au_read(??) sunau.Au_write(??) sunau.Error(??) sunau.namedtuple(??) sunau.open(??) super() -> same as super(__class__, ) symbol.and_expr symbol.and_test symbol.annassign symbol.arglist symbol.argument symbol.arith_expr symbol.assert_stmt symbol.async_funcdef symbol.async_stmt symbol.atom symbol.atom_expr symbol.augassign symbol.break_stmt symbol.classdef symbol.comp_for symbol.comp_if symbol.comp_iter symbol.comp_op symbol.comparison symbol.compound_stmt symbol.continue_stmt symbol.decorated symbol.decorator symbol.decorators symbol.del_stmt symbol.dictorsetmaker symbol.dotted_as_name symbol.dotted_as_names symbol.dotted_name symbol.encoding_decl symbol.eval_input symbol.except_clause symbol.expr symbol.expr_stmt symbol.exprlist symbol.factor symbol.file_input symbol.flow_stmt symbol.for_stmt symbol.func_body_suite symbol.func_type symbol.func_type_input symbol.funcdef symbol.global_stmt symbol.if_stmt symbol.import_as_name symbol.import_as_names symbol.import_from symbol.import_name symbol.import_stmt symbol.lambdef symbol.lambdef_nocond symbol.namedexpr_test symbol.nonlocal_stmt symbol.not_test symbol.or_test symbol.parameters symbol.pass_stmt symbol.power symbol.raise_stmt symbol.return_stmt symbol.shift_expr symbol.simple_stmt symbol.single_input symbol.sliceop symbol.small_stmt symbol.star_expr symbol.stmt symbol.subscript symbol.subscriptlist symbol.suite symbol.sym_name(??) symbol.sync_comp_for symbol.term symbol.test symbol.test_nocond symbol.testlist symbol.testlist_comp symbol.testlist_star_expr symbol.tfpdef symbol.trailer symbol.try_stmt symbol.typedargslist symbol.typelist symbol.varargslist symbol.vfpdef symbol.warnings(??) symbol.while_stmt symbol.with_item symbol.with_stmt symbol.xor_expr symbol.yield_arg symbol.yield_expr symbol.yield_stmt symtable.CELL symtable.Class(??) symtable.DEF_ANNOT symtable.DEF_BOUND symtable.DEF_GLOBAL symtable.DEF_IMPORT symtable.DEF_LOCAL symtable.DEF_NONLOCAL symtable.DEF_PARAM symtable.FREE symtable.Function(??) symtable.GLOBAL_EXPLICIT symtable.GLOBAL_IMPLICIT symtable.LOCAL symtable.SCOPE_MASK symtable.SCOPE_OFF symtable.Symbol(??) symtable.SymbolTable(??) symtable.SymbolTableFactory(??) symtable.USE symtable.symtable(??) symtable.weakref(??) sys.abiflags sys.addaudithook(??) sys.api_version sys.argv(??) sys.audit(event, *args) sys.base_exec_prefix sys.base_prefix sys.breakpointhook(*args, **kws) sys.builtin_module_names(??) sys.byteorder sys.call_tracing(??) sys.copyright sys.displayhook(??) sys.dont_write_bytecode(??) sys.exc_info(??) sys.excepthook(??) sys.exec_prefix sys.executable sys.exit(??) sys.flags(??) sys.float_info(??) sys.float_repr_style sys.get_asyncgen_hooks(??) sys.get_coroutine_origin_tracking_depth(??) sys.getallocatedblocks(??) sys.getdefaultencoding(??) sys.getdlopenflags(??) sys.getfilesystemencodeerrors(??) sys.getfilesystemencoding(??) sys.getprofile(??) sys.getrecursionlimit(??) sys.getrefcount(??) sys.getsizeof(object [, default]) -> int sys.getswitchinterval(??) sys.gettrace(??) sys.hash_info(??) sys.hexversion sys.implementation(??) sys.int_info(??) sys.intern(??) sys.is_finalizing(??) sys.maxsize sys.maxunicode sys.meta_path(??) sys.modules(??) sys.path(??) sys.path_hooks(??) sys.path_importer_cache(??) sys.platform sys.platlibdir sys.prefix sys.pycache_prefix(??) sys.set_asyncgen_hooks(* [, firstiter] [, finalizer]) sys.set_coroutine_origin_tracking_depth(??) sys.setdlopenflags(??) sys.setprofile(function) sys.setrecursionlimit(??) sys.setswitchinterval(??) sys.settrace(function) sys.stderr(??) sys.stdin(??) sys.stdout(??) sys.thread_info(??) sys.unraisablehook(??) sys.version sys.version_info(??) sys.warnoptions(??) sysconfig.get_config_h_filename(??) sysconfig.get_config_var(??) sysconfig.get_config_vars(??) sysconfig.get_makefile_filename(??) sysconfig.get_path(??) sysconfig.get_path_names(??) sysconfig.get_paths(??) sysconfig.get_platform(??) sysconfig.get_python_version(??) sysconfig.get_scheme_names(??) sysconfig.is_python_build(??) sysconfig.os(??) sysconfig.pardir sysconfig.parse_config_h(??) sysconfig.realpath(??) sysconfig.sys(??) t.MyClass(??) t.deco(??) tabnanny.NannyNag(??) tabnanny.Whitespace(??) tabnanny.check(file_or_dir) tabnanny.errprint(??) tabnanny.filename_only tabnanny.format_witnesses(??) tabnanny.main(??) tabnanny.os(??) tabnanny.process_tokens(??) tabnanny.sys(??) tabnanny.tokenize(??) tabnanny.verbose tarfile.AREGTYPE tarfile.BLKTYPE tarfile.BLOCKSIZE tarfile.CHRTYPE tarfile.CONTTYPE tarfile.CompressionError(??) tarfile.DEFAULT_FORMAT tarfile.DIRTYPE tarfile.ENCODING tarfile.EOFHeaderError(??) tarfile.EmptyHeaderError(??) tarfile.ExFileObject(??) tarfile.ExtractError(??) tarfile.FIFOTYPE tarfile.GNUTYPE_LONGLINK tarfile.GNUTYPE_LONGNAME tarfile.GNUTYPE_SPARSE tarfile.GNU_FORMAT tarfile.GNU_MAGIC tarfile.GNU_TYPES(??) tarfile.HeaderError(??) tarfile.InvalidHeaderError(??) tarfile.LENGTH_LINK tarfile.LENGTH_NAME tarfile.LENGTH_PREFIX tarfile.LNKTYPE tarfile.NUL tarfile.PAX_FIELDS(??) tarfile.PAX_FORMAT tarfile.PAX_NAME_FIELDS(??) tarfile.PAX_NUMBER_FIELDS(??) tarfile.POSIX_MAGIC tarfile.RECORDSIZE tarfile.REGTYPE tarfile.REGULAR_TYPES(??) tarfile.ReadError(??) tarfile.SOLARIS_XHDTYPE tarfile.SUPPORTED_TYPES(??) tarfile.SYMTYPE tarfile.StreamError(??) tarfile.SubsequentHeaderError(??) tarfile.TarError(??) tarfile.TarFile(??) tarfile.TarInfo(??) tarfile.TruncatedHeaderError(??) tarfile.USTAR_FORMAT tarfile.XGLTYPE tarfile.XHDTYPE tarfile.bltn_open(??) tarfile.calc_chksums(??) tarfile.copy(??) tarfile.copyfileobj(??) tarfile.grp(??) tarfile.io(??) tarfile.is_tarfile(??) tarfile.itn(??) tarfile.main(??) tarfile.nti(??) tarfile.nts(??) tarfile.open(??) tarfile.os(??) tarfile.pwd(??) tarfile.re(??) tarfile.shutil(??) tarfile.stat(??) tarfile.stn(??) tarfile.struct(??) tarfile.symlink_exception(??) tarfile.sys(??) tarfile.time(??) tarfile.version telnetlib.AO telnetlib.AUTHENTICATION telnetlib.AYT telnetlib.BINARY telnetlib.BM telnetlib.BRK telnetlib.CHARSET telnetlib.COM_PORT_OPTION telnetlib.DEBUGLEVEL telnetlib.DET telnetlib.DM telnetlib.DO telnetlib.DONT telnetlib.EC telnetlib.ECHO telnetlib.EL telnetlib.ENCRYPT telnetlib.EOR telnetlib.EXOPL telnetlib.FORWARD_X telnetlib.GA telnetlib.IAC telnetlib.IP telnetlib.KERMIT telnetlib.LFLOW telnetlib.LINEMODE telnetlib.LOGOUT telnetlib.NAMS telnetlib.NAOCRD telnetlib.NAOFFD telnetlib.NAOHTD telnetlib.NAOHTS telnetlib.NAOL telnetlib.NAOLFD telnetlib.NAOP telnetlib.NAOVTD telnetlib.NAOVTS telnetlib.NAWS telnetlib.NEW_ENVIRON telnetlib.NOOPT telnetlib.NOP telnetlib.OLD_ENVIRON telnetlib.OUTMRK telnetlib.PRAGMA_HEARTBEAT telnetlib.PRAGMA_LOGON telnetlib.RCP telnetlib.RCTE telnetlib.RSP telnetlib.SB telnetlib.SE telnetlib.SEND_URL telnetlib.SGA telnetlib.SNDLOC telnetlib.SSPI_LOGON telnetlib.STATUS telnetlib.SUPDUP telnetlib.SUPDUPOUTPUT telnetlib.SUPPRESS_LOCAL_ECHO telnetlib.TELNET_PORT telnetlib.TLS telnetlib.TM telnetlib.TN3270E telnetlib.TSPEED telnetlib.TTYLOC telnetlib.TTYPE telnetlib.TUID telnetlib.Telnet(??) telnetlib.VT3270REGIME telnetlib.WILL telnetlib.WONT telnetlib.X3PAD telnetlib.XASCII telnetlib.XAUTH telnetlib.XDISPLOC telnetlib.selectors(??) telnetlib.socket(??) telnetlib.sys(??) telnetlib.test(??) telnetlib.theNULL tempfile.NamedTemporaryFile(??) tempfile.SpooledTemporaryFile(??) tempfile.TMP_MAX tempfile.TemporaryDirectory(??) tempfile.TemporaryFile(??) tempfile.gettempdir(??) tempfile.gettempdirb(??) tempfile.gettempprefix(??) tempfile.gettempprefixb(??) tempfile.mkdtemp(??) tempfile.mkstemp(??) tempfile.mktemp(??) tempfile.tempdir(??) tempfile.template textwrap.TextWrapper(??) textwrap.dedent(??) textwrap.fill(??) textwrap.indent(??) textwrap.re(??) textwrap.shorten(??) textwrap.wrap(??) threading.Barrier(??) threading.BoundedSemaphore(??) threading.BrokenBarrierError(??) threading.Condition(??) threading.Event(??) threading.ExceptHookArgs(??) threading.Lock(??) threading.RLock(??) threading.Semaphore(??) threading.TIMEOUT_MAX threading.Thread(??) threading.ThreadError(??) threading.Timer(??) threading.WeakSet(??) threading.activeCount(??) threading.active_count(??) threading.currentThread(??) threading.current_thread(??) threading.enumerate(??) threading.excepthook(exc_type, exc_value, exc_traceback, thread) threading.functools(??) threading.get_ident() -> integer threading.get_native_id() -> integer threading.local(??) threading.main_thread(??) threading.setprofile(??) threading.settrace(??) threading.stack_size([size]) -> size time.altzone time.asctime([tuple]) -> string time.ctime(seconds) -> string time.daylight time.get_clock_info(name: str) -> dict time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, time.mktime(tuple) -> floating point number time.monotonic() -> float time.monotonic_ns() -> int time.perf_counter() -> float time.perf_counter_ns() -> int time.process_time() -> float time.process_time_ns(??) time.sleep(seconds) time.strftime(format[, tuple]) -> string time.strptime(string, format) -> struct_time time.struct_time(??) time.time() -> floating point number time.time_ns() -> int time.timezone time.tzname(??) time.tzset() timeit.Timer(??) timeit.default_number timeit.default_repeat timeit.default_timer(??) timeit.dummy_src_name timeit.gc(??) timeit.itertools(??) timeit.main(??) timeit.reindent(??) timeit.repeat(??) timeit.sys(??) timeit.template timeit.time(??) timeit.timeit(??) tkinter.ACTIVE tkinter.ALL tkinter.ANCHOR tkinter.ARC tkinter.BASELINE tkinter.BEVEL tkinter.BOTH tkinter.BOTTOM tkinter.BROWSE tkinter.BUTT tkinter.BaseWidget(??) tkinter.BitmapImage(??) tkinter.BooleanVar(??) tkinter.Button(??) tkinter.CASCADE tkinter.CENTER tkinter.CHAR tkinter.CHECKBUTTON tkinter.CHORD tkinter.COMMAND tkinter.CURRENT tkinter.CallWrapper(??) tkinter.Canvas(??) tkinter.Checkbutton(??) tkinter.DISABLED tkinter.DOTBOX tkinter.DoubleVar(??) tkinter.E tkinter.END tkinter.EW tkinter.EXCEPTION tkinter.EXTENDED tkinter.Entry(??) tkinter.Event(??) tkinter.EventType(??) tkinter.FALSE tkinter.FIRST tkinter.FLAT tkinter.Frame(??) tkinter.GROOVE tkinter.Grid(??) tkinter.HIDDEN tkinter.HORIZONTAL tkinter.INSERT tkinter.INSIDE tkinter.Image(??) tkinter.IntVar(??) tkinter.LAST tkinter.LEFT tkinter.Label(??) tkinter.LabelFrame(??) tkinter.Listbox(??) tkinter.MITER tkinter.MOVETO tkinter.MULTIPLE tkinter.Menu(??) tkinter.Menubutton(??) tkinter.Message(??) tkinter.Misc(??) tkinter.N tkinter.NE tkinter.NO tkinter.NONE tkinter.NORMAL tkinter.NS tkinter.NSEW tkinter.NUMERIC tkinter.NW tkinter.NoDefaultRoot(??) tkinter.OFF tkinter.ON tkinter.OUTSIDE tkinter.OptionMenu(??) tkinter.PAGES tkinter.PIESLICE tkinter.PROJECTING tkinter.Pack(??) tkinter.PanedWindow(??) tkinter.PhotoImage(??) tkinter.Place(??) tkinter.RADIOBUTTON tkinter.RAISED tkinter.READABLE tkinter.RIDGE tkinter.RIGHT tkinter.ROUND tkinter.Radiobutton(??) tkinter.S tkinter.SCROLL tkinter.SE tkinter.SEL tkinter.SEL_FIRST tkinter.SEL_LAST tkinter.SEPARATOR tkinter.SINGLE tkinter.SOLID tkinter.SUNKEN tkinter.SW tkinter.Scale(??) tkinter.Scrollbar(??) tkinter.Spinbox(??) tkinter.StringVar(??) tkinter.TOP tkinter.TRUE tkinter.Tcl(??) tkinter.TclError(??) tkinter.TclVersion tkinter.Text(??) tkinter.Tk(??) tkinter.TkVersion tkinter.Toplevel(??) tkinter.UNDERLINE tkinter.UNITS tkinter.VERTICAL tkinter.Variable(??) tkinter.W tkinter.WORD tkinter.WRITABLE tkinter.Widget(??) tkinter.Wm(??) tkinter.X tkinter.XView(??) tkinter.Y tkinter.YES tkinter.YView(??) tkinter.colorchooser(??) tkinter.colorchooser.Chooser(??) tkinter.colorchooser.Dialog(??) tkinter.colorchooser.askcolor(??) tkinter.commondialog(??) tkinter.commondialog.Dialog(??) tkinter.commondialog.Frame(??) tkinter.constants(??) tkinter.constants.ACTIVE tkinter.constants.ALL tkinter.constants.ANCHOR tkinter.constants.ARC tkinter.constants.BASELINE tkinter.constants.BEVEL tkinter.constants.BOTH tkinter.constants.BOTTOM tkinter.constants.BROWSE tkinter.constants.BUTT tkinter.constants.CASCADE tkinter.constants.CENTER tkinter.constants.CHAR tkinter.constants.CHECKBUTTON tkinter.constants.CHORD tkinter.constants.COMMAND tkinter.constants.CURRENT tkinter.constants.DISABLED tkinter.constants.DOTBOX tkinter.constants.E tkinter.constants.END tkinter.constants.EW tkinter.constants.EXTENDED tkinter.constants.FALSE tkinter.constants.FIRST tkinter.constants.FLAT tkinter.constants.GROOVE tkinter.constants.HIDDEN tkinter.constants.HORIZONTAL tkinter.constants.INSERT tkinter.constants.INSIDE tkinter.constants.LAST tkinter.constants.LEFT tkinter.constants.MITER tkinter.constants.MOVETO tkinter.constants.MULTIPLE tkinter.constants.N tkinter.constants.NE tkinter.constants.NO tkinter.constants.NONE tkinter.constants.NORMAL tkinter.constants.NS tkinter.constants.NSEW tkinter.constants.NUMERIC tkinter.constants.NW tkinter.constants.OFF tkinter.constants.ON tkinter.constants.OUTSIDE tkinter.constants.PAGES tkinter.constants.PIESLICE tkinter.constants.PROJECTING tkinter.constants.RADIOBUTTON tkinter.constants.RAISED tkinter.constants.RIDGE tkinter.constants.RIGHT tkinter.constants.ROUND tkinter.constants.S tkinter.constants.SCROLL tkinter.constants.SE tkinter.constants.SEL tkinter.constants.SEL_FIRST tkinter.constants.SEL_LAST tkinter.constants.SEPARATOR tkinter.constants.SINGLE tkinter.constants.SOLID tkinter.constants.SUNKEN tkinter.constants.SW tkinter.constants.TOP tkinter.constants.TRUE tkinter.constants.UNDERLINE tkinter.constants.UNITS tkinter.constants.VERTICAL tkinter.constants.W tkinter.constants.WORD tkinter.constants.X tkinter.constants.Y tkinter.constants.YES tkinter.dialog(??) tkinter.dialog.Button(??) tkinter.dialog.DIALOG_ICON tkinter.dialog.Dialog(??) tkinter.dialog.Pack(??) tkinter.dialog.TclError(??) tkinter.dialog.Widget(??) tkinter.dnd(??) tkinter.dnd.DndHandler(??) tkinter.dnd.Icon(??) tkinter.dnd.Tester(??) tkinter.dnd.dnd_start(??) tkinter.dnd.test(??) tkinter.dnd.tkinter(??) tkinter.enum(??) tkinter.filedialog.BOTH tkinter.filedialog.BOTTOM tkinter.filedialog.Button(??) tkinter.filedialog.Dialog(??) tkinter.filedialog.Directory(??) tkinter.filedialog.END tkinter.filedialog.Entry(??) tkinter.filedialog.FileDialog(??) tkinter.filedialog.Frame(??) tkinter.filedialog.LEFT tkinter.filedialog.Listbox(??) tkinter.filedialog.LoadFileDialog(??) tkinter.filedialog.Open(??) tkinter.filedialog.RIGHT tkinter.filedialog.SaveAs(??) tkinter.filedialog.SaveFileDialog(??) tkinter.filedialog.Scrollbar(??) tkinter.filedialog.TOP tkinter.filedialog.Tk(??) tkinter.filedialog.Toplevel(??) tkinter.filedialog.X tkinter.filedialog.Y tkinter.filedialog.YES tkinter.filedialog.askdirectory(??) tkinter.filedialog.askopenfile(??) tkinter.filedialog.askopenfilename(??) tkinter.filedialog.askopenfilenames(??) tkinter.filedialog.askopenfiles(??) tkinter.filedialog.asksaveasfile(??) tkinter.filedialog.asksaveasfilename(??) tkinter.filedialog.commondialog(??) tkinter.filedialog.dialogstates(??) tkinter.filedialog.fnmatch(??) tkinter.filedialog.os(??) tkinter.filedialog.test(??) tkinter.font.BOLD tkinter.font.Font(??) tkinter.font.ITALIC tkinter.font.NORMAL tkinter.font.ROMAN tkinter.font.families(??) tkinter.font.itertools(??) tkinter.font.names(??) tkinter.font.nametofont(??) tkinter.font.tkinter(??) tkinter.getboolean(??) tkinter.getdouble(??) tkinter.getint(??) tkinter.image_names(??) tkinter.image_types(??) tkinter.mainloop(??) tkinter.messagebox(??) tkinter.messagebox.ABORT tkinter.messagebox.ABORTRETRYIGNORE tkinter.messagebox.CANCEL tkinter.messagebox.Dialog(??) tkinter.messagebox.ERROR tkinter.messagebox.IGNORE tkinter.messagebox.INFO tkinter.messagebox.Message(??) tkinter.messagebox.NO tkinter.messagebox.OK tkinter.messagebox.OKCANCEL tkinter.messagebox.QUESTION tkinter.messagebox.RETRY tkinter.messagebox.RETRYCANCEL tkinter.messagebox.WARNING tkinter.messagebox.YES tkinter.messagebox.YESNO tkinter.messagebox.YESNOCANCEL tkinter.messagebox.askokcancel(??) tkinter.messagebox.askquestion(??) tkinter.messagebox.askretrycancel(??) tkinter.messagebox.askyesno(??) tkinter.messagebox.askyesnocancel(??) tkinter.messagebox.showerror(??) tkinter.messagebox.showinfo(??) tkinter.messagebox.showwarning(??) tkinter.re(??) tkinter.scrolledtext(??) tkinter.scrolledtext.BOTH tkinter.scrolledtext.Frame(??) tkinter.scrolledtext.Grid(??) tkinter.scrolledtext.LEFT tkinter.scrolledtext.Pack(??) tkinter.scrolledtext.Place(??) tkinter.scrolledtext.RIGHT tkinter.scrolledtext.Scrollbar(??) tkinter.scrolledtext.ScrolledText(??) tkinter.scrolledtext.Text(??) tkinter.scrolledtext.Y tkinter.scrolledtext.example(??) tkinter.simpledialog.ACTIVE tkinter.simpledialog.ALL tkinter.simpledialog.ANCHOR tkinter.simpledialog.ARC tkinter.simpledialog.BASELINE tkinter.simpledialog.BEVEL tkinter.simpledialog.BOTH tkinter.simpledialog.BOTTOM tkinter.simpledialog.BROWSE tkinter.simpledialog.BUTT tkinter.simpledialog.BaseWidget(??) tkinter.simpledialog.BitmapImage(??) tkinter.simpledialog.BooleanVar(??) tkinter.simpledialog.Button(??) tkinter.simpledialog.CASCADE tkinter.simpledialog.CENTER tkinter.simpledialog.CHAR tkinter.simpledialog.CHECKBUTTON tkinter.simpledialog.CHORD tkinter.simpledialog.COMMAND tkinter.simpledialog.CURRENT tkinter.simpledialog.CallWrapper(??) tkinter.simpledialog.Canvas(??) tkinter.simpledialog.Checkbutton(??) tkinter.simpledialog.DISABLED tkinter.simpledialog.DOTBOX tkinter.simpledialog.Dialog(??) tkinter.simpledialog.DoubleVar(??) tkinter.simpledialog.E tkinter.simpledialog.END tkinter.simpledialog.EW tkinter.simpledialog.EXCEPTION tkinter.simpledialog.EXTENDED tkinter.simpledialog.Entry(??) tkinter.simpledialog.Event(??) tkinter.simpledialog.EventType(??) tkinter.simpledialog.FALSE tkinter.simpledialog.FIRST tkinter.simpledialog.FLAT tkinter.simpledialog.Frame(??) tkinter.simpledialog.GROOVE tkinter.simpledialog.Grid(??) tkinter.simpledialog.HIDDEN tkinter.simpledialog.HORIZONTAL tkinter.simpledialog.INSERT tkinter.simpledialog.INSIDE tkinter.simpledialog.Image(??) tkinter.simpledialog.IntVar(??) tkinter.simpledialog.LAST tkinter.simpledialog.LEFT tkinter.simpledialog.Label(??) tkinter.simpledialog.LabelFrame(??) tkinter.simpledialog.Listbox(??) tkinter.simpledialog.MITER tkinter.simpledialog.MOVETO tkinter.simpledialog.MULTIPLE tkinter.simpledialog.Menu(??) tkinter.simpledialog.Menubutton(??) tkinter.simpledialog.Message(??) tkinter.simpledialog.Misc(??) tkinter.simpledialog.N tkinter.simpledialog.NE tkinter.simpledialog.NO tkinter.simpledialog.NONE tkinter.simpledialog.NORMAL tkinter.simpledialog.NS tkinter.simpledialog.NSEW tkinter.simpledialog.NUMERIC tkinter.simpledialog.NW tkinter.simpledialog.NoDefaultRoot(??) tkinter.simpledialog.OFF tkinter.simpledialog.ON tkinter.simpledialog.OUTSIDE tkinter.simpledialog.OptionMenu(??) tkinter.simpledialog.PAGES tkinter.simpledialog.PIESLICE tkinter.simpledialog.PROJECTING tkinter.simpledialog.Pack(??) tkinter.simpledialog.PanedWindow(??) tkinter.simpledialog.PhotoImage(??) tkinter.simpledialog.Place(??) tkinter.simpledialog.RADIOBUTTON tkinter.simpledialog.RAISED tkinter.simpledialog.READABLE tkinter.simpledialog.RIDGE tkinter.simpledialog.RIGHT tkinter.simpledialog.ROUND tkinter.simpledialog.Radiobutton(??) tkinter.simpledialog.S tkinter.simpledialog.SCROLL tkinter.simpledialog.SE tkinter.simpledialog.SEL tkinter.simpledialog.SEL_FIRST tkinter.simpledialog.SEL_LAST tkinter.simpledialog.SEPARATOR tkinter.simpledialog.SINGLE tkinter.simpledialog.SOLID tkinter.simpledialog.SUNKEN tkinter.simpledialog.SW tkinter.simpledialog.Scale(??) tkinter.simpledialog.Scrollbar(??) tkinter.simpledialog.SimpleDialog(??) tkinter.simpledialog.Spinbox(??) tkinter.simpledialog.StringVar(??) tkinter.simpledialog.TOP tkinter.simpledialog.TRUE tkinter.simpledialog.Tcl(??) tkinter.simpledialog.TclError(??) tkinter.simpledialog.TclVersion tkinter.simpledialog.Text(??) tkinter.simpledialog.Tk(??) tkinter.simpledialog.TkVersion tkinter.simpledialog.Toplevel(??) tkinter.simpledialog.UNDERLINE tkinter.simpledialog.UNITS tkinter.simpledialog.VERTICAL tkinter.simpledialog.Variable(??) tkinter.simpledialog.W tkinter.simpledialog.WORD tkinter.simpledialog.WRITABLE tkinter.simpledialog.Widget(??) tkinter.simpledialog.Wm(??) tkinter.simpledialog.X tkinter.simpledialog.XView(??) tkinter.simpledialog.Y tkinter.simpledialog.YES tkinter.simpledialog.YView(??) tkinter.simpledialog.askfloat(??) tkinter.simpledialog.askinteger(??) tkinter.simpledialog.askstring(??) tkinter.simpledialog.getboolean(??) tkinter.simpledialog.getdouble(??) tkinter.simpledialog.getint(??) tkinter.simpledialog.image_names(??) tkinter.simpledialog.image_types(??) tkinter.simpledialog.mainloop(??) tkinter.simpledialog.messagebox(??) tkinter.simpledialog.tkinter(??) tkinter.sys(??) tkinter.tix.ACROSSTOP tkinter.tix.ACTIVE tkinter.tix.ALL tkinter.tix.ANCHOR tkinter.tix.ARC tkinter.tix.ASCII tkinter.tix.AUTO tkinter.tix.BALLOON tkinter.tix.BASELINE tkinter.tix.BEVEL tkinter.tix.BOTH tkinter.tix.BOTTOM tkinter.tix.BROWSE tkinter.tix.BUTT tkinter.tix.Balloon(??) tkinter.tix.BaseWidget(??) tkinter.tix.BitmapImage(??) tkinter.tix.BooleanVar(??) tkinter.tix.Button(??) tkinter.tix.ButtonBox(??) tkinter.tix.CASCADE tkinter.tix.CELL tkinter.tix.CENTER tkinter.tix.CHAR tkinter.tix.CHECKBUTTON tkinter.tix.CHORD tkinter.tix.COLUMN tkinter.tix.COMMAND tkinter.tix.CObjView(??) tkinter.tix.CURRENT tkinter.tix.CallWrapper(??) tkinter.tix.Canvas(??) tkinter.tix.CheckList(??) tkinter.tix.Checkbutton(??) tkinter.tix.ComboBox(??) tkinter.tix.Control(??) tkinter.tix.DECREASING tkinter.tix.DISABLED tkinter.tix.DOTBOX tkinter.tix.DialogShell(??) tkinter.tix.DirList(??) tkinter.tix.DirSelectBox(??) tkinter.tix.DirSelectDialog(??) tkinter.tix.DirTree(??) tkinter.tix.DisplayStyle(??) tkinter.tix.DoubleVar(??) tkinter.tix.E tkinter.tix.END tkinter.tix.EW tkinter.tix.EXCEPTION tkinter.tix.EXTENDED tkinter.tix.Entry(??) tkinter.tix.Event(??) tkinter.tix.EventType(??) tkinter.tix.ExFileSelectBox(??) tkinter.tix.ExFileSelectDialog(??) tkinter.tix.FALSE tkinter.tix.FIRST tkinter.tix.FLAT tkinter.tix.FileEntry(??) tkinter.tix.FileSelectBox(??) tkinter.tix.FileSelectDialog(??) tkinter.tix.FileTypeList(??) tkinter.tix.Form(??) tkinter.tix.Frame(??) tkinter.tix.GROOVE tkinter.tix.Grid(??) tkinter.tix.HIDDEN tkinter.tix.HList(??) tkinter.tix.HORIZONTAL tkinter.tix.IMAGE tkinter.tix.IMAGETEXT tkinter.tix.IMMEDIATE tkinter.tix.INCREASING tkinter.tix.INSERT tkinter.tix.INSIDE tkinter.tix.INTEGER tkinter.tix.Image(??) tkinter.tix.InputOnly(??) tkinter.tix.IntVar(??) tkinter.tix.LAST tkinter.tix.LEFT tkinter.tix.Label(??) tkinter.tix.LabelEntry(??) tkinter.tix.LabelFrame(??) tkinter.tix.ListNoteBook(??) tkinter.tix.Listbox(??) tkinter.tix.MAIN tkinter.tix.MAX tkinter.tix.MITER tkinter.tix.MOVETO tkinter.tix.MULTIPLE tkinter.tix.Menu(??) tkinter.tix.Menubutton(??) tkinter.tix.Message(??) tkinter.tix.Meter(??) tkinter.tix.Misc(??) tkinter.tix.N tkinter.tix.NE tkinter.tix.NO tkinter.tix.NONE tkinter.tix.NORMAL tkinter.tix.NS tkinter.tix.NSEW tkinter.tix.NUMERIC tkinter.tix.NW tkinter.tix.NoDefaultRoot(??) tkinter.tix.NoteBook(??) tkinter.tix.NoteBookFrame(??) tkinter.tix.OFF tkinter.tix.ON tkinter.tix.OUTSIDE tkinter.tix.OptionMenu(??) tkinter.tix.OptionName(??) tkinter.tix.PAGES tkinter.tix.PIESLICE tkinter.tix.PROJECTING tkinter.tix.Pack(??) tkinter.tix.PanedWindow(??) tkinter.tix.PhotoImage(??) tkinter.tix.Place(??) tkinter.tix.PopupMenu(??) tkinter.tix.RADIOBUTTON tkinter.tix.RAISED tkinter.tix.READABLE tkinter.tix.REAL tkinter.tix.RIDGE tkinter.tix.RIGHT tkinter.tix.ROUND tkinter.tix.ROW tkinter.tix.Radiobutton(??) tkinter.tix.ResizeHandle(??) tkinter.tix.S tkinter.tix.SCROLL tkinter.tix.SE tkinter.tix.SEL tkinter.tix.SEL_FIRST tkinter.tix.SEL_LAST tkinter.tix.SEPARATOR tkinter.tix.SINGLE tkinter.tix.SOLID tkinter.tix.STATUS tkinter.tix.SUNKEN tkinter.tix.SW tkinter.tix.S_REGION tkinter.tix.Scale(??) tkinter.tix.Scrollbar(??) tkinter.tix.ScrolledGrid(??) tkinter.tix.ScrolledHList(??) tkinter.tix.ScrolledListBox(??) tkinter.tix.ScrolledTList(??) tkinter.tix.ScrolledText(??) tkinter.tix.ScrolledWindow(??) tkinter.tix.Select(??) tkinter.tix.Shell(??) tkinter.tix.Spinbox(??) tkinter.tix.StdButtonBox(??) tkinter.tix.StringVar(??) tkinter.tix.TCL_ALL_EVENTS tkinter.tix.TCL_DONT_WAIT tkinter.tix.TCL_FILE_EVENTS tkinter.tix.TCL_IDLE_EVENTS tkinter.tix.TCL_TIMER_EVENTS tkinter.tix.TCL_WINDOW_EVENTS tkinter.tix.TEXT tkinter.tix.TList(??) tkinter.tix.TOP tkinter.tix.TRUE tkinter.tix.Tcl(??) tkinter.tix.TclError(??) tkinter.tix.TclVersion tkinter.tix.Text(??) tkinter.tix.TixSubWidget(??) tkinter.tix.TixWidget(??) tkinter.tix.Tk(??) tkinter.tix.TkVersion tkinter.tix.Toplevel(??) tkinter.tix.Tree(??) tkinter.tix.UNDERLINE tkinter.tix.UNITS tkinter.tix.VERTICAL tkinter.tix.Variable(??) tkinter.tix.W tkinter.tix.WINDOW tkinter.tix.WORD tkinter.tix.WRITABLE tkinter.tix.Widget(??) tkinter.tix.Wm(??) tkinter.tix.X tkinter.tix.XView(??) tkinter.tix.X_REGION tkinter.tix.Y tkinter.tix.YES tkinter.tix.YView(??) tkinter.tix.Y_REGION tkinter.tix.getboolean(??) tkinter.tix.getdouble(??) tkinter.tix.getint(??) tkinter.tix.image_names(??) tkinter.tix.image_types(??) tkinter.tix.mainloop(??) tkinter.tix.os(??) tkinter.tix.tixCommand(??) tkinter.tix.tkinter(??) tkinter.ttk.Button(??) tkinter.ttk.Checkbutton(??) tkinter.ttk.Combobox(??) tkinter.ttk.Entry(??) tkinter.ttk.Frame(??) tkinter.ttk.Label(??) tkinter.ttk.LabelFrame(??) tkinter.ttk.LabeledScale(??) tkinter.ttk.Labelframe(??) tkinter.ttk.Menubutton(??) tkinter.ttk.Notebook(??) tkinter.ttk.OptionMenu(??) tkinter.ttk.PanedWindow(??) tkinter.ttk.Panedwindow(??) tkinter.ttk.Progressbar(??) tkinter.ttk.Radiobutton(??) tkinter.ttk.Scale(??) tkinter.ttk.Scrollbar(??) tkinter.ttk.Separator(??) tkinter.ttk.Sizegrip(??) tkinter.ttk.Spinbox(??) tkinter.ttk.Style(??) tkinter.ttk.Treeview(??) tkinter.ttk.Widget(??) tkinter.ttk.setup_master(??) tkinter.ttk.tclobjs_to_py(??) tkinter.ttk.tkinter(??) tkinter.types(??) tkinter.wantobjects token.AMPER token.AMPEREQUAL token.ASYNC token.AT token.ATEQUAL token.AWAIT token.CIRCUMFLEX token.CIRCUMFLEXEQUAL token.COLON token.COLONEQUAL token.COMMA token.COMMENT token.DEDENT token.DOT token.DOUBLESLASH token.DOUBLESLASHEQUAL token.DOUBLESTAR token.DOUBLESTAREQUAL token.ELLIPSIS token.ENCODING token.ENDMARKER token.EQEQUAL token.EQUAL token.ERRORTOKEN token.EXACT_TOKEN_TYPES(??) token.GREATER token.GREATEREQUAL token.INDENT token.ISEOF(??) token.ISNONTERMINAL(??) token.ISTERMINAL(??) token.LBRACE token.LEFTSHIFT token.LEFTSHIFTEQUAL token.LESS token.LESSEQUAL token.LPAR token.LSQB token.MINEQUAL token.MINUS token.NAME token.NEWLINE token.NL token.NOTEQUAL token.NT_OFFSET token.NUMBER token.N_TOKENS token.OP token.PERCENT token.PERCENTEQUAL token.PLUS token.PLUSEQUAL token.RARROW token.RBRACE token.RIGHTSHIFT token.RIGHTSHIFTEQUAL token.RPAR token.RSQB token.SEMI token.SLASH token.SLASHEQUAL token.STAR token.STAREQUAL token.STRING token.TILDE token.TYPE_COMMENT token.TYPE_IGNORE token.VBAR token.VBAREQUAL token.tok_name(??) tokenize.AMPER tokenize.AMPEREQUAL tokenize.ASYNC tokenize.AT tokenize.ATEQUAL tokenize.AWAIT tokenize.BOM_UTF8 tokenize.Binnumber tokenize.CIRCUMFLEX tokenize.CIRCUMFLEXEQUAL tokenize.COLON tokenize.COLONEQUAL tokenize.COMMA tokenize.COMMENT tokenize.Comment tokenize.ContStr tokenize.DEDENT tokenize.DOT tokenize.DOUBLESLASH tokenize.DOUBLESLASHEQUAL tokenize.DOUBLESTAR tokenize.DOUBLESTAREQUAL tokenize.Decnumber tokenize.Double tokenize.Double3 tokenize.ELLIPSIS tokenize.ENCODING tokenize.ENDMARKER tokenize.EQEQUAL tokenize.EQUAL tokenize.ERRORTOKEN tokenize.EXACT_TOKEN_TYPES(??) tokenize.Expfloat tokenize.Exponent tokenize.Floatnumber tokenize.Funny tokenize.GREATER tokenize.GREATEREQUAL tokenize.Hexnumber tokenize.INDENT tokenize.ISEOF(??) tokenize.ISNONTERMINAL(??) tokenize.ISTERMINAL(??) tokenize.Ignore tokenize.Imagnumber tokenize.Intnumber tokenize.LBRACE tokenize.LEFTSHIFT tokenize.LEFTSHIFTEQUAL tokenize.LESS tokenize.LESSEQUAL tokenize.LPAR tokenize.LSQB tokenize.MINEQUAL tokenize.MINUS tokenize.NAME tokenize.NEWLINE tokenize.NL tokenize.NOTEQUAL tokenize.NT_OFFSET tokenize.NUMBER tokenize.N_TOKENS tokenize.Name tokenize.Number tokenize.OP tokenize.Octnumber tokenize.PERCENT tokenize.PERCENTEQUAL tokenize.PLUS tokenize.PLUSEQUAL tokenize.PlainToken tokenize.Pointfloat tokenize.PseudoExtras tokenize.PseudoToken tokenize.RARROW tokenize.RBRACE tokenize.RIGHTSHIFT tokenize.RIGHTSHIFTEQUAL tokenize.RPAR tokenize.RSQB tokenize.SEMI tokenize.SLASH tokenize.SLASHEQUAL tokenize.STAR tokenize.STAREQUAL tokenize.STRING tokenize.Single tokenize.Single3 tokenize.Special tokenize.StopTokenizing(??) tokenize.String tokenize.StringPrefix tokenize.TILDE tokenize.TYPE_COMMENT tokenize.TYPE_IGNORE tokenize.TextIOWrapper(??) tokenize.Token tokenize.TokenError(??) tokenize.TokenInfo(??) tokenize.Triple tokenize.Untokenizer(??) tokenize.VBAR tokenize.VBAREQUAL tokenize.Whitespace tokenize.any(??) tokenize.blank_re(??) tokenize.collections(??) tokenize.cookie_re(??) tokenize.detect_encoding(??) tokenize.endpats(??) tokenize.generate_tokens(??) tokenize.group(??) tokenize.lookup(??) tokenize.main(??) tokenize.maybe(??) tokenize.open(??) tokenize.re(??) tokenize.single_quoted(??) tokenize.sys(??) tokenize.t tokenize.tabsize tokenize.tok_name(??) tokenize.tokenize(??) tokenize.triple_quoted(??) tokenize.u tokenize.untokenize(??) trace.CoverageResults(??) trace.PRAGMA_NOCOVER trace.Trace(??) trace.dis(??) trace.gc(??) trace.inspect(??) trace.linecache(??) trace.main(??) trace.os(??) trace.pickle(??) trace.sys(??) trace.sysconfig(??) trace.threading(??) trace.token(??) trace.tokenize(??) traceback.FrameSummary(??) traceback.StackSummary(??) traceback.TracebackException(??) traceback.clear_frames(??) traceback.collections(??) traceback.extract_stack(??) traceback.extract_tb(??) traceback.format_exc(??) traceback.format_exception(??) traceback.format_exception_only(??) traceback.format_list(??) traceback.format_stack(??) traceback.format_tb(??) traceback.itertools(??) traceback.linecache(??) traceback.print_exc(??) traceback.print_exception(??) traceback.print_last(??) traceback.print_list(??) traceback.print_stack(??) traceback.print_tb(??) traceback.sys(??) traceback.walk_stack(??) traceback.walk_tb(??) tracemalloc.BaseFilter(??) tracemalloc.DomainFilter(??) tracemalloc.Filter(??) tracemalloc.Frame(??) tracemalloc.Iterable(??) tracemalloc.Sequence(??) tracemalloc.Snapshot(??) tracemalloc.Statistic(??) tracemalloc.StatisticDiff(??) tracemalloc.Trace(??) tracemalloc.Traceback(??) tracemalloc.clear_traces(??) tracemalloc.fnmatch(??) tracemalloc.get_object_traceback(??) tracemalloc.get_traceback_limit(??) tracemalloc.get_traced_memory(??) tracemalloc.get_tracemalloc_memory(??) tracemalloc.is_tracing(??) tracemalloc.linecache(??) tracemalloc.os(??) tracemalloc.pickle(??) tracemalloc.reset_peak(??) tracemalloc.start(??) tracemalloc.stop(??) tracemalloc.take_snapshot(??) tracemalloc.total_ordering(??) tty.B0 tty.B110 tty.B115200 tty.B1200 tty.B134 tty.B150 tty.B1800 tty.B19200 tty.B200 tty.B230400 tty.B2400 tty.B300 tty.B38400 tty.B4800 tty.B50 tty.B57600 tty.B600 tty.B75 tty.B9600 tty.BRKINT tty.BS0 tty.BS1 tty.BSDLY tty.CC tty.CDSUSP tty.CEOF tty.CEOL tty.CEOT tty.CERASE tty.CFLAG tty.CFLUSH tty.CINTR tty.CKILL tty.CLNEXT tty.CLOCAL tty.CQUIT tty.CR0 tty.CR1 tty.CR2 tty.CR3 tty.CRDLY tty.CREAD tty.CRPRNT tty.CRTSCTS tty.CS5 tty.CS6 tty.CS7 tty.CS8 tty.CSIZE tty.CSTART tty.CSTOP tty.CSTOPB tty.CSUSP tty.CWERASE tty.ECHO tty.ECHOCTL tty.ECHOE tty.ECHOK tty.ECHOKE tty.ECHONL tty.ECHOPRT tty.EXTA tty.EXTB tty.FF0 tty.FF1 tty.FFDLY tty.FIOASYNC tty.FIOCLEX tty.FIONBIO tty.FIONCLEX tty.FIONREAD tty.FLUSHO tty.HUPCL tty.ICANON tty.ICRNL tty.IEXTEN tty.IFLAG tty.IGNBRK tty.IGNCR tty.IGNPAR tty.IMAXBEL tty.INLCR tty.INPCK tty.ISIG tty.ISPEED tty.ISTRIP tty.IXANY tty.IXOFF tty.IXON tty.LFLAG tty.NCCS tty.NL0 tty.NL1 tty.NLDLY tty.NOFLSH tty.OCRNL tty.OFDEL tty.OFILL tty.OFLAG tty.ONLCR tty.ONLRET tty.ONOCR tty.OPOST tty.OSPEED tty.PARENB tty.PARMRK tty.PARODD tty.PENDIN tty.TAB0 tty.TAB1 tty.TAB2 tty.TAB3 tty.TABDLY tty.TCIFLUSH tty.TCIOFF tty.TCIOFLUSH tty.TCION tty.TCOFLUSH tty.TCOOFF tty.TCOON tty.TCSADRAIN tty.TCSAFLUSH tty.TCSANOW tty.TCSASOFT tty.TIOCCONS tty.TIOCEXCL tty.TIOCGETD tty.TIOCGPGRP tty.TIOCGWINSZ tty.TIOCMBIC tty.TIOCMBIS tty.TIOCMGET tty.TIOCMSET tty.TIOCM_CAR tty.TIOCM_CD tty.TIOCM_CTS tty.TIOCM_DSR tty.TIOCM_DTR tty.TIOCM_LE tty.TIOCM_RI tty.TIOCM_RNG tty.TIOCM_RTS tty.TIOCM_SR tty.TIOCM_ST tty.TIOCNOTTY tty.TIOCNXCL tty.TIOCOUTQ tty.TIOCPKT tty.TIOCPKT_DATA tty.TIOCPKT_DOSTOP tty.TIOCPKT_FLUSHREAD tty.TIOCPKT_FLUSHWRITE tty.TIOCPKT_NOSTOP tty.TIOCPKT_START tty.TIOCPKT_STOP tty.TIOCSCTTY tty.TIOCSETD tty.TIOCSPGRP tty.TIOCSTI tty.TIOCSWINSZ tty.TOSTOP tty.VDISCARD tty.VEOF tty.VEOL tty.VEOL2 tty.VERASE tty.VINTR tty.VKILL tty.VLNEXT tty.VMIN tty.VQUIT tty.VREPRINT tty.VSTART tty.VSTOP tty.VSUSP tty.VT0 tty.VT1 tty.VTDLY tty.VTIME tty.VWERASE tty.error(??) tty.setcbreak(??) tty.setraw(??) tty.tcdrain(fd) -> None tty.tcflow(fd, action) -> None tty.tcflush(fd, queue) -> None tty.tcgetattr(fd) -> list_of_attrs tty.tcsendbreak(fd, duration) -> None tty.tcsetattr(fd, when, attributes) -> None tuple(??) turtle.Canvas(??) turtle.Pen(??) turtle.RawPen(??) turtle.RawTurtle(??) turtle.Screen(??) turtle.ScrolledCanvas(??) turtle.Shape(??) turtle.TK(??) turtle.TNavigator(??) turtle.TPen(??) turtle.Tbuffer(??) turtle.Terminator(??) turtle.Turtle(??) turtle.TurtleGraphicsError(??) turtle.TurtleScreen(??) turtle.TurtleScreenBase(??) turtle.Vec2D(??) turtle.addshape(??) turtle.back(??) turtle.backward(??) turtle.begin_fill(??) turtle.begin_poly(??) turtle.bgcolor(??) turtle.bgpic(??) turtle.bk(??) turtle.bye(??) turtle.circle(??) turtle.clear(??) turtle.clearscreen(??) turtle.clearstamp(??) turtle.clearstamps(??) turtle.clone(??) turtle.color(??) turtle.colormode(??) turtle.config_dict(??) turtle.deepcopy(??) turtle.degrees(??) turtle.delay(??) turtle.distance(??) turtle.done(??) turtle.dot(??) turtle.down(??) turtle.end_fill(??) turtle.end_poly(??) turtle.exitonclick(??) turtle.fd(??) turtle.fillcolor(??) turtle.filling(??) turtle.forward(??) turtle.get_poly(??) turtle.get_shapepoly(??) turtle.getcanvas(??) turtle.getmethparlist(??) turtle.getpen(??) turtle.getscreen(??) turtle.getshapes(??) turtle.getturtle(??) turtle.goto(??) turtle.heading(??) turtle.hideturtle(??) turtle.home(??) turtle.ht(??) turtle.inspect(??) turtle.isdown(??) turtle.isfile(??) turtle.isvisible(??) turtle.join(??) turtle.left(??) turtle.listen(??) turtle.lt(??) turtle.mainloop(??) turtle.math(??) turtle.mode(??) turtle.numinput(??) turtle.onclick(??) turtle.ondrag(??) turtle.onkey(??) turtle.onkeypress(??) turtle.onkeyrelease(??) turtle.onrelease(??) turtle.onscreenclick(??) turtle.ontimer(??) turtle.pd(??) turtle.pen(??) turtle.pencolor(??) turtle.pendown(??) turtle.pensize(??) turtle.penup(??) turtle.pos(??) turtle.position(??) turtle.pu(??) turtle.radians(??) turtle.read_docstrings(??) turtle.readconfig(??) turtle.register_shape(??) turtle.reset(??) turtle.resetscreen(??) turtle.resizemode(??) turtle.right(??) turtle.rt(??) turtle.screensize(??) turtle.seth(??) turtle.setheading(??) turtle.setpos(??) turtle.setposition(??) turtle.settiltangle(??) turtle.setundobuffer(??) turtle.setup(??) turtle.setworldcoordinates(??) turtle.setx(??) turtle.sety(??) turtle.shape(??) turtle.shapesize(??) turtle.shapetransform(??) turtle.shearfactor(??) turtle.showturtle(??) turtle.simpledialog(??) turtle.speed(??) turtle.split(??) turtle.st(??) turtle.stamp(??) turtle.sys(??) turtle.textinput(??) turtle.tilt(??) turtle.tiltangle(??) turtle.time(??) turtle.title(??) turtle.towards(??) turtle.tracer(??) turtle.turtles(??) turtle.turtlesize(??) turtle.types(??) turtle.undo (repeatedly) the last turtle action. turtle.undobufferentries(??) turtle.up(??) turtle.update(??) turtle.width(??) turtle.window_height(??) turtle.window_width(??) turtle.write(??) turtle.write_docstringdict(??) turtle.xcor(??) turtle.ycor(??) type(object_or_name, bases, dict) types.AsyncGeneratorType(??) types.BuiltinFunctionType(??) types.BuiltinMethodType(??) types.CellType(??) types.ClassMethodDescriptorType(??) types.CodeType(??) types.CoroutineType(??) types.DynamicClassAttribute(??) types.FrameType(??) types.FunctionType(??) types.GeneratorType(??) types.GenericAlias(??) types.GetSetDescriptorType(??) types.LambdaType(??) types.MappingProxyType(??) types.MemberDescriptorType(??) types.MethodDescriptorType(??) types.MethodType(??) types.MethodWrapperType(??) types.ModuleType(??) types.SimpleNamespace(??) types.TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno) types.WrapperDescriptorType(??) types.coroutine(??) types.new_class(??) types.prepare_class(??) types.resolve_bases(??) typing.ABCMeta(??) typing.AbstractSet(??) typing.Annotated(??) typing.Any(??) typing.AnyStr(??) typing.AsyncContextManager(??) typing.AsyncGenerator(??) typing.AsyncIterable(??) typing.AsyncIterator(??) typing.Awaitable(??) typing.BinaryIO(??) typing.ByteString(??) typing.CT_co(??) typing.Callable(??) typing.ChainMap(??) typing.ClassVar(??) typing.Collection(??) typing.Container(??) typing.ContextManager(??) typing.Coroutine(??) typing.Counter(??) typing.DefaultDict(??) typing.Deque(??) typing.Dict(??) typing.EXCLUDED_ATTRIBUTES(??) typing.Final(??) typing.ForwardRef(??) typing.FrozenSet(??) typing.Generator(??) typing.Generic(??) typing.GenericAlias(??) typing.Hashable(??) typing.IO(??) typing.ItemsView(??) typing.Iterable(??) typing.Iterator(??) typing.KT(??) typing.KeysView(??) typing.List(??) typing.Literal(??) typing.Mapping(??) typing.MappingView(??) typing.Match(??) typing.MethodDescriptorType(??) typing.MethodWrapperType(??) typing.MutableMapping(??) typing.MutableSequence(??) typing.MutableSet(??) typing.NamedTuple(??) typing.NamedTupleMeta(??) typing.NewType(??) typing.NoReturn(??) typing.Optional(??) typing.OrderedDict(??) typing.Pattern(??) typing.Protocol(??) typing.Reversible(??) typing.Sequence(??) typing.Set(??) typing.Sized(??) typing.SupportsAbs(??) typing.SupportsBytes(??) typing.SupportsComplex(??) typing.SupportsFloat(??) typing.SupportsIndex(??) typing.SupportsInt(??) typing.SupportsRound(??) typing.T(??) typing.TYPE_CHECKING(??) typing.T_co(??) typing.T_contra(??) typing.Text(??) typing.TextIO(??) typing.Tuple(??) typing.Type(??) typing.TypeVar(??) typing.TypedDict(??) typing.Union(??) typing.VT(??) typing.VT_co(??) typing.V_co(??) typing.ValuesView(??) typing.WrapperDescriptorType(??) typing.abstractmethod(??) typing.cast(??) typing.collections(??) typing.contextlib(??) typing.final(??) typing.functools(??) typing.get_args(??) typing.get_origin(??) typing.get_type_hints(??) typing.io(??) typing.no_type_check(??) typing.no_type_check_decorator(??) typing.operator(??) typing.overload(??) typing.re(??) typing.runtime_checkable(??) typing.stdlib_re(??) typing.sys(??) typing.types(??) urllib.error(??) urllib.error.ContentTooShortError(??) urllib.error.HTTPError(??) urllib.error.URLError(??) urllib.error.urllib(??) urllib.parse(??) urllib.parse.DefragResult(??) urllib.parse.DefragResultBytes(??) urllib.parse.MAX_CACHE_SIZE urllib.parse.ParseResult(??) urllib.parse.ParseResultBytes(??) urllib.parse.Quoter(??) urllib.parse.ResultBase(??) urllib.parse.SplitResult(??) urllib.parse.SplitResultBytes(??) urllib.parse.clear_cache(??) urllib.parse.collections(??) urllib.parse.namedtuple(??) urllib.parse.non_hierarchical(??) urllib.parse.parse_qs(??) urllib.parse.parse_qsl(??) urllib.parse.quote('abc def') -> 'abc%20def' urllib.parse.quote_from_bytes(??) urllib.parse.quote_plus(??) urllib.parse.re(??) urllib.parse.scheme_chars urllib.parse.splitattr(??) urllib.parse.splithost(??) urllib.parse.splitnport(??) urllib.parse.splitpasswd(??) urllib.parse.splitport(??) urllib.parse.splitquery(??) urllib.parse.splittag(??) urllib.parse.splittype(??) urllib.parse.splituser(??) urllib.parse.splitvalue(??) urllib.parse.sys(??) urllib.parse.to_bytes(??) urllib.parse.types(??) urllib.parse.unquote(??) urllib.parse.unquote_plus(??) urllib.parse.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.parse.unwrap(??) urllib.parse.urldefrag(??) urllib.parse.urlencode(??) urllib.parse.urljoin(??) urllib.parse.urlparse(??) urllib.parse.urlsplit(??) urllib.parse.urlunparse(??) urllib.parse.urlunsplit(??) urllib.parse.uses_fragment(??) urllib.parse.uses_netloc(??) urllib.parse.uses_params(??) urllib.parse.uses_query(??) urllib.parse.uses_relative(??) urllib.parse.warnings(??) urllib.request(??) urllib.request.AbstractBasicAuthHandler(??) urllib.request.AbstractDigestAuthHandler(??) urllib.request.AbstractHTTPHandler(??) urllib.request.BaseHandler(??) urllib.request.CacheFTPHandler(??) urllib.request.ContentTooShortError(??) urllib.request.DataHandler(??) urllib.request.FTPHandler(??) urllib.request.FancyURLopener(??) urllib.request.FileHandler(??) urllib.request.HTTPBasicAuthHandler(??) urllib.request.HTTPCookieProcessor(??) urllib.request.HTTPDefaultErrorHandler(??) urllib.request.HTTPDigestAuthHandler(??) urllib.request.HTTPError(??) urllib.request.HTTPErrorProcessor(??) urllib.request.HTTPHandler(??) urllib.request.HTTPPasswordMgr(??) urllib.request.HTTPPasswordMgrWithDefaultRealm(??) urllib.request.HTTPPasswordMgrWithPriorAuth(??) urllib.request.HTTPRedirectHandler(??) urllib.request.HTTPSHandler(??) urllib.request.MAXFTPCACHE urllib.request.OpenerDirector(??) urllib.request.ProxyBasicAuthHandler(??) urllib.request.ProxyDigestAuthHandler(??) urllib.request.ProxyHandler(??) urllib.request.Request(??) urllib.request.URLError(??) urllib.request.URLopener(??) urllib.request.UnknownHandler(??) urllib.request.addclosehook(??) urllib.request.addinfourl(??) urllib.request.base64(??) urllib.request.bisect(??) urllib.request.build_opener(??) urllib.request.contextlib(??) urllib.request.email(??) urllib.request.ftpcache(??) urllib.request.ftperrors(??) urllib.request.ftpwrapper(??) urllib.request.getproxies(??) urllib.request.getproxies_environment(??) urllib.request.getproxies_macosx_sysconf(??) urllib.request.hashlib(??) urllib.request.http(??) urllib.request.install_opener(??) urllib.request.io(??) urllib.request.localhost(??) urllib.request.noheaders(??) urllib.request.os(??) urllib.request.parse_http_list(??) urllib.request.parse_keqv_list(??) urllib.request.pathname2url(??) urllib.request.posixpath(??) urllib.request.proxy_bypass(??) urllib.request.proxy_bypass_environment(??) urllib.request.proxy_bypass_macosx_sysconf(??) urllib.request.quote('abc def') -> 'abc%20def' urllib.request.re(??) urllib.request.request_host(??) urllib.request.socket(??) urllib.request.ssl(??) urllib.request.string(??) urllib.request.sys(??) urllib.request.tempfile(??) urllib.request.thishost(??) urllib.request.time(??) urllib.request.unquote(??) urllib.request.unquote_to_bytes('abc%20def') -> b'abc def'. urllib.request.unwrap(??) urllib.request.url2pathname(??) urllib.request.urlcleanup(??) urllib.request.urljoin(??) urllib.request.urlopen(??) urllib.request.urlparse(??) urllib.request.urlretrieve(??) urllib.request.urlsplit(??) urllib.request.urlunparse(??) urllib.request.warnings(??) urllib.response(??) urllib.response.addbase(??) urllib.response.addclosehook(??) urllib.response.addinfo(??) urllib.response.addinfourl(??) urllib.response.tempfile(??) urllib.robotparser.Entry(??) urllib.robotparser.RequestRate(requests, seconds) urllib.robotparser.RobotFileParser(??) urllib.robotparser.RuleLine(??) urllib.robotparser.collections(??) urllib.robotparser.urllib(??) uu.Error(??) uu.binascii(??) uu.decode(??) uu.encode(??) uu.os(??) uu.sys(??) uu.test(??) uuid.Enum(??) uuid.NAMESPACE_DNS(??) uuid.NAMESPACE_OID(??) uuid.NAMESPACE_URL(??) uuid.NAMESPACE_X500(??) uuid.RESERVED_FUTURE uuid.RESERVED_MICROSOFT uuid.RESERVED_NCS uuid.RFC_4122 uuid.SafeUUID(??) uuid.UUID(??) uuid.bytes_(??) uuid.getnode(??) uuid.int_(??) uuid.os(??) uuid.sys(??) uuid.uuid1(??) uuid.uuid3(??) uuid.uuid4(??) uuid.uuid5(??) vars([object]) -> dictionary venv.CORE_VENV_DEPS(??) venv.EnvBuilder(??) venv.create(??) venv.logger(??) venv.logging(??) venv.main(??) venv.os(??) venv.shutil(??) venv.subprocess(??) venv.sys(??) venv.sysconfig(??) venv.types(??) warnings.WarningMessage(??) warnings.catch_warnings(??) warnings.defaultaction warnings.filters(??) warnings.filterwarnings(??) warnings.formatwarning(??) warnings.onceregistry(??) warnings.resetwarnings(??) warnings.showwarning(??) warnings.simplefilter(??) warnings.sys(??) warnings.warn(??) warnings.warn_explicit(??) wave.Chunk(??) wave.Error(??) wave.WAVE_FORMAT_PCM wave.Wave_read(??) wave.Wave_write(??) wave.audioop(??) wave.builtins(??) wave.namedtuple(??) wave.open(??) wave.struct(??) wave.sys(??) weakref.CallableProxyType(??) weakref.KeyedRef(??) weakref.ProxyType(??) weakref.ProxyTypes(??) weakref.ReferenceType(??) weakref.WeakKeyDictionary(??) weakref.WeakMethod(??) weakref.WeakSet(??) weakref.WeakValueDictionary(??) weakref.finalize(??) weakref.getweakrefcount(??) weakref.getweakrefs(object) -- return a list of all weak reference objects weakref.itertools(??) weakref.proxy(object[, callback]) -- create a proxy object that weakly weakref.ref(??) weakref.sys(??) webbrowser.BackgroundBrowser(??) webbrowser.BaseBrowser(??) webbrowser.Chrome(??) webbrowser.Chromium(??) webbrowser.Elinks(??) webbrowser.Error(??) webbrowser.Galeon(??) webbrowser.GenericBrowser(??) webbrowser.Grail(??) webbrowser.Konqueror(??) webbrowser.MacOSX(??) webbrowser.MacOSXOSAScript(??) webbrowser.Mozilla(??) webbrowser.Netscape(??) webbrowser.Opera(??) webbrowser.UnixBrowser(??) webbrowser.get(??) webbrowser.main(??) webbrowser.open(??) webbrowser.open_new(??) webbrowser.open_new_tab(??) webbrowser.os(??) webbrowser.register(??) webbrowser.register_X_browsers(??) webbrowser.register_standard_browsers(??) webbrowser.shlex(??) webbrowser.shutil(??) webbrowser.subprocess(??) webbrowser.sys(??) webbrowser.threading(??) wsgiref.handlers(??) wsgiref.handlers.BaseCGIHandler(??) wsgiref.handlers.BaseHandler(??) wsgiref.handlers.CGIHandler(??) wsgiref.handlers.FileWrapper(??) wsgiref.handlers.Headers(??) wsgiref.handlers.IISCGIHandler(??) wsgiref.handlers.SimpleHandler(??) wsgiref.handlers.format_date_time(??) wsgiref.handlers.guess_scheme(??) wsgiref.handlers.is_hop_by_hop(??) wsgiref.handlers.os(??) wsgiref.handlers.read_environ(??) wsgiref.handlers.sys(??) wsgiref.handlers.time(??) wsgiref.headers(??) wsgiref.headers.Headers(??) wsgiref.headers.re(??) wsgiref.headers.tspecials(??) wsgiref.simple_server.BaseHTTPRequestHandler(??) wsgiref.simple_server.HTTPServer(??) wsgiref.simple_server.ServerHandler(??) wsgiref.simple_server.SimpleHandler(??) wsgiref.simple_server.WSGIRequestHandler(??) wsgiref.simple_server.WSGIServer(??) wsgiref.simple_server.demo_app(??) wsgiref.simple_server.make_server(??) wsgiref.simple_server.python_implementation(??) wsgiref.simple_server.server_version wsgiref.simple_server.software_version wsgiref.simple_server.sys(??) wsgiref.simple_server.sys_version wsgiref.simple_server.urllib(??) wsgiref.util(??) wsgiref.util.FileWrapper(??) wsgiref.util.application_uri(??) wsgiref.util.guess_scheme(??) wsgiref.util.is_hop_by_hop(??) wsgiref.util.posixpath(??) wsgiref.util.request_uri(??) wsgiref.util.setup_testing_defaults(??) wsgiref.util.shift_path_info(??) wsgiref.validate.ErrorWrapper(??) wsgiref.validate.InputWrapper(??) wsgiref.validate.IteratorWrapper(??) wsgiref.validate.PartialIteratorWrapper(??) wsgiref.validate.WSGIWarning(??) wsgiref.validate.WriteWrapper(??) wsgiref.validate.assert_(??) wsgiref.validate.bad_header_value_re(??) wsgiref.validate.check_content_type(??) wsgiref.validate.check_environ(??) wsgiref.validate.check_errors(??) wsgiref.validate.check_exc_info(??) wsgiref.validate.check_headers(??) wsgiref.validate.check_input(??) wsgiref.validate.check_iterator(??) wsgiref.validate.check_status(??) wsgiref.validate.check_string_type(??) wsgiref.validate.header_re(??) wsgiref.validate.re(??) wsgiref.validate.sys(??) wsgiref.validate.validator(??) wsgiref.validate.warnings(??) xdrlib.BytesIO(??) xdrlib.ConversionError(??) xdrlib.Error(??) xdrlib.Packer(??) xdrlib.Unpacker(??) xdrlib.raise_conversion_error(??) xdrlib.struct(??) xdrlib.wraps(??) xml.dom.DOMException(??) xml.dom.DOMSTRING_SIZE_ERR xml.dom.DomstringSizeErr(??) xml.dom.EMPTY_NAMESPACE(??) xml.dom.EMPTY_PREFIX(??) xml.dom.HIERARCHY_REQUEST_ERR xml.dom.HierarchyRequestErr(??) xml.dom.INDEX_SIZE_ERR xml.dom.INUSE_ATTRIBUTE_ERR xml.dom.INVALID_ACCESS_ERR xml.dom.INVALID_CHARACTER_ERR xml.dom.INVALID_MODIFICATION_ERR xml.dom.INVALID_STATE_ERR xml.dom.IndexSizeErr(??) xml.dom.InuseAttributeErr(??) xml.dom.InvalidAccessErr(??) xml.dom.InvalidCharacterErr(??) xml.dom.InvalidModificationErr(??) xml.dom.InvalidStateErr(??) xml.dom.NAMESPACE_ERR xml.dom.NOT_FOUND_ERR xml.dom.NOT_SUPPORTED_ERR xml.dom.NO_DATA_ALLOWED_ERR xml.dom.NO_MODIFICATION_ALLOWED_ERR xml.dom.NamespaceErr(??) xml.dom.NoDataAllowedErr(??) xml.dom.NoModificationAllowedErr(??) xml.dom.Node(??) xml.dom.NodeFilter(??) xml.dom.NodeFilter.NodeFilter(??) xml.dom.NotFoundErr(??) xml.dom.NotSupportedErr(??) xml.dom.SYNTAX_ERR xml.dom.SyntaxErr(??) xml.dom.UserDataHandler(??) xml.dom.VALIDATION_ERR xml.dom.ValidationErr(??) xml.dom.WRONG_DOCUMENT_ERR xml.dom.WrongDocumentErr(??) xml.dom.XHTML_NAMESPACE xml.dom.XMLNS_NAMESPACE xml.dom.XML_NAMESPACE xml.dom.domreg(??) xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.domreg.registerDOMImplementation(name, factory) xml.dom.domreg.registered(??) xml.dom.domreg.sys(??) xml.dom.domreg.well_known_implementations(??) xml.dom.expatbuilder(??) xml.dom.expatbuilder.CDATA_SECTION_NODE xml.dom.expatbuilder.DOCUMENT_NODE xml.dom.expatbuilder.EMPTY_NAMESPACE(??) xml.dom.expatbuilder.EMPTY_PREFIX(??) xml.dom.expatbuilder.ElementInfo(??) xml.dom.expatbuilder.ExpatBuilder(??) xml.dom.expatbuilder.ExpatBuilderNS(??) xml.dom.expatbuilder.FILTER_ACCEPT xml.dom.expatbuilder.FILTER_INTERRUPT xml.dom.expatbuilder.FILTER_REJECT xml.dom.expatbuilder.FILTER_SKIP xml.dom.expatbuilder.FilterCrutch(??) xml.dom.expatbuilder.FilterVisibilityController(??) xml.dom.expatbuilder.FragmentBuilder(??) xml.dom.expatbuilder.FragmentBuilderNS(??) xml.dom.expatbuilder.InternalSubsetExtractor(??) xml.dom.expatbuilder.Namespaces(??) xml.dom.expatbuilder.Node(??) xml.dom.expatbuilder.NodeFilter(??) xml.dom.expatbuilder.ParseEscape(??) xml.dom.expatbuilder.Rejecter(??) xml.dom.expatbuilder.Skipper(??) xml.dom.expatbuilder.TEXT_NODE xml.dom.expatbuilder.XMLNS_NAMESPACE xml.dom.expatbuilder.expat(??) xml.dom.expatbuilder.makeBuilder(??) xml.dom.expatbuilder.minidom(??) xml.dom.expatbuilder.parse(??) xml.dom.expatbuilder.parseFragment(??) xml.dom.expatbuilder.parseFragmentString(??) xml.dom.expatbuilder.parseString(??) xml.dom.expatbuilder.theDOMImplementation(??) xml.dom.expatbuilder.xmlbuilder(??) xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. xml.dom.minicompat(??) xml.dom.minicompat.EmptyNodeList(??) xml.dom.minicompat.NodeList(??) xml.dom.minicompat.StringTypes(??) xml.dom.minicompat.defproperty(??) xml.dom.minicompat.xml(??) xml.dom.minidom(??) xml.dom.minidom.Attr(??) xml.dom.minidom.AttributeList(??) xml.dom.minidom.CDATASection(??) xml.dom.minidom.CharacterData(??) xml.dom.minidom.Childless(??) xml.dom.minidom.Comment(??) xml.dom.minidom.DOMImplementation(??) xml.dom.minidom.DOMImplementationLS(??) xml.dom.minidom.Document(??) xml.dom.minidom.DocumentFragment(??) xml.dom.minidom.DocumentLS(??) xml.dom.minidom.DocumentType(??) xml.dom.minidom.EMPTY_NAMESPACE(??) xml.dom.minidom.EMPTY_PREFIX(??) xml.dom.minidom.Element(??) xml.dom.minidom.ElementInfo(??) xml.dom.minidom.EmptyNodeList(??) xml.dom.minidom.Entity(??) xml.dom.minidom.Identified(??) xml.dom.minidom.NamedNodeMap(??) xml.dom.minidom.Node(??) xml.dom.minidom.NodeList(??) xml.dom.minidom.Notation(??) xml.dom.minidom.ProcessingInstruction(??) xml.dom.minidom.ReadOnlySequentialNamedNodeMap(??) xml.dom.minidom.StringTypes(??) xml.dom.minidom.Text(??) xml.dom.minidom.TypeInfo(??) xml.dom.minidom.XMLNS_NAMESPACE xml.dom.minidom.defproperty(??) xml.dom.minidom.domreg(??) xml.dom.minidom.getDOMImplementation(??) xml.dom.minidom.io(??) xml.dom.minidom.parse(??) xml.dom.minidom.parseString(??) xml.dom.minidom.xml(??) xml.dom.pulldom(??) xml.dom.pulldom.CHARACTERS xml.dom.pulldom.COMMENT xml.dom.pulldom.DOMEventStream(??) xml.dom.pulldom.END_DOCUMENT xml.dom.pulldom.END_ELEMENT xml.dom.pulldom.ErrorHandler(??) xml.dom.pulldom.IGNORABLE_WHITESPACE xml.dom.pulldom.PROCESSING_INSTRUCTION xml.dom.pulldom.PullDOM(??) xml.dom.pulldom.SAX2DOM(??) xml.dom.pulldom.START_DOCUMENT xml.dom.pulldom.START_ELEMENT xml.dom.pulldom.default_bufsize xml.dom.pulldom.parse(??) xml.dom.pulldom.parseString(??) xml.dom.pulldom.xml(??) xml.dom.registerDOMImplementation(name, factory) xml.dom.xmlbuilder(??) xml.dom.xmlbuilder.DOMBuilder(??) xml.dom.xmlbuilder.DOMBuilderFilter(??) xml.dom.xmlbuilder.DOMEntityResolver(??) xml.dom.xmlbuilder.DOMImplementationLS(??) xml.dom.xmlbuilder.DOMInputSource(??) xml.dom.xmlbuilder.DocumentLS(??) xml.dom.xmlbuilder.Options(??) xml.dom.xmlbuilder.copy(??) xml.dom.xmlbuilder.xml(??) xml.etree.ElementInclude.DEFAULT_MAX_INCLUSION_DEPTH xml.etree.ElementInclude.ElementTree(??) xml.etree.ElementInclude.FatalIncludeError(??) xml.etree.ElementInclude.LimitedRecursiveIncludeError(??) xml.etree.ElementInclude.XINCLUDE xml.etree.ElementInclude.XINCLUDE_FALLBACK xml.etree.ElementInclude.XINCLUDE_INCLUDE xml.etree.ElementInclude.copy(??) xml.etree.ElementInclude.default_loader(??) xml.etree.ElementInclude.include(??) xml.etree.ElementInclude.urljoin(??) xml.etree.ElementPath(??) xml.etree.ElementPath.find(??) xml.etree.ElementPath.findall(??) xml.etree.ElementPath.findtext(??) xml.etree.ElementPath.get_parent_map(??) xml.etree.ElementPath.iterfind(??) xml.etree.ElementPath.ops(??) xml.etree.ElementPath.prepare_child(??) xml.etree.ElementPath.prepare_descendant(??) xml.etree.ElementPath.prepare_parent(??) xml.etree.ElementPath.prepare_predicate(??) xml.etree.ElementPath.prepare_self(??) xml.etree.ElementPath.prepare_star(??) xml.etree.ElementPath.re(??) xml.etree.ElementPath.xpath_tokenizer(??) xml.etree.ElementPath.xpath_tokenizer_re(??) xml.etree.ElementTree(??) xml.etree.ElementTree.C14NWriterTarget(??) xml.etree.ElementTree.Comment(??) xml.etree.ElementTree.Element(??) xml.etree.ElementTree.ElementPath(??) xml.etree.ElementTree.ElementTree(??) xml.etree.ElementTree.HTML_EMPTY(??) xml.etree.ElementTree.PI(??) xml.etree.ElementTree.ParseError(??) xml.etree.ElementTree.ProcessingInstruction(??) xml.etree.ElementTree.QName(??) xml.etree.ElementTree.SubElement(??) xml.etree.ElementTree.TreeBuilder(??) xml.etree.ElementTree.VERSION xml.etree.ElementTree.XML(??) xml.etree.ElementTree.XMLID(??) xml.etree.ElementTree.XMLParser(??) xml.etree.ElementTree.XMLPullParser(??) xml.etree.ElementTree.canonicalize(??) xml.etree.ElementTree.collections(??) xml.etree.ElementTree.contextlib(??) xml.etree.ElementTree.dump(??) xml.etree.ElementTree.fromstring(??) xml.etree.ElementTree.fromstringlist(??) xml.etree.ElementTree.indent(??) xml.etree.ElementTree.io(??) xml.etree.ElementTree.iselement(??) xml.etree.ElementTree.iterparse(??) xml.etree.ElementTree.parse(??) xml.etree.ElementTree.re(??) xml.etree.ElementTree.register_namespace(??) xml.etree.ElementTree.sys(??) xml.etree.ElementTree.tostring(??) xml.etree.ElementTree.tostringlist(??) xml.etree.ElementTree.warnings(??) xml.etree.cElementTree(??) xml.etree.cElementTree.C14NWriterTarget(??) xml.etree.cElementTree.Comment(??) xml.etree.cElementTree.Element(??) xml.etree.cElementTree.ElementTree(??) xml.etree.cElementTree.PI(??) xml.etree.cElementTree.ParseError(??) xml.etree.cElementTree.ProcessingInstruction(??) xml.etree.cElementTree.QName(??) xml.etree.cElementTree.SubElement(??) xml.etree.cElementTree.TreeBuilder(??) xml.etree.cElementTree.VERSION xml.etree.cElementTree.XML(??) xml.etree.cElementTree.XMLID(??) xml.etree.cElementTree.XMLParser(??) xml.etree.cElementTree.XMLPullParser(??) xml.etree.cElementTree.canonicalize(??) xml.etree.cElementTree.dump(??) xml.etree.cElementTree.fromstring(??) xml.etree.cElementTree.fromstringlist(??) xml.etree.cElementTree.indent(??) xml.etree.cElementTree.iselement(??) xml.etree.cElementTree.iterparse(??) xml.etree.cElementTree.parse(??) xml.etree.cElementTree.register_namespace(??) xml.etree.cElementTree.tostring(??) xml.etree.cElementTree.tostringlist(??) xml.parsers(??) xml.parsers.expat(??) xml.parsers.expat.EXPAT_VERSION xml.parsers.expat.ErrorString(??) xml.parsers.expat.ExpatError(??) xml.parsers.expat.ParserCreate(??) xml.parsers.expat.XMLParserType(??) xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE xml.parsers.expat.error(??) xml.parsers.expat.errors(??) xml.parsers.expat.expat_CAPI(??) xml.parsers.expat.features(??) xml.parsers.expat.model(??) xml.parsers.expat.native_encoding xml.parsers.expat.sys(??) xml.parsers.expat.version_info(??) xml.sax(??) xml.sax.ContentHandler(??) xml.sax.ErrorHandler(??) xml.sax.InputSource(??) xml.sax.SAXException(??) xml.sax.SAXNotRecognizedException(??) xml.sax.SAXNotSupportedException(??) xml.sax.SAXParseException(??) xml.sax.SAXReaderNotAvailable(??) xml.sax.default_parser_list(??) xml.sax.expatreader.AttributesImpl(??) xml.sax.expatreader.AttributesNSImpl(??) xml.sax.expatreader.ExpatLocator(??) xml.sax.expatreader.ExpatParser(??) xml.sax.expatreader.SAXException(??) xml.sax.expatreader.SAXNotRecognizedException(??) xml.sax.expatreader.SAXNotSupportedException(??) xml.sax.expatreader.SAXParseException(??) xml.sax.expatreader.SAXReaderNotAvailable(??) xml.sax.expatreader.create_parser(??) xml.sax.expatreader.expat(??) xml.sax.expatreader.feature_external_ges xml.sax.expatreader.feature_external_pes xml.sax.expatreader.feature_namespace_prefixes xml.sax.expatreader.feature_namespaces xml.sax.expatreader.feature_string_interning xml.sax.expatreader.feature_validation xml.sax.expatreader.handler(??) xml.sax.expatreader.property_interning_dict xml.sax.expatreader.property_xml_string xml.sax.expatreader.saxutils(??) xml.sax.expatreader.version xml.sax.expatreader.xmlreader(??) xml.sax.handler(??) xml.sax.handler.ContentHandler(??) xml.sax.handler.DTDHandler(??) xml.sax.handler.EntityResolver(??) xml.sax.handler.ErrorHandler(??) xml.sax.handler.all_features(??) xml.sax.handler.all_properties(??) xml.sax.handler.feature_external_ges xml.sax.handler.feature_external_pes xml.sax.handler.feature_namespace_prefixes xml.sax.handler.feature_namespaces xml.sax.handler.feature_string_interning xml.sax.handler.feature_validation xml.sax.handler.property_declaration_handler xml.sax.handler.property_dom_node xml.sax.handler.property_encoding xml.sax.handler.property_interning_dict xml.sax.handler.property_lexical_handler xml.sax.handler.property_xml_string xml.sax.handler.version xml.sax.make_parser(??) xml.sax.parse(??) xml.sax.parseString(??) xml.sax.saxutils.XMLFilterBase(??) xml.sax.saxutils.XMLGenerator(??) xml.sax.saxutils.codecs(??) xml.sax.saxutils.escape(??) xml.sax.saxutils.handler(??) xml.sax.saxutils.io(??) xml.sax.saxutils.os(??) xml.sax.saxutils.prepare_input_source(??) xml.sax.saxutils.quoteattr(??) xml.sax.saxutils.unescape(??) xml.sax.saxutils.urllib(??) xml.sax.saxutils.xmlreader(??) xml.sax.xmlreader(??) xml.sax.xmlreader.AttributesImpl(??) xml.sax.xmlreader.AttributesNSImpl(??) xml.sax.xmlreader.IncrementalParser(??) xml.sax.xmlreader.InputSource(??) xml.sax.xmlreader.Locator(??) xml.sax.xmlreader.SAXNotRecognizedException(??) xml.sax.xmlreader.SAXNotSupportedException(??) xml.sax.xmlreader.XMLReader(??) xml.sax.xmlreader.handler(??) xmlrpc.client(??) xmlrpc.client.APPLICATION_ERROR xmlrpc.client.Binary(??) xmlrpc.client.Boolean(??) xmlrpc.client.BytesIO(??) xmlrpc.client.DateTime(??) xmlrpc.client.Decimal(??) xmlrpc.client.Error(??) xmlrpc.client.ExpatParser(??) xmlrpc.client.FastMarshaller(??) xmlrpc.client.FastParser(??) xmlrpc.client.FastUnmarshaller(??) xmlrpc.client.Fault(??) xmlrpc.client.GzipDecodedResponse(??) xmlrpc.client.INTERNAL_ERROR xmlrpc.client.INVALID_ENCODING_CHAR xmlrpc.client.INVALID_METHOD_PARAMS xmlrpc.client.INVALID_XMLRPC xmlrpc.client.MAXINT xmlrpc.client.METHOD_NOT_FOUND xmlrpc.client.MININT xmlrpc.client.Marshaller(??) xmlrpc.client.MultiCall(??) xmlrpc.client.MultiCallIterator(??) xmlrpc.client.NOT_WELLFORMED_ERROR xmlrpc.client.PARSE_ERROR xmlrpc.client.ProtocolError(??) xmlrpc.client.ResponseError(??) xmlrpc.client.SERVER_ERROR xmlrpc.client.SYSTEM_ERROR xmlrpc.client.SafeTransport(??) xmlrpc.client.Server(??) xmlrpc.client.ServerProxy(??) xmlrpc.client.TRANSPORT_ERROR xmlrpc.client.Transport(??) xmlrpc.client.UNSUPPORTED_ENCODING xmlrpc.client.Unmarshaller(??) xmlrpc.client.WRAPPERS(??) xmlrpc.client.base64(??) xmlrpc.client.boolean(??) xmlrpc.client.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) xmlrpc.client.dumps(??) xmlrpc.client.errno(??) xmlrpc.client.escape(??) xmlrpc.client.expat(??) xmlrpc.client.getparser() -> parser, unmarshaller xmlrpc.client.gzip(??) xmlrpc.client.gzip_decode(??) xmlrpc.client.gzip_encode(??) xmlrpc.client.http(??) xmlrpc.client.loads(??) xmlrpc.client.sys(??) xmlrpc.client.time(??) xmlrpc.client.urllib(??) xmlrpc.server(??) xmlrpc.server.BaseHTTPRequestHandler(??) xmlrpc.server.CGIXMLRPCRequestHandler(??) xmlrpc.server.DocCGIXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCRequestHandler(??) xmlrpc.server.DocXMLRPCServer(??) xmlrpc.server.Fault(??) xmlrpc.server.MultiPathXMLRPCServer(??) xmlrpc.server.ServerHTMLDoc(??) xmlrpc.server.SimpleXMLRPCDispatcher(??) xmlrpc.server.SimpleXMLRPCRequestHandler(??) xmlrpc.server.SimpleXMLRPCServer(??) xmlrpc.server.XMLRPCDocGenerator(??) xmlrpc.server.dumps(??) xmlrpc.server.fcntl(??) xmlrpc.server.gzip_decode(??) xmlrpc.server.gzip_encode(??) xmlrpc.server.html(??) xmlrpc.server.http(??) xmlrpc.server.list_public_methods(??) xmlrpc.server.loads(??) xmlrpc.server.os(??) xmlrpc.server.partial(func, *args, **keywords) - new function with partial application xmlrpc.server.pydoc(??) xmlrpc.server.re(??) xmlrpc.server.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d xmlrpc.server.signature(??) xmlrpc.server.socketserver(??) xmlrpc.server.sys(??) xmlrpc.server.traceback(??) zip(*iterables) --> A zip object yielding tuples until an input is exhausted. zipapp.MAIN_TEMPLATE zipapp.ZipAppError(??) zipapp.contextlib(??) zipapp.create_archive(??) zipapp.get_interpreter(??) zipapp.main(??) zipapp.os(??) zipapp.pathlib(??) zipapp.shebang_encoding zipapp.shutil(??) zipapp.stat(??) zipapp.sys(??) zipapp.zipfile(??) zipfile.BZIP2_VERSION zipfile.BadZipFile(??) zipfile.BadZipfile(??) zipfile.CompleteDirs(??) zipfile.DEFAULT_VERSION zipfile.FastLookup(??) zipfile.LZMACompressor(??) zipfile.LZMADecompressor(??) zipfile.LZMA_VERSION zipfile.LargeZipFile(??) zipfile.MAX_EXTRACT_VERSION zipfile.Path(??) zipfile.PyZipFile(??) zipfile.ZIP64_LIMIT zipfile.ZIP64_VERSION zipfile.ZIP_BZIP2 zipfile.ZIP_DEFLATED zipfile.ZIP_FILECOUNT_LIMIT zipfile.ZIP_LZMA zipfile.ZIP_MAX_COMMENT zipfile.ZIP_STORED zipfile.ZipExtFile(??) zipfile.ZipFile(??) zipfile.ZipInfo(??) zipfile.binascii(??) zipfile.bz2(??) zipfile.compressor_names(??) zipfile.contextlib(??) zipfile.crc32(??) zipfile.error(??) zipfile.importlib(??) zipfile.io(??) zipfile.is_zipfile(??) zipfile.itertools(??) zipfile.lzma(??) zipfile.main(??) zipfile.os(??) zipfile.posixpath(??) zipfile.shutil(??) zipfile.sizeCentralDir zipfile.sizeEndCentDir zipfile.sizeEndCentDir64 zipfile.sizeEndCentDir64Locator zipfile.sizeFileHeader zipfile.stat(??) zipfile.stringCentralDir zipfile.stringEndArchive zipfile.stringEndArchive64 zipfile.stringEndArchive64Locator zipfile.stringFileHeader zipfile.struct(??) zipfile.structCentralDir zipfile.structEndArchive zipfile.structEndArchive64 zipfile.structEndArchive64Locator zipfile.structFileHeader zipfile.sys(??) zipfile.threading(??) zipfile.time(??) zipfile.zlib(??) zipimport.END_CENTRAL_DIR_SIZE zipimport.MAX_COMMENT_LEN zipimport.STRING_END_ARCHIVE zipimport.ZipImportError(??) zipimport.alt_path_sep zipimport.cp437_table zipimport.marshal(??) zipimport.path_sep zipimport.sys(??) zipimport.time(??) zipimport.zipimporter(archivepath) -> zipimporter object zoneinfo.InvalidTZPathWarning(??) zoneinfo.TZPATH(??) zoneinfo.ZoneInfo(??) zoneinfo.ZoneInfoNotFoundError(??) zoneinfo.available_timezones(??) zoneinfo.reset_tzpath(??) ================================================ FILE: src/qscint/scintilla/boostregex/AnsiDocumentIterator.h ================================================ // This file is part of Notepad-- project // Copyright (C) 2023 Notepad-- authors. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // at your option any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef ANSIDOCUMENTITERATOR_H_12481491281240 #define ANSIDOCUMENTITERATOR_H_12481491281240 #include "Position.h" namespace Scintilla { class AnsiDocumentIterator { public: using iterator_category = std::bidirectional_iterator_tag; using value_type = char; using difference_type = ptrdiff_t; using pointer = char*; using reference = char&; AnsiDocumentIterator() {}; AnsiDocumentIterator(Document* doc, Sci::Position pos, Sci::Position end) : m_pos(pos), m_end(end), m_doc(doc) { // Check for debug builds PLATFORM_ASSERT(m_pos <= m_end); // Ensure for release. if (m_pos > m_end) { m_pos = m_end; } } AnsiDocumentIterator(const AnsiDocumentIterator& copy) : m_pos(copy.m_pos), m_end(copy.m_end), m_doc(copy.m_doc) { // Check for debug builds PLATFORM_ASSERT(m_pos <= m_end); // Ensure for release. if (m_pos > m_end) { m_pos = m_end; } } bool operator == (const AnsiDocumentIterator& other) const { return (ended() == other.ended()) && (m_doc == other.m_doc) && (m_pos == other.m_pos); } bool operator != (const AnsiDocumentIterator& other) const { return !(*this == other); } char operator * () const { return charAt(m_pos); } AnsiDocumentIterator& operator ++ () { PLATFORM_ASSERT(m_pos < m_end); m_pos++; return *this; } AnsiDocumentIterator& operator -- () { m_pos--; return *this; } Sci::Position pos() const { return m_pos; } private: char charAt(Sci::Position position) const { return m_doc->CharAt(position); } bool ended() const { return m_pos == m_end; } Sci::Position m_pos = 0; Sci::Position m_end = 0; Document* m_doc = nullptr; }; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/BoostRegExSearch.cpp ================================================ /** * Copyright (c) since 2009 Simon Steele - http://untidy.net/ * Based on the work of Simon Steele for Programmer's Notepad 2 (http://untidy.net) * Converted from boost::xpressive to boost::regex and performance improvements * (principally caching the compiled regex), and support for UTF8 encoded text * (c) 2012 Dave Brotherstone - Changes for boost::regex * (c) 2013 Francois-R.Boyer@PolyMtl.ca - Empty match modes and best match backward search * (c) 2019 Don Ho - Adapt for upgrading Scitilla (to version 4.1.4) and boost (to version 1.70) * (c) 2022 zuowei yin - Upgrading QScitilla and boost */ #include #include #include #include #include "Scintilla.h" #include "Platform.h" #include "ILoader.h" #include "ILexer.h" #include "Position.h" #include "UniqueString.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" #include "ContractionState.h" #include "CellBuffer.h" #include "CharClassify.h" #include "Decoration.h" #include "ILexer.h" #include "CaseFolder.h" #include "CharacterCategory.h" #include "Document.h" #include "UniConversion.h" #include "UTF8DocumentIterator.h" #include "AnsiDocumentIterator.h" #include "BoostRegexSearch.h" #include #include #include "BoostRegexSearch.h" #define CP_UTF8 65001 #define SC_CP_UTF8 65001 using namespace Scintilla; using namespace boost; class BoostRegexSearch : public RegexSearchBase { public: BoostRegexSearch() : _substituted(NULL) {} virtual ~BoostRegexSearch() { delete[] _substituted; _substituted = NULL; } virtual Sci::Position FindText(Document* doc, Sci::Position minPos, Sci::Position maxPos, const char *regex, bool caseSensitive, bool word, bool wordStart, int sciSearchFlags, Sci::Position *lengthRet); virtual const char *SubstituteByPosition(Document* doc, const char *text, Sci::Position *length); private: class SearchParameters; class Match : private DocWatcher { public: Match() : _document(NULL), _documentModified(false), _position(-1), _endPosition(-1), _endPositionForContinuationCheck(-1) {} ~Match() { setDocument(NULL); } Match(Document* document, Sci::Position position = -1, Sci::Position endPosition = -1) : _document(NULL) { set(document, position, endPosition); } Match& operator=(Match& m) { set(m._document, m.position(), m.endPosition()); return *this; } Match& operator=(void* /*nullptr*/) { _position = -1; return *this; } void set(Document* document = NULL, Sci::Position position = -1, Sci::Position endPosition = -1) { setDocument(document); _position = position; _endPositionForContinuationCheck = _endPosition = endPosition; _documentModified = false; } bool isContinuationSearch(Document* document, Sci::Position startPosition, int direction) { if (hasDocumentChanged(document)) return false; if (direction > 0) return startPosition == _endPositionForContinuationCheck; else return startPosition == _position; } bool isEmpty() { return _position == _endPosition; } Sci::Position position() { return _position; } Sci::Position endPosition() { return _endPosition; } Sci::Position length() { return _endPosition - _position; } int found() { return _position >= 0; } private: bool hasDocumentChanged(Document* currentDocument) { return currentDocument != _document || _documentModified; } void setDocument(Document* newDocument) { if (newDocument != _document) { if (_document != NULL) _document->RemoveWatcher(this, NULL); _document = newDocument; if (_document != NULL) _document->AddWatcher(this, NULL); } } // DocWatcher, so we can track modifications to know if we should consider a search to be a continuation of last search: virtual void NotifyModified(Document* modifiedDocument, DocModification mh, void* /*userData*/) { if (modifiedDocument == _document) { if (mh.modificationType & (SC_PERFORMED_UNDO | SC_PERFORMED_REDO)) _documentModified = true; // Replacing last found text should not make isContinuationSearch return false. else if (mh.modificationType & SC_MOD_DELETETEXT) { if (mh.position == position() && mh.length == length()) // Deleting what we last found. _endPositionForContinuationCheck = _position; else _documentModified = true; } else if (mh.modificationType & SC_MOD_INSERTTEXT) { if (mh.position == position() && position() == _endPositionForContinuationCheck) // Replace at last found position. _endPositionForContinuationCheck += mh.length; else _documentModified = true; } } } virtual void NotifyDeleted(Document* deletedDocument, void* /*userData*/) noexcept { if (deletedDocument == _document) { // We set the _document here, as we don't want to call the RemoveWatcher on this deleted document. // Calling RemoveWatcher inside NotifyDeleted results in a crash, as NotifyDeleted is called whilst // iterating on the watchers list (since Scintilla 3.x). Before 3.x, it was just a really bad idea. _document = NULL; set(NULL); } } virtual void NotifyModifyAttempt(Document* /*document*/, void* /*userData*/) {} virtual void NotifySavePoint(Document* /*document*/, void* /*userData*/, bool /*atSavePoint*/) {} virtual void NotifyStyleNeeded(Document* /*document*/, void* /*userData*/, Sci::Position /*endPos*/) {} virtual void NotifyLexerChanged(Document* /*document*/, void* /*userData*/) {} virtual void NotifyErrorOccurred(Document* /*document*/, void* /*userData*/, int /*status*/) {} Document* _document; bool _documentModified; Sci::Position _position, _endPosition; Sci::Position _endPositionForContinuationCheck; }; class CharTPtr { // Automatically translatable from utf8 to wchar_t*, if required, with allocation and deallocation on destruction; char* is not deallocated. public: CharTPtr(const char* ptr) : _charPtr(ptr), _wcharPtr(NULL) {} ~CharTPtr() { delete[] _wcharPtr; } operator const char*() { return _charPtr; } operator const wchar_t*() { if (_wcharPtr == NULL) _wcharPtr = utf8ToWchar(_charPtr); return _wcharPtr; } private: const char* _charPtr; wchar_t* _wcharPtr; }; template class EncodingDependent { public: EncodingDependent() : _lastCompileFlags(-1) {} void compileRegex(const char *regex, const int compileFlags); Match FindText(SearchParameters& search); char *SubstituteByPosition(const char *text, Sci::Position *length); private: Match FindTextForward(SearchParameters& search); Match FindTextBackward(SearchParameters& search); public: typedef CharT Char; typedef basic_regex Regex; typedef match_results MatchResults; MatchResults _match; private: Regex _regex; std::string _lastRegexString; int _lastCompileFlags; }; class SearchParameters { public: Sci::Position nextCharacter(Sci::Position position); bool isLineStart(Sci::Position position); bool isLineEnd(Sci::Position position); Document* _document; const char *_regexString; int _compileFlags; Sci::Position _startPosition; Sci::Position _endPosition; regex_constants::match_flag_type _boostRegexFlags; int _direction; bool _is_allowed_empty; bool _is_allowed_empty_at_start_position; bool _skip_windows_line_end_as_one_character; }; static wchar_t *utf8ToWchar(const char *utf8); static char *wcharToUtf8(const wchar_t *w); static char *stringToCharPtr(const std::string& str); static char *stringToCharPtr(const std::wstring& str); EncodingDependent _ansi; EncodingDependent _utf8; char *_substituted; Match _lastMatch; int _lastDirection; }; namespace Scintilla { RegexSearchBase *CreateRegexSearch() { return new BoostRegexSearch(); } } std::string g_exceptionMessage; /** * Find text in document, supporting both forward and backward * searches (just pass startPosition > endPosition to do a backward search). */ Sci::Position BoostRegexSearch::FindText(Document* doc, Sci::Position startPosition, Sci::Position endPosition, const char *regexString, bool caseSensitive, bool /*word*/, bool /*wordStart*/, int sciSearchFlags, Sci::Position *lengthRet) { g_exceptionMessage.clear(); try { SearchParameters search; search._document = doc; if (startPosition > endPosition || (startPosition == endPosition && _lastDirection < 0)) // If we search in an empty region, suppose the direction is the same as last search (this is only important to verify if there can be an empty match in that empty region). { search._startPosition = endPosition; search._endPosition = startPosition; search._direction = -1; } else { search._startPosition = startPosition; search._endPosition = endPosition; search._direction = 1; } _lastDirection = search._direction; // Range endpoints should not be inside DBCS characters, but just in case, move them. search._startPosition = doc->MovePositionOutsideChar(search._startPosition, 1, false); search._endPosition = doc->MovePositionOutsideChar(search._endPosition, 1, false); const bool isUtf8 = (doc->CodePage() == SC_CP_UTF8); search._compileFlags = regex_constants::ECMAScript | (caseSensitive ? 0 : regex_constants::icase); search._regexString = regexString; search._boostRegexFlags = ((sciSearchFlags & SCFIND_REGEXP_DOTMATCHESNL) ? regex_constants::match_default : regex_constants::match_not_dot_newline); const int empty_match_style = sciSearchFlags & SCFIND_REGEXP_EMPTYMATCH_MASK; const int allow_empty_at_start = sciSearchFlags & SCFIND_REGEXP_EMPTYMATCH_ALLOWATSTART; search._is_allowed_empty = empty_match_style != SCFIND_REGEXP_EMPTYMATCH_NONE; search._is_allowed_empty_at_start_position = search._is_allowed_empty && (allow_empty_at_start || !_lastMatch.isContinuationSearch(doc, startPosition, search._direction) || (empty_match_style == SCFIND_REGEXP_EMPTYMATCH_ALL && !_lastMatch.isEmpty()) // If last match is empty and this is a continuation, then we would have same empty match at start position, if it was allowed. ); search._skip_windows_line_end_as_one_character = (sciSearchFlags & SCFIND_REGEXP_SKIPCRLFASONE) != 0; Match match = isUtf8 ? _utf8.FindText(search) : _ansi.FindText(search); if (match.found()) { *lengthRet = match.length(); _lastMatch = match; return match.position(); } else { _lastMatch = NULL; return -1; } } catch(regex_error& ex) { // -1 is normally used for not found, -2 is used here for invalid regex g_exceptionMessage = ex.what(); return -2; } catch(boost::wrapexcept& ex) { g_exceptionMessage = ex.what(); return -3; } catch(...) { g_exceptionMessage = "Unexpected exception while searching"; return -3; } } template BoostRegexSearch::Match BoostRegexSearch::EncodingDependent::FindText(SearchParameters& search) { compileRegex(search._regexString, search._compileFlags); return (search._direction > 0) ? FindTextForward(search) : FindTextBackward(search); } template BoostRegexSearch::Match BoostRegexSearch::EncodingDependent::FindTextForward(SearchParameters& search) { CharacterIterator endIterator(search._document, search._endPosition, search._endPosition); CharacterIterator baseIterator(search._document, 0, search._endPosition); Sci::Position next_search_from_position = search._startPosition; bool found = false; bool match_is_valid = false; do { const bool end_reached = next_search_from_position > search._endPosition; found = !end_reached && boost::regex_search(CharacterIterator(search._document, next_search_from_position, search._endPosition), endIterator, _match, _regex, search._boostRegexFlags, baseIterator); if (found) { const Sci::Position position = _match[0].first.pos(); const Sci::Position length = _match[0].second.pos() - position; const bool match_is_non_empty = length != 0; const bool is_allowed_empty_here = search._is_allowed_empty && (search._is_allowed_empty_at_start_position || position > search._startPosition); match_is_valid = match_is_non_empty || is_allowed_empty_here; if (!match_is_valid) next_search_from_position = search.nextCharacter(position); } } while (found && !match_is_valid); if (found) return Match(search._document, _match[0].first.pos(), _match[0].second.pos()); else return Match(); } template BoostRegexSearch::Match BoostRegexSearch::EncodingDependent::FindTextBackward(SearchParameters& search) { // Change backward search into series of forward search. It is slow: search all backward becomes O(n^2) instead of O(n) (if search forward is O(n)). //NOTE: Maybe we should cache results. Maybe we could reverse regex to do a real backward search, for simple regex. search._direction = 1; const bool is_allowed_empty_at_end_position = search._is_allowed_empty_at_start_position; search._is_allowed_empty_at_start_position = search._is_allowed_empty; MatchResults bestMatch; Sci::Position bestPosition = -1; Sci::Position bestEnd = -1; for (;;) { Match matchRange = FindText(search); if (!matchRange.found()) break; Sci::Position position = matchRange.position(); Sci::Position endPosition = matchRange.endPosition(); if (endPosition > bestEnd && (endPosition < search._endPosition || position != endPosition || is_allowed_empty_at_end_position)) // We are searching for the longest match which has the fathest end (but may not accept empty match at end position). { bestMatch = _match; bestPosition = position; bestEnd = endPosition; } search._startPosition = search.nextCharacter(position); } if (bestPosition >= 0) return Match(search._document, bestPosition, bestEnd); else return Match(); } template void BoostRegexSearch::EncodingDependent::compileRegex(const char *regex, const int compileFlags) { if (_lastCompileFlags != compileFlags || _lastRegexString != regex) { _regex = Regex(CharTPtr(regex), static_cast(compileFlags)); _lastRegexString = regex; _lastCompileFlags = compileFlags; } } Sci::Position BoostRegexSearch::SearchParameters::nextCharacter(Sci::Position position) { if (_skip_windows_line_end_as_one_character && _document->CharAt(position) == '\r' && _document->CharAt(position+1) == '\n') return position + 2; else return position + 1; } bool BoostRegexSearch::SearchParameters::isLineStart(Sci::Position position) { return (position == 0) || _document->CharAt(position-1) == '\n' || (_document->CharAt(position-1) == '\r' && _document->CharAt(position) != '\n'); } bool BoostRegexSearch::SearchParameters::isLineEnd(Sci::Position position) { return (position == _document->Length()) || _document->CharAt(position) == '\r' || (_document->CharAt(position) == '\n' && (position == 0 || _document->CharAt(position-1) != '\n')); } const char *BoostRegexSearch::SubstituteByPosition(Document* doc, const char *text, Sci::Position *length) { delete[] _substituted; _substituted = (doc->CodePage() == SC_CP_UTF8) ? _utf8.SubstituteByPosition(text, length) : _ansi.SubstituteByPosition(text, length); return _substituted; } template char *BoostRegexSearch::EncodingDependent::SubstituteByPosition(const char *text, Sci::Position *length) { char *substituted = stringToCharPtr(_match.format((const CharT*)CharTPtr(text), boost::format_all)); *length = static_cast(strlen(substituted)); return substituted; } wchar_t *BoostRegexSearch::utf8ToWchar(const char *utf8) { size_t utf8Size = strlen(utf8); std::string s(utf8, utf8Size); size_t wcharSize = UTF16Length(utf8,utf8Size); wchar_t *w = new wchar_t[wcharSize + 1]; UTF16FromUTF8(utf8, utf8Size, w, wcharSize + 1); w[wcharSize] = 0; return w; } char *BoostRegexSearch::wcharToUtf8(const wchar_t *w) { int wcharSize = static_cast(wcslen(w)); std::wstring ws(w); size_t charSize = UTF8Length(w,wcharSize); char *c = new char[charSize + 1]; UTF8FromUTF16(w, wcharSize, c, charSize); c[charSize] = 0; return c; } char *BoostRegexSearch::stringToCharPtr(const std::string& str) { char *charPtr = new char[str.length() + 1]; strcpy(charPtr, str.c_str()); return charPtr; } char *BoostRegexSearch::stringToCharPtr(const std::wstring& str) { return wcharToUtf8(str.c_str()); } ================================================ FILE: src/qscint/scintilla/boostregex/UTF8DocumentIterator.cpp ================================================ // This file is part of Notepad-- project // Copyright (C) 2023 Notepad-- authors. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // at your option any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "UTF8DocumentIterator.h" #include #include "ILoader.h" #include "ILexer.h" #include "Scintilla.h" #include "Platform.h" #include "CharacterCategory.h" #include "Position.h" #include "SplitVector.h" #include "Partitioning.h" #include "RunStyles.h" #include "CellBuffer.h" #include "CharClassify.h" #include "Decoration.h" #include "CaseFolder.h" #include "Document.h" using namespace Scintilla; UTF8DocumentIterator::UTF8DocumentIterator(Document* doc, Sci::Position pos, Sci::Position end) : m_pos(pos), m_end(end), m_characterIndex(0), m_doc(doc) { // Check for debug builds PLATFORM_ASSERT(m_pos <= m_end); // Ensure for release. if (m_pos > m_end) { m_pos = m_end; } readCharacter(); } UTF8DocumentIterator::UTF8DocumentIterator(const UTF8DocumentIterator& copy) : m_pos(copy.m_pos), m_end(copy.m_end), m_characterIndex(copy.m_characterIndex), m_utf8Length(copy.m_utf8Length), m_utf16Length(copy.m_utf16Length), m_doc(copy.m_doc) { // Check for debug builds PLATFORM_ASSERT(m_pos <= m_end); m_character[0] = copy.m_character[0]; m_character[1] = copy.m_character[1]; // Ensure for release. if (m_pos > m_end) { m_pos = m_end; } } UTF8DocumentIterator& UTF8DocumentIterator::operator ++ () { PLATFORM_ASSERT(m_pos < m_end); if (m_utf16Length == 2 && m_characterIndex == 0) { m_characterIndex = 1; } else { m_pos += m_utf8Length; if (m_pos > m_end) { m_pos = m_end; } m_characterIndex = 0; readCharacter(); } return *this; } UTF8DocumentIterator& UTF8DocumentIterator::operator -- () { if (m_utf16Length == 2 && m_characterIndex == 1) { m_characterIndex = 0; } else { --m_pos; // Skip past the UTF-8 extension bytes while (0x80 == (m_doc->CharAt(m_pos) & 0xC0) && m_pos > 0) --m_pos; readCharacter(); if (m_utf16Length == 2) { m_characterIndex = 1; } } return *this; } void UTF8DocumentIterator::readCharacter() { unsigned char currentChar = m_doc->CharAt(m_pos); if (currentChar & 0x80) { int mask = 0x40; int nBytes = 1; do { mask >>= 1; ++nBytes; } while (currentChar & mask); int result = currentChar & m_firstByteMask[nBytes]; Sci::Position pos = m_pos; m_utf8Length = 1; // work out the unicode point, and count the actual bytes. // If a byte does not start with 10xxxxxx then it's not part of the // the code. Therefore invalid UTF-8 encodings are dealt with, simply by stopping when // the UTF8 extension bytes are no longer valid. while ((--nBytes) && (pos < m_end) && (0x80 == ((currentChar = m_doc->CharAt(++pos)) & 0xC0))) { result = (result << 6) | (currentChar & 0x3F); ++m_utf8Length; } if (result >= 0x10000) { result -= 0x10000; m_utf16Length = 2; // UTF-16 Pair m_character[0] = static_cast(0xD800 + (result >> 10)); m_character[1] = static_cast(0xDC00 + (result & 0x3FF)); } else { m_utf16Length = 1; m_character[0] = static_cast(result); } } else { m_utf8Length = 1; m_utf16Length = 1; m_characterIndex = 0; m_character[0] = static_cast(currentChar); } } const unsigned char UTF8DocumentIterator::m_firstByteMask[7] = { 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01 }; ================================================ FILE: src/qscint/scintilla/boostregex/UTF8DocumentIterator.h ================================================ // This file is part of Notepad-- project // Copyright (C) 2023 Notepad-- authors. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // at your option any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef UTF8DOCUMENTITERATOR_H_3452843291318441149 #define UTF8DOCUMENTITERATOR_H_3452843291318441149 #include #include #include #include "Position.h" namespace Scintilla { class Document; class UTF8DocumentIterator { public: using iterator_category = std::bidirectional_iterator_tag; using value_type = wchar_t; using difference_type = ptrdiff_t; using pointer = wchar_t*; using reference = wchar_t&; UTF8DocumentIterator() {}; UTF8DocumentIterator(Document* doc, Sci::Position pos, Sci::Position end); UTF8DocumentIterator(const UTF8DocumentIterator& copy); bool operator == (const UTF8DocumentIterator& other) const { return (ended() == other.ended()) && (m_doc == other.m_doc) && (m_pos == other.m_pos); } bool operator != (const UTF8DocumentIterator& other) const { return !(*this == other); } wchar_t operator * () const { return m_character[m_characterIndex]; } UTF8DocumentIterator& operator = (Sci::Position other) { m_pos = other; return *this; } UTF8DocumentIterator& operator ++ (); UTF8DocumentIterator& operator -- (); Sci::Position pos() const { return m_pos; } private: void readCharacter(); bool ended() const { return m_pos >= m_end; } Sci::Position m_pos = 0; wchar_t m_character[2]; Sci::Position m_end = 0; int m_characterIndex = 0; int m_utf8Length = 0; int m_utf16Length = 0; Document* m_doc = nullptr; static const unsigned char m_firstByteMask[]; }; } #endif // UTF8DOCUMENTITERATOR_H_3452843291318441149 ================================================ FILE: src/qscint/scintilla/boostregex/boost/assert/source_location.hpp ================================================ #ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED #define BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED // http://www.boost.org/libs/assert // // Copyright 2019, 2021 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // http://www.boost.org/LICENSE_1_0.txt #include #include #include #include #include #include namespace boost { struct source_location { private: char const * file_; char const * function_; boost::uint_least32_t line_; boost::uint_least32_t column_; public: BOOST_CONSTEXPR source_location() BOOST_NOEXCEPT: file_( "(unknown)" ), function_( "(unknown)" ), line_( 0 ), column_( 0 ) { } BOOST_CONSTEXPR source_location( char const * file, boost::uint_least32_t ln, char const * function, boost::uint_least32_t col = 0 ) BOOST_NOEXCEPT: file_( file ), function_( function ), line_( ln ), column_( col ) { } BOOST_CONSTEXPR char const * file_name() const BOOST_NOEXCEPT { return file_; } BOOST_CONSTEXPR char const * function_name() const BOOST_NOEXCEPT { return function_; } BOOST_CONSTEXPR boost::uint_least32_t line() const BOOST_NOEXCEPT { return line_; } BOOST_CONSTEXPR boost::uint_least32_t column() const BOOST_NOEXCEPT { return column_; } #if defined(BOOST_MSVC) # pragma warning( push ) # pragma warning( disable: 4996 ) #endif std::string to_string() const { if( line() == 0 ) { return "(unknown source location)"; } std::string r = file_name(); char buffer[ 16 ]; std::sprintf( buffer, ":%ld", static_cast( line() ) ); r += buffer; if( column() ) { std::sprintf( buffer, ":%ld", static_cast( column() ) ); r += buffer; } r += " in function '"; r += function_name(); r += '\''; return r; } #if defined(BOOST_MSVC) # pragma warning( pop ) #endif }; template std::basic_ostream & operator<<( std::basic_ostream & os, source_location const & loc ) { os << loc.to_string(); return os; } } // namespace boost #if defined( BOOST_DISABLE_CURRENT_LOCATION ) # define BOOST_CURRENT_LOCATION ::boost::source_location() #elif defined(__clang_analyzer__) // Cast to char const* to placate clang-tidy // https://bugs.llvm.org/show_bug.cgi?id=28480 # define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, __LINE__, static_cast(BOOST_CURRENT_FUNCTION)) #else # define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, __LINE__, BOOST_CURRENT_FUNCTION) #endif #endif // #ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/abi/borland_prefix.hpp ================================================ // (C) Copyright John Maddock 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // for C++ Builder the following options effect the ABI: // // -b (on or off - effect emum sizes) // -Vx (on or off - empty members) // -Ve (on or off - empty base classes) // -aX (alignment - 5 options). // -pX (Calling convention - 4 options) // -VmX (member pointer size and layout - 5 options) // -VC (on or off, changes name mangling) // -Vl (on or off, changes struct layout). // In addition the following warnings are sufficiently annoying (and // unfixable) to have them turned off by default: // // 8027 - functions containing [for|while] loops are not expanded inline // 8026 - functions taking class by value arguments are not expanded inline #pragma nopushoptwarn # pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026 ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/abi/borland_suffix.hpp ================================================ // (C) Copyright John Maddock 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) # pragma option pop #pragma nopushoptwarn ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/abi/msvc_prefix.hpp ================================================ // (C) Copyright John Maddock 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // Boost binaries are built with the compiler's default ABI settings, // if the user changes their default alignment in the VS IDE then their // code will no longer be binary compatible with the bjam built binaries // unless this header is included to force Boost code into a consistent ABI. // // Note that inclusion of this header is only necessary for libraries with // separate source, header only libraries DO NOT need this as long as all // translation units are built with the same options. // #if defined(_M_X64) # pragma pack(push,16) #else # pragma pack(push,8) #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/abi/msvc_suffix.hpp ================================================ // (C) Copyright John Maddock 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #pragma pack(pop) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/abi_prefix.hpp ================================================ // abi_prefix header -------------------------------------------------------// // (c) Copyright John Maddock 2003 // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). #ifndef BOOST_CONFIG_ABI_PREFIX_HPP # define BOOST_CONFIG_ABI_PREFIX_HPP #else # error double inclusion of header boost/config/abi_prefix.hpp is an error #endif #include // this must occur after all other includes and before any code appears: #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX #endif #if defined( BOOST_BORLANDC ) #pragma nopushoptwarn #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/abi_suffix.hpp ================================================ // abi_sufffix header -------------------------------------------------------// // (c) Copyright John Maddock 2003 // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). // This header should be #included AFTER code that was preceded by a #include // . #ifndef BOOST_CONFIG_ABI_PREFIX_HPP # error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp #else # undef BOOST_CONFIG_ABI_PREFIX_HPP #endif // the suffix header occurs after all of our code: #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_SUFFIX #endif #if defined( BOOST_BORLANDC ) #pragma nopushoptwarn #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/assert_cxx03.hpp ================================================ // This file was automatically generated on Tue Aug 17 16:27:31 2021 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for the most recent version.// // Revision $Id$ // #include #ifdef BOOST_NO_ADL_BARRIER # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ADL_BARRIER." #endif #ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP." #endif #ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS." #endif #ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION." #endif #ifdef BOOST_NO_CTYPE_FUNCTIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CTYPE_FUNCTIONS." #endif #ifdef BOOST_NO_CV_SPECIALIZATIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CV_SPECIALIZATIONS." #endif #ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CV_VOID_SPECIALIZATIONS." #endif #ifdef BOOST_NO_CWCHAR # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CWCHAR." #endif #ifdef BOOST_NO_CWCTYPE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CWCTYPE." #endif #ifdef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS." #endif #ifdef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS." #endif #ifdef BOOST_NO_EXCEPTIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXCEPTIONS." #endif #ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXCEPTION_STD_NAMESPACE." #endif #ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS." #endif #ifdef BOOST_NO_FENV_H # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FENV_H." #endif #ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING." #endif #ifdef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS." #endif #ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION." #endif #ifdef BOOST_NO_INTEGRAL_INT64_T # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INTEGRAL_INT64_T." #endif #ifdef BOOST_NO_INTRINSIC_WCHAR_T # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INTRINSIC_WCHAR_T." #endif #ifdef BOOST_NO_IOSFWD # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IOSFWD." #endif #ifdef BOOST_NO_IOSTREAM # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IOSTREAM." #endif #ifdef BOOST_NO_IS_ABSTRACT # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IS_ABSTRACT." #endif #ifdef BOOST_NO_LIMITS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LIMITS." #endif #ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS." #endif #ifdef BOOST_NO_LONG_LONG # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LONG_LONG." #endif #ifdef BOOST_NO_LONG_LONG_NUMERIC_LIMITS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS." #endif #ifdef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS." #endif #ifdef BOOST_NO_MEMBER_TEMPLATES # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATES." #endif #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS." #endif #ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD." #endif #ifdef BOOST_NO_NESTED_FRIENDSHIP # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_NESTED_FRIENDSHIP." #endif #ifdef BOOST_NO_OPERATORS_IN_NAMESPACE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_OPERATORS_IN_NAMESPACE." #endif #ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS." #endif #ifdef BOOST_NO_POINTER_TO_MEMBER_CONST # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_CONST." #endif #ifdef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS." #endif #ifdef BOOST_NO_PRIVATE_IN_AGGREGATE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_PRIVATE_IN_AGGREGATE." #endif #ifdef BOOST_NO_RESTRICT_REFERENCES # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_RESTRICT_REFERENCES." #endif #ifdef BOOST_NO_RTTI # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_RTTI." #endif #ifdef BOOST_NO_SFINAE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_SFINAE." #endif #ifdef BOOST_NO_SFINAE_EXPR # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_SFINAE_EXPR." #endif #ifdef BOOST_NO_STDC_NAMESPACE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STDC_NAMESPACE." #endif #ifdef BOOST_NO_STD_ALLOCATOR # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ALLOCATOR." #endif #ifdef BOOST_NO_STD_DISTANCE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_DISTANCE." #endif #ifdef BOOST_NO_STD_ITERATOR # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ITERATOR." #endif #ifdef BOOST_NO_STD_ITERATOR_TRAITS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ITERATOR_TRAITS." #endif #ifdef BOOST_NO_STD_LOCALE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_LOCALE." #endif #ifdef BOOST_NO_STD_MESSAGES # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_MESSAGES." #endif #ifdef BOOST_NO_STD_MIN_MAX # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_MIN_MAX." #endif #ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN." #endif #ifdef BOOST_NO_STD_TYPEINFO # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_TYPEINFO." #endif #ifdef BOOST_NO_STD_USE_FACET # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_USE_FACET." #endif #ifdef BOOST_NO_STD_WSTREAMBUF # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_WSTREAMBUF." #endif #ifdef BOOST_NO_STD_WSTRING # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_WSTRING." #endif #ifdef BOOST_NO_STRINGSTREAM # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STRINGSTREAM." #endif #ifdef BOOST_NO_TEMPLATED_IOSTREAMS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATED_IOSTREAMS." #endif #ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS." #endif #ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION." #endif #ifdef BOOST_NO_TEMPLATE_TEMPLATES # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATE_TEMPLATES." #endif #ifdef BOOST_NO_TWO_PHASE_NAME_LOOKUP # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TWO_PHASE_NAME_LOOKUP." #endif #ifdef BOOST_NO_TYPEID # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TYPEID." #endif #ifdef BOOST_NO_TYPENAME_WITH_CTOR # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TYPENAME_WITH_CTOR." #endif #ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_UNREACHABLE_RETURN_DETECTION." #endif #ifdef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE." #endif #ifdef BOOST_NO_USING_TEMPLATE # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_USING_TEMPLATE." #endif #ifdef BOOST_NO_VOID_RETURNS # error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_VOID_RETURNS." #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/assert_cxx11.hpp ================================================ // This file was automatically generated on Tue Aug 17 16:27:31 2021 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for the most recent version.// // Revision $Id$ // #include #include #ifdef BOOST_NO_CXX11_ADDRESSOF # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ADDRESSOF." #endif #ifdef BOOST_NO_CXX11_ALIGNAS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNAS." #endif #ifdef BOOST_NO_CXX11_ALLOCATOR # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALLOCATOR." #endif #ifdef BOOST_NO_CXX11_AUTO_DECLARATIONS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_AUTO_DECLARATIONS." #endif #ifdef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS." #endif #ifdef BOOST_NO_CXX11_CHAR16_T # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CHAR16_T." #endif #ifdef BOOST_NO_CXX11_CHAR32_T # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CHAR32_T." #endif #ifdef BOOST_NO_CXX11_CONSTEXPR # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CONSTEXPR." #endif #ifdef BOOST_NO_CXX11_DECLTYPE # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DECLTYPE." #endif #ifdef BOOST_NO_CXX11_DECLTYPE_N3276 # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DECLTYPE_N3276." #endif #ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DEFAULTED_FUNCTIONS." #endif #ifdef BOOST_NO_CXX11_DEFAULTED_MOVES # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DEFAULTED_MOVES." #endif #ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DELETED_FUNCTIONS." #endif #ifdef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS." #endif #ifdef BOOST_NO_CXX11_EXTERN_TEMPLATE # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_EXTERN_TEMPLATE." #endif #ifdef BOOST_NO_CXX11_FINAL # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FINAL." #endif #ifdef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS." #endif #ifdef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS." #endif #ifdef BOOST_NO_CXX11_HDR_ARRAY # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_ARRAY." #endif #ifdef BOOST_NO_CXX11_HDR_ATOMIC # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_ATOMIC." #endif #ifdef BOOST_NO_CXX11_HDR_CHRONO # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_CHRONO." #endif #ifdef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_CONDITION_VARIABLE." #endif #ifdef BOOST_NO_CXX11_HDR_EXCEPTION # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_EXCEPTION." #endif #ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FORWARD_LIST." #endif #ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FUNCTIONAL." #endif #ifdef BOOST_NO_CXX11_HDR_FUTURE # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FUTURE." #endif #ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST." #endif #ifdef BOOST_NO_CXX11_HDR_MUTEX # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_MUTEX." #endif #ifdef BOOST_NO_CXX11_HDR_RANDOM # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_RANDOM." #endif #ifdef BOOST_NO_CXX11_HDR_RATIO # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_RATIO." #endif #ifdef BOOST_NO_CXX11_HDR_REGEX # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_REGEX." #endif #ifdef BOOST_NO_CXX11_HDR_SYSTEM_ERROR # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_SYSTEM_ERROR." #endif #ifdef BOOST_NO_CXX11_HDR_THREAD # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_THREAD." #endif #ifdef BOOST_NO_CXX11_HDR_TUPLE # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TUPLE." #endif #ifdef BOOST_NO_CXX11_HDR_TYPEINDEX # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TYPEINDEX." #endif #ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TYPE_TRAITS." #endif #ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_MAP." #endif #ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_SET." #endif #ifdef BOOST_NO_CXX11_INLINE_NAMESPACES # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_INLINE_NAMESPACES." #endif #ifdef BOOST_NO_CXX11_LAMBDAS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_LAMBDAS." #endif #ifdef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS." #endif #ifdef BOOST_NO_CXX11_NOEXCEPT # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NOEXCEPT." #endif #ifdef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS." #endif #ifdef BOOST_NO_CXX11_NULLPTR # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NULLPTR." #endif #ifdef BOOST_NO_CXX11_NUMERIC_LIMITS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NUMERIC_LIMITS." #endif #ifdef BOOST_NO_CXX11_OVERRIDE # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_OVERRIDE." #endif #ifdef BOOST_NO_CXX11_POINTER_TRAITS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_POINTER_TRAITS." #endif #ifdef BOOST_NO_CXX11_RANGE_BASED_FOR # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RANGE_BASED_FOR." #endif #ifdef BOOST_NO_CXX11_RAW_LITERALS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RAW_LITERALS." #endif #ifdef BOOST_NO_CXX11_REF_QUALIFIERS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_REF_QUALIFIERS." #endif #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RVALUE_REFERENCES." #endif #ifdef BOOST_NO_CXX11_SCOPED_ENUMS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SCOPED_ENUMS." #endif #ifdef BOOST_NO_CXX11_SFINAE_EXPR # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SFINAE_EXPR." #endif #ifdef BOOST_NO_CXX11_SMART_PTR # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SMART_PTR." #endif #ifdef BOOST_NO_CXX11_STATIC_ASSERT # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_STATIC_ASSERT." #endif #ifdef BOOST_NO_CXX11_STD_ALIGN # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_STD_ALIGN." #endif #ifdef BOOST_NO_CXX11_TEMPLATE_ALIASES # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_TEMPLATE_ALIASES." #endif #ifdef BOOST_NO_CXX11_THREAD_LOCAL # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_THREAD_LOCAL." #endif #ifdef BOOST_NO_CXX11_TRAILING_RESULT_TYPES # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_TRAILING_RESULT_TYPES." #endif #ifdef BOOST_NO_CXX11_UNICODE_LITERALS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNICODE_LITERALS." #endif #ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX." #endif #ifdef BOOST_NO_CXX11_UNRESTRICTED_UNION # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNRESTRICTED_UNION." #endif #ifdef BOOST_NO_CXX11_USER_DEFINED_LITERALS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_USER_DEFINED_LITERALS." #endif #ifdef BOOST_NO_CXX11_VARIADIC_MACROS # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_VARIADIC_MACROS." #endif #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES # error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_VARIADIC_TEMPLATES." #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/assert_cxx14.hpp ================================================ // This file was automatically generated on Tue Aug 17 16:27:31 2021 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for the most recent version.// // Revision $Id$ // #include #include #ifdef BOOST_NO_CXX14_AGGREGATE_NSDMI # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_AGGREGATE_NSDMI." #endif #ifdef BOOST_NO_CXX14_BINARY_LITERALS # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_BINARY_LITERALS." #endif #ifdef BOOST_NO_CXX14_CONSTEXPR # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_CONSTEXPR." #endif #ifdef BOOST_NO_CXX14_DECLTYPE_AUTO # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_DECLTYPE_AUTO." #endif #ifdef BOOST_NO_CXX14_DIGIT_SEPARATORS # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_DIGIT_SEPARATORS." #endif #ifdef BOOST_NO_CXX14_GENERIC_LAMBDAS # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_GENERIC_LAMBDAS." #endif #ifdef BOOST_NO_CXX14_HDR_SHARED_MUTEX # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_HDR_SHARED_MUTEX." #endif #ifdef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES." #endif #ifdef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION." #endif #ifdef BOOST_NO_CXX14_STD_EXCHANGE # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_STD_EXCHANGE." #endif #ifdef BOOST_NO_CXX14_VARIABLE_TEMPLATES # error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_VARIABLE_TEMPLATES." #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/assert_cxx17.hpp ================================================ // This file was automatically generated on Tue Aug 17 16:27:31 2021 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for the most recent version.// // Revision $Id$ // #include #include #ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS." #endif #ifdef BOOST_NO_CXX17_HDR_ANY # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_ANY." #endif #ifdef BOOST_NO_CXX17_HDR_CHARCONV # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_CHARCONV." #endif #ifdef BOOST_NO_CXX17_HDR_EXECUTION # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_EXECUTION." #endif #ifdef BOOST_NO_CXX17_HDR_FILESYSTEM # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_FILESYSTEM." #endif #ifdef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_MEMORY_RESOURCE." #endif #ifdef BOOST_NO_CXX17_HDR_OPTIONAL # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_OPTIONAL." #endif #ifdef BOOST_NO_CXX17_HDR_STRING_VIEW # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_STRING_VIEW." #endif #ifdef BOOST_NO_CXX17_HDR_VARIANT # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_VARIANT." #endif #ifdef BOOST_NO_CXX17_IF_CONSTEXPR # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_IF_CONSTEXPR." #endif #ifdef BOOST_NO_CXX17_INLINE_VARIABLES # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_INLINE_VARIABLES." #endif #ifdef BOOST_NO_CXX17_ITERATOR_TRAITS # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_ITERATOR_TRAITS." #endif #ifdef BOOST_NO_CXX17_STD_APPLY # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STD_APPLY." #endif #ifdef BOOST_NO_CXX17_STD_INVOKE # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STD_INVOKE." #endif #ifdef BOOST_NO_CXX17_STRUCTURED_BINDINGS # error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STRUCTURED_BINDINGS." #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/assert_cxx20.hpp ================================================ // This file was automatically generated on Tue Aug 17 16:27:31 2021 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for the most recent version.// // Revision $Id$ // #include #include #ifdef BOOST_NO_CXX20_HDR_BARRIER # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BARRIER." #endif #ifdef BOOST_NO_CXX20_HDR_BIT # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BIT." #endif #ifdef BOOST_NO_CXX20_HDR_COMPARE # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COMPARE." #endif #ifdef BOOST_NO_CXX20_HDR_CONCEPTS # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_CONCEPTS." #endif #ifdef BOOST_NO_CXX20_HDR_COROUTINE # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COROUTINE." #endif #ifdef BOOST_NO_CXX20_HDR_FORMAT # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_FORMAT." #endif #ifdef BOOST_NO_CXX20_HDR_LATCH # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_LATCH." #endif #ifdef BOOST_NO_CXX20_HDR_NUMBERS # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_NUMBERS." #endif #ifdef BOOST_NO_CXX20_HDR_RANGES # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_RANGES." #endif #ifdef BOOST_NO_CXX20_HDR_SEMAPHORE # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SEMAPHORE." #endif #ifdef BOOST_NO_CXX20_HDR_SOURCE_LOCATION # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SOURCE_LOCATION." #endif #ifdef BOOST_NO_CXX20_HDR_SPAN # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SPAN." #endif #ifdef BOOST_NO_CXX20_HDR_STOP_TOKEN # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_STOP_TOKEN." #endif #ifdef BOOST_NO_CXX20_HDR_SYNCSTREAM # error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SYNCSTREAM." #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/assert_cxx98.hpp ================================================ // This file was automatically generated on Wed Mar 3 08:46:11 2021 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for the most recent version.// // Revision $Id$ // #include #include #ifdef BOOST_NO_CXX98_BINDERS # error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_BINDERS." #endif #ifdef BOOST_NO_CXX98_FUNCTION_BASE # error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_FUNCTION_BASE." #endif #ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE # error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_RANDOM_SHUFFLE." #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/auto_link.hpp ================================================ // (C) Copyright John Maddock 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) /* * LOCATION: see http://www.boost.org for most recent version. * FILE auto_link.hpp * VERSION see * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. */ /************************************************************************* USAGE: ~~~~~~ Before including this header you must define one or more of define the following macros: BOOST_LIB_NAME: Required: A string containing the basename of the library, for example boost_regex. BOOST_LIB_TOOLSET: Optional: the base name of the toolset. BOOST_DYN_LINK: Optional: when set link to dll rather than static library. BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name of the library selected (useful for debugging). BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, rather than a mangled-name version. BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option. This is essentially the same as the default name-mangled version, but without the compiler name and version, or the Boost version. Just the build options. BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option. This is essentially the same as the non-name-mangled version, but with the prefix to differentiate static and dll builds These macros will be undef'ed at the end of the header, further this header has no include guards - so be sure to include it only once from your library! Algorithm: ~~~~~~~~~~ Libraries for Borland and Microsoft compilers are automatically selected here, the name of the lib is selected according to the following formula: BOOST_LIB_PREFIX + BOOST_LIB_NAME + "_" + BOOST_LIB_TOOLSET + BOOST_LIB_THREAD_OPT + BOOST_LIB_RT_OPT + BOOST_LIB_ARCH_AND_MODEL_OPT "-" + BOOST_LIB_VERSION + BOOST_LIB_SUFFIX These are defined as: BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, contains one or more of the following letters after a hyphen: s static runtime (dynamic if not present). g debug/diagnostic runtime (release if not present). y Python debug/diagnostic runtime (release if not present). d debug build (release if not present). p STLport build. n STLport build without its IOStreams. BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model (-x32 or -x64 for x86/32 and x86/64 respectively) BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. BOOST_LIB_SUFFIX: Static/import libraries extension (".lib", ".a") for the compiler. ***************************************************************************/ #ifdef __cplusplus # ifndef BOOST_CONFIG_HPP # include # endif #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) // // C language compatability (no, honestly) // # define BOOST_MSVC _MSC_VER # define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) # define BOOST_DO_STRINGIZE(X) #X #endif // // Only include what follows for known and supported compilers: // #if defined(BOOST_MSVC) \ || defined(BOOST_EMBTC_WINDOWS) \ || defined(BOOST_BORLANDC) \ || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \ || (defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4)) #ifndef BOOST_VERSION_HPP # include #endif #ifndef BOOST_LIB_NAME # error "Macro BOOST_LIB_NAME not set (internal error)" #endif // // error check: // #if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) # pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") # pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") # error "Incompatible build options" #endif // // select toolset if not defined already: // #ifndef BOOST_LIB_TOOLSET # if defined(BOOST_MSVC) && (BOOST_MSVC < 1200) // Note: no compilers before 1200 are supported # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300) # ifdef UNDER_CE // eVC4: # define BOOST_LIB_TOOLSET "evc4" # else // vc6: # define BOOST_LIB_TOOLSET "vc6" # endif # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310) // vc7: # define BOOST_LIB_TOOLSET "vc7" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400) // vc71: # define BOOST_LIB_TOOLSET "vc71" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500) // vc80: # define BOOST_LIB_TOOLSET "vc80" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600) // vc90: # define BOOST_LIB_TOOLSET "vc90" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700) // vc10: # define BOOST_LIB_TOOLSET "vc100" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800) // vc11: # define BOOST_LIB_TOOLSET "vc110" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900) // vc12: # define BOOST_LIB_TOOLSET "vc120" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910) // vc14: # define BOOST_LIB_TOOLSET "vc140" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920) // vc14.1: # define BOOST_LIB_TOOLSET "vc141" # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1930) // vc14.2: # define BOOST_LIB_TOOLSET "vc142" # elif defined(BOOST_MSVC) // vc14.3: # define BOOST_LIB_TOOLSET "vc143" # elif defined(BOOST_EMBTC_WINDOWS) // Embarcadero Clang based compilers: # define BOOST_LIB_TOOLSET "embtc" # elif defined(BOOST_BORLANDC) // CBuilder 6: # define BOOST_LIB_TOOLSET "bcb" # elif defined(__ICL) // Intel C++, no version number: # define BOOST_LIB_TOOLSET "iw" # elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) // Metrowerks CodeWarrior 8.x # define BOOST_LIB_TOOLSET "cw8" # elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) // Metrowerks CodeWarrior 9.x # define BOOST_LIB_TOOLSET "cw9" # elif defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4) // Clang on Windows # define BOOST_LIB_TOOLSET "clangw" BOOST_STRINGIZE(__clang_major__) # endif #endif // BOOST_LIB_TOOLSET // // select thread opt: // #if defined(_MT) || defined(__MT__) # define BOOST_LIB_THREAD_OPT "-mt" #else # define BOOST_LIB_THREAD_OPT #endif #if defined(_MSC_VER) || defined(__MWERKS__) # ifdef _DLL # if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-gydp" # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) # define BOOST_LIB_RT_OPT "-gdp" # elif defined(_DEBUG)\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-gydp" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # elif defined(_DEBUG) # define BOOST_LIB_RT_OPT "-gdp" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # else # define BOOST_LIB_RT_OPT "-p" # endif # elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-gydpn" # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) # define BOOST_LIB_RT_OPT "-gdpn" # elif defined(_DEBUG)\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-gydpn" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # elif defined(_DEBUG) # define BOOST_LIB_RT_OPT "-gdpn" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # else # define BOOST_LIB_RT_OPT "-pn" # endif # else # if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-gyd" # elif defined(_DEBUG) # define BOOST_LIB_RT_OPT "-gd" # else # define BOOST_LIB_RT_OPT # endif # endif # else # if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-sgydp" # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) # define BOOST_LIB_RT_OPT "-sgdp" # elif defined(_DEBUG)\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-sgydp" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # elif defined(_DEBUG) # define BOOST_LIB_RT_OPT "-sgdp" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # else # define BOOST_LIB_RT_OPT "-sp" # endif # elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-sgydpn" # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) # define BOOST_LIB_RT_OPT "-sgdpn" # elif defined(_DEBUG)\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-sgydpn" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # elif defined(_DEBUG) # define BOOST_LIB_RT_OPT "-sgdpn" # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") # error "Build options aren't compatible with pre-built libraries" # else # define BOOST_LIB_RT_OPT "-spn" # endif # else # if defined(_DEBUG)\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-sgyd" # elif defined(_DEBUG) # define BOOST_LIB_RT_OPT "-sgd" # else # define BOOST_LIB_RT_OPT "-s" # endif # endif # endif #elif defined(BOOST_EMBTC_WINDOWS) # ifdef _RTLDLL # if defined(_DEBUG) # define BOOST_LIB_RT_OPT "-d" # else # define BOOST_LIB_RT_OPT # endif # else # if defined(_DEBUG) # define BOOST_LIB_RT_OPT "-sd" # else # define BOOST_LIB_RT_OPT "-s" # endif # endif #elif defined(BOOST_BORLANDC) // // figure out whether we want the debug builds or not: // #if BOOST_BORLANDC > 0x561 #pragma defineonoption BOOST_BORLAND_DEBUG -v #endif // // sanity check: // #if defined(__STL_DEBUG) || defined(_STLP_DEBUG) #error "Pre-built versions of the Boost libraries are not provided in STLport-debug form" #endif # ifdef _RTLDLL # if defined(BOOST_BORLAND_DEBUG)\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-yd" # elif defined(BOOST_BORLAND_DEBUG) # define BOOST_LIB_RT_OPT "-d" # elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-y" # else # define BOOST_LIB_RT_OPT # endif # else # if defined(BOOST_BORLAND_DEBUG)\ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-syd" # elif defined(BOOST_BORLAND_DEBUG) # define BOOST_LIB_RT_OPT "-sd" # elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) # define BOOST_LIB_RT_OPT "-sy" # else # define BOOST_LIB_RT_OPT "-s" # endif # endif #endif // // BOOST_LIB_ARCH_AND_MODEL_OPT // #if defined( _M_IX86 ) # define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32" #elif defined( _M_X64 ) # define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64" #elif defined( _M_ARM ) # define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32" #elif defined( _M_ARM64 ) # define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64" #endif // // select linkage opt: // #if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) # define BOOST_LIB_PREFIX #elif defined(BOOST_DYN_LINK) # error "Mixing a dll boost library with a static runtime is a really bad idea..." #else # define BOOST_LIB_PREFIX "lib" #endif // // now include the lib: // #if defined(BOOST_LIB_NAME) \ && defined(BOOST_LIB_PREFIX) \ && defined(BOOST_LIB_TOOLSET) \ && defined(BOOST_LIB_THREAD_OPT) \ && defined(BOOST_LIB_RT_OPT) \ && defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \ && defined(BOOST_LIB_VERSION) #if defined(BOOST_EMBTC_WIN64) # define BOOST_LIB_SUFFIX ".a" #else # define BOOST_LIB_SUFFIX ".lib" #endif #ifdef BOOST_AUTO_LINK_NOMANGLE # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) # endif #elif defined(BOOST_AUTO_LINK_TAGGED) # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX) # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX) # endif #elif defined(BOOST_AUTO_LINK_SYSTEM) # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) # endif #elif defined(BOOST_LIB_BUILDID) # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX) # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX) # endif #else # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX) # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX) # endif #endif #else # error "some required macros where not defined (internal logic error)." #endif #endif // _MSC_VER || __BORLANDC__ // // finally undef any macros we may have set: // #ifdef BOOST_LIB_PREFIX # undef BOOST_LIB_PREFIX #endif #if defined(BOOST_LIB_NAME) # undef BOOST_LIB_NAME #endif // Don't undef this one: it can be set by the user and should be the // same for all libraries: //#if defined(BOOST_LIB_TOOLSET) //# undef BOOST_LIB_TOOLSET //#endif #if defined(BOOST_LIB_THREAD_OPT) # undef BOOST_LIB_THREAD_OPT #endif #if defined(BOOST_LIB_RT_OPT) # undef BOOST_LIB_RT_OPT #endif #if defined(BOOST_LIB_ARCH_AND_MODEL_OPT) # undef BOOST_LIB_ARCH_AND_MODEL_OPT #endif #if defined(BOOST_LIB_LINK_OPT) # undef BOOST_LIB_LINK_OPT #endif #if defined(BOOST_LIB_DEBUG_OPT) # undef BOOST_LIB_DEBUG_OPT #endif #if defined(BOOST_DYN_LINK) # undef BOOST_DYN_LINK #endif #if defined(BOOST_LIB_SUFFIX) # undef BOOST_LIB_SUFFIX #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/borland.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright David Abrahams 2002 - 2003. // (C) Copyright Aleksey Gurtovoy 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Borland C++ compiler setup: // // versions check: // we don't support Borland prior to version 5.4: #if __BORLANDC__ < 0x540 # error "Compiler not supported or configured - please reconfigure" #endif // last known compiler version: #if (__BORLANDC__ > 0x613) //# if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" //# else //# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") //# endif #elif (__BORLANDC__ == 0x600) # error "CBuilderX preview compiler is no longer supported" #endif // // Support macros to help with standard library detection #if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL) # define BOOST_BCB_WITH_ROGUE_WAVE #elif __BORLANDC__ < 0x570 # define BOOST_BCB_WITH_STLPORT #else # define BOOST_BCB_WITH_DINKUMWARE #endif // // Version 5.0 and below: # if __BORLANDC__ <= 0x0550 // Borland C++Builder 4 and 5: # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS # if __BORLANDC__ == 0x0550 // Borland C++Builder 5, command-line compiler 5.5: # define BOOST_NO_OPERATORS_IN_NAMESPACE # endif // Variadic macros do not exist for C++ Builder versions 5 and below #define BOOST_NO_CXX11_VARIADIC_MACROS # endif // Version 5.51 and below: #if (__BORLANDC__ <= 0x551) # define BOOST_NO_CV_SPECIALIZATIONS # define BOOST_NO_CV_VOID_SPECIALIZATIONS # define BOOST_NO_DEDUCED_TYPENAME // workaround for missing WCHAR_MAX/WCHAR_MIN: #ifdef __cplusplus #include #include #else #include #include #endif // __cplusplus #ifndef WCHAR_MAX # define WCHAR_MAX 0xffff #endif #ifndef WCHAR_MIN # define WCHAR_MIN 0 #endif #endif // Borland C++ Builder 6 and below: #if (__BORLANDC__ <= 0x564) # if defined(NDEBUG) && defined(__cplusplus) // fix broken so that Boost.test works: # include # undef strcmp # endif // fix broken errno declaration: # include # ifndef errno # define errno errno # endif #endif // // new bug in 5.61: #if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580) // this seems to be needed by the command line compiler, but not the IDE: # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS #endif // Borland C++ Builder 2006 Update 2 and below: #if (__BORLANDC__ <= 0x582) # define BOOST_NO_SFINAE # define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG # define BOOST_NO_TEMPLATE_TEMPLATES # define BOOST_NO_PRIVATE_IN_AGGREGATE # ifdef _WIN32 # define BOOST_NO_SWPRINTF # elif defined(linux) || defined(__linux__) || defined(__linux) // we should really be able to do without this // but the wcs* functions aren't imported into std:: # define BOOST_NO_STDC_NAMESPACE // _CPPUNWIND doesn't get automatically set for some reason: # pragma defineonoption BOOST_CPPUNWIND -x # endif #endif #if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info // we shouldn't really need this - but too many things choke // without it, this needs more investigation: # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # define BOOST_NO_IS_ABSTRACT # define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS # define BOOST_NO_USING_TEMPLATE # define BOOST_SP_NO_SP_CONVERTIBLE // Temporary workaround #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // Borland C++ Builder 2008 and below: # define BOOST_NO_INTEGRAL_INT64_T # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS # define BOOST_NO_TWO_PHASE_NAME_LOOKUP # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE # define BOOST_NO_NESTED_FRIENDSHIP # define BOOST_NO_TYPENAME_WITH_CTOR #if (__BORLANDC__ < 0x600) # define BOOST_ILLEGAL_CV_REFERENCES #endif // // Positive Feature detection // // Borland C++ Builder 2008 and below: #if (__BORLANDC__ >= 0x599) # pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax #endif // // C++0x Macros: // #if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610) # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T # define BOOST_NO_CXX11_DECLTYPE # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_CXX11_EXTERN_TEMPLATE # define BOOST_NO_CXX11_RVALUE_REFERENCES # define BOOST_NO_CXX11_SCOPED_ENUMS # define BOOST_NO_CXX11_STATIC_ASSERT #else # define BOOST_HAS_ALIGNOF # define BOOST_HAS_CHAR16_T # define BOOST_HAS_CHAR32_T # define BOOST_HAS_DECLTYPE # define BOOST_HAS_EXPLICIT_CONVERSION_OPS # define BOOST_HAS_REF_QUALIFIER # define BOOST_HAS_RVALUE_REFS # define BOOST_HAS_STATIC_ASSERT #endif #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DEFAULTED_MOVES #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif #if __BORLANDC__ >= 0x590 # define BOOST_HAS_TR1_HASH # define BOOST_HAS_MACRO_USE_FACET #endif // // Post 0x561 we have long long and stdint.h: #if __BORLANDC__ >= 0x561 # ifndef __NO_LONG_LONG # define BOOST_HAS_LONG_LONG # else # define BOOST_NO_LONG_LONG # endif // On non-Win32 platforms let the platform config figure this out: # ifdef _WIN32 # define BOOST_HAS_STDINT_H # endif #endif // Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is // defined, then we have 0x560 or greater with the Rogue Wave implementation // which presumably has the std::DBL_MAX bug. #if defined( BOOST_BCB_WITH_ROGUE_WAVE ) // is partly broken, some macros define symbols that are really in // namespace std, so you end up having to use illegal constructs like // std::DBL_MAX, as a fix we'll just include float.h and have done with: #include #endif // // __int64: // #if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) # define BOOST_HAS_MS_INT64 #endif // // check for exception handling support: // #if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif // // all versions have a : // #ifndef __STRICT_ANSI__ # define BOOST_HAS_DIRENT_H #endif // // all versions support __declspec: // #if defined(__STRICT_ANSI__) // config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined # define BOOST_SYMBOL_EXPORT #endif // // ABI fixing headers: // #if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet #ifndef BOOST_ABI_PREFIX # define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" #endif #ifndef BOOST_ABI_SUFFIX # define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" #endif #endif // // Disable Win32 support in ANSI mode: // #if __BORLANDC__ < 0x600 # pragma defineonoption BOOST_DISABLE_WIN32 -A #elif defined(__STRICT_ANSI__) # define BOOST_DISABLE_WIN32 #endif // // MSVC compatibility mode does some nasty things: // TODO: look up if this doesn't apply to the whole 12xx range // #if defined(_MSC_VER) && (_MSC_VER <= 1200) # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP # define BOOST_NO_VOID_RETURNS #endif // Borland did not implement value-initialization completely, as I reported // in 2007, Borland Report 51854, "Value-initialization: POD struct should be // zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854 // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues // (Niels Dekker, LKEB, April 2010) #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION #define BOOST_BORLANDC __BORLANDC__ #define BOOST_COMPILER "Classic Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/clang.hpp ================================================ // (C) Copyright Douglas Gregor 2010 // // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Clang compiler setup. #define BOOST_HAS_PRAGMA_ONCE // Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. #if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) # define BOOST_HAS_PRAGMA_DETECT_MISMATCH #endif // When compiling with clang before __has_extension was defined, // even if one writes 'defined(__has_extension) && __has_extension(xxx)', // clang reports a compiler error. So the only workaround found is: #ifndef __has_extension #define __has_extension __has_feature #endif #ifndef __has_attribute #define __has_attribute(x) 0 #endif #ifndef __has_cpp_attribute #define __has_cpp_attribute(x) 0 #endif #if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif #if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) # define BOOST_NO_RTTI #endif #if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) # define BOOST_NO_TYPEID #endif #if !__has_feature(cxx_thread_local) # define BOOST_NO_CXX11_THREAD_LOCAL #endif #ifdef __is_identifier #if !__is_identifier(__int64) && !defined(__GNUC__) # define BOOST_HAS_MS_INT64 #endif #endif #if __has_include() # define BOOST_HAS_STDINT_H #endif #if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) #if (__clang_major__ >= 4) && defined(__has_include) #if __has_include() # define BOOST_HAS_FLOAT128 #endif #endif #endif #define BOOST_HAS_NRVO // Branch prediction hints #if !defined (__c2__) && defined(__has_builtin) #if __has_builtin(__builtin_expect) #define BOOST_LIKELY(x) __builtin_expect(x, 1) #define BOOST_UNLIKELY(x) __builtin_expect(x, 0) #endif #endif // Clang supports "long long" in all compilation modes. #define BOOST_HAS_LONG_LONG // // We disable this if the compiler is really nvcc with C++03 as it // doesn't actually support __int128 as of CUDA_VERSION=7500 // even though it defines __SIZEOF_INT128__. // See https://svn.boost.org/trac/boost/ticket/10418 // https://svn.boost.org/trac/boost/ticket/11852 // Only re-enable this for nvcc if you're absolutely sure // of the circumstances under which it's supported. // Similarly __SIZEOF_INT128__ is defined when targetting msvc // compatibility even though the required support functions are absent. // #if defined(__CUDACC__) # if defined(BOOST_GCC_CXX11) # define BOOST_NVCC_CXX11 # else # define BOOST_NVCC_CXX03 # endif #endif #if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER) # define BOOST_HAS_INT128 #endif // // Dynamic shared object (DSO) and dynamic-link library (DLL) support // #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) # define BOOST_HAS_DECLSPEC # define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) # define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) #else # define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) # define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) # define BOOST_SYMBOL_IMPORT #endif // // The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through // between switch labels. // #if __cplusplus >= 201103L && defined(__has_warning) # if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") # define BOOST_FALLTHROUGH [[clang::fallthrough]] # endif #endif #if !__has_feature(cxx_auto_type) # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #endif // // Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t // #if (defined(_MSC_VER) && (_MSC_VER < 1900)) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T #endif #if defined(_MSC_VER) && (_MSC_VER >= 1800) && !defined(__GNUC__) #define BOOST_HAS_EXPM1 #define BOOST_HAS_LOG1P #endif #if !__has_feature(cxx_constexpr) # define BOOST_NO_CXX11_CONSTEXPR #endif #if !__has_feature(cxx_decltype) # define BOOST_NO_CXX11_DECLTYPE #endif #if !__has_feature(cxx_decltype_incomplete_return_types) # define BOOST_NO_CXX11_DECLTYPE_N3276 #endif #if !__has_feature(cxx_defaulted_functions) # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #endif #if !__has_feature(cxx_deleted_functions) # define BOOST_NO_CXX11_DELETED_FUNCTIONS #endif #if !__has_feature(cxx_explicit_conversions) # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #endif #if !__has_feature(cxx_default_function_template_args) # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #endif #if !__has_feature(cxx_generalized_initializers) # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #endif #if !__has_feature(cxx_lambdas) # define BOOST_NO_CXX11_LAMBDAS #endif #if !__has_feature(cxx_local_type_template_args) # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #endif #if !__has_feature(cxx_noexcept) # define BOOST_NO_CXX11_NOEXCEPT #endif #if !__has_feature(cxx_nullptr) # define BOOST_NO_CXX11_NULLPTR #endif #if !__has_feature(cxx_range_for) # define BOOST_NO_CXX11_RANGE_BASED_FOR #endif #if !__has_feature(cxx_raw_string_literals) # define BOOST_NO_CXX11_RAW_LITERALS #endif #if !__has_feature(cxx_reference_qualified_functions) # define BOOST_NO_CXX11_REF_QUALIFIERS #endif #if !__has_feature(cxx_generalized_initializers) # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #endif #if !__has_feature(cxx_rvalue_references) # define BOOST_NO_CXX11_RVALUE_REFERENCES #endif #if !__has_feature(cxx_strong_enums) # define BOOST_NO_CXX11_SCOPED_ENUMS #endif #if !__has_feature(cxx_static_assert) # define BOOST_NO_CXX11_STATIC_ASSERT #endif #if !__has_feature(cxx_alias_templates) # define BOOST_NO_CXX11_TEMPLATE_ALIASES #endif #if !__has_feature(cxx_unicode_literals) # define BOOST_NO_CXX11_UNICODE_LITERALS #endif #if !__has_feature(cxx_variadic_templates) # define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif #if !__has_feature(cxx_user_literals) # define BOOST_NO_CXX11_USER_DEFINED_LITERALS #endif #if !__has_feature(cxx_alignas) # define BOOST_NO_CXX11_ALIGNAS #endif #if !__has_feature(cxx_trailing_return) # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #endif #if !__has_feature(cxx_inline_namespaces) # define BOOST_NO_CXX11_INLINE_NAMESPACES #endif #if !__has_feature(cxx_override_control) # define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_OVERRIDE #endif #if !__has_feature(cxx_unrestricted_unions) # define BOOST_NO_CXX11_UNRESTRICTED_UNION #endif #if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !__has_feature(__cxx_decltype_auto__) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if !__has_feature(__cxx_aggregate_nsdmi__) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !__has_feature(__cxx_init_captures__) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !__has_feature(__cxx_generic_lambdas__) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif // clang < 3.5 has a defect with dependent type, like following. // // template // constexpr typename enable_if >::type foo(T &) // { } // error: no return statement in constexpr function // // This issue also affects C++11 mode, but C++11 constexpr requires return stmt. // Therefore we don't care such case. // // Note that we can't check Clang version directly as the numbering system changes depending who's // creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) // so instead verify that we have a feature that was introduced at the same time as working C++14 // constexpr (generic lambda's in this case): // #if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !__has_feature(__cxx_return_type_deduction__) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !__has_feature(__cxx_variable_templates__) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif // Clang 3.9+ in c++1z #if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L # define BOOST_NO_CXX17_INLINE_VARIABLES # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if __cplusplus < 201103L #define BOOST_NO_CXX11_SFINAE_EXPR #endif #if __cplusplus < 201400 // All versions with __cplusplus above this value seem to support this: # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif // // __builtin_unreachable: #if defined(__has_builtin) && __has_builtin(__builtin_unreachable) #define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); #endif #if (__clang_major__ == 3) && (__clang_minor__ == 0) // Apparently a clang bug: # define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #endif // Clang has supported the 'unused' attribute since the first release. #define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) // Type aliasing hint. #if __has_attribute(__may_alias__) # define BOOST_MAY_ALIAS __attribute__((__may_alias__)) #endif #ifndef BOOST_COMPILER # define BOOST_COMPILER "Clang version " __clang_version__ #endif // Macro used to identify the Clang compiler. #define BOOST_CLANG 1 // BOOST_CLANG_VERSION #include ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/clang_version.hpp ================================================ // Copyright 2021 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt) #if !defined(__APPLE__) # define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) #else # define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) // https://en.wikipedia.org/wiki/Xcode#Toolchain_versions # if BOOST_CLANG_REPORTED_VERSION >= 130000 # define BOOST_CLANG_VERSION 120000 # elif BOOST_CLANG_REPORTED_VERSION >= 120005 # define BOOST_CLANG_VERSION 110100 # elif BOOST_CLANG_REPORTED_VERSION >= 120000 # define BOOST_CLANG_VERSION 100000 # elif BOOST_CLANG_REPORTED_VERSION >= 110003 # define BOOST_CLANG_VERSION 90000 # elif BOOST_CLANG_REPORTED_VERSION >= 110000 # define BOOST_CLANG_VERSION 80000 # elif BOOST_CLANG_REPORTED_VERSION >= 100001 # define BOOST_CLANG_VERSION 70000 # elif BOOST_CLANG_REPORTED_VERSION >= 100000 # define BOOST_CLANG_VERSION 60001 # elif BOOST_CLANG_REPORTED_VERSION >= 90100 # define BOOST_CLANG_VERSION 50002 # elif BOOST_CLANG_REPORTED_VERSION >= 90000 # define BOOST_CLANG_VERSION 40000 # elif BOOST_CLANG_REPORTED_VERSION >= 80000 # define BOOST_CLANG_VERSION 30900 # elif BOOST_CLANG_REPORTED_VERSION >= 70300 # define BOOST_CLANG_VERSION 30800 # elif BOOST_CLANG_REPORTED_VERSION >= 70000 # define BOOST_CLANG_VERSION 30700 # elif BOOST_CLANG_REPORTED_VERSION >= 60100 # define BOOST_CLANG_VERSION 30600 # elif BOOST_CLANG_REPORTED_VERSION >= 60000 # define BOOST_CLANG_VERSION 30500 # elif BOOST_CLANG_REPORTED_VERSION >= 50100 # define BOOST_CLANG_VERSION 30400 # elif BOOST_CLANG_REPORTED_VERSION >= 50000 # define BOOST_CLANG_VERSION 30300 # elif BOOST_CLANG_REPORTED_VERSION >= 40200 # define BOOST_CLANG_VERSION 30200 # elif BOOST_CLANG_REPORTED_VERSION >= 30100 # define BOOST_CLANG_VERSION 30100 # elif BOOST_CLANG_REPORTED_VERSION >= 20100 # define BOOST_CLANG_VERSION 30000 # else # define BOOST_CLANG_VERSION 20900 # endif # undef BOOST_CLANG_REPORTED_VERSION #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/codegear.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright David Abrahams 2002 - 2003. // (C) Copyright Aleksey Gurtovoy 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // CodeGear C++ compiler setup: // // versions check: // last known and checked version is 0x740 #if (__CODEGEARC__ > 0x740) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # else # pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") # endif #endif #ifdef __clang__ // Clang enhanced Windows compiler # include "clang.hpp" # define BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_ATOMIC_SMART_PTR // This bug has been reported to Embarcadero #if defined(BOOST_HAS_INT128) #undef BOOST_HAS_INT128 #endif #if defined(BOOST_HAS_FLOAT128) #undef BOOST_HAS_FLOAT128 #endif // The clang-based compilers can not do 128 atomic exchanges #define BOOST_ATOMIC_NO_CMPXCHG16B // 32 functions are missing from the current RTL in cwchar, so it really can not be used even if it exists # define BOOST_NO_CWCHAR # ifndef __MT__ /* If compiling in single-threaded mode, assume there is no CXX11_HDR_ATOMIC */ # define BOOST_NO_CXX11_HDR_ATOMIC # endif /* temporarily disable this until we can link against fegetround fesetround feholdexcept */ #define BOOST_NO_FENV_H /* Reported this bug to Embarcadero with the latest C++ Builder Rio release */ #define BOOST_NO_CXX11_HDR_EXCEPTION // // check for exception handling support: // #if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif /* // On non-Win32 platforms let the platform config figure this out: #ifdef _WIN32 # define BOOST_HAS_STDINT_H #endif // // __int64: // #if !defined(__STRICT_ANSI__) # define BOOST_HAS_MS_INT64 #endif // // all versions have a : // #if !defined(__STRICT_ANSI__) # define BOOST_HAS_DIRENT_H #endif // // Disable Win32 support in ANSI mode: // # pragma defineonoption BOOST_DISABLE_WIN32 -A // // MSVC compatibility mode does some nasty things: // TODO: look up if this doesn't apply to the whole 12xx range // #if defined(_MSC_VER) && (_MSC_VER <= 1200) # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP # define BOOST_NO_VOID_RETURNS #endif // */ // Specific settings for Embarcadero drivers # define BOOST_EMBTC __CODEGEARC__ # define BOOST_EMBTC_FULL_VER ((__clang_major__ << 16) | \ (__clang_minor__ << 8) | \ __clang_patchlevel__ ) // Detecting which Embarcadero driver is being used #if defined(BOOST_EMBTC) # if defined(_WIN64) # define BOOST_EMBTC_WIN64 1 # define BOOST_EMBTC_WINDOWS 1 # ifndef BOOST_USE_WINDOWS_H # define BOOST_USE_WINDOWS_H # endif # elif defined(_WIN32) # define BOOST_EMBTC_WIN32C 1 # define BOOST_EMBTC_WINDOWS 1 # ifndef BOOST_USE_WINDOWS_H # define BOOST_USE_WINDOWS_H # endif # elif defined(__APPLE__) && defined(__arm__) # define BOOST_EMBTC_IOSARM 1 # define BOOST_EMBTC_IOS 1 # elif defined(__APPLE__) && defined(__aarch64__) # define BOOST_EMBTC_IOSARM64 1 # define BOOST_EMBTC_IOS 1 # elif defined(__ANDROID__) && defined(__arm__) # define BOOST_EMBTC_AARM 1 # define BOOST_EMBTC_ANDROID 1 # elif # if defined(BOOST_ASSERT_CONFIG) # error "Unknown Embarcadero driver" # else # warning "Unknown Embarcadero driver" # endif /* defined(BOOST_ASSERT_CONFIG) */ # endif #endif /* defined(BOOST_EMBTC) */ #if defined(BOOST_EMBTC_WINDOWS) #if !defined(_chdir) #define _chdir(x) chdir(x) #endif #if !defined(_dup2) #define _dup2(x,y) dup2(x,y) #endif #endif # undef BOOST_COMPILER # define BOOST_COMPILER "Embarcadero-Clang C++ version " BOOST_STRINGIZE(__CODEGEARC__) " clang: " __clang_version__ // # define __CODEGEARC_CLANG__ __CODEGEARC__ // # define __EMBARCADERO_CLANG__ __CODEGEARC__ // # define __BORLANDC_CLANG__ __BORLANDC__ #else // #if !defined(__clang__) # define BOOST_CODEGEARC __CODEGEARC__ # define BOOST_BORLANDC __BORLANDC__ #if !defined( BOOST_WITH_CODEGEAR_WARNINGS ) // these warnings occur frequently in optimized template code # pragma warn -8004 // var assigned value, but never used # pragma warn -8008 // condition always true/false # pragma warn -8066 // dead code can never execute # pragma warn -8104 // static members with ctors not threadsafe # pragma warn -8105 // reference member in class without ctors #endif // CodeGear C++ Builder 2009 #if (__CODEGEARC__ <= 0x613) # define BOOST_NO_INTEGRAL_INT64_T # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS # define BOOST_NO_PRIVATE_IN_AGGREGATE # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE // we shouldn't really need this - but too many things choke // without it, this needs more investigation: # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # define BOOST_SP_NO_SP_CONVERTIBLE #endif // CodeGear C++ Builder 2010 #if (__CODEGEARC__ <= 0x621) # define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS # define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member # define BOOST_NO_USING_TEMPLATE # define BOOST_NO_TWO_PHASE_NAME_LOOKUP // Temporary hack, until specific MPL preprocessed headers are generated # define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS // CodeGear has not yet completely implemented value-initialization, for // example for array types, as I reported in 2010: Embarcadero Report 83751, // "Value-initialization: arrays should have each element value-initialized", // http://qc.embarcadero.com/wc/qcmain.aspx?d=83751 // Last checked version: Embarcadero C++ 6.21 // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues // (Niels Dekker, LKEB, April 2010) # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # if defined(NDEBUG) && defined(__cplusplus) // fix broken so that Boost.test works: # include # undef strcmp # endif // fix broken errno declaration: # include # ifndef errno # define errno errno # endif #endif // Reportedly, #pragma once is supported since C++ Builder 2010 #if (__CODEGEARC__ >= 0x620) # define BOOST_HAS_PRAGMA_ONCE #endif #define BOOST_NO_FENV_H // // C++0x macros: // #if (__CODEGEARC__ <= 0x620) #define BOOST_NO_CXX11_STATIC_ASSERT #else #define BOOST_HAS_STATIC_ASSERT #endif #define BOOST_HAS_CHAR16_T #define BOOST_HAS_CHAR32_T #define BOOST_HAS_LONG_LONG // #define BOOST_HAS_ALIGNOF #define BOOST_HAS_DECLTYPE #define BOOST_HAS_EXPLICIT_CONVERSION_OPS // #define BOOST_HAS_RVALUE_REFS #define BOOST_HAS_SCOPED_ENUM // #define BOOST_HAS_STATIC_ASSERT #define BOOST_HAS_STD_TYPE_TRAITS #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXTERN_TEMPLATE #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif // // TR1 macros: // #define BOOST_HAS_TR1_HASH #define BOOST_HAS_TR1_TYPE_TRAITS #define BOOST_HAS_TR1_UNORDERED_MAP #define BOOST_HAS_TR1_UNORDERED_SET #define BOOST_HAS_MACRO_USE_FACET #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST // On non-Win32 platforms let the platform config figure this out: #ifdef _WIN32 # define BOOST_HAS_STDINT_H #endif // // __int64: // #if !defined(__STRICT_ANSI__) # define BOOST_HAS_MS_INT64 #endif // // check for exception handling support: // #if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif // // all versions have a : // #if !defined(__STRICT_ANSI__) # define BOOST_HAS_DIRENT_H #endif // // all versions support __declspec: // #if defined(__STRICT_ANSI__) // config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined # define BOOST_SYMBOL_EXPORT #endif // // ABI fixing headers: // #ifndef BOOST_ABI_PREFIX # define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" #endif #ifndef BOOST_ABI_SUFFIX # define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" #endif // // Disable Win32 support in ANSI mode: // # pragma defineonoption BOOST_DISABLE_WIN32 -A // // MSVC compatibility mode does some nasty things: // TODO: look up if this doesn't apply to the whole 12xx range // #if defined(_MSC_VER) && (_MSC_VER <= 1200) # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP # define BOOST_NO_VOID_RETURNS #endif #define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__) #endif // #if !defined(__clang__) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/comeau.hpp ================================================ // (C) Copyright John Maddock 2001. // (C) Copyright Douglas Gregor 2001. // (C) Copyright Peter Dimov 2001. // (C) Copyright Aleksey Gurtovoy 2003. // (C) Copyright Beman Dawes 2003. // (C) Copyright Jens Maurer 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Comeau C++ compiler setup: #include #if (__COMO_VERSION__ <= 4245) # if defined(_MSC_VER) && _MSC_VER <= 1300 # if _MSC_VER > 100 // only set this in non-strict mode: # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP # endif # endif // Void returns don't work when emulating VC 6 (Peter Dimov) // TODO: look up if this doesn't apply to the whole 12xx range # if defined(_MSC_VER) && (_MSC_VER < 1300) # define BOOST_NO_VOID_RETURNS # endif #endif // version 4245 // // enable __int64 support in VC emulation mode // # if defined(_MSC_VER) && (_MSC_VER >= 1200) # define BOOST_HAS_MS_INT64 # endif #define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) // // versions check: // we don't know Comeau prior to version 4245: #if __COMO_VERSION__ < 4245 # error "Compiler not configured - please reconfigure" #endif // // last known and checked version is 4245: #if (__COMO_VERSION__ > 4245) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/common_edg.hpp ================================================ // (C) Copyright John Maddock 2001 - 2002. // (C) Copyright Jens Maurer 2001. // (C) Copyright David Abrahams 2002. // (C) Copyright Aleksey Gurtovoy 2002. // (C) Copyright Markus Schoepflin 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // // Options common to all edg based compilers. // // This is included from within the individual compiler mini-configs. #ifndef __EDG_VERSION__ # error This file requires that __EDG_VERSION__ be defined. #endif #if (__EDG_VERSION__ <= 238) # define BOOST_NO_INTEGRAL_INT64_T # define BOOST_NO_SFINAE #endif #if (__EDG_VERSION__ <= 240) # define BOOST_NO_VOID_RETURNS #endif #if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP #endif #if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) # define BOOST_NO_TEMPLATE_TEMPLATES #endif #if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) # define BOOST_NO_IS_ABSTRACT #endif #if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #endif // See also kai.hpp which checks a Kai-specific symbol for EH # if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS # endif # if !defined(__NO_LONG_LONG) # define BOOST_HAS_LONG_LONG # else # define BOOST_NO_LONG_LONG # endif // Not sure what version was the first to support #pragma once, but // different EDG-based compilers (e.g. Intel) supported it for ages. // Add a proper version check if it causes problems. #define BOOST_HAS_PRAGMA_ONCE // // C++0x features // // See above for BOOST_NO_LONG_LONG // #if (__EDG_VERSION__ < 310) # define BOOST_NO_CXX11_EXTERN_TEMPLATE #endif #if (__EDG_VERSION__ <= 310) // No support for initializer lists # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #endif #if (__EDG_VERSION__ < 400) # define BOOST_NO_CXX11_VARIADIC_MACROS #endif #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNRESTRICTED_UNION //__cpp_decltype 200707 possibly? #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DECLTYPE_N3276 #if !defined(__cpp_unicode_characters) || (__cpp_unicode_characters < 200704) # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T #endif #if !defined(__cpp_unicode_literals) || (__cpp_unicode_literals < 200710) # define BOOST_NO_CXX11_UNICODE_LITERALS #endif #if !defined(__cpp_user_defined_literals) || (__cpp_user_defined_literals < 200809) # define BOOST_NO_CXX11_USER_DEFINED_LITERALS #endif #if !defined(__cpp_variadic_templates) || (__cpp_variadic_templates < 200704) # define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 200907) # define BOOST_NO_CXX11_CONSTEXPR #endif #if !defined(__cpp_lambdas) || (__cpp_lambdas < 200907) # define BOOST_NO_CXX11_LAMBDAS #endif #if !defined(__cpp_range_based_for) || (__cpp_range_based_for < 200710) # define BOOST_NO_CXX11_RANGE_BASED_FOR #endif #if !defined(__cpp_raw_strings) || (__cpp_raw_strings < 200610) # define BOOST_NO_CXX11_RAW_LITERALS #endif // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif #ifdef c_plusplus // EDG has "long long" in non-strict mode // However, some libraries have insufficient "long long" support // #define BOOST_HAS_LONG_LONG #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/compaq_cxx.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Tru64 C++ compiler setup (now HP): #define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER) #include // // versions check: // Nothing to do here? ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/cray.hpp ================================================ // Copyright 2011 John Maddock // Copyright 2013, 2017-2018 Cray, Inc. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Cray C++ compiler setup. // // There are a few parameters that affect the macros defined in this file: // // - What version of CCE (Cray Compiling Environment) are we running? This // comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and // '_RELEASE_PATCHLEVEL' macros. // - What C++ standards conformance level are we using (e.g. '-h // std=c++14')? This comes from the '__cplusplus' macro. // - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h // gnu' then CCE emulates GCC, and the macros '__GNUC__', // '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined. // // This file is organized as follows: // // - Verify that the combination of parameters listed above is supported. // If we have an unsupported combination, we abort with '#error'. // - Establish baseline values for all Boost macros. // - Apply changes to the baseline macros based on compiler version. These // changes are cummulative so each version section only describes the // changes since the previous version. // - Within each version section, we may also apply changes based on // other parameters (i.e. C++ standards conformance level and GCC // extensions). // // To test changes to this file: // // ``` // module load cce/8.6.5 # Pick the version you want to test. // cd boost/libs/config/test/all // b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt // ``` // Note: Using 'cxxstd-dialect=iso' is not supported at this time (the // tests run, but many tests fail). // // Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise // you get an 'undefined reference to clock_gettime' error. // // Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is // reported as a defect. However, this is not actually a defect. This is an // area where the test system is somewhat broken. Tests that are failing // because of this problem are noted in the comments. // // Pay attention to the macro definitions for the macros you wish to // modify. For example, only macros categorized as compiler macros should // appear in this file; platform macros should not appear in this file. // Also, some macros have to be defined to specific values; it is not // always enough to define or undefine a macro. // // Macro definitions are available in the source code at: // // `boost/libs/config/doc/html/boost_config/boost_macro_reference.html` // // Macro definitions are also available online at: // // http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html // // Typically, if you enable a feature, and the tests pass, then you have // nothing to worry about. However, it's sometimes hard to figure out if a // disabled feature needs to stay disabled. To get a list of disabled // features, run 'b2' in 'boost/libs/config/checks'. These are the macros // you should pay attention to (in addition to macros that cause test // failures). //// //// Front matter //// // In a developer build of the Cray compiler (i.e. a compiler built by a // Cray employee), the release patch level is reported as "x". This gives // versions that look like e.g. "8.6.x". // // To accomplish this, the the Cray compiler preprocessor inserts: // // #define _RELEASE_PATCHLEVEL x // // If we are using a developer build of the compiler, we want to use the // configuration macros for the most recent patch level of the release. To // accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99. // // However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must // consider that the x will be expanded if x is defined as a macro // elsewhere. For example, imagine if someone put "-D x=3" on the command // line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would // expand to 3, and we could not distinguish it from an actual // _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in // production builds, _RELEASE_PATCHLEVEL is always an integer. // // IMPORTANT: In developer builds, if x is defined as a macro, you will get // an incorrect configuration. The behavior in this case is undefined. // // Even if x is not defined, we have to use some trickery to detect if // _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary // magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the // expanded value of _RELEASE_PATCHLEVEL to the string "BOOST_CRAY_". // // - If _RELEASE_PATCHLEVEL is undefined, we get "BOOST_CRAY_". // - If _RELEASE_PATCHLEVEL is 5, we get "BOOST_CRAY_5". // - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get // "BOOST_CRAY_x": // // Then we check if BOOST_CRAY_x is equal to the output of // BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is // treated as a macro name, and expanded again. If we can safely assume // that BOOST_CRAY_ is not a macro defined as our magic number, and // BOOST_CRAY_5 is not a macro defined as our magic number, then the only // way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x. // // So, that is how we detect if we are using a developer build of the Cray // compiler. #define BOOST_CRAY_x 9867657 // Arbitrary number #define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO) #define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO #if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL) // This is a developer build. // // - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro. // Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the // most recent patch level in this release. #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99) #else // This is a production build. // // _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro. #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL) #endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL) #undef BOOST_CRAY_APPEND_INTERNAL #undef BOOST_CRAY_APPEND #undef BOOST_CRAY_x #ifdef __GNUC__ # define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #endif #ifndef BOOST_COMPILER # define BOOST_COMPILER "Cray C++ version " BOOST_STRINGIZE(_RELEASE_MAJOR) "." BOOST_STRINGIZE(_RELEASE_MINOR) "." BOOST_STRINGIZE(_RELEASE_PATCHLEVEL) #endif // Since the Cray compiler defines '__GNUC__', we have to emulate some // additional GCC macros in order to make everything work. // // FIXME: Perhaps Cray should fix the compiler to define these additional // macros for GCC emulation? #if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) # define __GXX_EXPERIMENTAL_CXX0X__ 1 #endif //// //// Parameter validation //// // FIXME: Do we really need to support compilers before 8.5? Do they pass // the Boost.Config tests? #if BOOST_CRAY_VERSION < 80000 # error "Boost is not configured for Cray compilers prior to version 8, please try the configure script." #endif // We only support recent EDG based compilers. #ifndef __EDG__ # error "Unsupported Cray compiler, please try running the configure script." #endif //// //// Baseline values //// #include #define BOOST_HAS_NRVO #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_VARIADIC_MACROS #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_UNRESTRICTED_UNION #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_TWO_PHASE_NAME_LOOKUP //#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG #define BOOST_MATH_DISABLE_STD_FPCLASSIFY //#define BOOST_HAS_FPCLASSIFY #define BOOST_SP_USE_PTHREADS #define BOOST_AC_USE_PTHREADS // // Everything that follows is working around what are thought to be // compiler shortcomings. Revist all of these regularly. // //#define BOOST_USE_ENUM_STATIC_ASSERT //#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define // These constants should be provided by the compiler. #ifndef __ATOMIC_RELAXED #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_ACQUIRE 2 #define __ATOMIC_RELEASE 3 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_SEQ_CST 5 #endif //// //// Version changes //// // // 8.5.0 // #if BOOST_CRAY_VERSION >= 80500 #if __cplusplus >= 201103L #undef BOOST_HAS_NRVO #undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION #undef BOOST_NO_CXX11_AUTO_DECLARATIONS #undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #undef BOOST_NO_CXX11_CHAR16_T #undef BOOST_NO_CXX11_CHAR32_T #undef BOOST_NO_CXX11_CONSTEXPR #undef BOOST_NO_CXX11_DECLTYPE #undef BOOST_NO_CXX11_DECLTYPE_N3276 #undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #undef BOOST_NO_CXX11_DELETED_FUNCTIONS #undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #undef BOOST_NO_CXX11_FINAL #undef BOOST_NO_CXX11_OVERRIDE #undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #undef BOOST_NO_CXX11_LAMBDAS #undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #undef BOOST_NO_CXX11_NOEXCEPT #undef BOOST_NO_CXX11_NULLPTR #undef BOOST_NO_CXX11_RANGE_BASED_FOR #undef BOOST_NO_CXX11_RAW_LITERALS #undef BOOST_NO_CXX11_REF_QUALIFIERS #undef BOOST_NO_CXX11_RVALUE_REFERENCES #undef BOOST_NO_CXX11_SCOPED_ENUMS #undef BOOST_NO_CXX11_SFINAE_EXPR #undef BOOST_NO_CXX11_STATIC_ASSERT #undef BOOST_NO_CXX11_TEMPLATE_ALIASES #undef BOOST_NO_CXX11_THREAD_LOCAL #undef BOOST_NO_CXX11_UNICODE_LITERALS #undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #undef BOOST_NO_CXX11_USER_DEFINED_LITERALS #undef BOOST_NO_CXX11_VARIADIC_MACROS #undef BOOST_NO_CXX11_VARIADIC_TEMPLATES #undef BOOST_NO_CXX11_UNRESTRICTED_UNION #undef BOOST_NO_SFINAE_EXPR #undef BOOST_NO_TWO_PHASE_NAME_LOOKUP #undef BOOST_MATH_DISABLE_STD_FPCLASSIFY #undef BOOST_SP_USE_PTHREADS #undef BOOST_AC_USE_PTHREADS #define BOOST_HAS_VARIADIC_TMPL #define BOOST_HAS_UNISTD_H #define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG #define BOOST_HAS_TR1_COMPLEX_OVERLOADS #define BOOST_HAS_STDINT_H #define BOOST_HAS_STATIC_ASSERT #define BOOST_HAS_SIGACTION #define BOOST_HAS_SCHED_YIELD #define BOOST_HAS_RVALUE_REFS #define BOOST_HAS_PTHREADS #define BOOST_HAS_PTHREAD_YIELD #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #define BOOST_HAS_PARTIAL_STD_ALLOCATOR #define BOOST_HAS_NRVO #define BOOST_HAS_NL_TYPES_H #define BOOST_HAS_NANOSLEEP #define BOOST_NO_CXX11_SMART_PTR #define BOOST_NO_CXX11_HDR_FUNCTIONAL #define BOOST_NO_CXX14_CONSTEXPR #define BOOST_HAS_LONG_LONG #define BOOST_HAS_FLOAT128 #if __cplusplus < 201402L #define BOOST_NO_CXX11_DECLTYPE_N3276 #endif // __cplusplus < 201402L #endif // __cplusplus >= 201103L #endif // BOOST_CRAY_VERSION >= 80500 // // 8.6.4 // (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL) // #if BOOST_CRAY_VERSION >= 80600 #if __cplusplus >= 199711L #define BOOST_HAS_FLOAT128 #define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results. #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run. #undef BOOST_NO_CXX11_CHAR16_T #undef BOOST_NO_CXX11_CHAR32_T #undef BOOST_NO_CXX11_INLINE_NAMESPACES #undef BOOST_NO_CXX11_FINAL #undef BOOST_NO_CXX11_OVERRIDE #undef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails. #undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #undef BOOST_NO_CXX11_VARIADIC_MACROS #undef BOOST_NO_CXX11_VARIADIC_TEMPLATES // 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled / // disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However, // 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that // 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as // depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying // 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run. // // The 'no_ded_typename_pass.cpp' test should always compile and run // successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an // appropriate value (it's not just something that you turn on or off). // Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME', // you have to modify 'no_ded_typename_pass.cpp' to unconditionally include // 'boost_no_ded_typename.ipp'. #undef BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken. #undef BOOST_NO_SFINAE_EXPR #undef BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif // __cplusplus >= 199711L #if __cplusplus >= 201103L #undef BOOST_NO_CXX11_ALIGNAS #undef BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_HDR_ATOMIC #undef BOOST_NO_CXX11_HDR_FUNCTIONAL #define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run. #undef BOOST_NO_CXX11_SFINAE_EXPR #undef BOOST_NO_CXX11_SMART_PTR #undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES #endif // __cplusplus >= 201103L #if __cplusplus >= 201402L #undef BOOST_NO_CXX14_CONSTEXPR #define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif // __cplusplus == 201402L #endif // BOOST_CRAY_VERSION >= 80600 // // 8.6.5 // (no change from 8.6.4) // // // 8.7.0 // #if BOOST_CRAY_VERSION >= 80700 #if __cplusplus >= 199711L #endif // __cplusplus >= 199711L #if __cplusplus >= 201103L #undef BOOST_NO_CXX11_HDR_ATOMIC #undef BOOST_NO_CXX11_HDR_REGEX #endif // __cplusplus >= 201103L #if __cplusplus >= 201402L #endif // __cplusplus == 201402L #endif // BOOST_CRAY_VERSION >= 80700 // // Next release // #if BOOST_CRAY_VERSION > 80799 #if __cplusplus >= 199711L #endif // __cplusplus >= 199711L #if __cplusplus >= 201103L #endif // __cplusplus >= 201103L #if __cplusplus >= 201402L #endif // __cplusplus == 201402L #endif // BOOST_CRAY_VERSION > 80799 //// //// Remove temporary macros //// // I've commented out some '#undef' statements to signify that we purposely // want to keep certain macros. //#undef __GXX_EXPERIMENTAL_CXX0X__ //#undef BOOST_COMPILER #undef BOOST_GCC_VERSION #undef BOOST_CRAY_VERSION ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/diab.hpp ================================================ // (C) Copyright Brian Kuhl 2016. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // Check this is a recent EDG based compiler, otherwise we don't support it here: #ifndef __EDG_VERSION__ # error "Unknown Diab compiler version - please run the configure tests and report the results" #endif #include "boost/config/compiler/common_edg.hpp" #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS #define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE #define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS #define BOOST_REGEX_NO_EXTERNAL_TEMPLATES #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_HDR_CODECVT #define BOOST_NO_CXX11_NUMERIC_LIMITS #define BOOST_COMPILER "Wind River Diab " BOOST_STRINGIZE(__VERSION_NUMBER__) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/digitalmars.hpp ================================================ // Copyright (C) Christof Meerwald 2003 // Copyright (C) Dan Watkins 2003 // // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // Digital Mars C++ compiler setup: #define BOOST_COMPILER __DMC_VERSION_STRING__ #define BOOST_HAS_LONG_LONG #define BOOST_HAS_PRAGMA_ONCE #if !defined(BOOST_STRICT_CONFIG) #define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #define BOOST_NO_OPERATORS_IN_NAMESPACE #define BOOST_NO_UNREACHABLE_RETURN_DETECTION #define BOOST_NO_SFINAE #define BOOST_NO_USING_TEMPLATE #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #endif // // has macros: #define BOOST_HAS_DIRENT_H #define BOOST_HAS_STDINT_H #define BOOST_HAS_WINTHREADS #if (__DMC__ >= 0x847) #define BOOST_HAS_EXPM1 #define BOOST_HAS_LOG1P #endif // // Is this really the best way to detect whether the std lib is in namespace std? // #ifdef __cplusplus #include #endif #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) # define BOOST_NO_STDC_NAMESPACE #endif // check for exception handling support: #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif // // C++0x features // #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_CXX11_EXTERN_TEMPLATE #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif #if (__DMC__ <= 0x840) #error "Compiler not supported or configured - please reconfigure" #endif // // last known and checked version is ...: #if (__DMC__ > 0x848) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/gcc.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Darin Adler 2001 - 2002. // (C) Copyright Jens Maurer 2001 - 2002. // (C) Copyright Beman Dawes 2001 - 2003. // (C) Copyright Douglas Gregor 2002. // (C) Copyright David Abrahams 2002 - 2003. // (C) Copyright Synge Todo 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // GNU C++ compiler setup. // // Define BOOST_GCC so we know this is "real" GCC and not some pretender: // #define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #if !defined(__CUDACC__) #define BOOST_GCC BOOST_GCC_VERSION #endif #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) # define BOOST_GCC_CXX11 #endif #if __GNUC__ == 3 # if defined (__PATHSCALE__) # define BOOST_NO_TWO_PHASE_NAME_LOOKUP # define BOOST_NO_IS_ABSTRACT # endif # if __GNUC_MINOR__ < 4 # define BOOST_NO_IS_ABSTRACT # endif # define BOOST_NO_CXX11_EXTERN_TEMPLATE #endif #if __GNUC__ < 4 // // All problems to gcc-3.x and earlier here: // #define BOOST_NO_TWO_PHASE_NAME_LOOKUP # ifdef __OPEN64__ # define BOOST_NO_IS_ABSTRACT # endif #endif // GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links #if BOOST_GCC_VERSION >= 30400 #define BOOST_HAS_PRAGMA_ONCE #endif #if BOOST_GCC_VERSION < 40400 // Previous versions of GCC did not completely implement value-initialization: // GCC Bug 30111, "Value-initialization of POD base class doesn't initialize // members", reported by Jonathan Wakely in 2006, // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4) // GCC Bug 33916, "Default constructor fails to initialize array members", // reported by Michael Elizabeth Chastain in 2007, // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4) // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION #endif #if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif // // Threading support: Turn this on unconditionally here (except for // those platforms where we can know for sure). It will get turned off again // later if no threading API is detected. // #if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) # define BOOST_HAS_THREADS #endif // // gcc has "long long" // Except on Darwin with standard compliance enabled (-pedantic) // Apple gcc helpfully defines this macro we can query // #if !defined(__DARWIN_NO_LONG_LONG) # define BOOST_HAS_LONG_LONG #endif // // gcc implements the named return value optimization since version 3.1 // #define BOOST_HAS_NRVO // Branch prediction hints #define BOOST_LIKELY(x) __builtin_expect(x, 1) #define BOOST_UNLIKELY(x) __builtin_expect(x, 0) // // Dynamic shared object (DSO) and dynamic-link library (DLL) support // #if __GNUC__ >= 4 # if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) // All Win32 development environments, including 64-bit Windows and MinGW, define // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment, // so does not define _WIN32 or its variants, but still supports dllexport/dllimport. # define BOOST_HAS_DECLSPEC # define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) # define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) # else # define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) # define BOOST_SYMBOL_IMPORT # endif # define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) #else // config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined # define BOOST_SYMBOL_EXPORT #endif // // RTTI and typeinfo detection is possible post gcc-4.3: // #if BOOST_GCC_VERSION > 40300 # ifndef __GXX_RTTI # ifndef BOOST_NO_TYPEID # define BOOST_NO_TYPEID # endif # ifndef BOOST_NO_RTTI # define BOOST_NO_RTTI # endif # endif #endif // // Recent GCC versions have __int128 when in 64-bit mode. // // We disable this if the compiler is really nvcc with C++03 as it // doesn't actually support __int128 as of CUDA_VERSION=7500 // even though it defines __SIZEOF_INT128__. // See https://svn.boost.org/trac/boost/ticket/8048 // https://svn.boost.org/trac/boost/ticket/11852 // Only re-enable this for nvcc if you're absolutely sure // of the circumstances under which it's supported: // #if defined(__CUDACC__) # if defined(BOOST_GCC_CXX11) # define BOOST_NVCC_CXX11 # else # define BOOST_NVCC_CXX03 # endif #endif #if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) # define BOOST_HAS_INT128 #endif // // Recent GCC versions have a __float128 native type, we need to // include a std lib header to detect this - not ideal, but we'll // be including later anyway when we select the std lib. // // Nevertheless, as of CUDA 7.5, using __float128 with the host // compiler in pre-C++11 mode is still not supported. // See https://svn.boost.org/trac/boost/ticket/11852 // #ifdef __cplusplus #include #else #include #endif #if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03) # define BOOST_HAS_FLOAT128 #endif // C++0x features in 4.3.n and later // #if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11) // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are // passed on the command line, which in turn defines // __GXX_EXPERIMENTAL_CXX0X__. # define BOOST_HAS_DECLTYPE # define BOOST_HAS_RVALUE_REFS # define BOOST_HAS_STATIC_ASSERT # define BOOST_HAS_VARIADIC_TMPL #else # define BOOST_NO_CXX11_DECLTYPE # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS # define BOOST_NO_CXX11_RVALUE_REFERENCES # define BOOST_NO_CXX11_STATIC_ASSERT #endif // C++0x features in 4.4.n and later // #if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS # define BOOST_NO_CXX11_DELETED_FUNCTIONS # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif #if BOOST_GCC_VERSION < 40500 # define BOOST_NO_SFINAE_EXPR #endif // GCC 4.5 forbids declaration of defaulted functions in private or protected sections #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS #endif // C++0x features in 4.5.0 and later // #if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_CXX11_LAMBDAS # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS # define BOOST_NO_CXX11_RAW_LITERALS # define BOOST_NO_CXX11_UNICODE_LITERALS #endif // C++0x features in 4.5.1 and later // #if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11) // scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1 // See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 # define BOOST_NO_CXX11_SCOPED_ENUMS #endif // C++0x features in 4.6.n and later // #if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11) #define BOOST_NO_CXX11_DEFAULTED_MOVES #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #endif // C++0x features in 4.7.n and later // #if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11) // Note that while constexpr is partly supported in gcc-4.6 it's a // pre-std version with several bugs: # define BOOST_NO_CXX11_CONSTEXPR # define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_TEMPLATE_ALIASES # define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS # define BOOST_NO_CXX11_OVERRIDE #endif // C++0x features in 4.8.n and later // #if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_SFINAE_EXPR #endif // C++0x features in 4.8.1 and later // #if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_DECLTYPE_N3276 # define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX14_BINARY_LITERALS #endif // C++0x features in 4.9.n and later // #if (BOOST_GCC_VERSION < 40900) || !defined(BOOST_GCC_CXX11) // Although alignas support is added in gcc 4.8, it does not accept // dependent constant expressions as an argument until gcc 4.9. # define BOOST_NO_CXX11_ALIGNAS #endif // C++0x features in 5.1 and later // #if (BOOST_GCC_VERSION < 50100) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_UNRESTRICTED_UNION #endif // C++14 features in 4.9.0 and later // #if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION # define BOOST_NO_CXX14_GENERIC_LAMBDAS # define BOOST_NO_CXX14_DIGIT_SEPARATORS # define BOOST_NO_CXX14_DECLTYPE_AUTO # if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11)) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES # endif #endif // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if (BOOST_GCC_VERSION < 50200) || !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif #if __GNUC__ >= 7 # define BOOST_FALLTHROUGH __attribute__((fallthrough)) #endif #if (__GNUC__ < 11) && defined(__MINGW32__) && !defined(__MINGW64__) // thread_local was broken on mingw for all 32bit compiler releases prior to 11.x, see // https://sourceforge.net/p/mingw-w64/bugs/527/ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562 // Not setting this causes program termination on thread exit. #define BOOST_NO_CXX11_THREAD_LOCAL #endif // // Unused attribute: #if __GNUC__ >= 4 # define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) #endif // Type aliasing hint. Supported since gcc 3.3. #define BOOST_MAY_ALIAS __attribute__((__may_alias__)) // // __builtin_unreachable: #if BOOST_GCC_VERSION >= 40500 #define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); #endif #ifndef BOOST_COMPILER # define BOOST_COMPILER "GNU C++ version " __VERSION__ #endif // ConceptGCC compiler: // http://www.generic-programming.org/software/ConceptGCC/ #ifdef __GXX_CONCEPTS__ # define BOOST_HAS_CONCEPTS # define BOOST_COMPILER "ConceptGCC version " __VERSION__ #endif // versions check: // we don't know gcc prior to version 3.30: #if (BOOST_GCC_VERSION< 30300) # error "Compiler not configured - please reconfigure" #endif // // last known and checked version is 8.1: #if (BOOST_GCC_VERSION > 80100) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your compiler - please check for an updated Boost release." # else // we don't emit warnings here anymore since there are no defect macros defined for // gcc post 3.4, so any failures are gcc regressions... //# warning "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/gcc_xml.hpp ================================================ // (C) Copyright John Maddock 2006. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // GCC-XML C++ compiler setup: # if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3)) # define BOOST_NO_IS_ABSTRACT # endif // // Threading support: Turn this on unconditionally here (except for // those platforms where we can know for sure). It will get turned off again // later if no threading API is detected. // #if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__) # define BOOST_HAS_THREADS #endif // // gcc has "long long" // #define BOOST_HAS_LONG_LONG // C++0x features: // # define BOOST_NO_CXX11_CONSTEXPR # define BOOST_NO_CXX11_NULLPTR # define BOOST_NO_CXX11_TEMPLATE_ALIASES # define BOOST_NO_CXX11_DECLTYPE # define BOOST_NO_CXX11_DECLTYPE_N3276 # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS # define BOOST_NO_CXX11_RVALUE_REFERENCES # define BOOST_NO_CXX11_STATIC_ASSERT # define BOOST_NO_CXX11_VARIADIC_TEMPLATES # define BOOST_NO_CXX11_VARIADIC_MACROS # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS # define BOOST_NO_CXX11_DELETED_FUNCTIONS # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_SCOPED_ENUMS # define BOOST_NO_SFINAE_EXPR # define BOOST_NO_CXX11_SFINAE_EXPR # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_CXX11_LAMBDAS # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS # define BOOST_NO_CXX11_RANGE_BASED_FOR # define BOOST_NO_CXX11_RAW_LITERALS # define BOOST_NO_CXX11_UNICODE_LITERALS # define BOOST_NO_CXX11_NOEXCEPT # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX # define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_OVERRIDE # define BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/greenhills.hpp ================================================ // (C) Copyright John Maddock 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Greenhills C++ compiler setup: #define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) #include // // versions check: // we don't support Greenhills prior to version 0: #if __ghs < 0 # error "Compiler not supported or configured - please reconfigure" #endif // // last known and checked version is 0: #if (__ghs > 0) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/hp_acc.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001 - 2003. // (C) Copyright Aleksey Gurtovoy 2002. // (C) Copyright David Abrahams 2002 - 2003. // (C) Copyright Toon Knapen 2003. // (C) Copyright Boris Gubenko 2006 - 2007. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // HP aCC C++ compiler setup: #if defined(__EDG__) #include #endif #if (__HP_aCC <= 33100) # define BOOST_NO_INTEGRAL_INT64_T # define BOOST_NO_OPERATORS_IN_NAMESPACE # if !defined(_NAMESPACE_STD) # define BOOST_NO_STD_LOCALE # define BOOST_NO_STRINGSTREAM # endif #endif #if (__HP_aCC <= 33300) // member templates are sufficiently broken that we disable them for now # define BOOST_NO_MEMBER_TEMPLATES # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE #endif #if (__HP_aCC <= 38000) # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif #if (__HP_aCC > 50000) && (__HP_aCC < 60000) # define BOOST_NO_UNREACHABLE_RETURN_DETECTION # define BOOST_NO_TEMPLATE_TEMPLATES # define BOOST_NO_SWPRINTF # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # define BOOST_NO_IS_ABSTRACT # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif // optional features rather than defects: #if (__HP_aCC >= 33900) # define BOOST_HAS_LONG_LONG # define BOOST_HAS_PARTIAL_STD_ALLOCATOR #endif #if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD #endif // This macro should not be defined when compiling in strict ansi // mode, but, currently, we don't have the ability to determine // what standard mode we are compiling with. Some future version // of aCC6 compiler will provide predefined macros reflecting the // compilation options, including the standard mode. #if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98)) # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif #define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) // // versions check: // we don't support HP aCC prior to version 33000: #if __HP_aCC < 33000 # error "Compiler not supported or configured - please reconfigure" #endif // // Extended checks for supporting aCC on PA-RISC #if __HP_aCC > 30000 && __HP_aCC < 50000 # if __HP_aCC < 38000 // versions prior to version A.03.80 not supported # error "Compiler version not supported - version A.03.80 or higher is required" # elif !defined(__hpxstd98) // must compile using the option +hpxstd98 with version A.03.80 and above # error "Compiler option '+hpxstd98' is required for proper support" # endif //PA-RISC #endif // // C++0x features // // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG // #if !defined(__EDG__) #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_CXX11_EXTERN_TEMPLATE #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNRESTRICTED_UNION /* See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436 */ #if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE) #define BOOST_NO_CXX11_VARIADIC_MACROS #endif #endif // // last known and checked version for HP-UX/ia64 is 61300 // last known and checked version for PA-RISC is 38000 #if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98))) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/intel.hpp ================================================ // (C) Copyright John Maddock 2001-8. // (C) Copyright Peter Dimov 2001. // (C) Copyright Jens Maurer 2001. // (C) Copyright David Abrahams 2002 - 2003. // (C) Copyright Aleksey Gurtovoy 2002 - 2003. // (C) Copyright Guillaume Melquiond 2002 - 2003. // (C) Copyright Beman Dawes 2003. // (C) Copyright Martin Wille 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Intel compiler setup: #if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) #ifdef _MSC_VER #include #undef BOOST_MSVC #undef BOOST_MSVC_FULL_VER #if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900) // // These appear to be supported, even though VC++ may not support them: // #define BOOST_HAS_EXPM1 #define BOOST_HAS_LOG1P #undef BOOST_NO_CXX14_BINARY_LITERALS // This one may be a little risky to enable?? #undef BOOST_NO_SFINAE_EXPR #endif #if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif #else // defined(_MSC_VER) #include #undef BOOST_GCC_VERSION #undef BOOST_GCC_CXX11 #undef BOOST_GCC #undef BOOST_FALLTHROUGH // Broken in all versions up to 17 (newer versions not tested) #if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR) # define BOOST_NO_CXX14_CONSTEXPR #endif #if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703) # define BOOST_FALLTHROUGH [[fallthrough]] #endif #endif // defined(_MSC_VER) #undef BOOST_COMPILER #if defined(__INTEL_COMPILER) #if __INTEL_COMPILER == 9999 # define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. #else # define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER #endif #elif defined(__ICL) # define BOOST_INTEL_CXX_VERSION __ICL #elif defined(__ICC) # define BOOST_INTEL_CXX_VERSION __ICC #elif defined(__ECC) # define BOOST_INTEL_CXX_VERSION __ECC #endif // Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' #if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_INTEL_STDCXX0X #endif #if defined(_MSC_VER) && (_MSC_VER >= 1600) # define BOOST_INTEL_STDCXX0X #endif #ifdef __GNUC__ # define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #endif #if !defined(BOOST_COMPILER) # if defined(BOOST_INTEL_STDCXX0X) # define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) # else # define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) # endif #endif #define BOOST_INTEL BOOST_INTEL_CXX_VERSION #if defined(_WIN32) || defined(_WIN64) # define BOOST_INTEL_WIN BOOST_INTEL #else # define BOOST_INTEL_LINUX BOOST_INTEL #endif #else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) #include #if defined(__INTEL_COMPILER) #if __INTEL_COMPILER == 9999 # define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. #else # define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER #endif #elif defined(__ICL) # define BOOST_INTEL_CXX_VERSION __ICL #elif defined(__ICC) # define BOOST_INTEL_CXX_VERSION __ICC #elif defined(__ECC) # define BOOST_INTEL_CXX_VERSION __ECC #endif // Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' #if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_INTEL_STDCXX0X #endif #if defined(_MSC_VER) && (_MSC_VER >= 1600) # define BOOST_INTEL_STDCXX0X #endif #ifdef __GNUC__ # define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #endif #if !defined(BOOST_COMPILER) # if defined(BOOST_INTEL_STDCXX0X) # define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) # else # define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) # endif #endif #define BOOST_INTEL BOOST_INTEL_CXX_VERSION #if defined(_WIN32) || defined(_WIN64) # define BOOST_INTEL_WIN BOOST_INTEL #else # define BOOST_INTEL_LINUX BOOST_INTEL #endif #if (BOOST_INTEL_CXX_VERSION <= 600) # if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) // Boost libraries assume strong standard conformance unless otherwise // indicated by a config macro. As configured by Intel, the EDG front-end // requires certain compiler options be set to achieve that strong conformance. // Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) // and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for // details as they apply to particular versions of the compiler. When the // compiler does not predefine a macro indicating if an option has been set, // this config file simply assumes the option has been set. // Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if // the compiler option is not enabled. # define BOOST_NO_SWPRINTF # endif // Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) # if defined(_MSC_VER) && (_MSC_VER <= 1200) # define BOOST_NO_VOID_RETURNS # define BOOST_NO_INTEGRAL_INT64_T # endif #endif #if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS #endif // See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 #if BOOST_INTEL_CXX_VERSION < 600 # define BOOST_NO_INTRINSIC_WCHAR_T #else // We should test the macro _WCHAR_T_DEFINED to check if the compiler // supports wchar_t natively. *BUT* there is a problem here: the standard // headers define this macro if they typedef wchar_t. Anyway, we're lucky // because they define it without a value, while Intel C++ defines it // to 1. So we can check its value to see if the macro was defined natively // or not. // Under UNIX, the situation is exactly the same, but the macro _WCHAR_T // is used instead. # if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) # define BOOST_NO_INTRINSIC_WCHAR_T # endif #endif #if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) // // Figure out when Intel is emulating this gcc bug // (All Intel versions prior to 9.0.26, and versions // later than that if they are set up to emulate gcc 3.2 // or earlier): // # if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912) # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL # endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200) // GCC or VC emulation: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif // // Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T // set correctly, if we don't do this now, we will get errors later // in type_traits code among other things, getting this correct // for the Intel compiler is actually remarkably fragile and tricky: // #ifdef __cplusplus #if defined(BOOST_NO_INTRINSIC_WCHAR_T) #include template< typename T > struct assert_no_intrinsic_wchar_t; template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; // if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T // where it is defined above: typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; #else template< typename T > struct assert_intrinsic_wchar_t; template<> struct assert_intrinsic_wchar_t {}; // if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: template<> struct assert_intrinsic_wchar_t {}; #endif #endif #if defined(_MSC_VER) && (_MSC_VER+0 >= 1000) # if _MSC_VER >= 1200 # define BOOST_HAS_MS_INT64 # endif # define BOOST_NO_SWPRINTF # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #elif defined(_WIN32) # define BOOST_DISABLE_WIN32 #endif // I checked version 6.0 build 020312Z, it implements the NRVO. // Correct this as you find out which version of the compiler // implemented the NRVO first. (Daniel Frey) #if (BOOST_INTEL_CXX_VERSION >= 600) # define BOOST_HAS_NRVO #endif // Branch prediction hints // I'm not sure 8.0 was the first version to support these builtins, // update the condition if the version is not accurate. (Andrey Semashev) #if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800 #define BOOST_LIKELY(x) __builtin_expect(x, 1) #define BOOST_UNLIKELY(x) __builtin_expect(x, 0) #endif // RTTI // __RTTI is the EDG macro // __INTEL_RTTI__ is the Intel macro // __GXX_RTTI is the g++ macro // _CPPRTTI is the MSVC++ macro #if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI) #if !defined(BOOST_NO_RTTI) # define BOOST_NO_RTTI #endif // in MS mode, static typeid works even when RTTI is off #if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID) # define BOOST_NO_TYPEID #endif #endif // // versions check: // we don't support Intel prior to version 6.0: #if BOOST_INTEL_CXX_VERSION < 600 # error "Compiler not supported or configured - please reconfigure" #endif // Intel on MacOS requires #if defined(__APPLE__) && defined(__INTEL_COMPILER) # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif // Intel on Altix Itanium #if defined(__itanium__) && defined(__INTEL_COMPILER) # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif // // An attempt to value-initialize a pointer-to-member may trigger an // internal error on Intel <= 11.1 (last checked version), as was // reported by John Maddock, Intel support issue 589832, May 2010. // Moreover, according to test results from Huang-Vista-x86_32_intel, // intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some // cases when it should be value-initialized. // (Niels Dekker, LKEB, May 2010) // Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression). #if defined(__INTEL_COMPILER) # if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600)) # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # endif #endif // // Dynamic shared object (DSO) and dynamic-link library (DLL) support // #if defined(__GNUC__) && (__GNUC__ >= 4) # define BOOST_SYMBOL_EXPORT __attribute__((visibility("default"))) # define BOOST_SYMBOL_IMPORT # define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default"))) #endif // Type aliasing hint #if defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1300) # define BOOST_MAY_ALIAS __attribute__((__may_alias__)) #endif // // C++0x features // For each feature we need to check both the Intel compiler version, // and the version of MSVC or GCC that we are emulating. // See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ // for a list of which features were implemented in which Intel releases. // #if defined(BOOST_INTEL_STDCXX0X) // BOOST_NO_CXX11_CONSTEXPR: #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER) // Available in earlier Intel versions, but fail our tests: # undef BOOST_NO_CXX11_CONSTEXPR #endif // BOOST_NO_CXX11_NULLPTR: #if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) # undef BOOST_NO_CXX11_NULLPTR #endif // BOOST_NO_CXX11_TEMPLATE_ALIASES #if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_TEMPLATE_ALIASES #endif // BOOST_NO_CXX11_DECLTYPE #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) # undef BOOST_NO_CXX11_DECLTYPE #endif // BOOST_NO_CXX11_DECLTYPE_N3276 #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_DECLTYPE_N3276 #endif // BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #endif // BOOST_NO_CXX11_RVALUE_REFERENCES #if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) // This is available from earlier Intel versions, but breaks Filesystem and other libraries: # undef BOOST_NO_CXX11_RVALUE_REFERENCES #endif // BOOST_NO_CXX11_STATIC_ASSERT #if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) # undef BOOST_NO_CXX11_STATIC_ASSERT #endif // BOOST_NO_CXX11_VARIADIC_TEMPLATES #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif // BOOST_NO_CXX11_VARIADIC_MACROS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400)) # undef BOOST_NO_CXX11_VARIADIC_MACROS #endif // BOOST_NO_CXX11_AUTO_DECLARATIONS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) # undef BOOST_NO_CXX11_AUTO_DECLARATIONS #endif // BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) # undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #endif // BOOST_NO_CXX11_CHAR16_T #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) # undef BOOST_NO_CXX11_CHAR16_T #endif // BOOST_NO_CXX11_CHAR32_T #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) # undef BOOST_NO_CXX11_CHAR32_T #endif // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #endif // BOOST_NO_CXX11_DELETED_FUNCTIONS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_DELETED_FUNCTIONS #endif // BOOST_NO_CXX11_HDR_INITIALIZER_LIST #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) # undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST #endif // BOOST_NO_CXX11_SCOPED_ENUMS #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) // This is available but broken in earlier Intel releases. # undef BOOST_NO_CXX11_SCOPED_ENUMS #endif // BOOST_NO_SFINAE_EXPR #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) # undef BOOST_NO_SFINAE_EXPR #endif // BOOST_NO_CXX11_SFINAE_EXPR #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && !defined(_MSC_VER) # undef BOOST_NO_CXX11_SFINAE_EXPR #endif // BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) // This is available in earlier Intel releases, but breaks Multiprecision: # undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #endif // BOOST_NO_CXX11_LAMBDAS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) # undef BOOST_NO_CXX11_LAMBDAS #endif // BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) # undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #endif // BOOST_NO_CXX11_RANGE_BASED_FOR #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) # undef BOOST_NO_CXX11_RANGE_BASED_FOR #endif // BOOST_NO_CXX11_RAW_LITERALS #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_RAW_LITERALS #endif // BOOST_NO_CXX11_UNICODE_LITERALS #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) # undef BOOST_NO_CXX11_UNICODE_LITERALS #endif // BOOST_NO_CXX11_NOEXCEPT #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) // Available in earlier Intel release, but generates errors when used with // conditional exception specifications, for example in multiprecision: # undef BOOST_NO_CXX11_NOEXCEPT #endif // BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) # undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #endif // BOOST_NO_CXX11_USER_DEFINED_LITERALS #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) # undef BOOST_NO_CXX11_USER_DEFINED_LITERALS #endif // BOOST_NO_CXX11_ALIGNAS #if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) # undef BOOST_NO_CXX11_ALIGNAS #endif // BOOST_NO_CXX11_TRAILING_RESULT_TYPES #if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES #endif // BOOST_NO_CXX11_INLINE_NAMESPACES #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) # undef BOOST_NO_CXX11_INLINE_NAMESPACES #endif // BOOST_NO_CXX11_REF_QUALIFIERS #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) # undef BOOST_NO_CXX11_REF_QUALIFIERS #endif // BOOST_NO_CXX11_FINAL // BOOST_NO_CXX11_OVERRIDE #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) # undef BOOST_NO_CXX11_FINAL # undef BOOST_NO_CXX11_OVERRIDE #endif // BOOST_NO_CXX11_UNRESTRICTED_UNION #if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 50100)) && (!defined(_MSC_VER)) # undef BOOST_NO_CXX11_UNRESTRICTED_UNION #endif #endif // defined(BOOST_INTEL_STDCXX0X) // // Broken in all versions up to 15: #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310) # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #endif #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400) // A regression in Intel's compiler means that seems to be broken in this release as well as : # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_TUPLE #endif #if (BOOST_INTEL_CXX_VERSION < 1200) // // fenv.h appears not to work with Intel prior to 12.0: // # define BOOST_NO_FENV_H #endif // Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections, // producing the following errors: // error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object #if (BOOST_INTEL_CXX_VERSION <= 1310) # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS #endif #if defined(_MSC_VER) && (_MSC_VER >= 1600) # define BOOST_HAS_STDINT_H #endif #if defined(__CUDACC__) # if defined(BOOST_GCC_CXX11) # define BOOST_NVCC_CXX11 # else # define BOOST_NVCC_CXX03 # endif #endif #if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(BOOST_NVCC_CXX03) # define BOOST_HAS_INT128 #endif #endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) // // last known and checked version: #if (BOOST_INTEL_CXX_VERSION > 1700) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your compiler - please check for an updated Boost release." # elif defined(_MSC_VER) // // We don't emit this warning any more, since we have so few // defect macros set anyway (just the one). // //# pragma message("boost: Unknown compiler version - please run the configure tests and report the results") # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/kai.hpp ================================================ // (C) Copyright John Maddock 2001. // (C) Copyright David Abrahams 2002. // (C) Copyright Aleksey Gurtovoy 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Kai C++ compiler setup: #include # if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) // at least on Sun, the contents of is not in namespace std # define BOOST_NO_STDC_NAMESPACE # endif // see also common_edg.hpp which needs a special check for __KCC # if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS # endif // // last known and checked version is 4001: #if (__KCC_VERSION > 4001) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/metrowerks.hpp ================================================ // (C) Copyright John Maddock 2001. // (C) Copyright Darin Adler 2001. // (C) Copyright Peter Dimov 2001. // (C) Copyright David Abrahams 2001 - 2002. // (C) Copyright Beman Dawes 2001 - 2003. // (C) Copyright Stefan Slapeta 2004. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Metrowerks C++ compiler setup: // locale support is disabled when linking with the dynamic runtime # ifdef _MSL_NO_LOCALE # define BOOST_NO_STD_LOCALE # endif # if __MWERKS__ <= 0x2301 // 5.3 # define BOOST_NO_FUNCTION_TEMPLATE_ORDERING # define BOOST_NO_POINTER_TO_MEMBER_CONST # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD # endif # if __MWERKS__ <= 0x2401 // 6.2 //# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING # endif # if(__MWERKS__ <= 0x2407) // 7.x # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS # define BOOST_NO_UNREACHABLE_RETURN_DETECTION # endif # if(__MWERKS__ <= 0x3003) // 8.x # define BOOST_NO_SFINAE # endif // the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last // tested version *only*: # if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS # define BOOST_NO_IS_ABSTRACT # endif #if !__option(wchar_type) # define BOOST_NO_INTRINSIC_WCHAR_T #endif #if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif #if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) # if __MWERKS__ == 0x3000 # define BOOST_COMPILER_VERSION 8.0 # elif __MWERKS__ == 0x3001 # define BOOST_COMPILER_VERSION 8.1 # elif __MWERKS__ == 0x3002 # define BOOST_COMPILER_VERSION 8.2 # elif __MWERKS__ == 0x3003 # define BOOST_COMPILER_VERSION 8.3 # elif __MWERKS__ == 0x3200 # define BOOST_COMPILER_VERSION 9.0 # elif __MWERKS__ == 0x3201 # define BOOST_COMPILER_VERSION 9.1 # elif __MWERKS__ == 0x3202 # define BOOST_COMPILER_VERSION 9.2 # elif __MWERKS__ == 0x3204 # define BOOST_COMPILER_VERSION 9.3 # elif __MWERKS__ == 0x3205 # define BOOST_COMPILER_VERSION 9.4 # elif __MWERKS__ == 0x3206 # define BOOST_COMPILER_VERSION 9.5 # elif __MWERKS__ == 0x3207 # define BOOST_COMPILER_VERSION 9.6 # else # define BOOST_COMPILER_VERSION __MWERKS__ # endif #else # define BOOST_COMPILER_VERSION __MWERKS__ #endif // // C++0x features // // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG // #if __MWERKS__ > 0x3206 && __option(rvalue_refs) # define BOOST_HAS_RVALUE_REFS #else # define BOOST_NO_CXX11_RVALUE_REFERENCES #endif #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_CXX11_EXTERN_TEMPLATE #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_VARIADIC_MACROS #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) // // versions check: // we don't support Metrowerks prior to version 5.3: #if __MWERKS__ < 0x2301 # error "Compiler not supported or configured - please reconfigure" #endif // // last known and checked version: #if (__MWERKS__ > 0x3205) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/mpw.hpp ================================================ // (C) Copyright John Maddock 2001 - 2002. // (C) Copyright Aleksey Gurtovoy 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // MPW C++ compilers setup: # if defined(__SC__) # define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) # elif defined(__MRC__) # define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) # else # error "Using MPW compiler configuration by mistake. Please update." # endif // // MPW 8.90: // #if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) # define BOOST_NO_CV_SPECIALIZATIONS # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_INTRINSIC_WCHAR_T # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # define BOOST_NO_USING_TEMPLATE # define BOOST_NO_CWCHAR # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ #endif // // C++0x features // // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG // #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_CXX11_EXTERN_TEMPLATE #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_VARIADIC_MACROS #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif // // versions check: // we don't support MPW prior to version 8.9: #if MPW_CPLUS < 0x890 # error "Compiler not supported or configured - please reconfigure" #endif // // last known and checked version is 0x890: #if (MPW_CPLUS > 0x890) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/nvcc.hpp ================================================ // (C) Copyright Eric Jourdanneau, Joel Falcou 2010 // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // NVIDIA CUDA C++ compiler setup #ifndef BOOST_COMPILER # define BOOST_COMPILER "NVIDIA CUDA C++ Compiler" #endif #if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__) # define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__) #else // We don't really know what the CUDA version is, but it's definitely before 7.5: # define BOOST_CUDA_VERSION 7000000 #endif // NVIDIA Specific support // BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device #define BOOST_GPU_ENABLED __host__ __device__ #if !defined(__clang__) || defined(__NVCC__) // A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions // https://svn.boost.org/trac/boost/ticket/11897 // This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance // check is enough to detect versions < 7.5 #if BOOST_CUDA_VERSION < 7050000 # define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif // The same bug is back again in 8.0: #if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000) # define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif // CUDA (8.0) has no constexpr support in msvc mode: #if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000) # define BOOST_NO_CXX11_CONSTEXPR #endif #endif #ifdef __CUDACC__ // // When compiing .cu files, there's a bunch of stuff that doesn't work with msvc: // #if defined(_MSC_VER) # define BOOST_NO_CXX14_DIGIT_SEPARATORS # define BOOST_NO_CXX11_UNICODE_LITERALS #endif // // And this one effects the NVCC front end, // See https://svn.boost.org/trac/boost/ticket/13049 // #if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000) # define BOOST_NO_CXX11_NOEXCEPT #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/pathscale.hpp ================================================ // (C) Copyright Bryce Lelbach 2011 // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // PathScale EKOPath C++ Compiler #ifndef BOOST_COMPILER # define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__ #endif #if __PATHCC__ >= 6 // PathCC is based on clang, and supports the __has_*() builtins used // to detect features in clang.hpp. Since the clang toolset is much // better maintained, it is more convenient to reuse its definitions. # include "boost/config/compiler/clang.hpp" #elif __PATHCC__ >= 4 # define BOOST_MSVC6_MEMBER_TEMPLATES # define BOOST_HAS_UNISTD_H # define BOOST_HAS_STDINT_H # define BOOST_HAS_SIGACTION # define BOOST_HAS_SCHED_YIELD # define BOOST_HAS_THREADS # define BOOST_HAS_PTHREADS # define BOOST_HAS_PTHREAD_YIELD # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # define BOOST_HAS_PARTIAL_STD_ALLOCATOR # define BOOST_HAS_NRVO # define BOOST_HAS_NL_TYPES_H # define BOOST_HAS_NANOSLEEP # define BOOST_HAS_LONG_LONG # define BOOST_HAS_LOG1P # define BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_EXPM1 # define BOOST_HAS_DIRENT_H # define BOOST_HAS_CLOCK_GETTIME # define BOOST_NO_CXX11_VARIADIC_TEMPLATES # define BOOST_NO_CXX11_UNICODE_LITERALS # define BOOST_NO_CXX11_TEMPLATE_ALIASES # define BOOST_NO_CXX11_STATIC_ASSERT # define BOOST_NO_SFINAE_EXPR # define BOOST_NO_CXX11_SFINAE_EXPR # define BOOST_NO_CXX11_SCOPED_ENUMS # define BOOST_NO_CXX11_RVALUE_REFERENCES # define BOOST_NO_CXX11_RANGE_BASED_FOR # define BOOST_NO_CXX11_RAW_LITERALS # define BOOST_NO_CXX11_NULLPTR # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_NOEXCEPT # define BOOST_NO_CXX11_LAMBDAS # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS # define BOOST_NO_MS_INT64_NUMERIC_LIMITS # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_CXX11_DELETED_FUNCTIONS # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS # define BOOST_NO_CXX11_DECLTYPE # define BOOST_NO_CXX11_DECLTYPE_N3276 # define BOOST_NO_CXX11_CONSTEXPR # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # define BOOST_NO_CXX11_CHAR32_T # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_OVERRIDE # define BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/pgi.hpp ================================================ // (C) Copyright Noel Belcourt 2007. // Copyright 2017, NVIDIA CORPORATION. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // PGI C++ compiler setup: #define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ #define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) // PGI is mostly GNU compatible. So start with that. #include // Now adjust for things that are different. // __float128 is a typedef, not a distinct type. #undef BOOST_HAS_FLOAT128 // __int128 is not supported. #undef BOOST_HAS_INT128 ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/sgi_mipspro.hpp ================================================ // (C) Copyright John Maddock 2001 - 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // SGI C++ compiler setup: #define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) #include // // Threading support: // Turn this on unconditionally here, it will get turned off again later // if no threading API is detected. // #define BOOST_HAS_THREADS #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #undef BOOST_NO_SWPRINTF #undef BOOST_DEDUCED_TYPENAME // // version check: // probably nothing to do here? ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/sunpro_cc.hpp ================================================ // (C) Copyright John Maddock 2001. // (C) Copyright Jens Maurer 2001 - 2003. // (C) Copyright Peter Dimov 2002. // (C) Copyright Aleksey Gurtovoy 2002 - 2003. // (C) Copyright David Abrahams 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Sun C++ compiler setup: # if __SUNPRO_CC <= 0x500 # define BOOST_NO_MEMBER_TEMPLATES # define BOOST_NO_FUNCTION_TEMPLATE_ORDERING # endif # if (__SUNPRO_CC <= 0x520) // // Sunpro 5.2 and earler: // // although sunpro 5.2 supports the syntax for // inline initialization it often gets the value // wrong, especially where the value is computed // from other constants (J Maddock 6th May 2001) # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION // Although sunpro 5.2 supports the syntax for // partial specialization, it often seems to // bind to the wrong specialization. Better // to disable it until suppport becomes more stable // (J Maddock 6th May 2001). # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # endif # if (__SUNPRO_CC <= 0x530) // Requesting debug info (-g) with Boost.Python results // in an internal compiler error for "static const" // initialized in-class. // >> Assertion: (../links/dbg_cstabs.cc, line 611) // while processing ../test.cpp at line 0. // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002) # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION // SunPro 5.3 has better support for partial specialization, // but breaks when compiling std::less > // (Jens Maurer 4 Nov 2001). // std::less specialization fixed as reported by George // Heintzelman; partial specialization re-enabled // (Peter Dimov 17 Jan 2002) //# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // integral constant expressions with 64 bit numbers fail # define BOOST_NO_INTEGRAL_INT64_T # endif # if (__SUNPRO_CC < 0x570) # define BOOST_NO_TEMPLATE_TEMPLATES // see http://lists.boost.org/MailArchives/boost/msg47184.php // and http://lists.boost.org/MailArchives/boost/msg47220.php # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_SFINAE # define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS # endif # if (__SUNPRO_CC <= 0x580) # define BOOST_NO_IS_ABSTRACT # endif # if (__SUNPRO_CC <= 0x5100) // Sun 5.10 may not correctly value-initialize objects of // some user defined types, as was reported in April 2010 // (CR 6947016), and confirmed by Steve Clamage. // (Niels Dekker, LKEB, May 2010). # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # endif // // Dynamic shared object (DSO) and dynamic-link library (DLL) support // #if __SUNPRO_CC > 0x500 # define BOOST_SYMBOL_EXPORT __global # define BOOST_SYMBOL_IMPORT __global # define BOOST_SYMBOL_VISIBLE __global #endif #if (__SUNPRO_CC < 0x5130) // C++03 features in 12.4: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_ADL_BARRIER #define BOOST_NO_CXX11_VARIADIC_MACROS #endif #if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100) // C++11 only featuires in 12.4: #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_NO_CXX11_EXTERN_TEMPLATE #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_UNRESTRICTED_UNION #endif #if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103) #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_THREAD_LOCAL #endif #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // // C++0x features // # define BOOST_HAS_LONG_LONG #define BOOST_NO_CXX11_SFINAE_EXPR // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif // Turn on threading support for Solaris 12. // Ticket #11972 #if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS) # define BOOST_HAS_THREADS #endif // // Version // #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) // // versions check: // we don't support sunpro prior to version 4: #if __SUNPRO_CC < 0x400 #error "Compiler not supported or configured - please reconfigure" #endif // // last known and checked version: #if (__SUNPRO_CC > 0x5150) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your compiler - please check for an updated Boost release." # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/vacpp.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Toon Knapen 2001 - 2003. // (C) Copyright Lie-Quan Lee 2001. // (C) Copyright Markus Schoepflin 2002 - 2003. // (C) Copyright Beman Dawes 2002 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Visual Age (IBM) C++ compiler setup: #if __IBMCPP__ <= 501 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS #endif #if (__IBMCPP__ <= 502) // Actually the compiler supports inclass member initialization but it // requires a definition for the class member and it doesn't recognize // it as an integral constant expression when used as a template argument. # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_NO_INTEGRAL_INT64_T # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD #endif #if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS #endif #if (__IBMCPP__ <= 1110) // XL C++ V11.1 and earlier versions may not always value-initialize // a temporary object T(), when T is a non-POD aggregate class type. // Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it // high priority. -- Niels Dekker (LKEB), May 2010. # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION #endif // // On AIX thread support seems to be indicated by _THREAD_SAFE: // #ifdef _THREAD_SAFE # define BOOST_HAS_THREADS #endif #define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) // // versions check: // we don't support Visual age prior to version 5: #if __IBMCPP__ < 500 #error "Compiler not supported or configured - please reconfigure" #endif // // last known and checked version is 1210: #if (__IBMCPP__ > 1210) # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif // Some versions of the compiler have issues with default arguments on partial specializations #if __IBMCPP__ <= 1010 #define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS #endif // Type aliasing hint. Supported since XL C++ 13.1 #if (__IBMCPP__ >= 1310) # define BOOST_MAY_ALIAS __attribute__((__may_alias__)) #endif // // C++0x features // // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG // #if ! __IBMCPP_AUTO_TYPEDEDUCTION # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #endif #if ! __IBMCPP_UTF_LITERAL__ # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T #endif #if ! __IBMCPP_CONSTEXPR # define BOOST_NO_CXX11_CONSTEXPR #endif #if ! __IBMCPP_DECLTYPE # define BOOST_NO_CXX11_DECLTYPE #else # define BOOST_HAS_DECLTYPE #endif #define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #endif #if ! __IBMCPP_EXTERN_TEMPLATE # define BOOST_NO_CXX11_EXTERN_TEMPLATE #endif #if ! __IBMCPP_VARIADIC_TEMPLATES // not enabled separately at this time # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #endif #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #if ! __IBMCPP_RVALUE_REFERENCES # define BOOST_NO_CXX11_RVALUE_REFERENCES #endif #if ! __IBMCPP_SCOPED_ENUM # define BOOST_NO_CXX11_SCOPED_ENUMS #endif #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #if ! __IBMCPP_STATIC_ASSERT # define BOOST_NO_CXX11_STATIC_ASSERT #endif #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS #if ! __IBMCPP_VARIADIC_TEMPLATES # define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif #if ! __C99_MACRO_WITH_VA_ARGS # define BOOST_NO_CXX11_VARIADIC_MACROS #endif #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_UNRESTRICTED_UNION // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // C++17 #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) # define BOOST_NO_CXX17_INLINE_VARIABLES #endif #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/visualc.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Darin Adler 2001 - 2002. // (C) Copyright Peter Dimov 2001. // (C) Copyright Aleksey Gurtovoy 2002. // (C) Copyright David Abrahams 2002 - 2003. // (C) Copyright Beman Dawes 2002 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // // Microsoft Visual C++ compiler setup: // // We need to be careful with the checks in this file, as contrary // to popular belief there are versions with _MSC_VER with the final // digit non-zero (mainly the MIPS cross compiler). // // So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX. // No other comparisons (==, >, or <=) are safe. // #define BOOST_MSVC _MSC_VER // // Helper macro BOOST_MSVC_FULL_VER for use in Boost code: // #if _MSC_FULL_VER > 100000000 # define BOOST_MSVC_FULL_VER _MSC_FULL_VER #else # define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10) #endif // Attempt to suppress VC6 warnings about the length of decorated names (obsolete): #pragma warning( disable : 4503 ) // warning: decorated name length exceeded #define BOOST_HAS_PRAGMA_ONCE // // versions check: // we don't support Visual C++ prior to version 7.1: #if _MSC_VER < 1310 # error "Compiler not supported or configured - please reconfigure" #endif // VS2005 (VC8) docs: __assume has been in Visual C++ for multiple releases #define BOOST_UNREACHABLE_RETURN(x) __assume(0); #if _MSC_FULL_VER < 180020827 # define BOOST_NO_FENV_H #endif #if _MSC_VER < 1400 // although a conforming signature for swprint exists in VC7.1 // it appears not to actually work: # define BOOST_NO_SWPRINTF // Our extern template tests also fail for this compiler: # define BOOST_NO_CXX11_EXTERN_TEMPLATE // Variadic macros do not exist for VC7.1 and lower # define BOOST_NO_CXX11_VARIADIC_MACROS # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #endif #if _MSC_VER < 1500 // 140X == VC++ 8.0 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif #if _MSC_VER < 1600 // 150X == VC++ 9.0 // A bug in VC9: # define BOOST_NO_ADL_BARRIER #endif #ifndef _NATIVE_WCHAR_T_DEFINED # define BOOST_NO_INTRINSIC_WCHAR_T #endif // // check for exception handling support: #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif // // __int64 support: // #define BOOST_HAS_MS_INT64 #if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400) # define BOOST_HAS_LONG_LONG #else # define BOOST_NO_LONG_LONG #endif #if (_MSC_VER >= 1400) && !defined(_DEBUG) # define BOOST_HAS_NRVO #endif #if _MSC_VER >= 1600 // 160X == VC++ 10.0 # define BOOST_HAS_PRAGMA_DETECT_MISMATCH #endif // // disable Win32 API's if compiler extensions are // turned off: // #if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32) # define BOOST_DISABLE_WIN32 #endif #if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI) # define BOOST_NO_RTTI #endif // // TR1 features: // #if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0) // # define BOOST_HAS_TR1_HASH // don't know if this is true yet. // # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet. # define BOOST_HAS_TR1_UNORDERED_MAP # define BOOST_HAS_TR1_UNORDERED_SET #endif // // C++0x features // // See above for BOOST_NO_LONG_LONG // C++ features supported by VC++ 10 (aka 2010) // #if _MSC_VER < 1600 # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS # define BOOST_NO_CXX11_LAMBDAS # define BOOST_NO_CXX11_RVALUE_REFERENCES # define BOOST_NO_CXX11_STATIC_ASSERT # define BOOST_NO_CXX11_NULLPTR # define BOOST_NO_CXX11_DECLTYPE #endif // _MSC_VER < 1600 #if _MSC_VER >= 1600 # define BOOST_HAS_STDINT_H #endif // C++11 features supported by VC++ 11 (aka 2012) // #if _MSC_VER < 1700 # define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_RANGE_BASED_FOR # define BOOST_NO_CXX11_SCOPED_ENUMS # define BOOST_NO_CXX11_OVERRIDE #endif // _MSC_VER < 1700 // C++11 features supported by VC++ 12 (aka 2013). // #if _MSC_FULL_VER < 180020827 # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS # define BOOST_NO_CXX11_DELETED_FUNCTIONS # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS # define BOOST_NO_CXX11_RAW_LITERALS # define BOOST_NO_CXX11_TEMPLATE_ALIASES # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_VARIADIC_TEMPLATES # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX # define BOOST_NO_CXX11_DECLTYPE_N3276 #endif #if _MSC_FULL_VER >= 180020827 #define BOOST_HAS_EXPM1 #define BOOST_HAS_LOG1P #endif // C++11 features supported by VC++ 14 (aka 2015) // #if (_MSC_FULL_VER < 190023026) # define BOOST_NO_CXX11_NOEXCEPT # define BOOST_NO_CXX11_DEFAULTED_MOVES # define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_USER_DEFINED_LITERALS # define BOOST_NO_CXX11_ALIGNAS # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T # define BOOST_NO_CXX11_UNICODE_LITERALS # define BOOST_NO_CXX14_DECLTYPE_AUTO # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION # define BOOST_NO_CXX14_BINARY_LITERALS # define BOOST_NO_CXX14_GENERIC_LAMBDAS # define BOOST_NO_CXX14_DIGIT_SEPARATORS # define BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_UNRESTRICTED_UNION #endif // C++11 features supported by VC++ 14 update 3 (aka 2015) // #if (_MSC_FULL_VER < 190024210) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES # define BOOST_NO_SFINAE_EXPR # define BOOST_NO_CXX11_CONSTEXPR #endif // C++14 features supported by VC++ 14.1 (Visual Studio 2017) // #if (_MSC_VER < 1910) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif // C++17 features supported by VC++ 14.1 (Visual Studio 2017) Update 3 // #if (_MSC_VER < 1911) || (_MSVC_LANG < 201703) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS # define BOOST_NO_CXX17_IF_CONSTEXPR // Let the defaults handle these now: //# define BOOST_NO_CXX17_HDR_OPTIONAL //# define BOOST_NO_CXX17_HDR_STRING_VIEW #endif // MSVC including version 14 has not yet completely // implemented value-initialization, as is reported: // "VC++ does not value-initialize members of derived classes without // user-declared constructor", reported in 2009 by Sylvester Hesp: // https://connect.microsoft.com/VisualStudio/feedback/details/484295 // "Presence of copy constructor breaks member class initialization", // reported in 2009 by Alex Vakulenko: // https://connect.microsoft.com/VisualStudio/feedback/details/499606 // "Value-initialization in new-expression", reported in 2005 by // Pavel Kuznetsov (MetaCommunications Engineering): // https://connect.microsoft.com/VisualStudio/feedback/details/100744 // Reported again by John Maddock in 2015 for VC14: // https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues // (Niels Dekker, LKEB, May 2010) // Still present in VC15.5, Dec 2017. #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // // C++ 11: // // This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell // if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go // on defining it for now: // #if (_MSC_FULL_VER < 193030705) || (_MSVC_LANG < 202004) # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif #if (_MSC_VER < 1912) || (_MSVC_LANG < 201402) // Supported from msvc-15.5 onwards: #define BOOST_NO_CXX11_SFINAE_EXPR #endif #if (_MSC_VER < 1915) || (_MSVC_LANG < 201402) // C++ 14: // Still gives internal compiler error for msvc-15.5: # define BOOST_NO_CXX14_CONSTEXPR #endif // C++ 17: #if (_MSC_VER < 1912) || (_MSVC_LANG < 201703) #define BOOST_NO_CXX17_INLINE_VARIABLES #define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif // // Things that don't work in clr mode: // #ifdef _M_CEE #ifndef BOOST_NO_CXX11_THREAD_LOCAL # define BOOST_NO_CXX11_THREAD_LOCAL #endif #ifndef BOOST_NO_SFINAE_EXPR # define BOOST_NO_SFINAE_EXPR #endif #ifndef BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_REF_QUALIFIERS #endif #endif #ifdef _M_CEE_PURE #ifndef BOOST_NO_CXX11_CONSTEXPR # define BOOST_NO_CXX11_CONSTEXPR #endif #endif // // prefix and suffix headers: // #ifndef BOOST_ABI_PREFIX # define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" #endif #ifndef BOOST_ABI_SUFFIX # define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" #endif // // Approximate compiler conformance version // #ifdef _MSVC_LANG # define BOOST_CXX_VERSION _MSVC_LANG #elif defined(_HAS_CXX17) # define BOOST_CXX_VERSION 201703L #elif BOOST_MSVC >= 1916 # define BOOST_CXX_VERSION 201402L #endif #ifndef BOOST_COMPILER // TODO: // these things are mostly bogus. 1200 means version 12.0 of the compiler. The // artificial versions assigned to them only refer to the versions of some IDE // these compilers have been shipped with, and even that is not all of it. Some // were shipped with freely downloadable SDKs, others as crosscompilers in eVC. // IOW, you can't use these 'versions' in any sensible way. Sorry. # if defined(UNDER_CE) # if _MSC_VER < 1400 // Note: I'm not aware of any CE compiler with version 13xx # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" # else # pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") # endif # elif _MSC_VER < 1500 # define BOOST_COMPILER_VERSION evc8 # elif _MSC_VER < 1600 # define BOOST_COMPILER_VERSION evc9 # elif _MSC_VER < 1700 # define BOOST_COMPILER_VERSION evc10 # elif _MSC_VER < 1800 # define BOOST_COMPILER_VERSION evc11 # elif _MSC_VER < 1900 # define BOOST_COMPILER_VERSION evc12 # elif _MSC_VER < 2000 # define BOOST_COMPILER_VERSION evc14 # else # if defined(BOOST_ASSERT_CONFIG) # error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" # else # pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") # endif # endif # else # if _MSC_VER < 1200 // Note: Versions up to 10.0 aren't supported. # define BOOST_COMPILER_VERSION 5.0 # elif _MSC_VER < 1300 # define BOOST_COMPILER_VERSION 6.0 # elif _MSC_VER < 1310 # define BOOST_COMPILER_VERSION 7.0 # elif _MSC_VER < 1400 # define BOOST_COMPILER_VERSION 7.1 # elif _MSC_VER < 1500 # define BOOST_COMPILER_VERSION 8.0 # elif _MSC_VER < 1600 # define BOOST_COMPILER_VERSION 9.0 # elif _MSC_VER < 1700 # define BOOST_COMPILER_VERSION 10.0 # elif _MSC_VER < 1800 # define BOOST_COMPILER_VERSION 11.0 # elif _MSC_VER < 1900 # define BOOST_COMPILER_VERSION 12.0 # elif _MSC_VER < 1910 # define BOOST_COMPILER_VERSION 14.0 # elif _MSC_VER < 1920 # define BOOST_COMPILER_VERSION 14.1 # elif _MSC_VER < 1930 # define BOOST_COMPILER_VERSION 14.2 # else # define BOOST_COMPILER_VERSION _MSC_VER # endif # endif # define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) #endif #include // // last known and checked version is 19.20.27508 (VC++ 2019 RC3): #if (_MSC_VER > 1920) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your current compiler version." # elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE) // // Disabled as of March 2018 - the pace of VS releases is hard to keep up with // and in any case, we have relatively few defect macros defined now. // BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.") # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/xlcpp.hpp ================================================ // (C) Copyright Douglas Gregor 2010 // // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang. #define BOOST_HAS_PRAGMA_ONCE // Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. #if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) # define BOOST_HAS_PRAGMA_DETECT_MISMATCH #endif // When compiling with clang before __has_extension was defined, // even if one writes 'defined(__has_extension) && __has_extension(xxx)', // clang reports a compiler error. So the only workaround found is: #ifndef __has_extension #define __has_extension __has_feature #endif #ifndef __has_cpp_attribute #define __has_cpp_attribute(x) 0 #endif #if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif #if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) # define BOOST_NO_RTTI #endif #if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) # define BOOST_NO_TYPEID #endif #if defined(__int64) && !defined(__GNUC__) # define BOOST_HAS_MS_INT64 #endif #define BOOST_HAS_NRVO // Branch prediction hints #if defined(__has_builtin) #if __has_builtin(__builtin_expect) #define BOOST_LIKELY(x) __builtin_expect(x, 1) #define BOOST_UNLIKELY(x) __builtin_expect(x, 0) #endif #endif // Clang supports "long long" in all compilation modes. #define BOOST_HAS_LONG_LONG // // Dynamic shared object (DSO) and dynamic-link library (DLL) support // #if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) # define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) # define BOOST_SYMBOL_IMPORT # define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) #endif // // The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through // between switch labels. // #if __cplusplus >= 201103L && defined(__has_warning) # if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") # define BOOST_FALLTHROUGH [[clang::fallthrough]] # endif #endif #if !__has_feature(cxx_auto_type) # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #endif // // Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t // #if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) # define BOOST_NO_CXX11_CHAR16_T # define BOOST_NO_CXX11_CHAR32_T #endif #if !__has_feature(cxx_constexpr) # define BOOST_NO_CXX11_CONSTEXPR #endif #if !__has_feature(cxx_decltype) # define BOOST_NO_CXX11_DECLTYPE #endif #if !__has_feature(cxx_decltype_incomplete_return_types) # define BOOST_NO_CXX11_DECLTYPE_N3276 #endif #if !__has_feature(cxx_defaulted_functions) # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #endif #if !__has_feature(cxx_deleted_functions) # define BOOST_NO_CXX11_DELETED_FUNCTIONS #endif #if !__has_feature(cxx_explicit_conversions) # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #endif #if !__has_feature(cxx_default_function_template_args) # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #endif #if !__has_feature(cxx_generalized_initializers) # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #endif #if !__has_feature(cxx_lambdas) # define BOOST_NO_CXX11_LAMBDAS #endif #if !__has_feature(cxx_local_type_template_args) # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #endif #if !__has_feature(cxx_noexcept) # define BOOST_NO_CXX11_NOEXCEPT #endif #if !__has_feature(cxx_nullptr) # define BOOST_NO_CXX11_NULLPTR #endif #if !__has_feature(cxx_range_for) # define BOOST_NO_CXX11_RANGE_BASED_FOR #endif #if !__has_feature(cxx_raw_string_literals) # define BOOST_NO_CXX11_RAW_LITERALS #endif #if !__has_feature(cxx_reference_qualified_functions) # define BOOST_NO_CXX11_REF_QUALIFIERS #endif #if !__has_feature(cxx_generalized_initializers) # define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #endif #if !__has_feature(cxx_rvalue_references) # define BOOST_NO_CXX11_RVALUE_REFERENCES #endif #if !__has_feature(cxx_strong_enums) # define BOOST_NO_CXX11_SCOPED_ENUMS #endif #if !__has_feature(cxx_static_assert) # define BOOST_NO_CXX11_STATIC_ASSERT #endif #if !__has_feature(cxx_alias_templates) # define BOOST_NO_CXX11_TEMPLATE_ALIASES #endif #if !__has_feature(cxx_unicode_literals) # define BOOST_NO_CXX11_UNICODE_LITERALS #endif #if !__has_feature(cxx_variadic_templates) # define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif #if !__has_feature(cxx_user_literals) # define BOOST_NO_CXX11_USER_DEFINED_LITERALS #endif #if !__has_feature(cxx_alignas) # define BOOST_NO_CXX11_ALIGNAS #endif #if !__has_feature(cxx_trailing_return) # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #endif #if !__has_feature(cxx_inline_namespaces) # define BOOST_NO_CXX11_INLINE_NAMESPACES #endif #if !__has_feature(cxx_override_control) # define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_OVERRIDE #endif #if !__has_feature(cxx_unrestricted_unions) # define BOOST_NO_CXX11_UNRESTRICTED_UNION #endif #if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) # define BOOST_NO_CXX14_BINARY_LITERALS #endif #if !__has_feature(__cxx_decltype_auto__) # define BOOST_NO_CXX14_DECLTYPE_AUTO #endif #if !__has_feature(__cxx_aggregate_nsdmi__) # define BOOST_NO_CXX14_AGGREGATE_NSDMI #endif #if !__has_feature(__cxx_init_captures__) # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #endif #if !__has_feature(__cxx_generic_lambdas__) # define BOOST_NO_CXX14_GENERIC_LAMBDAS #endif // clang < 3.5 has a defect with dependent type, like following. // // template // constexpr typename enable_if >::type foo(T &) // { } // error: no return statement in constexpr function // // This issue also affects C++11 mode, but C++11 constexpr requires return stmt. // Therefore we don't care such case. // // Note that we can't check Clang version directly as the numbering system changes depending who's // creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) // so instead verify that we have a feature that was introduced at the same time as working C++14 // constexpr (generic lambda's in this case): // #if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) # define BOOST_NO_CXX14_CONSTEXPR #endif #if !__has_feature(__cxx_return_type_deduction__) # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #endif #if !__has_feature(__cxx_variable_templates__) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS #endif #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) # define BOOST_NO_CXX17_IF_CONSTEXPR #endif // Clang 3.9+ in c++1z #if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L # define BOOST_NO_CXX17_INLINE_VARIABLES # define BOOST_NO_CXX17_FOLD_EXPRESSIONS #endif #if !__has_feature(cxx_thread_local) # define BOOST_NO_CXX11_THREAD_LOCAL #endif #if __cplusplus < 201400 // All versions with __cplusplus above this value seem to support this: # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif // Unused attribute: #if defined(__GNUC__) && (__GNUC__ >= 4) # define BOOST_ATTRIBUTE_UNUSED __attribute__((unused)) #endif // Type aliasing hint. #if __has_attribute(__may_alias__) # define BOOST_MAY_ALIAS __attribute__((__may_alias__)) #endif #ifndef BOOST_COMPILER # define BOOST_COMPILER "Clang version " __clang_version__ #endif // Macro used to identify the Clang compiler. #define BOOST_CLANG 1 #define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/compiler/xlcpp_zos.hpp ================================================ // Copyright (c) 2017 Dynatrace // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // See http://www.boost.org for most recent version. // Compiler setup for IBM z/OS XL C/C++ compiler. // Oldest compiler version currently supported is 2.1 (V2R1) #if !defined(__IBMCPP__) || !defined(__COMPILER_VER__) || __COMPILER_VER__ < 0x42010000 # error "Compiler not supported or configured - please reconfigure" #endif #if __COMPILER_VER__ > 0x42010000 # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # endif #endif #define BOOST_COMPILER "IBM z/OS XL C/C++ version " BOOST_STRINGIZE(__COMPILER_VER__) #define BOOST_XLCPP_ZOS __COMPILER_VER__ // ------------------------------------- #include // For __UU, __C99, __TR1, ... #if !defined(__IBMCPP_DEFAULTED_AND_DELETED_FUNCTIONS) # define BOOST_NO_CXX11_DELETED_FUNCTIONS # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS #endif // ------------------------------------- #if defined(__UU) || defined(__C99) || defined(__TR1) # define BOOST_HAS_LOG1P # define BOOST_HAS_EXPM1 #endif #if defined(__C99) || defined(__TR1) # define BOOST_HAS_STDINT_H #else # define BOOST_NO_FENV_H #endif // ------------------------------------- #define BOOST_HAS_NRVO #if !defined(__RTTI_ALL__) # define BOOST_NO_RTTI #endif #if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) # define BOOST_NO_EXCEPTIONS #endif #if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) # define BOOST_HAS_LONG_LONG #else # define BOOST_NO_LONG_LONG #endif #if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) || defined(_LP64) # define BOOST_HAS_MS_INT64 #endif #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR #if defined(__IBMCPP_VARIADIC_TEMPLATES) # define BOOST_HAS_VARIADIC_TMPL #else # define BOOST_NO_CXX11_VARIADIC_TEMPLATES # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS #endif #if defined(__IBMCPP_STATIC_ASSERT) # define BOOST_HAS_STATIC_ASSERT #else # define BOOST_NO_CXX11_STATIC_ASSERT #endif #if defined(__IBMCPP_RVALUE_REFERENCES) # define BOOST_HAS_RVALUE_REFS #else # define BOOST_NO_CXX11_RVALUE_REFERENCES #endif #if !defined(__IBMCPP_SCOPED_ENUM) # define BOOST_NO_CXX11_SCOPED_ENUMS #endif #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #if !defined(__IBMCPP_EXPLICIT_CONVERSION_OPERATORS) # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #endif #if !defined(__IBMCPP_DECLTYPE) # define BOOST_NO_CXX11_DECLTYPE #else # define BOOST_HAS_DECLTYPE #endif #define BOOST_NO_CXX11_DECLTYPE_N3276 #if !defined(__IBMCPP_INLINE_NAMESPACE) # define BOOST_NO_CXX11_INLINE_NAMESPACES #endif #if !defined(__IBMCPP_AUTO_TYPEDEDUCTION) # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #endif #if !defined(__IBM_CHAR32_T__) # define BOOST_NO_CXX11_CHAR32_T #endif #if !defined(__IBM_CHAR16_T__) # define BOOST_NO_CXX11_CHAR16_T #endif #if !defined(__IBMCPP_CONSTEXPR) # define BOOST_NO_CXX11_CONSTEXPR #endif #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RANGE_BASED_FOR #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_THREAD_LOCAL #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL #define BOOST_NO_CXX11_OVERRIDE #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_UNRESTRICTED_UNION #define BOOST_NO_CXX14_VARIABLE_TEMPLATES #define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION #define BOOST_NO_CXX14_AGGREGATE_NSDMI #define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES #define BOOST_NO_CXX14_GENERIC_LAMBDAS #define BOOST_NO_CXX14_DIGIT_SEPARATORS #define BOOST_NO_CXX14_DECLTYPE_AUTO #define BOOST_NO_CXX14_CONSTEXPR #define BOOST_NO_CXX14_BINARY_LITERALS #define BOOST_NO_CXX17_STRUCTURED_BINDINGS #define BOOST_NO_CXX17_INLINE_VARIABLES #define BOOST_NO_CXX17_FOLD_EXPRESSIONS #define BOOST_NO_CXX17_IF_CONSTEXPR // ------------------------------------- #if defined(__IBM_ATTRIBUTES) # define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) # define BOOST_NOINLINE __attribute__ ((__noinline__)) # define BOOST_MAY_ALIAS __attribute__((__may_alias__)) // No BOOST_ALIGNMENT - explicit alignment support is broken (V2R1). #endif extern "builtin" long __builtin_expect(long, long); #define BOOST_LIKELY(x) __builtin_expect((x) && true, 1) #define BOOST_UNLIKELY(x) __builtin_expect((x) && true, 0) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/detail/cxx_composite.hpp ================================================ // This file was automatically generated on Tue Aug 17 16:27:31 2021 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-21. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for the most recent version.// // Revision $Id$ // #if defined(BOOST_NO_ADL_BARRIER)\ || defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\ || defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\ || defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\ || defined(BOOST_NO_CTYPE_FUNCTIONS)\ || defined(BOOST_NO_CV_SPECIALIZATIONS)\ || defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\ || defined(BOOST_NO_CWCHAR)\ || defined(BOOST_NO_CWCTYPE)\ || defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)\ || defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)\ || defined(BOOST_NO_EXCEPTIONS)\ || defined(BOOST_NO_EXCEPTION_STD_NAMESPACE)\ || defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)\ || defined(BOOST_NO_FENV_H)\ || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\ || defined(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS)\ || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\ || defined(BOOST_NO_INTEGRAL_INT64_T)\ || defined(BOOST_NO_INTRINSIC_WCHAR_T)\ || defined(BOOST_NO_IOSFWD)\ || defined(BOOST_NO_IOSTREAM)\ || defined(BOOST_NO_IS_ABSTRACT)\ || defined(BOOST_NO_LIMITS)\ || defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\ || defined(BOOST_NO_LONG_LONG)\ || defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\ || defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS)\ || defined(BOOST_NO_MEMBER_TEMPLATES)\ || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\ || defined(BOOST_NO_MEMBER_TEMPLATE_KEYWORD)\ || defined(BOOST_NO_NESTED_FRIENDSHIP)\ || defined(BOOST_NO_OPERATORS_IN_NAMESPACE)\ || defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\ || defined(BOOST_NO_POINTER_TO_MEMBER_CONST)\ || defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)\ || defined(BOOST_NO_PRIVATE_IN_AGGREGATE)\ || defined(BOOST_NO_RESTRICT_REFERENCES)\ || defined(BOOST_NO_RTTI)\ || defined(BOOST_NO_SFINAE)\ || defined(BOOST_NO_SFINAE_EXPR)\ || defined(BOOST_NO_STDC_NAMESPACE)\ || defined(BOOST_NO_STD_ALLOCATOR)\ || defined(BOOST_NO_STD_DISTANCE)\ || defined(BOOST_NO_STD_ITERATOR)\ || defined(BOOST_NO_STD_ITERATOR_TRAITS)\ || defined(BOOST_NO_STD_LOCALE)\ || defined(BOOST_NO_STD_MESSAGES)\ || defined(BOOST_NO_STD_MIN_MAX)\ || defined(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN)\ || defined(BOOST_NO_STD_TYPEINFO)\ || defined(BOOST_NO_STD_USE_FACET)\ || defined(BOOST_NO_STD_WSTREAMBUF)\ || defined(BOOST_NO_STD_WSTRING)\ || defined(BOOST_NO_STRINGSTREAM)\ || defined(BOOST_NO_TEMPLATED_IOSTREAMS)\ || defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\ || defined(BOOST_NO_TEMPLATE_TEMPLATES)\ || defined(BOOST_NO_TWO_PHASE_NAME_LOOKUP)\ || defined(BOOST_NO_TYPEID)\ || defined(BOOST_NO_TYPENAME_WITH_CTOR)\ || defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)\ || defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)\ || defined(BOOST_NO_USING_TEMPLATE)\ || defined(BOOST_NO_VOID_RETURNS) # define BOOST_NO_CXX03 #endif #if defined(BOOST_NO_CXX03)\ || defined(BOOST_NO_CXX11_ADDRESSOF)\ || defined(BOOST_NO_CXX11_ALIGNAS)\ || defined(BOOST_NO_CXX11_ALLOCATOR)\ || defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\ || defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\ || defined(BOOST_NO_CXX11_CHAR16_T)\ || defined(BOOST_NO_CXX11_CHAR32_T)\ || defined(BOOST_NO_CXX11_CONSTEXPR)\ || defined(BOOST_NO_CXX11_DECLTYPE)\ || defined(BOOST_NO_CXX11_DECLTYPE_N3276)\ || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\ || defined(BOOST_NO_CXX11_DEFAULTED_MOVES)\ || defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\ || defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)\ || defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)\ || defined(BOOST_NO_CXX11_FINAL)\ || defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\ || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\ || defined(BOOST_NO_CXX11_HDR_ARRAY)\ || defined(BOOST_NO_CXX11_HDR_ATOMIC)\ || defined(BOOST_NO_CXX11_HDR_CHRONO)\ || defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE)\ || defined(BOOST_NO_CXX11_HDR_EXCEPTION)\ || defined(BOOST_NO_CXX11_HDR_FORWARD_LIST)\ || defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\ || defined(BOOST_NO_CXX11_HDR_FUTURE)\ || defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)\ || defined(BOOST_NO_CXX11_HDR_MUTEX)\ || defined(BOOST_NO_CXX11_HDR_RANDOM)\ || defined(BOOST_NO_CXX11_HDR_RATIO)\ || defined(BOOST_NO_CXX11_HDR_REGEX)\ || defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)\ || defined(BOOST_NO_CXX11_HDR_THREAD)\ || defined(BOOST_NO_CXX11_HDR_TUPLE)\ || defined(BOOST_NO_CXX11_HDR_TYPEINDEX)\ || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\ || defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP)\ || defined(BOOST_NO_CXX11_HDR_UNORDERED_SET)\ || defined(BOOST_NO_CXX11_INLINE_NAMESPACES)\ || defined(BOOST_NO_CXX11_LAMBDAS)\ || defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS)\ || defined(BOOST_NO_CXX11_NOEXCEPT)\ || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)\ || defined(BOOST_NO_CXX11_NULLPTR)\ || defined(BOOST_NO_CXX11_NUMERIC_LIMITS)\ || defined(BOOST_NO_CXX11_OVERRIDE)\ || defined(BOOST_NO_CXX11_POINTER_TRAITS)\ || defined(BOOST_NO_CXX11_RANGE_BASED_FOR)\ || defined(BOOST_NO_CXX11_RAW_LITERALS)\ || defined(BOOST_NO_CXX11_REF_QUALIFIERS)\ || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)\ || defined(BOOST_NO_CXX11_SCOPED_ENUMS)\ || defined(BOOST_NO_CXX11_SFINAE_EXPR)\ || defined(BOOST_NO_CXX11_SMART_PTR)\ || defined(BOOST_NO_CXX11_STATIC_ASSERT)\ || defined(BOOST_NO_CXX11_STD_ALIGN)\ || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)\ || defined(BOOST_NO_CXX11_THREAD_LOCAL)\ || defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)\ || defined(BOOST_NO_CXX11_UNICODE_LITERALS)\ || defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)\ || defined(BOOST_NO_CXX11_UNRESTRICTED_UNION)\ || defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS)\ || defined(BOOST_NO_CXX11_VARIADIC_MACROS)\ || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) # define BOOST_NO_CXX11 #endif #if defined(BOOST_NO_CXX11)\ || defined(BOOST_NO_CXX14_AGGREGATE_NSDMI)\ || defined(BOOST_NO_CXX14_BINARY_LITERALS)\ || defined(BOOST_NO_CXX14_CONSTEXPR)\ || defined(BOOST_NO_CXX14_DECLTYPE_AUTO)\ || defined(BOOST_NO_CXX14_DIGIT_SEPARATORS)\ || defined(BOOST_NO_CXX14_GENERIC_LAMBDAS)\ || defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX)\ || defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)\ || defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION)\ || defined(BOOST_NO_CXX14_STD_EXCHANGE)\ || defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) # define BOOST_NO_CXX14 #endif #if defined(BOOST_NO_CXX14)\ || defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\ || defined(BOOST_NO_CXX17_HDR_ANY)\ || defined(BOOST_NO_CXX17_HDR_CHARCONV)\ || defined(BOOST_NO_CXX17_HDR_EXECUTION)\ || defined(BOOST_NO_CXX17_HDR_FILESYSTEM)\ || defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)\ || defined(BOOST_NO_CXX17_HDR_OPTIONAL)\ || defined(BOOST_NO_CXX17_HDR_STRING_VIEW)\ || defined(BOOST_NO_CXX17_HDR_VARIANT)\ || defined(BOOST_NO_CXX17_IF_CONSTEXPR)\ || defined(BOOST_NO_CXX17_INLINE_VARIABLES)\ || defined(BOOST_NO_CXX17_ITERATOR_TRAITS)\ || defined(BOOST_NO_CXX17_STD_APPLY)\ || defined(BOOST_NO_CXX17_STD_INVOKE)\ || defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) # define BOOST_NO_CXX17 #endif #if defined(BOOST_NO_CXX17)\ || defined(BOOST_NO_CXX20_HDR_BARRIER)\ || defined(BOOST_NO_CXX20_HDR_BIT)\ || defined(BOOST_NO_CXX20_HDR_COMPARE)\ || defined(BOOST_NO_CXX20_HDR_CONCEPTS)\ || defined(BOOST_NO_CXX20_HDR_COROUTINE)\ || defined(BOOST_NO_CXX20_HDR_FORMAT)\ || defined(BOOST_NO_CXX20_HDR_LATCH)\ || defined(BOOST_NO_CXX20_HDR_NUMBERS)\ || defined(BOOST_NO_CXX20_HDR_RANGES)\ || defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\ || defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\ || defined(BOOST_NO_CXX20_HDR_SPAN)\ || defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\ || defined(BOOST_NO_CXX20_HDR_SYNCSTREAM) # define BOOST_NO_CXX20 #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/detail/posix_features.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // All POSIX feature tests go in this file, // Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well // _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's // may be present but none-functional unless _POSIX_C_SOURCE and // _XOPEN_SOURCE have been defined to the right value (it's up // to the user to do this *before* including any header, although // in most cases the compiler will do this for you). # if defined(BOOST_HAS_UNISTD_H) # include // XOpen has , but is this the correct version check? # if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) # define BOOST_HAS_NL_TYPES_H # endif // POSIX version 6 requires # if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) # define BOOST_HAS_STDINT_H # endif // POSIX version 2 requires # if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) # define BOOST_HAS_DIRENT_H # endif // POSIX version 3 requires to have sigaction: # if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) # define BOOST_HAS_SIGACTION # endif // POSIX defines _POSIX_THREADS > 0 for pthread support, // however some platforms define _POSIX_THREADS without // a value, hence the (_POSIX_THREADS+0 >= 0) check. // Strictly speaking this may catch platforms with a // non-functioning stub , but such occurrences should // occur very rarely if at all. # if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) # define BOOST_HAS_PTHREADS # endif // BOOST_HAS_NANOSLEEP: // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: # if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) # define BOOST_HAS_NANOSLEEP # endif // BOOST_HAS_CLOCK_GETTIME: // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME // but at least one platform - linux - defines that flag without // defining clock_gettime): # if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) # define BOOST_HAS_CLOCK_GETTIME # endif // BOOST_HAS_SCHED_YIELD: // This is predicated on _POSIX_PRIORITY_SCHEDULING or // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. # if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) # define BOOST_HAS_SCHED_YIELD # endif // BOOST_HAS_GETTIMEOFDAY: // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: // These are predicated on _XOPEN_VERSION, and appears to be first released // in issue 4, version 2 (_XOPEN_VERSION > 500). // Likewise for the functions log1p and expm1. # if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) # define BOOST_HAS_GETTIMEOFDAY # if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # endif # ifndef BOOST_HAS_LOG1P # define BOOST_HAS_LOG1P # endif # ifndef BOOST_HAS_EXPM1 # define BOOST_HAS_EXPM1 # endif # endif # endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/detail/select_compiler_config.hpp ================================================ // Boost compiler configuration selection header file // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Martin Wille 2003. // (C) Copyright Guillaume Melquiond 2003. // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/ for most recent version. // locate which compiler we are using and define // BOOST_COMPILER_CONFIG as needed: #if defined __CUDACC__ // NVIDIA CUDA C++ compiler for GPU # include "boost/config/compiler/nvcc.hpp" #endif #if defined(__GCCXML__) // GCC-XML emulates other compilers, it has to appear first here! # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" #elif defined(_CRAYC) // EDG based Cray compiler: # define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp" #elif defined __COMO__ // Comeau C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" #elif defined(__PATHSCALE__) && (__PATHCC__ >= 4) // PathScale EKOPath compiler (has to come before clang and gcc) # define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp" #elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) // Intel # define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" #elif defined __clang__ && !defined(__ibmxl__) && !defined(__CODEGEARC__) // Clang C++ emulates GCC, so it has to appear early. # define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" #elif defined __DMC__ // Digital Mars C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" #elif defined __DCC__ // Wind River Diab C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/diab.hpp" #elif defined(__PGI) // Portland Group Inc. # define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp" # elif defined(__GNUC__) && !defined(__ibmxl__) // GNU C++: # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" #elif defined __KCC // Kai C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" #elif defined __sgi // SGI MIPSpro C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" #elif defined __DECCXX // Compaq Tru64 Unix cxx # define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" #elif defined __ghs // Greenhills C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" #elif defined __CODEGEARC__ // CodeGear - must be checked for before Borland # define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp" #elif defined __BORLANDC__ // Borland # define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" #elif defined __MWERKS__ // Metrowerks CodeWarrior # define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" #elif defined __SUNPRO_CC // Sun Workshop Compiler C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" #elif defined __HP_aCC // HP aCC # define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" #elif defined(__MRC__) || defined(__SC__) // MPW MrCpp or SCpp # define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" #elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) // IBM z/OS XL C/C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp_zos.hpp" #elif defined(__ibmxl__) // IBM XL C/C++ for Linux (Little Endian) # define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp" #elif defined(__IBMCPP__) // IBM Visual Age or IBM XL C/C++ for Linux (Big Endian) # define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" #elif defined _MSC_VER // Microsoft Visual C++ // // Must remain the last #elif since some other vendors (Metrowerks, for // example) also #define _MSC_VER # define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" #elif defined (BOOST_ASSERT_CONFIG) // this must come last - generate an error if we don't // recognise the compiler: # error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" #endif #if 0 // // This section allows dependency scanners to find all the headers we *might* include: // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/detail/select_platform_config.hpp ================================================ // Boost compiler configuration selection header file // (C) Copyright John Maddock 2001 - 2002. // (C) Copyright Jens Maurer 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. // Note that we define the headers to include using "header_name" not // in order to prevent macro expansion within the header // name (for example "linux" is a macro on linux systems). #if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) // BSD: # define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" #elif defined(sun) || defined(__sun) // solaris: # define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" #elif defined(__sgi) // SGI Irix: # define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" #elif defined(__hpux) // hp unix: # define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" #elif defined(__CYGWIN__) // cygwin is not win32: # define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) // win32: # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" #elif defined(__HAIKU__) // Haiku # define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" #elif defined(__BEOS__) // BeOS # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) // MacOS # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" #elif defined(__TOS_MVS__) // IBM z/OS # define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp" #elif defined(__IBMCPP__) || defined(_AIX) // IBM AIX # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" #elif defined(__amigaos__) // AmigaOS # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" #elif defined(__QNXNTO__) // QNX: # define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" #elif defined(__VXWORKS__) // vxWorks: # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" #elif defined(__SYMBIAN32__) // Symbian: # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" #elif defined(_CRAYC) // Cray: # define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" #elif defined(__VMS) // VMS: # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" #elif defined(__CloudABI__) // Nuxi CloudABI: # define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp" #elif defined (__wasm__) // Web assembly: # define BOOST_PLATFORM_CONFIG "boost/config/platform/wasm.hpp" #else # if defined(unix) \ || defined(__unix) \ || defined(_XOPEN_SOURCE) \ || defined(_POSIX_SOURCE) // generic unix platform: # ifndef BOOST_HAS_UNISTD_H # define BOOST_HAS_UNISTD_H # endif # include # endif # if defined (BOOST_ASSERT_CONFIG) // this must come last - generate an error if we don't // recognise the platform: # error "Unknown platform - please configure and report the results to boost.org" # endif #endif #if 0 // // This section allows dependency scanners to find all the files we *might* include: // # include "boost/config/platform/linux.hpp" # include "boost/config/platform/bsd.hpp" # include "boost/config/platform/solaris.hpp" # include "boost/config/platform/irix.hpp" # include "boost/config/platform/hpux.hpp" # include "boost/config/platform/cygwin.hpp" # include "boost/config/platform/win32.hpp" # include "boost/config/platform/beos.hpp" # include "boost/config/platform/macos.hpp" # include "boost/config/platform/zos.hpp" # include "boost/config/platform/aix.hpp" # include "boost/config/platform/amigaos.hpp" # include "boost/config/platform/qnxnto.hpp" # include "boost/config/platform/vxworks.hpp" # include "boost/config/platform/symbian.hpp" # include "boost/config/platform/cray.hpp" # include "boost/config/platform/vms.hpp" # include #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/detail/select_stdlib_config.hpp ================================================ // Boost compiler configuration selection header file // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001 - 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: // First, check if __has_include is available and include can be located, // otherwise include to determine if some version of STLport is in use as the std lib // (do not rely on this header being included since users can short-circuit this header // if they know whose std lib they are using.) #if defined(__cplusplus) && defined(__has_include) # if __has_include() // It should be safe to include `` when it is present without checking // the actual C++ language version as it consists solely of macro definitions. // [version.syn] p1: The header supplies implementation-dependent // information about the C++ standard library (e.g., version number and release date). # include # else # include # endif #elif defined(__cplusplus) # include #else # include #endif #if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) // STLPort library; this _must_ come first, otherwise since // STLport typically sits on top of some other library, we // can end up detecting that first rather than STLport: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" #else // If our std lib was not some version of STLport, and has not otherwise // been detected, then include as it is about // the smallest of the std lib headers that includes real C++ stuff. // Some std libs do not include their C++-related macros in // so this additional include makes sure we get those definitions. // Note: do not rely on this header being included since users can short-circuit this // #include if they know whose std lib they are using. #if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\ && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\ && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\ && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER) #include #endif #if defined(__LIBCOMO__) // Comeau STL: #define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" #elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) // Rogue Wave library: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" #elif defined(_LIBCPP_VERSION) // libc++ # define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp" #elif defined(__GLIBCPP__) || defined(__GLIBCXX__) // GNU libstdc++ 3 # define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" #elif defined(__STL_CONFIG_H) // generic SGI STL # define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" #elif defined(__MSL_CPP__) // MSL standard lib: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" #elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) // IBM z/OS XL C/C++ # define BOOST_STDLIB_CONFIG "boost/config/stdlib/xlcpp_zos.hpp" #elif defined(__IBMCPP__) // take the default VACPP std lib # define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" #elif defined(MSIPL_COMPILE_H) // Modena C++ standard library # define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" #elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) // Dinkumware Library (this has to appear after any possible replacement libraries): # define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" #elif defined (BOOST_ASSERT_CONFIG) // this must come last - generate an error if we don't // recognise the library: # error "Unknown standard library - please configure and report the results to boost.org" #endif #endif #if 0 // // This section allows dependency scanners to find all the files we *might* include: // # include "boost/config/stdlib/stlport.hpp" # include "boost/config/stdlib/libcomo.hpp" # include "boost/config/stdlib/roguewave.hpp" # include "boost/config/stdlib/libcpp.hpp" # include "boost/config/stdlib/libstdcpp3.hpp" # include "boost/config/stdlib/sgi.hpp" # include "boost/config/stdlib/msl.hpp" # include "boost/config/stdlib/xlcpp_zos.hpp" # include "boost/config/stdlib/vacpp.hpp" # include "boost/config/stdlib/modena.hpp" # include "boost/config/stdlib/dinkumware.hpp" #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/detail/suffix.hpp ================================================ // Boost config.hpp configuration header file ------------------------------// // boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file // Copyright (c) 2001-2003 John Maddock // Copyright (c) 2001 Darin Adler // Copyright (c) 2001 Peter Dimov // Copyright (c) 2002 Bill Kempf // Copyright (c) 2002 Jens Maurer // Copyright (c) 2002-2003 David Abrahams // Copyright (c) 2003 Gennaro Prota // Copyright (c) 2003 Eric Friedman // Copyright (c) 2010 Eric Jourdanneau, Joel Falcou // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/ for most recent version. // Boost config.hpp policy and rationale documentation has been moved to // http://www.boost.org/libs/config/ // // This file is intended to be stable, and relatively unchanging. // It should contain boilerplate code only - no compiler specific // code unless it is unavoidable - no changes unless unavoidable. #ifndef BOOST_CONFIG_SUFFIX_HPP #define BOOST_CONFIG_SUFFIX_HPP #if defined(__GNUC__) && (__GNUC__ >= 4) // // Some GCC-4.x versions issue warnings even when __extension__ is used, // so use this as a workaround: // #pragma GCC system_header #endif // // ensure that visibility macros are always defined, thus simplifying use // #ifndef BOOST_SYMBOL_EXPORT # define BOOST_SYMBOL_EXPORT #endif #ifndef BOOST_SYMBOL_IMPORT # define BOOST_SYMBOL_IMPORT #endif #ifndef BOOST_SYMBOL_VISIBLE # define BOOST_SYMBOL_VISIBLE #endif // // look for long long by looking for the appropriate macros in . // Note that we use limits.h rather than climits for maximal portability, // remember that since these just declare a bunch of macros, there should be // no namespace issues from this. // #if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \ && !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) # include # if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) # define BOOST_HAS_LONG_LONG # else # define BOOST_NO_LONG_LONG # endif #endif // GCC 3.x will clean up all of those nasty macro definitions that // BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine // it under GCC 3.x. #if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) # undef BOOST_NO_CTYPE_FUNCTIONS #endif // // Assume any extensions are in namespace std:: unless stated otherwise: // # ifndef BOOST_STD_EXTENSION_NAMESPACE # define BOOST_STD_EXTENSION_NAMESPACE std # endif // // If cv-qualified specializations are not allowed, then neither are cv-void ones: // # if defined(BOOST_NO_CV_SPECIALIZATIONS) \ && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) # define BOOST_NO_CV_VOID_SPECIALIZATIONS # endif // // If there is no numeric_limits template, then it can't have any compile time // constants either! // # if defined(BOOST_NO_LIMITS) \ && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # define BOOST_NO_MS_INT64_NUMERIC_LIMITS # define BOOST_NO_LONG_LONG_NUMERIC_LIMITS # endif // // if there is no long long then there is no specialisation // for numeric_limits either: // #if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) # define BOOST_NO_LONG_LONG_NUMERIC_LIMITS #endif // // if there is no __int64 then there is no specialisation // for numeric_limits<__int64> either: // #if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) # define BOOST_NO_MS_INT64_NUMERIC_LIMITS #endif // // if member templates are supported then so is the // VC6 subset of member templates: // # if !defined(BOOST_NO_MEMBER_TEMPLATES) \ && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) # define BOOST_MSVC6_MEMBER_TEMPLATES # endif // // Without partial specialization, can't test for partial specialisation bugs: // # if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) # define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG # endif // // Without partial specialization, we can't have array-type partial specialisations: // # if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) # define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS # endif // // Without partial specialization, std::iterator_traits can't work: // # if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_NO_STD_ITERATOR_TRAITS) # define BOOST_NO_STD_ITERATOR_TRAITS # endif // // Without partial specialization, partial // specialization with default args won't work either: // # if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) # define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS # endif // // Without member template support, we can't have template constructors // in the standard library either: // # if defined(BOOST_NO_MEMBER_TEMPLATES) \ && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS # endif // // Without member template support, we can't have a conforming // std::allocator template either: // # if defined(BOOST_NO_MEMBER_TEMPLATES) \ && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ && !defined(BOOST_NO_STD_ALLOCATOR) # define BOOST_NO_STD_ALLOCATOR # endif // // without ADL support then using declarations will break ADL as well: // #if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #endif // // Without typeid support we have no dynamic RTTI either: // #if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI) # define BOOST_NO_RTTI #endif // // If we have a standard allocator, then we have a partial one as well: // #if !defined(BOOST_NO_STD_ALLOCATOR) # define BOOST_HAS_PARTIAL_STD_ALLOCATOR #endif // // We can't have a working std::use_facet if there is no std::locale: // # if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) # define BOOST_NO_STD_USE_FACET # endif // // We can't have a std::messages facet if there is no std::locale: // # if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) # define BOOST_NO_STD_MESSAGES # endif // // We can't have a working std::wstreambuf if there is no std::locale: // # if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) # define BOOST_NO_STD_WSTREAMBUF # endif // // We can't have a if there is no : // # if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) # define BOOST_NO_CWCTYPE # endif // // We can't have a swprintf if there is no : // # if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) # define BOOST_NO_SWPRINTF # endif // // If Win32 support is turned off, then we must turn off // threading support also, unless there is some other // thread API enabled: // #if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) # define BOOST_DISABLE_THREADS #endif // // Turn on threading support if the compiler thinks that it's in // multithreaded mode. We put this here because there are only a // limited number of macros that identify this (if there's any missing // from here then add to the appropriate compiler section): // #if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \ && !defined(BOOST_HAS_THREADS) # define BOOST_HAS_THREADS #endif // // Turn threading support off if BOOST_DISABLE_THREADS is defined: // #if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) # undef BOOST_HAS_THREADS #endif // // Turn threading support off if we don't recognise the threading API: // #if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ && !defined(BOOST_HAS_MPTASKS) # undef BOOST_HAS_THREADS #endif // // Turn threading detail macros off if we don't (want to) use threading // #ifndef BOOST_HAS_THREADS # undef BOOST_HAS_PTHREADS # undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # undef BOOST_HAS_PTHREAD_YIELD # undef BOOST_HAS_PTHREAD_DELAY_NP # undef BOOST_HAS_WINTHREADS # undef BOOST_HAS_BETHREADS # undef BOOST_HAS_MPTASKS #endif // // If the compiler claims to be C99 conformant, then it had better // have a : // # if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) # define BOOST_HAS_STDINT_H # ifndef BOOST_HAS_LOG1P # define BOOST_HAS_LOG1P # endif # ifndef BOOST_HAS_EXPM1 # define BOOST_HAS_EXPM1 # endif # endif // // Define BOOST_NO_SLIST and BOOST_NO_HASH if required. // Note that this is for backwards compatibility only. // # if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST) # define BOOST_NO_SLIST # endif # if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH) # define BOOST_NO_HASH # endif // // Set BOOST_SLIST_HEADER if not set already: // #if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER) # define BOOST_SLIST_HEADER #endif // // Set BOOST_HASH_SET_HEADER if not set already: // #if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER) # define BOOST_HASH_SET_HEADER #endif // // Set BOOST_HASH_MAP_HEADER if not set already: // #if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER) # define BOOST_HASH_MAP_HEADER #endif // BOOST_HAS_ABI_HEADERS // This macro gets set if we have headers that fix the ABI, // and prevent ODR violations when linking to external libraries: #if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) # define BOOST_HAS_ABI_HEADERS #endif #if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) # undef BOOST_HAS_ABI_HEADERS #endif // BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// // Because std::size_t usage is so common, even in boost headers which do not // otherwise use the C library, the workaround is included here so // that ugly workaround code need not appear in many other boost headers. // NOTE WELL: This is a workaround for non-conforming compilers; // must still be #included in the usual places so that inclusion // works as expected with standard conforming compilers. The resulting // double inclusion of is harmless. # if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus) # include namespace std { using ::ptrdiff_t; using ::size_t; } # endif // Workaround for the unfortunate min/max macros defined by some platform headers #define BOOST_PREVENT_MACRO_SUBSTITUTION #ifndef BOOST_USING_STD_MIN # define BOOST_USING_STD_MIN() using std::min #endif #ifndef BOOST_USING_STD_MAX # define BOOST_USING_STD_MAX() using std::max #endif // BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// # if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus) namespace std { template inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { return __b < __a ? __b : __a; } template inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { return __a < __b ? __b : __a; } } # endif // BOOST_STATIC_CONSTANT workaround --------------------------------------- // // On compilers which don't allow in-class initialization of static integral // constant members, we must use enums as a workaround if we want the constants // to be available at compile-time. This macro gives us a convenient way to // declare such constants. # ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION # define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } # else # define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment # endif // BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// // When the standard library does not have a conforming std::use_facet there // are various workarounds available, but they differ from library to library. // The same problem occurs with has_facet. // These macros provide a consistent way to access a locale's facets. // Usage: // replace // std::use_facet(loc); // with // BOOST_USE_FACET(Type, loc); // Note do not add a std:: prefix to the front of BOOST_USE_FACET! // Use for BOOST_HAS_FACET is analogous. #if defined(BOOST_NO_STD_USE_FACET) # ifdef BOOST_HAS_TWO_ARG_USE_FACET # define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) # define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) # elif defined(BOOST_HAS_MACRO_USE_FACET) # define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) # define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) # elif defined(BOOST_HAS_STLP_USE_FACET) # define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) # define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) # endif #else # define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) # define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) #endif // BOOST_NESTED_TEMPLATE workaround ------------------------------------------// // Member templates are supported by some compilers even though they can't use // the A::template member syntax, as a workaround replace: // // typedef typename A::template rebind binder; // // with: // // typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; #ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD # define BOOST_NESTED_TEMPLATE template #else # define BOOST_NESTED_TEMPLATE #endif // BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// // Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION // is defined, in which case it evaluates to return x; Use when you have a return // statement that can never be reached. #ifndef BOOST_UNREACHABLE_RETURN # ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION # define BOOST_UNREACHABLE_RETURN(x) return x; # else # define BOOST_UNREACHABLE_RETURN(x) # endif #endif // BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// // // Some compilers don't support the use of `typename' for dependent // types in deduced contexts, e.g. // // template void f(T, typename T::type); // ^^^^^^^^ // Replace these declarations with: // // template void f(T, BOOST_DEDUCED_TYPENAME T::type); #ifndef BOOST_NO_DEDUCED_TYPENAME # define BOOST_DEDUCED_TYPENAME typename #else # define BOOST_DEDUCED_TYPENAME #endif #ifndef BOOST_NO_TYPENAME_WITH_CTOR # define BOOST_CTOR_TYPENAME typename #else # define BOOST_CTOR_TYPENAME #endif // // If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __int128 and __float128 support if present: // #if defined(__CUDA_ARCH__) && defined(BOOST_HAS_FLOAT128) # undef BOOST_HAS_FLOAT128 #endif #if defined(__CUDA_ARCH__) && defined(BOOST_HAS_INT128) # undef BOOST_HAS_INT128 #endif // long long workaround ------------------------------------------// // On gcc (and maybe other compilers?) long long is alway supported // but it's use may generate either warnings (with -ansi), or errors // (with -pedantic -ansi) unless it's use is prefixed by __extension__ // #if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus) namespace boost{ # ifdef __GNUC__ __extension__ typedef long long long_long_type; __extension__ typedef unsigned long long ulong_long_type; # else typedef long long long_long_type; typedef unsigned long long ulong_long_type; # endif } #endif // same again for __int128: #if defined(BOOST_HAS_INT128) && defined(__cplusplus) namespace boost{ # ifdef __GNUC__ __extension__ typedef __int128 int128_type; __extension__ typedef unsigned __int128 uint128_type; # else typedef __int128 int128_type; typedef unsigned __int128 uint128_type; # endif } #endif // same again for __float128: #if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus) namespace boost { # ifdef __GNUC__ __extension__ typedef __float128 float128_type; # else typedef __float128 float128_type; # endif } #endif // BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// // These macros are obsolete. Port away and remove. # define BOOST_EXPLICIT_TEMPLATE_TYPE(t) # define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) # define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) # define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) # define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) # define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) # define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) # define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) // When BOOST_NO_STD_TYPEINFO is defined, we can just import // the global definition into std namespace, // see https://svn.boost.org/trac10/ticket/4115 #if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) && defined(BOOST_MSVC) #include namespace std{ using ::type_info; } // Since we do now have typeinfo, undef the macro: #undef BOOST_NO_STD_TYPEINFO #endif // ---------------------------------------------------------------------------// // Helper macro BOOST_STRINGIZE: // Helper macro BOOST_JOIN: #include // // Set some default values for compiler/library/platform names. // These are for debugging config setup only: // # ifndef BOOST_COMPILER # define BOOST_COMPILER "Unknown ISO C++ Compiler" # endif # ifndef BOOST_STDLIB # define BOOST_STDLIB "Unknown ISO standard library" # endif # ifndef BOOST_PLATFORM # if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ || defined(_POSIX_SOURCE) # define BOOST_PLATFORM "Generic Unix" # else # define BOOST_PLATFORM "Unknown" # endif # endif // // Set some default values GPU support // # ifndef BOOST_GPU_ENABLED # define BOOST_GPU_ENABLED # endif // BOOST_RESTRICT ---------------------------------------------// // Macro to use in place of 'restrict' keyword variants #if !defined(BOOST_RESTRICT) # if defined(_MSC_VER) # define BOOST_RESTRICT __restrict # if !defined(BOOST_NO_RESTRICT_REFERENCES) && (_MSC_FULL_VER < 190023026) # define BOOST_NO_RESTRICT_REFERENCES # endif # elif defined(__GNUC__) && __GNUC__ > 3 // Clang also defines __GNUC__ (as 4) # define BOOST_RESTRICT __restrict__ # else # define BOOST_RESTRICT # if !defined(BOOST_NO_RESTRICT_REFERENCES) # define BOOST_NO_RESTRICT_REFERENCES # endif # endif #endif // BOOST_MAY_ALIAS -----------------------------------------------// // The macro expands to an attribute to mark a type that is allowed to alias other types. // The macro is defined in the compiler-specific headers. #if !defined(BOOST_MAY_ALIAS) # define BOOST_NO_MAY_ALIAS # define BOOST_MAY_ALIAS #endif // BOOST_FORCEINLINE ---------------------------------------------// // Macro to use in place of 'inline' to force a function to be inline #if !defined(BOOST_FORCEINLINE) # if defined(_MSC_VER) # define BOOST_FORCEINLINE __forceinline # elif defined(__GNUC__) && __GNUC__ > 3 // Clang also defines __GNUC__ (as 4) # define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) # else # define BOOST_FORCEINLINE inline # endif #endif // BOOST_NOINLINE ---------------------------------------------// // Macro to use in place of 'inline' to prevent a function to be inlined #if !defined(BOOST_NOINLINE) # if defined(_MSC_VER) # define BOOST_NOINLINE __declspec(noinline) # elif defined(__GNUC__) && __GNUC__ > 3 // Clang also defines __GNUC__ (as 4) # if defined(__CUDACC__) // nvcc doesn't always parse __noinline__, // see: https://svn.boost.org/trac/boost/ticket/9392 # define BOOST_NOINLINE __attribute__ ((noinline)) # elif defined(HIP_VERSION) // See https://github.com/boostorg/config/issues/392 # define BOOST_NOINLINE __attribute__ ((noinline)) # else # define BOOST_NOINLINE __attribute__ ((__noinline__)) # endif # else # define BOOST_NOINLINE # endif #endif // BOOST_NORETURN ---------------------------------------------// // Macro to use before a function declaration/definition to designate // the function as not returning normally (i.e. with a return statement // or by leaving the function scope, if the function return type is void). #if !defined(BOOST_NORETURN) # if defined(_MSC_VER) # define BOOST_NORETURN __declspec(noreturn) # elif defined(__GNUC__) || defined(__CODEGEARC__) && defined(__clang__) # define BOOST_NORETURN __attribute__ ((__noreturn__)) # elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) # if __has_attribute(noreturn) # define BOOST_NORETURN [[noreturn]] # endif # elif defined(__has_cpp_attribute) # if __has_cpp_attribute(noreturn) # define BOOST_NORETURN [[noreturn]] # endif # endif #endif #if !defined(BOOST_NORETURN) # define BOOST_NO_NORETURN # define BOOST_NORETURN #endif // Branch prediction hints // These macros are intended to wrap conditional expressions that yield true or false // // if (BOOST_LIKELY(var == 10)) // { // // the most probable code here // } // #if !defined(BOOST_LIKELY) # define BOOST_LIKELY(x) x #endif #if !defined(BOOST_UNLIKELY) # define BOOST_UNLIKELY(x) x #endif #if !defined(BOOST_NO_CXX11_OVERRIDE) # define BOOST_OVERRIDE override #else # define BOOST_OVERRIDE #endif // Type and data alignment specification // #if !defined(BOOST_ALIGNMENT) # if !defined(BOOST_NO_CXX11_ALIGNAS) # define BOOST_ALIGNMENT(x) alignas(x) # elif defined(_MSC_VER) # define BOOST_ALIGNMENT(x) __declspec(align(x)) # elif defined(__GNUC__) # define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x))) # else # define BOOST_NO_ALIGNMENT # define BOOST_ALIGNMENT(x) # endif #endif // Lack of non-public defaulted functions is implied by the lack of any defaulted functions #if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS #endif // Lack of defaulted moves is implied by the lack of either rvalue references or any defaulted functions #if !defined(BOOST_NO_CXX11_DEFAULTED_MOVES) && (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) # define BOOST_NO_CXX11_DEFAULTED_MOVES #endif // Defaulted and deleted function declaration helpers // These macros are intended to be inside a class definition. // BOOST_DEFAULTED_FUNCTION accepts the function declaration and its // body, which will be used if the compiler doesn't support defaulted functions. // BOOST_DELETED_FUNCTION only accepts the function declaration. It // will expand to a private function declaration, if the compiler doesn't support // deleted functions. Because of this it is recommended to use BOOST_DELETED_FUNCTION // in the end of the class definition. // // class my_class // { // public: // // Default-constructible // BOOST_DEFAULTED_FUNCTION(my_class(), {}) // // Copying prohibited // BOOST_DELETED_FUNCTION(my_class(my_class const&)) // BOOST_DELETED_FUNCTION(my_class& operator= (my_class const&)) // }; // #if !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)) # define BOOST_DEFAULTED_FUNCTION(fun, body) fun = default; #else # define BOOST_DEFAULTED_FUNCTION(fun, body) fun body #endif #if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) # define BOOST_DELETED_FUNCTION(fun) fun = delete; #else # define BOOST_DELETED_FUNCTION(fun) private: fun; #endif // // Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined // #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276) #define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE #endif // -------------------- Deprecated macros for 1.50 --------------------------- // These will go away in a future release // Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP // instead of BOOST_NO_STD_UNORDERED #if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET) # ifndef BOOST_NO_CXX11_STD_UNORDERED # define BOOST_NO_CXX11_STD_UNORDERED # endif #endif // Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS #if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS) # define BOOST_NO_INITIALIZER_LISTS #endif // Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY #if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY) # define BOOST_NO_0X_HDR_ARRAY #endif // Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO #if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO) # define BOOST_NO_0X_HDR_CHRONO #endif // Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT #if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT) # define BOOST_NO_0X_HDR_CODECVT #endif // Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE #if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE) # define BOOST_NO_0X_HDR_CONDITION_VARIABLE #endif // Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST #if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST) # define BOOST_NO_0X_HDR_FORWARD_LIST #endif // Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE #if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE) # define BOOST_NO_0X_HDR_FUTURE #endif // Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST // instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS #ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST # ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST # define BOOST_NO_0X_HDR_INITIALIZER_LIST # endif # ifndef BOOST_NO_INITIALIZER_LISTS # define BOOST_NO_INITIALIZER_LISTS # endif #endif // Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX #if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX) # define BOOST_NO_0X_HDR_MUTEX #endif // Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM #if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM) # define BOOST_NO_0X_HDR_RANDOM #endif // Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO #if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO) # define BOOST_NO_0X_HDR_RATIO #endif // Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX #if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX) # define BOOST_NO_0X_HDR_REGEX #endif // Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR #if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR) # define BOOST_NO_0X_HDR_SYSTEM_ERROR #endif // Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD #if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD) # define BOOST_NO_0X_HDR_THREAD #endif // Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE #if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE) # define BOOST_NO_0X_HDR_TUPLE #endif // Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS #if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS) # define BOOST_NO_0X_HDR_TYPE_TRAITS #endif // Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX #if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX) # define BOOST_NO_0X_HDR_TYPEINDEX #endif // Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP #if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP) # define BOOST_NO_0X_HDR_UNORDERED_MAP #endif // Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET #if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET) # define BOOST_NO_0X_HDR_UNORDERED_SET #endif // ------------------ End of deprecated macros for 1.50 --------------------------- // -------------------- Deprecated macros for 1.51 --------------------------- // These will go away in a future release // Use BOOST_NO_CXX11_AUTO_DECLARATIONS instead of BOOST_NO_AUTO_DECLARATIONS #if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS) # define BOOST_NO_AUTO_DECLARATIONS #endif // Use BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of BOOST_NO_AUTO_MULTIDECLARATIONS #if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS) # define BOOST_NO_AUTO_MULTIDECLARATIONS #endif // Use BOOST_NO_CXX11_CHAR16_T instead of BOOST_NO_CHAR16_T #if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T) # define BOOST_NO_CHAR16_T #endif // Use BOOST_NO_CXX11_CHAR32_T instead of BOOST_NO_CHAR32_T #if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T) # define BOOST_NO_CHAR32_T #endif // Use BOOST_NO_CXX11_TEMPLATE_ALIASES instead of BOOST_NO_TEMPLATE_ALIASES #if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES) # define BOOST_NO_TEMPLATE_ALIASES #endif // Use BOOST_NO_CXX11_CONSTEXPR instead of BOOST_NO_CONSTEXPR #if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR) # define BOOST_NO_CONSTEXPR #endif // Use BOOST_NO_CXX11_DECLTYPE_N3276 instead of BOOST_NO_DECLTYPE_N3276 #if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276) # define BOOST_NO_DECLTYPE_N3276 #endif // Use BOOST_NO_CXX11_DECLTYPE instead of BOOST_NO_DECLTYPE #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE) # define BOOST_NO_DECLTYPE #endif // Use BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of BOOST_NO_DEFAULTED_FUNCTIONS #if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS) # define BOOST_NO_DEFAULTED_FUNCTIONS #endif // Use BOOST_NO_CXX11_DELETED_FUNCTIONS instead of BOOST_NO_DELETED_FUNCTIONS #if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS) # define BOOST_NO_DELETED_FUNCTIONS #endif // Use BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of BOOST_NO_EXPLICIT_CONVERSION_OPERATORS #if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS) # define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS #endif // Use BOOST_NO_CXX11_EXTERN_TEMPLATE instead of BOOST_NO_EXTERN_TEMPLATE #if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE) # define BOOST_NO_EXTERN_TEMPLATE #endif // Use BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS #if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS) # define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS #endif // Use BOOST_NO_CXX11_LAMBDAS instead of BOOST_NO_LAMBDAS #if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS) # define BOOST_NO_LAMBDAS #endif // Use BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS #if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS) # define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS #endif // Use BOOST_NO_CXX11_NOEXCEPT instead of BOOST_NO_NOEXCEPT #if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT) # define BOOST_NO_NOEXCEPT #endif // Use BOOST_NO_CXX11_NULLPTR instead of BOOST_NO_NULLPTR #if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR) # define BOOST_NO_NULLPTR #endif // Use BOOST_NO_CXX11_RAW_LITERALS instead of BOOST_NO_RAW_LITERALS #if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS) # define BOOST_NO_RAW_LITERALS #endif // Use BOOST_NO_CXX11_RVALUE_REFERENCES instead of BOOST_NO_RVALUE_REFERENCES #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES) # define BOOST_NO_RVALUE_REFERENCES #endif // Use BOOST_NO_CXX11_SCOPED_ENUMS instead of BOOST_NO_SCOPED_ENUMS #if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS) # define BOOST_NO_SCOPED_ENUMS #endif // Use BOOST_NO_CXX11_STATIC_ASSERT instead of BOOST_NO_STATIC_ASSERT #if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT) # define BOOST_NO_STATIC_ASSERT #endif // Use BOOST_NO_CXX11_STD_UNORDERED instead of BOOST_NO_STD_UNORDERED #if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED) # define BOOST_NO_STD_UNORDERED #endif // Use BOOST_NO_CXX11_UNICODE_LITERALS instead of BOOST_NO_UNICODE_LITERALS #if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS) # define BOOST_NO_UNICODE_LITERALS #endif // Use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX #if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX) # define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX #endif // Use BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of BOOST_NO_VARIADIC_TEMPLATES #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES) # define BOOST_NO_VARIADIC_TEMPLATES #endif // Use BOOST_NO_CXX11_VARIADIC_MACROS instead of BOOST_NO_VARIADIC_MACROS #if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS) # define BOOST_NO_VARIADIC_MACROS #endif // Use BOOST_NO_CXX11_NUMERIC_LIMITS instead of BOOST_NO_NUMERIC_LIMITS_LOWEST #if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST) # define BOOST_NO_NUMERIC_LIMITS_LOWEST #endif // ------------------ End of deprecated macros for 1.51 --------------------------- // // Helper macro for marking types and methods final // #if !defined(BOOST_NO_CXX11_FINAL) # define BOOST_FINAL final #else # define BOOST_FINAL #endif // // Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR // These aid the transition to C++11 while still supporting C++03 compilers // #ifdef BOOST_NO_CXX11_NOEXCEPT # define BOOST_NOEXCEPT # define BOOST_NOEXCEPT_OR_NOTHROW throw() # define BOOST_NOEXCEPT_IF(Predicate) # define BOOST_NOEXCEPT_EXPR(Expression) false #else # define BOOST_NOEXCEPT noexcept # define BOOST_NOEXCEPT_OR_NOTHROW noexcept # define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate)) # define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression)) #endif // // Helper macro BOOST_FALLTHROUGH // Fallback definition of BOOST_FALLTHROUGH macro used to mark intended // fall-through between case labels in a switch statement. We use a definition // that requires a semicolon after it to avoid at least one type of misuse even // on unsupported compilers. // #ifndef BOOST_FALLTHROUGH # define BOOST_FALLTHROUGH ((void)0) #endif // // constexpr workarounds // #if defined(BOOST_NO_CXX11_CONSTEXPR) #define BOOST_CONSTEXPR #define BOOST_CONSTEXPR_OR_CONST const #else #define BOOST_CONSTEXPR constexpr #define BOOST_CONSTEXPR_OR_CONST constexpr #endif #if defined(BOOST_NO_CXX14_CONSTEXPR) #define BOOST_CXX14_CONSTEXPR #else #define BOOST_CXX14_CONSTEXPR constexpr #endif // // C++17 inline variables // #if !defined(BOOST_NO_CXX17_INLINE_VARIABLES) #define BOOST_INLINE_VARIABLE inline #else #define BOOST_INLINE_VARIABLE #endif // // C++17 if constexpr // #if !defined(BOOST_NO_CXX17_IF_CONSTEXPR) # define BOOST_IF_CONSTEXPR if constexpr #else # define BOOST_IF_CONSTEXPR if #endif #define BOOST_INLINE_CONSTEXPR BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST // // Unused variable/typedef workarounds: // #ifndef BOOST_ATTRIBUTE_UNUSED # define BOOST_ATTRIBUTE_UNUSED #endif // // [[nodiscard]]: // #if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) #if __has_attribute(nodiscard) # define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] #endif #if __has_attribute(no_unique_address) # define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] #endif #elif defined(__has_cpp_attribute) // clang-6 accepts [[nodiscard]] with -std=c++14, but warns about it -pedantic #if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201703L)) && !(defined(__GNUC__) && (__cplusplus < 201100)) # define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] #endif #if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100)) # define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] #endif #endif #ifndef BOOST_ATTRIBUTE_NODISCARD # define BOOST_ATTRIBUTE_NODISCARD #endif #ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS # define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS #endif #define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST // // Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined // #if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT) # define BOOST_HAS_STATIC_ASSERT #endif // // Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined // #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS) #define BOOST_HAS_RVALUE_REFS #endif // // Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL) #define BOOST_HAS_VARIADIC_TMPL #endif // // Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when // BOOST_NO_CXX11_VARIADIC_TEMPLATES is set: // #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS) # define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #endif // This is a catch all case for obsolete compilers / std libs: #if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured #if (!defined(__has_include) || (__cplusplus < 201700)) # define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_STRING_VIEW # define BOOST_NO_CXX17_HDR_VARIANT # define BOOST_NO_CXX17_HDR_ANY # define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE # define BOOST_NO_CXX17_HDR_CHARCONV # define BOOST_NO_CXX17_HDR_EXECUTION # define BOOST_NO_CXX17_HDR_FILESYSTEM #else #if !__has_include() # define BOOST_NO_CXX17_HDR_OPTIONAL #endif #if !__has_include() # define BOOST_NO_CXX17_HDR_STRING_VIEW #endif #if !__has_include() # define BOOST_NO_CXX17_HDR_VARIANT #endif #if !__has_include() # define BOOST_NO_CXX17_HDR_ANY #endif #if !__has_include() # define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE #endif #if !__has_include() # define BOOST_NO_CXX17_HDR_CHARCONV #endif #if !__has_include() # define BOOST_NO_CXX17_HDR_EXECUTION #endif #if !__has_include() # define BOOST_NO_CXX17_HDR_FILESYSTEM #endif #endif #endif #if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured #if (!defined(__has_include) || (__cplusplus < 201704)) # define BOOST_NO_CXX20_HDR_BARRIER # define BOOST_NO_CXX20_HDR_FORMAT # define BOOST_NO_CXX20_HDR_SOURCE_LOCATION # define BOOST_NO_CXX20_HDR_BIT # define BOOST_NO_CXX20_HDR_LATCH # define BOOST_NO_CXX20_HDR_SPAN # define BOOST_NO_CXX20_HDR_COMPARE # define BOOST_NO_CXX20_HDR_NUMBERS # define BOOST_NO_CXX20_HDR_STOP_TOKEN # define BOOST_NO_CXX20_HDR_CONCEPTS # define BOOST_NO_CXX20_HDR_RANGES # define BOOST_NO_CXX20_HDR_SYNCSTREAM # define BOOST_NO_CXX20_HDR_COROUTINE # define BOOST_NO_CXX20_HDR_SEMAPHORE #else #if !__has_include() # define BOOST_NO_CXX20_HDR_BARRIER #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_FORMAT #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_SOURCE_LOCATION #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_BIT #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_LATCH #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_SPAN #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_COMPARE #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_NUMBERS #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_STOP_TOKEN #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_CONCEPTS #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_RANGES #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_SYNCSTREAM #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_COROUTINE #endif #if !__has_include() # define BOOST_NO_CXX20_HDR_SEMAPHORE #endif #endif #endif // // Define composite agregate macros: // #include // // Define the std level that the compiler claims to support: // #ifndef BOOST_CXX_VERSION # define BOOST_CXX_VERSION __cplusplus #endif // // Define composite agregate macros: // #include // // Define the std level that the compiler claims to support: // #ifndef BOOST_CXX_VERSION # define BOOST_CXX_VERSION __cplusplus #endif // // Finish off with checks for macros that are depricated / no longer supported, // if any of these are set then it's very likely that much of Boost will no // longer work. So stop with a #error for now, but give the user a chance // to continue at their own risk if they really want to: // #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_CONFIG_ALLOW_DEPRECATED) # error "You are using a compiler which lacks features which are now a minimum requirement in order to use Boost, define BOOST_CONFIG_ALLOW_DEPRECATED if you want to continue at your own risk!!!" #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/header_deprecated.hpp ================================================ #ifndef BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED #define BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED // Copyright 2017 Peter Dimov. // // Distributed under the Boost Software License, Version 1.0. // // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // // BOOST_HEADER_DEPRECATED("") // // Expands to the equivalent of // BOOST_PRAGMA_MESSAGE("This header is deprecated. Use instead.") // // Note that this header is C compatible. #include #if defined(BOOST_ALLOW_DEPRECATED_HEADERS) # define BOOST_HEADER_DEPRECATED(a) #else # define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.") #endif #endif // BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/helper_macros.hpp ================================================ #ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED #define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED // Copyright 2001 John Maddock. // Copyright 2017 Peter Dimov. // // Distributed under the Boost Software License, Version 1.0. // // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // // BOOST_STRINGIZE(X) // BOOST_JOIN(X, Y) // // Note that this header is C compatible. // // Helper macro BOOST_STRINGIZE: // Converts the parameter X to a string after macro replacement // on X has been performed. // #define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) #define BOOST_DO_STRINGIZE(X) #X // // Helper macro BOOST_JOIN: // The following piece of macro magic joins the two // arguments together, even when one of the arguments is // itself a macro (see 16.3.1 in C++ standard). The key // is that macro expansion of macro arguments does not // occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. // #define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y) #define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y) #define BOOST_DO_JOIN2(X, Y) X##Y #endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/no_tr1/cmath.hpp ================================================ // (C) Copyright John Maddock 2008. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // The aim of this header is just to include but to do // so in a way that does not result in recursive inclusion of // the Boost TR1 components if boost/tr1/tr1/cmath is in the // include search path. We have to do this to avoid circular // dependencies: // #ifndef BOOST_CONFIG_CMATH # define BOOST_CONFIG_CMATH # ifndef BOOST_TR1_NO_RECURSION # define BOOST_TR1_NO_RECURSION # define BOOST_CONFIG_NO_CMATH_RECURSION # endif # include # ifdef BOOST_CONFIG_NO_CMATH_RECURSION # undef BOOST_TR1_NO_RECURSION # undef BOOST_CONFIG_NO_CMATH_RECURSION # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/no_tr1/complex.hpp ================================================ // (C) Copyright John Maddock 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // The aim of this header is just to include but to do // so in a way that does not result in recursive inclusion of // the Boost TR1 components if boost/tr1/tr1/complex is in the // include search path. We have to do this to avoid circular // dependencies: // #ifndef BOOST_CONFIG_COMPLEX # define BOOST_CONFIG_COMPLEX # ifndef BOOST_TR1_NO_RECURSION # define BOOST_TR1_NO_RECURSION # define BOOST_CONFIG_NO_COMPLEX_RECURSION # endif # include # ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION # undef BOOST_TR1_NO_RECURSION # undef BOOST_CONFIG_NO_COMPLEX_RECURSION # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/no_tr1/functional.hpp ================================================ // (C) Copyright John Maddock 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // The aim of this header is just to include but to do // so in a way that does not result in recursive inclusion of // the Boost TR1 components if boost/tr1/tr1/functional is in the // include search path. We have to do this to avoid circular // dependencies: // #ifndef BOOST_CONFIG_FUNCTIONAL # define BOOST_CONFIG_FUNCTIONAL # ifndef BOOST_TR1_NO_RECURSION # define BOOST_TR1_NO_RECURSION # define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION # endif # include # ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION # undef BOOST_TR1_NO_RECURSION # undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/no_tr1/memory.hpp ================================================ // (C) Copyright John Maddock 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // The aim of this header is just to include but to do // so in a way that does not result in recursive inclusion of // the Boost TR1 components if boost/tr1/tr1/memory is in the // include search path. We have to do this to avoid circular // dependencies: // #ifndef BOOST_CONFIG_MEMORY # define BOOST_CONFIG_MEMORY # ifndef BOOST_TR1_NO_RECURSION # define BOOST_TR1_NO_RECURSION # define BOOST_CONFIG_NO_MEMORY_RECURSION # endif # include # ifdef BOOST_CONFIG_NO_MEMORY_RECURSION # undef BOOST_TR1_NO_RECURSION # undef BOOST_CONFIG_NO_MEMORY_RECURSION # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/no_tr1/utility.hpp ================================================ // (C) Copyright John Maddock 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // The aim of this header is just to include but to do // so in a way that does not result in recursive inclusion of // the Boost TR1 components if boost/tr1/tr1/utility is in the // include search path. We have to do this to avoid circular // dependencies: // #ifndef BOOST_CONFIG_UTILITY # define BOOST_CONFIG_UTILITY # ifndef BOOST_TR1_NO_RECURSION # define BOOST_TR1_NO_RECURSION # define BOOST_CONFIG_NO_UTILITY_RECURSION # endif # include # ifdef BOOST_CONFIG_NO_UTILITY_RECURSION # undef BOOST_TR1_NO_RECURSION # undef BOOST_CONFIG_NO_UTILITY_RECURSION # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/aix.hpp ================================================ // (C) Copyright John Maddock 2001 - 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // IBM/Aix specific config options: #define BOOST_PLATFORM "IBM Aix" #define BOOST_HAS_UNISTD_H #define BOOST_HAS_NL_TYPES_H #define BOOST_HAS_NANOSLEEP #define BOOST_HAS_CLOCK_GETTIME // This needs support in "boost/cstdint.hpp" exactly like FreeBSD. // This platform has header named which includes all // the things needed. #define BOOST_HAS_STDINT_H // Threading API's: #define BOOST_HAS_PTHREADS #define BOOST_HAS_PTHREAD_DELAY_NP #define BOOST_HAS_SCHED_YIELD //#define BOOST_HAS_PTHREAD_YIELD // boilerplate code: #include ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/amigaos.hpp ================================================ // (C) Copyright John Maddock 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. #define BOOST_PLATFORM "AmigaOS" #define BOOST_DISABLE_THREADS #define BOOST_NO_CWCHAR #define BOOST_NO_STD_WSTRING #define BOOST_NO_INTRINSIC_WCHAR_T ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/beos.hpp ================================================ // (C) Copyright John Maddock 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // BeOS specific config options: #define BOOST_PLATFORM "BeOS" #define BOOST_NO_CWCHAR #define BOOST_NO_CWCTYPE #define BOOST_HAS_UNISTD_H #define BOOST_HAS_BETHREADS #ifndef BOOST_DISABLE_THREADS # define BOOST_HAS_THREADS #endif // boilerplate code: #include ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/bsd.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Darin Adler 2001. // (C) Copyright Douglas Gregor 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // generic BSD config options: #if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__) #error "This platform is not BSD" #endif #ifdef __FreeBSD__ #define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) #elif defined(__NetBSD__) #define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) #elif defined(__OpenBSD__) #define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) #elif defined(__DragonFly__) #define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__) #endif // // is this the correct version check? // FreeBSD has but does not // advertise the fact in : // #if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) \ || defined(__OpenBSD__) || defined(__DragonFly__) # define BOOST_HAS_NL_TYPES_H #endif // // FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in // and not in // #if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\ || defined(__OpenBSD__) || defined(__DragonFly__) # define BOOST_HAS_PTHREADS #endif // // No wide character support in the BSD header files: // #if defined(__NetBSD__) #define __NetBSD_GCC__ (__GNUC__ * 1000000 \ + __GNUC_MINOR__ * 1000 \ + __GNUC_PATCHLEVEL__) // XXX - the following is required until c++config.h // defines _GLIBCXX_HAVE_SWPRINTF and friends // or the preprocessor conditionals are removed // from the cwchar header. #define _GLIBCXX_HAVE_SWPRINTF 1 #endif #if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \ || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) \ || defined(__OpenBSD__) || defined(__DragonFly__)) # define BOOST_NO_CWCHAR #endif // // The BSD has macros only, no functions: // #if !defined(__OpenBSD__) || defined(__DragonFly__) # define BOOST_NO_CTYPE_FUNCTIONS #endif // // thread API's not auto detected: // #define BOOST_HAS_SCHED_YIELD #define BOOST_HAS_NANOSLEEP #define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #define BOOST_HAS_SIGACTION #define BOOST_HAS_CLOCK_GETTIME // boilerplate code: #define BOOST_HAS_UNISTD_H #include ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/cloudabi.hpp ================================================ // Copyright Nuxi, https://nuxi.nl/ 2015. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #define BOOST_PLATFORM "CloudABI" #define BOOST_HAS_DIRENT_H #define BOOST_HAS_STDINT_H #define BOOST_HAS_UNISTD_H #define BOOST_HAS_CLOCK_GETTIME #define BOOST_HAS_EXPM1 #define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_LOG1P #define BOOST_HAS_NANOSLEEP #define BOOST_HAS_PTHREADS #define BOOST_HAS_SCHED_YIELD ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/cray.hpp ================================================ // (C) Copyright John Maddock 2011. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // SGI Irix specific config options: #define BOOST_PLATFORM "Cray" // boilerplate code: #define BOOST_HAS_UNISTD_H #include ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/cygwin.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // cygwin specific config options: #define BOOST_PLATFORM "Cygwin" #define BOOST_HAS_DIRENT_H #define BOOST_HAS_LOG1P #define BOOST_HAS_EXPM1 // // Threading API: // See if we have POSIX threads, if we do use them, otherwise // revert to native Win threads. #define BOOST_HAS_UNISTD_H #include #if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) # define BOOST_HAS_PTHREADS # define BOOST_HAS_SCHED_YIELD # define BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE //# define BOOST_HAS_SIGACTION #else # if !defined(BOOST_HAS_WINTHREADS) # define BOOST_HAS_WINTHREADS # endif # define BOOST_HAS_FTIME #endif // // find out if we have a stdint.h, there should be a better way to do this: // #include #ifdef _STDINT_H #define BOOST_HAS_STDINT_H #endif #if __GNUC__ > 5 && !defined(BOOST_HAS_STDINT_H) # define BOOST_HAS_STDINT_H #endif #include #if (CYGWIN_VERSION_API_MAJOR == 0 && CYGWIN_VERSION_API_MINOR < 231) /// Cygwin has no fenv.h #define BOOST_NO_FENV_H #endif // Cygwin has it's own which breaks unless the correct compiler flags are used: #ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX #include #if !(__XSI_VISIBLE >= 500 || __POSIX_VISIBLE >= 200112) # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #endif // boilerplate code: #include // // Cygwin lies about XSI conformance, there is no nl_types.h: // #ifdef BOOST_HAS_NL_TYPES_H # undef BOOST_HAS_NL_TYPES_H #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/haiku.hpp ================================================ // (C) Copyright Jessica Hamilton 2014. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Haiku specific config options: #define BOOST_PLATFORM "Haiku" #define BOOST_HAS_UNISTD_H #define BOOST_HAS_STDINT_H #ifndef BOOST_DISABLE_THREADS # define BOOST_HAS_THREADS #endif #define BOOST_NO_CXX11_HDR_TYPE_TRAITS #define BOOST_NO_CXX11_ATOMIC_SMART_PTR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_VARIADIC_MACROS // // thread API's not auto detected: // #define BOOST_HAS_SCHED_YIELD #define BOOST_HAS_GETTIMEOFDAY // boilerplate code: #include ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/hpux.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001 - 2003. // (C) Copyright David Abrahams 2002. // (C) Copyright Toon Knapen 2003. // (C) Copyright Boris Gubenko 2006 - 2007. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // hpux specific config options: #define BOOST_PLATFORM "HP-UX" // In principle, HP-UX has a nice under the name // However, it has the following problem: // Use of UINT32_C(0) results in "0u l" for the preprocessed source // (verifyable with gcc 2.95.3) #if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC) # define BOOST_HAS_STDINT_H #endif #if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE)) # define BOOST_NO_SWPRINTF #endif #if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE) # define BOOST_NO_CWCTYPE #endif #if defined(__GNUC__) # if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) // GNU C on HP-UX does not support threads (checked up to gcc 3.3) # define BOOST_DISABLE_THREADS # elif !defined(BOOST_DISABLE_THREADS) // threads supported from gcc-3.3 onwards: # define BOOST_HAS_THREADS # define BOOST_HAS_PTHREADS # endif #elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS) # define BOOST_HAS_PTHREADS #endif // boilerplate code: #define BOOST_HAS_UNISTD_H #include // the following are always available: #ifndef BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_GETTIMEOFDAY #endif #ifndef BOOST_HAS_SCHED_YIELD # define BOOST_HAS_SCHED_YIELD #endif #ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #endif #ifndef BOOST_HAS_NL_TYPES_H # define BOOST_HAS_NL_TYPES_H #endif #ifndef BOOST_HAS_NANOSLEEP # define BOOST_HAS_NANOSLEEP #endif #ifndef BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_GETTIMEOFDAY #endif #ifndef BOOST_HAS_DIRENT_H # define BOOST_HAS_DIRENT_H #endif #ifndef BOOST_HAS_CLOCK_GETTIME # define BOOST_HAS_CLOCK_GETTIME #endif #ifndef BOOST_HAS_SIGACTION # define BOOST_HAS_SIGACTION #endif #ifndef BOOST_HAS_NRVO # ifndef __parisc # define BOOST_HAS_NRVO # endif #endif #ifndef BOOST_HAS_LOG1P # define BOOST_HAS_LOG1P #endif #ifndef BOOST_HAS_EXPM1 # define BOOST_HAS_EXPM1 #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/irix.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // SGI Irix specific config options: #define BOOST_PLATFORM "SGI Irix" #define BOOST_NO_SWPRINTF // // these are not auto detected by POSIX feature tests: // #define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #ifdef __GNUC__ // GNU C on IRIX does not support threads (checked up to gcc 3.3) # define BOOST_DISABLE_THREADS #endif // boilerplate code: #define BOOST_HAS_UNISTD_H #include ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/linux.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // linux specific config options: #define BOOST_PLATFORM "linux" // make sure we have __GLIBC_PREREQ if available at all #ifdef __cplusplus #include #else #include #endif // // added to glibc 2.1.1 // We can only test for 2.1 though: // #if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) // defines int64_t unconditionally, but defines // int64_t only if __GNUC__. Thus, assume a fully usable // only when using GCC. Update 2017: this appears not to be the case for // recent glibc releases, see bug report: https://svn.boost.org/trac/boost/ticket/13045 # if defined(__GNUC__) || ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 5))) # define BOOST_HAS_STDINT_H # endif #endif #if defined(__LIBCOMO__) // // como on linux doesn't have std:: c functions: // NOTE: versions of libcomo prior to beta28 have octal version numbering, // e.g. version 25 is 21 (dec) // # if __LIBCOMO_VERSION__ <= 20 # define BOOST_NO_STDC_NAMESPACE # endif # if __LIBCOMO_VERSION__ <= 21 # define BOOST_NO_SWPRINTF # endif #endif // // If glibc is past version 2 then we definitely have // gettimeofday, earlier versions may or may not have it: // #if defined(__GLIBC__) && (__GLIBC__ >= 2) # define BOOST_HAS_GETTIMEOFDAY #endif #ifdef __USE_POSIX199309 # define BOOST_HAS_NANOSLEEP #endif #if defined(__GLIBC__) && defined(__GLIBC_PREREQ) // __GLIBC_PREREQ is available since 2.1.2 // swprintf is available since glibc 2.2.0 # if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) # define BOOST_NO_SWPRINTF # endif #else # define BOOST_NO_SWPRINTF #endif // boilerplate code: #define BOOST_HAS_UNISTD_H #include #if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID) #define BOOST_HAS_PTHREAD_YIELD #endif #ifndef __GNUC__ // // if the compiler is not gcc we still need to be able to parse // the GNU system headers, some of which (mainly ) // use GNU specific extensions: // # ifndef __extension__ # define __extension__ # endif # ifndef __const__ # define __const__ const # endif # ifndef __volatile__ # define __volatile__ volatile # endif # ifndef __signed__ # define __signed__ signed # endif # ifndef __typeof__ # define __typeof__ typeof # endif # ifndef __inline__ # define __inline__ inline # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/macos.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Darin Adler 2001 - 2002. // (C) Copyright Bill Kempf 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Mac OS specific config options: #define BOOST_PLATFORM "Mac OS" #if __MACH__ && !defined(_MSL_USING_MSL_C) // Using the Mac OS X system BSD-style C library. # ifndef BOOST_HAS_UNISTD_H # define BOOST_HAS_UNISTD_H # endif // // Begin by including our boilerplate code for POSIX // feature detection, this is safe even when using // the MSL as Metrowerks supply their own // to replace the platform-native BSD one. G++ users // should also always be able to do this on MaxOS X. // # include # ifndef BOOST_HAS_STDINT_H # define BOOST_HAS_STDINT_H # endif // // BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, // of these only pthreads are advertised in , so set the // other options explicitly: // # define BOOST_HAS_SCHED_YIELD # define BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_SIGACTION # if (__GNUC__ < 3) && !defined( __APPLE_CC__) // GCC strange "ignore std" mode works better if you pretend everything // is in the std namespace, for the most part. # define BOOST_NO_STDC_NAMESPACE # endif # if (__GNUC__ >= 4) // Both gcc and intel require these. # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # define BOOST_HAS_NANOSLEEP # endif #else // Using the MSL C library. // We will eventually support threads in non-Carbon builds, but we do // not support this yet. # if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) # if !defined(BOOST_HAS_PTHREADS) // MPTasks support is deprecated/removed from Boost: //# define BOOST_HAS_MPTASKS # elif ( __dest_os == __mac_os_x ) // We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the // gettimeofday and no posix. # define BOOST_HAS_GETTIMEOFDAY # endif #ifdef BOOST_HAS_PTHREADS # define BOOST_HAS_THREADS #endif // The remote call manager depends on this. # define BOOST_BIND_ENABLE_PASCAL # endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/qnxnto.hpp ================================================ // (C) Copyright Jim Douglas 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // QNX specific config options: #define BOOST_PLATFORM "QNX" #define BOOST_HAS_UNISTD_H #include // QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h // or log1p and expm1: #undef BOOST_HAS_NL_TYPES_H #undef BOOST_HAS_LOG1P #undef BOOST_HAS_EXPM1 #define BOOST_HAS_PTHREADS #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_CLOCK_GETTIME #define BOOST_HAS_NANOSLEEP ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/solaris.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // sun specific config options: #define BOOST_PLATFORM "Sun Solaris" #define BOOST_HAS_GETTIMEOFDAY // boilerplate code: #define BOOST_HAS_UNISTD_H #include // // pthreads don't actually work with gcc unless _PTHREADS is defined: // #if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS) # undef BOOST_HAS_PTHREADS #endif #define BOOST_HAS_STDINT_H #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #define BOOST_HAS_LOG1P #define BOOST_HAS_EXPM1 ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/symbian.hpp ================================================ // (C) Copyright Yuriy Krasnoschek 2009. // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // symbian specific config options: #define BOOST_PLATFORM "Symbian" #define BOOST_SYMBIAN 1 #if defined(__S60_3X__) // Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL # define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK // make sure we have __GLIBC_PREREQ if available at all #ifdef __cplusplus #include #else #include #endif// boilerplate code: # define BOOST_HAS_UNISTD_H # include // S60 SDK defines _POSIX_VERSION as POSIX.1 # ifndef BOOST_HAS_STDINT_H # define BOOST_HAS_STDINT_H # endif # ifndef BOOST_HAS_GETTIMEOFDAY # define BOOST_HAS_GETTIMEOFDAY # endif # ifndef BOOST_HAS_DIRENT_H # define BOOST_HAS_DIRENT_H # endif # ifndef BOOST_HAS_SIGACTION # define BOOST_HAS_SIGACTION # endif # ifndef BOOST_HAS_PTHREADS # define BOOST_HAS_PTHREADS # endif # ifndef BOOST_HAS_NANOSLEEP # define BOOST_HAS_NANOSLEEP # endif # ifndef BOOST_HAS_SCHED_YIELD # define BOOST_HAS_SCHED_YIELD # endif # ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # endif # ifndef BOOST_HAS_LOG1P # define BOOST_HAS_LOG1P # endif # ifndef BOOST_HAS_EXPM1 # define BOOST_HAS_EXPM1 # endif # ifndef BOOST_POSIX_API # define BOOST_POSIX_API # endif // endianess support # include // Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER # ifndef __LITTLE_ENDIAN # ifdef _LITTLE_ENDIAN # define __LITTLE_ENDIAN _LITTLE_ENDIAN # else # define __LITTLE_ENDIAN 1234 # endif # endif # ifndef __BIG_ENDIAN # ifdef _BIG_ENDIAN # define __BIG_ENDIAN _BIG_ENDIAN # else # define __BIG_ENDIAN 4321 # endif # endif # ifndef __BYTE_ORDER # define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE # endif // Known limitations # define BOOST_ASIO_DISABLE_SERIAL_PORT # define BOOST_DATE_TIME_NO_LOCALE # define BOOST_NO_STD_WSTRING # define BOOST_EXCEPTION_DISABLE # define BOOST_NO_EXCEPTIONS #else // TODO: More platform support e.g. UIQ # error "Unsuppoted Symbian SDK" #endif #if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32) # define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/vms.hpp ================================================ // (C) Copyright Artyom Beilis 2010. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_CONFIG_PLATFORM_VMS_HPP #define BOOST_CONFIG_PLATFORM_VMS_HPP #define BOOST_PLATFORM "OpenVMS" #undef BOOST_HAS_STDINT_H #define BOOST_HAS_UNISTD_H #define BOOST_HAS_NL_TYPES_H #define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_DIRENT_H #define BOOST_HAS_PTHREADS #define BOOST_HAS_NANOSLEEP #define BOOST_HAS_CLOCK_GETTIME #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE #define BOOST_HAS_LOG1P #define BOOST_HAS_EXPM1 #define BOOST_HAS_THREADS #undef BOOST_HAS_SCHED_YIELD #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/vxworks.hpp ================================================ // (C) Copyright Dustin Spicuzza 2009. // Adapted to vxWorks 6.9 by Peter Brockamp 2012. // Updated for VxWorks 7 by Brian Kuhl 2016 // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Old versions of vxWorks (namely everything below 6.x) are // absolutely unable to use boost. Old STLs and compilers // like (GCC 2.96) . Do not even think of getting this to work, // a miserable failure will be guaranteed! // // VxWorks supports C++ linkage in the kernel with // DKMs (Downloadable Kernel Modules). But, until recently // the kernel used a C89 library with no // wide character support and no guarantee of ANSI C. // Regardless of the C library the same Dinkum // STL library is used in both contexts. // // Similarly the Dinkum abridged STL that supports the loosely specified // embedded C++ standard has not been tested and is unlikely to work // on anything but the simplest library. // ==================================================================== // // Some important information regarding the usage of POSIX semaphores: // ------------------------------------------------------------------- // // VxWorks as a real time operating system handles threads somewhat // different from what "normal" OSes do, regarding their scheduling! // This could lead to a scenario called "priority inversion" when using // semaphores, see http://en.wikipedia.org/wiki/Priority_inversion. // // Now, VxWorks POSIX-semaphores for DKM's default to the usage of // priority inverting semaphores, which is fine. On the other hand, // for RTP's it defaults to using non priority inverting semaphores, // which could easily pose a serious problem for a real time process. // // To change the default properties for POSIX-semaphores in VxWorks 7 // enable core > CORE_USER Menu > DEFAULT_PTHREAD_PRIO_INHERIT // // In VxWorks 6.x so as to integrate with boost. // - Edit the file // installDir/vxworks-6.x/target/usr/src/posix/pthreadLib.c // - Around line 917 there should be the definition of the default // mutex attributes: // // LOCAL pthread_mutexattr_t defaultMutexAttr = // { // PTHREAD_INITIALIZED_OBJ, PTHREAD_PRIO_NONE, 0, // PTHREAD_MUTEX_DEFAULT // }; // // Here, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT. // - Around line 1236 there should be a definition for the function // pthread_mutexattr_init(). A couple of lines below you should // find a block of code like this: // // pAttr->mutexAttrStatus = PTHREAD_INITIALIZED_OBJ; // pAttr->mutexAttrProtocol = PTHREAD_PRIO_NONE; // pAttr->mutexAttrPrioceiling = 0; // pAttr->mutexAttrType = PTHREAD_MUTEX_DEFAULT; // // Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT. // - Finally, rebuild your VSB. This will rebuild the libraries // with the changed properties. That's it! Now, using boost should // no longer cause any problems with task deadlocks! // // ==================================================================== // Block out all versions before vxWorks 6.x, as these don't work: // Include header with the vxWorks version information and query them #include #if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6) # error "The vxWorks version you're using is so badly outdated,\ it doesn't work at all with boost, sorry, no chance!" #endif // Handle versions above 5.X but below 6.9 #if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9) // TODO: Starting from what version does vxWorks work with boost? // We can't reasonably insert a #warning "" as a user hint here, // as this will show up with every file including some boost header, // badly bugging the user... So for the time being we just leave it. #endif // vxWorks specific config options: // -------------------------------- #define BOOST_PLATFORM "vxWorks" // Generally available headers: #define BOOST_HAS_UNISTD_H #define BOOST_HAS_STDINT_H #define BOOST_HAS_DIRENT_H //#define BOOST_HAS_SLIST // vxWorks does not have installed an iconv-library by default, // so unfortunately no Unicode support from scratch is available! // Thus, instead it is suggested to switch to ICU, as this seems // to be the most complete and portable option... #ifndef BOOST_LOCALE_WITH_ICU #define BOOST_LOCALE_WITH_ICU #endif // Generally available functionality: #define BOOST_HAS_THREADS #define BOOST_HAS_NANOSLEEP #define BOOST_HAS_GETTIMEOFDAY #define BOOST_HAS_CLOCK_GETTIME #define BOOST_HAS_MACRO_USE_FACET // Generally available threading API's: #define BOOST_HAS_PTHREADS #define BOOST_HAS_SCHED_YIELD #define BOOST_HAS_SIGACTION // Functionality available for RTPs only: #ifdef __RTP__ # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # define BOOST_HAS_LOG1P # define BOOST_HAS_EXPM1 #endif // Functionality available for DKMs only: #ifdef _WRS_KERNEL // Luckily, at the moment there seems to be none! #endif // These #defines allow detail/posix_features to work, since vxWorks doesn't // #define them itself for DKMs (for RTPs on the contrary it does): #ifdef _WRS_KERNEL # ifndef _POSIX_TIMERS # define _POSIX_TIMERS 1 # endif # ifndef _POSIX_THREADS # define _POSIX_THREADS 1 # endif // no sysconf( _SC_PAGESIZE) in kernel # define BOOST_THREAD_USES_GETPAGESIZE #endif #if (_WRS_VXWORKS_MAJOR < 7) // vxWorks-around: #defines CLOCKS_PER_SEC as sysClkRateGet() but // miserably fails to #include the required to make // sysClkRateGet() available! So we manually include it here. # ifdef __RTP__ # include # include # endif // vxWorks-around: In the macros INT32_C(), UINT32_C(), INT64_C() and // UINT64_C() are defined erroneously, yielding not a signed/ // unsigned long/long long type, but a signed/unsigned int/long // type. Eventually this leads to compile errors in ratio_fwd.hpp, // when trying to define several constants which do not fit into a // long type! We correct them here by redefining. # include // Special behaviour for DKMs: // Some macro-magic to do the job # define VX_JOIN(X, Y) VX_DO_JOIN(X, Y) # define VX_DO_JOIN(X, Y) VX_DO_JOIN2(X, Y) # define VX_DO_JOIN2(X, Y) X##Y // Correctly setup the macros # undef INT32_C # undef UINT32_C # undef INT64_C # undef UINT64_C # define INT32_C(x) VX_JOIN(x, L) # define UINT32_C(x) VX_JOIN(x, UL) # define INT64_C(x) VX_JOIN(x, LL) # define UINT64_C(x) VX_JOIN(x, ULL) // #include Libraries required for the following function adaption # include #endif // _WRS_VXWORKS_MAJOR < 7 #include #include #if defined(_WRS_KERNEL) && (_CPPLIB_VER < 700) // recent kernels use Dinkum clib v7.00+ // with widechar but older kernels // do not have the -header, // but apparently they do have an intrinsic wchar_t meanwhile! # define BOOST_NO_CWCHAR // Lots of wide-functions and -headers are unavailable for DKMs as well: # define BOOST_NO_CWCTYPE # define BOOST_NO_SWPRINTF # define BOOST_NO_STD_WSTRING # define BOOST_NO_STD_WSTREAMBUF #endif // Use C-linkage for the following helper functions #ifdef __cplusplus extern "C" { #endif // vxWorks-around: The required functions getrlimit() and getrlimit() are missing. // But we have the similar functions getprlimit() and setprlimit(), // which may serve the purpose. // Problem: The vxWorks-documentation regarding these functions // doesn't deserve its name! It isn't documented what the first two // parameters idtype and id mean, so we must fall back to an educated // guess - null, argh... :-/ // TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason. // Thus for DKMs there would have to be another implementation. #if defined ( __RTP__) && (_WRS_VXWORKS_MAJOR < 7) inline int getrlimit(int resource, struct rlimit *rlp){ return getprlimit(0, 0, resource, rlp); } inline int setrlimit(int resource, const struct rlimit *rlp){ return setprlimit(0, 0, resource, const_cast(rlp)); } #endif // vxWorks has ftruncate() only, so we do simulate truncate(): inline int truncate(const char *p, off_t l){ int fd = open(p, O_WRONLY); if (fd == -1){ errno = EACCES; return -1; } if (ftruncate(fd, l) == -1){ close(fd); errno = EACCES; return -1; } return close(fd); } #ifdef __GNUC__ # define ___unused __attribute__((unused)) #else # define ___unused #endif // Fake symlink handling by dummy functions: inline int symlink(const char* path1 ___unused, const char* path2 ___unused){ // vxWorks has no symlinks -> always return an error! errno = EACCES; return -1; } inline ssize_t readlink(const char* path1 ___unused, char* path2 ___unused, size_t size ___unused){ // vxWorks has no symlinks -> always return an error! errno = EACCES; return -1; } #if (_WRS_VXWORKS_MAJOR < 7) inline int gettimeofday(struct timeval *tv, void * /*tzv*/) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); tv->tv_sec = ts.tv_sec; tv->tv_usec = ts.tv_nsec / 1000; return 0; } #endif #ifdef __cplusplus } // extern "C" #endif /* * moved to os/utils/unix/freind_h/times.h in VxWorks 7 * to avoid conflict with MPL operator times */ #if (_WRS_VXWORKS_MAJOR < 7) # ifdef __cplusplus // vxWorks provides neither struct tms nor function times()! // We implement an empty dummy-function, simply setting the user // and system time to the half of thew actual system ticks-value // and the child user and system time to 0. // Rather ugly but at least it suppresses compiler errors... // Unfortunately, this of course *does* have an severe impact on // dependant libraries, actually this is chrono only! Here it will // not be possible to correctly use user and system times! But // as vxWorks is lacking the ability to calculate user and system // process times there seems to be no other possible solution. struct tms{ clock_t tms_utime; // User CPU time clock_t tms_stime; // System CPU time clock_t tms_cutime; // User CPU time of terminated child processes clock_t tms_cstime; // System CPU time of terminated child processes }; inline clock_t times(struct tms *t){ struct timespec ts; clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); clock_t ticks(static_cast(static_cast(ts.tv_sec) * CLOCKS_PER_SEC + static_cast(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0)); t->tms_utime = ticks/2U; t->tms_stime = ticks/2U; t->tms_cutime = 0; // vxWorks is lacking the concept of a child process! t->tms_cstime = 0; // -> Set the wait times for childs to 0 return ticks; } namespace std { using ::times; } # endif // __cplusplus #endif // _WRS_VXWORKS_MAJOR < 7 #ifdef __cplusplus extern "C" void bzero (void *, size_t); // FD_ZERO uses bzero() but doesn't include strings.h // Put the selfmade functions into the std-namespace, just in case namespace std { # ifdef __RTP__ using ::getrlimit; using ::setrlimit; # endif using ::truncate; using ::symlink; using ::readlink; # if (_WRS_VXWORKS_MAJOR < 7) using ::gettimeofday; # endif } #endif // __cplusplus // Some more macro-magic: // vxWorks-around: Some functions are not present or broken in vxWorks // but may be patched to life via helper macros... // Include signal.h which might contain a typo to be corrected here #include #if (_WRS_VXWORKS_MAJOR < 7) # define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway! inline int lstat(p, b) { return stat(p, b); } // lstat() == stat(), as vxWorks has no symlinks! #endif #ifndef S_ISSOCK # define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket? #endif #ifndef FPE_FLTINV # define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy #endif #if !defined(BUS_ADRALN) && defined(BUS_ADRALNR) # define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks' #endif typedef int locale_t; // locale_t is a POSIX-extension, currently not present in vxWorks! // #include boilerplate code: #include // vxWorks lies about XSI conformance, there is no nl_types.h: #undef BOOST_HAS_NL_TYPES_H // vxWorks 7 adds C++11 support // however it is optional, and does not match exactly the support determined // by examining the Dinkum STL version and GCC version (or ICC and DCC) #if !( defined( _WRS_CONFIG_LANG_LIB_CPLUS_CPLUS_USER_2011) || defined(_WRS_CONFIG_LIBCPLUS_STD)) # define BOOST_NO_CXX11_ADDRESSOF // C11 addressof operator on memory location # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_NUMERIC_LIMITS // max_digits10 in test/../print_helper.hpp # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST //serialization/test/test_list.cpp # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM //math/../test_data.hpp # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX14_HDR_SHARED_MUTEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET #else # ifndef BOOST_SYSTEM_NO_DEPRECATED # define BOOST_SYSTEM_NO_DEPRECATED // workaround link error in spirit # endif #endif // NONE is used in enums in lamda and other libraries #undef NONE // restrict is an iostreams class #undef restrict // affects some typeof tests #undef V7 // use fake poll() from Unix layer in ASIO to get full functionality // most libraries will use select() but this define allows 'iostream' functionality // which is based on poll() only #if (_WRS_VXWORKS_MAJOR > 6) # ifndef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR # define BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR # endif #else # define BOOST_ASIO_DISABLE_SERIAL_PORT #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/wasm.hpp ================================================ // (C) Copyright John Maddock 2020. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // WASM specific config options: #define BOOST_PLATFORM "Wasm" #ifdef __has_include #if __has_include() # define BOOST_HAS_UNISTD_H #endif #endif // boilerplate code: #include // // fenv lacks the C++11 macros: // #define BOOST_NO_FENV_H ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/win32.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Bill Kempf 2001. // (C) Copyright Aleksey Gurtovoy 2003. // (C) Copyright Rene Rivera 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Win32 specific config options: #define BOOST_PLATFORM "Win32" // Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION. #if defined(__MINGW32__) # include <_mingw.h> #endif #if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) # define BOOST_NO_SWPRINTF #endif // Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT // If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport), // its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and // BOOST_SYMBOL_IMPORT #ifndef BOOST_SYMBOL_EXPORT # define BOOST_HAS_DECLSPEC # define BOOST_SYMBOL_EXPORT __declspec(dllexport) # define BOOST_SYMBOL_IMPORT __declspec(dllimport) #endif #if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0))) # define BOOST_HAS_STDINT_H # ifndef __STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS # endif # define BOOST_HAS_DIRENT_H # define BOOST_HAS_UNISTD_H #endif #if defined(__MINGW32__) && (__GNUC__ >= 4) // Mingw has these functions but there are persistent problems // with calls to these crashing, so disable for now: //# define BOOST_HAS_EXPM1 //# define BOOST_HAS_LOG1P # define BOOST_HAS_GETTIMEOFDAY #endif // // Win32 will normally be using native Win32 threads, // but there is a pthread library avaliable as an option, // we used to disable this when BOOST_DISABLE_WIN32 was // defined but no longer - this should allow some // files to be compiled in strict mode - while maintaining // a consistent setting of BOOST_HAS_THREADS across // all translation units (needed for shared_ptr etc). // #ifndef BOOST_HAS_PTHREADS # define BOOST_HAS_WINTHREADS #endif // // WinCE configuration: // #if defined(_WIN32_WCE) || defined(UNDER_CE) # define BOOST_NO_ANSI_APIS // Windows CE does not have a conforming signature for swprintf # define BOOST_NO_SWPRINTF #else # define BOOST_HAS_GETSYSTEMTIMEASFILETIME # define BOOST_HAS_THREADEX # define BOOST_HAS_GETSYSTEMTIMEASFILETIME #endif // // Windows Runtime // #if defined(WINAPI_FAMILY) && \ (WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) # define BOOST_NO_ANSI_APIS #endif #ifndef BOOST_DISABLE_WIN32 // WEK: Added #define BOOST_HAS_FTIME #define BOOST_WINDOWS 1 #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/platform/zos.hpp ================================================ // Copyright (c) 2017 Dynatrace // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // See http://www.boost.org for most recent version. // Platform setup for IBM z/OS. #define BOOST_PLATFORM "IBM z/OS" #include // For __UU, __C99, __TR1, ... #if defined(__UU) # define BOOST_HAS_GETTIMEOFDAY #endif #if defined(_OPEN_THREADS) || defined(__SUSV3_THR) # define BOOST_HAS_PTHREADS # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE # define BOOST_HAS_THREADS #endif #if defined(__SUSV3) || defined(__SUSV3_THR) # define BOOST_HAS_SCHED_YIELD #endif #define BOOST_HAS_SIGACTION #define BOOST_HAS_UNISTD_H #define BOOST_HAS_DIRENT_H #define BOOST_HAS_NL_TYPES_H ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/pragma_message.hpp ================================================ #ifndef BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED #define BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED // Copyright 2017 Peter Dimov. // // Distributed under the Boost Software License, Version 1.0. // // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // // BOOST_PRAGMA_MESSAGE("message") // // Expands to the equivalent of #pragma message("message") // // Note that this header is C compatible. #include #if defined(BOOST_DISABLE_PRAGMA_MESSAGE) # define BOOST_PRAGMA_MESSAGE(x) #elif defined(__INTEL_COMPILER) # define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x)) #elif defined(__GNUC__) # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x))) #elif defined(_MSC_VER) # define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x)) #else # define BOOST_PRAGMA_MESSAGE(x) #endif #endif // BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/requires_threads.hpp ================================================ // (C) Copyright John Maddock 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP #define BOOST_CONFIG_REQUIRES_THREADS_HPP #ifndef BOOST_CONFIG_HPP # include #endif #if defined(BOOST_DISABLE_THREADS) // // special case to handle versions of gcc which don't currently support threads: // #if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) // // this is checked up to gcc 3.3: // #if defined(__sgi) || defined(__hpux) # error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" #endif #endif # error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" #elif !defined(BOOST_HAS_THREADS) # if defined __COMO__ // Comeau C++ # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" #elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) // Intel #ifdef _WIN32 # error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" #else # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" #endif # elif defined __GNUC__ // GNU C++: # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" #elif defined __sgi // SGI MIPSpro C++ # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" #elif defined __DECCXX // Compaq Tru64 Unix cxx # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" #elif defined BOOST_BORLANDC // Borland # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" #elif defined __MWERKS__ // Metrowerks CodeWarrior # error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" #elif defined __SUNPRO_CC // Sun Workshop Compiler C++ # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" #elif defined __HP_aCC // HP aCC # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" #elif defined(__IBMCPP__) // IBM Visual Age # error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" #elif defined _MSC_VER // Microsoft Visual C++ // // Must remain the last #elif since some other vendors (Metrowerks, for // example) also #define _MSC_VER # error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" #else # error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" #endif // compilers #endif // BOOST_HAS_THREADS #endif // BOOST_CONFIG_REQUIRES_THREADS_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/dinkumware.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001. // (C) Copyright Peter Dimov 2001. // (C) Copyright David Abrahams 2002. // (C) Copyright Guillaume Melquiond 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Dinkumware standard library config: #if !defined(_YVALS) && !defined(_CPPLIB_VER) #include #if !defined(_YVALS) && !defined(_CPPLIB_VER) #error This is not the Dinkumware lib! #endif #endif #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) // full dinkumware 3.06 and above // fully conforming provided the compiler supports it: # if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(BOOST_BORLANDC) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h # define BOOST_NO_STDC_NAMESPACE # endif # if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) # define BOOST_NO_STD_ALLOCATOR # endif # define BOOST_HAS_PARTIAL_STD_ALLOCATOR # if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) // if this lib version is set up for vc6 then there is no std::use_facet: # define BOOST_NO_STD_USE_FACET # define BOOST_HAS_TWO_ARG_USE_FACET // C lib functions aren't in namespace std either: # define BOOST_NO_STDC_NAMESPACE // and nor is # define BOOST_NO_EXCEPTION_STD_NAMESPACE # endif // There's no numeric_limits support unless _LONGLONG is defined: # if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) # define BOOST_NO_MS_INT64_NUMERIC_LIMITS # endif // 3.06 appears to have (non-sgi versions of) & , // and no at all #else # define BOOST_MSVC_STD_ITERATOR 1 # define BOOST_NO_STD_ITERATOR # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS # define BOOST_NO_STD_ALLOCATOR # define BOOST_NO_STDC_NAMESPACE # define BOOST_NO_STD_USE_FACET # define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN # define BOOST_HAS_MACRO_USE_FACET # ifndef _CPPLIB_VER // Updated Dinkum library defines this, and provides // its own min and max definitions, as does MTA version. # ifndef __MTA__ # define BOOST_NO_STD_MIN_MAX # endif # define BOOST_NO_MS_INT64_NUMERIC_LIMITS # endif #endif // // std extension namespace is stdext for vc7.1 and later, // the same applies to other compilers that sit on top // of vc7.1 (Intel and Comeau): // #if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(BOOST_BORLANDC) # define BOOST_STD_EXTENSION_NAMESPACE stdext #endif #if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(BOOST_BORLANDC)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) // if we're using a dinkum lib that's // been configured for VC6/7 then there is // no iterator traits (true even for icl) # define BOOST_NO_STD_ITERATOR_TRAITS #endif #if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) // Intel C++ chokes over any non-trivial use of // this may be an overly restrictive define, but regex fails without it: # define BOOST_NO_STD_LOCALE #endif #if ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER))) && (_MSC_VER < 1800) // Fix for VC++ 8.0 on up ( I do not have a previous version to test ) // or clang-cl. If exceptions are off you must manually include the // header before including the header. Admittedly // trying to use Boost libraries or the standard C++ libraries without // exception support is not suggested but currently clang-cl ( v 3.4 ) // does not support exceptions and must be compiled with exceptions off. #if !_HAS_EXCEPTIONS #include #endif #include #if !_HAS_EXCEPTIONS # define BOOST_NO_STD_TYPEINFO #endif #endif #if defined(__ghs__) && !_HAS_NAMESPACE # define BOOST_NO_STD_TYPEINFO #endif // C++0x headers implemented in 520 (as shipped by Microsoft) // #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520 # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_SMART_PTR #endif #if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \ && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610) # define BOOST_NO_CXX11_HDR_TUPLE #endif // C++0x headers implemented in 540 (as shipped by Microsoft) // #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540 # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_HDR_EXCEPTION #endif // C++0x headers implemented in 610 (as shipped by Microsoft) // #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610 # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_ALLOCATOR // 540 has std::align but it is not a conforming implementation # define BOOST_NO_CXX11_STD_ALIGN #endif // Before 650 std::pointer_traits has a broken rebind template #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650 # define BOOST_NO_CXX11_POINTER_TRAITS #elif defined(BOOST_MSVC) && BOOST_MSVC < 1910 # define BOOST_NO_CXX11_POINTER_TRAITS #endif #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif (__cplusplus < 201402) && !defined(_MSC_VER) # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features #if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) # define BOOST_NO_CXX14_STD_EXCHANGE #endif // C++17 features #if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1910) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_ITERATOR_TRAITS # define BOOST_NO_CXX17_HDR_STRING_VIEW # define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_VARIANT # define BOOST_NO_CXX17_HDR_ANY # define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE # define BOOST_NO_CXX17_HDR_CHARCONV # define BOOST_NO_CXX17_HDR_EXECUTION # define BOOST_NO_CXX17_HDR_FILESYSTEM #endif #if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) || !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 201709) # define BOOST_NO_CXX17_STD_INVOKE #endif // C++20 features #if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202008L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0) # define BOOST_NO_CXX20_HDR_BARRIER # define BOOST_NO_CXX20_HDR_BIT # define BOOST_NO_CXX20_HDR_LATCH # define BOOST_NO_CXX20_HDR_SPAN # define BOOST_NO_CXX20_HDR_COMPARE # define BOOST_NO_CXX20_HDR_NUMBERS # define BOOST_NO_CXX20_HDR_CONCEPTS # define BOOST_NO_CXX20_HDR_COROUTINE # define BOOST_NO_CXX20_HDR_SEMAPHORE #endif #if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202011L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0) # define BOOST_NO_CXX20_HDR_STOP_TOKEN #endif // C++20 features not yet implemented: # define BOOST_NO_CXX20_HDR_FORMAT #if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202108L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0) # define BOOST_NO_CXX20_HDR_SOURCE_LOCATION # define BOOST_NO_CXX20_HDR_SYNCSTREAM #endif // Incomplete: # define BOOST_NO_CXX20_HDR_RANGES #if !(!defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1912) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0)) // Deprecated std::iterator: # define BOOST_NO_STD_ITERATOR #endif #if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400) // Intel's compiler can't handle this header yet: # define BOOST_NO_CXX11_HDR_ATOMIC #endif // 520..610 have std::addressof, but it doesn't support functions // #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650 # define BOOST_NO_CXX11_ADDRESSOF #endif // Bug specific to VC14, // See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t // and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2 #if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650) && (!defined(_MSVC_STL_VERSION) || (_MSVC_STL_VERSION < 142)) # define BOOST_NO_CXX11_HDR_CODECVT #endif #if (_MSVC_LANG > 201700) && !defined(BOOST_NO_CXX11_HDR_CODECVT) // // is deprected as of C++17, and by default MSVC emits hard errors // if you try to use it, so mark it as unavailable: // # define BOOST_NO_CXX11_HDR_CODECVT #endif #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650) // If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr and std::random_shuffle are not available. // See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++ // and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx # if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0) # define BOOST_NO_AUTO_PTR # define BOOST_NO_CXX98_RANDOM_SHUFFLE # define BOOST_NO_CXX98_FUNCTION_BASE # define BOOST_NO_CXX98_BINDERS # endif #endif // // Things deprecated in C++20: // #if defined(_HAS_CXX20) # define BOOST_NO_CXX11_ATOMIC_SMART_PTR #endif // // Things not supported by the CLR: #ifdef _M_CEE #ifndef BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_MUTEX #endif #ifndef BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_HDR_ATOMIC #endif #ifndef BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_FUTURE #endif #ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE #endif #ifndef BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_THREAD #endif #ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #ifndef BOOST_NO_CXX14_STD_EXCHANGE # define BOOST_NO_CXX14_STD_EXCHANGE #endif #ifndef BOOST_NO_FENV_H # define BOOST_NO_FENV_H #endif #endif #ifdef _CPPLIB_VER # define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER #else # define BOOST_DINKUMWARE_STDLIB 1 #endif #ifdef _CPPLIB_VER # define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) #else # define BOOST_STDLIB "Dinkumware standard library version 1.x" #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/libcomo.hpp ================================================ // (C) Copyright John Maddock 2002 - 2003. // (C) Copyright Jens Maurer 2002 - 2003. // (C) Copyright Beman Dawes 2002 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Comeau STL: #if !defined(__LIBCOMO__) # include # if !defined(__LIBCOMO__) # error "This is not the Comeau STL!" # endif #endif // // std::streambuf is non-standard // NOTE: versions of libcomo prior to beta28 have octal version numbering, // e.g. version 25 is 21 (dec) #if __LIBCOMO_VERSION__ <= 22 # define BOOST_NO_STD_WSTREAMBUF #endif #if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) #define BOOST_NO_SWPRINTF #endif #if __LIBCOMO_VERSION__ >= 31 # define BOOST_HAS_HASH # define BOOST_HAS_SLIST #endif // C++0x headers not yet implemented // # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_EXCEPTION # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #else # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features # define BOOST_NO_CXX14_STD_EXCHANGE // C++17 features # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_ITERATOR_TRAITS // // Intrinsic type_traits support. // The SGI STL has it's own __type_traits class, which // has intrinsic compiler support with SGI's compilers. // Whatever map SGI style type traits to boost equivalents: // #define BOOST_HAS_SGI_TYPE_TRAITS #define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/libcpp.hpp ================================================ // (C) Copyright Christopher Jefferson 2011. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // config for libc++ // Might need more in here later. #if !defined(_LIBCPP_VERSION) # include # if !defined(_LIBCPP_VERSION) # error "This is not libc++!" # endif #endif #define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION) #define BOOST_HAS_THREADS #ifdef _LIBCPP_HAS_NO_VARIADICS # define BOOST_NO_CXX11_HDR_TUPLE #endif // BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11 // allocator model. The C++11 allocator model requires a conforming // std::allocator_traits which is only possible with C++11 template // aliases since members rebind_alloc and rebind_traits require it. #if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS #endif #if __cplusplus < 201103 // // These two appear to be somewhat useable in C++03 mode, there may be others... // //# define BOOST_NO_CXX11_HDR_ARRAY //# define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_EXCEPTION # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_FUTURE #elif _LIBCPP_VERSION < 3700 // // These appear to be unusable/incomplete so far: // # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_FUTURE #endif #if _LIBCPP_VERSION < 3700 // libc++ uses a non-standard messages_base #define BOOST_NO_STD_MESSAGES #endif // C++14 features #if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L) # define BOOST_NO_CXX14_STD_EXCHANGE #endif // C++17 features #if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L) # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_STRING_VIEW # define BOOST_NO_CXX17_HDR_VARIANT #endif #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR) # define BOOST_NO_AUTO_PTR #endif #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE) # define BOOST_NO_CXX98_RANDOM_SHUFFLE #endif #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS) # define BOOST_NO_CXX98_BINDERS #endif #ifdef __has_include #if __has_include() #include #if !defined(__cpp_lib_execution) || (__cpp_lib_execution < 201603L) # define BOOST_NO_CXX17_HDR_EXECUTION #endif #if !defined(__cpp_lib_invoke) || (__cpp_lib_invoke < 201411L) #define BOOST_NO_CXX17_STD_INVOKE #endif #if !defined(__cpp_lib_bit_cast) || (__cpp_lib_bit_cast < 201806L) || !defined(__cpp_lib_bitops) || (__cpp_lib_bitops < 201907L) || !defined(__cpp_lib_endian) || (__cpp_lib_endian < 201907L) # define BOOST_NO_CXX20_HDR_BIT #endif #if !defined(__cpp_lib_three_way_comparison) || (__cpp_lib_three_way_comparison < 201907L) # define BOOST_NO_CXX20_HDR_COMPARE #endif #if !defined(__cpp_lib_ranges) || (__cpp_lib_ranges < 201911L) # define BOOST_NO_CXX20_HDR_RANGES #endif #if !defined(__cpp_lib_barrier) || (__cpp_lib_barrier < 201907L) # define BOOST_NO_CXX20_HDR_BARRIER #endif #if !defined(__cpp_lib_format) || (__cpp_lib_format < 201907L) # define BOOST_NO_CXX20_HDR_FORMAT #endif #if !defined(__cpp_lib_source_location) || (__cpp_lib_source_location < 201907L) # define BOOST_NO_CXX20_HDR_SOURCE_LOCATION #endif #if !defined(__cpp_lib_latch) || (__cpp_lib_latch < 201907L) # define BOOST_NO_CXX20_HDR_SOURCE_LATCH #endif #if !defined(__cpp_lib_span) || (__cpp_lib_span < 202002L) # define BOOST_NO_CXX20_HDR_SOURCE_SPAN #endif #if !defined(__cpp_lib_math_constants) || (__cpp_lib_math_constants < 201907L) # define BOOST_NO_CXX20_HDR_SOURCE_NUMBERS #endif #if !defined(__cpp_lib_jthread) || (__cpp_lib_jthread < 201911L) # define BOOST_NO_CXX20_HDR_SOURCE_STOP_TOKEN #endif #if !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L) # define BOOST_NO_CXX20_HDR_SOURCE_STOP_CONCEPTS #endif #if !defined(__cpp_lib_syncbuf) || (__cpp_lib_syncbuf < 201803L) # define BOOST_NO_CXX20_HDR_SYNCSTREAM #endif #if !defined(__cpp_lib_coroutine) || (__cpp_lib_coroutine < 201902L) # define BOOST_NO_CXX20_HDR_COROUTINE #endif #if !defined(__cpp_lib_semaphore) || (__cpp_lib_semaphore < 201907L) # define BOOST_NO_CXX20_HDR_SEMAPHORE #endif #if !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L) # define BOOST_NO_CXX20_HDR_CONCEPTS #endif #if(_LIBCPP_VERSION < 9000) && !defined(BOOST_NO_CXX20_HDR_SPAN) // as_writable_bytes is missing. # define BOOST_NO_CXX20_HDR_SPAN #endif #else #define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result) #define BOOST_NO_CXX17_HDR_EXECUTION #endif #else #define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result) #define BOOST_NO_CXX17_HDR_EXECUTION #endif #if _LIBCPP_VERSION < 10000 // What's the correct version check here? #define BOOST_NO_CXX17_ITERATOR_TRAITS #endif #if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) // This is a bit of a sledgehammer, because really it's just libc++abi that has no // support for thread_local, leading to linker errors such as // "undefined reference to `__cxa_thread_atexit'". It is fixed in the // most recent releases of libc++abi though... # define BOOST_NO_CXX11_THREAD_LOCAL #endif #if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) // After libc++-dev is installed on Trusty, clang++-libc++ almost works, // except uses of `thread_local` fail with undefined reference to // `__cxa_thread_atexit`. // // clang's libc++abi provides an implementation by deferring to the glibc // implementation, which may or may not be available (it is not on Trusty). // clang 4's libc++abi will provide an implementation if one is not in glibc // though, so thread local support should work with clang 4 and above as long // as libc++abi is linked in. # define BOOST_NO_CXX11_THREAD_LOCAL #endif #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus <= 201103 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000) # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // --- end --- ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/libstdcpp3.hpp ================================================ // (C) Copyright John Maddock 2001. // (C) Copyright Jens Maurer 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // config for libstdc++ v3 // not much to go in here: #define BOOST_GNU_STDLIB 1 #ifdef __GLIBCXX__ #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) #else #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) #endif #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) # define BOOST_NO_CWCHAR # define BOOST_NO_CWCTYPE # define BOOST_NO_STD_WSTRING # define BOOST_NO_STD_WSTREAMBUF #endif #if defined(__osf__) && !defined(_REENTRANT) \ && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) // GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header // file is included, therefore for consistency we define it here as well. # define _REENTRANT #endif #ifdef __GLIBCXX__ // gcc 3.4 and greater: # if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ || defined(_GLIBCXX__PTHREADS) \ || defined(_GLIBCXX_HAS_GTHREADS) \ || defined(_WIN32) \ || defined(_AIX) \ || defined(__HAIKU__) // // If the std lib has thread support turned on, then turn it on in Boost // as well. We do this because some gcc-3.4 std lib headers define _REENTANT // while others do not... // # define BOOST_HAS_THREADS # else # define BOOST_DISABLE_THREADS # endif #elif defined(__GLIBCPP__) \ && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ && !defined(_GLIBCPP__PTHREADS) // disable thread support if the std lib was built single threaded: # define BOOST_DISABLE_THREADS #endif #if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) // linux on arm apparently doesn't define _REENTRANT // so just turn on threading support whenever the std lib is thread safe: # define BOOST_HAS_THREADS #endif #if !defined(_GLIBCPP_USE_LONG_LONG) \ && !defined(_GLIBCXX_USE_LONG_LONG)\ && defined(BOOST_HAS_LONG_LONG) // May have been set by compiler/*.hpp, but "long long" without library // support is useless. # undef BOOST_HAS_LONG_LONG #endif // Apple doesn't seem to reliably defined a *unix* macro #if !defined(CYGWIN) && ( defined(__unix__) \ || defined(__unix) \ || defined(unix) \ || defined(__APPLE__) \ || defined(__APPLE) \ || defined(APPLE)) # include #endif #ifndef __VXWORKS__ // VxWorks uses Dinkum, not GNU STL with GCC #if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 # define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx # define BOOST_HAS_SLIST # define BOOST_HAS_HASH # define BOOST_SLIST_HEADER # if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) # define BOOST_HASH_SET_HEADER # define BOOST_HASH_MAP_HEADER # else # define BOOST_HASH_SET_HEADER # define BOOST_HASH_MAP_HEADER # endif #endif #endif #if defined(__has_include) #if defined(BOOST_HAS_HASH) #if !__has_include(BOOST_HASH_SET_HEADER) || (__GNUC__ >= 10) #undef BOOST_HAS_HASH #undef BOOST_HAS_SET_HEADER #undef BOOST_HAS_MAP_HEADER #endif #if !__has_include(BOOST_SLIST_HEADER) #undef BOOST_HAS_SLIST #undef BOOST_HAS_SLIST_HEADER #endif #endif #endif // // Decide whether we have C++11 support turned on: // #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103) # define BOOST_LIBSTDCXX11 #endif // // Decide which version of libstdc++ we have, normally // libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly // __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++ // developers. He also commented: // // "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in // GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305. // Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support // than any release in the 4.2 series." // // Another resource for understanding libstdc++ features is: // http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x // // However, using the GCC version number fails when the compiler is clang since this // only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473 // for a long discussion on this issue. What we can do though is use clang's __has_include // to detect the presence of a C++11 header that was introduced with a specific GCC release. // We still have to be careful though as many such headers were buggy and/or incomplete when // first introduced, so we only check for headers that were fully featured from day 1, and then // use that to infer the underlying GCC version: // #ifdef __clang__ #if __has_include() # define BOOST_LIBSTDCXX_VERSION 100100 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 90100 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 80100 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 70100 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 60100 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 50100 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40900 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40800 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40700 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40600 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40500 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40400 #elif __has_include() # define BOOST_LIBSTDCXX_VERSION 40300 #endif // // If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is // configured to support this type. If not disable it: // #if defined(BOOST_HAS_FLOAT128) && !defined(_GLIBCXX_USE_FLOAT128) # undef BOOST_HAS_FLOAT128 #endif #if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH) // // hash_set/hash_map deprecated and have terminal bugs: // #undef BOOST_HAS_HASH #undef BOOST_HAS_SET_HEADER #undef BOOST_HAS_MAP_HEADER #endif #if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH) // // hash_set/hash_map deprecated and have terminal bugs: // #undef BOOST_HAS_HASH #undef BOOST_HAS_SET_HEADER #undef BOOST_HAS_MAP_HEADER #endif #if (BOOST_LIBSTDCXX_VERSION < 50100) // libstdc++ does not define this function as it's deprecated in C++11, but clang still looks for it, // defining it here is a terrible cludge, but should get things working: extern "C" char *gets (char *__s); #endif // // clang is unable to parse some GCC headers, add those workarounds here: // #if BOOST_LIBSTDCXX_VERSION < 50000 # define BOOST_NO_CXX11_HDR_REGEX #endif // // GCC 4.7.x has no __cxa_thread_atexit which // thread_local objects require for cleanup: // #if BOOST_LIBSTDCXX_VERSION < 40800 # define BOOST_NO_CXX11_THREAD_LOCAL #endif // // Early clang versions can handle , not exactly sure which versions // but certainly up to clang-3.8 and gcc-4.6: // #if (__clang_major__ < 5) # if BOOST_LIBSTDCXX_VERSION < 40800 # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_CHRONO # endif #endif // // GCC 4.8 and 9 add working versions of and respectively. // However, we have no test for these as the headers were present but broken // in early GCC versions. // #endif #if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L) // // Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't // set __GNUC__ // #if __SUNPRO_CC >= 0x5140 #define BOOST_LIBSTDCXX_VERSION 50100 #else #define BOOST_LIBSTDCXX_VERSION 40800 #endif #endif #if !defined(BOOST_LIBSTDCXX_VERSION) # define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #endif // std::auto_ptr isn't provided with _GLIBCXX_DEPRECATED=0 (GCC 4.5 and earlier) // or _GLIBCXX_USE_DEPRECATED=0 (GCC 4.6 and later). #if defined(BOOST_LIBSTDCXX11) # if BOOST_LIBSTDCXX_VERSION < 40600 # if !_GLIBCXX_DEPRECATED # define BOOST_NO_AUTO_PTR # endif # elif !_GLIBCXX_USE_DEPRECATED # define BOOST_NO_AUTO_PTR # define BOOST_NO_CXX98_BINDERS # endif #endif // C++0x headers in GCC 4.3.0 and later // #if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_HDR_FUNCTIONAL #endif // C++0x headers in GCC 4.4.0 and later // #if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_EXCEPTION #else # define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG # define BOOST_HAS_TR1_COMPLEX_OVERLOADS #endif // C++0x features in GCC 4.5.0 and later // #if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_RANDOM #endif // C++0x features in GCC 4.6.0 and later // #if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX17_ITERATOR_TRAITS #endif // C++0x features in GCC 4.7.0 and later // #if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11) // Note that although existed prior to 4.7, "steady_clock" is spelled "monotonic_clock" // so 4.7.0 is the first truly conforming one. # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS #endif // C++0x features in GCC 4.8.0 and later // #if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11) // Note that although existed prior to gcc 4.8 it was largely unimplemented for many types: # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_HDR_THREAD #endif // C++0x features in GCC 4.9.0 and later // #if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) // Although is present and compilable against, the actual implementation is not functional // even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. # define BOOST_NO_CXX11_HDR_REGEX #endif #if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103) # define BOOST_NO_CXX14_STD_EXCHANGE #endif // // C++0x features in GCC 5.1 and later // #if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_STD_ALIGN #endif // // C++17 features in GCC 7.1 and later // #if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L) # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_STRING_VIEW # define BOOST_NO_CXX17_HDR_VARIANT #endif #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus <= 201103 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // // has a dependency to Intel's thread building blocks: // unless these are installed seperately, including leads // to inscrutable errors inside libstdc++'s own headers. // #if (BOOST_LIBSTDCXX_VERSION < 100100) #if !__has_include() #define BOOST_NO_CXX17_HDR_EXECUTION #endif #endif #elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #if BOOST_LIBSTDCXX_VERSION < 100100 // // The header may be present but is incomplete: // # define BOOST_NO_CXX17_HDR_CHARCONV #endif #if BOOST_LIBSTDCXX_VERSION < 110000 // // Header may be present but lacks std::bit_cast: // #define BOOST_NO_CXX20_HDR_BIT #endif #ifndef __cpp_impl_coroutine # define BOOST_NO_CXX20_HDR_COROUTINE #endif // // These next defines are mostly for older clang versions with a newer libstdc++ : // #if !defined(__cpp_lib_concepts) #if !defined(BOOST_NO_CXX20_HDR_COMPARE) # define BOOST_NO_CXX20_HDR_COMPARE #endif #if !defined(BOOST_NO_CXX20_HDR_CONCEPTS) # define BOOST_NO_CXX20_HDR_CONCEPTS #endif #if !defined(BOOST_NO_CXX20_HDR_SPAN) # define BOOST_NO_CXX20_HDR_SPAN #endif #if !defined(BOOST_NO_CXX20_HDR_RANGES) # define BOOST_NO_CXX20_HDR_RANGES #endif #endif // // Headers not present on Solaris with the Oracle compiler: #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140) #define BOOST_NO_CXX11_HDR_FUTURE #define BOOST_NO_CXX11_HDR_FORWARD_LIST #define BOOST_NO_CXX11_HDR_ATOMIC // shared_ptr is present, but is not convertible to bool // which causes all kinds of problems especially in Boost.Thread // but probably elsewhere as well. #define BOOST_NO_CXX11_SMART_PTR #endif #if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) // Headers not always available: # ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # endif # ifndef BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_MUTEX # endif # ifndef BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_THREAD # endif # ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX # define BOOST_NO_CXX14_HDR_SHARED_MUTEX # endif #endif #if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) // Timed mutexes are not always available: # define BOOST_NO_CXX11_HDR_MUTEX #endif // --- end --- ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/modena.hpp ================================================ // (C) Copyright Jens Maurer 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Modena C++ standard library (comes with KAI C++) #if !defined(MSIPL_COMPILE_H) # include # if !defined(__MSIPL_COMPILE_H) # error "This is not the Modena C++ library!" # endif #endif #ifndef MSIPL_NL_TYPES #define BOOST_NO_STD_MESSAGES #endif #ifndef MSIPL_WCHART #define BOOST_NO_STD_WSTRING #endif // C++0x headers not yet implemented // # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_HDR_EXCEPTION #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #else # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features # define BOOST_NO_CXX14_STD_EXCHANGE // C++17 features # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_ITERATOR_TRAITS #define BOOST_STDLIB "Modena C++ standard library" ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/msl.hpp ================================================ // (C) Copyright John Maddock 2001. // (C) Copyright Darin Adler 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Metrowerks standard library: #ifndef __MSL_CPP__ # include # ifndef __MSL_CPP__ # error This is not the MSL standard library! # endif #endif #if __MSL_CPP__ >= 0x6000 // Pro 6 # define BOOST_HAS_HASH # define BOOST_STD_EXTENSION_NAMESPACE Metrowerks #endif #define BOOST_HAS_SLIST #if __MSL_CPP__ < 0x6209 # define BOOST_NO_STD_MESSAGES #endif // check C lib version for #include #if defined(__MSL__) && (__MSL__ >= 0x5000) # define BOOST_HAS_STDINT_H # if !defined(__PALMOS_TRAPS__) # define BOOST_HAS_UNISTD_H # endif // boilerplate code: # include #endif #if defined(_MWMT) || _MSL_THREADSAFE # define BOOST_HAS_THREADS #endif #ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG # define BOOST_NO_STD_USE_FACET # define BOOST_HAS_TWO_ARG_USE_FACET #endif // C++0x headers not yet implemented // # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_HDR_EXCEPTION #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #else # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features # define BOOST_NO_CXX14_STD_EXCHANGE // C++17 features # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_ITERATOR_TRAITS #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/roguewave.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001. // (C) Copyright David Abrahams 2003. // (C) Copyright Boris Gubenko 2007. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // Rogue Wave std lib: #define BOOST_RW_STDLIB 1 #if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) # include # if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) # error This is not the Rogue Wave standard library # endif #endif // // figure out a consistent version number: // #ifndef _RWSTD_VER # define BOOST_RWSTD_VER 0x010000 #elif _RWSTD_VER < 0x010000 # define BOOST_RWSTD_VER (_RWSTD_VER << 8) #else # define BOOST_RWSTD_VER _RWSTD_VER #endif #ifndef _RWSTD_VER # define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" #elif _RWSTD_VER < 0x04010200 # define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) #else # ifdef _RWSTD_VER_STR # define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR # else # define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER) # endif #endif // // Prior to version 2.2.0 the primary template for std::numeric_limits // does not have compile time constants, even though specializations of that // template do: // #if BOOST_RWSTD_VER < 0x020200 # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS #endif // Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the // library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): #if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) # define BOOST_NO_LONG_LONG_NUMERIC_LIMITS # endif // // Borland version of numeric_limits lacks __int64 specialisation: // #ifdef BOOST_BORLANDC # define BOOST_NO_MS_INT64_NUMERIC_LIMITS #endif // // No std::iterator if it can't figure out default template args: // #if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) # define BOOST_NO_STD_ITERATOR #endif // // No iterator traits without partial specialization: // #if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) # define BOOST_NO_STD_ITERATOR_TRAITS #endif // // Prior to version 2.0, std::auto_ptr was buggy, and there were no // new-style iostreams, and no conformant std::allocator: // #if (BOOST_RWSTD_VER < 0x020000) # define BOOST_NO_AUTO_PTR # define BOOST_NO_STRINGSTREAM # define BOOST_NO_STD_ALLOCATOR # define BOOST_NO_STD_LOCALE #endif // // No template iterator constructors without member template support: // #if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS #endif // // RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use // (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR // on HP aCC systems even though the allocator is in fact broken): // #if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) # define BOOST_NO_STD_ALLOCATOR #endif // // If we have a std::locale, we still may not have std::use_facet: // #if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) # define BOOST_NO_STD_USE_FACET # define BOOST_HAS_TWO_ARG_USE_FACET #endif // // There's no std::distance prior to version 2, or without // partial specialization support: // #if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) #define BOOST_NO_STD_DISTANCE #endif // // Some versions of the rogue wave library don't have assignable // OutputIterators: // #if BOOST_RWSTD_VER < 0x020100 # define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN #endif // // Disable BOOST_HAS_LONG_LONG when the library has no support for it. // #if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) # undef BOOST_HAS_LONG_LONG #endif // // check that on HP-UX, the proper RW library is used // #if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD) # error "Boost requires Standard RW library. Please compile and link with -AA" #endif // // Define macros specific to RW V2.2 on HP-UX // #if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100) # ifndef __HP_TC1_MAKE_PAIR # define __HP_TC1_MAKE_PAIR # endif # ifndef _HP_INSTANTIATE_STD2_VL # define _HP_INSTANTIATE_STD2_VL # endif #endif #if _RWSTD_VER < 0x05000000 # define BOOST_NO_CXX11_HDR_ARRAY #endif // type_traits header is incomplete: # define BOOST_NO_CXX11_HDR_TYPE_TRAITS // // C++0x headers not yet implemented // # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_HDR_EXCEPTION #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #else # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features # define BOOST_NO_CXX14_STD_EXCHANGE // C++17 features # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_ITERATOR_TRAITS ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/sgi.hpp ================================================ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Darin Adler 2001. // (C) Copyright Jens Maurer 2001 - 2003. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // generic SGI STL: #if !defined(__STL_CONFIG_H) # include # if !defined(__STL_CONFIG_H) # error "This is not the SGI STL!" # endif #endif // // No std::iterator traits without partial specialisation: // #if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) # define BOOST_NO_STD_ITERATOR_TRAITS #endif // // No std::stringstream with gcc < 3 // #if defined(__GNUC__) && (__GNUC__ < 3) && \ ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ !defined(__STL_USE_NEW_IOSTREAMS) || \ defined(__APPLE_CC__) // Note that we only set this for GNU C++ prior to 2.95 since the // latest patches for that release do contain a minimal // If you are running a 2.95 release prior to 2.95.3 then this will need // setting, but there is no way to detect that automatically (other // than by running the configure script). // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't // have . # define BOOST_NO_STRINGSTREAM #endif // Apple doesn't seem to reliably defined a *unix* macro #if !defined(CYGWIN) && ( defined(__unix__) \ || defined(__unix) \ || defined(unix) \ || defined(__APPLE__) \ || defined(__APPLE) \ || defined(APPLE)) # include #endif // // Assume no std::locale without own iostreams (this may be an // incorrect assumption in some cases): // #if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) # define BOOST_NO_STD_LOCALE #endif // // Original native SGI streams have non-standard std::messages facet: // #if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) # define BOOST_NO_STD_LOCALE #endif // // SGI's new iostreams have missing "const" in messages<>::open // #if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) # define BOOST_NO_STD_MESSAGES #endif // // No template iterator constructors, or std::allocator // without member templates: // #if !defined(__STL_MEMBER_TEMPLATES) # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS # define BOOST_NO_STD_ALLOCATOR #endif // // We always have SGI style hash_set, hash_map, and slist: // #define BOOST_HAS_HASH #define BOOST_HAS_SLIST // // If this is GNU libstdc++2, then no and no std::wstring: // #if (defined(__GNUC__) && (__GNUC__ < 3)) # include # if defined(__BASTRING__) # define BOOST_NO_LIMITS // Note: will provide compile-time constants # undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # define BOOST_NO_STD_WSTRING # endif #endif // // There is no standard iterator unless we have namespace support: // #if !defined(__STL_USE_NAMESPACES) # define BOOST_NO_STD_ITERATOR #endif // // Intrinsic type_traits support. // The SGI STL has it's own __type_traits class, which // has intrinsic compiler support with SGI's compilers. // Whatever map SGI style type traits to boost equivalents: // #define BOOST_HAS_SGI_TYPE_TRAITS // C++0x headers not yet implemented // # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_HDR_EXCEPTION #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #else # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features # define BOOST_NO_CXX14_STD_EXCHANGE // C++17 features # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_ITERATOR_TRAITS #define BOOST_STDLIB "SGI standard library" ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/stlport.hpp ================================================ // (C) Copyright John Maddock 2001 - 2002. // (C) Copyright Darin Adler 2001. // (C) Copyright Jens Maurer 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. // STLPort standard library config: #if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) # include # if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) # error "This is not STLPort!" # endif #endif // Apple doesn't seem to reliably defined a *unix* macro #if !defined(CYGWIN) && ( defined(__unix__) \ || defined(__unix) \ || defined(unix) \ || defined(__APPLE__) \ || defined(__APPLE) \ || defined(APPLE)) # include #endif // // __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS // for versions prior to 4.1(beta) // #if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS #endif // // If STLport thinks that there is no partial specialisation, then there is no // std::iterator traits: // #if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) # define BOOST_NO_STD_ITERATOR_TRAITS #endif // // No new style iostreams on GCC without STLport's iostreams enabled: // #if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) # define BOOST_NO_STRINGSTREAM #endif // // No new iostreams implies no std::locale, and no std::stringstream: // #if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) # define BOOST_NO_STD_LOCALE # define BOOST_NO_STRINGSTREAM #endif // // If the streams are not native, and we have a "using ::x" compiler bug // then the io stream facets are not available in namespace std:: // #ifdef _STLPORT_VERSION # if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC) # define BOOST_NO_STD_LOCALE # endif #else # if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC) # define BOOST_NO_STD_LOCALE # endif #endif #if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520) # define BOOST_HAS_TR1_UNORDERED_SET # define BOOST_HAS_TR1_UNORDERED_MAP #endif // // Without member template support enabled, their are no template // iterate constructors, and no std::allocator: // #if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS # define BOOST_NO_STD_ALLOCATOR #endif // // however we always have at least a partial allocator: // #define BOOST_HAS_PARTIAL_STD_ALLOCATOR #if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE) # define BOOST_NO_STD_ALLOCATOR #endif #if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) # define BOOST_NO_STD_ALLOCATOR #endif // // If STLport thinks there is no wchar_t at all, then we have to disable // the support for the relevant specilazations of std:: templates. // #if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) # ifndef BOOST_NO_STD_WSTRING # define BOOST_NO_STD_WSTRING # endif # ifndef BOOST_NO_STD_WSTREAMBUF # define BOOST_NO_STD_WSTREAMBUF # endif #endif // // We always have SGI style hash_set, hash_map, and slist: // #ifndef _STLP_NO_EXTENSIONS #define BOOST_HAS_HASH #define BOOST_HAS_SLIST #endif // // STLport does a good job of importing names into namespace std::, // but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our // workaround does not conflict with STLports: // // // Harold Howe says: // Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with // BCB6 does cause problems. If we detect C++ Builder, then don't define // BOOST_NO_STDC_NAMESPACE // #if !defined(BOOST_BORLANDC) && !defined(__DMC__) // // If STLport is using it's own namespace, and the real names are in // the global namespace, then we duplicate STLport's using declarations // (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't // necessarily import all the names we need into namespace std:: // # if (defined(__STL_IMPORT_VENDOR_CSTD) \ || defined(__STL_USE_OWN_NAMESPACE) \ || defined(_STLP_IMPORT_VENDOR_CSTD) \ || defined(_STLP_USE_OWN_NAMESPACE)) \ && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) # define BOOST_NO_STDC_NAMESPACE # define BOOST_NO_EXCEPTION_STD_NAMESPACE # endif #elif defined(BOOST_BORLANDC) && BOOST_BORLANDC < 0x560 // STLport doesn't import std::abs correctly: #include namespace std { using ::abs; } // and strcmp/strcpy don't get imported either ('cos they are macros) #include #ifdef strcpy # undef strcpy #endif #ifdef strcmp # undef strcmp #endif #ifdef _STLP_VENDOR_CSTD namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } #endif #endif // // std::use_facet may be non-standard, uses a class instead: // #if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) # define BOOST_NO_STD_USE_FACET # define BOOST_HAS_STLP_USE_FACET #endif // // If STLport thinks there are no wide functions, etc. is not working; but // only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import // into std:: ourselves). // #if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) # define BOOST_NO_CWCHAR # define BOOST_NO_CWCTYPE #endif // // If STLport for some reason was configured so that it thinks that wchar_t // is not an intrinsic type, then we have to disable the support for it as // well (we would be missing required specializations otherwise). // #if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) # undef BOOST_NO_INTRINSIC_WCHAR_T # define BOOST_NO_INTRINSIC_WCHAR_T #endif // // Borland ships a version of STLport with C++ Builder 6 that lacks // hashtables and the like: // #if defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x560) # undef BOOST_HAS_HASH #endif // // gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max // #if defined(__GNUC__) && (__GNUC__ < 3) # include // for std::min and std::max # define BOOST_USING_STD_MIN() ((void)0) # define BOOST_USING_STD_MAX() ((void)0) namespace boost { using std::min; using std::max; } #endif // C++0x headers not yet implemented // # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_HDR_EXCEPTION #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #else # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features # define BOOST_NO_CXX14_STD_EXCHANGE // C++17 features # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_ITERATOR_TRAITS #define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/vacpp.hpp ================================================ // (C) Copyright John Maddock 2001 - 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. #if __IBMCPP__ <= 501 # define BOOST_NO_STD_ALLOCATOR #endif #define BOOST_HAS_MACRO_USE_FACET #define BOOST_NO_STD_MESSAGES // Apple doesn't seem to reliably defined a *unix* macro #if !defined(CYGWIN) && ( defined(__unix__) \ || defined(__unix) \ || defined(unix) \ || defined(__APPLE__) \ || defined(__APPLE) \ || defined(APPLE)) # include #endif // C++0x headers not yet implemented // # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST # define BOOST_NO_CXX11_HDR_MUTEX # define BOOST_NO_CXX11_HDR_RANDOM # define BOOST_NO_CXX11_HDR_RATIO # define BOOST_NO_CXX11_HDR_REGEX # define BOOST_NO_CXX11_HDR_SYSTEM_ERROR # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_HDR_UNORDERED_MAP # define BOOST_NO_CXX11_HDR_UNORDERED_SET # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_POINTER_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_HDR_ATOMIC # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF # define BOOST_NO_CXX11_HDR_EXCEPTION #if defined(__has_include) #if !__has_include() # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #elif __cplusplus < 201402 # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif #else # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif // C++14 features # define BOOST_NO_CXX14_STD_EXCHANGE // C++17 features # define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_ITERATOR_TRAITS #define BOOST_STDLIB "Visual Age default standard library" ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/stdlib/xlcpp_zos.hpp ================================================ // Copyright (c) 2017 Dynatrace // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // See http://www.boost.org for most recent version. // Standard library setup for IBM z/OS XL C/C++ compiler. // Oldest library version currently supported is 2.1 (V2R1) #if __TARGET_LIB__ < 0x42010000 # error "Library version not supported or configured - please reconfigure" #endif #if __TARGET_LIB__ > 0x42010000 # if defined(BOOST_ASSERT_CONFIG) # error "Unknown library version - please run the configure tests and report the results" # endif #endif #define BOOST_STDLIB "IBM z/OS XL C/C++ standard library" #define BOOST_HAS_MACRO_USE_FACET #define BOOST_NO_CXX11_HDR_TYPE_TRAITS #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST #define BOOST_NO_CXX11_ADDRESSOF #define BOOST_NO_CXX11_SMART_PTR #define BOOST_NO_CXX11_ATOMIC_SMART_PTR #define BOOST_NO_CXX11_NUMERIC_LIMITS #define BOOST_NO_CXX11_ALLOCATOR #define BOOST_NO_CXX11_POINTER_TRAITS #define BOOST_NO_CXX11_HDR_FUNCTIONAL #define BOOST_NO_CXX11_HDR_UNORDERED_SET #define BOOST_NO_CXX11_HDR_UNORDERED_MAP #define BOOST_NO_CXX11_HDR_TYPEINDEX #define BOOST_NO_CXX11_HDR_TUPLE #define BOOST_NO_CXX11_HDR_THREAD #define BOOST_NO_CXX11_HDR_SYSTEM_ERROR #define BOOST_NO_CXX11_HDR_REGEX #define BOOST_NO_CXX11_HDR_RATIO #define BOOST_NO_CXX11_HDR_RANDOM #define BOOST_NO_CXX11_HDR_MUTEX #define BOOST_NO_CXX11_HDR_FUTURE #define BOOST_NO_CXX11_HDR_FORWARD_LIST #define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE #define BOOST_NO_CXX11_HDR_CODECVT #define BOOST_NO_CXX11_HDR_CHRONO #define BOOST_NO_CXX11_HDR_ATOMIC #define BOOST_NO_CXX11_HDR_ARRAY #define BOOST_NO_CXX11_HDR_EXCEPTION #define BOOST_NO_CXX11_STD_ALIGN #define BOOST_NO_CXX14_STD_EXCHANGE #define BOOST_NO_CXX14_HDR_SHARED_MUTEX #define BOOST_NO_CXX17_STD_INVOKE #define BOOST_NO_CXX17_STD_APPLY #define BOOST_NO_CXX17_ITERATOR_TRAITS ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/user.hpp ================================================ // boost/config/user.hpp ---------------------------------------------------// // (C) Copyright John Maddock 2001. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // Do not check in modified versions of this file, // This file may be customized by the end user, but not by boost. // // Use this file to define a site and compiler specific // configuration policy: // // define this to locate a compiler config file: // #define BOOST_COMPILER_CONFIG // define this to locate a stdlib config file: // #define BOOST_STDLIB_CONFIG // define this to locate a platform config file: // #define BOOST_PLATFORM_CONFIG // define this to disable compiler config, // use if your compiler config has nothing to set: // #define BOOST_NO_COMPILER_CONFIG // define this to disable stdlib config, // use if your stdlib config has nothing to set: // #define BOOST_NO_STDLIB_CONFIG // define this to disable platform config, // use if your platform config has nothing to set: // #define BOOST_NO_PLATFORM_CONFIG // define this to disable all config options, // excluding the user config. Use if your // setup is fully ISO compliant, and has no // useful extensions, or for autoconf generated // setups: // #define BOOST_NO_CONFIG // define this to make the config "optimistic" // about unknown compiler versions. Normally // unknown compiler versions are assumed to have // all the defects of the last known version, however // setting this flag, causes the config to assume // that unknown compiler versions are fully conformant // with the standard: // #define BOOST_STRICT_CONFIG // define this to cause the config to halt compilation // with an #error if it encounters anything unknown -- // either an unknown compiler version or an unknown // compiler/platform/library: // #define BOOST_ASSERT_CONFIG // define if you want to disable threading support, even // when available: // #define BOOST_DISABLE_THREADS // define when you want to disable Win32 specific features // even when available: // #define BOOST_DISABLE_WIN32 // BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any // prefix/suffix headers that normally control things like struct // packing and alignment. // #define BOOST_DISABLE_ABI_HEADERS // BOOST_ABI_PREFIX: A prefix header to include in place of whatever // boost.config would normally select, any replacement should set up // struct packing and alignment options as required. // #define BOOST_ABI_PREFIX my-header-name // BOOST_ABI_SUFFIX: A suffix header to include in place of whatever // boost.config would normally select, any replacement should undo // the effects of the prefix header. // #define BOOST_ABI_SUFFIX my-header-name // BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, // to be linked as dll's rather than static libraries on Microsoft Windows // (this macro is used to turn on __declspec(dllimport) modifiers, so that // the compiler knows which symbols to look for in a dll rather than in a // static library). Note that there may be some libraries that can only // be linked in one way (statically or dynamically), in these cases this // macro has no effect. // #define BOOST_ALL_DYN_LINK // BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll // rather than a static library on Microsoft Windows: replace the WHATEVER // part of the macro name with the name of the library that you want to // dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or // BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) // modifiers, so that the compiler knows which symbols to look for in a dll // rather than in a static library). // Note that there may be some libraries that can only // be linked in one way (statically or dynamically), // in these cases this macro is unsupported. // #define BOOST_WHATEVER_DYN_LINK // BOOST_ALL_NO_LIB: Tells the config system not to automatically select // which libraries to link against. // Normally if a compiler supports #pragma lib, then the correct library // build variant will be automatically selected and linked against, // simply by the act of including one of that library's headers. // This macro turns that feature off. // #define BOOST_ALL_NO_LIB // BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically // select which library to link against for library "whatever", // replace WHATEVER in the macro name with the name of the library; // for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. // Normally if a compiler supports #pragma lib, then the correct library // build variant will be automatically selected and linked against, simply // by the act of including one of that library's headers. This macro turns // that feature off. // #define BOOST_WHATEVER_NO_LIB // BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's // --buildid command line option. For example if you built using: // // bjam address-model=64 --buildid=amd64 // // then compile your code with: // // -DBOOST_LIB_BUILDID = amd64 // // to ensure the correct libraries are selected at link time. // #define BOOST_LIB_BUILDID amd64 ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/warning_disable.hpp ================================================ // Copyright John Maddock 2008 // Use, modification, and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // // This file exists to turn off some overly-pedantic warning emitted // by certain compilers. You should include this header only in: // // * A test case, before any other headers, or, // * A library source file before any other headers. // // IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER. // // YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING. // // The only warnings disabled here are those that are: // // * Quite unreasonably pedantic. // * Generally only emitted by a single compiler. // * Can't easily be fixed: for example if the vendors own std lib // code emits these warnings! // // Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS: // not even std library ones! Doing so may turn the warning // off too late to be of any use. For example the VC++ C4996 // warning can be emitted from if that header is included // before or by this one :-( // #ifndef BOOST_CONFIG_WARNING_DISABLE_HPP #define BOOST_CONFIG_WARNING_DISABLE_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1400) // Error 'function': was declared deprecated // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx // This error is emitted when you use some perfectly conforming // std lib functions in a perfectly correct way, and also by // some of Microsoft's own std lib code ! # pragma warning(disable:4996) #endif #if defined(__INTEL_COMPILER) || defined(__ICL) // As above: gives warning when a "deprecated" // std library function is encountered. # pragma warning(disable:1786) #endif #endif // BOOST_CONFIG_WARNING_DISABLE_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/config/workaround.hpp ================================================ // Copyright David Abrahams 2002. // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_CONFIG_WORKAROUND_HPP #define BOOST_CONFIG_WORKAROUND_HPP // Compiler/library version workaround macro // // Usage: // // #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // // workaround for eVC4 and VC6 // ... // workaround code here // #endif // // When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the // first argument must be undefined or expand to a numeric // value. The above expands to: // // (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300 // // When used for workarounds that apply to the latest known version // and all earlier versions of a compiler, the following convention // should be observed: // // #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) // // The version number in this case corresponds to the last version in // which the workaround was known to have been required. When // BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro // BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates // the workaround for any version of the compiler. When // BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or // error will be issued if the compiler version exceeds the argument // to BOOST_TESTED_AT(). This can be used to locate workarounds which // may be obsoleted by newer versions. #ifndef BOOST_STRICT_CONFIG #include #ifndef __BORLANDC__ #define __BORLANDC___WORKAROUND_GUARD 1 #else #define __BORLANDC___WORKAROUND_GUARD 0 #endif #ifndef __CODEGEARC__ #define __CODEGEARC___WORKAROUND_GUARD 1 #else #define __CODEGEARC___WORKAROUND_GUARD 0 #endif #ifndef BOOST_BORLANDC #define BOOST_BORLANDC_WORKAROUND_GUARD 1 #else #define BOOST_BORLANDC_WORKAROUND_GUARD 0 #endif #ifndef BOOST_CODEGEARC #define BOOST_CODEGEARC_WORKAROUND_GUARD 1 #else #define BOOST_CODEGEARC_WORKAROUND_GUARD 0 #endif #ifndef BOOST_EMBTC #define BOOST_EMBTC_WORKAROUND_GUARD 1 #else #define BOOST_EMBTC_WORKAROUND_GUARD 0 #endif #ifndef _MSC_VER #define _MSC_VER_WORKAROUND_GUARD 1 #else #define _MSC_VER_WORKAROUND_GUARD 0 #endif #ifndef _MSC_FULL_VER #define _MSC_FULL_VER_WORKAROUND_GUARD 1 #else #define _MSC_FULL_VER_WORKAROUND_GUARD 0 #endif #ifndef BOOST_MSVC #define BOOST_MSVC_WORKAROUND_GUARD 1 #else #define BOOST_MSVC_WORKAROUND_GUARD 0 #endif #ifndef BOOST_MSVC_FULL_VER #define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1 #else #define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0 #endif #ifndef __GNUC__ #define __GNUC___WORKAROUND_GUARD 1 #else #define __GNUC___WORKAROUND_GUARD 0 #endif #ifndef __GNUC_MINOR__ #define __GNUC_MINOR___WORKAROUND_GUARD 1 #else #define __GNUC_MINOR___WORKAROUND_GUARD 0 #endif #ifndef __GNUC_PATCHLEVEL__ #define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1 #else #define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0 #endif #ifndef BOOST_GCC #define BOOST_GCC_WORKAROUND_GUARD 1 #define BOOST_GCC_VERSION_WORKAROUND_GUARD 1 #else #define BOOST_GCC_WORKAROUND_GUARD 0 #define BOOST_GCC_VERSION_WORKAROUND_GUARD 0 #endif #ifndef BOOST_XLCPP_ZOS #define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 1 #else #define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 0 #endif #ifndef __IBMCPP__ #define __IBMCPP___WORKAROUND_GUARD 1 #else #define __IBMCPP___WORKAROUND_GUARD 0 #endif #ifndef __SUNPRO_CC #define __SUNPRO_CC_WORKAROUND_GUARD 1 #else #define __SUNPRO_CC_WORKAROUND_GUARD 0 #endif #ifndef __DECCXX_VER #define __DECCXX_VER_WORKAROUND_GUARD 1 #else #define __DECCXX_VER_WORKAROUND_GUARD 0 #endif #ifndef __MWERKS__ #define __MWERKS___WORKAROUND_GUARD 1 #else #define __MWERKS___WORKAROUND_GUARD 0 #endif #ifndef __EDG__ #define __EDG___WORKAROUND_GUARD 1 #else #define __EDG___WORKAROUND_GUARD 0 #endif #ifndef __EDG_VERSION__ #define __EDG_VERSION___WORKAROUND_GUARD 1 #else #define __EDG_VERSION___WORKAROUND_GUARD 0 #endif #ifndef __HP_aCC #define __HP_aCC_WORKAROUND_GUARD 1 #else #define __HP_aCC_WORKAROUND_GUARD 0 #endif #ifndef __hpxstd98 #define __hpxstd98_WORKAROUND_GUARD 1 #else #define __hpxstd98_WORKAROUND_GUARD 0 #endif #ifndef _CRAYC #define _CRAYC_WORKAROUND_GUARD 1 #else #define _CRAYC_WORKAROUND_GUARD 0 #endif #ifndef __DMC__ #define __DMC___WORKAROUND_GUARD 1 #else #define __DMC___WORKAROUND_GUARD 0 #endif #ifndef MPW_CPLUS #define MPW_CPLUS_WORKAROUND_GUARD 1 #else #define MPW_CPLUS_WORKAROUND_GUARD 0 #endif #ifndef __COMO__ #define __COMO___WORKAROUND_GUARD 1 #else #define __COMO___WORKAROUND_GUARD 0 #endif #ifndef __COMO_VERSION__ #define __COMO_VERSION___WORKAROUND_GUARD 1 #else #define __COMO_VERSION___WORKAROUND_GUARD 0 #endif #ifndef __INTEL_COMPILER #define __INTEL_COMPILER_WORKAROUND_GUARD 1 #else #define __INTEL_COMPILER_WORKAROUND_GUARD 0 #endif #ifndef __ICL #define __ICL_WORKAROUND_GUARD 1 #else #define __ICL_WORKAROUND_GUARD 0 #endif #ifndef _COMPILER_VERSION #define _COMPILER_VERSION_WORKAROUND_GUARD 1 #else #define _COMPILER_VERSION_WORKAROUND_GUARD 0 #endif #ifndef __clang_major__ #define __clang_major___WORKAROUND_GUARD 1 #else #define __clang_major___WORKAROUND_GUARD 0 #endif #ifndef _RWSTD_VER #define _RWSTD_VER_WORKAROUND_GUARD 1 #else #define _RWSTD_VER_WORKAROUND_GUARD 0 #endif #ifndef BOOST_RWSTD_VER #define BOOST_RWSTD_VER_WORKAROUND_GUARD 1 #else #define BOOST_RWSTD_VER_WORKAROUND_GUARD 0 #endif #ifndef __GLIBCPP__ #define __GLIBCPP___WORKAROUND_GUARD 1 #else #define __GLIBCPP___WORKAROUND_GUARD 0 #endif #ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC #define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1 #else #define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0 #endif #ifndef __SGI_STL_PORT #define __SGI_STL_PORT_WORKAROUND_GUARD 1 #else #define __SGI_STL_PORT_WORKAROUND_GUARD 0 #endif #ifndef _STLPORT_VERSION #define _STLPORT_VERSION_WORKAROUND_GUARD 1 #else #define _STLPORT_VERSION_WORKAROUND_GUARD 0 #endif #ifndef __LIBCOMO_VERSION__ #define __LIBCOMO_VERSION___WORKAROUND_GUARD 1 #else #define __LIBCOMO_VERSION___WORKAROUND_GUARD 0 #endif #ifndef _CPPLIB_VER #define _CPPLIB_VER_WORKAROUND_GUARD 1 #else #define _CPPLIB_VER_WORKAROUND_GUARD 0 #endif #ifndef BOOST_INTEL_CXX_VERSION #define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1 #else #define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0 #endif #ifndef BOOST_INTEL_WIN #define BOOST_INTEL_WIN_WORKAROUND_GUARD 1 #else #define BOOST_INTEL_WIN_WORKAROUND_GUARD 0 #endif #ifndef BOOST_DINKUMWARE_STDLIB #define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1 #else #define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0 #endif #ifndef BOOST_INTEL #define BOOST_INTEL_WORKAROUND_GUARD 1 #else #define BOOST_INTEL_WORKAROUND_GUARD 0 #endif #ifndef BOOST_CLANG_VERSION #define BOOST_CLANG_VERSION_WORKAROUND_GUARD 1 #else #define BOOST_CLANG_VERSION_WORKAROUND_GUARD 0 #endif // Always define to zero, if it's used it'll be defined my MPL: #define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0 #define BOOST_WORKAROUND(symbol, test) \ ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ (symbol != 0) && (1 % (( (symbol test) ) + 1))) // ^ ^ ^ ^ // The extra level of parenthesis nesting above, along with the // BOOST_OPEN_PAREN indirection below, is required to satisfy the // broken preprocessor in MWCW 8.3 and earlier. // // The basic mechanism works as follows: // (symbol test) + 1 => if (symbol test) then 2 else 1 // 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0 // // The complication with % is for cooperation with BOOST_TESTED_AT(). // When "test" is BOOST_TESTED_AT(x) and // BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined, // // symbol test => if (symbol <= x) then 1 else -1 // (symbol test) + 1 => if (symbol <= x) then 2 else 0 // 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero // #ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS # define BOOST_OPEN_PAREN ( # define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1 #else # define BOOST_TESTED_AT(value) != ((value)-(value)) #endif #else #define BOOST_WORKAROUND(symbol, test) 0 #endif #endif // BOOST_CONFIG_WORKAROUND_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/config.hpp ================================================ // Boost config.hpp configuration header file ------------------------------// // (C) Copyright John Maddock 2002. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for most recent version. // Boost config.hpp policy and rationale documentation has been moved to // http://www.boost.org/libs/config // // CAUTION: This file is intended to be completely stable - // DO NOT MODIFY THIS FILE! // #ifndef BOOST_CONFIG_HPP #define BOOST_CONFIG_HPP // if we don't have a user config, then use the default location: #if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) # define BOOST_USER_CONFIG #if 0 // For dependency trackers: # include #endif #endif // include it first: #ifdef BOOST_USER_CONFIG # include BOOST_USER_CONFIG #endif // if we don't have a compiler config set, try and find one: #if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) # include #endif // if we have a compiler config, include it now: #ifdef BOOST_COMPILER_CONFIG # include BOOST_COMPILER_CONFIG #endif // if we don't have a std library config set, try and find one: #if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus) # include #endif // if we have a std library config, include it now: #ifdef BOOST_STDLIB_CONFIG # include BOOST_STDLIB_CONFIG #endif // if we don't have a platform config set, try and find one: #if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) # include #endif // if we have a platform config, include it now: #ifdef BOOST_PLATFORM_CONFIG # include BOOST_PLATFORM_CONFIG #endif // get config suffix code: #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #endif // BOOST_CONFIG_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/cstdint.hpp ================================================ // boost cstdint.hpp header file ------------------------------------------// // (C) Copyright Beman Dawes 1999. // (C) Copyright Jens Mauer 2001 // (C) Copyright John Maddock 2001 // Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/integer for documentation. // Revision History // 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.) // 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer) // 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer) // 12 Nov 00 Merged (Jens Maurer) // 23 Sep 00 Added INTXX_C macro support (John Maddock). // 22 Sep 00 Better 64-bit support (John Maddock) // 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost // 8 Aug 99 Initial version (Beman Dawes) #ifndef BOOST_CSTDINT_HPP #define BOOST_CSTDINT_HPP // // Since we always define the INT#_C macros as per C++0x, // define __STDC_CONSTANT_MACROS so that does the right // thing if possible, and so that the user knows that the macros // are actually defined as per C99. // #ifndef __STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS #endif #include // // For the following code we get several warnings along the lines of: // // boost/cstdint.hpp:428:35: error: use of C99 long long integer constant // // So we declare this a system header to suppress these warnings. // See also https://github.com/boostorg/config/issues/190 // #if defined(__GNUC__) && (__GNUC__ >= 4) #pragma GCC system_header #endif // // Note that GLIBC is a bit inconsistent about whether int64_t is defined or not // depending upon what headers happen to have been included first... // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG. // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990 // #if defined(BOOST_HAS_STDINT_H) \ && (!defined(__GLIBC__) \ || defined(__GLIBC_HAVE_LONG_LONG) \ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17))))) // The following #include is an implementation artifact; not part of interface. # ifdef __hpux // HP-UX has a vaguely nice in a non-standard location # include # ifdef __STDC_32_MODE__ // this is triggered with GCC, because it defines __cplusplus < 199707L # define BOOST_NO_INT64_T # endif # elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) # include # else # include // There is a bug in Cygwin two _C macros # if defined(INTMAX_C) && defined(__CYGWIN__) # undef INTMAX_C # undef UINTMAX_C # define INTMAX_C(c) c##LL # define UINTMAX_C(c) c##ULL # endif # endif #if defined(__QNX__) && defined(__EXT_QNX) // QNX (Dinkumware stdlib) defines these as non-standard names. // Reflect to the standard names. typedef ::intleast8_t int_least8_t; typedef ::intfast8_t int_fast8_t; typedef ::uintleast8_t uint_least8_t; typedef ::uintfast8_t uint_fast8_t; typedef ::intleast16_t int_least16_t; typedef ::intfast16_t int_fast16_t; typedef ::uintleast16_t uint_least16_t; typedef ::uintfast16_t uint_fast16_t; typedef ::intleast32_t int_least32_t; typedef ::intfast32_t int_fast32_t; typedef ::uintleast32_t uint_least32_t; typedef ::uintfast32_t uint_fast32_t; # ifndef BOOST_NO_INT64_T typedef ::intleast64_t int_least64_t; typedef ::intfast64_t int_fast64_t; typedef ::uintleast64_t uint_least64_t; typedef ::uintfast64_t uint_fast64_t; # endif #endif namespace boost { using ::int8_t; using ::int_least8_t; using ::int_fast8_t; using ::uint8_t; using ::uint_least8_t; using ::uint_fast8_t; using ::int16_t; using ::int_least16_t; using ::int_fast16_t; using ::uint16_t; using ::uint_least16_t; using ::uint_fast16_t; using ::int32_t; using ::int_least32_t; using ::int_fast32_t; using ::uint32_t; using ::uint_least32_t; using ::uint_fast32_t; # ifndef BOOST_NO_INT64_T using ::int64_t; using ::int_least64_t; using ::int_fast64_t; using ::uint64_t; using ::uint_least64_t; using ::uint_fast64_t; # endif using ::intmax_t; using ::uintmax_t; } // namespace boost #elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__) // FreeBSD and Tru64 have an that contains much of what we need. # include namespace boost { using ::int8_t; typedef int8_t int_least8_t; typedef int8_t int_fast8_t; using ::uint8_t; typedef uint8_t uint_least8_t; typedef uint8_t uint_fast8_t; using ::int16_t; typedef int16_t int_least16_t; typedef int16_t int_fast16_t; using ::uint16_t; typedef uint16_t uint_least16_t; typedef uint16_t uint_fast16_t; using ::int32_t; typedef int32_t int_least32_t; typedef int32_t int_fast32_t; using ::uint32_t; typedef uint32_t uint_least32_t; typedef uint32_t uint_fast32_t; # ifndef BOOST_NO_INT64_T using ::int64_t; typedef int64_t int_least64_t; typedef int64_t int_fast64_t; using ::uint64_t; typedef uint64_t uint_least64_t; typedef uint64_t uint_fast64_t; typedef int64_t intmax_t; typedef uint64_t uintmax_t; # else typedef int32_t intmax_t; typedef uint32_t uintmax_t; # endif } // namespace boost #else // BOOST_HAS_STDINT_H # include // implementation artifact; not part of interface # include // needed for limits macros namespace boost { // These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit // platforms. For other systems, they will have to be hand tailored. // // Because the fast types are assumed to be the same as the undecorated types, // it may be possible to hand tailor a more efficient implementation. Such // an optimization may be illusionary; on the Intel x86-family 386 on, for // example, byte arithmetic and load/stores are as fast as "int" sized ones. // 8-bit types ------------------------------------------------------------// # if UCHAR_MAX == 0xff typedef signed char int8_t; typedef signed char int_least8_t; typedef signed char int_fast8_t; typedef unsigned char uint8_t; typedef unsigned char uint_least8_t; typedef unsigned char uint_fast8_t; # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif // 16-bit types -----------------------------------------------------------// # if USHRT_MAX == 0xffff # if defined(__crayx1) // The Cray X1 has a 16-bit short, however it is not recommend // for use in performance critical code. typedef short int16_t; typedef short int_least16_t; typedef int int_fast16_t; typedef unsigned short uint16_t; typedef unsigned short uint_least16_t; typedef unsigned int uint_fast16_t; # else typedef short int16_t; typedef short int_least16_t; typedef short int_fast16_t; typedef unsigned short uint16_t; typedef unsigned short uint_least16_t; typedef unsigned short uint_fast16_t; # endif # elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified // MTA / XMT does support the following non-standard integer types typedef __short16 int16_t; typedef __short16 int_least16_t; typedef __short16 int_fast16_t; typedef unsigned __short16 uint16_t; typedef unsigned __short16 uint_least16_t; typedef unsigned __short16 uint_fast16_t; # elif (USHRT_MAX == 0xffffffff) && defined(CRAY) // no 16-bit types on Cray: typedef short int_least16_t; typedef short int_fast16_t; typedef unsigned short uint_least16_t; typedef unsigned short uint_fast16_t; # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif // 32-bit types -----------------------------------------------------------// # if UINT_MAX == 0xffffffff typedef int int32_t; typedef int int_least32_t; typedef int int_fast32_t; typedef unsigned int uint32_t; typedef unsigned int uint_least32_t; typedef unsigned int uint_fast32_t; # elif (USHRT_MAX == 0xffffffff) typedef short int32_t; typedef short int_least32_t; typedef short int_fast32_t; typedef unsigned short uint32_t; typedef unsigned short uint_least32_t; typedef unsigned short uint_fast32_t; # elif ULONG_MAX == 0xffffffff typedef long int32_t; typedef long int_least32_t; typedef long int_fast32_t; typedef unsigned long uint32_t; typedef unsigned long uint_least32_t; typedef unsigned long uint_fast32_t; # elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) // Integers are 64 bits on the MTA / XMT typedef __int32 int32_t; typedef __int32 int_least32_t; typedef __int32 int_fast32_t; typedef unsigned __int32 uint32_t; typedef unsigned __int32 uint_least32_t; typedef unsigned __int32 uint_fast32_t; # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif // 64-bit types + intmax_t and uintmax_t ----------------------------------// # if defined(BOOST_HAS_LONG_LONG) && \ !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) && \ (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) # if defined(__hpux) // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions # elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) // 2**64 - 1 # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif typedef ::boost::long_long_type intmax_t; typedef ::boost::ulong_long_type uintmax_t; typedef ::boost::long_long_type int64_t; typedef ::boost::long_long_type int_least64_t; typedef ::boost::long_long_type int_fast64_t; typedef ::boost::ulong_long_type uint64_t; typedef ::boost::ulong_long_type uint_least64_t; typedef ::boost::ulong_long_type uint_fast64_t; # elif ULONG_MAX != 0xffffffff # if ULONG_MAX == 18446744073709551615 // 2**64 - 1 typedef long intmax_t; typedef unsigned long uintmax_t; typedef long int64_t; typedef long int_least64_t; typedef long int_fast64_t; typedef unsigned long uint64_t; typedef unsigned long uint_least64_t; typedef unsigned long uint_fast64_t; # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif # elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG) __extension__ typedef long long intmax_t; __extension__ typedef unsigned long long uintmax_t; __extension__ typedef long long int64_t; __extension__ typedef long long int_least64_t; __extension__ typedef long long int_fast64_t; __extension__ typedef unsigned long long uint64_t; __extension__ typedef unsigned long long uint_least64_t; __extension__ typedef unsigned long long uint_fast64_t; # elif defined(BOOST_HAS_MS_INT64) // // we have Borland/Intel/Microsoft __int64: // typedef __int64 intmax_t; typedef unsigned __int64 uintmax_t; typedef __int64 int64_t; typedef __int64 int_least64_t; typedef __int64 int_fast64_t; typedef unsigned __int64 uint64_t; typedef unsigned __int64 uint_least64_t; typedef unsigned __int64 uint_fast64_t; # else // assume no 64-bit integers # define BOOST_NO_INT64_T typedef int32_t intmax_t; typedef uint32_t uintmax_t; # endif } // namespace boost #endif // BOOST_HAS_STDINT_H // intptr_t/uintptr_t are defined separately because they are optional and not universally available #if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H) // Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h #include #endif #if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \ || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ || defined(__CYGWIN__) || defined(__VXWORKS__) \ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX) namespace boost { using ::intptr_t; using ::uintptr_t; } #define BOOST_HAS_INTPTR_T // Clang pretends to be GCC, so it'll match this condition #elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__) namespace boost { typedef __INTPTR_TYPE__ intptr_t; typedef __UINTPTR_TYPE__ uintptr_t; } #define BOOST_HAS_INTPTR_T #endif #endif // BOOST_CSTDINT_HPP /**************************************************** Macro definition section: Added 23rd September 2000 (John Maddock). Modified 11th September 2001 to be excluded when BOOST_HAS_STDINT_H is defined (John Maddock). Modified 11th Dec 2009 to always define the INT#_C macros if they're not already defined (John Maddock). ******************************************************/ #if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \ (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C)) // // Undef the macros as a precaution, since we may get here if has failed // to define them all, see https://svn.boost.org/trac/boost/ticket/12786 // #undef INT8_C #undef INT16_C #undef INT32_C #undef INT64_C #undef INTMAX_C #undef UINT8_C #undef UINT16_C #undef UINT32_C #undef UINT64_C #undef UINTMAX_C #include # define BOOST__STDC_CONSTANT_MACROS_DEFINED # if defined(BOOST_HAS_MS_INT64) // // Borland/Intel/Microsoft compilers have width specific suffixes: // #ifndef INT8_C # define INT8_C(value) value##i8 #endif #ifndef INT16_C # define INT16_C(value) value##i16 #endif #ifndef INT32_C # define INT32_C(value) value##i32 #endif #ifndef INT64_C # define INT64_C(value) value##i64 #endif # ifdef BOOST_BORLANDC // Borland bug: appending ui8 makes the type a signed char # define UINT8_C(value) static_cast(value##u) # else # define UINT8_C(value) value##ui8 # endif #ifndef UINT16_C # define UINT16_C(value) value##ui16 #endif #ifndef UINT32_C # define UINT32_C(value) value##ui32 #endif #ifndef UINT64_C # define UINT64_C(value) value##ui64 #endif #ifndef INTMAX_C # define INTMAX_C(value) value##i64 # define UINTMAX_C(value) value##ui64 #endif # else // do it the old fashioned way: // 8-bit types ------------------------------------------------------------// # if (UCHAR_MAX == 0xff) && !defined(INT8_C) # define INT8_C(value) static_cast(value) # define UINT8_C(value) static_cast(value##u) # endif // 16-bit types -----------------------------------------------------------// # if (USHRT_MAX == 0xffff) && !defined(INT16_C) # define INT16_C(value) static_cast(value) # define UINT16_C(value) static_cast(value##u) # endif // 32-bit types -----------------------------------------------------------// #ifndef INT32_C # if (UINT_MAX == 0xffffffff) # define INT32_C(value) value # define UINT32_C(value) value##u # elif ULONG_MAX == 0xffffffff # define INT32_C(value) value##L # define UINT32_C(value) value##uL # endif #endif // 64-bit types + intmax_t and uintmax_t ----------------------------------// #ifndef INT64_C # if defined(BOOST_HAS_LONG_LONG) && \ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX)) # if defined(__hpux) // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions # define INT64_C(value) value##LL # define UINT64_C(value) value##uLL # elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \ (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \ (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \ (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \ (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL) # define INT64_C(value) value##LL # define UINT64_C(value) value##uLL # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif # elif ULONG_MAX != 0xffffffff # if ULONG_MAX == 18446744073709551615U // 2**64 - 1 # define INT64_C(value) value##L # define UINT64_C(value) value##uL # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif # elif defined(BOOST_HAS_LONG_LONG) // Usual macros not defined, work things out for ourselves: # if(~0uLL == 18446744073709551615ULL) # define INT64_C(value) value##LL # define UINT64_C(value) value##uLL # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif # else # error defaults not correct; you must hand modify boost/cstdint.hpp # endif # ifdef BOOST_NO_INT64_T # define INTMAX_C(value) INT32_C(value) # define UINTMAX_C(value) UINT32_C(value) # else # define INTMAX_C(value) INT64_C(value) # define UINTMAX_C(value) UINT64_C(value) # endif #endif # endif // Borland/Microsoft specific width suffixes #endif // INT#_C macros. ================================================ FILE: src/qscint/scintilla/boostregex/boost/current_function.hpp ================================================ #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED #define BOOST_CURRENT_FUNCTION_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // // boost/current_function.hpp - BOOST_CURRENT_FUNCTION // // Copyright 2002-2018 Peter Dimov // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // // http://www.boost.org/libs/assert // namespace boost { namespace detail { inline void current_function_helper() { #if defined( BOOST_DISABLE_CURRENT_FUNCTION ) # define BOOST_CURRENT_FUNCTION "(unknown)" #elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__) # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ #elif defined(__DMC__) && (__DMC__ >= 0x810) # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ #elif defined(__FUNCSIG__) # define BOOST_CURRENT_FUNCTION __FUNCSIG__ #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) # define BOOST_CURRENT_FUNCTION __FUNCTION__ #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) # define BOOST_CURRENT_FUNCTION __FUNC__ #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) # define BOOST_CURRENT_FUNCTION __func__ #elif defined(__cplusplus) && (__cplusplus >= 201103) # define BOOST_CURRENT_FUNCTION __func__ #else # define BOOST_CURRENT_FUNCTION "(unknown)" #endif } } // namespace detail } // namespace boost #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/all.hpp ================================================ //Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_316FDA946C0D11DEA9CBAE5255D89593 #define BOOST_EXCEPTION_316FDA946C0D11DEA9CBAE5255D89593 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef BOOST_NO_EXCEPTIONS #include #include #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/current_exception_cast.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_7E83C166200811DE885E826156D89593 #define BOOST_EXCEPTION_7E83C166200811DE885E826156D89593 #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { template inline E * current_exception_cast() { try { throw; } catch( E & e ) { return &e; } catch( ...) { return 0; } } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/detail/clone_current_exception.hpp ================================================ //Copyright (c) 2006-2013 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_81522C0EB56511DFAB613DB0DFD72085 #define BOOST_EXCEPTION_81522C0EB56511DFAB613DB0DFD72085 #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif #ifdef BOOST_NO_EXCEPTIONS # error This header requires exception handling to be enabled. #endif namespace boost { namespace exception_detail { class clone_base; #ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR int clone_current_exception_non_intrusive( clone_base const * & cloned ); #endif namespace clone_current_exception_result { int const success=0; int const bad_alloc=1; int const bad_exception=2; int const not_supported=3; } inline int clone_current_exception( clone_base const * & cloned ) { #ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR return clone_current_exception_non_intrusive(cloned); #else return clone_current_exception_result::not_supported; #endif } } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/detail/error_info_impl.hpp ================================================ //Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_CE6983AC753411DDA764247956D89593 #define BOOST_EXCEPTION_CE6983AC753411DDA764247956D89593 #include #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES #include #endif #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { namespace exception_detail { class error_info_base { public: virtual std::string name_value_string() const = 0; virtual error_info_base * clone() const = 0; virtual ~error_info_base() BOOST_NOEXCEPT_OR_NOTHROW { } }; } template class error_info: public exception_detail::error_info_base { exception_detail::error_info_base * clone() const { return new error_info(*this); } public: typedef T value_type; error_info( value_type const & v ): v_(v) { } #if (__GNUC__*100+__GNUC_MINOR__!=406) //workaround for g++ bug #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES error_info( error_info const & x ): v_(x.v_) { } error_info( T && v ) BOOST_NOEXCEPT_IF(boost::is_nothrow_move_constructible::value): v_(std::move(v)) { } error_info( error_info && x ) BOOST_NOEXCEPT_IF(boost::is_nothrow_move_constructible::value): v_(std::move(x.v_)) { } #endif #endif ~error_info() BOOST_NOEXCEPT_OR_NOTHROW { } value_type const & value() const { return v_; } value_type & value() { return v_; } private: error_info & operator=( error_info const & ); #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES error_info & operator=( error_info && x ); #endif std::string name_value_string() const; value_type v_; }; } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/detail/exception_ptr.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Copyright (c) 2019 Dario Menendez, Banco Santander //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593 #define BOOST_EXCEPTION_618474C2DE1511DEB74A388C56D89593 #include #include #include #include #ifndef BOOST_NO_EXCEPTIONS # include #endif #include #ifndef BOOST_NO_RTTI #include #endif #include #include #include #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { namespace exception_detail { #ifndef BOOST_NO_CXX11_HDR_EXCEPTION struct std_exception_ptr_wrapper: std::exception { std::exception_ptr p; explicit std_exception_ptr_wrapper( std::exception_ptr const & ptr ) BOOST_NOEXCEPT: p(ptr) { } #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES explicit std_exception_ptr_wrapper( std::exception_ptr && ptr ) BOOST_NOEXCEPT: p(static_cast(ptr)) { } #endif }; shared_ptr inline wrap_exception_ptr( std::exception_ptr const & e ) { exception_detail::clone_base const & base = boost::enable_current_exception(std_exception_ptr_wrapper(std::current_exception())); return shared_ptr(base.clone()); } #endif } class exception_ptr; namespace exception_detail { void rethrow_exception_( exception_ptr const & ); } class exception_ptr { typedef boost::shared_ptr impl; impl ptr_; friend void exception_detail::rethrow_exception_( exception_ptr const & ); typedef exception_detail::clone_base const * (impl::*unspecified_bool_type)() const; public: exception_ptr() { } #ifndef BOOST_NO_CXX11_HDR_EXCEPTION exception_ptr( std::exception_ptr const & e ): ptr_(exception_detail::wrap_exception_ptr(e)) { } #endif explicit exception_ptr( impl const & ptr ): ptr_(ptr) { } bool operator==( exception_ptr const & other ) const { return ptr_==other.ptr_; } bool operator!=( exception_ptr const & other ) const { return ptr_!=other.ptr_; } operator unspecified_bool_type() const { return ptr_?&impl::get:0; } }; template inline exception_ptr copy_exception( E const & e ) { E cp = e; exception_detail::copy_boost_exception(&cp, &e); return exception_ptr(boost::make_shared >(cp)); } template inline exception_ptr make_exception_ptr( T const & e ) { return boost::copy_exception(e); } #ifndef BOOST_NO_RTTI typedef error_info original_exception_type; inline std::string to_string( original_exception_type const & x ) { return core::demangle(x.value()->name()); } #endif #ifndef BOOST_NO_EXCEPTIONS namespace exception_detail { struct bad_alloc_: boost::exception, std::bad_alloc { ~bad_alloc_() BOOST_NOEXCEPT_OR_NOTHROW { } }; struct bad_exception_: boost::exception, std::bad_exception { ~bad_exception_() BOOST_NOEXCEPT_OR_NOTHROW { } }; template exception_ptr get_static_exception_object() { Exception ba; exception_detail::clone_impl c(ba); #ifndef BOOST_EXCEPTION_DISABLE c << throw_function(BOOST_CURRENT_FUNCTION) << throw_file(__FILE__) << throw_line(__LINE__); #endif static exception_ptr ep(shared_ptr(new exception_detail::clone_impl(c))); return ep; } template struct exception_ptr_static_exception_object { static exception_ptr const e; }; template exception_ptr const exception_ptr_static_exception_object:: e = get_static_exception_object(); } #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility push (default) # endif #endif class unknown_exception: public boost::exception, public std::exception { public: unknown_exception() { } explicit unknown_exception( std::exception const & e ) { add_original_type(e); } explicit unknown_exception( boost::exception const & e ): boost::exception(e) { add_original_type(e); } ~unknown_exception() BOOST_NOEXCEPT_OR_NOTHROW { } private: template void add_original_type( E const & e ) { #ifndef BOOST_NO_RTTI (*this) << original_exception_type(&typeid(e)); #endif } }; #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility pop # endif #endif namespace exception_detail { template class current_exception_std_exception_wrapper: public T, public boost::exception { public: explicit current_exception_std_exception_wrapper( T const & e1 ): T(e1) { add_original_type(e1); } current_exception_std_exception_wrapper( T const & e1, boost::exception const & e2 ): T(e1), boost::exception(e2) { add_original_type(e1); } ~current_exception_std_exception_wrapper() BOOST_NOEXCEPT_OR_NOTHROW { } private: template void add_original_type( E const & e ) { #ifndef BOOST_NO_RTTI (*this) << original_exception_type(&typeid(e)); #endif } }; #ifdef BOOST_NO_RTTI template boost::exception const * get_boost_exception( T const * ) { try { throw; } catch( boost::exception & x ) { return &x; } catch(...) { return 0; } } #else template boost::exception const * get_boost_exception( T const * x ) { return dynamic_cast(x); } #endif template inline exception_ptr current_exception_std_exception( T const & e1 ) { if( boost::exception const * e2 = get_boost_exception(&e1) ) return boost::copy_exception(current_exception_std_exception_wrapper(e1,*e2)); else return boost::copy_exception(current_exception_std_exception_wrapper(e1)); } inline exception_ptr current_exception_unknown_exception() { return boost::copy_exception(unknown_exception()); } inline exception_ptr current_exception_unknown_boost_exception( boost::exception const & e ) { return boost::copy_exception(unknown_exception(e)); } inline exception_ptr current_exception_unknown_std_exception( std::exception const & e ) { if( boost::exception const * be = get_boost_exception(&e) ) return current_exception_unknown_boost_exception(*be); else return boost::copy_exception(unknown_exception(e)); } inline exception_ptr current_exception_impl() { exception_detail::clone_base const * e=0; switch( exception_detail::clone_current_exception(e) ) { case exception_detail::clone_current_exception_result:: success: { BOOST_ASSERT(e!=0); return exception_ptr(shared_ptr(e)); } case exception_detail::clone_current_exception_result:: bad_alloc: { BOOST_ASSERT(!e); return exception_detail::exception_ptr_static_exception_object::e; } case exception_detail::clone_current_exception_result:: bad_exception: { BOOST_ASSERT(!e); return exception_detail::exception_ptr_static_exception_object::e; } default: BOOST_ASSERT(0); case exception_detail::clone_current_exception_result:: not_supported: { BOOST_ASSERT(!e); try { throw; } catch( exception_detail::clone_base & e ) { return exception_ptr(shared_ptr(e.clone())); } catch( std::domain_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::invalid_argument & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::length_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::out_of_range & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::logic_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::range_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::overflow_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::underflow_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::ios_base::failure & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::runtime_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::bad_alloc & e ) { return exception_detail::current_exception_std_exception(e); } #ifndef BOOST_NO_TYPEID catch( std::bad_cast & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::bad_typeid & e ) { return exception_detail::current_exception_std_exception(e); } #endif catch( std::bad_exception & e ) { return exception_detail::current_exception_std_exception(e); } #ifdef BOOST_NO_CXX11_HDR_EXCEPTION // this case can be handled losslesly with std::current_exception() (see below) catch( std::exception & e ) { return exception_detail::current_exception_unknown_std_exception(e); } #endif catch( boost::exception & e ) { return exception_detail::current_exception_unknown_boost_exception(e); } catch( ... ) { #ifndef BOOST_NO_CXX11_HDR_EXCEPTION try { return exception_ptr(std::current_exception()); } catch( ...) { return exception_detail::current_exception_unknown_exception(); } #else return exception_detail::current_exception_unknown_exception(); #endif } } } } } inline exception_ptr current_exception() { exception_ptr ret; try { ret=exception_detail::current_exception_impl(); } catch( std::bad_alloc & ) { ret=exception_detail::exception_ptr_static_exception_object::e; } catch( ... ) { ret=exception_detail::exception_ptr_static_exception_object::e; } BOOST_ASSERT(ret); return ret; } #endif // ifndef BOOST_NO_EXCEPTIONS namespace exception_detail { inline void rethrow_exception_( exception_ptr const & p ) { BOOST_ASSERT(p); #if defined( BOOST_NO_CXX11_HDR_EXCEPTION ) || defined( BOOST_NO_EXCEPTIONS ) p.ptr_->rethrow(); #else try { p.ptr_->rethrow(); } catch( std_exception_ptr_wrapper const & wrp) { // if an std::exception_ptr was wrapped above then rethrow it std::rethrow_exception(wrp.p); } #endif } } BOOST_NORETURN inline void rethrow_exception( exception_ptr const & p ) { exception_detail::rethrow_exception_(p); BOOST_ASSERT(0); #if defined(UNDER_CE) // some CE platforms don't define ::abort() exit(-1); #else abort(); #endif } inline std::string diagnostic_information( exception_ptr const & p, bool verbose=true ) { if( p ) #ifdef BOOST_NO_EXCEPTIONS return " due to BOOST_NO_EXCEPTIONS"; #else try { rethrow_exception(p); } catch( ... ) { return current_exception_diagnostic_information(verbose); } #endif return ""; } inline std::string to_string( exception_ptr const & p ) { std::string s='\n'+diagnostic_information(p); std::string padding(" "); std::string r; bool f=false; for( std::string::const_iterator i=s.begin(),e=s.end(); i!=e; ++i ) { if( f ) r+=padding; char c=*i; r+=c; f=(c=='\n'); } return r; } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/detail/is_output_streamable.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_898984B4076411DD973EDFA055D89593 #define BOOST_EXCEPTION_898984B4076411DD973EDFA055D89593 #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { namespace to_string_detail { struct partial_ordering_helper1 { template partial_ordering_helper1( std::basic_ostream & ); }; struct partial_ordering_helper2 { template partial_ordering_helper2( T const & ); }; char operator<<( partial_ordering_helper1, partial_ordering_helper2 ); template struct is_output_streamable_impl { static std::basic_ostream & f(); static T const & g(); enum e { value=1!=(sizeof(f()< > struct is_output_streamable { enum e { value=to_string_detail::is_output_streamable_impl::value }; }; } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/detail/object_hex_dump.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_6F463AC838DF11DDA3E6909F56D89593 #define BOOST_EXCEPTION_6F463AC838DF11DDA3E6909F56D89593 #include #include #include #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { namespace exception_detail { template inline std::string object_hex_dump( T const & x, std::size_t max_size=16 ) { std::ostringstream s; s << "type: " << type_name() << ", size: " << sizeof(T) << ", dump: "; std::size_t n=sizeof(T)>max_size?max_size:sizeof(T); s.fill('0'); s.width(2); unsigned char const * b=reinterpret_cast(&x); s << std::setw(2) << std::hex << (unsigned int)*b; for( unsigned char const * e=b+n; ++b!=e; ) s << " " << std::setw(2) << std::hex << (unsigned int)*b; return s.str(); } } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/detail/shared_ptr.hpp ================================================ //Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_837060E885AF11E68DA91D15E31AC075 #define BOOST_EXCEPTION_837060E885AF11E68DA91D15E31AC075 #ifdef BOOST_EXCEPTION_MINI_BOOST #include namespace boost { namespace exception_detail { using std::shared_ptr; } } #else #include namespace boost { namespace exception_detail { using boost::shared_ptr; } } #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/detail/type_info.hpp ================================================ //Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_C3E1741C754311DDB2834CCA55D89593 #define BOOST_EXCEPTION_C3E1741C754311DDB2834CCA55D89593 #include #include #include #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { template inline std::string tag_type_name() { #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else return core::demangle(typeid(T*).name()); #endif } template inline std::string type_name() { #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else return core::demangle(typeid(T).name()); #endif } namespace exception_detail { struct type_info_ { core::typeinfo const * type_; explicit type_info_( core::typeinfo const & type ): type_(&type) { } friend bool operator<( type_info_ const & a, type_info_ const & b ) { return a.type_!=b.type_ && strcmp(a.type_->name(), b.type_->name()) < 0; } }; } } #define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_CORE_TYPEID(T)) #ifndef BOOST_NO_RTTI #define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x)) #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/diagnostic_information.hpp ================================================ //Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_0552D49838DD11DD90146B8956D89593 #define BOOST_EXCEPTION_0552D49838DD11DD90146B8956D89593 #include #include #include #include #ifndef BOOST_NO_RTTI #include #endif #include #include #include #ifndef BOOST_NO_EXCEPTIONS #include #endif #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif #ifndef BOOST_NO_EXCEPTIONS namespace boost { namespace exception_detail { std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool, bool ); } inline std::string current_exception_diagnostic_information( bool verbose=true) { boost::exception const * be=current_exception_cast(); std::exception const * se=current_exception_cast(); if( be || se ) return exception_detail::diagnostic_information_impl(be,se,true,verbose); #if defined(__GLIBCXX__) && __cplusplus >= 201103L && !defined(BOOST_NO_RTTI) else if (auto* p=std::current_exception().__cxa_exception_type()) return "Dynamic exception type: "+boost::core::demangle(p->name()); #endif else return "No diagnostic information available."; } } #endif namespace boost { namespace exception_detail { inline exception const * get_boost_exception( exception const * e ) { return e; } inline exception const * get_boost_exception( ... ) { return 0; } inline std::exception const * get_std_exception( std::exception const * e ) { return e; } inline std::exception const * get_std_exception( ... ) { return 0; } inline char const * get_diagnostic_information( exception const & x, char const * header ) { #ifndef BOOST_NO_EXCEPTIONS try { #endif error_info_container * c=x.data_.get(); if( !c ) x.data_.adopt(c=new exception_detail::error_info_container_impl); char const * di=c->diagnostic_information(header); BOOST_ASSERT(di!=0); return di; #ifndef BOOST_NO_EXCEPTIONS } catch(...) { return 0; } #endif } inline std::string diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what, bool verbose ) { if( !be && !se ) return "Unknown exception."; #ifndef BOOST_NO_RTTI if( !be ) be=dynamic_cast(se); if( !se ) se=dynamic_cast(be); #endif char const * wh=0; if( with_what && se ) { wh=se->what(); if( be && exception_detail::get_diagnostic_information(*be,0)==wh ) return wh; } std::ostringstream tmp; if( be && verbose ) { char const * const * f=get_error_info(*be); int const * l=get_error_info(*be); char const * const * fn=get_error_info(*be); if( !f && !l && !fn ) tmp << "Throw location unknown (consider using BOOST_THROW_EXCEPTION)\n"; else { if( f ) { tmp << *f; if( int const * l=get_error_info(*be) ) tmp << '(' << *l << "): "; } tmp << "Throw in function "; if( char const * const * fn=get_error_info(*be) ) tmp << *fn; else tmp << "(unknown)"; tmp << '\n'; } } #ifndef BOOST_NO_RTTI if ( verbose ) tmp << std::string("Dynamic exception type: ") << core::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n'; #endif if( with_what && se && verbose ) tmp << "std::exception::what: " << (wh ? wh : "(null)") << '\n'; if( be ) if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) ) if( *s ) return std::string(s); return tmp.str(); } } template std::string diagnostic_information( T const & e, bool verbose=true ) { return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true,verbose); } inline char const * diagnostic_information_what( exception const & e, bool verbose=true ) BOOST_NOEXCEPT_OR_NOTHROW { char const * w=0; #ifndef BOOST_NO_EXCEPTIONS try { #endif (void) exception_detail::diagnostic_information_impl(&e,0,false,verbose); if( char const * di=exception_detail::get_diagnostic_information(e,0) ) return di; else return "Failed to produce boost::diagnostic_information_what()"; #ifndef BOOST_NO_EXCEPTIONS } catch( ... ) { } #endif return w; } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/enable_current_exception.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_851700A4F7CF11E6B2EE06DD14915323 #define BOOST_EXCEPTION_851700A4F7CF11E6B2EE06DD14915323 #include #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/enable_error_info.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_A0F7404AF7CF11E6908227DD14915323 #define BOOST_EXCEPTION_A0F7404AF7CF11E6908227DD14915323 #include #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_api_function.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_DDFBB4546C1211DEA4659E9055D89593 #define BOOST_EXCEPTION_DDFBB4546C1211DEA4659E9055D89593 #include namespace boost { //Usage hint: //if( api_function(....)!=0 ) // BOOST_THROW_EXCEPTION( // failure() << // errinfo_api_function("api_function") ); typedef error_info errinfo_api_function; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_at_line.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_E7255CE26C1211DE85800C9155D89593 #define BOOST_EXCEPTION_E7255CE26C1211DE85800C9155D89593 namespace boost { template class error_info; //Use with parsing errors exceptions, for example in a XML file parser. typedef error_info errinfo_at_line; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_errno.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_F0EE17BE6C1211DE87FF459155D89593 #define BOOST_EXCEPTION_F0EE17BE6C1211DE87FF459155D89593 #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #pragma warning(disable:4996) #endif #endif namespace boost { typedef error_info errinfo_errno; //Usage hint: //if( c_function(....)!=0 ) // BOOST_THROW_EXCEPTION( // failure() << // errinfo_errno(errno) << // errinfo_api_function("c_function") ); inline std::string to_string( errinfo_errno const & e ) { std::ostringstream tmp; int v=e.value(); tmp << '[' << error_info_name(e) << "] = " << v << ", \"" << strerror(v) << "\"\n"; return tmp.str(); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_file_handle.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_F79E6EE26C1211DEB26E929155D89593 #define BOOST_EXCEPTION_F79E6EE26C1211DEB26E929155D89593 #include namespace boost { template class weak_ptr; template class error_info; typedef error_info > errinfo_file_handle; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_file_name.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_FEE5120A6C1211DE94E8BC9155D89593 #define BOOST_EXCEPTION_FEE5120A6C1211DE94E8BC9155D89593 #include namespace boost { template class error_info; //Usage hint: //FILE * f=fopen(name,mode); //if( !f ) // BOOST_THROW_EXCEPTION( // file_open_error() << // errinfo_file_name(name) << // errinfo_file_open_mode(mode) ); typedef error_info errinfo_file_name; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_file_open_mode.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_056F1F266C1311DE8E74299255D89593 #define BOOST_EXCEPTION_056F1F266C1311DE8E74299255D89593 #include namespace boost { template class error_info; //Usage hint: //FILE * f=fopen(name,mode); //if( !f ) // BOOST_THROW_EXCEPTION( // file_open_error() << // errinfo_file_name(name) << // errinfo_file_open_mode(mode) ); typedef error_info errinfo_file_open_mode; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_nested_exception.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_45CC9A82B77511DEB330FC4956D89593 #define BOOST_EXCEPTION_45CC9A82B77511DEB330FC4956D89593 namespace boost { namespace exception_detail { class clone_base; } template class error_info; class exception_ptr; typedef error_info errinfo_nested_exception; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/errinfo_type_info_name.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_0E11109E6C1311DEB7EA649255D89593 #define BOOST_EXCEPTION_0E11109E6C1311DEB7EA649255D89593 #include namespace boost { template class error_info; //Usage hint: //BOOST_THROW_EXCEPTION( // bad_type() << // errinfo_type_info_name(typeid(x).name()) ); typedef error_info errinfo_type_info_name; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/error_info.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_EE7ECCA0433B11E1923E37064924019B #define BOOST_EXCEPTION_EE7ECCA0433B11E1923E37064924019B namespace boost { template class error_info; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/exception.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 #define BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 #include #include #ifdef BOOST_EXCEPTION_MINI_BOOST #include namespace boost { namespace exception_detail { using std::shared_ptr; } } #else namespace boost { template class shared_ptr; } namespace boost { namespace exception_detail { using boost::shared_ptr; } } #endif #if !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #pragma warning(disable: 4265) #endif #endif namespace boost { namespace exception_detail { template class refcount_ptr { public: refcount_ptr(): px_(0) { } ~refcount_ptr() { release(); } refcount_ptr( refcount_ptr const & x ): px_(x.px_) { add_ref(); } refcount_ptr & operator=( refcount_ptr const & x ) { adopt(x.px_); return *this; } void adopt( T * px ) { release(); px_=px; add_ref(); } T * get() const { return px_; } private: T * px_; void add_ref() { if( px_ ) px_->add_ref(); } void release() { if( px_ && px_->release() ) px_=0; } }; } //////////////////////////////////////////////////////////////////////// template class error_info; typedef error_info throw_function; typedef error_info throw_file; typedef error_info throw_line; template <> class error_info { public: typedef char const * value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; template <> class error_info { public: typedef char const * value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; template <> class error_info { public: typedef int value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; class BOOST_SYMBOL_VISIBLE exception; namespace exception_detail { class error_info_base; struct type_info_; struct error_info_container { virtual char const * diagnostic_information( char const * ) const = 0; virtual shared_ptr get( type_info_ const & ) const = 0; virtual void set( shared_ptr const &, type_info_ const & ) = 0; virtual void add_ref() const = 0; virtual bool release() const = 0; virtual refcount_ptr clone() const = 0; protected: ~error_info_container() BOOST_NOEXCEPT_OR_NOTHROW { } }; template struct get_info; template <> struct get_info; template <> struct get_info; template <> struct get_info; template struct set_info_rv; template <> struct set_info_rv; template <> struct set_info_rv; template <> struct set_info_rv; char const * get_diagnostic_information( exception const &, char const * ); void copy_boost_exception( exception *, exception const * ); template E const & set_info( E const &, error_info const & ); template E const & set_info( E const &, throw_function const & ); template E const & set_info( E const &, throw_file const & ); template E const & set_info( E const &, throw_line const & ); } class BOOST_SYMBOL_VISIBLE exception { // public: template void set( typename Tag::type const & ); template typename Tag::type const * get() const; // protected: exception(): throw_function_(0), throw_file_(0), throw_line_(-1) { } #ifdef __HP_aCC //On HP aCC, this protected copy constructor prevents throwing boost::exception. //On all other platforms, the same effect is achieved by the pure virtual destructor. exception( exception const & x ) BOOST_NOEXCEPT_OR_NOTHROW: data_(x.data_), throw_function_(x.throw_function_), throw_file_(x.throw_file_), throw_line_(x.throw_line_) { } #endif virtual ~exception() BOOST_NOEXCEPT_OR_NOTHROW #ifndef __HP_aCC = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors. #endif ; #if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310) public: #else private: template friend E const & exception_detail::set_info( E const &, throw_function const & ); template friend E const & exception_detail::set_info( E const &, throw_file const & ); template friend E const & exception_detail::set_info( E const &, throw_line const & ); template friend E const & exception_detail::set_info( E const &, error_info const & ); friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); template friend struct exception_detail::get_info; friend struct exception_detail::get_info; friend struct exception_detail::get_info; friend struct exception_detail::get_info; template friend struct exception_detail::set_info_rv; friend struct exception_detail::set_info_rv; friend struct exception_detail::set_info_rv; friend struct exception_detail::set_info_rv; friend void exception_detail::copy_boost_exception( exception *, exception const * ); #endif mutable exception_detail::refcount_ptr data_; mutable char const * throw_function_; mutable char const * throw_file_; mutable int throw_line_; }; inline exception:: ~exception() BOOST_NOEXCEPT_OR_NOTHROW { } namespace exception_detail { template E const & set_info( E const & x, throw_function const & y ) { x.throw_function_=y.v_; return x; } template E const & set_info( E const & x, throw_file const & y ) { x.throw_file_=y.v_; return x; } template E const & set_info( E const & x, throw_line const & y ) { x.throw_line_=y.v_; return x; } } //////////////////////////////////////////////////////////////////////// namespace exception_detail { template struct BOOST_SYMBOL_VISIBLE error_info_injector: public T, public exception { explicit error_info_injector( T const & x ): T(x) { } ~error_info_injector() BOOST_NOEXCEPT_OR_NOTHROW { } }; struct large_size { char c[256]; }; large_size dispatch_boost_exception( exception const * ); struct small_size { }; small_size dispatch_boost_exception( void const * ); template struct enable_error_info_helper; template struct enable_error_info_helper { typedef T type; }; template struct enable_error_info_helper { typedef error_info_injector type; }; template struct enable_error_info_return_type { typedef typename enable_error_info_helper(0)))>::type type; }; } template inline typename exception_detail::enable_error_info_return_type::type enable_error_info( T const & x ) { typedef typename exception_detail::enable_error_info_return_type::type rt; return rt(x); } //////////////////////////////////////////////////////////////////////// #if defined(BOOST_NO_EXCEPTIONS) BOOST_NORETURN void throw_exception(std::exception const & e); // user defined #endif namespace exception_detail { class BOOST_SYMBOL_VISIBLE clone_base { public: virtual clone_base const * clone() const = 0; virtual void rethrow() const = 0; virtual ~clone_base() BOOST_NOEXCEPT_OR_NOTHROW { } }; inline void copy_boost_exception( exception * a, exception const * b ) { refcount_ptr data; if( error_info_container * d=b->data_.get() ) data = d->clone(); a->throw_file_ = b->throw_file_; a->throw_line_ = b->throw_line_; a->throw_function_ = b->throw_function_; a->data_ = data; } inline void copy_boost_exception( void *, void const * ) { } template class BOOST_SYMBOL_VISIBLE clone_impl: public T, public virtual clone_base { struct clone_tag { }; clone_impl( clone_impl const & x, clone_tag ): T(x) { copy_boost_exception(this,&x); } public: explicit clone_impl( T const & x ): T(x) { copy_boost_exception(this,&x); } ~clone_impl() BOOST_NOEXCEPT_OR_NOTHROW { } private: clone_base const * clone() const { return new clone_impl(*this,clone_tag()); } void rethrow() const { #if defined(BOOST_NO_EXCEPTIONS) boost::throw_exception(*this); #else throw*this; #endif } }; } template inline exception_detail::clone_impl enable_current_exception( T const & x ) { return exception_detail::clone_impl(x); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif // #ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/get_error_info.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_1A590226753311DD9E4CCF6156D89593 #define BOOST_EXCEPTION_1A590226753311DD9E4CCF6156D89593 #include #include #include #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { namespace exception_detail { template struct get_info { static typename ErrorInfo::value_type * get( exception const & x ) { if( exception_detail::error_info_container * c=x.data_.get() ) if( shared_ptr eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) ) { #ifndef BOOST_NO_RTTI BOOST_ASSERT( 0!=dynamic_cast(eib.get()) ); #endif ErrorInfo * w = static_cast(eib.get()); return &w->value(); } return 0; } }; template <> struct get_info { static char const * * get( exception const & x ) { return x.throw_function_ ? &x.throw_function_ : 0; } }; template <> struct get_info { static char const * * get( exception const & x ) { return x.throw_file_ ? &x.throw_file_ : 0; } }; template <> struct get_info { static int * get( exception const & x ) { return x.throw_line_!=-1 ? &x.throw_line_ : 0; } }; template struct get_error_info_return_type { typedef R * type; }; template struct get_error_info_return_type { typedef R const * type; }; } #ifdef BOOST_NO_RTTI template inline typename ErrorInfo::value_type const * get_error_info( boost::exception const & x ) { return exception_detail::get_info::get(x); } template inline typename ErrorInfo::value_type * get_error_info( boost::exception & x ) { return exception_detail::get_info::get(x); } #else template inline typename exception_detail::get_error_info_return_type::type get_error_info( E & some_exception ) { if( exception const * x = dynamic_cast(&some_exception) ) return exception_detail::get_info::get(*x); else return 0; } #endif } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/info.hpp ================================================ //Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_8D22C4CA9CC811DCAA9133D256D89593 #define BOOST_EXCEPTION_8D22C4CA9CC811DCAA9133D256D89593 #include #include #include #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { template inline std::string error_info_name( error_info const & ) { return tag_type_name(); } template inline std::string to_string( error_info const & x ) { return '[' + error_info_name(x) + "] = " + to_string_stub(x.value()) + '\n'; } template inline std::string error_info:: name_value_string() const { return to_string_stub(*this); } namespace exception_detail { class error_info_container_impl BOOST_FINAL: public error_info_container { public: error_info_container_impl(): count_(0) { } ~error_info_container_impl() BOOST_NOEXCEPT_OR_NOTHROW { } void set( shared_ptr const & x, type_info_ const & typeid_ ) { BOOST_ASSERT(x); info_[typeid_] = x; diagnostic_info_str_.clear(); } shared_ptr get( type_info_ const & ti ) const { error_info_map::const_iterator i=info_.find(ti); if( info_.end()!=i ) { shared_ptr const & p = i->second; return p; } return shared_ptr(); } char const * diagnostic_information( char const * header ) const { if( header ) { std::ostringstream tmp; tmp << header; for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i ) { error_info_base const & x = *i->second; tmp << x.name_value_string(); } tmp.str().swap(diagnostic_info_str_); } return diagnostic_info_str_.c_str(); } private: friend class boost::exception; typedef std::map< type_info_, shared_ptr > error_info_map; error_info_map info_; mutable std::string diagnostic_info_str_; mutable int count_; error_info_container_impl( error_info_container_impl const & ); error_info_container_impl & operator=( error_info_container const & ); void add_ref() const { ++count_; } bool release() const { if( --count_ ) return false; else { delete this; return true; } } refcount_ptr clone() const { refcount_ptr p; error_info_container_impl * c=new error_info_container_impl; p.adopt(c); for( error_info_map::const_iterator i=info_.begin(),e=info_.end(); i!=e; ++i ) { shared_ptr cp(i->second->clone()); c->info_.insert(std::make_pair(i->first,cp)); } return p; } }; template inline E const & set_info( E const & x, error_info const & v ) { typedef error_info error_info_tag_t; shared_ptr p( new error_info_tag_t(v) ); exception_detail::error_info_container * c=x.data_.get(); if( !c ) x.data_.adopt(c=new exception_detail::error_info_container_impl); c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t)); return x; } #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template E const & set_info( E const &, error_info && ); template struct set_info_rv; template struct set_info_rv > { template friend E const & set_info( E const &, error_info && ); template static E const & set( E const & x, error_info && v ) { typedef error_info error_info_tag_t; shared_ptr p( new error_info_tag_t(std::move(v)) ); exception_detail::error_info_container * c=x.data_.get(); if( !c ) x.data_.adopt(c=new exception_detail::error_info_container_impl); c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t)); return x; } }; template <> struct set_info_rv { template friend E const & set_info( E const &, error_info && ); template static E const & set( E const & x, throw_function && y ) { x.throw_function_=y.v_; return x; } }; template <> struct set_info_rv { template friend E const & set_info( E const &, error_info && ); template static E const & set( E const & x, throw_file && y ) { x.throw_file_=y.v_; return x; } }; template <> struct set_info_rv { template friend E const & set_info( E const &, error_info && ); template static E const & set( E const & x, throw_line && y ) { x.throw_line_=y.v_; return x; } }; template inline E const & set_info( E const & x, error_info && v ) { return set_info_rv >::template set(x,std::move(v)); } #endif template struct derives_boost_exception { enum e { value = (sizeof(dispatch_boost_exception((T*)0))==sizeof(large_size)) }; }; } template inline typename enable_if,E const &>::type operator<<( E const & x, error_info const & v ) { return exception_detail::set_info(x,v); } #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template inline typename enable_if,E const &>::type operator<<( E const & x, error_info && v ) { return exception_detail::set_info(x,std::move(v)); } #endif } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/info_tuple.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_63EE924290FB11DC87BB856555D89593 #define BOOST_EXCEPTION_63EE924290FB11DC87BB856555D89593 #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { template < class E > inline E const & operator<<( E const & x, tuple< > const & v ) { return x; } template < class E, class Tag1,class T1 > inline E const & operator<<( E const & x, tuple< error_info > const & v ) { return x << v.template get<0>(); } template < class E, class Tag1,class T1, class Tag2,class T2 > inline E const & operator<<( E const & x, tuple< error_info, error_info > const & v ) { return x << v.template get<0>() << v.template get<1>(); } template < class E, class Tag1,class T1, class Tag2,class T2, class Tag3,class T3 > inline E const & operator<<( E const & x, tuple< error_info, error_info, error_info > const & v ) { return x << v.template get<0>() << v.template get<1>() << v.template get<2>(); } template < class E, class Tag1,class T1, class Tag2,class T2, class Tag3,class T3, class Tag4,class T4 > inline E const & operator<<( E const & x, tuple< error_info, error_info, error_info, error_info > const & v ) { return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>(); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/to_string.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593 #define BOOST_EXCEPTION_7E48761AD92811DC9011477D56D89593 #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { template std::string to_string( std::pair const & ); std::string to_string( std::exception const & ); namespace to_string_detail { template typename disable_if,char>::type to_string( T const & ); using boost::to_string; template struct has_to_string_impl; template struct has_to_string_impl { enum e { value=1 }; }; template struct has_to_string_impl { static T const & f(); enum e { value=1!=sizeof(to_string(f())) }; }; } template inline typename enable_if,std::string>::type to_string( T const & x ) { std::ostringstream out; out << x; return out.str(); } template struct has_to_string { enum e { value=to_string_detail::has_to_string_impl::value>::value }; }; template inline std::string to_string( std::pair const & x ) { return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')'; } inline std::string to_string( std::exception const & x ) { return x.what(); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/exception/to_string_stub.hpp ================================================ //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_EXCEPTION_E788439ED9F011DCB181F25B55D89593 #define BOOST_EXCEPTION_E788439ED9F011DCB181F25B55D89593 #include #include #include #ifndef BOOST_EXCEPTION_ENABLE_WARNINGS #if __GNUC__*100+__GNUC_MINOR__>301 #pragma GCC system_header #endif #ifdef __clang__ #pragma clang system_header #endif #ifdef _MSC_VER #pragma warning(push,1) #endif #endif namespace boost { namespace exception_detail { template struct to_string_dispatcher { template static std::string convert( T const & x, Stub ) { return to_string(x); } }; template <> struct to_string_dispatcher { template static std::string convert( T const & x, Stub s ) { return s(x); } template static std::string convert( T const & x, std::string s ) { return s; } template static std::string convert( T const & x, char const * s ) { BOOST_ASSERT(s!=0); return s; } }; namespace to_string_dispatch { template inline std::string dispatch( T const & x, Stub s ) { return to_string_dispatcher::value>::convert(x,s); } } template inline std::string string_stub_dump( T const & x ) { return "[ " + exception_detail::object_hex_dump(x) + " ]"; } } template inline std::string to_string_stub( T const & x ) { return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump); } template inline std::string to_string_stub( T const & x, Stub s ) { return exception_detail::to_string_dispatch::dispatch(x,s); } template inline std::string to_string_stub( std::pair const & x, Stub s ) { return std::string("(") + to_string_stub(x.first,s) + ',' + to_string_stub(x.second,s) + ')'; } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/concepts.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE concepts.hpp * VERSION see * DESCRIPTION: Declares regular expression concepts. */ #ifndef BOOST_REGEX_CONCEPTS_HPP_INCLUDED #define BOOST_REGEX_CONCEPTS_HPP_INCLUDED #include #include #include #include #include #ifndef BOOST_TEST_TR1_REGEX #include #endif #include #include #include #ifdef BOOST_REGEX_CXX03 #define RW_NS boost #else #define RW_NS std #endif namespace boost{ // // bitmask_archetype: // this can be either an integer type, an enum, or a std::bitset, // we use the latter as the architype as it offers the "strictest" // of the possible interfaces: // typedef std::bitset<512> bitmask_archetype; // // char_architype: // A strict model for the character type interface. // struct char_architype { // default constructable: char_architype(); // copy constructable / assignable: char_architype(const char_architype&); char_architype& operator=(const char_architype&); // constructable from an integral value: char_architype(unsigned long val); // comparable: bool operator==(const char_architype&)const; bool operator!=(const char_architype&)const; bool operator<(const char_architype&)const; bool operator<=(const char_architype&)const; bool operator>=(const char_architype&)const; bool operator>(const char_architype&)const; // conversion to integral type: operator long()const; }; inline long hash_value(char_architype val) { return val; } // // char_architype can not be used with basic_string: // } // namespace boost namespace std{ template<> struct char_traits { // The intent is that this template is not instantiated, // but this typedef gives us a chance of compilation in // case it is: typedef boost::char_architype char_type; }; } // // Allocator architype: // template class allocator_architype { public: typedef T* pointer; typedef const T* const_pointer; typedef T& reference; typedef const T& const_reference; typedef T value_type; typedef unsigned size_type; typedef int difference_type; template struct rebind { typedef allocator_architype other; }; pointer address(reference r){ return &r; } const_pointer address(const_reference r) { return &r; } pointer allocate(size_type n) { return static_cast(std::malloc(n)); } pointer allocate(size_type n, pointer) { return static_cast(std::malloc(n)); } void deallocate(pointer p, size_type) { std::free(p); } size_type max_size()const { return UINT_MAX; } allocator_architype(){} allocator_architype(const allocator_architype&){} template allocator_architype(const allocator_architype&){} void construct(pointer p, const_reference r) { new (p)T(r); } void destroy(pointer p) { p->~T(); } }; template bool operator == (const allocator_architype&, const allocator_architype&) {return true; } template bool operator != (const allocator_architype&, const allocator_architype&) { return false; } namespace boost{ // // regex_traits_architype: // A strict interpretation of the regular expression traits class requirements. // template struct regex_traits_architype { public: regex_traits_architype(){} typedef charT char_type; // typedef std::size_t size_type; typedef std::vector string_type; typedef copy_constructible_archetype > locale_type; typedef bitmask_archetype char_class_type; static std::size_t length(const char_type* ) { return 0; } charT translate(charT ) const { return charT(); } charT translate_nocase(charT ) const { return static_object::get(); } template string_type transform(ForwardIterator , ForwardIterator ) const { return static_object::get(); } template string_type transform_primary(ForwardIterator , ForwardIterator ) const { return static_object::get(); } template char_class_type lookup_classname(ForwardIterator , ForwardIterator ) const { return static_object::get(); } template string_type lookup_collatename(ForwardIterator , ForwardIterator ) const { return static_object::get(); } bool isctype(charT, char_class_type) const { return false; } int value(charT, int) const { return 0; } locale_type imbue(locale_type l) { return l; } locale_type getloc()const { return static_object::get(); } private: // this type is not copyable: regex_traits_architype(const regex_traits_architype&){} regex_traits_architype& operator=(const regex_traits_architype&){ return *this; } }; // // alter this to std::tr1, to test a std implementation: // #ifndef BOOST_TEST_TR1_REGEX namespace global_regex_namespace = ::boost; #else namespace global_regex_namespace = ::std::tr1; #endif template struct BitmaskConcept { void constraints() { function_requires >(); function_requires >(); m_mask1 = m_mask2 | m_mask3; m_mask1 = m_mask2 & m_mask3; m_mask1 = m_mask2 ^ m_mask3; m_mask1 = ~m_mask2; m_mask1 |= m_mask2; m_mask1 &= m_mask2; m_mask1 ^= m_mask2; } Bitmask m_mask1, m_mask2, m_mask3; }; template struct RegexTraitsConcept { RegexTraitsConcept(); // required typedefs: typedef typename traits::char_type char_type; // typedef typename traits::size_type size_type; typedef typename traits::string_type string_type; typedef typename traits::locale_type locale_type; typedef typename traits::char_class_type char_class_type; void constraints() { //function_requires >(); function_requires >(); function_requires >(); function_requires >(); function_requires >(); function_requires >(); std::size_t n = traits::length(m_pointer); ignore_unused_variable_warning(n); char_type c = m_ctraits.translate(m_char); ignore_unused_variable_warning(c); c = m_ctraits.translate_nocase(m_char); //string_type::foobar bar; string_type s1 = m_ctraits.transform(m_pointer, m_pointer); ignore_unused_variable_warning(s1); string_type s2 = m_ctraits.transform_primary(m_pointer, m_pointer); ignore_unused_variable_warning(s2); char_class_type cc = m_ctraits.lookup_classname(m_pointer, m_pointer); ignore_unused_variable_warning(cc); string_type s3 = m_ctraits.lookup_collatename(m_pointer, m_pointer); ignore_unused_variable_warning(s3); bool b = m_ctraits.isctype(m_char, cc); ignore_unused_variable_warning(b); int v = m_ctraits.value(m_char, 16); ignore_unused_variable_warning(v); locale_type l(m_ctraits.getloc()); m_traits.imbue(l); ignore_unused_variable_warning(l); } traits m_traits; const traits m_ctraits; const char_type* m_pointer; char_type m_char; private: RegexTraitsConcept& operator=(RegexTraitsConcept&); }; // // helper class to compute what traits class a regular expression type is using: // template struct regex_traits_computer; template struct regex_traits_computer< global_regex_namespace::basic_regex > { typedef traits type; }; // // BaseRegexConcept does not test anything dependent on basic_string, // in case our charT does not have an associated char_traits: // template struct BaseRegexConcept { typedef typename Regex::value_type value_type; //typedef typename Regex::size_type size_type; typedef typename Regex::flag_type flag_type; typedef typename Regex::locale_type locale_type; typedef input_iterator_archetype input_iterator_type; // derived test types: typedef const value_type* pointer_type; typedef bidirectional_iterator_archetype BidiIterator; typedef global_regex_namespace::sub_match sub_match_type; typedef global_regex_namespace::match_results > match_results_type; typedef global_regex_namespace::match_results match_results_default_type; typedef output_iterator_archetype OutIterator; typedef typename regex_traits_computer::type traits_type; typedef global_regex_namespace::regex_iterator regex_iterator_type; typedef global_regex_namespace::regex_token_iterator regex_token_iterator_type; void global_constraints() { // // test non-template components: // function_requires >(); global_regex_namespace::regex_constants::syntax_option_type opts = global_regex_namespace::regex_constants::icase | global_regex_namespace::regex_constants::nosubs | global_regex_namespace::regex_constants::optimize | global_regex_namespace::regex_constants::collate | global_regex_namespace::regex_constants::ECMAScript | global_regex_namespace::regex_constants::basic | global_regex_namespace::regex_constants::extended | global_regex_namespace::regex_constants::awk | global_regex_namespace::regex_constants::grep | global_regex_namespace::regex_constants::egrep; ignore_unused_variable_warning(opts); function_requires >(); global_regex_namespace::regex_constants::match_flag_type mopts = global_regex_namespace::regex_constants::match_default | global_regex_namespace::regex_constants::match_not_bol | global_regex_namespace::regex_constants::match_not_eol | global_regex_namespace::regex_constants::match_not_bow | global_regex_namespace::regex_constants::match_not_eow | global_regex_namespace::regex_constants::match_any | global_regex_namespace::regex_constants::match_not_null | global_regex_namespace::regex_constants::match_continuous | global_regex_namespace::regex_constants::match_prev_avail | global_regex_namespace::regex_constants::format_default | global_regex_namespace::regex_constants::format_sed | global_regex_namespace::regex_constants::format_no_copy | global_regex_namespace::regex_constants::format_first_only; ignore_unused_variable_warning(mopts); BOOST_STATIC_ASSERT((::boost::is_enum::value)); global_regex_namespace::regex_constants::error_type e1 = global_regex_namespace::regex_constants::error_collate; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_ctype; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_escape; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_backref; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_brack; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_paren; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_brace; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_badbrace; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_range; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_space; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_badrepeat; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_complexity; ignore_unused_variable_warning(e1); e1 = global_regex_namespace::regex_constants::error_stack; ignore_unused_variable_warning(e1); BOOST_STATIC_ASSERT((::boost::is_base_and_derived::value )); const global_regex_namespace::regex_error except(e1); e1 = except.code(); typedef typename Regex::value_type regex_value_type; function_requires< RegexTraitsConcept > >(); function_requires< BaseRegexConcept > >(); } void constraints() { global_constraints(); BOOST_STATIC_ASSERT((::boost::is_same< flag_type, global_regex_namespace::regex_constants::syntax_option_type>::value)); flag_type opts = Regex::icase | Regex::nosubs | Regex::optimize | Regex::collate | Regex::ECMAScript | Regex::basic | Regex::extended | Regex::awk | Regex::grep | Regex::egrep; ignore_unused_variable_warning(opts); function_requires >(); function_requires >(); // Regex constructors: Regex e1(m_pointer); ignore_unused_variable_warning(e1); Regex e2(m_pointer, m_flags); ignore_unused_variable_warning(e2); Regex e3(m_pointer, m_size, m_flags); ignore_unused_variable_warning(e3); Regex e4(in1, in2); ignore_unused_variable_warning(e4); Regex e5(in1, in2, m_flags); ignore_unused_variable_warning(e5); // assign etc: Regex e; e = m_pointer; e = e1; e.assign(e1); e.assign(m_pointer); e.assign(m_pointer, m_flags); e.assign(m_pointer, m_size, m_flags); e.assign(in1, in2); e.assign(in1, in2, m_flags); // access: const Regex ce; typename Regex::size_type i = ce.mark_count(); ignore_unused_variable_warning(i); m_flags = ce.flags(); e.imbue(ce.getloc()); e.swap(e1); global_regex_namespace::swap(e, e1); // sub_match: BOOST_STATIC_ASSERT((::boost::is_base_and_derived, sub_match_type>::value)); typedef typename sub_match_type::value_type sub_value_type; typedef typename sub_match_type::difference_type sub_diff_type; typedef typename sub_match_type::iterator sub_iter_type; BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); bool b = m_sub.matched; ignore_unused_variable_warning(b); BidiIterator bi = m_sub.first; ignore_unused_variable_warning(bi); bi = m_sub.second; ignore_unused_variable_warning(bi); sub_diff_type diff = m_sub.length(); ignore_unused_variable_warning(diff); // match_results tests - some typedefs are not used, however these // guarante that they exist (some compilers may warn on non-usage) typedef typename match_results_type::value_type mr_value_type; typedef typename match_results_type::const_reference mr_const_reference; typedef typename match_results_type::reference mr_reference; typedef typename match_results_type::const_iterator mr_const_iterator; typedef typename match_results_type::iterator mr_iterator; typedef typename match_results_type::difference_type mr_difference_type; typedef typename match_results_type::size_type mr_size_type; typedef typename match_results_type::allocator_type mr_allocator_type; typedef typename match_results_type::char_type mr_char_type; typedef typename match_results_type::string_type mr_string_type; match_results_type m1; mr_allocator_type at; match_results_type m2(at); match_results_type m3(m1); m1 = m2; int ival = 0; mr_size_type mrs = m_cresults.size(); ignore_unused_variable_warning(mrs); mrs = m_cresults.max_size(); ignore_unused_variable_warning(mrs); b = m_cresults.empty(); ignore_unused_variable_warning(b); mr_difference_type mrd = m_cresults.length(); ignore_unused_variable_warning(mrd); mrd = m_cresults.length(ival); ignore_unused_variable_warning(mrd); mrd = m_cresults.position(); ignore_unused_variable_warning(mrd); mrd = m_cresults.position(mrs); ignore_unused_variable_warning(mrd); mr_const_reference mrcr = m_cresults[ival]; ignore_unused_variable_warning(mrcr); mr_const_reference mrcr2 = m_cresults.prefix(); ignore_unused_variable_warning(mrcr2); mr_const_reference mrcr3 = m_cresults.suffix(); ignore_unused_variable_warning(mrcr3); mr_const_iterator mrci = m_cresults.begin(); ignore_unused_variable_warning(mrci); mrci = m_cresults.end(); ignore_unused_variable_warning(mrci); (void) m_cresults.get_allocator(); m_results.swap(m_results); global_regex_namespace::swap(m_results, m_results); // regex_match: b = global_regex_namespace::regex_match(m_in, m_in, m_results, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_in, m_in, m_results, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_in, m_in, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_in, m_in, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_pointer, m_pmatch, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_pointer, m_pmatch, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_pointer, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_pointer, e, m_mft); ignore_unused_variable_warning(b); // regex_search: b = global_regex_namespace::regex_search(m_in, m_in, m_results, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_in, m_in, m_results, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_in, m_in, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_in, m_in, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_pointer, m_pmatch, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_pointer, m_pmatch, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_pointer, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_pointer, e, m_mft); ignore_unused_variable_warning(b); // regex_iterator: typedef typename regex_iterator_type::regex_type rit_regex_type; typedef typename regex_iterator_type::value_type rit_value_type; typedef typename regex_iterator_type::difference_type rit_difference_type; typedef typename regex_iterator_type::pointer rit_pointer; typedef typename regex_iterator_type::reference rit_reference; typedef typename regex_iterator_type::iterator_category rit_iterator_category; BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_convertible::value)); // this takes care of most of the checks needed: function_requires >(); regex_iterator_type iter1(m_in, m_in, e); ignore_unused_variable_warning(iter1); regex_iterator_type iter2(m_in, m_in, e, m_mft); ignore_unused_variable_warning(iter2); // regex_token_iterator: typedef typename regex_token_iterator_type::regex_type rtit_regex_type; typedef typename regex_token_iterator_type::value_type rtit_value_type; typedef typename regex_token_iterator_type::difference_type rtit_difference_type; typedef typename regex_token_iterator_type::pointer rtit_pointer; typedef typename regex_token_iterator_type::reference rtit_reference; typedef typename regex_token_iterator_type::iterator_category rtit_iterator_category; BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_same::value)); BOOST_STATIC_ASSERT((::boost::is_convertible::value)); // this takes care of most of the checks needed: function_requires >(); regex_token_iterator_type ti1(m_in, m_in, e); ignore_unused_variable_warning(ti1); regex_token_iterator_type ti2(m_in, m_in, e, 0); ignore_unused_variable_warning(ti2); regex_token_iterator_type ti3(m_in, m_in, e, 0, m_mft); ignore_unused_variable_warning(ti3); std::vector subs; regex_token_iterator_type ti4(m_in, m_in, e, subs); ignore_unused_variable_warning(ti4); regex_token_iterator_type ti5(m_in, m_in, e, subs, m_mft); ignore_unused_variable_warning(ti5); static const int i_array[3] = { 1, 2, 3, }; regex_token_iterator_type ti6(m_in, m_in, e, i_array); ignore_unused_variable_warning(ti6); regex_token_iterator_type ti7(m_in, m_in, e, i_array, m_mft); ignore_unused_variable_warning(ti7); } pointer_type m_pointer; flag_type m_flags; std::size_t m_size; input_iterator_type in1, in2; const sub_match_type m_sub; const value_type m_char; match_results_type m_results; const match_results_type m_cresults; OutIterator m_out; BidiIterator m_in; global_regex_namespace::regex_constants::match_flag_type m_mft; global_regex_namespace::match_results< pointer_type, allocator_architype > > m_pmatch; BaseRegexConcept(); BaseRegexConcept(const BaseRegexConcept&); BaseRegexConcept& operator=(const BaseRegexConcept&); }; // // RegexConcept: // Test every interface in the std: // template struct RegexConcept { typedef typename Regex::value_type value_type; //typedef typename Regex::size_type size_type; typedef typename Regex::flag_type flag_type; typedef typename Regex::locale_type locale_type; // derived test types: typedef const value_type* pointer_type; typedef std::basic_string string_type; typedef boost::bidirectional_iterator_archetype BidiIterator; typedef global_regex_namespace::sub_match sub_match_type; typedef global_regex_namespace::match_results > match_results_type; typedef output_iterator_archetype OutIterator; void constraints() { function_requires >(); // string based construct: Regex e1(m_string); ignore_unused_variable_warning(e1); Regex e2(m_string, m_flags); ignore_unused_variable_warning(e2); // assign etc: Regex e; e = m_string; e.assign(m_string); e.assign(m_string, m_flags); // sub_match: string_type s(m_sub); ignore_unused_variable_warning(s); s = m_sub.str(); ignore_unused_variable_warning(s); int i = m_sub.compare(m_string); ignore_unused_variable_warning(i); int i2 = m_sub.compare(m_sub); ignore_unused_variable_warning(i2); i2 = m_sub.compare(m_pointer); ignore_unused_variable_warning(i2); bool b = m_sub == m_sub; ignore_unused_variable_warning(b); b = m_sub != m_sub; ignore_unused_variable_warning(b); b = m_sub <= m_sub; ignore_unused_variable_warning(b); b = m_sub <= m_sub; ignore_unused_variable_warning(b); b = m_sub > m_sub; ignore_unused_variable_warning(b); b = m_sub >= m_sub; ignore_unused_variable_warning(b); b = m_sub == m_pointer; ignore_unused_variable_warning(b); b = m_sub != m_pointer; ignore_unused_variable_warning(b); b = m_sub <= m_pointer; ignore_unused_variable_warning(b); b = m_sub <= m_pointer; ignore_unused_variable_warning(b); b = m_sub > m_pointer; ignore_unused_variable_warning(b); b = m_sub >= m_pointer; ignore_unused_variable_warning(b); b = m_pointer == m_sub; ignore_unused_variable_warning(b); b = m_pointer != m_sub; ignore_unused_variable_warning(b); b = m_pointer <= m_sub; ignore_unused_variable_warning(b); b = m_pointer <= m_sub; ignore_unused_variable_warning(b); b = m_pointer > m_sub; ignore_unused_variable_warning(b); b = m_pointer >= m_sub; ignore_unused_variable_warning(b); b = m_sub == m_char; ignore_unused_variable_warning(b); b = m_sub != m_char; ignore_unused_variable_warning(b); b = m_sub <= m_char; ignore_unused_variable_warning(b); b = m_sub <= m_char; ignore_unused_variable_warning(b); b = m_sub > m_char; ignore_unused_variable_warning(b); b = m_sub >= m_char; ignore_unused_variable_warning(b); b = m_char == m_sub; ignore_unused_variable_warning(b); b = m_char != m_sub; ignore_unused_variable_warning(b); b = m_char <= m_sub; ignore_unused_variable_warning(b); b = m_char <= m_sub; ignore_unused_variable_warning(b); b = m_char > m_sub; ignore_unused_variable_warning(b); b = m_char >= m_sub; ignore_unused_variable_warning(b); b = m_sub == m_string; ignore_unused_variable_warning(b); b = m_sub != m_string; ignore_unused_variable_warning(b); b = m_sub <= m_string; ignore_unused_variable_warning(b); b = m_sub <= m_string; ignore_unused_variable_warning(b); b = m_sub > m_string; ignore_unused_variable_warning(b); b = m_sub >= m_string; ignore_unused_variable_warning(b); b = m_string == m_sub; ignore_unused_variable_warning(b); b = m_string != m_sub; ignore_unused_variable_warning(b); b = m_string <= m_sub; ignore_unused_variable_warning(b); b = m_string <= m_sub; ignore_unused_variable_warning(b); b = m_string > m_sub; ignore_unused_variable_warning(b); b = m_string >= m_sub; ignore_unused_variable_warning(b); // match results: m_string = m_results.str(); ignore_unused_variable_warning(m_string); m_string = m_results.str(0); ignore_unused_variable_warning(m_string); m_out = m_cresults.format(m_out, m_string); m_out = m_cresults.format(m_out, m_string, m_mft); m_string = m_cresults.format(m_string); ignore_unused_variable_warning(m_string); m_string = m_cresults.format(m_string, m_mft); ignore_unused_variable_warning(m_string); // regex_match: b = global_regex_namespace::regex_match(m_string, m_smatch, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_string, m_smatch, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_string, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_match(m_string, e, m_mft); ignore_unused_variable_warning(b); // regex_search: b = global_regex_namespace::regex_search(m_string, m_smatch, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_string, m_smatch, e, m_mft); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_string, e); ignore_unused_variable_warning(b); b = global_regex_namespace::regex_search(m_string, e, m_mft); ignore_unused_variable_warning(b); // regex_replace: m_out = global_regex_namespace::regex_replace(m_out, m_in, m_in, e, m_string, m_mft); m_out = global_regex_namespace::regex_replace(m_out, m_in, m_in, e, m_string); m_string = global_regex_namespace::regex_replace(m_string, e, m_string, m_mft); ignore_unused_variable_warning(m_string); m_string = global_regex_namespace::regex_replace(m_string, e, m_string); ignore_unused_variable_warning(m_string); } flag_type m_flags; string_type m_string; const sub_match_type m_sub; match_results_type m_results; pointer_type m_pointer; value_type m_char; const match_results_type m_cresults; OutIterator m_out; BidiIterator m_in; global_regex_namespace::regex_constants::match_flag_type m_mft; global_regex_namespace::match_results > > m_smatch; RegexConcept(); RegexConcept(const RegexConcept&); RegexConcept& operator=(const RegexConcept&); }; #ifndef BOOST_REGEX_TEST_STD template struct functor1 { typedef typename M::char_type char_type; const char_type* operator()(const M&)const { static const char_type c = static_cast(0); return &c; } }; template struct functor1b { typedef typename M::char_type char_type; std::vector operator()(const M&)const { static const std::vector c; return c; } }; template struct functor2 { template O operator()(const M& /*m*/, O i)const { return i; } }; template struct functor3 { template O operator()(const M& /*m*/, O i, regex_constants::match_flag_type)const { return i; } }; // // BoostRegexConcept: // Test every interface in the Boost implementation: // template struct BoostRegexConcept { typedef typename Regex::value_type value_type; typedef typename Regex::size_type size_type; typedef typename Regex::flag_type flag_type; typedef typename Regex::locale_type locale_type; // derived test types: typedef const value_type* pointer_type; typedef std::basic_string string_type; typedef typename Regex::const_iterator const_iterator; typedef bidirectional_iterator_archetype BidiIterator; typedef output_iterator_archetype OutputIterator; typedef global_regex_namespace::sub_match sub_match_type; typedef global_regex_namespace::match_results > match_results_type; typedef global_regex_namespace::match_results match_results_default_type; void constraints() { global_regex_namespace::regex_constants::match_flag_type mopts = global_regex_namespace::regex_constants::match_default | global_regex_namespace::regex_constants::match_not_bol | global_regex_namespace::regex_constants::match_not_eol | global_regex_namespace::regex_constants::match_not_bow | global_regex_namespace::regex_constants::match_not_eow | global_regex_namespace::regex_constants::match_any | global_regex_namespace::regex_constants::match_not_null | global_regex_namespace::regex_constants::match_continuous | global_regex_namespace::regex_constants::match_partial | global_regex_namespace::regex_constants::match_prev_avail | global_regex_namespace::regex_constants::format_default | global_regex_namespace::regex_constants::format_sed | global_regex_namespace::regex_constants::format_perl | global_regex_namespace::regex_constants::format_no_copy | global_regex_namespace::regex_constants::format_first_only; (void)mopts; function_requires >(); const global_regex_namespace::regex_error except(global_regex_namespace::regex_constants::error_collate); std::ptrdiff_t pt = except.position(); ignore_unused_variable_warning(pt); const Regex ce, ce2; #ifndef BOOST_NO_STD_LOCALE m_stream << ce; #endif unsigned i = ce.error_code(); ignore_unused_variable_warning(i); pointer_type p = ce.expression(); ignore_unused_variable_warning(p); int i2 = ce.compare(ce2); ignore_unused_variable_warning(i2); bool b = ce == ce2; ignore_unused_variable_warning(b); b = ce.empty(); ignore_unused_variable_warning(b); b = ce != ce2; ignore_unused_variable_warning(b); b = ce < ce2; ignore_unused_variable_warning(b); b = ce > ce2; ignore_unused_variable_warning(b); b = ce <= ce2; ignore_unused_variable_warning(b); b = ce >= ce2; ignore_unused_variable_warning(b); i = ce.status(); ignore_unused_variable_warning(i); size_type s = ce.max_size(); ignore_unused_variable_warning(s); s = ce.size(); ignore_unused_variable_warning(s); const_iterator pi = ce.begin(); ignore_unused_variable_warning(pi); pi = ce.end(); ignore_unused_variable_warning(pi); string_type s2 = ce.str(); ignore_unused_variable_warning(s2); m_string = m_sub + m_sub; ignore_unused_variable_warning(m_string); m_string = m_sub + m_pointer; ignore_unused_variable_warning(m_string); m_string = m_pointer + m_sub; ignore_unused_variable_warning(m_string); m_string = m_sub + m_string; ignore_unused_variable_warning(m_string); m_string = m_string + m_sub; ignore_unused_variable_warning(m_string); m_string = m_sub + m_char; ignore_unused_variable_warning(m_string); m_string = m_char + m_sub; ignore_unused_variable_warning(m_string); // Named sub-expressions: m_sub = m_cresults[&m_char]; ignore_unused_variable_warning(m_sub); m_sub = m_cresults[m_string]; ignore_unused_variable_warning(m_sub); m_sub = m_cresults[""]; ignore_unused_variable_warning(m_sub); m_sub = m_cresults[std::string("")]; ignore_unused_variable_warning(m_sub); m_string = m_cresults.str(&m_char); ignore_unused_variable_warning(m_string); m_string = m_cresults.str(m_string); ignore_unused_variable_warning(m_string); m_string = m_cresults.str(""); ignore_unused_variable_warning(m_string); m_string = m_cresults.str(std::string("")); ignore_unused_variable_warning(m_string); typename match_results_type::difference_type diff; diff = m_cresults.length(&m_char); ignore_unused_variable_warning(diff); diff = m_cresults.length(m_string); ignore_unused_variable_warning(diff); diff = m_cresults.length(""); ignore_unused_variable_warning(diff); diff = m_cresults.length(std::string("")); ignore_unused_variable_warning(diff); diff = m_cresults.position(&m_char); ignore_unused_variable_warning(diff); diff = m_cresults.position(m_string); ignore_unused_variable_warning(diff); diff = m_cresults.position(""); ignore_unused_variable_warning(diff); diff = m_cresults.position(std::string("")); ignore_unused_variable_warning(diff); #ifndef BOOST_NO_STD_LOCALE m_stream << m_sub; m_stream << m_cresults; #endif // // Extended formatting with a functor: // regex_constants::match_flag_type f = regex_constants::match_default; OutputIterator out = static_object::get(); functor3 func3; functor2 func2; functor1 func1; functor3 func3b; functor2 func2b; functor1 func1b; out = regex_format(out, m_cresults, func3b, f); out = regex_format(out, m_cresults, func3b); out = regex_format(out, m_cresults, func2b, f); out = regex_format(out, m_cresults, func2b); out = regex_format(out, m_cresults, func1b, f); out = regex_format(out, m_cresults, func1b); out = regex_format(out, m_cresults, RW_NS::ref(func3b), f); out = regex_format(out, m_cresults, RW_NS::ref(func3b)); out = regex_format(out, m_cresults, RW_NS::ref(func2b), f); out = regex_format(out, m_cresults, RW_NS::ref(func2b)); out = regex_format(out, m_cresults, RW_NS::ref(func1b), f); out = regex_format(out, m_cresults, RW_NS::ref(func1b)); out = regex_format(out, m_cresults, RW_NS::cref(func3b), f); out = regex_format(out, m_cresults, RW_NS::cref(func3b)); out = regex_format(out, m_cresults, RW_NS::cref(func2b), f); out = regex_format(out, m_cresults, RW_NS::cref(func2b)); out = regex_format(out, m_cresults, RW_NS::cref(func1b), f); out = regex_format(out, m_cresults, RW_NS::cref(func1b)); m_string += regex_format(m_cresults, func3b, f); m_string += regex_format(m_cresults, func3b); m_string += regex_format(m_cresults, func2b, f); m_string += regex_format(m_cresults, func2b); m_string += regex_format(m_cresults, func1b, f); m_string += regex_format(m_cresults, func1b); m_string += regex_format(m_cresults, RW_NS::ref(func3b), f); m_string += regex_format(m_cresults, RW_NS::ref(func3b)); m_string += regex_format(m_cresults, RW_NS::ref(func2b), f); m_string += regex_format(m_cresults, RW_NS::ref(func2b)); m_string += regex_format(m_cresults, RW_NS::ref(func1b), f); m_string += regex_format(m_cresults, RW_NS::ref(func1b)); m_string += regex_format(m_cresults, RW_NS::cref(func3b), f); m_string += regex_format(m_cresults, RW_NS::cref(func3b)); m_string += regex_format(m_cresults, RW_NS::cref(func2b), f); m_string += regex_format(m_cresults, RW_NS::cref(func2b)); m_string += regex_format(m_cresults, RW_NS::cref(func1b), f); m_string += regex_format(m_cresults, RW_NS::cref(func1b)); out = m_cresults.format(out, func3b, f); out = m_cresults.format(out, func3b); out = m_cresults.format(out, func2b, f); out = m_cresults.format(out, func2b); out = m_cresults.format(out, func1b, f); out = m_cresults.format(out, func1b); out = m_cresults.format(out, RW_NS::ref(func3b), f); out = m_cresults.format(out, RW_NS::ref(func3b)); out = m_cresults.format(out, RW_NS::ref(func2b), f); out = m_cresults.format(out, RW_NS::ref(func2b)); out = m_cresults.format(out, RW_NS::ref(func1b), f); out = m_cresults.format(out, RW_NS::ref(func1b)); out = m_cresults.format(out, RW_NS::cref(func3b), f); out = m_cresults.format(out, RW_NS::cref(func3b)); out = m_cresults.format(out, RW_NS::cref(func2b), f); out = m_cresults.format(out, RW_NS::cref(func2b)); out = m_cresults.format(out, RW_NS::cref(func1b), f); out = m_cresults.format(out, RW_NS::cref(func1b)); m_string += m_cresults.format(func3b, f); m_string += m_cresults.format(func3b); m_string += m_cresults.format(func2b, f); m_string += m_cresults.format(func2b); m_string += m_cresults.format(func1b, f); m_string += m_cresults.format(func1b); m_string += m_cresults.format(RW_NS::ref(func3b), f); m_string += m_cresults.format(RW_NS::ref(func3b)); m_string += m_cresults.format(RW_NS::ref(func2b), f); m_string += m_cresults.format(RW_NS::ref(func2b)); m_string += m_cresults.format(RW_NS::ref(func1b), f); m_string += m_cresults.format(RW_NS::ref(func1b)); m_string += m_cresults.format(RW_NS::cref(func3b), f); m_string += m_cresults.format(RW_NS::cref(func3b)); m_string += m_cresults.format(RW_NS::cref(func2b), f); m_string += m_cresults.format(RW_NS::cref(func2b)); m_string += m_cresults.format(RW_NS::cref(func1b), f); m_string += m_cresults.format(RW_NS::cref(func1b)); out = regex_replace(out, m_in, m_in, ce, func3, f); out = regex_replace(out, m_in, m_in, ce, func3); out = regex_replace(out, m_in, m_in, ce, func2, f); out = regex_replace(out, m_in, m_in, ce, func2); out = regex_replace(out, m_in, m_in, ce, func1, f); out = regex_replace(out, m_in, m_in, ce, func1); out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func3), f); out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func3)); out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func2), f); out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func2)); out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func1), f); out = regex_replace(out, m_in, m_in, ce, RW_NS::ref(func1)); out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func3), f); out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func3)); out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func2), f); out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func2)); out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func1), f); out = regex_replace(out, m_in, m_in, ce, RW_NS::cref(func1)); functor3 > func3s; functor2 > func2s; functor1 > func1s; m_string += regex_replace(m_string, ce, func3s, f); m_string += regex_replace(m_string, ce, func3s); m_string += regex_replace(m_string, ce, func2s, f); m_string += regex_replace(m_string, ce, func2s); m_string += regex_replace(m_string, ce, func1s, f); m_string += regex_replace(m_string, ce, func1s); m_string += regex_replace(m_string, ce, RW_NS::ref(func3s), f); m_string += regex_replace(m_string, ce, RW_NS::ref(func3s)); m_string += regex_replace(m_string, ce, RW_NS::ref(func2s), f); m_string += regex_replace(m_string, ce, RW_NS::ref(func2s)); m_string += regex_replace(m_string, ce, RW_NS::ref(func1s), f); m_string += regex_replace(m_string, ce, RW_NS::ref(func1s)); m_string += regex_replace(m_string, ce, RW_NS::cref(func3s), f); m_string += regex_replace(m_string, ce, RW_NS::cref(func3s)); m_string += regex_replace(m_string, ce, RW_NS::cref(func2s), f); m_string += regex_replace(m_string, ce, RW_NS::cref(func2s)); m_string += regex_replace(m_string, ce, RW_NS::cref(func1s), f); m_string += regex_replace(m_string, ce, RW_NS::cref(func1s)); } std::basic_ostream m_stream; sub_match_type m_sub; pointer_type m_pointer; string_type m_string; const value_type m_char; match_results_type m_results; const match_results_type m_cresults; BidiIterator m_in; BoostRegexConcept(); BoostRegexConcept(const BoostRegexConcept&); BoostRegexConcept& operator=(const BoostRegexConcept&); }; #endif // BOOST_REGEX_TEST_STD } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/config/borland.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE boost/regex/config/borland.hpp * VERSION see * DESCRIPTION: regex borland-specific config setup. */ #if defined(__BORLANDC__) && !defined(__clang__) # if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551) // problems with std::basic_string and dll RTL: # if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE) # ifdef BOOST_REGEX_BUILD_DLL # error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL # else # pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!") # endif # endif # ifndef _RTLDLL // this is harmless for a staic link: # define _RWSTD_COMPILE_INSTANTIATE # endif // external templates cause problems for some reason: # define BOOST_REGEX_NO_EXTERNAL_TEMPLATES # endif # if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL) // C++ Builder 4 and earlier, we can't tell whether we should be using // the VCL runtime or not, do a static link instead: # define BOOST_REGEX_STATIC_LINK # endif // // VCL support: // if we're building a console app then there can't be any VCL (can there?) # if !defined(__CONSOLE__) && !defined(_NO_VCL) # define BOOST_REGEX_USE_VCL # endif // // if this isn't Win32 then don't automatically select link // libraries: // # ifndef _Windows # ifndef BOOST_REGEX_NO_LIB # define BOOST_REGEX_NO_LIB # endif # ifndef BOOST_REGEX_STATIC_LINK # define BOOST_REGEX_STATIC_LINK # endif # endif #if __BORLANDC__ < 0x600 // // string workarounds: // #include #undef strcmp #undef strcpy #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/config/cwchar.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE boost/regex/config/cwchar.hpp * VERSION see * DESCRIPTION: regex wide character string fixes. */ #ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP #define BOOST_REGEX_CONFIG_CWCHAR_HPP #include #include #include #if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) // apparently this is required for the RW STL on Linux: #undef iswalnum #undef iswalpha #undef iswblank #undef iswcntrl #undef iswdigit #undef iswgraph #undef iswlower #undef iswprint #undef iswprint #undef iswpunct #undef iswspace #undef iswupper #undef iswxdigit #undef iswctype #undef towlower #undef towupper #undef towctrans #undef wctrans #undef wctype #endif namespace std{ #ifndef BOOST_NO_STDC_NAMESPACE extern "C"{ #endif #ifdef iswalnum inline int (iswalnum)(wint_t i) { return iswalnum(i); } #undef iswalnum #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswalnum; #endif #ifdef iswalpha inline int (iswalpha)(wint_t i) { return iswalpha(i); } #undef iswalpha #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswalpha; #endif #ifdef iswcntrl inline int (iswcntrl)(wint_t i) { return iswcntrl(i); } #undef iswcntrl #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswcntrl; #endif #ifdef iswdigit inline int (iswdigit)(wint_t i) { return iswdigit(i); } #undef iswdigit #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswdigit; #endif #ifdef iswgraph inline int (iswgraph)(wint_t i) { return iswgraph(i); } #undef iswgraph #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswgraph; #endif #ifdef iswlower inline int (iswlower)(wint_t i) { return iswlower(i); } #undef iswlower #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswlower; #endif #ifdef iswprint inline int (iswprint)(wint_t i) { return iswprint(i); } #undef iswprint #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswprint; #endif #ifdef iswpunct inline int (iswpunct)(wint_t i) { return iswpunct(i); } #undef iswpunct #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswpunct; #endif #ifdef iswspace inline int (iswspace)(wint_t i) { return iswspace(i); } #undef iswspace #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswspace; #endif #ifdef iswupper inline int (iswupper)(wint_t i) { return iswupper(i); } #undef iswupper #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswupper; #endif #ifdef iswxdigit inline int (iswxdigit)(wint_t i) { return iswxdigit(i); } #undef iswxdigit #elif defined(BOOST_NO_STDC_NAMESPACE) using ::iswxdigit; #endif #ifdef towlower inline wint_t (towlower)(wint_t i) { return towlower(i); } #undef towlower #elif defined(BOOST_NO_STDC_NAMESPACE) using ::towlower; #endif #ifdef towupper inline wint_t (towupper)(wint_t i) { return towupper(i); } #undef towupper #elif defined(BOOST_NO_STDC_NAMESPACE) using :: towupper; #endif #ifdef wcscmp inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2) { return wcscmp(p1,p2); } #undef wcscmp #elif defined(BOOST_NO_STDC_NAMESPACE) using ::wcscmp; #endif #ifdef wcscoll inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2) { return wcscoll(p1,p2); } #undef wcscoll #elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(UNDER_CE) using ::wcscoll; #endif #ifdef wcscpy inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2) { return wcscpy(p1,p2); } #undef wcscpy #elif defined(BOOST_NO_STDC_NAMESPACE) using ::wcscpy; #endif #ifdef wcslen inline size_t (wcslen)(const wchar_t *p) { return wcslen(p); } #undef wcslen #elif defined(BOOST_NO_STDC_NAMESPACE) using ::wcslen; #endif #ifdef wcsxfrm size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s) { return wcsxfrm(p1,p2,s); } #undef wcsxfrm #elif defined(BOOST_NO_STDC_NAMESPACE) using ::wcsxfrm; #endif #ifndef BOOST_NO_STDC_NAMESPACE } // extern "C" #endif } // namespace std #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/config.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE config.hpp * VERSION see * DESCRIPTION: regex extended config setup. */ #ifndef BOOST_REGEX_CONFIG_HPP #define BOOST_REGEX_CONFIG_HPP #if !((__cplusplus >= 201103L) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(BOOST_REGEX_CXX03)) # define BOOST_REGEX_CXX03 #endif #if defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_CXX03) # define BOOST_REGEX_CXX03 #endif #if defined(__has_include) #if !defined(BOOST_REGEX_STANDALONE) && !__has_include() #define BOOST_REGEX_STANDALONE #endif #endif /* * Borland C++ Fix/error check * this has to go *before* we include any std lib headers: */ #if defined(__BORLANDC__) && !defined(__clang__) # include #endif #ifndef BOOST_REGEX_STANDALONE #include #endif /************************************************************************* * * Asserts: * *************************************************************************/ #ifdef BOOST_REGEX_STANDALONE #include # define BOOST_REGEX_ASSERT(x) assert(x) #else #include # define BOOST_REGEX_ASSERT(x) BOOST_ASSERT(x) #endif /***************************************************************************** * * Include all the headers we need here: * ****************************************************************************/ #ifdef __cplusplus # ifndef BOOST_REGEX_USER_CONFIG # define BOOST_REGEX_USER_CONFIG # endif # include BOOST_REGEX_USER_CONFIG #ifndef BOOST_REGEX_STANDALONE # include # include #endif #else /* * C build, * don't include because that may * do C++ specific things in future... */ # include # include # ifdef _MSC_VER # define BOOST_MSVC _MSC_VER # endif #endif /**************************************************************************** * * Legacy support: * *******************************************************************************/ #if defined(BOOST_NO_STD_LOCALE) || defined(BOOST_NO_CXX11_HDR_MUTEX) || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) \ || defined(BOOST_NO_CXX11_HDR_ATOMIC) || defined(BOOST_NO_CXX11_ALLOCATOR) || defined(BOOST_NO_CXX11_SMART_PTR) \ || defined(BOOST_NO_CXX11_STATIC_ASSERT) || defined(BOOST_NO_NOEXCEPT) #ifndef BOOST_REGEX_CXX03 # define BOOST_REGEX_CXX03 #endif #endif /***************************************************************************** * * Boilerplate regex config options: * ****************************************************************************/ /* Obsolete macro, use BOOST_VERSION instead: */ #define BOOST_RE_VERSION 500 /* fix: */ #if defined(_UNICODE) && !defined(UNICODE) #define UNICODE #endif #define BOOST_REGEX_JOIN(X, Y) BOOST_REGEX_DO_JOIN(X, Y) #define BOOST_REGEX_DO_JOIN(X, Y) BOOST_REGEX_DO_JOIN2(X,Y) #define BOOST_REGEX_DO_JOIN2(X, Y) X##Y #ifdef BOOST_FALLTHROUGH # define BOOST_REGEX_FALLTHROUGH BOOST_FALLTHROUGH #else #if defined(__clang__) && (__cplusplus >= 201103L) && defined(__has_warning) # if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") # define BOOST_REGEX_FALLTHROUGH [[clang::fallthrough]] # endif #endif #if !defined(BOOST_REGEX_FALLTHROUGH) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703) # define BOOST_REGEX_FALLTHROUGH [[fallthrough]] #endif #if !defined(BOOST_REGEX_FALLTHROUGH) && defined(__GNUC__) && (__GNUC__ >= 7) # define BOOST_REGEX_FALLTHROUGH __attribute__((fallthrough)) #endif #if !defined(BOOST_REGEX_FALLTHROUGH) # define BOOST_REGEX_FALLTHROUGH #endif #endif #ifdef BOOST_NORETURN # define BOOST_REGEX_NORETURN BOOST_NORETURN #else # define BOOST_REGEX_NORETURN #endif /* * Define a macro for the namespace that details are placed in, this includes the Boost * version number to avoid mismatched header and library versions: */ #define BOOST_REGEX_DETAIL_NS BOOST_REGEX_JOIN(re_detail_, BOOST_RE_VERSION) /* * Fix for gcc prior to 3.4: std::ctype doesn't allow * masks to be combined, for example: * std::use_facet >.is(std::ctype_base::lower|std::ctype_base::upper, L'a'); * returns *false*. */ #if defined(__GLIBCPP__) && defined(BOOST_REGEX_CXX03) # define BOOST_REGEX_BUGGY_CTYPE_FACET #endif /* * If there isn't good enough wide character support then there will * be no wide character regular expressions: */ #if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING)) # if !defined(BOOST_NO_WREGEX) # define BOOST_NO_WREGEX # endif #else # if defined(__sgi) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) /* STLPort on IRIX is misconfigured: does not compile * as a temporary fix include instead and prevent inclusion * of STLPort version of */ # include # define __STLPORT_CWCTYPE # define _STLP_CWCTYPE # endif #if defined(__cplusplus) && defined(BOOST_REGEX_CXX03) # include #endif #endif /* * If Win32 support has been disabled for boost in general, then * it is for regex in particular: */ #if defined(BOOST_DISABLE_WIN32) && !defined(BOOST_REGEX_NO_W32) # define BOOST_REGEX_NO_W32 #endif /* disable our own file-iterators and mapfiles if we can't * support them: */ #if defined(_WIN32) # if defined(BOOST_REGEX_NO_W32) || BOOST_PLAT_WINDOWS_RUNTIME # define BOOST_REGEX_NO_FILEITER # endif #else /* defined(_WIN32) */ # if !defined(BOOST_HAS_DIRENT_H) # define BOOST_REGEX_NO_FILEITER # endif #endif /* backwards compatibitity: */ #if defined(BOOST_RE_NO_LIB) # define BOOST_REGEX_NO_LIB #endif #if defined(__GNUC__) && !defined(_MSC_VER) && (defined(_WIN32) || defined(__CYGWIN__)) /* gcc on win32 has problems if you include (sporadically generates bad code). */ # define BOOST_REGEX_NO_W32 #endif #if defined(__COMO__) && !defined(BOOST_REGEX_NO_W32) && !defined(_MSC_EXTENSIONS) # define BOOST_REGEX_NO_W32 #endif #ifdef BOOST_REGEX_STANDALONE # if defined(_MSC_VER) && !defined(__clang__) && !defined(__GNUC__) # define BOOST_REGEX_MSVC _MSC_VER #endif #elif defined(BOOST_MSVC) # define BOOST_REGEX_MSVC BOOST_MSVC #endif /***************************************************************************** * * Set up dll import/export options: * ****************************************************************************/ #if (defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && !defined(BOOST_REGEX_STATIC_LINK) && defined(BOOST_SYMBOL_IMPORT) # if defined(BOOST_REGEX_SOURCE) # define BOOST_REGEX_BUILD_DLL # define BOOST_REGEX_DECL BOOST_SYMBOL_EXPORT # else # define BOOST_REGEX_DECL BOOST_SYMBOL_IMPORT # endif #else # define BOOST_REGEX_DECL #endif #ifdef BOOST_REGEX_CXX03 #if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) # define BOOST_LIB_NAME boost_regex # if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK) # define BOOST_DYN_LINK # endif # ifdef BOOST_REGEX_DIAG # define BOOST_LIB_DIAGNOSTIC # endif # include #endif #endif /***************************************************************************** * * Set up function call type: * ****************************************************************************/ #if defined(_MSC_VER) && defined(_MSC_EXTENSIONS) #if defined(_DEBUG) || defined(__MSVC_RUNTIME_CHECKS) || defined(_MANAGED) || defined(BOOST_REGEX_NO_FASTCALL) # define BOOST_REGEX_CALL __cdecl #else # define BOOST_REGEX_CALL __fastcall #endif # define BOOST_REGEX_CCALL __cdecl #endif #if defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32) #if defined(__clang__) # define BOOST_REGEX_CALL __cdecl # define BOOST_REGEX_CCALL __cdecl #else # define BOOST_REGEX_CALL __fastcall # define BOOST_REGEX_CCALL __stdcall #endif #endif #ifndef BOOST_REGEX_CALL # define BOOST_REGEX_CALL #endif #ifndef BOOST_REGEX_CCALL #define BOOST_REGEX_CCALL #endif /***************************************************************************** * * Set up localisation model: * ****************************************************************************/ /* backwards compatibility: */ #ifdef BOOST_RE_LOCALE_C # define BOOST_REGEX_USE_C_LOCALE #endif #ifdef BOOST_RE_LOCALE_CPP # define BOOST_REGEX_USE_CPP_LOCALE #endif #if defined(__CYGWIN__) # define BOOST_REGEX_USE_C_LOCALE #endif /* use C++ locale when targeting windows store */ #if BOOST_PLAT_WINDOWS_RUNTIME # define BOOST_REGEX_USE_CPP_LOCALE # define BOOST_REGEX_NO_WIN32_LOCALE #endif /* Win32 defaults to native Win32 locale: */ #if defined(_WIN32) && \ !defined(BOOST_REGEX_USE_WIN32_LOCALE) && \ !defined(BOOST_REGEX_USE_C_LOCALE) && \ !defined(BOOST_REGEX_USE_CPP_LOCALE) && \ !defined(BOOST_REGEX_NO_W32) && \ !defined(BOOST_REGEX_NO_WIN32_LOCALE) # define BOOST_REGEX_USE_WIN32_LOCALE #endif /* otherwise use C++ locale if supported: */ #if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) && !defined(BOOST_NO_STD_LOCALE) # define BOOST_REGEX_USE_CPP_LOCALE #endif /* otherwise use C locale: */ #if !defined(BOOST_REGEX_USE_WIN32_LOCALE) && !defined(BOOST_REGEX_USE_C_LOCALE) && !defined(BOOST_REGEX_USE_CPP_LOCALE) # define BOOST_REGEX_USE_C_LOCALE #endif #ifndef BOOST_REGEX_MAX_STATE_COUNT # define BOOST_REGEX_MAX_STATE_COUNT 100000000 #endif /***************************************************************************** * * Error Handling for exception free compilers: * ****************************************************************************/ #ifdef BOOST_NO_EXCEPTIONS /* * If there are no exceptions then we must report critical-errors * the only way we know how; by terminating. */ #include #include #include # define BOOST_REGEX_NOEH_ASSERT(x)\ if(0 == (x))\ {\ std::string s("Error: critical regex++ failure in: ");\ s.append(#x);\ std::runtime_error e(s);\ boost::throw_exception(e);\ } #else /* * With exceptions then error handling is taken care of and * there is no need for these checks: */ # define BOOST_REGEX_NOEH_ASSERT(x) #endif /***************************************************************************** * * Stack protection under MS Windows: * ****************************************************************************/ #if !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_V3) # if(defined(_WIN32) || defined(_WIN64) || defined(_WINCE)) \ && !(defined(__GNUC__) || defined(__BORLANDC__) && defined(__clang__)) \ && !(defined(__BORLANDC__) && (__BORLANDC__ >= 0x600)) \ && !(defined(__MWERKS__) && (__MWERKS__ <= 0x3003)) # define BOOST_REGEX_HAS_MS_STACK_GUARD # endif #elif defined(BOOST_REGEX_HAS_MS_STACK_GUARD) # undef BOOST_REGEX_HAS_MS_STACK_GUARD #endif #if defined(__cplusplus) && defined(BOOST_REGEX_HAS_MS_STACK_GUARD) namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page(); } } #endif /***************************************************************************** * * Algorithm selection and configuration. * These options are now obsolete for C++11 and later (regex v5). * ****************************************************************************/ #if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE) # if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && !defined(_STLP_DEBUG) && !defined(__STL_DEBUG) && !(defined(_MSC_VER) && (_MSC_VER >= 1400)) && defined(BOOST_REGEX_CXX03) # define BOOST_REGEX_RECURSIVE # else # define BOOST_REGEX_NON_RECURSIVE # endif #endif #ifdef BOOST_REGEX_NON_RECURSIVE # ifdef BOOST_REGEX_RECURSIVE # error "Can't set both BOOST_REGEX_RECURSIVE and BOOST_REGEX_NON_RECURSIVE" # endif # ifndef BOOST_REGEX_BLOCKSIZE # define BOOST_REGEX_BLOCKSIZE 4096 # endif # if BOOST_REGEX_BLOCKSIZE < 512 # error "BOOST_REGEX_BLOCKSIZE must be at least 512" # endif # ifndef BOOST_REGEX_MAX_BLOCKS # define BOOST_REGEX_MAX_BLOCKS 1024 # endif # ifdef BOOST_REGEX_HAS_MS_STACK_GUARD # undef BOOST_REGEX_HAS_MS_STACK_GUARD # endif # ifndef BOOST_REGEX_MAX_CACHE_BLOCKS # define BOOST_REGEX_MAX_CACHE_BLOCKS 16 # endif #endif /***************************************************************************** * * Diagnostics: * ****************************************************************************/ #ifdef BOOST_REGEX_CONFIG_INFO BOOST_REGEX_DECL void BOOST_REGEX_CALL print_regex_library_info(); #endif #if defined(BOOST_REGEX_DIAG) # pragma message ("BOOST_REGEX_DECL" BOOST_STRINGIZE(=BOOST_REGEX_DECL)) # pragma message ("BOOST_REGEX_CALL" BOOST_STRINGIZE(=BOOST_REGEX_CALL)) # pragma message ("BOOST_REGEX_CCALL" BOOST_STRINGIZE(=BOOST_REGEX_CCALL)) #ifdef BOOST_REGEX_USE_C_LOCALE # pragma message ("Using C locale in regex traits class") #elif BOOST_REGEX_USE_CPP_LOCALE # pragma message ("Using C++ locale in regex traits class") #else # pragma message ("Using Win32 locale in regex traits class") #endif #if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK) # pragma message ("Dynamic linking enabled") #endif #if defined(BOOST_REGEX_NO_LIB) || defined(BOOST_ALL_NO_LIB) # pragma message ("Auto-linking disabled") #endif #ifdef BOOST_REGEX_NO_EXTERNAL_TEMPLATES # pragma message ("Extern templates disabled") #endif #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/icu.hpp ================================================ /* * * Copyright (c) 2020 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE icu.hpp * VERSION see * DESCRIPTION: Unicode regular expressions on top of the ICU Library. */ #ifndef BOOST_REGEX_ICU_HPP #define BOOST_REGEX_ICU_HPP #include #ifdef BOOST_REGEX_CXX03 #include #else #include #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/mfc.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE mfc.hpp * VERSION see * DESCRIPTION: Overloads and helpers for using MFC/ATL string types with Boost.Regex. */ #ifndef BOOST_REGEX_MFC_HPP #define BOOST_REGEX_MFC_HPP #include #include namespace boost{ // // define the types used for TCHAR's: typedef basic_regex tregex; typedef match_results tmatch; typedef regex_iterator tregex_iterator; typedef regex_token_iterator tregex_token_iterator; // Obsolete. Remove #define SIMPLE_STRING_PARAM class B, bool b #define SIMPLE_STRING_ARG_LIST B, b // // define regex creation functions: // template inline basic_regex make_regex(const ATL::CSimpleStringT& s, ::boost::regex_constants::syntax_option_type f = boost::regex_constants::normal) { basic_regex result(s.GetString(), s.GetString() + s.GetLength(), f); return result; } // // regex_match overloads: // template inline bool regex_match(const ATL::CSimpleStringT& s, match_results& what, const basic_regex& e, boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { return ::boost::regex_match(s.GetString(), s.GetString() + s.GetLength(), what, e, f); } template inline bool regex_match(const ATL::CSimpleStringT& s, const basic_regex& e, boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { return ::boost::regex_match(s.GetString(), s.GetString() + s.GetLength(), e, f); } // // regex_search overloads: // template inline bool regex_search(const ATL::CSimpleStringT& s, match_results& what, const basic_regex& e, boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { return ::boost::regex_search(s.GetString(), s.GetString() + s.GetLength(), what, e, f); } template inline bool regex_search(const ATL::CSimpleStringT& s, const basic_regex& e, boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { return ::boost::regex_search(s.GetString(), s.GetString() + s.GetLength(), e, f); } // // regex_iterator creation: // template inline regex_iterator make_regex_iterator(const ATL::CSimpleStringT& s, const basic_regex& e, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { regex_iterator result(s.GetString(), s.GetString() + s.GetLength(), e, f); return result; } template inline regex_token_iterator make_regex_token_iterator(const ATL::CSimpleStringT& s, const basic_regex& e, int sub = 0, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { regex_token_iterator result(s.GetString(), s.GetString() + s.GetLength(), e, sub, f); return result; } template inline regex_token_iterator make_regex_token_iterator(const ATL::CSimpleStringT& s, const basic_regex& e, const std::vector& subs, ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { regex_token_iterator result(s.GetString(), s.GetString() + s.GetLength(), e, subs, f); return result; } template inline regex_token_iterator make_regex_token_iterator(const ATL::CSimpleStringT& s, const basic_regex& e, const int (& subs)[N], ::boost::regex_constants::match_flag_type f = boost::regex_constants::match_default) { regex_token_iterator result(s.GetString(), s.GetString() + s.GetLength(), e, subs, f); return result; } template OutputIterator regex_replace(OutputIterator out, BidirectionalIterator first, BidirectionalIterator last, const basic_regex& e, const ATL::CSimpleStringT& fmt, match_flag_type flags = match_default) { return ::boost::regex_replace(out, first, last, e, fmt.GetString(), flags); } namespace BOOST_REGEX_DETAIL_NS{ template class mfc_string_out_iterator { ATL::CSimpleStringT* out; public: mfc_string_out_iterator(ATL::CSimpleStringT& s) : out(&s) {} mfc_string_out_iterator& operator++() { return *this; } mfc_string_out_iterator& operator++(int) { return *this; } mfc_string_out_iterator& operator*() { return *this; } mfc_string_out_iterator& operator=(B v) { out->AppendChar(v); return *this; } typedef std::ptrdiff_t difference_type; typedef B value_type; typedef value_type* pointer; typedef value_type& reference; typedef std::output_iterator_tag iterator_category; }; } template ATL::CSimpleStringT regex_replace(const ATL::CSimpleStringT& s, const basic_regex& e, const ATL::CSimpleStringT& fmt, match_flag_type flags = match_default) { ATL::CSimpleStringT result(s.GetManager()); BOOST_REGEX_DETAIL_NS::mfc_string_out_iterator i(result); regex_replace(i, s.GetString(), s.GetString() + s.GetLength(), e, fmt.GetString(), flags); return result; } } // namespace boost. #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/pattern_except.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE pattern_except.hpp * VERSION see * DESCRIPTION: Declares pattern-matching exception classes. */ #ifndef BOOST_RE_PAT_EXCEPT_HPP #define BOOST_RE_PAT_EXCEPT_HPP #ifndef BOOST_REGEX_CONFIG_HPP #include #endif #ifdef BOOST_REGEX_CXX03 #include #else #include #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/pending/object_cache.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE object_cache.hpp * VERSION see * DESCRIPTION: Implements a generic object cache. */ #ifndef BOOST_REGEX_OBJECT_CACHE_HPP #define BOOST_REGEX_OBJECT_CACHE_HPP #include #ifdef BOOST_REGEX_CXX03 #include #else #include #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/pending/static_mutex.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE static_mutex.hpp * VERSION see * DESCRIPTION: Declares static_mutex lock type, there are three different * implementations: POSIX pthreads, WIN32 threads, and portable, * these are described in more detail below. */ #ifndef BOOST_REGEX_STATIC_MUTEX_HPP #define BOOST_REGEX_STATIC_MUTEX_HPP #include #include // dll import/export options. #ifdef BOOST_HAS_PTHREADS #include #endif #if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER) // // pthreads version: // simple wrap around a pthread_mutex_t initialized with // PTHREAD_MUTEX_INITIALIZER. // namespace boost{ class static_mutex; #define BOOST_STATIC_MUTEX_INIT { PTHREAD_MUTEX_INITIALIZER, } class BOOST_REGEX_DECL scoped_static_mutex_lock { public: scoped_static_mutex_lock(static_mutex& mut, bool lk = true); ~scoped_static_mutex_lock(); inline bool locked()const { return m_have_lock; } inline operator void const*()const { return locked() ? this : 0; } void lock(); void unlock(); private: static_mutex& m_mutex; bool m_have_lock; }; class static_mutex { public: typedef scoped_static_mutex_lock scoped_lock; pthread_mutex_t m_mutex; }; } // namespace boost #elif defined(BOOST_HAS_WINTHREADS) // // Win32 version: // Use a 32-bit int as a lock, along with a test-and-set // implementation using InterlockedCompareExchange. // #include namespace boost{ class BOOST_REGEX_DECL scoped_static_mutex_lock; class static_mutex { public: typedef scoped_static_mutex_lock scoped_lock; boost::int32_t m_mutex; }; #define BOOST_STATIC_MUTEX_INIT { 0, } class BOOST_REGEX_DECL scoped_static_mutex_lock { public: scoped_static_mutex_lock(static_mutex& mut, bool lk = true); ~scoped_static_mutex_lock(); operator void const*()const { return locked() ? this : 0; } bool locked()const { return m_have_lock; } void lock(); void unlock(); private: static_mutex& m_mutex; bool m_have_lock; scoped_static_mutex_lock(const scoped_static_mutex_lock&); scoped_static_mutex_lock& operator=(const scoped_static_mutex_lock&); }; } // namespace #else // // Portable version of a static mutex based on Boost.Thread library: // This has to use a single mutex shared by all instances of static_mutex // because boost::call_once doesn't alow us to pass instance information // down to the initialisation proceedure. In fact the initialisation routine // may need to be called more than once - but only once per instance. // // Since this preprocessor path is almost never taken, we hide these header // dependencies so that build tools don't find them. // #define BOOST_REGEX_H1 #define BOOST_REGEX_H2 #define BOOST_REGEX_H3 #include BOOST_REGEX_H1 #include BOOST_REGEX_H2 #include BOOST_REGEX_H3 #undef BOOST_REGEX_H1 #undef BOOST_REGEX_H2 #undef BOOST_REGEX_H3 namespace boost{ class BOOST_REGEX_DECL scoped_static_mutex_lock; extern "C" BOOST_REGEX_DECL void boost_regex_free_static_mutex(); class BOOST_REGEX_DECL static_mutex { public: typedef scoped_static_mutex_lock scoped_lock; static void init(); static boost::recursive_mutex* m_pmutex; static boost::once_flag m_once; }; #define BOOST_STATIC_MUTEX_INIT { } class BOOST_REGEX_DECL scoped_static_mutex_lock { public: scoped_static_mutex_lock(static_mutex& mut, bool lk = true); ~scoped_static_mutex_lock(); operator void const*()const; bool locked()const; void lock(); void unlock(); private: boost::unique_lock* m_plock; bool m_have_lock; }; inline scoped_static_mutex_lock::operator void const*()const { return locked() ? this : 0; } inline bool scoped_static_mutex_lock::locked()const { return m_have_lock; } } // namespace #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/pending/unicode_iterator.hpp ================================================ /* * * Copyright (c) 2020 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE unicode_iterator.hpp * VERSION see * DESCRIPTION: Iterator adapters for converting between different Unicode encodings. */ #ifndef BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP #define BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP #include #if defined(BOOST_REGEX_CXX03) #include #else #include #endif #endif // BOOST_REGEX_PENDING_UNICODE_ITERATOR_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/regex_traits.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_traits.hpp * VERSION see * DESCRIPTION: Declares regular expression traits classes. */ #ifndef BOOST_REGEX_TRAITS_HPP #define BOOST_REGEX_TRAITS_HPP #ifndef BOOST_REGEX_CONFIG_HPP # include #endif # ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED #ifdef BOOST_REGEX_CXX03 # include #else # include #endif # endif #endif // include ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/user.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE user.hpp * VERSION see * DESCRIPTION: User settable options. */ // define if you want the regex library to use the C locale // even on Win32: // #define BOOST_REGEX_USE_C_LOCALE // define this is you want the regex library to use the C++ // locale: // #define BOOST_REGEX_USE_CPP_LOCALE // define this if the runtime library is a dll, and you // want BOOST_REGEX_DYN_LINK to set up dll exports/imports // with __declspec(dllexport)/__declspec(dllimport.) // #define BOOST_REGEX_HAS_DLL_RUNTIME // define this if you want to dynamically link to regex, // if the runtime library is also a dll (Probably Win32 specific, // and has no effect unless BOOST_REGEX_HAS_DLL_RUNTIME is set): // #define BOOST_REGEX_DYN_LINK // define this if you don't want the lib to automatically // select its link libraries: // #define BOOST_REGEX_NO_LIB // define this if templates with switch statements cause problems: // #define BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE // define this to disable Win32 support when available: // #define BOOST_REGEX_NO_W32 // define this if bool is not a real type: // #define BOOST_REGEX_NO_BOOL // define this if no template instances are to be placed in // the library rather than users object files: // #define BOOST_REGEX_NO_EXTERNAL_TEMPLATES // define this if the forward declarations in regex_fwd.hpp // cause more problems than they are worth: // #define BOOST_REGEX_NO_FWD // define this if your compiler supports MS Windows structured // exception handling. // #define BOOST_REGEX_HAS_MS_STACK_GUARD // define this if you want to use the recursive algorithm // even if BOOST_REGEX_HAS_MS_STACK_GUARD is not defined. // NOTE: OBSOLETE!! // #define BOOST_REGEX_RECURSIVE // define this if you want to use the non-recursive // algorithm, even if the recursive version would be the default. // NOTE: OBSOLETE!! // #define BOOST_REGEX_NON_RECURSIVE // define this if you want to set the size of the memory blocks // used by the non-recursive algorithm. // #define BOOST_REGEX_BLOCKSIZE 4096 // define this if you want to set the maximum number of memory blocks // used by the non-recursive algorithm. // #define BOOST_REGEX_MAX_BLOCKS 1024 // define this if you want to set the maximum number of memory blocks // cached by the non-recursive algorithm: Normally this is 16, but can be // higher if you have multiple threads all using boost.regex, or lower // if you don't want boost.regex to cache memory. // #define BOOST_REGEX_MAX_CACHE_BLOCKS 16 // define this if you want to be able to access extended capture // information in your sub_match's (caution this will slow things // down quite a bit). // #define BOOST_REGEX_MATCH_EXTRA // define this if you want to enable support for Unicode via ICU. // #define BOOST_HAS_ICU // define this if you want regex to use __cdecl calling convensions, even when __fastcall is available: // #define BOOST_REGEX_NO_FASTCALL ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/basic_regex.hpp ================================================ /* * * Copyright (c) 1998-2004 John Maddock * Copyright 2011 Garmin Ltd. or its subsidiaries * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org/ for most recent version. * FILE basic_regex.cpp * VERSION see * DESCRIPTION: Declares template class basic_regex. */ #ifndef BOOST_REGEX_V5_BASIC_REGEX_HPP #define BOOST_REGEX_V5_BASIC_REGEX_HPP #include namespace boost{ #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable : 4251) #if BOOST_REGEX_MSVC < 1700 # pragma warning(disable : 4231) #endif #if BOOST_REGEX_MSVC < 1600 #pragma warning(disable : 4660) #endif #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif namespace BOOST_REGEX_DETAIL_NS{ // // forward declaration, we will need this one later: // template class basic_regex_parser; template void bubble_down_one(I first, I last) { if(first != last) { I next = last - 1; while((next != first) && (*next < *(next-1))) { (next-1)->swap(*next); --next; } } } static const int hash_value_mask = 1 << (std::numeric_limits::digits - 1); template inline int hash_value_from_capture_name(Iterator i, Iterator j) { std::size_t r = 0; while (i != j) { r ^= *i + 0x9e3779b9 + (r << 6) + (r >> 2); ++i; } r %= ((std::numeric_limits::max)()); return static_cast(r) | hash_value_mask; } class named_subexpressions { public: struct name { template name(const charT* i, const charT* j, int idx) : index(idx) { hash = hash_value_from_capture_name(i, j); } name(int h, int idx) : index(idx), hash(h) { } int index; int hash; bool operator < (const name& other)const { return hash < other.hash; } bool operator == (const name& other)const { return hash == other.hash; } void swap(name& other) { std::swap(index, other.index); std::swap(hash, other.hash); } }; typedef std::vector::const_iterator const_iterator; typedef std::pair range_type; named_subexpressions(){} template void set_name(const charT* i, const charT* j, int index) { m_sub_names.push_back(name(i, j, index)); bubble_down_one(m_sub_names.begin(), m_sub_names.end()); } template int get_id(const charT* i, const charT* j)const { name t(i, j, 0); typename std::vector::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t); if((pos != m_sub_names.end()) && (*pos == t)) { return pos->index; } return -1; } template range_type equal_range(const charT* i, const charT* j)const { name t(i, j, 0); return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t); } int get_id(int h)const { name t(h, 0); std::vector::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t); if((pos != m_sub_names.end()) && (*pos == t)) { return pos->index; } return -1; } range_type equal_range(int h)const { name t(h, 0); return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t); } private: std::vector m_sub_names; }; // // class regex_data: // represents the data we wish to expose to the matching algorithms. // template struct regex_data : public named_subexpressions { typedef regex_constants::syntax_option_type flag_type; typedef std::size_t size_type; regex_data(const ::std::shared_ptr< ::boost::regex_traits_wrapper >& t) : m_ptraits(t), m_flags(0), m_status(0), m_expression(0), m_expression_len(0), m_mark_count(0), m_first_state(0), m_restart_type(0), m_startmap{ 0 }, m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {} regex_data() : m_ptraits(new ::boost::regex_traits_wrapper()), m_flags(0), m_status(0), m_expression(0), m_expression_len(0), m_mark_count(0), m_first_state(0), m_restart_type(0), m_startmap{ 0 }, m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {} ::std::shared_ptr< ::boost::regex_traits_wrapper > m_ptraits; // traits class instance flag_type m_flags; // flags with which we were compiled int m_status; // error code (0 implies OK). const charT* m_expression; // the original expression std::ptrdiff_t m_expression_len; // the length of the original expression size_type m_mark_count; // the number of marked sub-expressions BOOST_REGEX_DETAIL_NS::re_syntax_base* m_first_state; // the first state of the machine unsigned m_restart_type; // search optimisation type unsigned char m_startmap[1 << CHAR_BIT]; // which characters can start a match unsigned int m_can_be_null; // whether we can match a null string BOOST_REGEX_DETAIL_NS::raw_storage m_data; // the buffer in which our states are constructed typename traits::char_class_type m_word_mask; // mask used to determine if a character is a word character std::vector< std::pair< std::size_t, std::size_t> > m_subs; // Position of sub-expressions within the *string*. bool m_has_recursions; // whether we have recursive expressions; bool m_disable_match_any; // when set we need to disable the match_any flag as it causes different/buggy behaviour. }; // // class basic_regex_implementation // pimpl implementation class for basic_regex. // template class basic_regex_implementation : public regex_data { public: typedef regex_constants::syntax_option_type flag_type; typedef std::ptrdiff_t difference_type; typedef std::size_t size_type; typedef typename traits::locale_type locale_type; typedef const charT* const_iterator; basic_regex_implementation(){} basic_regex_implementation(const ::std::shared_ptr< ::boost::regex_traits_wrapper >& t) : regex_data(t) {} void assign(const charT* arg_first, const charT* arg_last, flag_type f) { regex_data* pdat = this; basic_regex_parser parser(pdat); parser.parse(arg_first, arg_last, f); } locale_type imbue(locale_type l) { return this->m_ptraits->imbue(l); } locale_type getloc()const { return this->m_ptraits->getloc(); } std::basic_string str()const { std::basic_string result; if(this->m_status == 0) result = std::basic_string(this->m_expression, this->m_expression_len); return result; } const_iterator expression()const { return this->m_expression; } std::pair subexpression(std::size_t n)const { const std::pair& pi = this->m_subs.at(n); std::pair p(expression() + pi.first, expression() + pi.second); return p; } // // begin, end: const_iterator begin()const { return (this->m_status ? 0 : this->m_expression); } const_iterator end()const { return (this->m_status ? 0 : this->m_expression + this->m_expression_len); } flag_type flags()const { return this->m_flags; } size_type size()const { return this->m_expression_len; } int status()const { return this->m_status; } size_type mark_count()const { return this->m_mark_count - 1; } const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const { return this->m_first_state; } unsigned get_restart_type()const { return this->m_restart_type; } const unsigned char* get_map()const { return this->m_startmap; } const ::boost::regex_traits_wrapper& get_traits()const { return *(this->m_ptraits); } bool can_be_null()const { return this->m_can_be_null; } const regex_data& get_data()const { basic_regex_implementation const* p = this; return *static_cast*>(p); } }; } // namespace BOOST_REGEX_DETAIL_NS // // class basic_regex: // represents the compiled // regular expression: // #ifdef BOOST_REGEX_NO_FWD template > #else template #endif class basic_regex : public regbase { public: // typedefs: typedef std::size_t traits_size_type; typedef typename traits::string_type traits_string_type; typedef charT char_type; typedef traits traits_type; typedef charT value_type; typedef charT& reference; typedef const charT& const_reference; typedef const charT* const_iterator; typedef const_iterator iterator; typedef std::ptrdiff_t difference_type; typedef std::size_t size_type; typedef regex_constants::syntax_option_type flag_type; // locale_type // placeholder for actual locale type used by the // traits class to localise *this. typedef typename traits::locale_type locale_type; public: explicit basic_regex(){} explicit basic_regex(const charT* p, flag_type f = regex_constants::normal) { assign(p, f); } basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) { assign(p1, p2, f); } basic_regex(const charT* p, size_type len, flag_type f) { assign(p, len, f); } basic_regex(const basic_regex& that) : m_pimpl(that.m_pimpl) {} ~basic_regex(){} basic_regex& operator=(const basic_regex& that) { return assign(that); } basic_regex& operator=(const charT* ptr) { return assign(ptr); } // // assign: basic_regex& assign(const basic_regex& that) { m_pimpl = that.m_pimpl; return *this; } basic_regex& assign(const charT* p, flag_type f = regex_constants::normal) { return assign(p, p + traits::length(p), f); } basic_regex& assign(const charT* p, size_type len, flag_type f) { return assign(p, p + len, f); } private: basic_regex& do_assign(const charT* p1, const charT* p2, flag_type f); public: basic_regex& assign(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) { return do_assign(p1, p2, f); } template unsigned int set_expression(const std::basic_string& p, flag_type f = regex_constants::normal) { return set_expression(p.data(), p.data() + p.size(), f); } template explicit basic_regex(const std::basic_string& p, flag_type f = regex_constants::normal) { assign(p, f); } template basic_regex(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal) { typedef typename traits::string_type seq_type; seq_type a(arg_first, arg_last); if(!a.empty()) assign(static_cast(&*a.begin()), static_cast(&*a.begin() + a.size()), f); else assign(static_cast(0), static_cast(0), f); } template basic_regex& operator=(const std::basic_string& p) { return assign(p.data(), p.data() + p.size(), regex_constants::normal); } template basic_regex& assign( const std::basic_string& s, flag_type f = regex_constants::normal) { return assign(s.data(), s.data() + s.size(), f); } template basic_regex& assign(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal) { typedef typename traits::string_type seq_type; seq_type a(arg_first, arg_last); if(a.size()) { const charT* p1 = &*a.begin(); const charT* p2 = &*a.begin() + a.size(); return assign(p1, p2, f); } return assign(static_cast(0), static_cast(0), f); } // // locale: locale_type imbue(locale_type l); locale_type getloc()const { return m_pimpl.get() ? m_pimpl->getloc() : locale_type(); } // // getflags: // retained for backwards compatibility only, "flags" // is now the preferred name: flag_type getflags()const { return flags(); } flag_type flags()const { return m_pimpl.get() ? m_pimpl->flags() : 0; } // // str: std::basic_string str()const { return m_pimpl.get() ? m_pimpl->str() : std::basic_string(); } // // begin, end, subexpression: std::pair subexpression(std::size_t n)const { #ifdef BOOST_REGEX_STANDALONE if (!m_pimpl.get()) throw std::logic_error("Can't access subexpressions in an invalid regex."); #else if(!m_pimpl.get()) boost::throw_exception(std::logic_error("Can't access subexpressions in an invalid regex.")); #endif return m_pimpl->subexpression(n); } const_iterator begin()const { return (m_pimpl.get() ? m_pimpl->begin() : 0); } const_iterator end()const { return (m_pimpl.get() ? m_pimpl->end() : 0); } // // swap: void swap(basic_regex& that)throw() { m_pimpl.swap(that.m_pimpl); } // // size: size_type size()const { return (m_pimpl.get() ? m_pimpl->size() : 0); } // // max_size: size_type max_size()const { return UINT_MAX; } // // empty: bool empty()const { return (m_pimpl.get() ? 0 != m_pimpl->status() : true); } size_type mark_count()const { return (m_pimpl.get() ? m_pimpl->mark_count() : 0); } int status()const { return (m_pimpl.get() ? m_pimpl->status() : regex_constants::error_empty); } int compare(const basic_regex& that) const { if(m_pimpl.get() == that.m_pimpl.get()) return 0; if(!m_pimpl.get()) return -1; if(!that.m_pimpl.get()) return 1; if(status() != that.status()) return status() - that.status(); if(flags() != that.flags()) return flags() - that.flags(); return str().compare(that.str()); } bool operator==(const basic_regex& e)const { return compare(e) == 0; } bool operator != (const basic_regex& e)const { return compare(e) != 0; } bool operator<(const basic_regex& e)const { return compare(e) < 0; } bool operator>(const basic_regex& e)const { return compare(e) > 0; } bool operator<=(const basic_regex& e)const { return compare(e) <= 0; } bool operator>=(const basic_regex& e)const { return compare(e) >= 0; } // // The following are deprecated as public interfaces // but are available for compatibility with earlier versions. const charT* expression()const { return (m_pimpl.get() && !m_pimpl->status() ? m_pimpl->expression() : 0); } unsigned int set_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) { assign(p1, p2, f | regex_constants::no_except); return status(); } unsigned int set_expression(const charT* p, flag_type f = regex_constants::normal) { assign(p, f | regex_constants::no_except); return status(); } unsigned int error_code()const { return status(); } // // private access methods: // const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const { BOOST_REGEX_ASSERT(0 != m_pimpl.get()); return m_pimpl->get_first_state(); } unsigned get_restart_type()const { BOOST_REGEX_ASSERT(0 != m_pimpl.get()); return m_pimpl->get_restart_type(); } const unsigned char* get_map()const { BOOST_REGEX_ASSERT(0 != m_pimpl.get()); return m_pimpl->get_map(); } const ::boost::regex_traits_wrapper& get_traits()const { BOOST_REGEX_ASSERT(0 != m_pimpl.get()); return m_pimpl->get_traits(); } bool can_be_null()const { BOOST_REGEX_ASSERT(0 != m_pimpl.get()); return m_pimpl->can_be_null(); } const BOOST_REGEX_DETAIL_NS::regex_data& get_data()const { BOOST_REGEX_ASSERT(0 != m_pimpl.get()); return m_pimpl->get_data(); } std::shared_ptr get_named_subs()const { return m_pimpl; } private: std::shared_ptr > m_pimpl; }; // // out of line members; // these are the only members that mutate the basic_regex object, // and are designed to provide the strong exception guarantee // (in the event of a throw, the state of the object remains unchanged). // template basic_regex& basic_regex::do_assign(const charT* p1, const charT* p2, flag_type f) { std::shared_ptr > temp; if(!m_pimpl.get()) { temp = std::shared_ptr >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation()); } else { temp = std::shared_ptr >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation(m_pimpl->m_ptraits)); } temp->assign(p1, p2, f); temp.swap(m_pimpl); return *this; } template typename basic_regex::locale_type basic_regex::imbue(locale_type l) { std::shared_ptr > temp(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation()); locale_type result = temp->imbue(l); temp.swap(m_pimpl); return result; } // // non-members: // template void swap(basic_regex& e1, basic_regex& e2) { e1.swap(e2); } template std::basic_ostream& operator << (std::basic_ostream& os, const basic_regex& e) { return (os << e.str()); } // // class reg_expression: // this is provided for backwards compatibility only, // it is deprecated, no not use! // #ifdef BOOST_REGEX_NO_FWD template > #else template #endif class reg_expression : public basic_regex { public: typedef typename basic_regex::flag_type flag_type; typedef typename basic_regex::size_type size_type; explicit reg_expression(){} explicit reg_expression(const charT* p, flag_type f = regex_constants::normal) : basic_regex(p, f){} reg_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal) : basic_regex(p1, p2, f){} reg_expression(const charT* p, size_type len, flag_type f) : basic_regex(p, len, f){} reg_expression(const reg_expression& that) : basic_regex(that) {} ~reg_expression(){} reg_expression& operator=(const reg_expression& that) { return this->assign(that); } template explicit reg_expression(const std::basic_string& p, flag_type f = regex_constants::normal) : basic_regex(p, f) { } template reg_expression(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal) : basic_regex(arg_first, arg_last, f) { } template reg_expression& operator=(const std::basic_string& p) { this->assign(p); return *this; } }; #ifdef BOOST_REGEX_MSVC #pragma warning (pop) #endif } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/basic_regex_creator.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE basic_regex_creator.cpp * VERSION see * DESCRIPTION: Declares template class basic_regex_creator which fills in * the data members of a regex_data object. */ #ifndef BOOST_REGEX_V5_BASIC_REGEX_CREATOR_HPP #define BOOST_REGEX_V5_BASIC_REGEX_CREATOR_HPP #ifdef BOOST_REGEX_MSVC # pragma warning(push) #pragma warning(disable:4459) #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif #include namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ template struct digraph : public std::pair { digraph() : std::pair(charT(0), charT(0)){} digraph(charT c1) : std::pair(c1, charT(0)){} digraph(charT c1, charT c2) : std::pair(c1, c2) {} digraph(const digraph& d) : std::pair(d.first, d.second){} digraph& operator=(const digraph&) = default; template digraph(const Seq& s) : std::pair() { BOOST_REGEX_ASSERT(s.size() <= 2); BOOST_REGEX_ASSERT(s.size()); this->first = s[0]; this->second = (s.size() > 1) ? s[1] : 0; } }; template class basic_char_set { public: typedef digraph digraph_type; typedef typename traits::string_type string_type; typedef typename traits::char_class_type m_type; basic_char_set() { m_negate = false; m_has_digraphs = false; m_classes = 0; m_negated_classes = 0; m_empty = true; } void add_single(const digraph_type& s) { m_singles.insert(s); if(s.second) m_has_digraphs = true; m_empty = false; } void add_range(const digraph_type& first, const digraph_type& end) { m_ranges.push_back(first); m_ranges.push_back(end); if(first.second) { m_has_digraphs = true; add_single(first); } if(end.second) { m_has_digraphs = true; add_single(end); } m_empty = false; } void add_class(m_type m) { m_classes |= m; m_empty = false; } void add_negated_class(m_type m) { m_negated_classes |= m; m_empty = false; } void add_equivalent(const digraph_type& s) { m_equivalents.insert(s); if(s.second) { m_has_digraphs = true; add_single(s); } m_empty = false; } void negate() { m_negate = true; //m_empty = false; } // // accessor functions: // bool has_digraphs()const { return m_has_digraphs; } bool is_negated()const { return m_negate; } typedef typename std::vector::const_iterator list_iterator; typedef typename std::set::const_iterator set_iterator; set_iterator singles_begin()const { return m_singles.begin(); } set_iterator singles_end()const { return m_singles.end(); } list_iterator ranges_begin()const { return m_ranges.begin(); } list_iterator ranges_end()const { return m_ranges.end(); } set_iterator equivalents_begin()const { return m_equivalents.begin(); } set_iterator equivalents_end()const { return m_equivalents.end(); } m_type classes()const { return m_classes; } m_type negated_classes()const { return m_negated_classes; } bool empty()const { return m_empty; } private: std::set m_singles; // a list of single characters to match std::vector m_ranges; // a list of end points of our ranges bool m_negate; // true if the set is to be negated bool m_has_digraphs; // true if we have digraphs present m_type m_classes; // character classes to match m_type m_negated_classes; // negated character classes to match bool m_empty; // whether we've added anything yet std::set m_equivalents; // a list of equivalence classes }; template class basic_regex_creator { public: basic_regex_creator(regex_data* data); std::ptrdiff_t getoffset(void* addr) { return getoffset(addr, m_pdata->m_data.data()); } std::ptrdiff_t getoffset(const void* addr, const void* base) { return static_cast(addr) - static_cast(base); } re_syntax_base* getaddress(std::ptrdiff_t off) { return getaddress(off, m_pdata->m_data.data()); } re_syntax_base* getaddress(std::ptrdiff_t off, void* base) { return static_cast(static_cast(static_cast(base) + off)); } void init(unsigned l_flags) { m_pdata->m_flags = l_flags; m_icase = l_flags & regex_constants::icase; } regbase::flag_type flags() { return m_pdata->m_flags; } void flags(regbase::flag_type f) { m_pdata->m_flags = f; if(m_icase != static_cast(f & regbase::icase)) { m_icase = static_cast(f & regbase::icase); } } re_syntax_base* append_state(syntax_element_type t, std::size_t s = sizeof(re_syntax_base)); re_syntax_base* insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s = sizeof(re_syntax_base)); re_literal* append_literal(charT c); re_syntax_base* append_set(const basic_char_set& char_set); re_syntax_base* append_set(const basic_char_set& char_set, std::integral_constant*); re_syntax_base* append_set(const basic_char_set& char_set, std::integral_constant*); void finalize(const charT* p1, const charT* p2); protected: regex_data* m_pdata; // pointer to the basic_regex_data struct we are filling in const ::boost::regex_traits_wrapper& m_traits; // convenience reference to traits class re_syntax_base* m_last_state; // the last state we added bool m_icase; // true for case insensitive matches unsigned m_repeater_id; // the state_id of the next repeater bool m_has_backrefs; // true if there are actually any backrefs std::uintmax_t m_bad_repeats; // bitmask of repeats we can't deduce a startmap for; bool m_has_recursions; // set when we have recursive expressions to fixup std::vector m_recursion_checks; // notes which recursions we've followed while analysing this expression typename traits::char_class_type m_word_mask; // mask used to determine if a character is a word character typename traits::char_class_type m_mask_space; // mask used to determine if a character is a word character typename traits::char_class_type m_lower_mask; // mask used to determine if a character is a lowercase character typename traits::char_class_type m_upper_mask; // mask used to determine if a character is an uppercase character typename traits::char_class_type m_alpha_mask; // mask used to determine if a character is an alphabetic character private: basic_regex_creator& operator=(const basic_regex_creator&); basic_regex_creator(const basic_regex_creator&); void fixup_pointers(re_syntax_base* state); void fixup_recursions(re_syntax_base* state); void create_startmaps(re_syntax_base* state); int calculate_backstep(re_syntax_base* state); void create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask); unsigned get_restart_type(re_syntax_base* state); void set_all_masks(unsigned char* bits, unsigned char); bool is_bad_repeat(re_syntax_base* pt); void set_bad_repeat(re_syntax_base* pt); syntax_element_type get_repeat_type(re_syntax_base* state); void probe_leading_repeat(re_syntax_base* state); }; template basic_regex_creator::basic_regex_creator(regex_data* data) : m_pdata(data), m_traits(*(data->m_ptraits)), m_last_state(0), m_icase(false), m_repeater_id(0), m_has_backrefs(false), m_bad_repeats(0), m_has_recursions(false), m_word_mask(0), m_mask_space(0), m_lower_mask(0), m_upper_mask(0), m_alpha_mask(0) { m_pdata->m_data.clear(); m_pdata->m_status = ::boost::regex_constants::error_ok; static const charT w = 'w'; static const charT s = 's'; static const charT l[5] = { 'l', 'o', 'w', 'e', 'r', }; static const charT u[5] = { 'u', 'p', 'p', 'e', 'r', }; static const charT a[5] = { 'a', 'l', 'p', 'h', 'a', }; m_word_mask = m_traits.lookup_classname(&w, &w +1); m_mask_space = m_traits.lookup_classname(&s, &s +1); m_lower_mask = m_traits.lookup_classname(l, l + 5); m_upper_mask = m_traits.lookup_classname(u, u + 5); m_alpha_mask = m_traits.lookup_classname(a, a + 5); m_pdata->m_word_mask = m_word_mask; BOOST_REGEX_ASSERT(m_word_mask != 0); BOOST_REGEX_ASSERT(m_mask_space != 0); BOOST_REGEX_ASSERT(m_lower_mask != 0); BOOST_REGEX_ASSERT(m_upper_mask != 0); BOOST_REGEX_ASSERT(m_alpha_mask != 0); } template re_syntax_base* basic_regex_creator::append_state(syntax_element_type t, std::size_t s) { // if the state is a backref then make a note of it: if(t == syntax_element_backref) this->m_has_backrefs = true; // append a new state, start by aligning our last one: m_pdata->m_data.align(); // set the offset to the next state in our last one: if(m_last_state) m_last_state->next.i = m_pdata->m_data.size() - getoffset(m_last_state); // now actually extend our data: m_last_state = static_cast(m_pdata->m_data.extend(s)); // fill in boilerplate options in the new state: m_last_state->next.i = 0; m_last_state->type = t; return m_last_state; } template re_syntax_base* basic_regex_creator::insert_state(std::ptrdiff_t pos, syntax_element_type t, std::size_t s) { // append a new state, start by aligning our last one: m_pdata->m_data.align(); // set the offset to the next state in our last one: if(m_last_state) m_last_state->next.i = m_pdata->m_data.size() - getoffset(m_last_state); // remember the last state position: std::ptrdiff_t off = getoffset(m_last_state) + s; // now actually insert our data: re_syntax_base* new_state = static_cast(m_pdata->m_data.insert(pos, s)); // fill in boilerplate options in the new state: new_state->next.i = s; new_state->type = t; m_last_state = getaddress(off); return new_state; } template re_literal* basic_regex_creator::append_literal(charT c) { re_literal* result; // start by seeing if we have an existing re_literal we can extend: if((0 == m_last_state) || (m_last_state->type != syntax_element_literal)) { // no existing re_literal, create a new one: result = static_cast(append_state(syntax_element_literal, sizeof(re_literal) + sizeof(charT))); result->length = 1; *static_cast(static_cast(result+1)) = m_traits.translate(c, m_icase); } else { // we have an existing re_literal, extend it: std::ptrdiff_t off = getoffset(m_last_state); m_pdata->m_data.extend(sizeof(charT)); m_last_state = result = static_cast(getaddress(off)); charT* characters = static_cast(static_cast(result+1)); characters[result->length] = m_traits.translate(c, m_icase); result->length += 1; } return result; } template inline re_syntax_base* basic_regex_creator::append_set( const basic_char_set& char_set) { typedef std::integral_constant truth_type; return char_set.has_digraphs() ? append_set(char_set, static_cast*>(0)) : append_set(char_set, static_cast(0)); } template re_syntax_base* basic_regex_creator::append_set( const basic_char_set& char_set, std::integral_constant*) { typedef typename traits::string_type string_type; typedef typename basic_char_set::list_iterator item_iterator; typedef typename basic_char_set::set_iterator set_iterator; typedef typename traits::char_class_type m_type; re_set_long* result = static_cast*>(append_state(syntax_element_long_set, sizeof(re_set_long))); // // fill in the basics: // result->csingles = static_cast(std::distance(char_set.singles_begin(), char_set.singles_end())); result->cranges = static_cast(std::distance(char_set.ranges_begin(), char_set.ranges_end())) / 2; result->cequivalents = static_cast(std::distance(char_set.equivalents_begin(), char_set.equivalents_end())); result->cclasses = char_set.classes(); result->cnclasses = char_set.negated_classes(); if(flags() & regbase::icase) { // adjust classes as needed: if(((result->cclasses & m_lower_mask) == m_lower_mask) || ((result->cclasses & m_upper_mask) == m_upper_mask)) result->cclasses |= m_alpha_mask; if(((result->cnclasses & m_lower_mask) == m_lower_mask) || ((result->cnclasses & m_upper_mask) == m_upper_mask)) result->cnclasses |= m_alpha_mask; } result->isnot = char_set.is_negated(); result->singleton = !char_set.has_digraphs(); // // remember where the state is for later: // std::ptrdiff_t offset = getoffset(result); // // now extend with all the singles: // item_iterator first, last; set_iterator sfirst, slast; sfirst = char_set.singles_begin(); slast = char_set.singles_end(); while(sfirst != slast) { charT* p = static_cast(this->m_pdata->m_data.extend(sizeof(charT) * (sfirst->first == static_cast(0) ? 1 : sfirst->second ? 3 : 2))); p[0] = m_traits.translate(sfirst->first, m_icase); if(sfirst->first == static_cast(0)) { p[0] = 0; } else if(sfirst->second) { p[1] = m_traits.translate(sfirst->second, m_icase); p[2] = 0; } else p[1] = 0; ++sfirst; } // // now extend with all the ranges: // first = char_set.ranges_begin(); last = char_set.ranges_end(); while(first != last) { // first grab the endpoints of the range: digraph c1 = *first; c1.first = this->m_traits.translate(c1.first, this->m_icase); c1.second = this->m_traits.translate(c1.second, this->m_icase); ++first; digraph c2 = *first; c2.first = this->m_traits.translate(c2.first, this->m_icase); c2.second = this->m_traits.translate(c2.second, this->m_icase); ++first; string_type s1, s2; // different actions now depending upon whether collation is turned on: if(flags() & regex_constants::collate) { // we need to transform our range into sort keys: charT a1[3] = { c1.first, c1.second, charT(0), }; charT a2[3] = { c2.first, c2.second, charT(0), }; s1 = this->m_traits.transform(a1, (a1[1] ? a1+2 : a1+1)); s2 = this->m_traits.transform(a2, (a2[1] ? a2+2 : a2+1)); if(s1.empty()) s1 = string_type(1, charT(0)); if(s2.empty()) s2 = string_type(1, charT(0)); } else { if(c1.second) { s1.insert(s1.end(), c1.first); s1.insert(s1.end(), c1.second); } else s1 = string_type(1, c1.first); if(c2.second) { s2.insert(s2.end(), c2.first); s2.insert(s2.end(), c2.second); } else s2.insert(s2.end(), c2.first); } if(s1 > s2) { // Oops error: return 0; } charT* p = static_cast(this->m_pdata->m_data.extend(sizeof(charT) * (s1.size() + s2.size() + 2) ) ); BOOST_REGEX_DETAIL_NS::copy(s1.begin(), s1.end(), p); p[s1.size()] = charT(0); p += s1.size() + 1; BOOST_REGEX_DETAIL_NS::copy(s2.begin(), s2.end(), p); p[s2.size()] = charT(0); } // // now process the equivalence classes: // sfirst = char_set.equivalents_begin(); slast = char_set.equivalents_end(); while(sfirst != slast) { string_type s; if(sfirst->second) { charT cs[3] = { sfirst->first, sfirst->second, charT(0), }; s = m_traits.transform_primary(cs, cs+2); } else s = m_traits.transform_primary(&sfirst->first, &sfirst->first+1); if(s.empty()) return 0; // invalid or unsupported equivalence class charT* p = static_cast(this->m_pdata->m_data.extend(sizeof(charT) * (s.size()+1) ) ); BOOST_REGEX_DETAIL_NS::copy(s.begin(), s.end(), p); p[s.size()] = charT(0); ++sfirst; } // // finally reset the address of our last state: // m_last_state = result = static_cast*>(getaddress(offset)); return result; } template inline bool char_less(T t1, T t2) { return t1 < t2; } inline bool char_less(char t1, char t2) { return static_cast(t1) < static_cast(t2); } inline bool char_less(signed char t1, signed char t2) { return static_cast(t1) < static_cast(t2); } template re_syntax_base* basic_regex_creator::append_set( const basic_char_set& char_set, std::integral_constant*) { typedef typename traits::string_type string_type; typedef typename basic_char_set::list_iterator item_iterator; typedef typename basic_char_set::set_iterator set_iterator; re_set* result = static_cast(append_state(syntax_element_set, sizeof(re_set))); bool negate = char_set.is_negated(); std::memset(result->_map, 0, sizeof(result->_map)); // // handle singles first: // item_iterator first, last; set_iterator sfirst, slast; sfirst = char_set.singles_begin(); slast = char_set.singles_end(); while(sfirst != slast) { for(unsigned int i = 0; i < (1 << CHAR_BIT); ++i) { if(this->m_traits.translate(static_cast(i), this->m_icase) == this->m_traits.translate(sfirst->first, this->m_icase)) result->_map[i] = true; } ++sfirst; } // // OK now handle ranges: // first = char_set.ranges_begin(); last = char_set.ranges_end(); while(first != last) { // first grab the endpoints of the range: charT c1 = this->m_traits.translate(first->first, this->m_icase); ++first; charT c2 = this->m_traits.translate(first->first, this->m_icase); ++first; // different actions now depending upon whether collation is turned on: if(flags() & regex_constants::collate) { // we need to transform our range into sort keys: charT c3[2] = { c1, charT(0), }; string_type s1 = this->m_traits.transform(c3, c3+1); c3[0] = c2; string_type s2 = this->m_traits.transform(c3, c3+1); if(s1 > s2) { // Oops error: return 0; } BOOST_REGEX_ASSERT(c3[1] == charT(0)); for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) { c3[0] = static_cast(i); string_type s3 = this->m_traits.transform(c3, c3 +1); if((s1 <= s3) && (s3 <= s2)) result->_map[i] = true; } } else { if(char_less(c2, c1)) { // Oops error: return 0; } // everything in range matches: std::memset(result->_map + static_cast(c1), true, static_cast(1u) + static_cast(static_cast(c2) - static_cast(c1))); } } // // and now the classes: // typedef typename traits::char_class_type m_type; m_type m = char_set.classes(); if(flags() & regbase::icase) { // adjust m as needed: if(((m & m_lower_mask) == m_lower_mask) || ((m & m_upper_mask) == m_upper_mask)) m |= m_alpha_mask; } if(m != 0) { for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) { if(this->m_traits.isctype(static_cast(i), m)) result->_map[i] = true; } } // // and now the negated classes: // m = char_set.negated_classes(); if(flags() & regbase::icase) { // adjust m as needed: if(((m & m_lower_mask) == m_lower_mask) || ((m & m_upper_mask) == m_upper_mask)) m |= m_alpha_mask; } if(m != 0) { for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) { if(0 == this->m_traits.isctype(static_cast(i), m)) result->_map[i] = true; } } // // now process the equivalence classes: // sfirst = char_set.equivalents_begin(); slast = char_set.equivalents_end(); while(sfirst != slast) { string_type s; BOOST_REGEX_ASSERT(static_cast(0) == sfirst->second); s = m_traits.transform_primary(&sfirst->first, &sfirst->first+1); if(s.empty()) return 0; // invalid or unsupported equivalence class for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) { charT c[2] = { (static_cast(i)), charT(0), }; string_type s2 = this->m_traits.transform_primary(c, c+1); if(s == s2) result->_map[i] = true; } ++sfirst; } if(negate) { for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) { result->_map[i] = !(result->_map[i]); } } return result; } template void basic_regex_creator::finalize(const charT* p1, const charT* p2) { if(this->m_pdata->m_status) return; // we've added all the states we need, now finish things off. // start by adding a terminating state: append_state(syntax_element_match); // extend storage to store original expression: std::ptrdiff_t len = p2 - p1; m_pdata->m_expression_len = len; charT* ps = static_cast(m_pdata->m_data.extend(sizeof(charT) * (1 + (p2 - p1)))); m_pdata->m_expression = ps; BOOST_REGEX_DETAIL_NS::copy(p1, p2, ps); ps[p2 - p1] = 0; // fill in our other data... // successful parsing implies a zero status: m_pdata->m_status = 0; // get the first state of the machine: m_pdata->m_first_state = static_cast(m_pdata->m_data.data()); // fixup pointers in the machine: fixup_pointers(m_pdata->m_first_state); if(m_has_recursions) { m_pdata->m_has_recursions = true; fixup_recursions(m_pdata->m_first_state); if(this->m_pdata->m_status) return; } else m_pdata->m_has_recursions = false; // create nested startmaps: create_startmaps(m_pdata->m_first_state); // create main startmap: std::memset(m_pdata->m_startmap, 0, sizeof(m_pdata->m_startmap)); m_pdata->m_can_be_null = 0; m_bad_repeats = 0; if(m_has_recursions) m_recursion_checks.assign(1 + m_pdata->m_mark_count, 0u); create_startmap(m_pdata->m_first_state, m_pdata->m_startmap, &(m_pdata->m_can_be_null), mask_all); // get the restart type: m_pdata->m_restart_type = get_restart_type(m_pdata->m_first_state); // optimise a leading repeat if there is one: probe_leading_repeat(m_pdata->m_first_state); } template void basic_regex_creator::fixup_pointers(re_syntax_base* state) { while(state) { switch(state->type) { case syntax_element_recurse: m_has_recursions = true; if(state->next.i) state->next.p = getaddress(state->next.i, state); else state->next.p = 0; break; case syntax_element_rep: case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: // set the state_id of this repeat: static_cast(state)->state_id = m_repeater_id++; BOOST_REGEX_FALLTHROUGH; case syntax_element_alt: std::memset(static_cast(state)->_map, 0, sizeof(static_cast(state)->_map)); static_cast(state)->can_be_null = 0; BOOST_REGEX_FALLTHROUGH; case syntax_element_jump: static_cast(state)->alt.p = getaddress(static_cast(state)->alt.i, state); BOOST_REGEX_FALLTHROUGH; default: if(state->next.i) state->next.p = getaddress(state->next.i, state); else state->next.p = 0; } state = state->next.p; } } template void basic_regex_creator::fixup_recursions(re_syntax_base* state) { re_syntax_base* base = state; while(state) { switch(state->type) { case syntax_element_assert_backref: { // just check that the index is valid: int idx = static_cast(state)->index; if(idx < 0) { idx = -idx-1; if(idx >= hash_value_mask) { idx = m_pdata->get_id(idx); if(idx <= 0) { // check of sub-expression that doesn't exist: if(0 == this->m_pdata->m_status) // update the error code if not already set this->m_pdata->m_status = boost::regex_constants::error_bad_pattern; // // clear the expression, we should be empty: // this->m_pdata->m_expression = 0; this->m_pdata->m_expression_len = 0; // // and throw if required: // if(0 == (this->flags() & regex_constants::no_except)) { std::string message = "Encountered a forward reference to a marked sub-expression that does not exist."; boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0); e.raise(); } } } } } break; case syntax_element_recurse: { bool ok = false; re_syntax_base* p = base; std::ptrdiff_t idx = static_cast(state)->alt.i; if(idx >= hash_value_mask) { // // There may be more than one capture group with this hash, just do what Perl // does and recurse to the leftmost: // idx = m_pdata->get_id(static_cast(idx)); } if(idx < 0) { ok = false; } else { while(p) { if((p->type == syntax_element_startmark) && (static_cast(p)->index == idx)) { // // We've found the target of the recursion, set the jump target: // static_cast(state)->alt.p = p; ok = true; // // Now scan the target for nested repeats: // p = p->next.p; int next_rep_id = 0; while(p) { switch(p->type) { case syntax_element_rep: case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: next_rep_id = static_cast(p)->state_id; break; case syntax_element_endmark: if(static_cast(p)->index == idx) next_rep_id = -1; break; default: break; } if(next_rep_id) break; p = p->next.p; } if(next_rep_id > 0) { static_cast(state)->state_id = next_rep_id - 1; } break; } p = p->next.p; } } if(!ok) { // recursion to sub-expression that doesn't exist: if(0 == this->m_pdata->m_status) // update the error code if not already set this->m_pdata->m_status = boost::regex_constants::error_bad_pattern; // // clear the expression, we should be empty: // this->m_pdata->m_expression = 0; this->m_pdata->m_expression_len = 0; // // and throw if required: // if(0 == (this->flags() & regex_constants::no_except)) { std::string message = "Encountered a forward reference to a recursive sub-expression that does not exist."; boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0); e.raise(); } } } break; default: break; } state = state->next.p; } } template void basic_regex_creator::create_startmaps(re_syntax_base* state) { // non-recursive implementation: // create the last map in the machine first, so that earlier maps // can make use of the result... // // This was originally a recursive implementation, but that caused stack // overflows with complex expressions on small stacks (think COM+). // start by saving the case setting: bool l_icase = m_icase; std::vector > v; while(state) { switch(state->type) { case syntax_element_toggle_case: // we need to track case changes here: m_icase = static_cast(state)->icase; state = state->next.p; continue; case syntax_element_alt: case syntax_element_rep: case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: // just push the state onto our stack for now: v.push_back(std::pair(m_icase, state)); state = state->next.p; break; case syntax_element_backstep: // we need to calculate how big the backstep is: static_cast(state)->index = this->calculate_backstep(state->next.p); if(static_cast(state)->index < 0) { // Oops error: if(0 == this->m_pdata->m_status) // update the error code if not already set this->m_pdata->m_status = boost::regex_constants::error_bad_pattern; // // clear the expression, we should be empty: // this->m_pdata->m_expression = 0; this->m_pdata->m_expression_len = 0; // // and throw if required: // if(0 == (this->flags() & regex_constants::no_except)) { std::string message = "Invalid lookbehind assertion encountered in the regular expression."; boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0); e.raise(); } } BOOST_REGEX_FALLTHROUGH; default: state = state->next.p; } } // now work through our list, building all the maps as we go: while(!v.empty()) { // Initialize m_recursion_checks if we need it: if(m_has_recursions) m_recursion_checks.assign(1 + m_pdata->m_mark_count, 0u); const std::pair& p = v.back(); m_icase = p.first; state = p.second; v.pop_back(); // Build maps: m_bad_repeats = 0; create_startmap(state->next.p, static_cast(state)->_map, &static_cast(state)->can_be_null, mask_take); m_bad_repeats = 0; if(m_has_recursions) m_recursion_checks.assign(1 + m_pdata->m_mark_count, 0u); create_startmap(static_cast(state)->alt.p, static_cast(state)->_map, &static_cast(state)->can_be_null, mask_skip); // adjust the type of the state to allow for faster matching: state->type = this->get_repeat_type(state); } // restore case sensitivity: m_icase = l_icase; } template int basic_regex_creator::calculate_backstep(re_syntax_base* state) { typedef typename traits::char_class_type m_type; int result = 0; while(state) { switch(state->type) { case syntax_element_startmark: if((static_cast(state)->index == -1) || (static_cast(state)->index == -2)) { state = static_cast(state->next.p)->alt.p->next.p; continue; } else if(static_cast(state)->index == -3) { state = state->next.p->next.p; continue; } break; case syntax_element_endmark: if((static_cast(state)->index == -1) || (static_cast(state)->index == -2)) return result; break; case syntax_element_literal: result += static_cast(state)->length; break; case syntax_element_wild: case syntax_element_set: result += 1; break; case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_backref: case syntax_element_rep: case syntax_element_combining: case syntax_element_long_set_rep: case syntax_element_backstep: { re_repeat* rep = static_cast(state); // adjust the type of the state to allow for faster matching: state->type = this->get_repeat_type(state); if((state->type == syntax_element_dot_rep) || (state->type == syntax_element_char_rep) || (state->type == syntax_element_short_set_rep)) { if(rep->max != rep->min) return -1; result += static_cast(rep->min); state = rep->alt.p; continue; } else if(state->type == syntax_element_long_set_rep) { BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_long_set); if(static_cast*>(rep->next.p)->singleton == 0) return -1; if(rep->max != rep->min) return -1; result += static_cast(rep->min); state = rep->alt.p; continue; } } return -1; case syntax_element_long_set: if(static_cast*>(state)->singleton == 0) return -1; result += 1; break; case syntax_element_jump: state = static_cast(state)->alt.p; continue; case syntax_element_alt: { int r1 = calculate_backstep(state->next.p); int r2 = calculate_backstep(static_cast(state)->alt.p); if((r1 < 0) || (r1 != r2)) return -1; return result + r1; } default: break; } state = state->next.p; } return -1; } struct recursion_saver { std::vector saved_state; std::vector* state; recursion_saver(std::vector* p) : saved_state(*p), state(p) {} ~recursion_saver() { state->swap(saved_state); } }; template void basic_regex_creator::create_startmap(re_syntax_base* state, unsigned char* l_map, unsigned int* pnull, unsigned char mask) { recursion_saver saved_recursions(&m_recursion_checks); int not_last_jump = 1; re_syntax_base* recursion_start = 0; int recursion_sub = 0; re_syntax_base* recursion_restart = 0; // track case sensitivity: bool l_icase = m_icase; while(state) { switch(state->type) { case syntax_element_toggle_case: l_icase = static_cast(state)->icase; state = state->next.p; break; case syntax_element_literal: { // don't set anything in *pnull, set each element in l_map // that could match the first character in the literal: if(l_map) { l_map[0] |= mask_init; charT first_char = *static_cast(static_cast(static_cast(state) + 1)); for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i) { if(m_traits.translate(static_cast(i), l_icase) == first_char) l_map[i] |= mask; } } return; } case syntax_element_end_line: { // next character must be a line separator (if there is one): if(l_map) { l_map[0] |= mask_init; l_map[static_cast('\n')] |= mask; l_map[static_cast('\r')] |= mask; l_map[static_cast('\f')] |= mask; l_map[0x85] |= mask; } // now figure out if we can match a NULL string at this point: if(pnull) create_startmap(state->next.p, 0, pnull, mask); return; } case syntax_element_recurse: { BOOST_REGEX_ASSERT(static_cast(state)->alt.p->type == syntax_element_startmark); recursion_sub = static_cast(static_cast(state)->alt.p)->index; if(m_recursion_checks[recursion_sub] & 1u) { // Infinite recursion!! if(0 == this->m_pdata->m_status) // update the error code if not already set this->m_pdata->m_status = boost::regex_constants::error_bad_pattern; // // clear the expression, we should be empty: // this->m_pdata->m_expression = 0; this->m_pdata->m_expression_len = 0; // // and throw if required: // if(0 == (this->flags() & regex_constants::no_except)) { std::string message = "Encountered an infinite recursion."; boost::regex_error e(message, boost::regex_constants::error_bad_pattern, 0); e.raise(); } } else if(recursion_start == 0) { recursion_start = state; recursion_restart = state->next.p; state = static_cast(state)->alt.p; m_recursion_checks[recursion_sub] |= 1u; break; } m_recursion_checks[recursion_sub] |= 1u; // can't handle nested recursion here... BOOST_REGEX_FALLTHROUGH; } case syntax_element_backref: // can be null, and any character can match: if(pnull) *pnull |= mask; BOOST_REGEX_FALLTHROUGH; case syntax_element_wild: { // can't be null, any character can match: set_all_masks(l_map, mask); return; } case syntax_element_accept: case syntax_element_match: { // must be null, any character can match: set_all_masks(l_map, mask); if(pnull) *pnull |= mask; return; } case syntax_element_word_start: { // recurse, then AND with all the word characters: create_startmap(state->next.p, l_map, pnull, mask); if(l_map) { l_map[0] |= mask_init; for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i) { if(!m_traits.isctype(static_cast(i), m_word_mask)) l_map[i] &= static_cast(~mask); } } return; } case syntax_element_word_end: { // recurse, then AND with all the word characters: create_startmap(state->next.p, l_map, pnull, mask); if(l_map) { l_map[0] |= mask_init; for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i) { if(m_traits.isctype(static_cast(i), m_word_mask)) l_map[i] &= static_cast(~mask); } } return; } case syntax_element_buffer_end: { // we *must be null* : if(pnull) *pnull |= mask; return; } case syntax_element_long_set: if(l_map) { typedef typename traits::char_class_type m_type; if(static_cast*>(state)->singleton) { l_map[0] |= mask_init; for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i) { charT c = static_cast(i); if(&c != re_is_set_member(&c, &c + 1, static_cast*>(state), *m_pdata, l_icase)) l_map[i] |= mask; } } else set_all_masks(l_map, mask); } return; case syntax_element_set: if(l_map) { l_map[0] |= mask_init; for(unsigned int i = 0; i < (1u << CHAR_BIT); ++i) { if(static_cast(state)->_map[ static_cast(m_traits.translate(static_cast(i), l_icase))]) l_map[i] |= mask; } } return; case syntax_element_jump: // take the jump: state = static_cast(state)->alt.p; not_last_jump = -1; break; case syntax_element_alt: case syntax_element_rep: case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: { re_alt* rep = static_cast(state); if(rep->_map[0] & mask_init) { if(l_map) { // copy previous results: l_map[0] |= mask_init; for(unsigned int i = 0; i <= UCHAR_MAX; ++i) { if(rep->_map[i] & mask_any) l_map[i] |= mask; } } if(pnull) { if(rep->can_be_null & mask_any) *pnull |= mask; } } else { // we haven't created a startmap for this alternative yet // so take the union of the two options: if(is_bad_repeat(state)) { set_all_masks(l_map, mask); if(pnull) *pnull |= mask; return; } set_bad_repeat(state); create_startmap(state->next.p, l_map, pnull, mask); if((state->type == syntax_element_alt) || (static_cast(state)->min == 0) || (not_last_jump == 0)) create_startmap(rep->alt.p, l_map, pnull, mask); } } return; case syntax_element_soft_buffer_end: // match newline or null: if(l_map) { l_map[0] |= mask_init; l_map[static_cast('\n')] |= mask; l_map[static_cast('\r')] |= mask; } if(pnull) *pnull |= mask; return; case syntax_element_endmark: // need to handle independent subs as a special case: if(static_cast(state)->index < 0) { // can be null, any character can match: set_all_masks(l_map, mask); if(pnull) *pnull |= mask; return; } else if(recursion_start && (recursion_sub != 0) && (recursion_sub == static_cast(state)->index)) { // recursion termination: recursion_start = 0; state = recursion_restart; break; } // // Normally we just go to the next state... but if this sub-expression is // the target of a recursion, then we might be ending a recursion, in which // case we should check whatever follows that recursion, as well as whatever // follows this state: // if(m_pdata->m_has_recursions && static_cast(state)->index) { bool ok = false; re_syntax_base* p = m_pdata->m_first_state; while(p) { if(p->type == syntax_element_recurse) { re_brace* p2 = static_cast(static_cast(p)->alt.p); if((p2->type == syntax_element_startmark) && (p2->index == static_cast(state)->index)) { ok = true; break; } } p = p->next.p; } if(ok && ((m_recursion_checks[static_cast(state)->index] & 2u) == 0)) { m_recursion_checks[static_cast(state)->index] |= 2u; create_startmap(p->next.p, l_map, pnull, mask); } } state = state->next.p; break; case syntax_element_commit: set_all_masks(l_map, mask); // Continue scanning so we can figure out whether we can be null: state = state->next.p; break; case syntax_element_startmark: // need to handle independent subs as a special case: if(static_cast(state)->index == -3) { state = state->next.p->next.p; break; } BOOST_REGEX_FALLTHROUGH; default: state = state->next.p; } ++not_last_jump; } } template unsigned basic_regex_creator::get_restart_type(re_syntax_base* state) { // // find out how the machine starts, so we can optimise the search: // while(state) { switch(state->type) { case syntax_element_startmark: case syntax_element_endmark: state = state->next.p; continue; case syntax_element_start_line: return regbase::restart_line; case syntax_element_word_start: return regbase::restart_word; case syntax_element_buffer_start: return regbase::restart_buf; case syntax_element_restart_continue: return regbase::restart_continue; default: state = 0; continue; } } return regbase::restart_any; } template void basic_regex_creator::set_all_masks(unsigned char* bits, unsigned char mask) { // // set mask in all of bits elements, // if bits[0] has mask_init not set then we can // optimise this to a call to memset: // if(bits) { if(bits[0] == 0) (std::memset)(bits, mask, 1u << CHAR_BIT); else { for(unsigned i = 0; i < (1u << CHAR_BIT); ++i) bits[i] |= mask; } bits[0] |= mask_init; } } template bool basic_regex_creator::is_bad_repeat(re_syntax_base* pt) { switch(pt->type) { case syntax_element_rep: case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: { unsigned state_id = static_cast(pt)->state_id; if(state_id >= sizeof(m_bad_repeats) * CHAR_BIT) return true; // run out of bits, assume we can't traverse this one. static const std::uintmax_t one = 1uL; return m_bad_repeats & (one << state_id); } default: return false; } } template void basic_regex_creator::set_bad_repeat(re_syntax_base* pt) { switch(pt->type) { case syntax_element_rep: case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: { unsigned state_id = static_cast(pt)->state_id; static const std::uintmax_t one = 1uL; if(state_id <= sizeof(m_bad_repeats) * CHAR_BIT) m_bad_repeats |= (one << state_id); } break; default: break; } } template syntax_element_type basic_regex_creator::get_repeat_type(re_syntax_base* state) { typedef typename traits::char_class_type m_type; if(state->type == syntax_element_rep) { // check to see if we are repeating a single state: if(state->next.p->next.p->next.p == static_cast(state)->alt.p) { switch(state->next.p->type) { case BOOST_REGEX_DETAIL_NS::syntax_element_wild: return BOOST_REGEX_DETAIL_NS::syntax_element_dot_rep; case BOOST_REGEX_DETAIL_NS::syntax_element_literal: return BOOST_REGEX_DETAIL_NS::syntax_element_char_rep; case BOOST_REGEX_DETAIL_NS::syntax_element_set: return BOOST_REGEX_DETAIL_NS::syntax_element_short_set_rep; case BOOST_REGEX_DETAIL_NS::syntax_element_long_set: if(static_cast*>(state->next.p)->singleton) return BOOST_REGEX_DETAIL_NS::syntax_element_long_set_rep; break; default: break; } } } return state->type; } template void basic_regex_creator::probe_leading_repeat(re_syntax_base* state) { // enumerate our states, and see if we have a leading repeat // for which failed search restarts can be optimized; do { switch(state->type) { case syntax_element_startmark: if(static_cast(state)->index >= 0) { state = state->next.p; continue; } #ifdef BOOST_REGEX_MSVC # pragma warning(push) #pragma warning(disable:6011) #endif if((static_cast(state)->index == -1) || (static_cast(state)->index == -2)) { // skip past the zero width assertion: state = static_cast(state->next.p)->alt.p->next.p; continue; } #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif if(static_cast(state)->index == -3) { // Have to skip the leading jump state: state = state->next.p->next.p; continue; } return; case syntax_element_endmark: case syntax_element_start_line: case syntax_element_end_line: case syntax_element_word_boundary: case syntax_element_within_word: case syntax_element_word_start: case syntax_element_word_end: case syntax_element_buffer_start: case syntax_element_buffer_end: case syntax_element_restart_continue: state = state->next.p; break; case syntax_element_dot_rep: case syntax_element_char_rep: case syntax_element_short_set_rep: case syntax_element_long_set_rep: if(this->m_has_backrefs == 0) static_cast(state)->leading = true; BOOST_REGEX_FALLTHROUGH; default: return; } }while(state); } } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/basic_regex_parser.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE basic_regex_parser.cpp * VERSION see * DESCRIPTION: Declares template class basic_regex_parser. */ #ifndef BOOST_REGEX_V5_BASIC_REGEX_PARSER_HPP #define BOOST_REGEX_V5_BASIC_REGEX_PARSER_HPP namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4244 4459) #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif inline std::intmax_t umax(std::integral_constant const&) { // Get out clause here, just in case numeric_limits is unspecialized: return std::numeric_limits::is_specialized ? (std::numeric_limits::max)() : INT_MAX; } inline std::intmax_t umax(std::integral_constant const&) { return (std::numeric_limits::max)(); } inline std::intmax_t umax() { return umax(std::integral_constant::digits >= std::numeric_limits::digits>()); } template class basic_regex_parser : public basic_regex_creator { public: basic_regex_parser(regex_data* data); void parse(const charT* p1, const charT* p2, unsigned flags); void fail(regex_constants::error_type error_code, std::ptrdiff_t position); void fail(regex_constants::error_type error_code, std::ptrdiff_t position, std::string message, std::ptrdiff_t start_pos); void fail(regex_constants::error_type error_code, std::ptrdiff_t position, const std::string& message) { fail(error_code, position, message, position); } bool parse_all(); bool parse_basic(); bool parse_extended(); bool parse_literal(); bool parse_open_paren(); bool parse_basic_escape(); bool parse_extended_escape(); bool parse_match_any(); bool parse_repeat(std::size_t low = 0, std::size_t high = (std::numeric_limits::max)()); bool parse_repeat_range(bool isbasic); bool parse_alt(); bool parse_set(); bool parse_backref(); void parse_set_literal(basic_char_set& char_set); bool parse_inner_set(basic_char_set& char_set); bool parse_QE(); bool parse_perl_extension(); bool parse_perl_verb(); bool match_verb(const char*); bool add_emacs_code(bool negate); bool unwind_alts(std::ptrdiff_t last_paren_start); digraph get_next_set_literal(basic_char_set& char_set); charT unescape_character(); regex_constants::syntax_option_type parse_options(); private: typedef bool (basic_regex_parser::*parser_proc_type)(); typedef typename traits::string_type string_type; typedef typename traits::char_class_type char_class_type; parser_proc_type m_parser_proc; // the main parser to use const charT* m_base; // the start of the string being parsed const charT* m_end; // the end of the string being parsed const charT* m_position; // our current parser position unsigned m_mark_count; // how many sub-expressions we have int m_mark_reset; // used to indicate that we're inside a (?|...) block. unsigned m_max_mark; // largest mark count seen inside a (?|...) block. std::ptrdiff_t m_paren_start; // where the last seen ')' began (where repeats are inserted). std::ptrdiff_t m_alt_insert_point; // where to insert the next alternative bool m_has_case_change; // true if somewhere in the current block the case has changed unsigned m_recursion_count; // How many times we've called parse_all. unsigned m_max_backref; // Largest index of any backref. #if defined(BOOST_REGEX_MSVC) && defined(_M_IX86) // This is an ugly warning suppression workaround (for warnings *inside* std::vector // that can not otherwise be suppressed)... static_assert(sizeof(long) >= sizeof(void*), "Long isn't long enough!"); std::vector m_alt_jumps; // list of alternative in the current scope. #else std::vector m_alt_jumps; // list of alternative in the current scope. #endif basic_regex_parser& operator=(const basic_regex_parser&); basic_regex_parser(const basic_regex_parser&); }; template basic_regex_parser::basic_regex_parser(regex_data* data) : basic_regex_creator(data), m_parser_proc(), m_base(0), m_end(0), m_position(0), m_mark_count(0), m_mark_reset(-1), m_max_mark(0), m_paren_start(0), m_alt_insert_point(0), m_has_case_change(false), m_recursion_count(0), m_max_backref(0) { } template void basic_regex_parser::parse(const charT* p1, const charT* p2, unsigned l_flags) { // pass l_flags on to base class: this->init(l_flags); // set up pointers: m_position = m_base = p1; m_end = p2; // empty strings are errors: if((p1 == p2) && ( ((l_flags & regbase::main_option_type) != regbase::perl_syntax_group) || (l_flags & regbase::no_empty_expressions) ) ) { fail(regex_constants::error_empty, 0); return; } // select which parser to use: switch(l_flags & regbase::main_option_type) { case regbase::perl_syntax_group: { m_parser_proc = &basic_regex_parser::parse_extended; // // Add a leading paren with index zero to give recursions a target: // re_brace* br = static_cast(this->append_state(syntax_element_startmark, sizeof(re_brace))); br->index = 0; br->icase = this->flags() & regbase::icase; break; } case regbase::basic_syntax_group: m_parser_proc = &basic_regex_parser::parse_basic; break; case regbase::literal: m_parser_proc = &basic_regex_parser::parse_literal; break; default: // Oops, someone has managed to set more than one of the main option flags, // so this must be an error: fail(regex_constants::error_unknown, 0, "An invalid combination of regular expression syntax flags was used."); return; } // parse all our characters: bool result = parse_all(); // // Unwind our alternatives: // unwind_alts(-1); // reset l_flags as a global scope (?imsx) may have altered them: this->flags(l_flags); // if we haven't gobbled up all the characters then we must // have had an unexpected ')' : if(!result) { fail(regex_constants::error_paren, std::distance(m_base, m_position), "Found a closing ) with no corresponding opening parenthesis."); return; } // if an error has been set then give up now: if(this->m_pdata->m_status) return; // fill in our sub-expression count: this->m_pdata->m_mark_count = 1u + (std::size_t)m_mark_count; // // Check we don't have backreferences to sub-expressions which don't exist: // if (m_max_backref > m_mark_count) { fail(regex_constants::error_backref, std::distance(m_base, m_position), "Found a backreference to a non-existant sub-expression."); } this->finalize(p1, p2); } template void basic_regex_parser::fail(regex_constants::error_type error_code, std::ptrdiff_t position) { // get the error message: std::string message = this->m_pdata->m_ptraits->error_string(error_code); fail(error_code, position, message); } template void basic_regex_parser::fail(regex_constants::error_type error_code, std::ptrdiff_t position, std::string message, std::ptrdiff_t start_pos) { if(0 == this->m_pdata->m_status) // update the error code if not already set this->m_pdata->m_status = error_code; m_position = m_end; // don't bother parsing anything else // // Augment error message with the regular expression text: // if(start_pos == position) start_pos = (std::max)(static_cast(0), position - static_cast(10)); std::ptrdiff_t end_pos = (std::min)(position + static_cast(10), static_cast(m_end - m_base)); if(error_code != regex_constants::error_empty) { if((start_pos != 0) || (end_pos != (m_end - m_base))) message += " The error occurred while parsing the regular expression fragment: '"; else message += " The error occurred while parsing the regular expression: '"; if(start_pos != end_pos) { message += std::string(m_base + start_pos, m_base + position); message += ">>>HERE>>>"; message += std::string(m_base + position, m_base + end_pos); } message += "'."; } #ifndef BOOST_NO_EXCEPTIONS if(0 == (this->flags() & regex_constants::no_except)) { boost::regex_error e(message, error_code, position); e.raise(); } #else (void)position; // suppress warnings. #endif } template bool basic_regex_parser::parse_all() { if (++m_recursion_count > 400) { // exceeded internal limits fail(boost::regex_constants::error_complexity, m_position - m_base, "Exceeded nested brace limit."); } bool result = true; while(result && (m_position != m_end)) { result = (this->*m_parser_proc)(); } --m_recursion_count; return result; } #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4702) #endif template bool basic_regex_parser::parse_basic() { switch(this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_escape: return parse_basic_escape(); case regex_constants::syntax_dot: return parse_match_any(); case regex_constants::syntax_caret: ++m_position; this->append_state(syntax_element_start_line); break; case regex_constants::syntax_dollar: ++m_position; this->append_state(syntax_element_end_line); break; case regex_constants::syntax_star: if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line)) return parse_literal(); else { ++m_position; return parse_repeat(); } case regex_constants::syntax_plus: if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line) || !(this->flags() & regbase::emacs_ex)) return parse_literal(); else { ++m_position; return parse_repeat(1); } case regex_constants::syntax_question: if(!(this->m_last_state) || (this->m_last_state->type == syntax_element_start_line) || !(this->flags() & regbase::emacs_ex)) return parse_literal(); else { ++m_position; return parse_repeat(0, 1); } case regex_constants::syntax_open_set: return parse_set(); case regex_constants::syntax_newline: if(this->flags() & regbase::newline_alt) return parse_alt(); else return parse_literal(); default: return parse_literal(); } return true; } #ifdef BOOST_REGEX_MSVC # pragma warning(push) #if BOOST_REGEX_MSVC >= 1800 #pragma warning(disable:26812) #endif #endif template bool basic_regex_parser::parse_extended() { bool result = true; switch(this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_open_mark: return parse_open_paren(); case regex_constants::syntax_close_mark: return false; case regex_constants::syntax_escape: return parse_extended_escape(); case regex_constants::syntax_dot: return parse_match_any(); case regex_constants::syntax_caret: ++m_position; this->append_state( (this->flags() & regex_constants::no_mod_m ? syntax_element_buffer_start : syntax_element_start_line)); break; case regex_constants::syntax_dollar: ++m_position; this->append_state( (this->flags() & regex_constants::no_mod_m ? syntax_element_buffer_end : syntax_element_end_line)); break; case regex_constants::syntax_star: if(m_position == this->m_base) { fail(regex_constants::error_badrepeat, 0, "The repeat operator \"*\" cannot start a regular expression."); return false; } ++m_position; return parse_repeat(); case regex_constants::syntax_question: if(m_position == this->m_base) { fail(regex_constants::error_badrepeat, 0, "The repeat operator \"?\" cannot start a regular expression."); return false; } ++m_position; return parse_repeat(0,1); case regex_constants::syntax_plus: if(m_position == this->m_base) { fail(regex_constants::error_badrepeat, 0, "The repeat operator \"+\" cannot start a regular expression."); return false; } ++m_position; return parse_repeat(1); case regex_constants::syntax_open_brace: ++m_position; return parse_repeat_range(false); case regex_constants::syntax_close_brace: if((this->flags() & regbase::no_perl_ex) == regbase::no_perl_ex) { fail(regex_constants::error_brace, this->m_position - this->m_base, "Found a closing repetition operator } with no corresponding {."); return false; } result = parse_literal(); break; case regex_constants::syntax_or: return parse_alt(); case regex_constants::syntax_open_set: return parse_set(); case regex_constants::syntax_newline: if(this->flags() & regbase::newline_alt) return parse_alt(); else return parse_literal(); case regex_constants::syntax_hash: // // If we have a mod_x flag set, then skip until // we get to a newline character: // if((this->flags() & (regbase::no_perl_ex|regbase::mod_x)) == regbase::mod_x) { while((m_position != m_end) && !is_separator(*m_position++)){} return true; } BOOST_REGEX_FALLTHROUGH; default: result = parse_literal(); break; } return result; } #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif template bool basic_regex_parser::parse_literal() { // append this as a literal provided it's not a space character // or the perl option regbase::mod_x is not set: if( ((this->flags() & (regbase::main_option_type|regbase::mod_x|regbase::no_perl_ex)) != regbase::mod_x) || !this->m_traits.isctype(*m_position, this->m_mask_space)) this->append_literal(*m_position); ++m_position; return true; } template bool basic_regex_parser::parse_open_paren() { // // skip the '(' and error check: // if(++m_position == m_end) { fail(regex_constants::error_paren, m_position - m_base); return false; } // // begin by checking for a perl-style (?...) extension: // if( ((this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) == 0) || ((this->flags() & (regbase::main_option_type | regbase::emacs_ex)) == (regbase::basic_syntax_group|regbase::emacs_ex)) ) { if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_question) return parse_perl_extension(); if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_star) return parse_perl_verb(); } // // update our mark count, and append the required state: // unsigned markid = 0; if(0 == (this->flags() & regbase::nosubs)) { markid = ++m_mark_count; if(this->flags() & regbase::save_subexpression_location) this->m_pdata->m_subs.push_back(std::pair(std::distance(m_base, m_position) - 1, 0)); } re_brace* pb = static_cast(this->append_state(syntax_element_startmark, sizeof(re_brace))); pb->index = markid; pb->icase = this->flags() & regbase::icase; std::ptrdiff_t last_paren_start = this->getoffset(pb); // back up insertion point for alternations, and set new point: std::ptrdiff_t last_alt_point = m_alt_insert_point; this->m_pdata->m_data.align(); m_alt_insert_point = this->m_pdata->m_data.size(); // // back up the current flags in case we have a nested (?imsx) group: // regex_constants::syntax_option_type opts = this->flags(); bool old_case_change = m_has_case_change; m_has_case_change = false; // no changes to this scope as yet... // // Back up branch reset data in case we have a nested (?|...) // int mark_reset = m_mark_reset; m_mark_reset = -1; // // now recursively add more states, this will terminate when we get to a // matching ')' : // parse_all(); // // Unwind pushed alternatives: // if(0 == unwind_alts(last_paren_start)) return false; // // restore flags: // if(m_has_case_change) { // the case has changed in one or more of the alternatives // within the scoped (...) block: we have to add a state // to reset the case sensitivity: static_cast( this->append_state(syntax_element_toggle_case, sizeof(re_case)) )->icase = opts & regbase::icase; } this->flags(opts); m_has_case_change = old_case_change; // // restore branch reset: // m_mark_reset = mark_reset; // // we either have a ')' or we have run out of characters prematurely: // if(m_position == m_end) { this->fail(regex_constants::error_paren, std::distance(m_base, m_end)); return false; } if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) return false; if(markid && (this->flags() & regbase::save_subexpression_location)) this->m_pdata->m_subs.at(markid - 1).second = std::distance(m_base, m_position); ++m_position; // // append closing parenthesis state: // pb = static_cast(this->append_state(syntax_element_endmark, sizeof(re_brace))); pb->index = markid; pb->icase = this->flags() & regbase::icase; this->m_paren_start = last_paren_start; // // restore the alternate insertion point: // this->m_alt_insert_point = last_alt_point; return true; } template bool basic_regex_parser::parse_basic_escape() { if(++m_position == m_end) { fail(regex_constants::error_paren, m_position - m_base); return false; } bool result = true; switch(this->m_traits.escape_syntax_type(*m_position)) { case regex_constants::syntax_open_mark: return parse_open_paren(); case regex_constants::syntax_close_mark: return false; case regex_constants::syntax_plus: if(this->flags() & regex_constants::bk_plus_qm) { ++m_position; return parse_repeat(1); } else return parse_literal(); case regex_constants::syntax_question: if(this->flags() & regex_constants::bk_plus_qm) { ++m_position; return parse_repeat(0, 1); } else return parse_literal(); case regex_constants::syntax_open_brace: if(this->flags() & regbase::no_intervals) return parse_literal(); ++m_position; return parse_repeat_range(true); case regex_constants::syntax_close_brace: if(this->flags() & regbase::no_intervals) return parse_literal(); fail(regex_constants::error_brace, this->m_position - this->m_base, "Found a closing repetition operator } with no corresponding {."); return false; case regex_constants::syntax_or: if(this->flags() & regbase::bk_vbar) return parse_alt(); else result = parse_literal(); break; case regex_constants::syntax_digit: return parse_backref(); case regex_constants::escape_type_start_buffer: if(this->flags() & regbase::emacs_ex) { ++m_position; this->append_state(syntax_element_buffer_start); } else result = parse_literal(); break; case regex_constants::escape_type_end_buffer: if(this->flags() & regbase::emacs_ex) { ++m_position; this->append_state(syntax_element_buffer_end); } else result = parse_literal(); break; case regex_constants::escape_type_word_assert: if(this->flags() & regbase::emacs_ex) { ++m_position; this->append_state(syntax_element_word_boundary); } else result = parse_literal(); break; case regex_constants::escape_type_not_word_assert: if(this->flags() & regbase::emacs_ex) { ++m_position; this->append_state(syntax_element_within_word); } else result = parse_literal(); break; case regex_constants::escape_type_left_word: if(this->flags() & regbase::emacs_ex) { ++m_position; this->append_state(syntax_element_word_start); } else result = parse_literal(); break; case regex_constants::escape_type_right_word: if(this->flags() & regbase::emacs_ex) { ++m_position; this->append_state(syntax_element_word_end); } else result = parse_literal(); break; default: if(this->flags() & regbase::emacs_ex) { bool negate = true; switch(*m_position) { case 'w': negate = false; BOOST_REGEX_FALLTHROUGH; case 'W': { basic_char_set char_set; if(negate) char_set.negate(); char_set.add_class(this->m_word_mask); if(0 == this->append_set(char_set)) { fail(regex_constants::error_ctype, m_position - m_base); return false; } ++m_position; return true; } case 's': negate = false; BOOST_REGEX_FALLTHROUGH; case 'S': return add_emacs_code(negate); case 'c': case 'C': // not supported yet: fail(regex_constants::error_escape, m_position - m_base, "The \\c and \\C escape sequences are not supported by POSIX basic regular expressions: try the Perl syntax instead."); return false; default: break; } } result = parse_literal(); break; } return result; } template bool basic_regex_parser::parse_extended_escape() { ++m_position; if(m_position == m_end) { fail(regex_constants::error_escape, m_position - m_base, "Incomplete escape sequence found."); return false; } bool negate = false; // in case this is a character class escape: \w \d etc switch(this->m_traits.escape_syntax_type(*m_position)) { case regex_constants::escape_type_not_class: negate = true; BOOST_REGEX_FALLTHROUGH; case regex_constants::escape_type_class: { escape_type_class_jump: typedef typename traits::char_class_type m_type; m_type m = this->m_traits.lookup_classname(m_position, m_position+1); if(m != 0) { basic_char_set char_set; if(negate) char_set.negate(); char_set.add_class(m); if(0 == this->append_set(char_set)) { fail(regex_constants::error_ctype, m_position - m_base); return false; } ++m_position; return true; } // // not a class, just a regular unknown escape: // this->append_literal(unescape_character()); break; } case regex_constants::syntax_digit: return parse_backref(); case regex_constants::escape_type_left_word: ++m_position; this->append_state(syntax_element_word_start); break; case regex_constants::escape_type_right_word: ++m_position; this->append_state(syntax_element_word_end); break; case regex_constants::escape_type_start_buffer: ++m_position; this->append_state(syntax_element_buffer_start); break; case regex_constants::escape_type_end_buffer: ++m_position; this->append_state(syntax_element_buffer_end); break; case regex_constants::escape_type_word_assert: ++m_position; this->append_state(syntax_element_word_boundary); break; case regex_constants::escape_type_not_word_assert: ++m_position; this->append_state(syntax_element_within_word); break; case regex_constants::escape_type_Z: ++m_position; this->append_state(syntax_element_soft_buffer_end); break; case regex_constants::escape_type_Q: return parse_QE(); case regex_constants::escape_type_C: return parse_match_any(); case regex_constants::escape_type_X: ++m_position; this->append_state(syntax_element_combining); break; case regex_constants::escape_type_G: ++m_position; this->append_state(syntax_element_restart_continue); break; case regex_constants::escape_type_not_property: negate = true; BOOST_REGEX_FALLTHROUGH; case regex_constants::escape_type_property: { ++m_position; char_class_type m; if(m_position == m_end) { fail(regex_constants::error_escape, m_position - m_base, "Incomplete property escape found."); return false; } // maybe have \p{ddd} if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace) { const charT* base = m_position; // skip forward until we find enclosing brace: while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace)) ++m_position; if(m_position == m_end) { fail(regex_constants::error_escape, m_position - m_base, "Closing } missing from property escape sequence."); return false; } m = this->m_traits.lookup_classname(++base, m_position++); } else { m = this->m_traits.lookup_classname(m_position, m_position+1); ++m_position; } if(m != 0) { basic_char_set char_set; if(negate) char_set.negate(); char_set.add_class(m); if(0 == this->append_set(char_set)) { fail(regex_constants::error_ctype, m_position - m_base); return false; } return true; } fail(regex_constants::error_ctype, m_position - m_base, "Escape sequence was neither a valid property nor a valid character class name."); return false; } case regex_constants::escape_type_reset_start_mark: if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex))) { re_brace* pb = static_cast(this->append_state(syntax_element_startmark, sizeof(re_brace))); pb->index = -5; pb->icase = this->flags() & regbase::icase; this->m_pdata->m_data.align(); ++m_position; return true; } goto escape_type_class_jump; case regex_constants::escape_type_line_ending: if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex))) { const charT* e = get_escape_R_string(); const charT* old_position = m_position; const charT* old_end = m_end; const charT* old_base = m_base; m_position = e; m_base = e; m_end = e + traits::length(e); bool r = parse_all(); m_position = ++old_position; m_end = old_end; m_base = old_base; return r; } goto escape_type_class_jump; case regex_constants::escape_type_extended_backref: if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex))) { bool have_brace = false; bool negative = false; static const char incomplete_message[] = "Incomplete \\g escape found."; if(++m_position == m_end) { fail(regex_constants::error_escape, m_position - m_base, incomplete_message); return false; } // maybe have \g{ddd} regex_constants::syntax_type syn = this->m_traits.syntax_type(*m_position); regex_constants::syntax_type syn_end = 0; if((syn == regex_constants::syntax_open_brace) || (syn == regex_constants::escape_type_left_word) || (syn == regex_constants::escape_type_end_buffer)) { if(++m_position == m_end) { fail(regex_constants::error_escape, m_position - m_base, incomplete_message); return false; } have_brace = true; switch(syn) { case regex_constants::syntax_open_brace: syn_end = regex_constants::syntax_close_brace; break; case regex_constants::escape_type_left_word: syn_end = regex_constants::escape_type_right_word; break; default: syn_end = regex_constants::escape_type_end_buffer; break; } } negative = (*m_position == static_cast('-')); if((negative) && (++m_position == m_end)) { fail(regex_constants::error_escape, m_position - m_base, incomplete_message); return false; } const charT* pc = m_position; std::intmax_t i = this->m_traits.toi(pc, m_end, 10); if((i < 0) && syn_end) { // Check for a named capture, get the leftmost one if there is more than one: const charT* base = m_position; while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != syn_end)) { ++m_position; } i = hash_value_from_capture_name(base, m_position); pc = m_position; } if(negative) i = 1 + (static_cast(m_mark_count) - i); if(((i < hash_value_mask) && (i > 0)) || ((i >= hash_value_mask) && (this->m_pdata->get_id((int)i) > 0))) { m_position = pc; re_brace* pb = static_cast(this->append_state(syntax_element_backref, sizeof(re_brace))); pb->index = (int)i; pb->icase = this->flags() & regbase::icase; if ((i > m_max_backref) && (i < hash_value_mask)) m_max_backref = i; } else { fail(regex_constants::error_backref, m_position - m_base); return false; } m_position = pc; if(have_brace) { if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != syn_end)) { fail(regex_constants::error_escape, m_position - m_base, incomplete_message); return false; } ++m_position; } return true; } goto escape_type_class_jump; case regex_constants::escape_type_control_v: if(0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex))) goto escape_type_class_jump; BOOST_REGEX_FALLTHROUGH; default: this->append_literal(unescape_character()); break; } return true; } template bool basic_regex_parser::parse_match_any() { // // we have a '.' that can match any character: // ++m_position; static_cast( this->append_state(syntax_element_wild, sizeof(re_dot)) )->mask = static_cast(this->flags() & regbase::no_mod_s ? BOOST_REGEX_DETAIL_NS::force_not_newline : this->flags() & regbase::mod_s ? BOOST_REGEX_DETAIL_NS::force_newline : BOOST_REGEX_DETAIL_NS::dont_care); return true; } template bool basic_regex_parser::parse_repeat(std::size_t low, std::size_t high) { bool greedy = true; bool possessive = false; std::size_t insert_point; // // when we get to here we may have a non-greedy ? mark still to come: // if((m_position != m_end) && ( (0 == (this->flags() & (regbase::main_option_type | regbase::no_perl_ex))) || ((regbase::basic_syntax_group|regbase::emacs_ex) == (this->flags() & (regbase::main_option_type | regbase::emacs_ex))) ) ) { // OK we have a perl or emacs regex, check for a '?': if ((this->flags() & (regbase::main_option_type | regbase::mod_x | regbase::no_perl_ex)) == regbase::mod_x) { // whitespace skip: while ((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space)) ++m_position; } if((m_position != m_end) && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_question)) { greedy = false; ++m_position; } // for perl regexes only check for possessive ++ repeats. if((m_position != m_end) && (0 == (this->flags() & regbase::main_option_type)) && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_plus)) { possessive = true; ++m_position; } } if(0 == this->m_last_state) { fail(regex_constants::error_badrepeat, std::distance(m_base, m_position), "Nothing to repeat."); return false; } if(this->m_last_state->type == syntax_element_endmark) { // insert a repeat before the '(' matching the last ')': insert_point = this->m_paren_start; } else if((this->m_last_state->type == syntax_element_literal) && (static_cast(this->m_last_state)->length > 1)) { // the last state was a literal with more than one character, split it in two: re_literal* lit = static_cast(this->m_last_state); charT c = (static_cast(static_cast(lit+1)))[lit->length - 1]; lit->length -= 1; // now append new state: lit = static_cast(this->append_state(syntax_element_literal, sizeof(re_literal) + sizeof(charT))); lit->length = 1; (static_cast(static_cast(lit+1)))[0] = c; insert_point = this->getoffset(this->m_last_state); } else { // repeat the last state whatever it was, need to add some error checking here: switch(this->m_last_state->type) { case syntax_element_start_line: case syntax_element_end_line: case syntax_element_word_boundary: case syntax_element_within_word: case syntax_element_word_start: case syntax_element_word_end: case syntax_element_buffer_start: case syntax_element_buffer_end: case syntax_element_alt: case syntax_element_soft_buffer_end: case syntax_element_restart_continue: case syntax_element_jump: case syntax_element_startmark: case syntax_element_backstep: case syntax_element_toggle_case: // can't legally repeat any of the above: fail(regex_constants::error_badrepeat, m_position - m_base); return false; default: // do nothing... break; } insert_point = this->getoffset(this->m_last_state); } // // OK we now know what to repeat, so insert the repeat around it: // re_repeat* rep = static_cast(this->insert_state(insert_point, syntax_element_rep, re_repeater_size)); rep->min = low; rep->max = high; rep->greedy = greedy; rep->leading = false; // store our repeater position for later: std::ptrdiff_t rep_off = this->getoffset(rep); // and append a back jump to the repeat: re_jump* jmp = static_cast(this->append_state(syntax_element_jump, sizeof(re_jump))); jmp->alt.i = rep_off - this->getoffset(jmp); this->m_pdata->m_data.align(); // now fill in the alt jump for the repeat: rep = static_cast(this->getaddress(rep_off)); rep->alt.i = this->m_pdata->m_data.size() - rep_off; // // If the repeat is possessive then bracket the repeat with a (?>...) // independent sub-expression construct: // if(possessive) { if(m_position != m_end) { // // Check for illegal following quantifier, we have to do this here, because // the extra states we insert below circumvents our usual error checking :-( // bool contin = false; do { if ((this->flags() & (regbase::main_option_type | regbase::mod_x | regbase::no_perl_ex)) == regbase::mod_x) { // whitespace skip: while ((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space)) ++m_position; } if (m_position != m_end) { switch (this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_star: case regex_constants::syntax_plus: case regex_constants::syntax_question: case regex_constants::syntax_open_brace: fail(regex_constants::error_badrepeat, m_position - m_base); return false; case regex_constants::syntax_open_mark: // Do we have a comment? If so we need to skip it here... if ((m_position + 2 < m_end) && this->m_traits.syntax_type(*(m_position + 1)) == regex_constants::syntax_question && this->m_traits.syntax_type(*(m_position + 2)) == regex_constants::syntax_hash) { while ((m_position != m_end) && (this->m_traits.syntax_type(*m_position++) != regex_constants::syntax_close_mark)) { } contin = true; } else contin = false; break; default: contin = false; } } else contin = false; } while (contin); } re_brace* pb = static_cast(this->insert_state(insert_point, syntax_element_startmark, sizeof(re_brace))); pb->index = -3; pb->icase = this->flags() & regbase::icase; jmp = static_cast(this->insert_state(insert_point + sizeof(re_brace), syntax_element_jump, sizeof(re_jump))); this->m_pdata->m_data.align(); jmp->alt.i = this->m_pdata->m_data.size() - this->getoffset(jmp); pb = static_cast(this->append_state(syntax_element_endmark, sizeof(re_brace))); pb->index = -3; pb->icase = this->flags() & regbase::icase; } return true; } template bool basic_regex_parser::parse_repeat_range(bool isbasic) { static const char incomplete_message[] = "Missing } in quantified repetition."; // // parse a repeat-range: // std::size_t min, max; std::intmax_t v; // skip whitespace: while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space)) ++m_position; if(this->m_position == this->m_end) { if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) { fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message); return false; } // Treat the opening '{' as a literal character, rewind to start of error: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position; return parse_literal(); } // get min: v = this->m_traits.toi(m_position, m_end, 10); // skip whitespace: if((v < 0) || (v > umax())) { if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) { fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message); return false; } // Treat the opening '{' as a literal character, rewind to start of error: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position; return parse_literal(); } while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space)) ++m_position; if(this->m_position == this->m_end) { if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) { fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message); return false; } // Treat the opening '{' as a literal character, rewind to start of error: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position; return parse_literal(); } min = static_cast(v); // see if we have a comma: if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_comma) { // move on and error check: ++m_position; // skip whitespace: while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space)) ++m_position; if(this->m_position == this->m_end) { if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) { fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message); return false; } // Treat the opening '{' as a literal character, rewind to start of error: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position; return parse_literal(); } // get the value if any: v = this->m_traits.toi(m_position, m_end, 10); max = ((v >= 0) && (v < umax())) ? (std::size_t)v : (std::numeric_limits::max)(); } else { // no comma, max = min: max = min; } // skip whitespace: while((m_position != m_end) && this->m_traits.isctype(*m_position, this->m_mask_space)) ++m_position; // OK now check trailing }: if(this->m_position == this->m_end) { if(this->flags() & (regbase::main_option_type | regbase::no_perl_ex)) { fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message); return false; } // Treat the opening '{' as a literal character, rewind to start of error: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position; return parse_literal(); } if(isbasic) { if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_escape) { ++m_position; if(this->m_position == this->m_end) { fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message); return false; } } else { fail(regex_constants::error_brace, this->m_position - this->m_base, incomplete_message); return false; } } if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_brace) ++m_position; else { // Treat the opening '{' as a literal character, rewind to start of error: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_brace) --m_position; return parse_literal(); } // // finally go and add the repeat, unless error: // if(min > max) { // Backtrack to error location: m_position -= 2; while(this->m_traits.isctype(*m_position, this->m_word_mask)) --m_position; ++m_position; fail(regex_constants::error_badbrace, m_position - m_base); return false; } return parse_repeat(min, max); } template bool basic_regex_parser::parse_alt() { // // error check: if there have been no previous states, // or if the last state was a '(' then error: // if( ((this->m_last_state == 0) || (this->m_last_state->type == syntax_element_startmark)) && !( ((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group) && ((this->flags() & regbase::no_empty_expressions) == 0) ) ) { fail(regex_constants::error_empty, this->m_position - this->m_base, "A regular expression cannot start with the alternation operator |."); return false; } // // Reset mark count if required: // if(m_max_mark < m_mark_count) m_max_mark = m_mark_count; if(m_mark_reset >= 0) m_mark_count = m_mark_reset; ++m_position; // // we need to append a trailing jump: // re_syntax_base* pj = this->append_state(BOOST_REGEX_DETAIL_NS::syntax_element_jump, sizeof(re_jump)); std::ptrdiff_t jump_offset = this->getoffset(pj); // // now insert the alternative: // re_alt* palt = static_cast(this->insert_state(this->m_alt_insert_point, syntax_element_alt, re_alt_size)); jump_offset += re_alt_size; this->m_pdata->m_data.align(); palt->alt.i = this->m_pdata->m_data.size() - this->getoffset(palt); // // update m_alt_insert_point so that the next alternate gets // inserted at the start of the second of the two we've just created: // this->m_alt_insert_point = this->m_pdata->m_data.size(); // // the start of this alternative must have a case changes state // if the current block has messed around with case changes: // if(m_has_case_change) { static_cast( this->append_state(syntax_element_toggle_case, sizeof(re_case)) )->icase = this->m_icase; } // // push the alternative onto our stack, a recursive // implementation here is easier to understand (and faster // as it happens), but causes all kinds of stack overflow problems // on programs with small stacks (COM+). // m_alt_jumps.push_back(jump_offset); return true; } template bool basic_regex_parser::parse_set() { static const char incomplete_message[] = "Character set declaration starting with [ terminated prematurely - either no ] was found or the set had no content."; ++m_position; if(m_position == m_end) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } basic_char_set char_set; const charT* base = m_position; // where the '[' was const charT* item_base = m_position; // where the '[' or '^' was while(m_position != m_end) { switch(this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_caret: if(m_position == base) { char_set.negate(); ++m_position; item_base = m_position; } else parse_set_literal(char_set); break; case regex_constants::syntax_close_set: if(m_position == item_base) { parse_set_literal(char_set); break; } else { ++m_position; if(0 == this->append_set(char_set)) { fail(regex_constants::error_ctype, m_position - m_base); return false; } } return true; case regex_constants::syntax_open_set: if(parse_inner_set(char_set)) break; return true; case regex_constants::syntax_escape: { // // look ahead and see if this is a character class shortcut // \d \w \s etc... // ++m_position; if(this->m_traits.escape_syntax_type(*m_position) == regex_constants::escape_type_class) { char_class_type m = this->m_traits.lookup_classname(m_position, m_position+1); if(m != 0) { char_set.add_class(m); ++m_position; break; } } else if(this->m_traits.escape_syntax_type(*m_position) == regex_constants::escape_type_not_class) { // negated character class: char_class_type m = this->m_traits.lookup_classname(m_position, m_position+1); if(m != 0) { char_set.add_negated_class(m); ++m_position; break; } } // not a character class, just a regular escape: --m_position; parse_set_literal(char_set); break; } default: parse_set_literal(char_set); break; } } return m_position != m_end; } template bool basic_regex_parser::parse_inner_set(basic_char_set& char_set) { static const char incomplete_message[] = "Character class declaration starting with [ terminated prematurely - either no ] was found or the set had no content."; // // we have either a character class [:name:] // a collating element [.name.] // or an equivalence class [=name=] // if(m_end == ++m_position) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } switch(this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_dot: // // a collating element is treated as a literal: // --m_position; parse_set_literal(char_set); return true; case regex_constants::syntax_colon: { // check that character classes are actually enabled: if((this->flags() & (regbase::main_option_type | regbase::no_char_classes)) == (regbase::basic_syntax_group | regbase::no_char_classes)) { --m_position; parse_set_literal(char_set); return true; } // skip the ':' if(m_end == ++m_position) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } const charT* name_first = m_position; // skip at least one character, then find the matching ':]' if(m_end == ++m_position) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_colon)) ++m_position; const charT* name_last = m_position; if(m_end == m_position) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } if((m_end == ++m_position) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set)) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } // // check for negated class: // bool negated = false; if(this->m_traits.syntax_type(*name_first) == regex_constants::syntax_caret) { ++name_first; negated = true; } typedef typename traits::char_class_type m_type; m_type m = this->m_traits.lookup_classname(name_first, name_last); if(m == 0) { if(char_set.empty() && (name_last - name_first == 1)) { // maybe a special case: ++m_position; if( (m_position != m_end) && (this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_set)) { if(this->m_traits.escape_syntax_type(*name_first) == regex_constants::escape_type_left_word) { ++m_position; this->append_state(syntax_element_word_start); return false; } if(this->m_traits.escape_syntax_type(*name_first) == regex_constants::escape_type_right_word) { ++m_position; this->append_state(syntax_element_word_end); return false; } } } fail(regex_constants::error_ctype, name_first - m_base); return false; } if(!negated) char_set.add_class(m); else char_set.add_negated_class(m); ++m_position; break; } case regex_constants::syntax_equal: { // skip the '=' if(m_end == ++m_position) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } const charT* name_first = m_position; // skip at least one character, then find the matching '=]' if(m_end == ++m_position) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal)) ++m_position; const charT* name_last = m_position; if(m_end == m_position) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } if((m_end == ++m_position) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set)) { fail(regex_constants::error_brack, m_position - m_base, incomplete_message); return false; } string_type m = this->m_traits.lookup_collatename(name_first, name_last); if(m.empty() || (m.size() > 2)) { fail(regex_constants::error_collate, name_first - m_base); return false; } digraph d; d.first = m[0]; if(m.size() > 1) d.second = m[1]; else d.second = 0; char_set.add_equivalent(d); ++m_position; break; } default: --m_position; parse_set_literal(char_set); break; } return true; } template void basic_regex_parser::parse_set_literal(basic_char_set& char_set) { digraph start_range(get_next_set_literal(char_set)); if(m_end == m_position) { fail(regex_constants::error_brack, m_position - m_base); return; } if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_dash) { // we have a range: if(m_end == ++m_position) { fail(regex_constants::error_brack, m_position - m_base); return; } if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set) { digraph end_range = get_next_set_literal(char_set); char_set.add_range(start_range, end_range); if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_dash) { if(m_end == ++m_position) { fail(regex_constants::error_brack, m_position - m_base); return; } if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_set) { // trailing - : --m_position; return; } fail(regex_constants::error_range, m_position - m_base); return; } return; } --m_position; } char_set.add_single(start_range); } template digraph basic_regex_parser::get_next_set_literal(basic_char_set& char_set) { digraph result; switch(this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_dash: if(!char_set.empty()) { // see if we are at the end of the set: if((++m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set)) { fail(regex_constants::error_range, m_position - m_base); return result; } --m_position; } result.first = *m_position++; return result; case regex_constants::syntax_escape: // check to see if escapes are supported first: if(this->flags() & regex_constants::no_escape_in_lists) { result = *m_position++; break; } ++m_position; result = unescape_character(); break; case regex_constants::syntax_open_set: { if(m_end == ++m_position) { fail(regex_constants::error_collate, m_position - m_base); return result; } if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_dot) { --m_position; result.first = *m_position; ++m_position; return result; } if(m_end == ++m_position) { fail(regex_constants::error_collate, m_position - m_base); return result; } const charT* name_first = m_position; // skip at least one character, then find the matching ':]' if(m_end == ++m_position) { fail(regex_constants::error_collate, name_first - m_base); return result; } while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_dot)) ++m_position; const charT* name_last = m_position; if(m_end == m_position) { fail(regex_constants::error_collate, name_first - m_base); return result; } if((m_end == ++m_position) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_set)) { fail(regex_constants::error_collate, name_first - m_base); return result; } ++m_position; string_type s = this->m_traits.lookup_collatename(name_first, name_last); if(s.empty() || (s.size() > 2)) { fail(regex_constants::error_collate, name_first - m_base); return result; } result.first = s[0]; if(s.size() > 1) result.second = s[1]; else result.second = 0; return result; } default: result = *m_position++; } return result; } // // does a value fit in the specified charT type? // template bool valid_value(charT, std::intmax_t v, const std::integral_constant&) { return (v >> (sizeof(charT) * CHAR_BIT)) == 0; } template bool valid_value(charT, std::intmax_t, const std::integral_constant&) { return true; // v will alsways fit in a charT } template bool valid_value(charT c, std::intmax_t v) { return valid_value(c, v, std::integral_constant()); } template charT basic_regex_parser::unescape_character() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif charT result(0); if(m_position == m_end) { fail(regex_constants::error_escape, m_position - m_base, "Escape sequence terminated prematurely."); return false; } switch(this->m_traits.escape_syntax_type(*m_position)) { case regex_constants::escape_type_control_a: result = charT('\a'); break; case regex_constants::escape_type_e: result = charT(27); break; case regex_constants::escape_type_control_f: result = charT('\f'); break; case regex_constants::escape_type_control_n: result = charT('\n'); break; case regex_constants::escape_type_control_r: result = charT('\r'); break; case regex_constants::escape_type_control_t: result = charT('\t'); break; case regex_constants::escape_type_control_v: result = charT('\v'); break; case regex_constants::escape_type_word_assert: result = charT('\b'); break; case regex_constants::escape_type_ascii_control: ++m_position; if(m_position == m_end) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base, "ASCII escape sequence terminated prematurely."); return result; } result = static_cast(*m_position % 32); break; case regex_constants::escape_type_hex: ++m_position; if(m_position == m_end) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base, "Hexadecimal escape sequence terminated prematurely."); return result; } // maybe have \x{ddd} if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace) { ++m_position; if(m_position == m_end) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base, "Missing } in hexadecimal escape sequence."); return result; } std::intmax_t i = this->m_traits.toi(m_position, m_end, 16); if((m_position == m_end) || (i < 0) || ((std::numeric_limits::is_specialized) && (i > (std::intmax_t)(std::numeric_limits::max)())) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace)) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_badbrace, m_position - m_base, "Hexadecimal escape sequence was invalid."); return result; } ++m_position; result = charT(i); } else { std::ptrdiff_t len = (std::min)(static_cast(2), static_cast(m_end - m_position)); std::intmax_t i = this->m_traits.toi(m_position, m_position + len, 16); if((i < 0) || !valid_value(charT(0), i)) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base, "Escape sequence did not encode a valid character."); return result; } result = charT(i); } return result; case regex_constants::syntax_digit: { // an octal escape sequence, the first character must be a zero // followed by up to 3 octal digits: std::ptrdiff_t len = (std::min)(std::distance(m_position, m_end), static_cast(4)); const charT* bp = m_position; std::intmax_t val = this->m_traits.toi(bp, bp + 1, 8); if(val != 0) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; // Oops not an octal escape after all: fail(regex_constants::error_escape, m_position - m_base, "Invalid octal escape sequence."); return result; } val = this->m_traits.toi(m_position, m_position + len, 8); if((val < 0) || (val > (std::intmax_t)(std::numeric_limits::max)())) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base, "Octal escape sequence is invalid."); return result; } return static_cast(val); } case regex_constants::escape_type_named_char: { ++m_position; if(m_position == m_end) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base); return false; } // maybe have \N{name} if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_open_brace) { const charT* base = m_position; // skip forward until we find enclosing brace: while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace)) ++m_position; if(m_position == m_end) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base); return false; } string_type s = this->m_traits.lookup_collatename(++base, m_position++); if(s.empty()) { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_collate, m_position - m_base); return false; } if(s.size() == 1) { return s[0]; } } // fall through is a failure: // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base); return false; } default: result = *m_position; break; } ++m_position; return result; #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool basic_regex_parser::parse_backref() { BOOST_REGEX_ASSERT(m_position != m_end); const charT* pc = m_position; std::intmax_t i = this->m_traits.toi(pc, pc + 1, 10); if((i == 0) || (((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group) && (this->flags() & regbase::no_bk_refs))) { // not a backref at all but an octal escape sequence: charT c = unescape_character(); this->append_literal(c); } else if((i > 0)) { m_position = pc; re_brace* pb = static_cast(this->append_state(syntax_element_backref, sizeof(re_brace))); pb->index = (int)i; pb->icase = this->flags() & regbase::icase; if(i > m_max_backref) m_max_backref = i; } else { // Rewind to start of escape: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_backref, m_position - m_base); return false; } return true; } template bool basic_regex_parser::parse_QE() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif // // parse a \Q...\E sequence: // ++m_position; // skip the Q const charT* start = m_position; const charT* end; do { while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape)) ++m_position; if(m_position == m_end) { // a \Q...\E sequence may terminate with the end of the expression: end = m_position; break; } if(++m_position == m_end) // skip the escape { fail(regex_constants::error_escape, m_position - m_base, "Unterminated \\Q...\\E sequence."); return false; } // check to see if it's a \E: if(this->m_traits.escape_syntax_type(*m_position) == regex_constants::escape_type_E) { ++m_position; end = m_position - 2; break; } // otherwise go round again: }while(true); // // now add all the character between the two escapes as literals: // while(start != end) { this->append_literal(*start); ++start; } return true; #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool basic_regex_parser::parse_perl_extension() { if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } // // treat comments as a special case, as these // are the only ones that don't start with a leading // startmark state: // if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_hash) { while((m_position != m_end) && (this->m_traits.syntax_type(*m_position++) != regex_constants::syntax_close_mark)) {} return true; } // // backup some state, and prepare the way: // int markid = 0; std::ptrdiff_t jump_offset = 0; re_brace* pb = static_cast(this->append_state(syntax_element_startmark, sizeof(re_brace))); pb->icase = this->flags() & regbase::icase; std::ptrdiff_t last_paren_start = this->getoffset(pb); // back up insertion point for alternations, and set new point: std::ptrdiff_t last_alt_point = m_alt_insert_point; this->m_pdata->m_data.align(); m_alt_insert_point = this->m_pdata->m_data.size(); std::ptrdiff_t expected_alt_point = m_alt_insert_point; bool restore_flags = true; regex_constants::syntax_option_type old_flags = this->flags(); bool old_case_change = m_has_case_change; m_has_case_change = false; charT name_delim; int mark_reset = m_mark_reset; int max_mark = m_max_mark; m_mark_reset = -1; m_max_mark = m_mark_count; std::intmax_t v; // // select the actual extension used: // switch(this->m_traits.syntax_type(*m_position)) { case regex_constants::syntax_or: m_mark_reset = m_mark_count; BOOST_REGEX_FALLTHROUGH; case regex_constants::syntax_colon: // // a non-capturing mark: // pb->index = markid = 0; ++m_position; break; case regex_constants::syntax_digit: { // // a recursive subexpression: // v = this->m_traits.toi(m_position, m_end, 10); if((v < 0) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base, "The recursive sub-expression refers to an invalid marking group, or is unterminated."); return false; } insert_recursion: pb->index = markid = 0; re_recurse* pr = static_cast(this->append_state(syntax_element_recurse, sizeof(re_recurse))); pr->alt.i = (std::ptrdiff_t)v; pr->state_id = 0; static_cast( this->append_state(syntax_element_toggle_case, sizeof(re_case)) )->icase = this->flags() & regbase::icase; break; } case regex_constants::syntax_plus: // // A forward-relative recursive subexpression: // ++m_position; v = this->m_traits.toi(m_position, m_end, 10); if((v <= 0) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base, "An invalid or unterminated recursive sub-expression."); return false; } if ((std::numeric_limits::max)() - m_mark_count < v) { fail(regex_constants::error_perl_extension, m_position - m_base, "An invalid or unterminated recursive sub-expression."); return false; } v += m_mark_count; goto insert_recursion; case regex_constants::syntax_dash: // // Possibly a backward-relative recursive subexpression: // ++m_position; v = this->m_traits.toi(m_position, m_end, 10); if(v <= 0) { --m_position; // Oops not a relative recursion at all, but a (?-imsx) group: goto option_group_jump; } v = static_cast(m_mark_count) + 1 - v; if(v <= 0) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base, "An invalid or unterminated recursive sub-expression."); return false; } goto insert_recursion; case regex_constants::syntax_equal: pb->index = markid = -1; ++m_position; jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump))); this->m_pdata->m_data.align(); m_alt_insert_point = this->m_pdata->m_data.size(); break; case regex_constants::syntax_not: pb->index = markid = -2; ++m_position; jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump))); this->m_pdata->m_data.align(); m_alt_insert_point = this->m_pdata->m_data.size(); break; case regex_constants::escape_type_left_word: { // a lookbehind assertion: if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } regex_constants::syntax_type t = this->m_traits.syntax_type(*m_position); if(t == regex_constants::syntax_not) pb->index = markid = -2; else if(t == regex_constants::syntax_equal) pb->index = markid = -1; else { // Probably a named capture which also starts (?< : name_delim = '>'; --m_position; goto named_capture_jump; } ++m_position; jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump))); this->append_state(syntax_element_backstep, sizeof(re_brace)); this->m_pdata->m_data.align(); m_alt_insert_point = this->m_pdata->m_data.size(); break; } case regex_constants::escape_type_right_word: // // an independent sub-expression: // pb->index = markid = -3; ++m_position; jump_offset = this->getoffset(this->append_state(syntax_element_jump, sizeof(re_jump))); this->m_pdata->m_data.align(); m_alt_insert_point = this->m_pdata->m_data.size(); break; case regex_constants::syntax_open_mark: { // a conditional expression: pb->index = markid = -4; if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } v = this->m_traits.toi(m_position, m_end, 10); if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(*m_position == charT('R')) { if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(*m_position == charT('&')) { const charT* base = ++m_position; while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) ++m_position; if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } v = -static_cast(hash_value_from_capture_name(base, m_position)); } else { v = -this->m_traits.toi(m_position, m_end, 10); } re_brace* br = static_cast(this->append_state(syntax_element_assert_backref, sizeof(re_brace))); br->index = v < 0 ? (int)(v - 1) : 0; if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } } else if((*m_position == charT('\'')) || (*m_position == charT('<'))) { const charT* base = ++m_position; while((m_position != m_end) && (*m_position != charT('>')) && (*m_position != charT('\''))) ++m_position; if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } v = static_cast(hash_value_from_capture_name(base, m_position)); re_brace* br = static_cast(this->append_state(syntax_element_assert_backref, sizeof(re_brace))); br->index = (int)v; if(((*m_position != charT('>')) && (*m_position != charT('\''))) || (++m_position == m_end)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base, "Unterminated named capture."); return false; } if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } } else if(*m_position == charT('D')) { const char* def = "DEFINE"; while(*def && (m_position != m_end) && (*m_position == charT(*def))) ++m_position, ++def; if((m_position == m_end) || *def) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } re_brace* br = static_cast(this->append_state(syntax_element_assert_backref, sizeof(re_brace))); br->index = 9999; // special magic value! if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } } else if(v > 0) { re_brace* br = static_cast(this->append_state(syntax_element_assert_backref, sizeof(re_brace))); br->index = (int)v; if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } } else { // verify that we have a lookahead or lookbehind assert: if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_question) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(this->m_traits.syntax_type(*m_position) == regex_constants::escape_type_left_word) { if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if((this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_not)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } m_position -= 3; } else { if((this->m_traits.syntax_type(*m_position) != regex_constants::syntax_equal) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_not)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } m_position -= 2; } } break; } case regex_constants::syntax_close_mark: // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; case regex_constants::escape_type_end_buffer: { name_delim = *m_position; named_capture_jump: markid = 0; if(0 == (this->flags() & regbase::nosubs)) { markid = ++m_mark_count; if(this->flags() & regbase::save_subexpression_location) this->m_pdata->m_subs.push_back(std::pair(std::distance(m_base, m_position) - 2, 0)); } pb->index = markid; const charT* base = ++m_position; if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } while((m_position != m_end) && (*m_position != name_delim)) ++m_position; if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } this->m_pdata->set_name(base, m_position, markid); ++m_position; break; } default: if(*m_position == charT('R')) { ++m_position; v = 0; if(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } goto insert_recursion; } if(*m_position == charT('&')) { ++m_position; const charT* base = m_position; while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) ++m_position; if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } v = static_cast(hash_value_from_capture_name(base, m_position)); goto insert_recursion; } if(*m_position == charT('P')) { ++m_position; if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(*m_position == charT('>')) { ++m_position; const charT* base = m_position; while((m_position != m_end) && (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) ++m_position; if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } v = static_cast(hash_value_from_capture_name(base, m_position)); goto insert_recursion; } } // // lets assume that we have a (?imsx) group and try and parse it: // option_group_jump: regex_constants::syntax_option_type opts = parse_options(); if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } // make a note of whether we have a case change: m_has_case_change = ((opts & regbase::icase) != (this->flags() & regbase::icase)); pb->index = markid = 0; if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark) { // update flags and carry on as normal: this->flags(opts); restore_flags = false; old_case_change |= m_has_case_change; // defer end of scope by one ')' } else if(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_colon) { // update flags and carry on until the matching ')' is found: this->flags(opts); ++m_position; } else { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } // finally append a case change state if we need it: if(m_has_case_change) { static_cast( this->append_state(syntax_element_toggle_case, sizeof(re_case)) )->icase = opts & regbase::icase; } } // // now recursively add more states, this will terminate when we get to a // matching ')' : // parse_all(); // // Unwind alternatives: // if(0 == unwind_alts(last_paren_start)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base, "Invalid alternation operators within (?...) block."); return false; } // // we either have a ')' or we have run out of characters prematurely: // if(m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; this->fail(regex_constants::error_paren, std::distance(m_base, m_end)); return false; } BOOST_REGEX_ASSERT(this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark); ++m_position; // // restore the flags: // if(restore_flags) { // append a case change state if we need it: if(m_has_case_change) { static_cast( this->append_state(syntax_element_toggle_case, sizeof(re_case)) )->icase = old_flags & regbase::icase; } this->flags(old_flags); } // // set up the jump pointer if we have one: // if(jump_offset) { this->m_pdata->m_data.align(); re_jump* jmp = static_cast(this->getaddress(jump_offset)); jmp->alt.i = this->m_pdata->m_data.size() - this->getoffset(jmp); if((this->m_last_state == jmp) && (markid != -2)) { // Oops... we didn't have anything inside the assertion. // Note we don't get here for negated forward lookahead as (?!) // does have some uses. // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base, "Invalid or empty zero width assertion."); return false; } } // // verify that if this is conditional expression, that we do have // an alternative, if not add one: // if(markid == -4) { re_syntax_base* b = this->getaddress(expected_alt_point); // Make sure we have exactly one alternative following this state: if(b->type != syntax_element_alt) { re_alt* alt = static_cast(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt))); alt->alt.i = this->m_pdata->m_data.size() - this->getoffset(alt); } else if(((std::ptrdiff_t)this->m_pdata->m_data.size() > (static_cast(b)->alt.i + this->getoffset(b))) && (static_cast(b)->alt.i > 0) && this->getaddress(static_cast(b)->alt.i, b)->type == syntax_element_alt) { // Can't have seen more than one alternative: // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_bad_pattern, m_position - m_base, "More than one alternation operator | was encountered inside a conditional expression."); return false; } else { // We must *not* have seen an alternative inside a (DEFINE) block: b = this->getaddress(b->next.i, b); if((b->type == syntax_element_assert_backref) && (static_cast(b)->index == 9999)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_bad_pattern, m_position - m_base, "Alternation operators are not allowed inside a DEFINE block."); return false; } } // check for invalid repetition of next state: b = this->getaddress(expected_alt_point); b = this->getaddress(static_cast(b)->next.i, b); if((b->type != syntax_element_assert_backref) && (b->type != syntax_element_startmark)) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_badrepeat, m_position - m_base, "A repetition operator cannot be applied to a zero-width assertion."); return false; } } // // append closing parenthesis state: // pb = static_cast(this->append_state(syntax_element_endmark, sizeof(re_brace))); pb->index = markid; pb->icase = this->flags() & regbase::icase; this->m_paren_start = last_paren_start; // // restore the alternate insertion point: // this->m_alt_insert_point = last_alt_point; // // and the case change data: // m_has_case_change = old_case_change; // // And the mark_reset data: // if(m_max_mark > m_mark_count) { m_mark_count = m_max_mark; } m_mark_reset = mark_reset; m_max_mark = max_mark; if(markid > 0) { if(this->flags() & regbase::save_subexpression_location) this->m_pdata->m_subs.at((std::size_t)markid - 1).second = std::distance(m_base, m_position) - 1; } return true; } template bool basic_regex_parser::match_verb(const char* verb) { while(*verb) { if(static_cast(*verb) != *m_position) { while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(++m_position == m_end) { --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } ++verb; } return true; } #ifdef BOOST_REGEX_MSVC # pragma warning(push) #if BOOST_REGEX_MSVC >= 1800 #pragma warning(disable:26812) #endif #endif template bool basic_regex_parser::parse_perl_verb() { if(++m_position == m_end) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } switch(*m_position) { case 'F': if(++m_position == m_end) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if((this->m_traits.syntax_type(*m_position) == regex_constants::syntax_close_mark) || match_verb("AIL")) { if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } ++m_position; this->append_state(syntax_element_fail); return true; } break; case 'A': if(++m_position == m_end) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(match_verb("CCEPT")) { if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } ++m_position; this->append_state(syntax_element_accept); return true; } break; case 'C': if(++m_position == m_end) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(match_verb("OMMIT")) { if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } ++m_position; static_cast(this->append_state(syntax_element_commit, sizeof(re_commit)))->action = commit_commit; this->m_pdata->m_disable_match_any = true; return true; } break; case 'P': if(++m_position == m_end) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(match_verb("RUNE")) { if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } ++m_position; static_cast(this->append_state(syntax_element_commit, sizeof(re_commit)))->action = commit_prune; this->m_pdata->m_disable_match_any = true; return true; } break; case 'S': if(++m_position == m_end) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(match_verb("KIP")) { if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } ++m_position; static_cast(this->append_state(syntax_element_commit, sizeof(re_commit)))->action = commit_skip; this->m_pdata->m_disable_match_any = true; return true; } break; case 'T': if(++m_position == m_end) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } if(match_verb("HEN")) { if((m_position == m_end) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_mark)) { // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } ++m_position; this->append_state(syntax_element_then); this->m_pdata->m_disable_match_any = true; return true; } break; } // Rewind to start of (* sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_perl_extension, m_position - m_base); return false; } #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif template bool basic_regex_parser::add_emacs_code(bool negate) { // // parses an emacs style \sx or \Sx construct. // if(++m_position == m_end) { // Rewind to start of sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_escape) --m_position; fail(regex_constants::error_escape, m_position - m_base); return false; } basic_char_set char_set; if(negate) char_set.negate(); static const charT s_punct[5] = { 'p', 'u', 'n', 'c', 't', }; switch(*m_position) { case 's': case ' ': char_set.add_class(this->m_mask_space); break; case 'w': char_set.add_class(this->m_word_mask); break; case '_': char_set.add_single(digraph(charT('$'))); char_set.add_single(digraph(charT('&'))); char_set.add_single(digraph(charT('*'))); char_set.add_single(digraph(charT('+'))); char_set.add_single(digraph(charT('-'))); char_set.add_single(digraph(charT('_'))); char_set.add_single(digraph(charT('<'))); char_set.add_single(digraph(charT('>'))); break; case '.': char_set.add_class(this->m_traits.lookup_classname(s_punct, s_punct+5)); break; case '(': char_set.add_single(digraph(charT('('))); char_set.add_single(digraph(charT('['))); char_set.add_single(digraph(charT('{'))); break; case ')': char_set.add_single(digraph(charT(')'))); char_set.add_single(digraph(charT(']'))); char_set.add_single(digraph(charT('}'))); break; case '"': char_set.add_single(digraph(charT('"'))); char_set.add_single(digraph(charT('\''))); char_set.add_single(digraph(charT('`'))); break; case '\'': char_set.add_single(digraph(charT('\''))); char_set.add_single(digraph(charT(','))); char_set.add_single(digraph(charT('#'))); break; case '<': char_set.add_single(digraph(charT(';'))); break; case '>': char_set.add_single(digraph(charT('\n'))); char_set.add_single(digraph(charT('\f'))); break; default: fail(regex_constants::error_ctype, m_position - m_base); return false; } if(0 == this->append_set(char_set)) { fail(regex_constants::error_ctype, m_position - m_base); return false; } ++m_position; return true; } template regex_constants::syntax_option_type basic_regex_parser::parse_options() { // we have a (?imsx-imsx) group, convert it into a set of flags: regex_constants::syntax_option_type f = this->flags(); bool breakout = false; do { switch(*m_position) { case 's': f |= regex_constants::mod_s; f &= ~regex_constants::no_mod_s; break; case 'm': f &= ~regex_constants::no_mod_m; break; case 'i': f |= regex_constants::icase; break; case 'x': f |= regex_constants::mod_x; break; default: breakout = true; continue; } if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_paren, m_position - m_base); return false; } } while(!breakout); breakout = false; if(*m_position == static_cast('-')) { if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_paren, m_position - m_base); return false; } do { switch(*m_position) { case 's': f &= ~regex_constants::mod_s; f |= regex_constants::no_mod_s; break; case 'm': f |= regex_constants::no_mod_m; break; case 'i': f &= ~regex_constants::icase; break; case 'x': f &= ~regex_constants::mod_x; break; default: breakout = true; continue; } if(++m_position == m_end) { // Rewind to start of (? sequence: --m_position; while(this->m_traits.syntax_type(*m_position) != regex_constants::syntax_open_mark) --m_position; fail(regex_constants::error_paren, m_position - m_base); return false; } } while(!breakout); } return f; } template bool basic_regex_parser::unwind_alts(std::ptrdiff_t last_paren_start) { // // If we didn't actually add any states after the last // alternative then that's an error: // if((this->m_alt_insert_point == static_cast(this->m_pdata->m_data.size())) && (!m_alt_jumps.empty()) && (m_alt_jumps.back() > last_paren_start) && !( ((this->flags() & regbase::main_option_type) == regbase::perl_syntax_group) && ((this->flags() & regbase::no_empty_expressions) == 0) ) ) { fail(regex_constants::error_empty, this->m_position - this->m_base, "Can't terminate a sub-expression with an alternation operator |."); return false; } // // Fix up our alternatives: // while((!m_alt_jumps.empty()) && (m_alt_jumps.back() > last_paren_start)) { // // fix up the jump to point to the end of the states // that we've just added: // std::ptrdiff_t jump_offset = m_alt_jumps.back(); m_alt_jumps.pop_back(); this->m_pdata->m_data.align(); re_jump* jmp = static_cast(this->getaddress(jump_offset)); if (jmp->type != syntax_element_jump) { // Something really bad happened, this used to be an assert, // but we'll make it an error just in case we should ever get here. fail(regex_constants::error_unknown, this->m_position - this->m_base, "Internal logic failed while compiling the expression, probably you added a repeat to something non-repeatable!"); return false; } jmp->alt.i = this->m_pdata->m_data.size() - jump_offset; } return true; } #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/c_regex_traits.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE c_regex_traits.hpp * VERSION see * DESCRIPTION: Declares regular expression traits class that wraps the global C locale. */ #ifndef BOOST_C_REGEX_TRAITS_HPP_INCLUDED #define BOOST_C_REGEX_TRAITS_HPP_INCLUDED #include #include #include namespace boost{ namespace BOOST_REGEX_DETAIL_NS { enum { char_class_space = 1 << 0, char_class_print = 1 << 1, char_class_cntrl = 1 << 2, char_class_upper = 1 << 3, char_class_lower = 1 << 4, char_class_alpha = 1 << 5, char_class_digit = 1 << 6, char_class_punct = 1 << 7, char_class_xdigit = 1 << 8, char_class_alnum = char_class_alpha | char_class_digit, char_class_graph = char_class_alnum | char_class_punct, char_class_blank = 1 << 9, char_class_word = 1 << 10, char_class_unicode = 1 << 11, char_class_horizontal = 1 << 12, char_class_vertical = 1 << 13 }; } template struct c_regex_traits; template<> struct c_regex_traits { c_regex_traits(){} typedef char char_type; typedef std::size_t size_type; typedef std::string string_type; struct locale_type{}; typedef std::uint32_t char_class_type; static size_type length(const char_type* p) { return (std::strlen)(p); } char translate(char c) const { return c; } char translate_nocase(char c) const { return static_cast((std::tolower)(static_cast(c))); } static string_type transform(const char* p1, const char* p2); static string_type transform_primary(const char* p1, const char* p2); static char_class_type lookup_classname(const char* p1, const char* p2); static string_type lookup_collatename(const char* p1, const char* p2); static bool isctype(char, char_class_type); static int value(char, int); locale_type imbue(locale_type l) { return l; } locale_type getloc()const { return locale_type(); } private: // this type is not copyable: c_regex_traits(const c_regex_traits&); c_regex_traits& operator=(const c_regex_traits&); }; #ifndef BOOST_NO_WREGEX template<> struct c_regex_traits { c_regex_traits(){} typedef wchar_t char_type; typedef std::size_t size_type; typedef std::wstring string_type; struct locale_type{}; typedef std::uint32_t char_class_type; static size_type length(const char_type* p) { return (std::wcslen)(p); } wchar_t translate(wchar_t c) const { return c; } wchar_t translate_nocase(wchar_t c) const { return (std::towlower)(c); } static string_type transform(const wchar_t* p1, const wchar_t* p2); static string_type transform_primary(const wchar_t* p1, const wchar_t* p2); static char_class_type lookup_classname(const wchar_t* p1, const wchar_t* p2); static string_type lookup_collatename(const wchar_t* p1, const wchar_t* p2); static bool isctype(wchar_t, char_class_type); static int value(wchar_t, int); locale_type imbue(locale_type l) { return l; } locale_type getloc()const { return locale_type(); } private: // this type is not copyable: c_regex_traits(const c_regex_traits&); c_regex_traits& operator=(const c_regex_traits&); }; #endif // BOOST_NO_WREGEX inline c_regex_traits::string_type c_regex_traits::transform(const char* p1, const char* p2) { std::string result(10, ' '); std::size_t s = result.size(); std::size_t r; std::string src(p1, p2); while (s < (r = std::strxfrm(&*result.begin(), src.c_str(), s))) { #if defined(_CPPLIB_VER) // // A bug in VC11 and 12 causes the program to hang if we pass a null-string // to std::strxfrm, but only for certain locales :-( // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). // if (r == INT_MAX) { result.erase(); result.insert(result.begin(), static_cast(0)); return result; } #endif result.append(r - s + 3, ' '); s = result.size(); } result.erase(r); return result; } inline c_regex_traits::string_type c_regex_traits::transform_primary(const char* p1, const char* p2) { static char s_delim; static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast*>(0), &s_delim); std::string result; // // What we do here depends upon the format of the sort key returned by // sort key returned by this->transform: // switch (s_collate_type) { case ::boost::BOOST_REGEX_DETAIL_NS::sort_C: case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown: // the best we can do is translate to lower case, then get a regular sort key: { result.assign(p1, p2); for (std::string::size_type i = 0; i < result.size(); ++i) result[i] = static_cast((std::tolower)(static_cast(result[i]))); result = transform(&*result.begin(), &*result.begin() + result.size()); break; } case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed: { // get a regular sort key, and then truncate it: result = transform(p1, p2); result.erase(s_delim); break; } case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim: // get a regular sort key, and then truncate everything after the delim: result = transform(p1, p2); if ((!result.empty()) && (result[0] == s_delim)) break; std::size_t i; for (i = 0; i < result.size(); ++i) { if (result[i] == s_delim) break; } result.erase(i); break; } if (result.empty()) result = std::string(1, char(0)); return result; } inline c_regex_traits::char_class_type c_regex_traits::lookup_classname(const char* p1, const char* p2) { using namespace BOOST_REGEX_DETAIL_NS; static const char_class_type masks[] = { 0, char_class_alnum, char_class_alpha, char_class_blank, char_class_cntrl, char_class_digit, char_class_digit, char_class_graph, char_class_horizontal, char_class_lower, char_class_lower, char_class_print, char_class_punct, char_class_space, char_class_space, char_class_upper, char_class_unicode, char_class_upper, char_class_vertical, char_class_alnum | char_class_word, char_class_alnum | char_class_word, char_class_xdigit, }; int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); if (idx < 0) { std::string s(p1, p2); for (std::string::size_type i = 0; i < s.size(); ++i) s[i] = static_cast((std::tolower)(static_cast(s[i]))); idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); } BOOST_REGEX_ASSERT(std::size_t(idx) + 1u < sizeof(masks) / sizeof(masks[0])); return masks[idx + 1]; } inline bool c_regex_traits::isctype(char c, char_class_type mask) { using namespace BOOST_REGEX_DETAIL_NS; return ((mask & char_class_space) && (std::isspace)(static_cast(c))) || ((mask & char_class_print) && (std::isprint)(static_cast(c))) || ((mask & char_class_cntrl) && (std::iscntrl)(static_cast(c))) || ((mask & char_class_upper) && (std::isupper)(static_cast(c))) || ((mask & char_class_lower) && (std::islower)(static_cast(c))) || ((mask & char_class_alpha) && (std::isalpha)(static_cast(c))) || ((mask & char_class_digit) && (std::isdigit)(static_cast(c))) || ((mask & char_class_punct) && (std::ispunct)(static_cast(c))) || ((mask & char_class_xdigit) && (std::isxdigit)(static_cast(c))) || ((mask & char_class_blank) && (std::isspace)(static_cast(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c)) || ((mask & char_class_word) && (c == '_')) || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) || ((mask & char_class_horizontal) && (std::isspace)(static_cast(c)) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != '\v')); } inline c_regex_traits::string_type c_regex_traits::lookup_collatename(const char* p1, const char* p2) { std::string s(p1, p2); s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s); if (s.empty() && (p2 - p1 == 1)) s.append(1, *p1); return s; } inline int c_regex_traits::value(char c, int radix) { char b[2] = { c, '\0', }; char* ep; int result = std::strtol(b, &ep, radix); if (ep == b) return -1; return result; } #ifndef BOOST_NO_WREGEX inline c_regex_traits::string_type c_regex_traits::transform(const wchar_t* p1, const wchar_t* p2) { std::size_t r; std::size_t s = 10; std::wstring src(p1, p2); std::wstring result(s, L' '); while (s < (r = std::wcsxfrm(&*result.begin(), src.c_str(), s))) { #if defined(_CPPLIB_VER) // // A bug in VC11 and 12 causes the program to hang if we pass a null-string // to std::strxfrm, but only for certain locales :-( // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). // if (r == INT_MAX) { result.erase(); result.insert(result.begin(), static_cast(0)); return result; } #endif result.append(r - s + 3, L' '); s = result.size(); } result.erase(r); return result; } inline c_regex_traits::string_type c_regex_traits::transform_primary(const wchar_t* p1, const wchar_t* p2) { static wchar_t s_delim; static const int s_collate_type = ::boost::BOOST_REGEX_DETAIL_NS::find_sort_syntax(static_cast*>(0), &s_delim); std::wstring result; // // What we do here depends upon the format of the sort key returned by // sort key returned by this->transform: // switch (s_collate_type) { case ::boost::BOOST_REGEX_DETAIL_NS::sort_C: case ::boost::BOOST_REGEX_DETAIL_NS::sort_unknown: // the best we can do is translate to lower case, then get a regular sort key: { result.assign(p1, p2); for (std::wstring::size_type i = 0; i < result.size(); ++i) result[i] = (std::towlower)(result[i]); result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); break; } case ::boost::BOOST_REGEX_DETAIL_NS::sort_fixed: { // get a regular sort key, and then truncate it: result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); result.erase(s_delim); break; } case ::boost::BOOST_REGEX_DETAIL_NS::sort_delim: // get a regular sort key, and then truncate everything after the delim: result = c_regex_traits::transform(&*result.begin(), &*result.begin() + result.size()); if ((!result.empty()) && (result[0] == s_delim)) break; std::size_t i; for (i = 0; i < result.size(); ++i) { if (result[i] == s_delim) break; } result.erase(i); break; } if (result.empty()) result = std::wstring(1, char(0)); return result; } inline c_regex_traits::char_class_type c_regex_traits::lookup_classname(const wchar_t* p1, const wchar_t* p2) { using namespace BOOST_REGEX_DETAIL_NS; static const char_class_type masks[] = { 0, char_class_alnum, char_class_alpha, char_class_blank, char_class_cntrl, char_class_digit, char_class_digit, char_class_graph, char_class_horizontal, char_class_lower, char_class_lower, char_class_print, char_class_punct, char_class_space, char_class_space, char_class_upper, char_class_unicode, char_class_upper, char_class_vertical, char_class_alnum | char_class_word, char_class_alnum | char_class_word, char_class_xdigit, }; int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); if (idx < 0) { std::wstring s(p1, p2); for (std::wstring::size_type i = 0; i < s.size(); ++i) s[i] = (std::towlower)(s[i]); idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); } BOOST_REGEX_ASSERT(idx + 1 < static_cast(sizeof(masks) / sizeof(masks[0]))); return masks[idx + 1]; } inline bool c_regex_traits::isctype(wchar_t c, char_class_type mask) { using namespace BOOST_REGEX_DETAIL_NS; return ((mask & char_class_space) && (std::iswspace)(c)) || ((mask & char_class_print) && (std::iswprint)(c)) || ((mask & char_class_cntrl) && (std::iswcntrl)(c)) || ((mask & char_class_upper) && (std::iswupper)(c)) || ((mask & char_class_lower) && (std::iswlower)(c)) || ((mask & char_class_alpha) && (std::iswalpha)(c)) || ((mask & char_class_digit) && (std::iswdigit)(c)) || ((mask & char_class_punct) && (std::iswpunct)(c)) || ((mask & char_class_xdigit) && (std::iswxdigit)(c)) || ((mask & char_class_blank) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c)) || ((mask & char_class_word) && (c == '_')) || ((mask & char_class_unicode) && (c & ~static_cast(0xff))) || ((mask & char_class_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == L'\v'))) || ((mask & char_class_horizontal) && (std::iswspace)(c) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && (c != L'\v')); } inline c_regex_traits::string_type c_regex_traits::lookup_collatename(const wchar_t* p1, const wchar_t* p2) { std::string name; // Usual msvc warning suppression does not work here with std::string template constructor.... use a workaround instead: for (const wchar_t* pos = p1; pos != p2; ++pos) name.push_back((char)*pos); name = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(name); if (!name.empty()) return string_type(name.begin(), name.end()); if (p2 - p1 == 1) return string_type(1, *p1); return string_type(); } inline int c_regex_traits::value(wchar_t c, int radix) { #ifdef BOOST_BORLANDC // workaround for broken wcstol: if ((std::iswxdigit)(c) == 0) return -1; #endif wchar_t b[2] = { c, '\0', }; wchar_t* ep; int result = std::wcstol(b, &ep, radix); if (ep == b) return -1; return result; } #endif } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/char_regex_traits.hpp ================================================ /* * * Copyright (c) 2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE char_regex_traits.cpp * VERSION see * DESCRIPTION: Declares deprecated traits classes char_regex_traits<>. */ #ifndef BOOST_REGEX_V5_CHAR_REGEX_TRAITS_HPP #define BOOST_REGEX_V5_CHAR_REGEX_TRAITS_HPP namespace boost{ namespace deprecated{ // // class char_regex_traits_i // provides case insensitive traits classes (deprecated): template class char_regex_traits_i : public regex_traits {}; template<> class char_regex_traits_i : public regex_traits { public: typedef char char_type; typedef unsigned char uchar_type; typedef unsigned int size_type; typedef regex_traits base_type; }; #ifndef BOOST_NO_WREGEX template<> class char_regex_traits_i : public regex_traits { public: typedef wchar_t char_type; typedef unsigned short uchar_type; typedef unsigned int size_type; typedef regex_traits base_type; }; #endif } // namespace deprecated } // namespace boost #endif // include ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/cpp_regex_traits.hpp ================================================ /* * * Copyright (c) 2004 John Maddock * Copyright 2011 Garmin Ltd. or its subsidiaries * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE cpp_regex_traits.hpp * VERSION see * DESCRIPTION: Declares regular expression traits class cpp_regex_traits. */ #ifndef BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED #define BOOST_CPP_REGEX_TRAITS_HPP_INCLUDED #include #include #include #include #include #include #ifdef BOOST_HAS_THREADS #include #endif #include #include #include #include #include #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4786 4251) #endif namespace boost{ // // forward declaration is needed by some compilers: // template class cpp_regex_traits; namespace BOOST_REGEX_DETAIL_NS{ // // class parser_buf: // acts as a stream buffer which wraps around a pair of pointers: // template > class parser_buf : public ::std::basic_streambuf { typedef ::std::basic_streambuf base_type; typedef typename base_type::int_type int_type; typedef typename base_type::char_type char_type; typedef typename base_type::pos_type pos_type; typedef ::std::streamsize streamsize; typedef typename base_type::off_type off_type; public: parser_buf() : base_type() { setbuf(0, 0); } const charT* getnext() { return this->gptr(); } protected: std::basic_streambuf* setbuf(char_type* s, streamsize n) override; typename parser_buf::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which) override; typename parser_buf::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) override; private: parser_buf& operator=(const parser_buf&); parser_buf(const parser_buf&); }; template std::basic_streambuf* parser_buf::setbuf(char_type* s, streamsize n) { this->setg(s, s, s + n); return this; } template typename parser_buf::pos_type parser_buf::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) { if(which & ::std::ios_base::out) return pos_type(off_type(-1)); std::ptrdiff_t size = this->egptr() - this->eback(); std::ptrdiff_t pos = this->gptr() - this->eback(); charT* g = this->eback(); switch(static_cast(way)) { case ::std::ios_base::beg: if((off < 0) || (off > size)) return pos_type(off_type(-1)); else this->setg(g, g + off, g + size); break; case ::std::ios_base::end: if((off < 0) || (off > size)) return pos_type(off_type(-1)); else this->setg(g, g + size - off, g + size); break; case ::std::ios_base::cur: { std::ptrdiff_t newpos = static_cast(pos + off); if((newpos < 0) || (newpos > size)) return pos_type(off_type(-1)); else this->setg(g, g + newpos, g + size); break; } default: ; } #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4244) #endif return static_cast(this->gptr() - this->eback()); #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template typename parser_buf::pos_type parser_buf::seekpos(pos_type sp, ::std::ios_base::openmode which) { if(which & ::std::ios_base::out) return pos_type(off_type(-1)); off_type size = static_cast(this->egptr() - this->eback()); charT* g = this->eback(); if(off_type(sp) <= size) { this->setg(g, g + off_type(sp), g + size); } return pos_type(off_type(-1)); } // // class cpp_regex_traits_base: // acts as a container for locale and the facets we are using. // template struct cpp_regex_traits_base { cpp_regex_traits_base(const std::locale& l) { (void)imbue(l); } std::locale imbue(const std::locale& l); std::locale m_locale; std::ctype const* m_pctype; std::messages const* m_pmessages; std::collate const* m_pcollate; bool operator<(const cpp_regex_traits_base& b)const { if(m_pctype == b.m_pctype) { if(m_pmessages == b.m_pmessages) { return m_pcollate < b.m_pcollate; } return m_pmessages < b.m_pmessages; } return m_pctype < b.m_pctype; } bool operator==(const cpp_regex_traits_base& b)const { return (m_pctype == b.m_pctype) && (m_pmessages == b.m_pmessages) && (m_pcollate == b.m_pcollate); } }; template std::locale cpp_regex_traits_base::imbue(const std::locale& l) { std::locale result(m_locale); m_locale = l; m_pctype = &std::use_facet>(l); m_pmessages = std::has_facet >(l) ? &std::use_facet >(l) : 0; m_pcollate = &std::use_facet >(l); return result; } // // class cpp_regex_traits_char_layer: // implements methods that require specialization for narrow characters: // template class cpp_regex_traits_char_layer : public cpp_regex_traits_base { typedef std::basic_string string_type; typedef std::map map_type; typedef typename map_type::const_iterator map_iterator_type; public: cpp_regex_traits_char_layer(const std::locale& l) : cpp_regex_traits_base(l) { init(); } cpp_regex_traits_char_layer(const cpp_regex_traits_base& b) : cpp_regex_traits_base(b) { init(); } void init(); regex_constants::syntax_type syntax_type(charT c)const { map_iterator_type i = m_char_map.find(c); return ((i == m_char_map.end()) ? 0 : i->second); } regex_constants::escape_syntax_type escape_syntax_type(charT c) const { map_iterator_type i = m_char_map.find(c); if(i == m_char_map.end()) { if(this->m_pctype->is(std::ctype_base::lower, c)) return regex_constants::escape_type_class; if(this->m_pctype->is(std::ctype_base::upper, c)) return regex_constants::escape_type_not_class; return 0; } return i->second; } private: string_type get_default_message(regex_constants::syntax_type); // TODO: use a hash table when available! map_type m_char_map; }; template void cpp_regex_traits_char_layer::init() { // we need to start by initialising our syntax map so we know which // character is used for which purpose: #ifndef __IBMCPP__ typename std::messages::catalog cat = static_cast::catalog>(-1); #else typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); #endif std::string cat_name(cpp_regex_traits::get_catalog_name()); if((!cat_name.empty()) && (this->m_pmessages != 0)) { cat = this->m_pmessages->open( cat_name, this->m_locale); if((int)cat < 0) { std::string m("Unable to open message catalog: "); std::runtime_error err(m + cat_name); boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); } } // // if we have a valid catalog then load our messages: // if((int)cat >= 0) { #ifndef BOOST_NO_EXCEPTIONS try{ #endif for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { string_type mss = this->m_pmessages->get(cat, 0, i, get_default_message(i)); for(typename string_type::size_type j = 0; j < mss.size(); ++j) { m_char_map[mss[j]] = i; } } this->m_pmessages->close(cat); #ifndef BOOST_NO_EXCEPTIONS } catch(...) { if(this->m_pmessages) this->m_pmessages->close(cat); throw; } #endif } else { for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { const char* ptr = get_default_syntax(i); while(ptr && *ptr) { m_char_map[this->m_pctype->widen(*ptr)] = i; ++ptr; } } } } template typename cpp_regex_traits_char_layer::string_type cpp_regex_traits_char_layer::get_default_message(regex_constants::syntax_type i) { const char* ptr = get_default_syntax(i); string_type result; while(ptr && *ptr) { result.append(1, this->m_pctype->widen(*ptr)); ++ptr; } return result; } // // specialized version for narrow characters: // template <> class cpp_regex_traits_char_layer : public cpp_regex_traits_base { typedef std::string string_type; public: cpp_regex_traits_char_layer(const std::locale& l) : cpp_regex_traits_base(l) { init(); } cpp_regex_traits_char_layer(const cpp_regex_traits_base& l) : cpp_regex_traits_base(l) { init(); } regex_constants::syntax_type syntax_type(char c)const { return m_char_map[static_cast(c)]; } regex_constants::escape_syntax_type escape_syntax_type(char c) const { return m_char_map[static_cast(c)]; } private: regex_constants::syntax_type m_char_map[1u << CHAR_BIT]; void init(); }; // // class cpp_regex_traits_implementation: // provides pimpl implementation for cpp_regex_traits. // template class cpp_regex_traits_implementation : public cpp_regex_traits_char_layer { public: typedef typename cpp_regex_traits::char_class_type char_class_type; typedef typename std::ctype::mask native_mask_type; typedef typename std::make_unsigned::type unsigned_native_mask_type; static const char_class_type mask_blank = 1u << 24; static const char_class_type mask_word = 1u << 25; static const char_class_type mask_unicode = 1u << 26; static const char_class_type mask_horizontal = 1u << 27; static const char_class_type mask_vertical = 1u << 28; typedef std::basic_string string_type; typedef charT char_type; //cpp_regex_traits_implementation(); cpp_regex_traits_implementation(const std::locale& l) : cpp_regex_traits_char_layer(l) { init(); } cpp_regex_traits_implementation(const cpp_regex_traits_base& l) : cpp_regex_traits_char_layer(l) { init(); } std::string error_string(regex_constants::error_type n) const { if(!m_error_strings.empty()) { std::map::const_iterator p = m_error_strings.find(n); return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second; } return get_default_error_string(n); } char_class_type lookup_classname(const charT* p1, const charT* p2) const { char_class_type result = lookup_classname_imp(p1, p2); if(result == 0) { string_type temp(p1, p2); this->m_pctype->tolower(&*temp.begin(), &*temp.begin() + temp.size()); result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size()); } return result; } string_type lookup_collatename(const charT* p1, const charT* p2) const; string_type transform_primary(const charT* p1, const charT* p2) const; string_type transform(const charT* p1, const charT* p2) const; private: std::map m_error_strings; // error messages indexed by numberic ID std::map m_custom_class_names; // character class names std::map m_custom_collate_names; // collating element names unsigned m_collate_type; // the form of the collation string charT m_collate_delim; // the collation group delimiter // // helpers: // char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const; void init(); }; template typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_blank; template typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_word; template typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_unicode; template typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_vertical; template typename cpp_regex_traits_implementation::char_class_type const cpp_regex_traits_implementation::mask_horizontal; template typename cpp_regex_traits_implementation::string_type cpp_regex_traits_implementation::transform_primary(const charT* p1, const charT* p2) const { // // PRECONDITIONS: // // A bug in gcc 3.2 (and maybe other versions as well) treats // p1 as a null terminated string, for efficiency reasons // we work around this elsewhere, but just assert here that // we adhere to gcc's (buggy) preconditions... // BOOST_REGEX_ASSERT(*p2 == 0); string_type result; #if defined(_CPPLIB_VER) // // A bug in VC11 and 12 causes the program to hang if we pass a null-string // to std::collate::transform, but only for certain locales :-( // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). // if(*p1 == 0) { return string_type(1, charT(0)); } #endif // // swallowing all exceptions here is a bad idea // however at least one std lib will always throw // std::bad_alloc for certain arguments... // #ifndef BOOST_NO_EXCEPTIONS try{ #endif // // What we do here depends upon the format of the sort key returned by // sort key returned by this->transform: // switch(m_collate_type) { case sort_C: case sort_unknown: // the best we can do is translate to lower case, then get a regular sort key: { result.assign(p1, p2); this->m_pctype->tolower(&*result.begin(), &*result.begin() + result.size()); result = this->m_pcollate->transform(&*result.begin(), &*result.begin() + result.size()); break; } case sort_fixed: { // get a regular sort key, and then truncate it: result.assign(this->m_pcollate->transform(p1, p2)); result.erase(this->m_collate_delim); break; } case sort_delim: // get a regular sort key, and then truncate everything after the delim: result.assign(this->m_pcollate->transform(p1, p2)); std::size_t i; for(i = 0; i < result.size(); ++i) { if(result[i] == m_collate_delim) break; } result.erase(i); break; } #ifndef BOOST_NO_EXCEPTIONS }catch(...){} #endif while((!result.empty()) && (charT(0) == *result.rbegin())) result.erase(result.size() - 1); if(result.empty()) { // character is ignorable at the primary level: result = string_type(1, charT(0)); } return result; } template typename cpp_regex_traits_implementation::string_type cpp_regex_traits_implementation::transform(const charT* p1, const charT* p2) const { // // PRECONDITIONS: // // A bug in gcc 3.2 (and maybe other versions as well) treats // p1 as a null terminated string, for efficiency reasons // we work around this elsewhere, but just assert here that // we adhere to gcc's (buggy) preconditions... // BOOST_REGEX_ASSERT(*p2 == 0); // // swallowing all exceptions here is a bad idea // however at least one std lib will always throw // std::bad_alloc for certain arguments... // string_type result, result2; #if defined(_CPPLIB_VER) // // A bug in VC11 and 12 causes the program to hang if we pass a null-string // to std::collate::transform, but only for certain locales :-( // Probably effects Intel and Clang or any compiler using the VC std library (Dinkumware). // if(*p1 == 0) { return result; } #endif #ifndef BOOST_NO_EXCEPTIONS try{ #endif result = this->m_pcollate->transform(p1, p2); // // some implementations (Dinkumware) append unnecessary trailing \0's: while((!result.empty()) && (charT(0) == *result.rbegin())) result.erase(result.size() - 1); // // We may have NULL's used as separators between sections of the collate string, // an example would be Boost.Locale. We have no way to detect this case via // #defines since this can be used with any compiler/platform combination. // Unfortunately our state machine (which was devised when all implementations // used underlying C language API's) can't cope with that case. One workaround // is to replace each character with 2, fortunately this code isn't used that // much as this is now slower than before :-( // typedef typename std::make_unsigned::type uchar_type; result2.reserve(result.size() * 2 + 2); for(unsigned i = 0; i < result.size(); ++i) { if(static_cast(result[i]) == (std::numeric_limits::max)()) { result2.append(1, charT((std::numeric_limits::max)())).append(1, charT('b')); } else { result2.append(1, static_cast(1 + static_cast(result[i]))).append(1, charT('b') - 1); } } BOOST_REGEX_ASSERT(std::find(result2.begin(), result2.end(), charT(0)) == result2.end()); #ifndef BOOST_NO_EXCEPTIONS } catch(...) { } #endif return result2; } template typename cpp_regex_traits_implementation::string_type cpp_regex_traits_implementation::lookup_collatename(const charT* p1, const charT* p2) const { typedef typename std::map::const_iterator iter_type; if(!m_custom_collate_names.empty()) { iter_type pos = m_custom_collate_names.find(string_type(p1, p2)); if(pos != m_custom_collate_names.end()) return pos->second; } std::string name(p1, p2); name = lookup_default_collate_name(name); if(!name.empty()) return string_type(name.begin(), name.end()); if(p2 - p1 == 1) return string_type(1, *p1); return string_type(); } template void cpp_regex_traits_implementation::init() { #ifndef __IBMCPP__ typename std::messages::catalog cat = static_cast::catalog>(-1); #else typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); #endif std::string cat_name(cpp_regex_traits::get_catalog_name()); if((!cat_name.empty()) && (this->m_pmessages != 0)) { cat = this->m_pmessages->open( cat_name, this->m_locale); if((int)cat < 0) { std::string m("Unable to open message catalog: "); std::runtime_error err(m + cat_name); boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); } } // // if we have a valid catalog then load our messages: // if((int)cat >= 0) { // // Error messages: // for(boost::regex_constants::error_type i = static_cast(0); i <= boost::regex_constants::error_unknown; i = static_cast(i + 1)) { const char* p = get_default_error_string(i); string_type default_message; while(*p) { default_message.append(1, this->m_pctype->widen(*p)); ++p; } string_type s = this->m_pmessages->get(cat, 0, i+200, default_message); std::string result; for(std::string::size_type j = 0; j < s.size(); ++j) { result.append(1, this->m_pctype->narrow(s[j], 0)); } m_error_strings[i] = result; } // // Custom class names: // static const char_class_type masks[16] = { static_cast(std::ctype::alnum), static_cast(std::ctype::alpha), static_cast(std::ctype::cntrl), static_cast(std::ctype::digit), static_cast(std::ctype::graph), cpp_regex_traits_implementation::mask_horizontal, static_cast(std::ctype::lower), static_cast(std::ctype::print), static_cast(std::ctype::punct), static_cast(std::ctype::space), static_cast(std::ctype::upper), cpp_regex_traits_implementation::mask_vertical, static_cast(std::ctype::xdigit), cpp_regex_traits_implementation::mask_blank, cpp_regex_traits_implementation::mask_word, cpp_regex_traits_implementation::mask_unicode, }; static const string_type null_string; for(unsigned int j = 0; j <= 13; ++j) { string_type s(this->m_pmessages->get(cat, 0, j+300, null_string)); if(!s.empty()) this->m_custom_class_names[s] = masks[j]; } } // // get the collation format used by m_pcollate: // m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim); } template typename cpp_regex_traits_implementation::char_class_type cpp_regex_traits_implementation::lookup_classname_imp(const charT* p1, const charT* p2) const { static const char_class_type masks[22] = { 0, static_cast(std::ctype::alnum), static_cast(std::ctype::alpha), cpp_regex_traits_implementation::mask_blank, static_cast(std::ctype::cntrl), static_cast(std::ctype::digit), static_cast(std::ctype::digit), static_cast(std::ctype::graph), cpp_regex_traits_implementation::mask_horizontal, static_cast(std::ctype::lower), static_cast(std::ctype::lower), static_cast(std::ctype::print), static_cast(std::ctype::punct), static_cast(std::ctype::space), static_cast(std::ctype::space), static_cast(std::ctype::upper), cpp_regex_traits_implementation::mask_unicode, static_cast(std::ctype::upper), cpp_regex_traits_implementation::mask_vertical, static_cast(std::ctype::alnum) | cpp_regex_traits_implementation::mask_word, static_cast(std::ctype::alnum) | cpp_regex_traits_implementation::mask_word, static_cast(std::ctype::xdigit), }; if(!m_custom_class_names.empty()) { typedef typename std::map, char_class_type>::const_iterator map_iter; map_iter pos = m_custom_class_names.find(string_type(p1, p2)); if(pos != m_custom_class_names.end()) return pos->second; } std::size_t state_id = 1 + BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); BOOST_REGEX_ASSERT(state_id < sizeof(masks) / sizeof(masks[0])); return masks[state_id]; } template inline std::shared_ptr > create_cpp_regex_traits(const std::locale& l) { cpp_regex_traits_base key(l); return ::boost::object_cache, cpp_regex_traits_implementation >::get(key, 5); } } // BOOST_REGEX_DETAIL_NS template class cpp_regex_traits { private: typedef std::ctype ctype_type; public: typedef charT char_type; typedef std::size_t size_type; typedef std::basic_string string_type; typedef std::locale locale_type; typedef std::uint_least32_t char_class_type; struct boost_extensions_tag{}; cpp_regex_traits() : m_pimpl(BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits(std::locale())) { } static size_type length(const char_type* p) { return std::char_traits::length(p); } regex_constants::syntax_type syntax_type(charT c)const { return m_pimpl->syntax_type(c); } regex_constants::escape_syntax_type escape_syntax_type(charT c) const { return m_pimpl->escape_syntax_type(c); } charT translate(charT c) const { return c; } charT translate_nocase(charT c) const { return m_pimpl->m_pctype->tolower(c); } charT translate(charT c, bool icase) const { return icase ? m_pimpl->m_pctype->tolower(c) : c; } charT tolower(charT c) const { return m_pimpl->m_pctype->tolower(c); } charT toupper(charT c) const { return m_pimpl->m_pctype->toupper(c); } string_type transform(const charT* p1, const charT* p2) const { return m_pimpl->transform(p1, p2); } string_type transform_primary(const charT* p1, const charT* p2) const { return m_pimpl->transform_primary(p1, p2); } char_class_type lookup_classname(const charT* p1, const charT* p2) const { return m_pimpl->lookup_classname(p1, p2); } string_type lookup_collatename(const charT* p1, const charT* p2) const { return m_pimpl->lookup_collatename(p1, p2); } bool isctype(charT c, char_class_type f) const { typedef typename std::ctype::mask ctype_mask; static const ctype_mask mask_base = static_cast( std::ctype::alnum | std::ctype::alpha | std::ctype::cntrl | std::ctype::digit | std::ctype::graph | std::ctype::lower | std::ctype::print | std::ctype::punct | std::ctype::space | std::ctype::upper | std::ctype::xdigit); if((f & mask_base) && (m_pimpl->m_pctype->is( static_cast(f & mask_base), c))) return true; else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c)) return true; else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_word) && (c == '_')) return true; else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_blank) && m_pimpl->m_pctype->is(std::ctype::space, c) && !BOOST_REGEX_DETAIL_NS::is_separator(c)) return true; else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) return true; else if((f & BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_horizontal) && this->isctype(c, std::ctype::space) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::cpp_regex_traits_implementation::mask_vertical)) return true; #ifdef __CYGWIN__ // // Cygwin has a buggy ctype facet, see https://www.cygwin.com/ml/cygwin/2012-08/msg00178.html: // else if((f & std::ctype::xdigit) == std::ctype::xdigit) { if((c >= 'a') && (c <= 'f')) return true; if((c >= 'A') && (c <= 'F')) return true; } #endif return false; } std::intmax_t toi(const charT*& p1, const charT* p2, int radix)const; int value(charT c, int radix)const { const charT* pc = &c; return (int)toi(pc, pc + 1, radix); } locale_type imbue(locale_type l) { std::locale result(getloc()); m_pimpl = BOOST_REGEX_DETAIL_NS::create_cpp_regex_traits(l); return result; } locale_type getloc()const { return m_pimpl->m_locale; } std::string error_string(regex_constants::error_type n) const { return m_pimpl->error_string(n); } // // extension: // set the name of the message catalog in use (defaults to "boost_regex"). // static std::string catalog_name(const std::string& name); static std::string get_catalog_name(); private: std::shared_ptr > m_pimpl; // // catalog name handler: // static std::string& get_catalog_name_inst(); #ifdef BOOST_HAS_THREADS static std::mutex& get_mutex_inst(); #endif }; template std::intmax_t cpp_regex_traits::toi(const charT*& first, const charT* last, int radix)const { BOOST_REGEX_DETAIL_NS::parser_buf sbuf; // buffer for parsing numbers. std::basic_istream is(&sbuf); // stream for parsing numbers. // we do NOT want to parse any thousands separators inside the stream: last = std::find(first, last, std::use_facet>(is.getloc()).thousands_sep()); sbuf.pubsetbuf(const_cast(static_cast(first)), static_cast(last-first)); is.clear(); if(std::abs(radix) == 16) is >> std::hex; else if(std::abs(radix) == 8) is >> std::oct; else is >> std::dec; std::intmax_t val; if(is >> val) { first = first + ((last - first) - sbuf.in_avail()); return val; } else return -1; } template std::string cpp_regex_traits::catalog_name(const std::string& name) { #ifdef BOOST_HAS_THREADS std::lock_guard lk(get_mutex_inst()); #endif std::string result(get_catalog_name_inst()); get_catalog_name_inst() = name; return result; } template std::string& cpp_regex_traits::get_catalog_name_inst() { static std::string s_name; return s_name; } template std::string cpp_regex_traits::get_catalog_name() { #ifdef BOOST_HAS_THREADS std::lock_guard lk(get_mutex_inst()); #endif std::string result(get_catalog_name_inst()); return result; } #ifdef BOOST_HAS_THREADS template std::mutex& cpp_regex_traits::get_mutex_inst() { static std::mutex s_mutex; return s_mutex; } #endif namespace BOOST_REGEX_DETAIL_NS { inline void cpp_regex_traits_char_layer::init() { // we need to start by initialising our syntax map so we know which // character is used for which purpose: std::memset(m_char_map, 0, sizeof(m_char_map)); #ifndef __IBMCPP__ std::messages::catalog cat = static_cast::catalog>(-1); #else std::messages::catalog cat = reinterpret_cast::catalog>(-1); #endif std::string cat_name(cpp_regex_traits::get_catalog_name()); if ((!cat_name.empty()) && (m_pmessages != 0)) { cat = this->m_pmessages->open( cat_name, this->m_locale); if ((int)cat < 0) { std::string m("Unable to open message catalog: "); std::runtime_error err(m + cat_name); boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); } } // // if we have a valid catalog then load our messages: // if ((int)cat >= 0) { #ifndef BOOST_NO_EXCEPTIONS try { #endif for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { string_type mss = this->m_pmessages->get(cat, 0, i, get_default_syntax(i)); for (string_type::size_type j = 0; j < mss.size(); ++j) { m_char_map[static_cast(mss[j])] = i; } } this->m_pmessages->close(cat); #ifndef BOOST_NO_EXCEPTIONS } catch (...) { this->m_pmessages->close(cat); throw; } #endif } else { for (regex_constants::syntax_type j = 1; j < regex_constants::syntax_max; ++j) { const char* ptr = get_default_syntax(j); while (ptr && *ptr) { m_char_map[static_cast(*ptr)] = j; ++ptr; } } } // // finish off by calculating our escape types: // unsigned char i = 'A'; do { if (m_char_map[i] == 0) { if (this->m_pctype->is(std::ctype_base::lower, i)) m_char_map[i] = regex_constants::escape_type_class; else if (this->m_pctype->is(std::ctype_base::upper, i)) m_char_map[i] = regex_constants::escape_type_not_class; } } while (0xFF != i++); } } // namespace detail } // boost #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/cregex.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE cregex.cpp * VERSION see * DESCRIPTION: Declares POSIX API functions * + boost::RegEx high level wrapper. */ #ifndef BOOST_RE_CREGEX_HPP_INCLUDED #define BOOST_RE_CREGEX_HPP_INCLUDED #ifndef BOOST_REGEX_CONFIG_HPP #include #endif #include #include #ifndef BOOST_REGEX_STANDALONE #if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) # define BOOST_LIB_NAME boost_regex # if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK) # define BOOST_DYN_LINK # endif # ifdef BOOST_REGEX_DIAG # define BOOST_LIB_DIAGNOSTIC # endif # include #endif #endif #ifdef __cplusplus #include #else #include #endif /* include these defs only for POSIX compatablity */ #ifdef __cplusplus namespace boost{ extern "C" { #endif #if defined(__cplusplus) typedef std::ptrdiff_t regoff_t; typedef std::size_t regsize_t; #else typedef ptrdiff_t regoff_t; typedef size_t regsize_t; #endif typedef struct { unsigned int re_magic; #ifdef __cplusplus std::size_t re_nsub; /* number of parenthesized subexpressions */ #else size_t re_nsub; #endif const char* re_endp; /* end pointer for REG_PEND */ void* guts; /* none of your business :-) */ match_flag_type eflags; /* none of your business :-) */ } regex_tA; #ifndef BOOST_NO_WREGEX typedef struct { unsigned int re_magic; #ifdef __cplusplus std::size_t re_nsub; /* number of parenthesized subexpressions */ #else size_t re_nsub; #endif const wchar_t* re_endp; /* end pointer for REG_PEND */ void* guts; /* none of your business :-) */ match_flag_type eflags; /* none of your business :-) */ } regex_tW; #endif typedef struct { regoff_t rm_so; /* start of match */ regoff_t rm_eo; /* end of match */ } regmatch_t; /* regcomp() flags */ typedef enum{ REG_BASIC = 0000, REG_EXTENDED = 0001, REG_ICASE = 0002, REG_NOSUB = 0004, REG_NEWLINE = 0010, REG_NOSPEC = 0020, REG_PEND = 0040, REG_DUMP = 0200, REG_NOCOLLATE = 0400, REG_ESCAPE_IN_LISTS = 01000, REG_NEWLINE_ALT = 02000, REG_PERLEX = 04000, REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX, REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS, REG_GREP = REG_BASIC | REG_NEWLINE_ALT, REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT, REG_ASSERT = 15, REG_INVARG = 16, REG_ATOI = 255, /* convert name to number (!) */ REG_ITOA = 0400 /* convert number to name (!) */ } reg_comp_flags; /* regexec() flags */ typedef enum{ REG_NOTBOL = 00001, REG_NOTEOL = 00002, REG_STARTEND = 00004 } reg_exec_flags; /* * POSIX error codes: */ typedef unsigned reg_error_t; typedef reg_error_t reg_errcode_t; /* backwards compatibility */ static const reg_error_t REG_NOERROR = 0; /* Success. */ static const reg_error_t REG_NOMATCH = 1; /* Didn't find a match (for regexec). */ /* POSIX regcomp return error codes. (In the order listed in the standard.) */ static const reg_error_t REG_BADPAT = 2; /* Invalid pattern. */ static const reg_error_t REG_ECOLLATE = 3; /* Undefined collating element. */ static const reg_error_t REG_ECTYPE = 4; /* Invalid character class name. */ static const reg_error_t REG_EESCAPE = 5; /* Trailing backslash. */ static const reg_error_t REG_ESUBREG = 6; /* Invalid back reference. */ static const reg_error_t REG_EBRACK = 7; /* Unmatched left bracket. */ static const reg_error_t REG_EPAREN = 8; /* Parenthesis imbalance. */ static const reg_error_t REG_EBRACE = 9; /* Unmatched \{. */ static const reg_error_t REG_BADBR = 10; /* Invalid contents of \{\}. */ static const reg_error_t REG_ERANGE = 11; /* Invalid range end. */ static const reg_error_t REG_ESPACE = 12; /* Ran out of memory. */ static const reg_error_t REG_BADRPT = 13; /* No preceding re for repetition op. */ static const reg_error_t REG_EEND = 14; /* unexpected end of expression */ static const reg_error_t REG_ESIZE = 15; /* expression too big */ static const reg_error_t REG_ERPAREN = 8; /* = REG_EPAREN : unmatched right parenthesis */ static const reg_error_t REG_EMPTY = 17; /* empty expression */ static const reg_error_t REG_E_MEMORY = 15; /* = REG_ESIZE : out of memory */ static const reg_error_t REG_ECOMPLEXITY = 18; /* complexity too high */ static const reg_error_t REG_ESTACK = 19; /* out of stack space */ static const reg_error_t REG_E_PERL = 20; /* Perl (?...) error */ static const reg_error_t REG_E_UNKNOWN = 21; /* unknown error */ static const reg_error_t REG_ENOSYS = 21; /* = REG_E_UNKNOWN : Reserved. */ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int); BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t); BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int); BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*); #ifndef BOOST_NO_WREGEX BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int); BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t); BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int); BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*); #endif #ifdef UNICODE #define regcomp regcompW #define regerror regerrorW #define regexec regexecW #define regfree regfreeW #define regex_t regex_tW #else #define regcomp regcompA #define regerror regerrorA #define regexec regexecA #define regfree regfreeA #define regex_t regex_tA #endif #ifdef __cplusplus } /* extern "C" */ } /* namespace */ #endif #endif /* include guard */ ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/error_type.hpp ================================================ /* * * Copyright (c) 2003-2005 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE error_type.hpp * VERSION see * DESCRIPTION: Declares regular expression error type enumerator. */ #ifndef BOOST_REGEX_ERROR_TYPE_HPP #define BOOST_REGEX_ERROR_TYPE_HPP #ifdef __cplusplus namespace boost{ #endif #ifdef __cplusplus namespace regex_constants{ enum error_type{ error_ok = 0, /* not used */ error_no_match = 1, /* not used */ error_bad_pattern = 2, error_collate = 3, error_ctype = 4, error_escape = 5, error_backref = 6, error_brack = 7, error_paren = 8, error_brace = 9, error_badbrace = 10, error_range = 11, error_space = 12, error_badrepeat = 13, error_end = 14, /* not used */ error_size = 15, error_right_paren = 16, /* not used */ error_empty = 17, error_complexity = 18, error_stack = 19, error_perl_extension = 20, error_unknown = 21 }; } } #endif /* __cplusplus */ #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/icu.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE icu.hpp * VERSION see * DESCRIPTION: Unicode regular expressions on top of the ICU Library. */ #ifndef BOOST_REGEX_ICU_V5_HPP #define BOOST_REGEX_ICU_V5_HPP #include #include #include #include #include #include #include #ifdef BOOST_REGEX_MSVC #pragma warning (push) #pragma warning (disable: 4251) #endif namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ // // Implementation details: // class icu_regex_traits_implementation { typedef UChar32 char_type; typedef std::size_t size_type; typedef std::vector string_type; typedef U_NAMESPACE_QUALIFIER Locale locale_type; typedef std::uint_least32_t char_class_type; public: icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& l) : m_locale(l) { UErrorCode success = U_ZERO_ERROR; m_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success)); if(U_SUCCESS(success) == 0) init_error(); m_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::IDENTICAL); success = U_ZERO_ERROR; m_primary_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success)); if(U_SUCCESS(success) == 0) init_error(); m_primary_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::PRIMARY); } U_NAMESPACE_QUALIFIER Locale getloc()const { return m_locale; } string_type do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const { // TODO make thread safe!!!! : typedef u32_to_u16_iterator itt; itt i(p1), j(p2); std::vector< ::UChar> t(i, j); std::uint8_t result[100]; std::int32_t len; if (!t.empty()) len = pcoll->getSortKey(&*t.begin(), static_cast(t.size()), result, sizeof(result)); else len = pcoll->getSortKey(static_cast(0), static_cast(0), result, sizeof(result)); if (std::size_t(len) > sizeof(result)) { std::unique_ptr< std::uint8_t[]> presult(new ::uint8_t[len + 1]); if (!t.empty()) len = pcoll->getSortKey(&*t.begin(), static_cast(t.size()), presult.get(), len + 1); else len = pcoll->getSortKey(static_cast(0), static_cast(0), presult.get(), len + 1); if ((0 == presult[len - 1]) && (len > 1)) --len; return string_type(presult.get(), presult.get() + len); } if ((0 == result[len - 1]) && (len > 1)) --len; return string_type(result, result + len); } string_type transform(const char_type* p1, const char_type* p2) const { return do_transform(p1, p2, m_collator.get()); } string_type transform_primary(const char_type* p1, const char_type* p2) const { return do_transform(p1, p2, m_primary_collator.get()); } private: void init_error() { std::runtime_error e("Could not initialize ICU resources"); #ifndef BOOST_REGEX_STANDALONE boost::throw_exception(e); #else throw e; #endif } U_NAMESPACE_QUALIFIER Locale m_locale; // The ICU locale that we're using std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_collator; // The full collation object std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_primary_collator; // The primary collation object }; inline std::shared_ptr get_icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& loc) { return std::shared_ptr(new icu_regex_traits_implementation(loc)); } } class icu_regex_traits { public: typedef UChar32 char_type; typedef std::size_t size_type; typedef std::vector string_type; typedef U_NAMESPACE_QUALIFIER Locale locale_type; typedef std::uint64_t char_class_type; struct boost_extensions_tag{}; icu_regex_traits() : m_pimpl(BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(U_NAMESPACE_QUALIFIER Locale())) { } static size_type length(const char_type* p) { size_type result = 0; while (*p) { ++p; ++result; } return result; } ::boost::regex_constants::syntax_type syntax_type(char_type c)const { return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_syntax_type(static_cast(c)) : regex_constants::syntax_char; } ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c) const { return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_escape_syntax_type(static_cast(c)) : regex_constants::syntax_char; } char_type translate(char_type c) const { return c; } char_type translate_nocase(char_type c) const { return ::u_foldCase(c, U_FOLD_CASE_DEFAULT); } char_type translate(char_type c, bool icase) const { return icase ? translate_nocase(c) : translate(c); } char_type tolower(char_type c) const { return ::u_tolower(c); } char_type toupper(char_type c) const { return ::u_toupper(c); } string_type transform(const char_type* p1, const char_type* p2) const { return m_pimpl->transform(p1, p2); } string_type transform_primary(const char_type* p1, const char_type* p2) const { return m_pimpl->transform_primary(p1, p2); } char_class_type lookup_classname(const char_type* p1, const char_type* p2) const { constexpr char_class_type mask_blank = char_class_type(1) << offset_blank; constexpr char_class_type mask_space = char_class_type(1) << offset_space; constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; constexpr char_class_type mask_any = char_class_type(1) << offset_any; constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; static const char_class_type masks[] = { 0, U_GC_L_MASK | U_GC_ND_MASK, U_GC_L_MASK, mask_blank, U_GC_CC_MASK | U_GC_CF_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK, U_GC_ND_MASK, U_GC_ND_MASK, (0x3FFFFFFFu) & ~(U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CS_MASK | U_GC_CN_MASK | U_GC_Z_MASK), mask_horizontal, U_GC_LL_MASK, U_GC_LL_MASK, ~(U_GC_C_MASK), U_GC_P_MASK, char_class_type(U_GC_Z_MASK) | mask_space, char_class_type(U_GC_Z_MASK) | mask_space, U_GC_LU_MASK, mask_unicode, U_GC_LU_MASK, mask_vertical, char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore, char_class_type(U_GC_ND_MASK) | mask_xdigit, }; int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); if (idx >= 0) return masks[idx + 1]; char_class_type result = lookup_icu_mask(p1, p2); if (result != 0) return result; if (idx < 0) { string_type s(p1, p2); string_type::size_type i = 0; while (i < s.size()) { s[i] = static_cast((::u_tolower)(s[i])); if (::u_isspace(s[i]) || (s[i] == '-') || (s[i] == '_')) s.erase(s.begin() + i, s.begin() + i + 1); else { s[i] = static_cast((::u_tolower)(s[i])); ++i; } } if (!s.empty()) idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size()); if (idx >= 0) return masks[idx + 1]; if (!s.empty()) result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size()); if (result != 0) return result; } BOOST_REGEX_ASSERT(std::size_t(idx + 1) < sizeof(masks) / sizeof(masks[0])); return masks[idx + 1]; } string_type lookup_collatename(const char_type* p1, const char_type* p2) const { string_type result; if (std::find_if(p1, p2, std::bind(std::greater< ::UChar32>(), std::placeholders::_1, 0x7f)) == p2) { std::string s(p1, p2); // Try Unicode name: UErrorCode err = U_ZERO_ERROR; UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, s.c_str(), &err); if (U_SUCCESS(err)) { result.push_back(c); return result; } // Try Unicode-extended name: err = U_ZERO_ERROR; c = ::u_charFromName(U_EXTENDED_CHAR_NAME, s.c_str(), &err); if (U_SUCCESS(err)) { result.push_back(c); return result; } // try POSIX name: s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s); result.assign(s.begin(), s.end()); } if (result.empty() && (p2 - p1 == 1)) result.push_back(*p1); return result; } bool isctype(char_type c, char_class_type f) const { constexpr char_class_type mask_blank = char_class_type(1) << offset_blank; constexpr char_class_type mask_space = char_class_type(1) << offset_space; constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; constexpr char_class_type mask_any = char_class_type(1) << offset_any; constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; // check for standard catagories first: char_class_type m = char_class_type(static_cast(1) << u_charType(c)); if ((m & f) != 0) return true; // now check for special cases: if (((f & mask_blank) != 0) && u_isblank(c)) return true; if (((f & mask_space) != 0) && u_isspace(c)) return true; if (((f & mask_xdigit) != 0) && (u_digit(c, 16) >= 0)) return true; if (((f & mask_unicode) != 0) && (c >= 0x100)) return true; if (((f & mask_underscore) != 0) && (c == '_')) return true; if (((f & mask_any) != 0) && (c <= 0x10FFFF)) return true; if (((f & mask_ascii) != 0) && (c <= 0x7F)) return true; if (((f & mask_vertical) != 0) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == static_cast('\v')) || (m == U_GC_ZL_MASK) || (m == U_GC_ZP_MASK))) return true; if (((f & mask_horizontal) != 0) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && u_isspace(c) && (c != static_cast('\v'))) return true; return false; } std::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const { return BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); } int value(char_type c, int radix)const { return u_digit(c, static_cast< std::int8_t>(radix)); } locale_type imbue(locale_type l) { locale_type result(m_pimpl->getloc()); m_pimpl = BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(l); return result; } locale_type getloc()const { return locale_type(); } std::string error_string(::boost::regex_constants::error_type n) const { return BOOST_REGEX_DETAIL_NS::get_default_error_string(n); } private: icu_regex_traits(const icu_regex_traits&); icu_regex_traits& operator=(const icu_regex_traits&); // // define the bitmasks offsets we need for additional character properties: // enum{ offset_blank = U_CHAR_CATEGORY_COUNT, offset_space = U_CHAR_CATEGORY_COUNT+1, offset_xdigit = U_CHAR_CATEGORY_COUNT+2, offset_underscore = U_CHAR_CATEGORY_COUNT+3, offset_unicode = U_CHAR_CATEGORY_COUNT+4, offset_any = U_CHAR_CATEGORY_COUNT+5, offset_ascii = U_CHAR_CATEGORY_COUNT+6, offset_horizontal = U_CHAR_CATEGORY_COUNT+7, offset_vertical = U_CHAR_CATEGORY_COUNT+8 }; static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2) { constexpr char_class_type mask_blank = char_class_type(1) << offset_blank; constexpr char_class_type mask_space = char_class_type(1) << offset_space; constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit; constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore; constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode; constexpr char_class_type mask_any = char_class_type(1) << offset_any; constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii; constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal; constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical; static const ::UChar32 prop_name_table[] = { /* any */ 'a', 'n', 'y', /* ascii */ 'a', 's', 'c', 'i', 'i', /* assigned */ 'a', 's', 's', 'i', 'g', 'n', 'e', 'd', /* c* */ 'c', '*', /* cc */ 'c', 'c', /* cf */ 'c', 'f', /* closepunctuation */ 'c', 'l', 'o', 's', 'e', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* cn */ 'c', 'n', /* co */ 'c', 'o', /* connectorpunctuation */ 'c', 'o', 'n', 'n', 'e', 'c', 't', 'o', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* control */ 'c', 'o', 'n', 't', 'r', 'o', 'l', /* cs */ 'c', 's', /* currencysymbol */ 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'y', 's', 'y', 'm', 'b', 'o', 'l', /* dashpunctuation */ 'd', 'a', 's', 'h', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* decimaldigitnumber */ 'd', 'e', 'c', 'i', 'm', 'a', 'l', 'd', 'i', 'g', 'i', 't', 'n', 'u', 'm', 'b', 'e', 'r', /* enclosingmark */ 'e', 'n', 'c', 'l', 'o', 's', 'i', 'n', 'g', 'm', 'a', 'r', 'k', /* finalpunctuation */ 'f', 'i', 'n', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* format */ 'f', 'o', 'r', 'm', 'a', 't', /* initialpunctuation */ 'i', 'n', 'i', 't', 'i', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* l* */ 'l', '*', /* letter */ 'l', 'e', 't', 't', 'e', 'r', /* letternumber */ 'l', 'e', 't', 't', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', /* lineseparator */ 'l', 'i', 'n', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', /* ll */ 'l', 'l', /* lm */ 'l', 'm', /* lo */ 'l', 'o', /* lowercaseletter */ 'l', 'o', 'w', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', /* lt */ 'l', 't', /* lu */ 'l', 'u', /* m* */ 'm', '*', /* mark */ 'm', 'a', 'r', 'k', /* mathsymbol */ 'm', 'a', 't', 'h', 's', 'y', 'm', 'b', 'o', 'l', /* mc */ 'm', 'c', /* me */ 'm', 'e', /* mn */ 'm', 'n', /* modifierletter */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', /* modifiersymbol */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', /* n* */ 'n', '*', /* nd */ 'n', 'd', /* nl */ 'n', 'l', /* no */ 'n', 'o', /* nonspacingmark */ 'n', 'o', 'n', 's', 'p', 'a', 'c', 'i', 'n', 'g', 'm', 'a', 'r', 'k', /* notassigned */ 'n', 'o', 't', 'a', 's', 's', 'i', 'g', 'n', 'e', 'd', /* number */ 'n', 'u', 'm', 'b', 'e', 'r', /* openpunctuation */ 'o', 'p', 'e', 'n', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* other */ 'o', 't', 'h', 'e', 'r', /* otherletter */ 'o', 't', 'h', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r', /* othernumber */ 'o', 't', 'h', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r', /* otherpunctuation */ 'o', 't', 'h', 'e', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* othersymbol */ 'o', 't', 'h', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l', /* p* */ 'p', '*', /* paragraphseparator */ 'p', 'a', 'r', 'a', 'g', 'r', 'a', 'p', 'h', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', /* pc */ 'p', 'c', /* pd */ 'p', 'd', /* pe */ 'p', 'e', /* pf */ 'p', 'f', /* pi */ 'p', 'i', /* po */ 'p', 'o', /* privateuse */ 'p', 'r', 'i', 'v', 'a', 't', 'e', 'u', 's', 'e', /* ps */ 'p', 's', /* punctuation */ 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n', /* s* */ 's', '*', /* sc */ 's', 'c', /* separator */ 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', /* sk */ 's', 'k', /* sm */ 's', 'm', /* so */ 's', 'o', /* spaceseparator */ 's', 'p', 'a', 'c', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r', /* spacingcombiningmark */ 's', 'p', 'a', 'c', 'i', 'n', 'g', 'c', 'o', 'm', 'b', 'i', 'n', 'i', 'n', 'g', 'm', 'a', 'r', 'k', /* surrogate */ 's', 'u', 'r', 'r', 'o', 'g', 'a', 't', 'e', /* symbol */ 's', 'y', 'm', 'b', 'o', 'l', /* titlecase */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', /* titlecaseletter */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', /* uppercaseletter */ 'u', 'p', 'p', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r', /* z* */ 'z', '*', /* zl */ 'z', 'l', /* zp */ 'z', 'p', /* zs */ 'z', 's', }; static const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> range_data[] = { { prop_name_table + 0, prop_name_table + 3, }, // any { prop_name_table + 3, prop_name_table + 8, }, // ascii { prop_name_table + 8, prop_name_table + 16, }, // assigned { prop_name_table + 16, prop_name_table + 18, }, // c* { prop_name_table + 18, prop_name_table + 20, }, // cc { prop_name_table + 20, prop_name_table + 22, }, // cf { prop_name_table + 22, prop_name_table + 38, }, // closepunctuation { prop_name_table + 38, prop_name_table + 40, }, // cn { prop_name_table + 40, prop_name_table + 42, }, // co { prop_name_table + 42, prop_name_table + 62, }, // connectorpunctuation { prop_name_table + 62, prop_name_table + 69, }, // control { prop_name_table + 69, prop_name_table + 71, }, // cs { prop_name_table + 71, prop_name_table + 85, }, // currencysymbol { prop_name_table + 85, prop_name_table + 100, }, // dashpunctuation { prop_name_table + 100, prop_name_table + 118, }, // decimaldigitnumber { prop_name_table + 118, prop_name_table + 131, }, // enclosingmark { prop_name_table + 131, prop_name_table + 147, }, // finalpunctuation { prop_name_table + 147, prop_name_table + 153, }, // format { prop_name_table + 153, prop_name_table + 171, }, // initialpunctuation { prop_name_table + 171, prop_name_table + 173, }, // l* { prop_name_table + 173, prop_name_table + 179, }, // letter { prop_name_table + 179, prop_name_table + 191, }, // letternumber { prop_name_table + 191, prop_name_table + 204, }, // lineseparator { prop_name_table + 204, prop_name_table + 206, }, // ll { prop_name_table + 206, prop_name_table + 208, }, // lm { prop_name_table + 208, prop_name_table + 210, }, // lo { prop_name_table + 210, prop_name_table + 225, }, // lowercaseletter { prop_name_table + 225, prop_name_table + 227, }, // lt { prop_name_table + 227, prop_name_table + 229, }, // lu { prop_name_table + 229, prop_name_table + 231, }, // m* { prop_name_table + 231, prop_name_table + 235, }, // mark { prop_name_table + 235, prop_name_table + 245, }, // mathsymbol { prop_name_table + 245, prop_name_table + 247, }, // mc { prop_name_table + 247, prop_name_table + 249, }, // me { prop_name_table + 249, prop_name_table + 251, }, // mn { prop_name_table + 251, prop_name_table + 265, }, // modifierletter { prop_name_table + 265, prop_name_table + 279, }, // modifiersymbol { prop_name_table + 279, prop_name_table + 281, }, // n* { prop_name_table + 281, prop_name_table + 283, }, // nd { prop_name_table + 283, prop_name_table + 285, }, // nl { prop_name_table + 285, prop_name_table + 287, }, // no { prop_name_table + 287, prop_name_table + 301, }, // nonspacingmark { prop_name_table + 301, prop_name_table + 312, }, // notassigned { prop_name_table + 312, prop_name_table + 318, }, // number { prop_name_table + 318, prop_name_table + 333, }, // openpunctuation { prop_name_table + 333, prop_name_table + 338, }, // other { prop_name_table + 338, prop_name_table + 349, }, // otherletter { prop_name_table + 349, prop_name_table + 360, }, // othernumber { prop_name_table + 360, prop_name_table + 376, }, // otherpunctuation { prop_name_table + 376, prop_name_table + 387, }, // othersymbol { prop_name_table + 387, prop_name_table + 389, }, // p* { prop_name_table + 389, prop_name_table + 407, }, // paragraphseparator { prop_name_table + 407, prop_name_table + 409, }, // pc { prop_name_table + 409, prop_name_table + 411, }, // pd { prop_name_table + 411, prop_name_table + 413, }, // pe { prop_name_table + 413, prop_name_table + 415, }, // pf { prop_name_table + 415, prop_name_table + 417, }, // pi { prop_name_table + 417, prop_name_table + 419, }, // po { prop_name_table + 419, prop_name_table + 429, }, // privateuse { prop_name_table + 429, prop_name_table + 431, }, // ps { prop_name_table + 431, prop_name_table + 442, }, // punctuation { prop_name_table + 442, prop_name_table + 444, }, // s* { prop_name_table + 444, prop_name_table + 446, }, // sc { prop_name_table + 446, prop_name_table + 455, }, // separator { prop_name_table + 455, prop_name_table + 457, }, // sk { prop_name_table + 457, prop_name_table + 459, }, // sm { prop_name_table + 459, prop_name_table + 461, }, // so { prop_name_table + 461, prop_name_table + 475, }, // spaceseparator { prop_name_table + 475, prop_name_table + 495, }, // spacingcombiningmark { prop_name_table + 495, prop_name_table + 504, }, // surrogate { prop_name_table + 504, prop_name_table + 510, }, // symbol { prop_name_table + 510, prop_name_table + 519, }, // titlecase { prop_name_table + 519, prop_name_table + 534, }, // titlecaseletter { prop_name_table + 534, prop_name_table + 549, }, // uppercaseletter { prop_name_table + 549, prop_name_table + 551, }, // z* { prop_name_table + 551, prop_name_table + 553, }, // zl { prop_name_table + 553, prop_name_table + 555, }, // zp { prop_name_table + 555, prop_name_table + 557, }, // zs }; static const icu_regex_traits::char_class_type icu_class_map[] = { mask_any, // any mask_ascii, // ascii (0x3FFFFFFFu) & ~(U_GC_CN_MASK), // assigned U_GC_C_MASK, // c* U_GC_CC_MASK, // cc U_GC_CF_MASK, // cf U_GC_PE_MASK, // closepunctuation U_GC_CN_MASK, // cn U_GC_CO_MASK, // co U_GC_PC_MASK, // connectorpunctuation U_GC_CC_MASK, // control U_GC_CS_MASK, // cs U_GC_SC_MASK, // currencysymbol U_GC_PD_MASK, // dashpunctuation U_GC_ND_MASK, // decimaldigitnumber U_GC_ME_MASK, // enclosingmark U_GC_PF_MASK, // finalpunctuation U_GC_CF_MASK, // format U_GC_PI_MASK, // initialpunctuation U_GC_L_MASK, // l* U_GC_L_MASK, // letter U_GC_NL_MASK, // letternumber U_GC_ZL_MASK, // lineseparator U_GC_LL_MASK, // ll U_GC_LM_MASK, // lm U_GC_LO_MASK, // lo U_GC_LL_MASK, // lowercaseletter U_GC_LT_MASK, // lt U_GC_LU_MASK, // lu U_GC_M_MASK, // m* U_GC_M_MASK, // mark U_GC_SM_MASK, // mathsymbol U_GC_MC_MASK, // mc U_GC_ME_MASK, // me U_GC_MN_MASK, // mn U_GC_LM_MASK, // modifierletter U_GC_SK_MASK, // modifiersymbol U_GC_N_MASK, // n* U_GC_ND_MASK, // nd U_GC_NL_MASK, // nl U_GC_NO_MASK, // no U_GC_MN_MASK, // nonspacingmark U_GC_CN_MASK, // notassigned U_GC_N_MASK, // number U_GC_PS_MASK, // openpunctuation U_GC_C_MASK, // other U_GC_LO_MASK, // otherletter U_GC_NO_MASK, // othernumber U_GC_PO_MASK, // otherpunctuation U_GC_SO_MASK, // othersymbol U_GC_P_MASK, // p* U_GC_ZP_MASK, // paragraphseparator U_GC_PC_MASK, // pc U_GC_PD_MASK, // pd U_GC_PE_MASK, // pe U_GC_PF_MASK, // pf U_GC_PI_MASK, // pi U_GC_PO_MASK, // po U_GC_CO_MASK, // privateuse U_GC_PS_MASK, // ps U_GC_P_MASK, // punctuation U_GC_S_MASK, // s* U_GC_SC_MASK, // sc U_GC_Z_MASK, // separator U_GC_SK_MASK, // sk U_GC_SM_MASK, // sm U_GC_SO_MASK, // so U_GC_ZS_MASK, // spaceseparator U_GC_MC_MASK, // spacingcombiningmark U_GC_CS_MASK, // surrogate U_GC_S_MASK, // symbol U_GC_LT_MASK, // titlecase U_GC_LT_MASK, // titlecaseletter U_GC_LU_MASK, // uppercaseletter U_GC_Z_MASK, // z* U_GC_ZL_MASK, // zl U_GC_ZP_MASK, // zp U_GC_ZS_MASK, // zs }; const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_begin = range_data; const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_end = range_data + (sizeof(range_data) / sizeof(range_data[0])); BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> t = { p1, p2, }; const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* p = std::lower_bound(ranges_begin, ranges_end, t); if ((p != ranges_end) && (t == *p)) return icu_class_map[p - ranges_begin]; return 0; } std::shared_ptr< ::boost::BOOST_REGEX_DETAIL_NS::icu_regex_traits_implementation> m_pimpl; }; } // namespace boost namespace boost{ // types: typedef basic_regex< ::UChar32, icu_regex_traits> u32regex; typedef match_results u32match; typedef match_results u16match; // // Construction of 32-bit regex types from UTF-8 and UTF-16 primitives: // namespace BOOST_REGEX_DETAIL_NS{ template inline u32regex do_make_u32regex(InputIterator i, InputIterator j, boost::regex_constants::syntax_option_type opt, const std::integral_constant*) { typedef boost::u8_to_u32_iterator conv_type; return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt); } template inline u32regex do_make_u32regex(InputIterator i, InputIterator j, boost::regex_constants::syntax_option_type opt, const std::integral_constant*) { typedef boost::u16_to_u32_iterator conv_type; return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt); } template inline u32regex do_make_u32regex(InputIterator i, InputIterator j, boost::regex_constants::syntax_option_type opt, const std::integral_constant*) { return u32regex(i, j, opt); } } // BOOST_REGEX_UCHAR_IS_WCHAR_T // // Source inspection of unicode/umachine.h in ICU version 59 indicates that: // // On version 59, UChar is always char16_t in C++ mode (and uint16_t in C mode) // // On earlier versions, the logic is // // #if U_SIZEOF_WCHAR_T==2 // typedef wchar_t OldUChar; // #elif defined(__CHAR16_TYPE__) // typedef __CHAR16_TYPE__ OldUChar; // #else // typedef uint16_t OldUChar; // #endif // // That is, UChar is wchar_t only on versions below 59, when U_SIZEOF_WCHAR_T==2 // // Hence, #define BOOST_REGEX_UCHAR_IS_WCHAR_T (U_ICU_VERSION_MAJOR_NUM < 59 && U_SIZEOF_WCHAR_T == 2) #if BOOST_REGEX_UCHAR_IS_WCHAR_T static_assert((std::is_same::value), "Configuration logic has failed!"); #else static_assert(!(std::is_same::value), "Configuration logic has failed!"); #endif // // Construction from an iterator pair: // template inline u32regex make_u32regex(InputIterator i, InputIterator j, boost::regex_constants::syntax_option_type opt) { return BOOST_REGEX_DETAIL_NS::do_make_u32regex(i, j, opt, static_cast const*>(0)); } // // construction from UTF-8 nul-terminated strings: // inline u32regex make_u32regex(const char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(p), opt, static_cast const*>(0)); } inline u32regex make_u32regex(const unsigned char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(reinterpret_cast(p)), opt, static_cast const*>(0)); } // // construction from UTF-16 nul-terminated strings: // #ifndef BOOST_NO_WREGEX inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast const*>(0)); } #endif #if !BOOST_REGEX_UCHAR_IS_WCHAR_T inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + u_strlen(p), opt, static_cast const*>(0)); } #endif // // construction from basic_string class-template: // template inline u32regex make_u32regex(const std::basic_string& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.begin(), s.end(), opt, static_cast const*>(0)); } // // Construction from ICU string type: // inline u32regex make_u32regex(const U_NAMESPACE_QUALIFIER UnicodeString& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl) { return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.getBuffer(), s.getBuffer() + s.length(), opt, static_cast const*>(0)); } // // regex_match overloads that widen the character type as appropriate: // namespace BOOST_REGEX_DETAIL_NS{ template void copy_results(MR1& out, MR2 const& in, NSubs named_subs) { // copy results from an adapted MR2 match_results: out.set_size(in.size(), in.prefix().first.base(), in.suffix().second.base()); out.set_base(in.base().base()); out.set_named_subs(named_subs); for(int i = 0; i < (int)in.size(); ++i) { if(in[i].matched || !i) { out.set_first(in[i].first.base(), i); out.set_second(in[i].second.base(), i, in[i].matched); } } #ifdef BOOST_REGEX_MATCH_EXTRA // Copy full capture info as well: for(int i = 0; i < (int)in.size(); ++i) { if(in[i].captures().size()) { out[i].get_captures().assign(in[i].captures().size(), typename MR1::value_type()); for(int j = 0; j < (int)out[i].captures().size(); ++j) { out[i].get_captures()[j].first = in[i].captures()[j].first.base(); out[i].get_captures()[j].second = in[i].captures()[j].second.base(); out[i].get_captures()[j].matched = in[i].captures()[j].matched; } } } #endif } template inline bool do_regex_match(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags, std::integral_constant const*) { return ::boost::regex_match(first, last, m, e, flags); } template bool do_regex_match(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags, std::integral_constant const*) { typedef u16_to_u32_iterator conv_type; typedef match_results match_type; //typedef typename match_type::allocator_type alloc_type; match_type what; bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); // copy results across to m: if(result) copy_results(m, what, e.get_named_subs()); return result; } template bool do_regex_match(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags, std::integral_constant const*) { typedef u8_to_u32_iterator conv_type; typedef match_results match_type; //typedef typename match_type::allocator_type alloc_type; match_type what; bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags); // copy results across to m: if(result) copy_results(m, what, e.get_named_subs()); return result; } } // namespace BOOST_REGEX_DETAIL_NS template inline bool u32regex_match(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast const*>(0)); } inline bool u32regex_match(const UChar* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); } #if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) inline bool u32regex_match(const wchar_t* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast const*>(0)); } #endif inline bool u32regex_match(const char* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast const*>(0)); } inline bool u32regex_match(const unsigned char* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast const*>(0)); } inline bool u32regex_match(const std::string& s, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); } #ifndef BOOST_NO_STD_WSTRING inline bool u32regex_match(const std::wstring& s, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); } #endif inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast const*>(0)); } // // regex_match overloads that do not return what matched: // template inline bool u32regex_match(BidiIterator first, BidiIterator last, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast const*>(0)); } inline bool u32regex_match(const UChar* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast const*>(0)); } #if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) inline bool u32regex_match(const wchar_t* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast const*>(0)); } #endif inline bool u32regex_match(const char* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast const*>(0)); } inline bool u32regex_match(const unsigned char* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast const*>(0)); } inline bool u32regex_match(const std::string& s, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); } #ifndef BOOST_NO_STD_WSTRING inline bool u32regex_match(const std::wstring& s, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast const*>(0)); } #endif inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast const*>(0)); } // // regex_search overloads that widen the character type as appropriate: // namespace BOOST_REGEX_DETAIL_NS{ template inline bool do_regex_search(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags, BidiIterator base, std::integral_constant const*) { return ::boost::regex_search(first, last, m, e, flags, base); } template bool do_regex_search(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags, BidiIterator base, std::integral_constant const*) { typedef u16_to_u32_iterator conv_type; typedef match_results match_type; //typedef typename match_type::allocator_type alloc_type; match_type what; bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); // copy results across to m: if(result) copy_results(m, what, e.get_named_subs()); return result; } template bool do_regex_search(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags, BidiIterator base, std::integral_constant const*) { typedef u8_to_u32_iterator conv_type; typedef match_results match_type; //typedef typename match_type::allocator_type alloc_type; match_type what; bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base)); // copy results across to m: if(result) copy_results(m, what, e.get_named_subs()); return result; } } template inline bool u32regex_search(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast const*>(0)); } template inline bool u32regex_search(BidiIterator first, BidiIterator last, match_results& m, const u32regex& e, match_flag_type flags, BidiIterator base) { return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, base, static_cast const*>(0)); } inline bool u32regex_search(const UChar* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); } #if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) inline bool u32regex_search(const wchar_t* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast const*>(0)); } #endif inline bool u32regex_search(const char* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast const*>(0)); } inline bool u32regex_search(const unsigned char* p, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast const*>(0)); } inline bool u32regex_search(const std::string& s, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); } #ifndef BOOST_NO_STD_WSTRING inline bool u32regex_search(const std::wstring& s, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); } #endif inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, match_results& m, const u32regex& e, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast const*>(0)); } template inline bool u32regex_search(BidiIterator first, BidiIterator last, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast const*>(0)); } inline bool u32regex_search(const UChar* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast const*>(0)); } #if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX) inline bool u32regex_search(const wchar_t* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast const*>(0)); } #endif inline bool u32regex_search(const char* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast const*>(0)); } inline bool u32regex_search(const unsigned char* p, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast const*>(0)); } inline bool u32regex_search(const std::string& s, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); } #ifndef BOOST_NO_STD_WSTRING inline bool u32regex_search(const std::wstring& s, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast const*>(0)); } #endif inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, match_flag_type flags = match_default) { match_results m; return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast const*>(0)); } // // overloads for regex_replace with utf-8 and utf-16 data types: // namespace BOOST_REGEX_DETAIL_NS{ template inline std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator > make_utf32_seq(I i, I j, std::integral_constant const*) { return std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator >(boost::u8_to_u32_iterator(i, i, j), boost::u8_to_u32_iterator(j, i, j)); } template inline std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator > make_utf32_seq(I i, I j, std::integral_constant const*) { return std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator >(boost::u16_to_u32_iterator(i, i, j), boost::u16_to_u32_iterator(j, i, j)); } template inline std::pair< I, I > make_utf32_seq(I i, I j, std::integral_constant const*) { return std::pair< I, I >(i, j); } template inline std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator > make_utf32_seq(const charT* p, std::integral_constant const*) { std::size_t len = std::strlen((const char*)p); return std::pair< boost::u8_to_u32_iterator, boost::u8_to_u32_iterator >(boost::u8_to_u32_iterator(p, p, p+len), boost::u8_to_u32_iterator(p+len, p, p+len)); } template inline std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator > make_utf32_seq(const charT* p, std::integral_constant const*) { std::size_t len = u_strlen((const UChar*)p); return std::pair< boost::u16_to_u32_iterator, boost::u16_to_u32_iterator >(boost::u16_to_u32_iterator(p, p, p + len), boost::u16_to_u32_iterator(p+len, p, p + len)); } template inline std::pair< const charT*, const charT* > make_utf32_seq(const charT* p, std::integral_constant const*) { return std::pair< const charT*, const charT* >(p, p+icu_regex_traits::length((UChar32 const*)p)); } template inline OutputIterator make_utf32_out(OutputIterator o, std::integral_constant const*) { return o; } template inline utf16_output_iterator make_utf32_out(OutputIterator o, std::integral_constant const*) { return o; } template inline utf8_output_iterator make_utf32_out(OutputIterator o, std::integral_constant const*) { return o; } template OutputIterator do_regex_replace(OutputIterator out, std::pair const& in, const u32regex& e, const std::pair& fmt, match_flag_type flags ) { // unfortunately we have to copy the format string in order to pass in onward: std::vector f; f.assign(fmt.first, fmt.second); regex_iterator i(in.first, in.second, e, flags); regex_iterator j; if(i == j) { if(!(flags & regex_constants::format_no_copy)) out = std::copy(in.first, in.second, out); } else { I1 last_m = in.first; while(i != j) { if(!(flags & regex_constants::format_no_copy)) out = std::copy(i->prefix().first, i->prefix().second, out); if(!f.empty()) out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, &*f.begin(), &*f.begin() + f.size(), flags, e.get_traits()); else out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, static_cast(0), static_cast(0), flags, e.get_traits()); last_m = (*i)[0].second; if(flags & regex_constants::format_first_only) break; ++i; } if(!(flags & regex_constants::format_no_copy)) out = std::copy(last_m, in.second, out); } return out; } template inline const BaseIterator& extract_output_base(const BaseIterator& b) { return b; } template inline BaseIterator extract_output_base(const utf8_output_iterator& b) { return b.base(); } template inline BaseIterator extract_output_base(const utf16_output_iterator& b) { return b.base(); } } // BOOST_REGEX_DETAIL_NS template inline OutputIterator u32regex_replace(OutputIterator out, BidirectionalIterator first, BidirectionalIterator last, const u32regex& e, const charT* fmt, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::extract_output_base ( BOOST_REGEX_DETAIL_NS::do_regex_replace( BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), e, BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt, static_cast const*>(0)), flags) ); } template inline OutputIterator u32regex_replace(OutputIterator out, Iterator first, Iterator last, const u32regex& e, const std::basic_string& fmt, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::extract_output_base ( BOOST_REGEX_DETAIL_NS::do_regex_replace( BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), e, BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.begin(), fmt.end(), static_cast const*>(0)), flags) ); } template inline OutputIterator u32regex_replace(OutputIterator out, Iterator first, Iterator last, const u32regex& e, const U_NAMESPACE_QUALIFIER UnicodeString& fmt, match_flag_type flags = match_default) { return BOOST_REGEX_DETAIL_NS::extract_output_base ( BOOST_REGEX_DETAIL_NS::do_regex_replace( BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast const*>(0)), BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast const*>(0)), e, BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast const*>(0)), flags) ); } template std::basic_string u32regex_replace(const std::basic_string& s, const u32regex& e, const charT* fmt, match_flag_type flags = match_default) { std::basic_string result; BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); u32regex_replace(i, s.begin(), s.end(), e, fmt, flags); return result; } template std::basic_string u32regex_replace(const std::basic_string& s, const u32regex& e, const std::basic_string& fmt, match_flag_type flags = match_default) { std::basic_string result; BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); u32regex_replace(i, s.begin(), s.end(), e, fmt.c_str(), flags); return result; } namespace BOOST_REGEX_DETAIL_NS{ class unicode_string_out_iterator { U_NAMESPACE_QUALIFIER UnicodeString* out; public: unicode_string_out_iterator(U_NAMESPACE_QUALIFIER UnicodeString& s) : out(&s) {} unicode_string_out_iterator& operator++() { return *this; } unicode_string_out_iterator& operator++(int) { return *this; } unicode_string_out_iterator& operator*() { return *this; } unicode_string_out_iterator& operator=(UChar v) { *out += v; return *this; } typedef std::ptrdiff_t difference_type; typedef UChar value_type; typedef value_type* pointer; typedef value_type& reference; typedef std::output_iterator_tag iterator_category; }; } inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, const UChar* fmt, match_flag_type flags = match_default) { U_NAMESPACE_QUALIFIER UnicodeString result; BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result); u32regex_replace(i, s.getBuffer(), s.getBuffer()+s.length(), e, fmt, flags); return result; } inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, const U_NAMESPACE_QUALIFIER UnicodeString& fmt, match_flag_type flags = match_default) { U_NAMESPACE_QUALIFIER UnicodeString result; BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result); BOOST_REGEX_DETAIL_NS::do_regex_replace( BOOST_REGEX_DETAIL_NS::make_utf32_out(i, static_cast const*>(0)), BOOST_REGEX_DETAIL_NS::make_utf32_seq(s.getBuffer(), s.getBuffer()+s.length(), static_cast const*>(0)), e, BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast const*>(0)), flags); return result; } } // namespace boost. #ifdef BOOST_REGEX_MSVC #pragma warning (pop) #endif #include #include #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/iterator_category.hpp ================================================ /* * * Copyright (c) 2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_match.hpp * VERSION see * DESCRIPTION: Iterator traits for selecting an iterator type as * an integral constant expression. */ #ifndef BOOST_REGEX_ITERATOR_CATEGORY_HPP #define BOOST_REGEX_ITERATOR_CATEGORY_HPP #include #include namespace boost{ namespace detail{ template struct is_random_imp { private: typedef typename std::iterator_traits::iterator_category cat; public: static const bool value = (std::is_convertible::value); }; template struct is_random_pointer_imp { static const bool value = true; }; template struct is_random_imp_selector { template struct rebind { typedef is_random_imp type; }; }; template <> struct is_random_imp_selector { template struct rebind { typedef is_random_pointer_imp type; }; }; } template struct is_random_access_iterator { private: typedef detail::is_random_imp_selector< std::is_pointer::value> selector; typedef typename selector::template rebind bound_type; typedef typename bound_type::type answer; public: static const bool value = answer::value; }; template const bool is_random_access_iterator::value; } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/iterator_traits.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE iterator_traits.cpp * VERSION see * DESCRIPTION: Declares iterator traits workarounds. */ #ifndef BOOST_REGEX_V5_ITERATOR_TRAITS_HPP #define BOOST_REGEX_V5_ITERATOR_TRAITS_HPP namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ template struct regex_iterator_traits : public std::iterator_traits {}; } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/match_flags.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE match_flags.hpp * VERSION see * DESCRIPTION: Declares match_flags type. */ #ifndef BOOST_REGEX_V5_MATCH_FLAGS #define BOOST_REGEX_V5_MATCH_FLAGS #ifdef __cplusplus # include #endif #ifdef __cplusplus namespace boost{ namespace regex_constants{ #endif #ifdef BOOST_REGEX_MSVC #pragma warning(push) #if BOOST_REGEX_MSVC >= 1800 #pragma warning(disable : 26812) #endif #endif typedef enum _match_flags { match_default = 0, match_not_bol = 1, /* first is not start of line */ match_not_eol = match_not_bol << 1, /* last is not end of line */ match_not_bob = match_not_eol << 1, /* first is not start of buffer */ match_not_eob = match_not_bob << 1, /* last is not end of buffer */ match_not_bow = match_not_eob << 1, /* first is not start of word */ match_not_eow = match_not_bow << 1, /* last is not end of word */ match_not_dot_newline = match_not_eow << 1, /* \n is not matched by '.' */ match_not_dot_null = match_not_dot_newline << 1, /* '\0' is not matched by '.' */ match_prev_avail = match_not_dot_null << 1, /* *--first is a valid expression */ match_init = match_prev_avail << 1, /* internal use */ match_any = match_init << 1, /* don't care what we match */ match_not_null = match_any << 1, /* string can't be null */ match_continuous = match_not_null << 1, /* each grep match must continue from */ /* uninterrupted from the previous one */ match_partial = match_continuous << 1, /* find partial matches */ match_stop = match_partial << 1, /* stop after first match (grep) V3 only */ match_not_initial_null = match_stop, /* don't match initial null, V4 only */ match_all = match_stop << 1, /* must find the whole of input even if match_any is set */ match_perl = match_all << 1, /* Use perl matching rules */ match_posix = match_perl << 1, /* Use POSIX matching rules */ match_nosubs = match_posix << 1, /* don't trap marked subs */ match_extra = match_nosubs << 1, /* include full capture information for repeated captures */ match_single_line = match_extra << 1, /* treat text as single line and ignore any \n's when matching ^ and $. */ match_unused1 = match_single_line << 1, /* unused */ match_unused2 = match_unused1 << 1, /* unused */ match_unused3 = match_unused2 << 1, /* unused */ match_max = match_unused3, format_perl = 0, /* perl style replacement */ format_default = 0, /* ditto. */ format_sed = match_max << 1, /* sed style replacement. */ format_all = format_sed << 1, /* enable all extensions to syntax. */ format_no_copy = format_all << 1, /* don't copy non-matching segments. */ format_first_only = format_no_copy << 1, /* Only replace first occurrence. */ format_is_if = format_first_only << 1, /* internal use only. */ format_literal = format_is_if << 1, /* treat string as a literal */ match_not_any = match_not_bol | match_not_eol | match_not_bob | match_not_eob | match_not_bow | match_not_eow | match_not_dot_newline | match_not_dot_null | match_prev_avail | match_init | match_not_null | match_continuous | match_partial | match_stop | match_not_initial_null | match_stop | match_all | match_perl | match_posix | match_nosubs | match_extra | match_single_line | match_unused1 | match_unused2 | match_unused3 | match_max | format_perl | format_default | format_sed | format_all | format_no_copy | format_first_only | format_is_if | format_literal } match_flags; typedef match_flags match_flag_type; #ifdef __cplusplus inline match_flags operator&(match_flags m1, match_flags m2) { return static_cast(static_cast(m1) & static_cast(m2)); } inline match_flags operator|(match_flags m1, match_flags m2) { return static_cast(static_cast(m1) | static_cast(m2)); } inline match_flags operator^(match_flags m1, match_flags m2) { return static_cast(static_cast(m1) ^ static_cast(m2)); } inline match_flags operator~(match_flags m1) { return static_cast(~static_cast(m1)); } inline match_flags& operator&=(match_flags& m1, match_flags m2) { m1 = m1&m2; return m1; } inline match_flags& operator|=(match_flags& m1, match_flags m2) { m1 = m1|m2; return m1; } inline match_flags& operator^=(match_flags& m1, match_flags m2) { m1 = m1^m2; return m1; } #endif #ifdef __cplusplus } /* namespace regex_constants */ /* * import names into boost for backwards compatibility: */ using regex_constants::match_flag_type; using regex_constants::match_default; using regex_constants::match_not_bol; using regex_constants::match_not_eol; using regex_constants::match_not_bob; using regex_constants::match_not_eob; using regex_constants::match_not_bow; using regex_constants::match_not_eow; using regex_constants::match_not_dot_newline; using regex_constants::match_not_dot_null; using regex_constants::match_prev_avail; /* using regex_constants::match_init; */ using regex_constants::match_any; using regex_constants::match_not_null; using regex_constants::match_continuous; using regex_constants::match_partial; /*using regex_constants::match_stop; */ using regex_constants::match_all; using regex_constants::match_perl; using regex_constants::match_posix; using regex_constants::match_nosubs; using regex_constants::match_extra; using regex_constants::match_single_line; /*using regex_constants::match_max; */ using regex_constants::format_all; using regex_constants::format_sed; using regex_constants::format_perl; using regex_constants::format_default; using regex_constants::format_no_copy; using regex_constants::format_first_only; /*using regex_constants::format_is_if;*/ #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } /* namespace boost */ #endif /* __cplusplus */ #endif /* include guard */ ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/match_results.hpp ================================================ /* * * Copyright (c) 1998-2009 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE match_results.cpp * VERSION see * DESCRIPTION: Declares template class match_results. */ #ifndef BOOST_REGEX_V5_MATCH_RESULTS_HPP #define BOOST_REGEX_V5_MATCH_RESULTS_HPP namespace boost{ #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable : 4251 4459) #if BOOST_REGEX_MSVC < 1700 # pragma warning(disable : 4231) #endif # if BOOST_REGEX_MSVC < 1600 # pragma warning(disable : 4660) # endif #endif namespace BOOST_REGEX_DETAIL_NS{ class named_subexpressions; } template class match_results { private: typedef std::vector, Allocator> vector_type; public: typedef sub_match value_type; typedef typename std::allocator_traits::value_type const & const_reference; typedef const_reference reference; typedef typename vector_type::const_iterator const_iterator; typedef const_iterator iterator; typedef typename std::iterator_traits< BidiIterator>::difference_type difference_type; typedef typename std::allocator_traits::size_type size_type; typedef Allocator allocator_type; typedef typename std::iterator_traits< BidiIterator>::value_type char_type; typedef std::basic_string string_type; typedef BOOST_REGEX_DETAIL_NS::named_subexpressions named_sub_type; // construct/copy/destroy: explicit match_results(const Allocator& a = Allocator()) : m_subs(a), m_base(), m_null(), m_last_closed_paren(0), m_is_singular(true) {} // // IMPORTANT: in the code below, the crazy looking checks around m_is_singular are // all required because it is illegal to copy a singular iterator. // See https://svn.boost.org/trac/boost/ticket/3632. // match_results(const match_results& m) : m_subs(m.m_subs), m_base(), m_null(), m_named_subs(m.m_named_subs), m_last_closed_paren(m.m_last_closed_paren), m_is_singular(m.m_is_singular) { if(!m_is_singular) { m_base = m.m_base; m_null = m.m_null; } } match_results& operator=(const match_results& m) { m_subs = m.m_subs; m_named_subs = m.m_named_subs; m_last_closed_paren = m.m_last_closed_paren; m_is_singular = m.m_is_singular; if(!m_is_singular) { m_base = m.m_base; m_null = m.m_null; } return *this; } ~match_results(){} // size: size_type size() const { return empty() ? 0 : m_subs.size() - 2; } size_type max_size() const { return m_subs.max_size(); } bool empty() const { return m_subs.size() < 2; } // element access: difference_type length(int sub = 0) const { if(m_is_singular) raise_logic_error(); sub += 2; if((sub < (int)m_subs.size()) && (sub > 0)) return m_subs[sub].length(); return 0; } difference_type length(const char_type* sub) const { if(m_is_singular) raise_logic_error(); const char_type* sub_end = sub; while(*sub_end) ++sub_end; return length(named_subexpression_index(sub, sub_end)); } template difference_type length(const charT* sub) const { if(m_is_singular) raise_logic_error(); const charT* sub_end = sub; while(*sub_end) ++sub_end; return length(named_subexpression_index(sub, sub_end)); } template difference_type length(const std::basic_string& sub) const { return length(sub.c_str()); } difference_type position(size_type sub = 0) const { if(m_is_singular) raise_logic_error(); sub += 2; if(sub < m_subs.size()) { const sub_match& s = m_subs[sub]; if(s.matched || (sub == 2)) { return std::distance((BidiIterator)(m_base), (BidiIterator)(s.first)); } } return ~static_cast(0); } difference_type position(const char_type* sub) const { const char_type* sub_end = sub; while(*sub_end) ++sub_end; return position(named_subexpression_index(sub, sub_end)); } template difference_type position(const charT* sub) const { const charT* sub_end = sub; while(*sub_end) ++sub_end; return position(named_subexpression_index(sub, sub_end)); } template difference_type position(const std::basic_string& sub) const { return position(sub.c_str()); } string_type str(int sub = 0) const { if(m_is_singular) raise_logic_error(); sub += 2; string_type result; if(sub < (int)m_subs.size() && (sub > 0)) { const sub_match& s = m_subs[sub]; if(s.matched) { result = s.str(); } } return result; } string_type str(const char_type* sub) const { return (*this)[sub].str(); } template string_type str(const std::basic_string& sub) const { return (*this)[sub].str(); } template string_type str(const charT* sub) const { return (*this)[sub].str(); } template string_type str(const std::basic_string& sub) const { return (*this)[sub].str(); } const_reference operator[](int sub) const { if(m_is_singular && m_subs.empty()) raise_logic_error(); sub += 2; if(sub < (int)m_subs.size() && (sub >= 0)) { return m_subs[sub]; } return m_null; } // // Named sub-expressions: // const_reference named_subexpression(const char_type* i, const char_type* j) const { // // Scan for the leftmost *matched* subexpression with the specified named: // if(m_is_singular) raise_logic_error(); BOOST_REGEX_DETAIL_NS::named_subexpressions::range_type r = m_named_subs->equal_range(i, j); while((r.first != r.second) && ((*this)[r.first->index].matched == false)) ++r.first; return r.first != r.second ? (*this)[r.first->index] : m_null; } template const_reference named_subexpression(const charT* i, const charT* j) const { static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(i == j) return m_null; std::vector s; while(i != j) s.insert(s.end(), *i++); return named_subexpression(&*s.begin(), &*s.begin() + s.size()); } int named_subexpression_index(const char_type* i, const char_type* j) const { // // Scan for the leftmost *matched* subexpression with the specified named. // If none found then return the leftmost expression with that name, // otherwise an invalid index: // if(m_is_singular) raise_logic_error(); BOOST_REGEX_DETAIL_NS::named_subexpressions::range_type s, r; s = r = m_named_subs->equal_range(i, j); while((r.first != r.second) && ((*this)[r.first->index].matched == false)) ++r.first; if(r.first == r.second) r = s; return r.first != r.second ? r.first->index : -20; } template int named_subexpression_index(const charT* i, const charT* j) const { static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(i == j) return -20; std::vector s; while(i != j) s.insert(s.end(), *i++); return named_subexpression_index(&*s.begin(), &*s.begin() + s.size()); } template const_reference operator[](const std::basic_string& s) const { return named_subexpression(s.c_str(), s.c_str() + s.size()); } const_reference operator[](const char_type* p) const { const char_type* e = p; while(*e) ++e; return named_subexpression(p, e); } template const_reference operator[](const charT* p) const { static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(*p == 0) return m_null; std::vector s; while(*p) s.insert(s.end(), *p++); return named_subexpression(&*s.begin(), &*s.begin() + s.size()); } template const_reference operator[](const std::basic_string& ns) const { static_assert(sizeof(charT) <= sizeof(char_type), "Failed internal logic"); if(ns.empty()) return m_null; std::vector s; for(unsigned i = 0; i < ns.size(); ++i) s.insert(s.end(), ns[i]); return named_subexpression(&*s.begin(), &*s.begin() + s.size()); } const_reference prefix() const { if(m_is_singular) raise_logic_error(); return (*this)[-1]; } const_reference suffix() const { if(m_is_singular) raise_logic_error(); return (*this)[-2]; } const_iterator begin() const { return (m_subs.size() > 2) ? (m_subs.begin() + 2) : m_subs.end(); } const_iterator end() const { return m_subs.end(); } // format: template OutputIterator format(OutputIterator out, Functor fmt, match_flag_type flags = format_default) const { if(m_is_singular) raise_logic_error(); typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type, OutputIterator>::type F; F func(fmt); return func(*this, out, flags); } template string_type format(Functor fmt, match_flag_type flags = format_default) const { if(m_is_singular) raise_logic_error(); std::basic_string result; BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type, BOOST_REGEX_DETAIL_NS::string_out_iterator > >::type F; F func(fmt); func(*this, i, flags); return result; } // format with locale: template OutputIterator format(OutputIterator out, Functor fmt, match_flag_type flags, const RegexT& re) const { if(m_is_singular) raise_logic_error(); typedef ::boost::regex_traits_wrapper traits_type; typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type, OutputIterator, traits_type>::type F; F func(fmt); return func(*this, out, flags, re.get_traits()); } template string_type format(Functor fmt, match_flag_type flags, const RegexT& re) const { if(m_is_singular) raise_logic_error(); typedef ::boost::regex_traits_wrapper traits_type; std::basic_string result; BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type, BOOST_REGEX_DETAIL_NS::string_out_iterator >, traits_type >::type F; F func(fmt); func(*this, i, flags, re.get_traits()); return result; } const_reference get_last_closed_paren()const { if(m_is_singular) raise_logic_error(); return m_last_closed_paren == 0 ? m_null : (*this)[m_last_closed_paren]; } allocator_type get_allocator() const { return m_subs.get_allocator(); } void swap(match_results& that) { std::swap(m_subs, that.m_subs); std::swap(m_named_subs, that.m_named_subs); std::swap(m_last_closed_paren, that.m_last_closed_paren); if(m_is_singular) { if(!that.m_is_singular) { m_base = that.m_base; m_null = that.m_null; } } else if(that.m_is_singular) { that.m_base = m_base; that.m_null = m_null; } else { std::swap(m_base, that.m_base); std::swap(m_null, that.m_null); } std::swap(m_is_singular, that.m_is_singular); } bool operator==(const match_results& that)const { if(m_is_singular) { return that.m_is_singular; } else if(that.m_is_singular) { return false; } return (m_subs == that.m_subs) && (m_base == that.m_base) && (m_last_closed_paren == that.m_last_closed_paren); } bool operator!=(const match_results& that)const { return !(*this == that); } #ifdef BOOST_REGEX_MATCH_EXTRA typedef typename sub_match::capture_sequence_type capture_sequence_type; const capture_sequence_type& captures(int i)const { if(m_is_singular) raise_logic_error(); return (*this)[i].captures(); } #endif // // private access functions: void set_second(BidiIterator i) { BOOST_REGEX_ASSERT(m_subs.size() > 2); m_subs[2].second = i; m_subs[2].matched = true; m_subs[0].first = i; m_subs[0].matched = (m_subs[0].first != m_subs[0].second); m_null.first = i; m_null.second = i; m_null.matched = false; m_is_singular = false; } void set_second(BidiIterator i, size_type pos, bool m = true, bool escape_k = false) { if(pos) m_last_closed_paren = static_cast(pos); pos += 2; BOOST_REGEX_ASSERT(m_subs.size() > pos); m_subs[pos].second = i; m_subs[pos].matched = m; if((pos == 2) && !escape_k) { m_subs[0].first = i; m_subs[0].matched = (m_subs[0].first != m_subs[0].second); m_null.first = i; m_null.second = i; m_null.matched = false; m_is_singular = false; } } void set_size(size_type n, BidiIterator i, BidiIterator j) { value_type v(j); size_type len = m_subs.size(); if(len > n + 2) { m_subs.erase(m_subs.begin()+n+2, m_subs.end()); std::fill(m_subs.begin(), m_subs.end(), v); } else { std::fill(m_subs.begin(), m_subs.end(), v); if(n+2 != len) m_subs.insert(m_subs.end(), n+2-len, v); } m_subs[1].first = i; m_last_closed_paren = 0; } void set_base(BidiIterator pos) { m_base = pos; } BidiIterator base()const { return m_base; } void set_first(BidiIterator i) { BOOST_REGEX_ASSERT(m_subs.size() > 2); // set up prefix: m_subs[1].second = i; m_subs[1].matched = (m_subs[1].first != i); // set up $0: m_subs[2].first = i; // zero out everything else: for(size_type n = 3; n < m_subs.size(); ++n) { m_subs[n].first = m_subs[n].second = m_subs[0].second; m_subs[n].matched = false; } } void set_first(BidiIterator i, size_type pos, bool escape_k = false) { BOOST_REGEX_ASSERT(pos+2 < m_subs.size()); if(pos || escape_k) { m_subs[pos+2].first = i; if(escape_k) { m_subs[1].second = i; m_subs[1].matched = (m_subs[1].first != m_subs[1].second); } } else set_first(i); } void maybe_assign(const match_results& m); void set_named_subs(std::shared_ptr subs) { m_named_subs = subs; } private: // // Error handler called when an uninitialized match_results is accessed: // static void raise_logic_error() { std::logic_error e("Attempt to access an uninitialized boost::match_results<> class."); #ifndef BOOST_REGEX_STANDALONE boost::throw_exception(e); #else throw e; #endif } vector_type m_subs; // subexpressions BidiIterator m_base; // where the search started from sub_match m_null; // a null match std::shared_ptr m_named_subs; // Shared copy of named subs in the regex object int m_last_closed_paren; // Last ) to be seen - used for formatting bool m_is_singular; // True if our stored iterators are singular }; template void match_results::maybe_assign(const match_results& m) { if(m_is_singular) { *this = m; return; } const_iterator p1, p2; p1 = begin(); p2 = m.begin(); // // Distances are measured from the start of *this* match, unless this isn't // a valid match in which case we use the start of the whole sequence. Note that // no subsequent match-candidate can ever be to the left of the first match found. // This ensures that when we are using bidirectional iterators, that distances // measured are as short as possible, and therefore as efficient as possible // to compute. Finally note that we don't use the "matched" data member to test // whether a sub-expression is a valid match, because partial matches set this // to false for sub-expression 0. // BidiIterator l_end = this->suffix().second; BidiIterator l_base = (p1->first == l_end) ? this->prefix().first : (*this)[0].first; difference_type len1 = 0; difference_type len2 = 0; difference_type base1 = 0; difference_type base2 = 0; std::size_t i; for(i = 0; i < size(); ++i, ++p1, ++p2) { // // Leftmost takes priority over longest; handle special cases // where distances need not be computed first (an optimisation // for bidirectional iterators: ensure that we don't accidently // compute the length of the whole sequence, as this can be really // expensive). // if(p1->first == l_end) { if(p2->first != l_end) { // p2 must be better than p1, and no need to calculate // actual distances: base1 = 1; base2 = 0; break; } else { // *p1 and *p2 are either unmatched or match end-of sequence, // either way no need to calculate distances: if((p1->matched == false) && (p2->matched == true)) break; if((p1->matched == true) && (p2->matched == false)) return; continue; } } else if(p2->first == l_end) { // p1 better than p2, and no need to calculate distances: return; } base1 = std::distance(l_base, p1->first); base2 = std::distance(l_base, p2->first); BOOST_REGEX_ASSERT(base1 >= 0); BOOST_REGEX_ASSERT(base2 >= 0); if(base1 < base2) return; if(base2 < base1) break; len1 = std::distance((BidiIterator)p1->first, (BidiIterator)p1->second); len2 = std::distance((BidiIterator)p2->first, (BidiIterator)p2->second); BOOST_REGEX_ASSERT(len1 >= 0); BOOST_REGEX_ASSERT(len2 >= 0); if((len1 != len2) || ((p1->matched == false) && (p2->matched == true))) break; if((p1->matched == true) && (p2->matched == false)) return; } if(i == size()) return; if(base2 < base1) *this = m; else if((len2 > len1) || ((p1->matched == false) && (p2->matched == true)) ) *this = m; } template void swap(match_results& a, match_results& b) { a.swap(b); } template std::basic_ostream& operator << (std::basic_ostream& os, const match_results& s) { return (os << s.str()); } #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/mem_block_cache.hpp ================================================ /* * Copyright (c) 2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE mem_block_cache.hpp * VERSION see * DESCRIPTION: memory block cache used by the non-recursive matcher. */ #ifndef BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP #define BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP #include #ifdef BOOST_HAS_THREADS #include #endif #ifndef BOOST_NO_CXX11_HDR_ATOMIC #include #if ATOMIC_POINTER_LOCK_FREE == 2 #define BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE #define BOOST_REGEX_ATOMIC_POINTER std::atomic #endif #endif namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ #ifdef BOOST_REGEX_MEM_BLOCK_CACHE_LOCK_FREE /* lock free implementation */ struct mem_block_cache { std::atomic cache[BOOST_REGEX_MAX_CACHE_BLOCKS]; ~mem_block_cache() { for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { if (cache[i].load()) ::operator delete(cache[i].load()); } } void* get() { for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { void* p = cache[i].load(); if (p != NULL) { if (cache[i].compare_exchange_strong(p, NULL)) return p; } } return ::operator new(BOOST_REGEX_BLOCKSIZE); } void put(void* ptr) { for (size_t i = 0;i < BOOST_REGEX_MAX_CACHE_BLOCKS; ++i) { void* p = cache[i].load(); if (p == NULL) { if (cache[i].compare_exchange_strong(p, ptr)) return; } } ::operator delete(ptr); } static mem_block_cache& instance() { static mem_block_cache block_cache = { { {nullptr} } }; return block_cache; } }; #else /* lock-based implementation */ struct mem_block_node { mem_block_node* next; }; struct mem_block_cache { // this member has to be statically initialsed: mem_block_node* next { nullptr }; unsigned cached_blocks { 0 }; #ifdef BOOST_HAS_THREADS std::mutex mut; #endif ~mem_block_cache() { while(next) { mem_block_node* old = next; next = next->next; ::operator delete(old); } } void* get() { #ifdef BOOST_HAS_THREADS std::lock_guard g(mut); #endif if(next) { mem_block_node* result = next; next = next->next; --cached_blocks; return result; } return ::operator new(BOOST_REGEX_BLOCKSIZE); } void put(void* p) { #ifdef BOOST_HAS_THREADS std::lock_guard g(mut); #endif if(cached_blocks >= BOOST_REGEX_MAX_CACHE_BLOCKS) { ::operator delete(p); } else { mem_block_node* old = static_cast(p); old->next = next; next = old; ++cached_blocks; } } static mem_block_cache& instance() { static mem_block_cache block_cache; return block_cache; } }; #endif #if BOOST_REGEX_MAX_CACHE_BLOCKS == 0 inline void* get_mem_block() { return ::operator new(BOOST_REGEX_BLOCKSIZE); } inline void put_mem_block(void* p) { ::operator delete(p); } #else inline void* get_mem_block() { return mem_block_cache::instance().get(); } inline void put_mem_block(void* p) { mem_block_cache::instance().put(p); } #endif } } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/object_cache.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE object_cache.hpp * VERSION see * DESCRIPTION: Implements a generic object cache. */ #ifndef BOOST_REGEX_OBJECT_CACHE_HPP #define BOOST_REGEX_OBJECT_CACHE_HPP #include #include #include #include #include #include #ifdef BOOST_HAS_THREADS #include #endif namespace boost{ template class object_cache { public: typedef std::pair< ::std::shared_ptr, Key const*> value_type; typedef std::list list_type; typedef typename list_type::iterator list_iterator; typedef std::map map_type; typedef typename map_type::iterator map_iterator; typedef typename list_type::size_type size_type; static std::shared_ptr get(const Key& k, size_type l_max_cache_size); private: static std::shared_ptr do_get(const Key& k, size_type l_max_cache_size); struct data { list_type cont; map_type index; }; // Needed by compilers not implementing the resolution to DR45. For reference, // see http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#45. friend struct data; }; #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable: 4702) #endif template std::shared_ptr object_cache::get(const Key& k, size_type l_max_cache_size) { #ifdef BOOST_HAS_THREADS static std::mutex mut; std::lock_guard l(mut); return do_get(k, l_max_cache_size); #else return do_get(k, l_max_cache_size); #endif } #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif template std::shared_ptr object_cache::do_get(const Key& k, size_type l_max_cache_size) { typedef typename object_cache::data object_data; typedef typename map_type::size_type map_size_type; static object_data s_data; // // see if the object is already in the cache: // map_iterator mpos = s_data.index.find(k); if(mpos != s_data.index.end()) { // // Eureka! // We have a cached item, bump it up the list and return it: // if(--(s_data.cont.end()) != mpos->second) { // splice out the item we want to move: list_type temp; temp.splice(temp.end(), s_data.cont, mpos->second); // and now place it at the end of the list: s_data.cont.splice(s_data.cont.end(), temp, temp.begin()); BOOST_REGEX_ASSERT(*(s_data.cont.back().second) == k); // update index with new position: mpos->second = --(s_data.cont.end()); BOOST_REGEX_ASSERT(&(mpos->first) == mpos->second->second); BOOST_REGEX_ASSERT(&(mpos->first) == s_data.cont.back().second); } return s_data.cont.back().first; } // // if we get here then the item is not in the cache, // so create it: // std::shared_ptr result(new Object(k)); // // Add it to the list, and index it: // s_data.cont.push_back(value_type(result, static_cast(0))); s_data.index.insert(std::make_pair(k, --(s_data.cont.end()))); s_data.cont.back().second = &(s_data.index.find(k)->first); map_size_type s = s_data.index.size(); BOOST_REGEX_ASSERT(s_data.index[k]->first.get() == result.get()); BOOST_REGEX_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second); BOOST_REGEX_ASSERT(s_data.index.find(k)->first == k); if(s > l_max_cache_size) { // // We have too many items in the list, so we need to start // popping them off the back of the list, but only if they're // being held uniquely by us: // list_iterator pos = s_data.cont.begin(); list_iterator last = s_data.cont.end(); while((pos != last) && (s > l_max_cache_size)) { if(pos->first.use_count() == 1) { list_iterator condemmed(pos); ++pos; // now remove the items from our containers, // then order has to be as follows: BOOST_REGEX_ASSERT(s_data.index.find(*(condemmed->second)) != s_data.index.end()); s_data.index.erase(*(condemmed->second)); s_data.cont.erase(condemmed); --s; } else ++pos; } BOOST_REGEX_ASSERT(s_data.index[k]->first.get() == result.get()); BOOST_REGEX_ASSERT(&(s_data.index.find(k)->first) == s_data.cont.back().second); BOOST_REGEX_ASSERT(s_data.index.find(k)->first == k); } return result; } } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/pattern_except.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE pattern_except.hpp * VERSION see * DESCRIPTION: Declares pattern-matching exception classes. */ #ifndef BOOST_RE_V5_PAT_EXCEPT_HPP #define BOOST_RE_V5_PAT_EXCEPT_HPP #ifndef BOOST_REGEX_CONFIG_HPP #include #endif #include #include #include #include namespace boost{ #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable : 4275) #if BOOST_REGEX_MSVC >= 1800 #pragma warning(disable : 26812 4459) #endif #endif class regex_error : public std::runtime_error { public: explicit regex_error(const std::string& s, regex_constants::error_type err = regex_constants::error_unknown, std::ptrdiff_t pos = 0) : std::runtime_error(s) , m_error_code(err) , m_position(pos) { } explicit regex_error(regex_constants::error_type err) : std::runtime_error(::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(err)) , m_error_code(err) , m_position(0) { } ~regex_error() noexcept override {} regex_constants::error_type code()const { return m_error_code; } std::ptrdiff_t position()const { return m_position; } void raise()const { #ifndef BOOST_NO_EXCEPTIONS #ifndef BOOST_REGEX_STANDALONE ::boost::throw_exception(*this); #else throw* this; #endif #endif } private: regex_constants::error_type m_error_code; std::ptrdiff_t m_position; }; typedef regex_error bad_pattern; typedef regex_error bad_expression; namespace BOOST_REGEX_DETAIL_NS{ template inline void raise_runtime_error(const E& ex) { #ifndef BOOST_REGEX_STANDALONE ::boost::throw_exception(ex); #else throw ex; #endif } template void raise_error(const traits& t, regex_constants::error_type code) { (void)t; // warning suppression regex_error e(t.error_string(code), code, 0); ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(e); } } #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/perl_matcher.hpp ================================================ /* * * Copyright (c) 2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ #ifndef BOOST_REGEX_MATCHER_HPP #define BOOST_REGEX_MATCHER_HPP #include #ifdef BOOST_REGEX_MSVC # pragma warning(push) #pragma warning(disable : 4251 4459) #if BOOST_REGEX_MSVC < 1700 # pragma warning(disable : 4231) #endif # if BOOST_REGEX_MSVC < 1600 # pragma warning(disable : 4660) # endif #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ // // error checking API: // inline void verify_options(boost::regex_constants::syntax_option_type, match_flag_type mf) { // // can't mix match_extra with POSIX matching rules: // if ((mf & match_extra) && (mf & match_posix)) { std::logic_error msg("Usage Error: Can't mix regular expression captures with POSIX matching rules"); #ifndef BOOST_REGEX_STANDALONE throw_exception(msg); #else throw msg; #endif } } // // function can_start: // template inline bool can_start(charT c, const unsigned char* map, unsigned char mask) { return ((c < static_cast(0)) ? true : ((c >= static_cast(1 << CHAR_BIT)) ? true : map[c] & mask)); } inline bool can_start(char c, const unsigned char* map, unsigned char mask) { return map[(unsigned char)c] & mask; } inline bool can_start(signed char c, const unsigned char* map, unsigned char mask) { return map[(unsigned char)c] & mask; } inline bool can_start(unsigned char c, const unsigned char* map, unsigned char mask) { return map[c] & mask; } inline bool can_start(unsigned short c, const unsigned char* map, unsigned char mask) { return ((c >= (1 << CHAR_BIT)) ? true : map[c] & mask); } #if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) inline bool can_start(wchar_t c, const unsigned char* map, unsigned char mask) { return ((c >= static_cast(1u << CHAR_BIT)) ? true : map[c] & mask); } #endif #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) inline bool can_start(unsigned int c, const unsigned char* map, unsigned char mask) { return (((c >= static_cast(1u << CHAR_BIT)) ? true : map[c] & mask)); } #endif template inline int string_compare(const std::basic_string& s, const C* p) { if(0 == *p) { if(s.empty() || ((s.size() == 1) && (s[0] == 0))) return 0; } return s.compare(p); } template inline int string_compare(const Seq& s, const C* p) { std::size_t i = 0; while((i < s.size()) && (p[i] == s[i])) { ++i; } return (i == s.size()) ? -(int)p[i] : (int)s[i] - (int)p[i]; } # define STR_COMP(s,p) string_compare(s,p) template inline const charT* re_skip_past_null(const charT* p) { while (*p != static_cast(0)) ++p; return ++p; } template iterator re_is_set_member(iterator next, iterator last, const re_set_long* set_, const regex_data& e, bool icase) { const charT* p = reinterpret_cast(set_+1); iterator ptr; unsigned int i; //bool icase = e.m_flags & regex_constants::icase; if(next == last) return next; typedef typename traits_type::string_type traits_string_type; const ::boost::regex_traits_wrapper& traits_inst = *(e.m_ptraits); // dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never // referenced (void)traits_inst; // try and match a single character, could be a multi-character // collating element... for(i = 0; i < set_->csingles; ++i) { ptr = next; if(*p == static_cast(0)) { // treat null string as special case: if(traits_inst.translate(*ptr, icase)) { ++p; continue; } return set_->isnot ? next : (ptr == next) ? ++next : ptr; } else { while(*p && (ptr != last)) { if(traits_inst.translate(*ptr, icase) != *p) break; ++p; ++ptr; } if(*p == static_cast(0)) // if null we've matched return set_->isnot ? next : (ptr == next) ? ++next : ptr; p = re_skip_past_null(p); // skip null } } charT col = traits_inst.translate(*next, icase); if(set_->cranges || set_->cequivalents) { traits_string_type s1; // // try and match a range, NB only a single character can match if(set_->cranges) { if((e.m_flags & regex_constants::collate) == 0) s1.assign(1, col); else { charT a[2] = { col, charT(0), }; s1 = traits_inst.transform(a, a + 1); } for(i = 0; i < set_->cranges; ++i) { if(STR_COMP(s1, p) >= 0) { do{ ++p; }while(*p); ++p; if(STR_COMP(s1, p) <= 0) return set_->isnot ? next : ++next; } else { // skip first string do{ ++p; }while(*p); ++p; } // skip second string do{ ++p; }while(*p); ++p; } } // // try and match an equivalence class, NB only a single character can match if(set_->cequivalents) { charT a[2] = { col, charT(0), }; s1 = traits_inst.transform_primary(a, a +1); for(i = 0; i < set_->cequivalents; ++i) { if(STR_COMP(s1, p) == 0) return set_->isnot ? next : ++next; // skip string do{ ++p; }while(*p); ++p; } } } if(traits_inst.isctype(col, set_->cclasses) == true) return set_->isnot ? next : ++next; if((set_->cnclasses != 0) && (traits_inst.isctype(col, set_->cnclasses) == false)) return set_->isnot ? next : ++next; return set_->isnot ? ++next : next; } template class repeater_count { repeater_count** stack; repeater_count* next; int state_id; std::size_t count; // the number of iterations so far BidiIterator start_pos; // where the last repeat started repeater_count* unwind_until(int n, repeater_count* p, int current_recursion_id) { while(p && (p->state_id != n)) { if(-2 - current_recursion_id == p->state_id) return 0; p = p->next; if(p && (p->state_id < 0)) { p = unwind_until(p->state_id, p, current_recursion_id); if(!p) return p; p = p->next; } } return p; } public: repeater_count(repeater_count** s) : stack(s), next(0), state_id(-1), count(0), start_pos() {} repeater_count(int i, repeater_count** s, BidiIterator start, int current_recursion_id) : start_pos(start) { state_id = i; stack = s; next = *stack; *stack = this; if((state_id > next->state_id) && (next->state_id >= 0)) count = 0; else { repeater_count* p = next; p = unwind_until(state_id, p, current_recursion_id); if(p) { count = p->count; start_pos = p->start_pos; } else count = 0; } } ~repeater_count() { if(next) *stack = next; } std::size_t get_count() { return count; } int get_id() { return state_id; } std::size_t operator++() { return ++count; } bool check_null_repeat(const BidiIterator& pos, std::size_t max) { // this is called when we are about to start a new repeat, // if the last one was NULL move our count to max, // otherwise save the current position. bool result = (count == 0) ? false : (pos == start_pos); if(result) count = max; else start_pos = pos; return result; } }; struct saved_state; enum saved_state_type { saved_type_end = 0, saved_type_paren = 1, saved_type_recurse = 2, saved_type_assertion = 3, saved_state_alt = 4, saved_state_repeater_count = 5, saved_state_extra_block = 6, saved_state_greedy_single_repeat = 7, saved_state_rep_slow_dot = 8, saved_state_rep_fast_dot = 9, saved_state_rep_char = 10, saved_state_rep_short_set = 11, saved_state_rep_long_set = 12, saved_state_non_greedy_long_repeat = 13, saved_state_count = 14 }; #ifdef BOOST_REGEX_MSVC # pragma warning(push) #if BOOST_REGEX_MSVC >= 1800 #pragma warning(disable:26495) #endif #endif template struct recursion_info { typedef typename Results::value_type value_type; typedef typename value_type::iterator iterator; int idx; const re_syntax_base* preturn_address; Results results; repeater_count* repeater_stack; iterator location_of_start; }; #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif template class perl_matcher { public: typedef typename traits::char_type char_type; typedef perl_matcher self_type; typedef bool (self_type::*matcher_proc_type)(); typedef std::size_t traits_size_type; typedef typename is_byte::width_type width_type; typedef typename std::iterator_traits::difference_type difference_type; typedef match_results results_type; perl_matcher(BidiIterator first, BidiIterator end, match_results& what, const basic_regex& e, match_flag_type f, BidiIterator l_base) : m_result(what), base(first), last(end), position(first), backstop(l_base), re(e), traits_inst(e.get_traits()), m_independent(false), next_count(&rep_obj), rep_obj(&next_count) , m_recursions(0) { construct_init(e, f); } bool match(); bool find(); void setf(match_flag_type f) { m_match_flags |= f; } void unsetf(match_flag_type f) { m_match_flags &= ~f; } private: void construct_init(const basic_regex& e, match_flag_type f); bool find_imp(); bool match_imp(); void estimate_max_state_count(std::random_access_iterator_tag*); void estimate_max_state_count(void*); bool match_prefix(); bool match_all_states(); // match procs, stored in s_match_vtable: bool match_startmark(); bool match_endmark(); bool match_literal(); bool match_start_line(); bool match_end_line(); bool match_wild(); bool match_match(); bool match_word_boundary(); bool match_within_word(); bool match_word_start(); bool match_word_end(); bool match_buffer_start(); bool match_buffer_end(); bool match_backref(); bool match_long_set(); bool match_set(); bool match_jump(); bool match_alt(); bool match_rep(); bool match_combining(); bool match_soft_buffer_end(); bool match_restart_continue(); bool match_long_set_repeat(); bool match_set_repeat(); bool match_char_repeat(); bool match_dot_repeat_fast(); bool match_dot_repeat_slow(); bool match_dot_repeat_dispatch() { return ::boost::is_random_access_iterator::value ? match_dot_repeat_fast() : match_dot_repeat_slow(); } bool match_backstep(); bool match_assert_backref(); bool match_toggle_case(); bool match_recursion(); bool match_fail(); bool match_accept(); bool match_commit(); bool match_then(); bool skip_until_paren(int index, bool match = true); // find procs stored in s_find_vtable: bool find_restart_any(); bool find_restart_word(); bool find_restart_line(); bool find_restart_buf(); bool find_restart_lit(); private: // final result structure to be filled in: match_results& m_result; // temporary result for POSIX matches: std::unique_ptr > m_temp_match; // pointer to actual result structure to fill in: match_results* m_presult; // start of sequence being searched: BidiIterator base; // end of sequence being searched: BidiIterator last; // current character being examined: BidiIterator position; // where to restart next search after failed match attempt: BidiIterator restart; // where the current search started from, acts as base for $` during grep: BidiIterator search_base; // how far we can go back when matching lookbehind: BidiIterator backstop; // the expression being examined: const basic_regex& re; // the expression's traits class: const ::boost::regex_traits_wrapper& traits_inst; // the next state in the machine being matched: const re_syntax_base* pstate; // matching flags in use: match_flag_type m_match_flags; // how many states we have examined so far: std::ptrdiff_t state_count; // max number of states to examine before giving up: std::ptrdiff_t max_state_count; // whether we should ignore case or not: bool icase; // set to true when (position == last), indicates that we may have a partial match: bool m_has_partial_match; // set to true whenever we get a match: bool m_has_found_match; // set to true whenever we're inside an independent sub-expression: bool m_independent; // the current repeat being examined: repeater_count* next_count; // the first repeat being examined (top of linked list): repeater_count rep_obj; // the mask to pass when matching word boundaries: typename traits::char_class_type m_word_mask; // the bitmask to use when determining whether a match_any matches a newline or not: unsigned char match_any_mask; // recursion information: std::vector > recursion_stack; // // additional members for non-recursive version: // typedef bool (self_type::*unwind_proc_type)(bool); void extend_stack(); bool unwind(bool); bool unwind_end(bool); bool unwind_paren(bool); bool unwind_recursion_stopper(bool); bool unwind_assertion(bool); bool unwind_alt(bool); bool unwind_repeater_counter(bool); bool unwind_extra_block(bool); bool unwind_greedy_single_repeat(bool); bool unwind_slow_dot_repeat(bool); bool unwind_fast_dot_repeat(bool); bool unwind_char_repeat(bool); bool unwind_short_set_repeat(bool); bool unwind_long_set_repeat(bool); bool unwind_non_greedy_repeat(bool); bool unwind_recursion(bool); bool unwind_recursion_pop(bool); bool unwind_commit(bool); bool unwind_then(bool); bool unwind_case(bool); void destroy_single_repeat(); void push_matched_paren(int index, const sub_match& sub); void push_recursion_stopper(); void push_assertion(const re_syntax_base* ps, bool positive); void push_alt(const re_syntax_base* ps); void push_repeater_count(int i, repeater_count** s); void push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id); void push_non_greedy_repeat(const re_syntax_base* ps); void push_recursion(int idx, const re_syntax_base* p, results_type* presults, results_type* presults2); void push_recursion_pop(); void push_case_change(bool); // pointer to base of stack: saved_state* m_stack_base; // pointer to current stack position: saved_state* m_backup_state; // how many memory blocks have we used up?: unsigned used_block_count; // determines what value to return when unwinding from recursion, // allows for mixed recursive/non-recursive algorithm: bool m_recursive_result; // We have unwound to a lookahead/lookbehind, used by COMMIT/PRUNE/SKIP: bool m_unwound_lookahead; // We have unwound to an alternative, used by THEN: bool m_unwound_alt; // We are unwinding a commit - used by independent subs to determine whether to stop there or carry on unwinding: //bool m_unwind_commit; // Recursion limit: unsigned m_recursions; #ifdef BOOST_REGEX_MSVC # pragma warning(push) #if BOOST_REGEX_MSVC >= 1800 #pragma warning(disable:26495) #endif #endif // these operations aren't allowed, so are declared private, // bodies are provided to keep explicit-instantiation requests happy: perl_matcher& operator=(const perl_matcher&) { return *this; } perl_matcher(const perl_matcher& that) : m_result(that.m_result), re(that.re), traits_inst(that.traits_inst), rep_obj(0) {} #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif }; } // namespace BOOST_REGEX_DETAIL_NS #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif } // namespace boost // // include the implementation of perl_matcher: // #include // this one has to be last: #include #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/perl_matcher_common.hpp ================================================ /* * * Copyright (c) 2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE perl_matcher_common.cpp * VERSION see * DESCRIPTION: Definitions of perl_matcher member functions that are * common to both the recursive and non-recursive versions. */ #ifndef BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP #define BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP #ifdef BOOST_REGEX_MSVC # pragma warning(push) #pragma warning(disable:4459) #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ #ifdef BOOST_REGEX_MSVC # pragma warning(push) #pragma warning(disable:26812) #endif template void perl_matcher::construct_init(const basic_regex& e, match_flag_type f) { typedef typename std::iterator_traits::iterator_category category; typedef typename basic_regex::flag_type expression_flag_type; if(e.empty()) { // precondition failure: e is not a valid regex. std::invalid_argument ex("Invalid regular expression object"); #ifndef BOOST_REGEX_STANDALONE boost::throw_exception(ex); #else throw e; #endif } pstate = 0; m_match_flags = f; estimate_max_state_count(static_cast(0)); expression_flag_type re_f = re.flags(); icase = re_f & regex_constants::icase; if(!(m_match_flags & (match_perl|match_posix))) { if((re_f & (regbase::main_option_type|regbase::no_perl_ex)) == 0) m_match_flags |= match_perl; else if((re_f & (regbase::main_option_type|regbase::emacs_ex)) == (regbase::basic_syntax_group|regbase::emacs_ex)) m_match_flags |= match_perl; else if((re_f & (regbase::main_option_type|regbase::literal)) == (regbase::literal)) m_match_flags |= match_perl; else m_match_flags |= match_posix; } if(m_match_flags & match_posix) { m_temp_match.reset(new match_results()); m_presult = m_temp_match.get(); } else m_presult = &m_result; m_stack_base = 0; m_backup_state = 0; // find the value to use for matching word boundaries: m_word_mask = re.get_data().m_word_mask; // find bitmask to use for matching '.': match_any_mask = static_cast((f & match_not_dot_newline) ? BOOST_REGEX_DETAIL_NS::test_not_newline : BOOST_REGEX_DETAIL_NS::test_newline); // Disable match_any if requested in the state machine: if(e.get_data().m_disable_match_any) m_match_flags &= regex_constants::match_not_any; } #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif template void perl_matcher::estimate_max_state_count(std::random_access_iterator_tag*) { // // How many states should we allow our machine to visit before giving up? // This is a heuristic: it takes the greater of O(N^2) and O(NS^2) // where N is the length of the string, and S is the number of states // in the machine. It's tempting to up this to O(N^2S) or even O(N^2S^2) // but these take unreasonably amounts of time to bale out in pathological // cases. // // Calculate NS^2 first: // static const std::ptrdiff_t k = 100000; std::ptrdiff_t dist = std::distance(base, last); if(dist == 0) dist = 1; std::ptrdiff_t states = re.size(); if(states == 0) states = 1; if ((std::numeric_limits::max)() / states < states) { max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits::max)() - 2); return; } states *= states; if((std::numeric_limits::max)() / dist < states) { max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits::max)() - 2); return; } states *= dist; if((std::numeric_limits::max)() - k < states) { max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits::max)() - 2); return; } states += k; max_state_count = states; // // Now calculate N^2: // states = dist; if((std::numeric_limits::max)() / dist < states) { max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits::max)() - 2); return; } states *= dist; if((std::numeric_limits::max)() - k < states) { max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits::max)() - 2); return; } states += k; // // N^2 can be a very large number indeed, to prevent things getting out // of control, cap the max states: // if(states > BOOST_REGEX_MAX_STATE_COUNT) states = BOOST_REGEX_MAX_STATE_COUNT; // // If (the possibly capped) N^2 is larger than our first estimate, // use this instead: // if(states > max_state_count) max_state_count = states; } template inline void perl_matcher::estimate_max_state_count(void*) { // we don't know how long the sequence is: max_state_count = BOOST_REGEX_MAX_STATE_COUNT; } template inline bool perl_matcher::match() { return match_imp(); } template bool perl_matcher::match_imp() { // initialise our stack if we are non-recursive: save_state_init init(&m_stack_base, &m_backup_state); used_block_count = BOOST_REGEX_MAX_BLOCKS; #if !defined(BOOST_NO_EXCEPTIONS) try{ #endif // reset our state machine: position = base; search_base = base; state_count = 0; m_match_flags |= regex_constants::match_all; m_presult->set_size((m_match_flags & match_nosubs) ? 1u : static_cast(1u + re.mark_count()), search_base, last); m_presult->set_base(base); m_presult->set_named_subs(this->re.get_named_subs()); if(m_match_flags & match_posix) m_result = *m_presult; verify_options(re.flags(), m_match_flags); if(0 == match_prefix()) return false; return (m_result[0].second == last) && (m_result[0].first == base); #if !defined(BOOST_NO_EXCEPTIONS) } catch(...) { // unwind all pushed states, apart from anything else this // ensures that all the states are correctly destructed // not just the memory freed. while(unwind(true)){} throw; } #endif } template inline bool perl_matcher::find() { return find_imp(); } template bool perl_matcher::find_imp() { static matcher_proc_type const s_find_vtable[7] = { &perl_matcher::find_restart_any, &perl_matcher::find_restart_word, &perl_matcher::find_restart_line, &perl_matcher::find_restart_buf, &perl_matcher::match_prefix, &perl_matcher::find_restart_lit, &perl_matcher::find_restart_lit, }; // initialise our stack if we are non-recursive: save_state_init init(&m_stack_base, &m_backup_state); used_block_count = BOOST_REGEX_MAX_BLOCKS; #if !defined(BOOST_NO_EXCEPTIONS) try{ #endif state_count = 0; if((m_match_flags & regex_constants::match_init) == 0) { // reset our state machine: search_base = position = base; pstate = re.get_first_state(); m_presult->set_size((m_match_flags & match_nosubs) ? 1u : static_cast(1u + re.mark_count()), base, last); m_presult->set_base(base); m_presult->set_named_subs(this->re.get_named_subs()); m_match_flags |= regex_constants::match_init; } else { // start again: search_base = position = m_result[0].second; // If last match was null and match_not_null was not set then increment // our start position, otherwise we go into an infinite loop: if(((m_match_flags & match_not_null) == 0) && (m_result.length() == 0)) { if(position == last) return false; else ++position; } // reset $` start: m_presult->set_size((m_match_flags & match_nosubs) ? 1u : static_cast(1u + re.mark_count()), search_base, last); //if((base != search_base) && (base == backstop)) // m_match_flags |= match_prev_avail; } if(m_match_flags & match_posix) { m_result.set_size(static_cast(1u + re.mark_count()), base, last); m_result.set_base(base); } verify_options(re.flags(), m_match_flags); // find out what kind of expression we have: unsigned type = (m_match_flags & match_continuous) ? static_cast(regbase::restart_continue) : static_cast(re.get_restart_type()); // call the appropriate search routine: matcher_proc_type proc = s_find_vtable[type]; return (this->*proc)(); #if !defined(BOOST_NO_EXCEPTIONS) } catch(...) { // unwind all pushed states, apart from anything else this // ensures that all the states are correctly destructed // not just the memory freed. while(unwind(true)){} throw; } #endif } template bool perl_matcher::match_prefix() { m_has_partial_match = false; m_has_found_match = false; pstate = re.get_first_state(); m_presult->set_first(position); restart = position; match_all_states(); if(!m_has_found_match && m_has_partial_match && (m_match_flags & match_partial)) { m_has_found_match = true; m_presult->set_second(last, 0, false); position = last; if((m_match_flags & match_posix) == match_posix) { m_result.maybe_assign(*m_presult); } } #ifdef BOOST_REGEX_MATCH_EXTRA if(m_has_found_match && (match_extra & m_match_flags)) { // // we have a match, reverse the capture information: // for(unsigned i = 0; i < m_presult->size(); ++i) { typename sub_match::capture_sequence_type & seq = ((*m_presult)[i]).get_captures(); std::reverse(seq.begin(), seq.end()); } } #endif if(!m_has_found_match) position = restart; // reset search postion return m_has_found_match; } template bool perl_matcher::match_literal() { unsigned int len = static_cast(pstate)->length; const char_type* what = reinterpret_cast(static_cast(pstate) + 1); // // compare string with what we stored in // our records: for(unsigned int i = 0; i < len; ++i, ++position) { if((position == last) || (traits_inst.translate(*position, icase) != what[i])) return false; } pstate = pstate->next.p; return true; } template bool perl_matcher::match_start_line() { if(position == backstop) { if((m_match_flags & match_prev_avail) == 0) { if((m_match_flags & match_not_bol) == 0) { pstate = pstate->next.p; return true; } return false; } } else if(m_match_flags & match_single_line) return false; // check the previous value character: BidiIterator t(position); --t; if(position != last) { if(is_separator(*t) && !((*t == static_cast('\r')) && (*position == static_cast('\n'))) ) { pstate = pstate->next.p; return true; } } else if(is_separator(*t)) { pstate = pstate->next.p; return true; } return false; } template bool perl_matcher::match_end_line() { if(position != last) { if(m_match_flags & match_single_line) return false; // we're not yet at the end so *first is always valid: if(is_separator(*position)) { if((position != backstop) || (m_match_flags & match_prev_avail)) { // check that we're not in the middle of \r\n sequence BidiIterator t(position); --t; if((*t == static_cast('\r')) && (*position == static_cast('\n'))) { return false; } } pstate = pstate->next.p; return true; } } else if((m_match_flags & match_not_eol) == 0) { pstate = pstate->next.p; return true; } return false; } template bool perl_matcher::match_wild() { if(position == last) return false; if(is_separator(*position) && ((match_any_mask & static_cast(pstate)->mask) == 0)) return false; if((*position == char_type(0)) && (m_match_flags & match_not_dot_null)) return false; pstate = pstate->next.p; ++position; return true; } template bool perl_matcher::match_word_boundary() { bool b; // indcates whether next character is a word character if(position != last) { // prev and this character must be opposites: b = traits_inst.isctype(*position, m_word_mask); } else { if (m_match_flags & match_not_eow) return false; b = false; } if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) { if(m_match_flags & match_not_bow) return false; else b ^= false; } else { --position; b ^= traits_inst.isctype(*position, m_word_mask); ++position; } if(b) { pstate = pstate->next.p; return true; } return false; // no match if we get to here... } template bool perl_matcher::match_within_word() { bool b = !match_word_boundary(); if(b) pstate = pstate->next.p; return b; /* if(position == last) return false; // both prev and this character must be m_word_mask: bool prev = traits_inst.isctype(*position, m_word_mask); { bool b; if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) return false; else { --position; b = traits_inst.isctype(*position, m_word_mask); ++position; } if(b == prev) { pstate = pstate->next.p; return true; } } return false; */ } template bool perl_matcher::match_word_start() { if(position == last) return false; // can't be starting a word if we're already at the end of input if(!traits_inst.isctype(*position, m_word_mask)) return false; // next character isn't a word character if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) { if(m_match_flags & match_not_bow) return false; // no previous input } else { // otherwise inside buffer: BidiIterator t(position); --t; if(traits_inst.isctype(*t, m_word_mask)) return false; // previous character not non-word } // OK we have a match: pstate = pstate->next.p; return true; } template bool perl_matcher::match_word_end() { if((position == backstop) && ((m_match_flags & match_prev_avail) == 0)) return false; // start of buffer can't be end of word BidiIterator t(position); --t; if(traits_inst.isctype(*t, m_word_mask) == false) return false; // previous character wasn't a word character if(position == last) { if(m_match_flags & match_not_eow) return false; // end of buffer but not end of word } else { // otherwise inside buffer: if(traits_inst.isctype(*position, m_word_mask)) return false; // next character is a word character } pstate = pstate->next.p; return true; // if we fall through to here then we've succeeded } template bool perl_matcher::match_buffer_start() { if((position != backstop) || (m_match_flags & match_not_bob)) return false; // OK match: pstate = pstate->next.p; return true; } template bool perl_matcher::match_buffer_end() { if((position != last) || (m_match_flags & match_not_eob)) return false; // OK match: pstate = pstate->next.p; return true; } template bool perl_matcher::match_backref() { // // Compare with what we previously matched. // Note that this succeeds if the backref did not partisipate // in the match, this is in line with ECMAScript, but not Perl // or PCRE. // int index = static_cast(pstate)->index; if(index >= hash_value_mask) { named_subexpressions::range_type r = re.get_data().equal_range(index); BOOST_REGEX_ASSERT(r.first != r.second); do { index = r.first->index; ++r.first; }while((r.first != r.second) && ((*m_presult)[index].matched != true)); } if((m_match_flags & match_perl) && !(*m_presult)[index].matched) return false; BidiIterator i = (*m_presult)[index].first; BidiIterator j = (*m_presult)[index].second; while(i != j) { if((position == last) || (traits_inst.translate(*position, icase) != traits_inst.translate(*i, icase))) return false; ++i; ++position; } pstate = pstate->next.p; return true; } template bool perl_matcher::match_long_set() { typedef typename traits::char_class_type char_class_type; // let the traits class do the work: if(position == last) return false; BidiIterator t = re_is_set_member(position, last, static_cast*>(pstate), re.get_data(), icase); if(t != position) { pstate = pstate->next.p; position = t; return true; } return false; } template bool perl_matcher::match_set() { if(position == last) return false; if(static_cast(pstate)->_map[static_cast(traits_inst.translate(*position, icase))]) { pstate = pstate->next.p; ++position; return true; } return false; } template bool perl_matcher::match_jump() { pstate = static_cast(pstate)->alt.p; return true; } template bool perl_matcher::match_combining() { if(position == last) return false; if(is_combining(traits_inst.translate(*position, icase))) return false; ++position; while((position != last) && is_combining(traits_inst.translate(*position, icase))) ++position; pstate = pstate->next.p; return true; } template bool perl_matcher::match_soft_buffer_end() { if(m_match_flags & match_not_eob) return false; BidiIterator p(position); while((p != last) && is_separator(traits_inst.translate(*p, icase)))++p; if(p != last) return false; pstate = pstate->next.p; return true; } template bool perl_matcher::match_restart_continue() { if(position == search_base) { pstate = pstate->next.p; return true; } return false; } template bool perl_matcher::match_backstep() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif if( ::boost::is_random_access_iterator::value) { std::ptrdiff_t maxlen = std::distance(backstop, position); if(maxlen < static_cast(pstate)->index) return false; std::advance(position, -static_cast(pstate)->index); } else { int c = static_cast(pstate)->index; while(c--) { if(position == backstop) return false; --position; } } pstate = pstate->next.p; return true; #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template inline bool perl_matcher::match_assert_backref() { // return true if marked sub-expression N has been matched: int index = static_cast(pstate)->index; bool result = false; if(index == 9999) { // Magic value for a (DEFINE) block: return false; } else if(index > 0) { // Have we matched subexpression "index"? // Check if index is a hash value: if(index >= hash_value_mask) { named_subexpressions::range_type r = re.get_data().equal_range(index); while(r.first != r.second) { if((*m_presult)[r.first->index].matched) { result = true; break; } ++r.first; } } else { result = (*m_presult)[index].matched; } pstate = pstate->next.p; } else { // Have we recursed into subexpression "index"? // If index == 0 then check for any recursion at all, otherwise for recursion to -index-1. int idx = -(index+1); if(idx >= hash_value_mask) { named_subexpressions::range_type r = re.get_data().equal_range(idx); int stack_index = recursion_stack.empty() ? -1 : recursion_stack.back().idx; while(r.first != r.second) { result |= (stack_index == r.first->index); if(result)break; ++r.first; } } else { result = !recursion_stack.empty() && ((recursion_stack.back().idx == idx) || (index == 0)); } pstate = pstate->next.p; } return result; } template bool perl_matcher::match_fail() { // Just force a backtrack: return false; } template bool perl_matcher::match_accept() { if(!recursion_stack.empty()) { return skip_until_paren(recursion_stack.back().idx); } else { return skip_until_paren(INT_MAX); } } template bool perl_matcher::find_restart_any() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif const unsigned char* _map = re.get_map(); while(true) { // skip everything we can't match: while((position != last) && !can_start(*position, _map, (unsigned char)mask_any) ) ++position; if(position == last) { // run out of characters, try a null match if possible: if(re.can_be_null()) return match_prefix(); break; } // now try and obtain a match: if(match_prefix()) return true; if(position == last) return false; ++position; } return false; #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool perl_matcher::find_restart_word() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif // do search optimised for word starts: const unsigned char* _map = re.get_map(); if((m_match_flags & match_prev_avail) || (position != base)) --position; else if(match_prefix()) return true; do { while((position != last) && traits_inst.isctype(*position, m_word_mask)) ++position; while((position != last) && !traits_inst.isctype(*position, m_word_mask)) ++position; if(position == last) break; if(can_start(*position, _map, (unsigned char)mask_any) ) { if(match_prefix()) return true; } if(position == last) break; } while(true); return false; #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool perl_matcher::find_restart_line() { // do search optimised for line starts: const unsigned char* _map = re.get_map(); if(match_prefix()) return true; while(position != last) { while((position != last) && !is_separator(*position)) ++position; if(position == last) return false; ++position; if(position == last) { if(re.can_be_null() && match_prefix()) return true; return false; } if( can_start(*position, _map, (unsigned char)mask_any) ) { if(match_prefix()) return true; } if(position == last) return false; //++position; } return false; } template bool perl_matcher::find_restart_buf() { if((position == base) && ((m_match_flags & match_not_bob) == 0)) return match_prefix(); return false; } template bool perl_matcher::find_restart_lit() { return false; } } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/perl_matcher_non_recursive.hpp ================================================ /* * * Copyright (c) 2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE perl_matcher_common.cpp * VERSION see * DESCRIPTION: Definitions of perl_matcher member functions that are * specific to the non-recursive implementation. */ #ifndef BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP #define BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP #include #ifdef BOOST_REGEX_MSVC # pragma warning(push) # pragma warning(disable: 4706 4459) #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ template inline void inplace_destroy(T* p) { (void)p; // warning suppression p->~T(); } struct saved_state { union{ unsigned int state_id; // this padding ensures correct alignment on 64-bit platforms: std::size_t padding1; std::ptrdiff_t padding2; void* padding3; }; saved_state(unsigned i) : state_id(i) {} }; template struct saved_matched_paren : public saved_state { int index; sub_match sub; saved_matched_paren(int i, const sub_match& s) : saved_state(1), index(i), sub(s){} }; template struct saved_position : public saved_state { const re_syntax_base* pstate; BidiIterator position; saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){} }; template struct saved_assertion : public saved_position { bool positive; saved_assertion(bool p, const re_syntax_base* ps, BidiIterator pos) : saved_position(ps, pos, saved_type_assertion), positive(p){} }; template struct saved_repeater : public saved_state { repeater_count count; saved_repeater(int i, repeater_count** s, BidiIterator start, int current_recursion_id) : saved_state(saved_state_repeater_count), count(i, s, start, current_recursion_id){} }; struct saved_extra_block : public saved_state { saved_state *base, *end; saved_extra_block(saved_state* b, saved_state* e) : saved_state(saved_state_extra_block), base(b), end(e) {} }; struct save_state_init { saved_state** stack; save_state_init(saved_state** base, saved_state** end) : stack(base) { *base = static_cast(get_mem_block()); *end = reinterpret_cast(reinterpret_cast(*base)+BOOST_REGEX_BLOCKSIZE); --(*end); (void) new (*end)saved_state(0); BOOST_REGEX_ASSERT(*end > *base); } ~save_state_init() { put_mem_block(*stack); *stack = 0; } }; template struct saved_single_repeat : public saved_state { std::size_t count; const re_repeat* rep; BidiIterator last_position; saved_single_repeat(std::size_t c, const re_repeat* r, BidiIterator lp, int arg_id) : saved_state(arg_id), count(c), rep(r), last_position(lp){} }; template struct saved_recursion : public saved_state { saved_recursion(int idx, const re_syntax_base* p, Results* pr, Results* pr2) : saved_state(14), recursion_id(idx), preturn_address(p), internal_results(*pr), prior_results(*pr2) {} int recursion_id; const re_syntax_base* preturn_address; Results internal_results, prior_results; }; struct saved_change_case : public saved_state { bool icase; saved_change_case(bool c) : saved_state(18), icase(c) {} }; struct incrementer { incrementer(unsigned* pu) : m_pu(pu) { ++*m_pu; } ~incrementer() { --*m_pu; } bool operator > (unsigned i) { return *m_pu > i; } private: unsigned* m_pu; }; template bool perl_matcher::match_all_states() { static matcher_proc_type const s_match_vtable[34] = { (&perl_matcher::match_startmark), &perl_matcher::match_endmark, &perl_matcher::match_literal, &perl_matcher::match_start_line, &perl_matcher::match_end_line, &perl_matcher::match_wild, &perl_matcher::match_match, &perl_matcher::match_word_boundary, &perl_matcher::match_within_word, &perl_matcher::match_word_start, &perl_matcher::match_word_end, &perl_matcher::match_buffer_start, &perl_matcher::match_buffer_end, &perl_matcher::match_backref, &perl_matcher::match_long_set, &perl_matcher::match_set, &perl_matcher::match_jump, &perl_matcher::match_alt, &perl_matcher::match_rep, &perl_matcher::match_combining, &perl_matcher::match_soft_buffer_end, &perl_matcher::match_restart_continue, // Although this next line *should* be evaluated at compile time, in practice // some compilers (VC++) emit run-time initialisation which breaks thread // safety, so use a dispatch function instead: //(::boost::is_random_access_iterator::value ? &perl_matcher::match_dot_repeat_fast : &perl_matcher::match_dot_repeat_slow), &perl_matcher::match_dot_repeat_dispatch, &perl_matcher::match_char_repeat, &perl_matcher::match_set_repeat, &perl_matcher::match_long_set_repeat, &perl_matcher::match_backstep, &perl_matcher::match_assert_backref, &perl_matcher::match_toggle_case, &perl_matcher::match_recursion, &perl_matcher::match_fail, &perl_matcher::match_accept, &perl_matcher::match_commit, &perl_matcher::match_then, }; incrementer inc(&m_recursions); if(inc > 80) raise_error(traits_inst, regex_constants::error_complexity); push_recursion_stopper(); do{ while(pstate) { matcher_proc_type proc = s_match_vtable[pstate->type]; ++state_count; if(!(this->*proc)()) { if(state_count > max_state_count) raise_error(traits_inst, regex_constants::error_complexity); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; bool successful_unwind = unwind(false); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; if(!successful_unwind) return m_recursive_result; } } }while(unwind(true)); return m_recursive_result; } template void perl_matcher::extend_stack() { if(used_block_count) { --used_block_count; saved_state* stack_base; saved_state* backup_state; stack_base = static_cast(get_mem_block()); backup_state = reinterpret_cast(reinterpret_cast(stack_base)+BOOST_REGEX_BLOCKSIZE); saved_extra_block* block = static_cast(backup_state); --block; (void) new (block) saved_extra_block(m_stack_base, m_backup_state); m_stack_base = stack_base; m_backup_state = block; } else raise_error(traits_inst, regex_constants::error_stack); } template inline void perl_matcher::push_matched_paren(int index, const sub_match& sub) { //BOOST_REGEX_ASSERT(index); saved_matched_paren* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast*>(m_backup_state); --pmp; } (void) new (pmp)saved_matched_paren(index, sub); m_backup_state = pmp; } template inline void perl_matcher::push_case_change(bool c) { //BOOST_REGEX_ASSERT(index); saved_change_case* pmp = static_cast(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast(m_backup_state); --pmp; } (void) new (pmp)saved_change_case(c); m_backup_state = pmp; } template inline void perl_matcher::push_recursion_stopper() { saved_state* pmp = m_backup_state; --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = m_backup_state; --pmp; } (void) new (pmp)saved_state(saved_type_recurse); m_backup_state = pmp; } template inline void perl_matcher::push_assertion(const re_syntax_base* ps, bool positive) { saved_assertion* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast*>(m_backup_state); --pmp; } (void) new (pmp)saved_assertion(positive, ps, position); m_backup_state = pmp; } template inline void perl_matcher::push_alt(const re_syntax_base* ps) { saved_position* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast*>(m_backup_state); --pmp; } (void) new (pmp)saved_position(ps, position, saved_state_alt); m_backup_state = pmp; } template inline void perl_matcher::push_non_greedy_repeat(const re_syntax_base* ps) { saved_position* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast*>(m_backup_state); --pmp; } (void) new (pmp)saved_position(ps, position, saved_state_non_greedy_long_repeat); m_backup_state = pmp; } template inline void perl_matcher::push_repeater_count(int i, repeater_count** s) { saved_repeater* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast*>(m_backup_state); --pmp; } (void) new (pmp)saved_repeater(i, s, position, this->recursion_stack.empty() ? (INT_MIN + 3) : this->recursion_stack.back().idx); m_backup_state = pmp; } template inline void perl_matcher::push_single_repeat(std::size_t c, const re_repeat* r, BidiIterator last_position, int state_id) { saved_single_repeat* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast*>(m_backup_state); --pmp; } (void) new (pmp)saved_single_repeat(c, r, last_position, state_id); m_backup_state = pmp; } template inline void perl_matcher::push_recursion(int idx, const re_syntax_base* p, results_type* presults, results_type* presults2) { saved_recursion* pmp = static_cast*>(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast*>(m_backup_state); --pmp; } (void) new (pmp)saved_recursion(idx, p, presults, presults2); m_backup_state = pmp; } template bool perl_matcher::match_toggle_case() { // change our case sensitivity: push_case_change(this->icase); this->icase = static_cast(pstate)->icase; pstate = pstate->next.p; return true; } template bool perl_matcher::match_startmark() { int index = static_cast(pstate)->index; icase = static_cast(pstate)->icase; switch(index) { case 0: pstate = pstate->next.p; break; case -1: case -2: { // forward lookahead assert: const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; pstate = pstate->next.p->next.p; push_assertion(next_pstate, index == -1); break; } case -3: { // independent sub-expression, currently this is always recursive: bool old_independent = m_independent; m_independent = true; const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; pstate = pstate->next.p->next.p; bool r = false; #if !defined(BOOST_NO_EXCEPTIONS) try{ #endif r = match_all_states(); if(!r && !m_independent) { // Must be unwinding from a COMMIT/SKIP/PRUNE and the independent // sub failed, need to unwind everything else: while (m_backup_state->state_id) unwind(false); return false; } #if !defined(BOOST_NO_EXCEPTIONS) } catch(...) { pstate = next_pstate; // unwind all pushed states, apart from anything else this // ensures that all the states are correctly destructed // not just the memory freed. while(unwind(true)) {} throw; } #endif pstate = next_pstate; m_independent = old_independent; #ifdef BOOST_REGEX_MATCH_EXTRA if(r && (m_match_flags & match_extra)) { // // our captures have been stored in *m_presult // we need to unpack them, and insert them // back in the right order when we unwind the stack: // match_results temp_match(*m_presult); unsigned i; for(i = 0; i < temp_match.size(); ++i) (*m_presult)[i].get_captures().clear(); // match everything else: #if !defined(BOOST_NO_EXCEPTIONS) try{ #endif r = match_all_states(); #if !defined(BOOST_NO_EXCEPTIONS) } catch(...) { pstate = next_pstate; // unwind all pushed states, apart from anything else this // ensures that all the states are correctly destructed // not just the memory freed. while(unwind(true)) {} throw; } #endif // now place the stored captures back: for(i = 0; i < temp_match.size(); ++i) { typedef typename sub_match::capture_sequence_type seq; seq& s1 = (*m_presult)[i].get_captures(); const seq& s2 = temp_match[i].captures(); s1.insert( s1.end(), s2.begin(), s2.end()); } } #endif return r; } case -4: { // conditional expression: const re_alt* alt = static_cast(pstate->next.p); BOOST_REGEX_ASSERT(alt->type == syntax_element_alt); pstate = alt->next.p; if(pstate->type == syntax_element_assert_backref) { if(!match_assert_backref()) pstate = alt->alt.p; break; } else { // zero width assertion, have to match this recursively: BOOST_REGEX_ASSERT(pstate->type == syntax_element_startmark); bool negated = static_cast(pstate)->index == -2; BidiIterator saved_position = position; const re_syntax_base* next_pstate = static_cast(pstate->next.p)->alt.p->next.p; pstate = pstate->next.p->next.p; #if !defined(BOOST_NO_EXCEPTIONS) try{ #endif bool r = match_all_states(); position = saved_position; if(negated) r = !r; if(r) pstate = next_pstate; else pstate = alt->alt.p; #if !defined(BOOST_NO_EXCEPTIONS) } catch(...) { pstate = next_pstate; // unwind all pushed states, apart from anything else this // ensures that all the states are correctly destructed // not just the memory freed. while(unwind(true)){} throw; } #endif break; } } case -5: { push_matched_paren(0, (*m_presult)[0]); m_presult->set_first(position, 0, true); pstate = pstate->next.p; break; } default: { BOOST_REGEX_ASSERT(index > 0); if((m_match_flags & match_nosubs) == 0) { push_matched_paren(index, (*m_presult)[index]); m_presult->set_first(position, index); } pstate = pstate->next.p; break; } } return true; } template bool perl_matcher::match_alt() { bool take_first, take_second; const re_alt* jmp = static_cast(pstate); // find out which of these two alternatives we need to take: if(position == last) { take_first = jmp->can_be_null & mask_take; take_second = jmp->can_be_null & mask_skip; } else { take_first = can_start(*position, jmp->_map, (unsigned char)mask_take); take_second = can_start(*position, jmp->_map, (unsigned char)mask_skip); } if(take_first) { // we can take the first alternative, // see if we need to push next alternative: if(take_second) { push_alt(jmp->alt.p); } pstate = pstate->next.p; return true; } if(take_second) { pstate = jmp->alt.p; return true; } return false; // neither option is possible } template bool perl_matcher::match_rep() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127 4244) #endif #ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif const re_repeat* rep = static_cast(pstate); // find out which of these two alternatives we need to take: bool take_first, take_second; if(position == last) { take_first = rep->can_be_null & mask_take; take_second = rep->can_be_null & mask_skip; } else { take_first = can_start(*position, rep->_map, (unsigned char)mask_take); take_second = can_start(*position, rep->_map, (unsigned char)mask_skip); } if((m_backup_state->state_id != saved_state_repeater_count) || (static_cast*>(m_backup_state)->count.get_id() != rep->state_id) || (next_count->get_id() != rep->state_id)) { // we're moving to a different repeat from the last // one, so set up a counter object: push_repeater_count(rep->state_id, &next_count); } // // If we've had at least one repeat already, and the last one // matched the NULL string then set the repeat count to // maximum: // next_count->check_null_repeat(position, rep->max); if(next_count->get_count() < rep->min) { // we must take the repeat: if(take_first) { // increase the counter: ++(*next_count); pstate = rep->next.p; return true; } return false; } bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); if(greedy) { // try and take the repeat if we can: if((next_count->get_count() < rep->max) && take_first) { if(take_second) { // store position in case we fail: push_alt(rep->alt.p); } // increase the counter: ++(*next_count); pstate = rep->next.p; return true; } else if(take_second) { pstate = rep->alt.p; return true; } return false; // can't take anything, fail... } else // non-greedy { // try and skip the repeat if we can: if(take_second) { if((next_count->get_count() < rep->max) && take_first) { // store position in case we fail: push_non_greedy_repeat(rep->next.p); } pstate = rep->alt.p; return true; } if((next_count->get_count() < rep->max) && take_first) { // increase the counter: ++(*next_count); pstate = rep->next.p; return true; } } return false; #ifdef BOOST_BORLANDC #pragma option pop #endif #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool perl_matcher::match_dot_repeat_slow() { std::size_t count = 0; const re_repeat* rep = static_cast(pstate); re_syntax_base* psingle = rep->next.p; // match compulsory repeats first: while(count < rep->min) { pstate = psingle; if(!match_wild()) return false; ++count; } bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); if(greedy) { // repeat for as long as we can: while(count < rep->max) { pstate = psingle; if(!match_wild()) break; ++count; } // remember where we got to if this is a leading repeat: if((rep->leading) && (count < rep->max)) restart = position; // push backtrack info if available: if(count - rep->min) push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); // jump to next state: pstate = rep->alt.p; return true; } else { // non-greedy, push state and return true if we can skip: if(count < rep->max) push_single_repeat(count, rep, position, saved_state_rep_slow_dot); pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } } template bool perl_matcher::match_dot_repeat_fast() { if(m_match_flags & match_not_dot_null) return match_dot_repeat_slow(); if((static_cast(pstate->next.p)->mask & match_any_mask) == 0) return match_dot_repeat_slow(); const re_repeat* rep = static_cast(pstate); bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t count = static_cast((std::min)(static_cast(std::distance(position, last)), greedy ? rep->max : rep->min)); if(rep->min > count) { position = last; return false; // not enough text left to match } std::advance(position, count); if(greedy) { if((rep->leading) && (count < rep->max)) restart = position; // push backtrack info if available: if(count - rep->min) push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); // jump to next state: pstate = rep->alt.p; return true; } else { // non-greedy, push state and return true if we can skip: if(count < rep->max) push_single_repeat(count, rep, position, saved_state_rep_fast_dot); pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } } template bool perl_matcher::match_char_repeat() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif #ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif const re_repeat* rep = static_cast(pstate); BOOST_REGEX_ASSERT(1 == static_cast(rep->next.p)->length); const char_type what = *reinterpret_cast(static_cast(rep->next.p) + 1); std::size_t count = 0; // // start by working out how much we can skip: // bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { BidiIterator end = position; // Move end forward by "desired", preferably without using distance or advance if we can // as these can be slow for some iterator types. std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : std::distance(position, last); if(desired >= len) end = last; else std::advance(end, desired); BidiIterator origin(position); while((position != end) && (traits_inst.translate(*position, icase) == what)) { ++position; } count = (unsigned)std::distance(origin, position); } else { while((count < desired) && (position != last) && (traits_inst.translate(*position, icase) == what)) { ++position; ++count; } } if(count < rep->min) return false; if(greedy) { if((rep->leading) && (count < rep->max)) restart = position; // push backtrack info if available: if(count - rep->min) push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); // jump to next state: pstate = rep->alt.p; return true; } else { // non-greedy, push state and return true if we can skip: if(count < rep->max) push_single_repeat(count, rep, position, saved_state_rep_char); pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } #ifdef BOOST_BORLANDC #pragma option pop #endif #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool perl_matcher::match_set_repeat() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif #ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif const re_repeat* rep = static_cast(pstate); const unsigned char* map = static_cast(rep->next.p)->_map; std::size_t count = 0; // // start by working out how much we can skip: // bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { BidiIterator end = position; // Move end forward by "desired", preferably without using distance or advance if we can // as these can be slow for some iterator types. std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : std::distance(position, last); if(desired >= len) end = last; else std::advance(end, desired); BidiIterator origin(position); while((position != end) && map[static_cast(traits_inst.translate(*position, icase))]) { ++position; } count = (unsigned)std::distance(origin, position); } else { while((count < desired) && (position != last) && map[static_cast(traits_inst.translate(*position, icase))]) { ++position; ++count; } } if(count < rep->min) return false; if(greedy) { if((rep->leading) && (count < rep->max)) restart = position; // push backtrack info if available: if(count - rep->min) push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); // jump to next state: pstate = rep->alt.p; return true; } else { // non-greedy, push state and return true if we can skip: if(count < rep->max) push_single_repeat(count, rep, position, saved_state_rep_short_set); pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } #ifdef BOOST_BORLANDC #pragma option pop #endif #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool perl_matcher::match_long_set_repeat() { #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4127) #endif #ifdef BOOST_BORLANDC #pragma option push -w-8008 -w-8066 -w-8004 #endif typedef typename traits::char_class_type m_type; const re_repeat* rep = static_cast(pstate); const re_set_long* set = static_cast*>(pstate->next.p); std::size_t count = 0; // // start by working out how much we can skip: // bool greedy = (rep->greedy) && (!(m_match_flags & regex_constants::match_any) || m_independent); std::size_t desired = greedy ? rep->max : rep->min; if(::boost::is_random_access_iterator::value) { BidiIterator end = position; // Move end forward by "desired", preferably without using distance or advance if we can // as these can be slow for some iterator types. std::size_t len = (desired == (std::numeric_limits::max)()) ? 0u : std::distance(position, last); if(desired >= len) end = last; else std::advance(end, desired); BidiIterator origin(position); while((position != end) && (position != re_is_set_member(position, last, set, re.get_data(), icase))) { ++position; } count = (unsigned)std::distance(origin, position); } else { while((count < desired) && (position != last) && (position != re_is_set_member(position, last, set, re.get_data(), icase))) { ++position; ++count; } } if(count < rep->min) return false; if(greedy) { if((rep->leading) && (count < rep->max)) restart = position; // push backtrack info if available: if(count - rep->min) push_single_repeat(count, rep, position, saved_state_greedy_single_repeat); // jump to next state: pstate = rep->alt.p; return true; } else { // non-greedy, push state and return true if we can skip: if(count < rep->max) push_single_repeat(count, rep, position, saved_state_rep_long_set); pstate = rep->alt.p; return (position == last) ? (rep->can_be_null & mask_skip) : can_start(*position, rep->_map, mask_skip); } #ifdef BOOST_BORLANDC #pragma option pop #endif #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } template bool perl_matcher::match_recursion() { BOOST_REGEX_ASSERT(pstate->type == syntax_element_recurse); // // See if we've seen this recursion before at this location, if we have then // we need to prevent infinite recursion: // for(typename std::vector >::reverse_iterator i = recursion_stack.rbegin(); i != recursion_stack.rend(); ++i) { if(i->idx == static_cast(static_cast(pstate)->alt.p)->index) { if(i->location_of_start == position) return false; break; } } // // Backup call stack: // push_recursion_pop(); // // Set new call stack: // if(recursion_stack.capacity() == 0) { recursion_stack.reserve(50); } recursion_stack.push_back(recursion_info()); recursion_stack.back().preturn_address = pstate->next.p; recursion_stack.back().results = *m_presult; pstate = static_cast(pstate)->alt.p; recursion_stack.back().idx = static_cast(pstate)->index; recursion_stack.back().location_of_start = position; //if(static_cast(pstate)->state_id > 0) { push_repeater_count(-(2 + static_cast(pstate)->index), &next_count); } return true; } template bool perl_matcher::match_endmark() { int index = static_cast(pstate)->index; icase = static_cast(pstate)->icase; if(index > 0) { if((m_match_flags & match_nosubs) == 0) { m_presult->set_second(position, index); } if(!recursion_stack.empty()) { if(index == recursion_stack.back().idx) { pstate = recursion_stack.back().preturn_address; *m_presult = recursion_stack.back().results; push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, m_presult, &recursion_stack.back().results); recursion_stack.pop_back(); push_repeater_count(-(2 + index), &next_count); } } } else if((index < 0) && (index != -4)) { // matched forward lookahead: pstate = 0; return true; } pstate = pstate->next.p; return true; } template bool perl_matcher::match_match() { if(!recursion_stack.empty()) { BOOST_REGEX_ASSERT(0 == recursion_stack.back().idx); pstate = recursion_stack.back().preturn_address; push_recursion(recursion_stack.back().idx, recursion_stack.back().preturn_address, m_presult, &recursion_stack.back().results); *m_presult = recursion_stack.back().results; recursion_stack.pop_back(); return true; } if((m_match_flags & match_not_null) && (position == (*m_presult)[0].first)) return false; if((m_match_flags & match_all) && (position != last)) return false; if((m_match_flags & regex_constants::match_not_initial_null) && (position == search_base)) return false; m_presult->set_second(position); pstate = 0; m_has_found_match = true; if((m_match_flags & match_posix) == match_posix) { m_result.maybe_assign(*m_presult); if((m_match_flags & match_any) == 0) return false; } #ifdef BOOST_REGEX_MATCH_EXTRA if(match_extra & m_match_flags) { for(unsigned i = 0; i < m_presult->size(); ++i) if((*m_presult)[i].matched) ((*m_presult)[i]).get_captures().push_back((*m_presult)[i]); } #endif return true; } template bool perl_matcher::match_commit() { // Ideally we would just junk all the states that are on the stack, // however we might not unwind correctly in that case, so for now, // just mark that we don't backtrack into whatever is left (or rather // we'll unwind it unconditionally without pausing to try other matches). switch(static_cast(pstate)->action) { case commit_commit: restart = last; break; case commit_skip: if(base != position) { restart = position; // Have to decrement restart since it will get incremented again later: --restart; } break; case commit_prune: break; } saved_state* pmp = m_backup_state; --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = m_backup_state; --pmp; } (void) new (pmp)saved_state(16); m_backup_state = pmp; pstate = pstate->next.p; return true; } template bool perl_matcher::match_then() { // Just leave a mark that we need to skip to next alternative: saved_state* pmp = m_backup_state; --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = m_backup_state; --pmp; } (void) new (pmp)saved_state(17); m_backup_state = pmp; pstate = pstate->next.p; return true; } template bool perl_matcher::skip_until_paren(int index, bool have_match) { while(pstate) { if(pstate->type == syntax_element_endmark) { if(static_cast(pstate)->index == index) { if(have_match) return this->match_endmark(); pstate = pstate->next.p; return true; } else { // Unenclosed closing ), occurs when (*ACCEPT) is inside some other // parenthesis which may or may not have other side effects associated with it. const re_syntax_base* sp = pstate; match_endmark(); if(!pstate) { unwind(true); // unwind may leave pstate NULL if we've unwound a forward lookahead, in which // case just move to the next state and keep looking... if (!pstate) pstate = sp->next.p; } } continue; } else if(pstate->type == syntax_element_match) return true; else if(pstate->type == syntax_element_startmark) { int idx = static_cast(pstate)->index; pstate = pstate->next.p; skip_until_paren(idx, false); continue; } pstate = pstate->next.p; } return true; } /**************************************************************************** Unwind and associated procedures follow, these perform what normal stack unwinding does in the recursive implementation. ****************************************************************************/ template bool perl_matcher::unwind(bool have_match) { static unwind_proc_type const s_unwind_table[19] = { &perl_matcher::unwind_end, &perl_matcher::unwind_paren, &perl_matcher::unwind_recursion_stopper, &perl_matcher::unwind_assertion, &perl_matcher::unwind_alt, &perl_matcher::unwind_repeater_counter, &perl_matcher::unwind_extra_block, &perl_matcher::unwind_greedy_single_repeat, &perl_matcher::unwind_slow_dot_repeat, &perl_matcher::unwind_fast_dot_repeat, &perl_matcher::unwind_char_repeat, &perl_matcher::unwind_short_set_repeat, &perl_matcher::unwind_long_set_repeat, &perl_matcher::unwind_non_greedy_repeat, &perl_matcher::unwind_recursion, &perl_matcher::unwind_recursion_pop, &perl_matcher::unwind_commit, &perl_matcher::unwind_then, &perl_matcher::unwind_case, }; m_recursive_result = have_match; m_unwound_lookahead = false; m_unwound_alt = false; unwind_proc_type unwinder; bool cont; // // keep unwinding our stack until we have something to do: // do { unwinder = s_unwind_table[m_backup_state->state_id]; cont = (this->*unwinder)(m_recursive_result); }while(cont); // // return true if we have more states to try: // return pstate ? true : false; } template bool perl_matcher::unwind_end(bool) { pstate = 0; // nothing left to search return false; // end of stack nothing more to search } template bool perl_matcher::unwind_case(bool) { saved_change_case* pmp = static_cast(m_backup_state); icase = pmp->icase; boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); m_backup_state = pmp; return true; } template bool perl_matcher::unwind_paren(bool have_match) { saved_matched_paren* pmp = static_cast*>(m_backup_state); // restore previous values if no match was found: if(!have_match) { m_presult->set_first(pmp->sub.first, pmp->index, pmp->index == 0); m_presult->set_second(pmp->sub.second, pmp->index, pmp->sub.matched, pmp->index == 0); } #ifdef BOOST_REGEX_MATCH_EXTRA // // we have a match, push the capture information onto the stack: // else if(pmp->sub.matched && (match_extra & m_match_flags)) ((*m_presult)[pmp->index]).get_captures().push_back(pmp->sub); #endif // unwind stack: m_backup_state = pmp+1; boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp); return true; // keep looking } template bool perl_matcher::unwind_recursion_stopper(bool) { boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(m_backup_state++); pstate = 0; // nothing left to search return false; // end of stack nothing more to search } template bool perl_matcher::unwind_assertion(bool r) { saved_assertion* pmp = static_cast*>(m_backup_state); pstate = pmp->pstate; position = pmp->position; bool result = (r == pmp->positive); m_recursive_result = pmp->positive ? r : !r; boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); m_backup_state = pmp; m_unwound_lookahead = true; return !result; // return false if the assertion was matched to stop search. } template bool perl_matcher::unwind_alt(bool r) { saved_position* pmp = static_cast*>(m_backup_state); if(!r) { pstate = pmp->pstate; position = pmp->position; } boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); m_backup_state = pmp; m_unwound_alt = !r; return r; } template bool perl_matcher::unwind_repeater_counter(bool) { saved_repeater* pmp = static_cast*>(m_backup_state); boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); m_backup_state = pmp; return true; // keep looking } template bool perl_matcher::unwind_extra_block(bool) { ++used_block_count; saved_extra_block* pmp = static_cast(m_backup_state); void* condemmed = m_stack_base; m_stack_base = pmp->base; m_backup_state = pmp->end; boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp); put_mem_block(condemmed); return true; // keep looking } template inline void perl_matcher::destroy_single_repeat() { saved_single_repeat* p = static_cast*>(m_backup_state); boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(p++); m_backup_state = p; } template bool perl_matcher::unwind_greedy_single_repeat(bool r) { saved_single_repeat* pmp = static_cast*>(m_backup_state); // if we have a match, just discard this state: if(r) { destroy_single_repeat(); return true; } const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; BOOST_REGEX_ASSERT(rep->next.p != 0); BOOST_REGEX_ASSERT(rep->alt.p != 0); count -= rep->min; if((m_match_flags & match_partial) && (position == last)) m_has_partial_match = true; BOOST_REGEX_ASSERT(count); position = pmp->last_position; // backtrack till we can skip out: do { --position; --count; ++state_count; }while(count && !can_start(*position, rep->_map, mask_skip)); // if we've hit base, destroy this state: if(count == 0) { destroy_single_repeat(); if(!can_start(*position, rep->_map, mask_skip)) return true; } else { pmp->count = count + rep->min; pmp->last_position = position; } pstate = rep->alt.p; return false; } template bool perl_matcher::unwind_slow_dot_repeat(bool r) { saved_single_repeat* pmp = static_cast*>(m_backup_state); // if we have a match, just discard this state: if(r) { destroy_single_repeat(); return true; } const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; BOOST_REGEX_ASSERT(rep->type == syntax_element_dot_rep); BOOST_REGEX_ASSERT(rep->next.p != 0); BOOST_REGEX_ASSERT(rep->alt.p != 0); BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_wild); BOOST_REGEX_ASSERT(count < rep->max); pstate = rep->next.p; position = pmp->last_position; if(position != last) { // wind forward until we can skip out of the repeat: do { if(!match_wild()) { // failed repeat match, discard this state and look for another: destroy_single_repeat(); return true; } ++count; ++state_count; pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } if(position == last) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; if(0 == (rep->can_be_null & mask_skip)) return true; } else if(count == rep->max) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if(!can_start(*position, rep->_map, mask_skip)) return true; } else { pmp->count = count; pmp->last_position = position; } pstate = rep->alt.p; return false; } template bool perl_matcher::unwind_fast_dot_repeat(bool r) { saved_single_repeat* pmp = static_cast*>(m_backup_state); // if we have a match, just discard this state: if(r) { destroy_single_repeat(); return true; } const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; BOOST_REGEX_ASSERT(count < rep->max); position = pmp->last_position; if(position != last) { // wind forward until we can skip out of the repeat: do { ++position; ++count; ++state_count; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } // remember where we got to if this is a leading repeat: if((rep->leading) && (count < rep->max)) restart = position; if(position == last) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; if(0 == (rep->can_be_null & mask_skip)) return true; } else if(count == rep->max) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if(!can_start(*position, rep->_map, mask_skip)) return true; } else { pmp->count = count; pmp->last_position = position; } pstate = rep->alt.p; return false; } template bool perl_matcher::unwind_char_repeat(bool r) { saved_single_repeat* pmp = static_cast*>(m_backup_state); // if we have a match, just discard this state: if(r) { destroy_single_repeat(); return true; } const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; pstate = rep->next.p; const char_type what = *reinterpret_cast(static_cast(pstate) + 1); position = pmp->last_position; BOOST_REGEX_ASSERT(rep->type == syntax_element_char_rep); BOOST_REGEX_ASSERT(rep->next.p != 0); BOOST_REGEX_ASSERT(rep->alt.p != 0); BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_literal); BOOST_REGEX_ASSERT(count < rep->max); if(position != last) { // wind forward until we can skip out of the repeat: do { if(traits_inst.translate(*position, icase) != what) { // failed repeat match, discard this state and look for another: destroy_single_repeat(); return true; } ++count; ++ position; ++state_count; pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } // remember where we got to if this is a leading repeat: if((rep->leading) && (count < rep->max)) restart = position; if(position == last) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; if(0 == (rep->can_be_null & mask_skip)) return true; } else if(count == rep->max) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if(!can_start(*position, rep->_map, mask_skip)) return true; } else { pmp->count = count; pmp->last_position = position; } pstate = rep->alt.p; return false; } template bool perl_matcher::unwind_short_set_repeat(bool r) { saved_single_repeat* pmp = static_cast*>(m_backup_state); // if we have a match, just discard this state: if(r) { destroy_single_repeat(); return true; } const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; pstate = rep->next.p; const unsigned char* map = static_cast(rep->next.p)->_map; position = pmp->last_position; BOOST_REGEX_ASSERT(rep->type == syntax_element_short_set_rep); BOOST_REGEX_ASSERT(rep->next.p != 0); BOOST_REGEX_ASSERT(rep->alt.p != 0); BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_set); BOOST_REGEX_ASSERT(count < rep->max); if(position != last) { // wind forward until we can skip out of the repeat: do { if(!map[static_cast(traits_inst.translate(*position, icase))]) { // failed repeat match, discard this state and look for another: destroy_single_repeat(); return true; } ++count; ++ position; ++state_count; pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } // remember where we got to if this is a leading repeat: if((rep->leading) && (count < rep->max)) restart = position; if(position == last) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; if(0 == (rep->can_be_null & mask_skip)) return true; } else if(count == rep->max) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if(!can_start(*position, rep->_map, mask_skip)) return true; } else { pmp->count = count; pmp->last_position = position; } pstate = rep->alt.p; return false; } template bool perl_matcher::unwind_long_set_repeat(bool r) { typedef typename traits::char_class_type m_type; saved_single_repeat* pmp = static_cast*>(m_backup_state); // if we have a match, just discard this state: if(r) { destroy_single_repeat(); return true; } const re_repeat* rep = pmp->rep; std::size_t count = pmp->count; pstate = rep->next.p; const re_set_long* set = static_cast*>(pstate); position = pmp->last_position; BOOST_REGEX_ASSERT(rep->type == syntax_element_long_set_rep); BOOST_REGEX_ASSERT(rep->next.p != 0); BOOST_REGEX_ASSERT(rep->alt.p != 0); BOOST_REGEX_ASSERT(rep->next.p->type == syntax_element_long_set); BOOST_REGEX_ASSERT(count < rep->max); if(position != last) { // wind forward until we can skip out of the repeat: do { if(position == re_is_set_member(position, last, set, re.get_data(), icase)) { // failed repeat match, discard this state and look for another: destroy_single_repeat(); return true; } ++position; ++count; ++state_count; pstate = rep->next.p; }while((count < rep->max) && (position != last) && !can_start(*position, rep->_map, mask_skip)); } // remember where we got to if this is a leading repeat: if((rep->leading) && (count < rep->max)) restart = position; if(position == last) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if((m_match_flags & match_partial) && (position == last) && (position != search_base)) m_has_partial_match = true; if(0 == (rep->can_be_null & mask_skip)) return true; } else if(count == rep->max) { // can't repeat any more, remove the pushed state: destroy_single_repeat(); if(!can_start(*position, rep->_map, mask_skip)) return true; } else { pmp->count = count; pmp->last_position = position; } pstate = rep->alt.p; return false; } template bool perl_matcher::unwind_non_greedy_repeat(bool r) { saved_position* pmp = static_cast*>(m_backup_state); if(!r) { position = pmp->position; pstate = pmp->pstate; ++(*next_count); } boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); m_backup_state = pmp; return r; } template bool perl_matcher::unwind_recursion(bool r) { // We are backtracking back inside a recursion, need to push the info // back onto the recursion stack, and do so unconditionally, otherwise // we can get mismatched pushes and pops... saved_recursion* pmp = static_cast*>(m_backup_state); if (!r) { recursion_stack.push_back(recursion_info()); recursion_stack.back().idx = pmp->recursion_id; recursion_stack.back().preturn_address = pmp->preturn_address; recursion_stack.back().results = pmp->prior_results; recursion_stack.back().location_of_start = position; *m_presult = pmp->internal_results; } boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); m_backup_state = pmp; return true; } template bool perl_matcher::unwind_recursion_pop(bool r) { // Backtracking out of a recursion, we must pop state off the recursion // stack unconditionally to ensure matched pushes and pops: saved_state* pmp = static_cast(m_backup_state); if (!r && !recursion_stack.empty()) { *m_presult = recursion_stack.back().results; position = recursion_stack.back().location_of_start; recursion_stack.pop_back(); } boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(pmp++); m_backup_state = pmp; return true; } template void perl_matcher::push_recursion_pop() { saved_state* pmp = static_cast(m_backup_state); --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = static_cast(m_backup_state); --pmp; } (void) new (pmp)saved_state(15); m_backup_state = pmp; } template bool perl_matcher::unwind_commit(bool b) { boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(m_backup_state++); while(unwind(b) && !m_unwound_lookahead){} if(m_unwound_lookahead && pstate) { // // If we stop because we just unwound an assertion, put the // commit state back on the stack again: // m_unwound_lookahead = false; saved_state* pmp = m_backup_state; --pmp; if(pmp < m_stack_base) { extend_stack(); pmp = m_backup_state; --pmp; } (void) new (pmp)saved_state(16); m_backup_state = pmp; } // This prevents us from stopping when we exit from an independent sub-expression: m_independent = false; return false; } template bool perl_matcher::unwind_then(bool b) { // Unwind everything till we hit an alternative: boost::BOOST_REGEX_DETAIL_NS::inplace_destroy(m_backup_state++); bool result = false; result = unwind(b); while(result && !m_unwound_alt) { result = unwind(b); } // We're now pointing at the next alternative, need one more backtrack // since *all* the other alternatives must fail once we've reached a THEN clause: if(result && m_unwound_alt) unwind(b); return false; } } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/primary_transform.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE: primary_transform.hpp * VERSION: see * DESCRIPTION: Heuristically determines the sort string format in use * by the current locale. */ #ifndef BOOST_REGEX_PRIMARY_TRANSFORM #define BOOST_REGEX_PRIMARY_TRANSFORM namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ enum{ sort_C, sort_fixed, sort_delim, sort_unknown }; template unsigned count_chars(const S& s, charT c) { // // Count how many occurrences of character c occur // in string s: if c is a delimeter between collation // fields, then this should be the same value for all // sort keys: // unsigned int count = 0; for(unsigned pos = 0; pos < s.size(); ++pos) { if(s[pos] == c) ++count; } return count; } template unsigned find_sort_syntax(const traits* pt, charT* delim) { // // compare 'a' with 'A' to see how similar they are, // should really use a-accute but we can't portably do that, // typedef typename traits::string_type string_type; typedef typename traits::char_type char_type; // Suppress incorrect warning for MSVC (void)pt; char_type a[2] = {'a', '\0', }; string_type sa(pt->transform(a, a+1)); if(sa == a) { *delim = 0; return sort_C; } char_type A[2] = { 'A', '\0', }; string_type sA(pt->transform(A, A+1)); char_type c[2] = { ';', '\0', }; string_type sc(pt->transform(c, c+1)); int pos = 0; while((pos <= static_cast(sa.size())) && (pos <= static_cast(sA.size())) && (sa[pos] == sA[pos])) ++pos; --pos; if(pos < 0) { *delim = 0; return sort_unknown; } // // at this point sa[pos] is either the end of a fixed width field // or the character that acts as a delimiter: // charT maybe_delim = sa[pos]; if((pos != 0) && (count_chars(sa, maybe_delim) == count_chars(sA, maybe_delim)) && (count_chars(sa, maybe_delim) == count_chars(sc, maybe_delim))) { *delim = maybe_delim; return sort_delim; } // // OK doen't look like a delimiter, try for fixed width field: // if((sa.size() == sA.size()) && (sa.size() == sc.size())) { // note assumes that the fixed width field is less than // (numeric_limits::max)(), should be true for all types // I can't imagine 127 character fields... *delim = static_cast(++pos); return sort_fixed; } // // don't know what it is: // *delim = 0; return sort_unknown; } } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regbase.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regbase.cpp * VERSION see * DESCRIPTION: Declares class regbase. */ #ifndef BOOST_REGEX_V5_REGBASE_HPP #define BOOST_REGEX_V5_REGBASE_HPP namespace boost{ // // class regbase // handles error codes and flags // class regbase { public: enum flag_type_ { // // Divide the flags up into logical groups: // bits 0-7 indicate main synatx type. // bits 8-15 indicate syntax subtype. // bits 16-31 indicate options that are common to all // regex syntaxes. // In all cases the default is 0. // // Main synatx group: // perl_syntax_group = 0, // default basic_syntax_group = 1, // POSIX basic literal = 2, // all characters are literals main_option_type = literal | basic_syntax_group | perl_syntax_group, // everything! // // options specific to perl group: // no_bk_refs = 1 << 8, // \d not allowed no_perl_ex = 1 << 9, // disable perl extensions no_mod_m = 1 << 10, // disable Perl m modifier mod_x = 1 << 11, // Perl x modifier mod_s = 1 << 12, // force s modifier on (overrides match_not_dot_newline) no_mod_s = 1 << 13, // force s modifier off (overrides match_not_dot_newline) // // options specific to basic group: // no_char_classes = 1 << 8, // [[:CLASS:]] not allowed no_intervals = 1 << 9, // {x,y} not allowed bk_plus_qm = 1 << 10, // uses \+ and \? bk_vbar = 1 << 11, // use \| for alternatives emacs_ex = 1 << 12, // enables emacs extensions // // options common to all groups: // no_escape_in_lists = 1 << 16, // '\' not special inside [...] newline_alt = 1 << 17, // \n is the same as | no_except = 1 << 18, // no exception on error failbit = 1 << 19, // error flag icase = 1 << 20, // characters are matched regardless of case nocollate = 0, // don't use locale specific collation (deprecated) collate = 1 << 21, // use locale specific collation nosubs = 1 << 22, // don't mark sub-expressions save_subexpression_location = 1 << 23, // save subexpression locations no_empty_expressions = 1 << 24, // no empty expressions allowed optimize = 0, // not really supported basic = basic_syntax_group | collate | no_escape_in_lists, extended = no_bk_refs | collate | no_perl_ex | no_escape_in_lists, normal = 0, emacs = basic_syntax_group | collate | emacs_ex | bk_vbar, awk = no_bk_refs | collate | no_perl_ex, grep = basic | newline_alt, egrep = extended | newline_alt, sed = basic, perl = normal, ECMAScript = normal, JavaScript = normal, JScript = normal }; typedef unsigned int flag_type; enum restart_info { restart_any = 0, restart_word = 1, restart_line = 2, restart_buf = 3, restart_continue = 4, restart_lit = 5, restart_fixed_lit = 6, restart_count = 7 }; }; // // provide std lib proposal compatible constants: // namespace regex_constants{ enum flag_type_ { no_except = ::boost::regbase::no_except, failbit = ::boost::regbase::failbit, literal = ::boost::regbase::literal, icase = ::boost::regbase::icase, nocollate = ::boost::regbase::nocollate, collate = ::boost::regbase::collate, nosubs = ::boost::regbase::nosubs, optimize = ::boost::regbase::optimize, bk_plus_qm = ::boost::regbase::bk_plus_qm, bk_vbar = ::boost::regbase::bk_vbar, no_intervals = ::boost::regbase::no_intervals, no_char_classes = ::boost::regbase::no_char_classes, no_escape_in_lists = ::boost::regbase::no_escape_in_lists, no_mod_m = ::boost::regbase::no_mod_m, mod_x = ::boost::regbase::mod_x, mod_s = ::boost::regbase::mod_s, no_mod_s = ::boost::regbase::no_mod_s, save_subexpression_location = ::boost::regbase::save_subexpression_location, no_empty_expressions = ::boost::regbase::no_empty_expressions, basic = ::boost::regbase::basic, extended = ::boost::regbase::extended, normal = ::boost::regbase::normal, emacs = ::boost::regbase::emacs, awk = ::boost::regbase::awk, grep = ::boost::regbase::grep, egrep = ::boost::regbase::egrep, sed = basic, perl = normal, ECMAScript = normal, JavaScript = normal, JScript = normal }; typedef ::boost::regbase::flag_type syntax_option_type; } // namespace regex_constants } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex.cpp * VERSION see * DESCRIPTION: Declares boost::basic_regex<> and associated * functions and classes. This header is the main * entry point for the template regex code. */ #ifndef BOOST_RE_REGEX_HPP_INCLUDED #define BOOST_RE_REGEX_HPP_INCLUDED #ifdef __cplusplus // what follows is all C++ don't include in C builds!! #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost{ #ifdef BOOST_REGEX_NO_FWD typedef basic_regex > regex; #ifndef BOOST_NO_WREGEX typedef basic_regex > wregex; #endif #endif typedef match_results cmatch; typedef match_results smatch; #ifndef BOOST_NO_WREGEX typedef match_results wcmatch; typedef match_results wsmatch; #endif } // namespace boost #include #include #include #include #include #include #include #include #endif // __cplusplus #endif // include ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_format.hpp ================================================ /* * * Copyright (c) 1998-2009 John Maddock * Copyright 2008 Eric Niebler. * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_format.hpp * VERSION see * DESCRIPTION: Provides formatting output routines for search and replace * operations. Note this is an internal header file included * by regex.hpp, do not include on its own. */ #ifndef BOOST_REGEX_FORMAT_HPP #define BOOST_REGEX_FORMAT_HPP #include #include namespace boost{ // // Forward declaration: // template >::allocator_type > class match_results; namespace BOOST_REGEX_DETAIL_NS{ // // struct trivial_format_traits: // defines minimum localisation support for formatting // in the case that the actual regex traits is unavailable. // template struct trivial_format_traits { typedef charT char_type; static std::ptrdiff_t length(const charT* p) { return global_length(p); } static charT tolower(charT c) { return ::boost::BOOST_REGEX_DETAIL_NS::global_lower(c); } static charT toupper(charT c) { return ::boost::BOOST_REGEX_DETAIL_NS::global_upper(c); } static int value(const charT c, int radix) { int result = global_value(c); return result >= radix ? -1 : result; } int toi(const charT*& p1, const charT* p2, int radix)const { return (int)global_toi(p1, p2, radix, *this); } }; #ifdef BOOST_REGEX_MSVC # pragma warning(push) #pragma warning(disable:26812) #endif template class basic_regex_formatter { public: typedef typename traits::char_type char_type; basic_regex_formatter(OutputIterator o, const Results& r, const traits& t) : m_traits(t), m_results(r), m_out(o), m_position(), m_end(), m_flags(), m_state(output_copy), m_restore_state(output_copy), m_have_conditional(false) {} OutputIterator format(ForwardIter p1, ForwardIter p2, match_flag_type f); OutputIterator format(ForwardIter p1, match_flag_type f) { return format(p1, p1 + m_traits.length(p1), f); } private: typedef typename Results::value_type sub_match_type; enum output_state { output_copy, output_next_lower, output_next_upper, output_lower, output_upper, output_none }; void put(char_type c); void put(const sub_match_type& sub); void format_all(); void format_perl(); void format_escape(); void format_conditional(); void format_until_scope_end(); bool handle_perl_verb(bool have_brace); inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant&) { std::vector v(i, j); return (i != j) ? this->m_results.named_subexpression(&v[0], &v[0] + v.size()) : this->m_results.named_subexpression(static_cast(0), static_cast(0)); } inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant&) { return this->m_results.named_subexpression(i, j); } inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j) { typedef typename std::is_convertible::type tag_type; return get_named_sub(i, j, tag_type()); } inline int get_named_sub_index(ForwardIter i, ForwardIter j, const std::integral_constant&) { std::vector v(i, j); return (i != j) ? this->m_results.named_subexpression_index(&v[0], &v[0] + v.size()) : this->m_results.named_subexpression_index(static_cast(0), static_cast(0)); } inline int get_named_sub_index(ForwardIter i, ForwardIter j, const std::integral_constant&) { return this->m_results.named_subexpression_index(i, j); } inline int get_named_sub_index(ForwardIter i, ForwardIter j) { typedef typename std::is_convertible::type tag_type; return get_named_sub_index(i, j, tag_type()); } #ifdef BOOST_REGEX_MSVC // msvc-8.0 issues a spurious warning on the call to std::advance here: #pragma warning(push) #pragma warning(disable:4244) #endif inline int toi(ForwardIter& i, ForwardIter j, int base, const std::integral_constant&) { if(i != j) { std::vector v(i, j); const char_type* start = &v[0]; const char_type* pos = start; int r = (int)m_traits.toi(pos, &v[0] + v.size(), base); std::advance(i, pos - start); return r; } return -1; } #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif inline int toi(ForwardIter& i, ForwardIter j, int base, const std::integral_constant&) { return m_traits.toi(i, j, base); } inline int toi(ForwardIter& i, ForwardIter j, int base) { #if defined(_MSC_VER) && defined(__INTEL_COMPILER) && ((__INTEL_COMPILER == 9999) || (__INTEL_COMPILER == 1210)) // Workaround for Intel support issue #656654. // See also https://svn.boost.org/trac/boost/ticket/6359 return toi(i, j, base, std::integral_constant()); #else typedef typename std::is_convertible::type tag_type; return toi(i, j, base, tag_type()); #endif } const traits& m_traits; // the traits class for localised formatting operations const Results& m_results; // the match_results being used. OutputIterator m_out; // where to send output. ForwardIter m_position; // format string, current position ForwardIter m_end; // format string end match_flag_type m_flags; // format flags to use output_state m_state; // what to do with the next character output_state m_restore_state; // what state to restore to. bool m_have_conditional; // we are parsing a conditional private: basic_regex_formatter(const basic_regex_formatter&); basic_regex_formatter& operator=(const basic_regex_formatter&); }; #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif template OutputIterator basic_regex_formatter::format(ForwardIter p1, ForwardIter p2, match_flag_type f) { m_position = p1; m_end = p2; m_flags = f; format_all(); return m_out; } template void basic_regex_formatter::format_all() { // over and over: while(m_position != m_end) { switch(*m_position) { case '&': if(m_flags & ::boost::regex_constants::format_sed) { ++m_position; put(m_results[0]); break; } put(*m_position++); break; case '\\': format_escape(); break; case '(': if(m_flags & boost::regex_constants::format_all) { ++m_position; bool have_conditional = m_have_conditional; m_have_conditional = false; format_until_scope_end(); m_have_conditional = have_conditional; if(m_position == m_end) return; BOOST_REGEX_ASSERT(*m_position == static_cast(')')); ++m_position; // skip the closing ')' break; } put(*m_position); ++m_position; break; case ')': if(m_flags & boost::regex_constants::format_all) { return; } put(*m_position); ++m_position; break; case ':': if((m_flags & boost::regex_constants::format_all) && m_have_conditional) { return; } put(*m_position); ++m_position; break; case '?': if(m_flags & boost::regex_constants::format_all) { ++m_position; format_conditional(); break; } put(*m_position); ++m_position; break; case '$': if((m_flags & format_sed) == 0) { format_perl(); break; } // not a special character: BOOST_REGEX_FALLTHROUGH; default: put(*m_position); ++m_position; break; } } } template void basic_regex_formatter::format_perl() { // // On entry *m_position points to a '$' character // output the information that goes with it: // BOOST_REGEX_ASSERT(*m_position == '$'); // // see if this is a trailing '$': // if(++m_position == m_end) { --m_position; put(*m_position); ++m_position; return; } // // OK find out what kind it is: // bool have_brace = false; ForwardIter save_position = m_position; switch(*m_position) { case '&': ++m_position; put(this->m_results[0]); break; case '`': ++m_position; put(this->m_results.prefix()); break; case '\'': ++m_position; put(this->m_results.suffix()); break; case '$': put(*m_position++); break; case '+': if((++m_position != m_end) && (*m_position == '{')) { ForwardIter base = ++m_position; while((m_position != m_end) && (*m_position != '}')) ++m_position; if(m_position != m_end) { // Named sub-expression: put(get_named_sub(base, m_position)); ++m_position; break; } else { m_position = --base; } } put((this->m_results)[this->m_results.size() > 1 ? static_cast(this->m_results.size() - 1) : 1]); break; case '{': have_brace = true; ++m_position; BOOST_REGEX_FALLTHROUGH; default: // see if we have a number: { std::ptrdiff_t len = std::distance(m_position, m_end); //len = (std::min)(static_cast(2), len); int v = this->toi(m_position, m_position + len, 10); if((v < 0) || (have_brace && ((m_position == m_end) || (*m_position != '}')))) { // Look for a Perl-5.10 verb: if(!handle_perl_verb(have_brace)) { // leave the $ as is, and carry on: m_position = --save_position; put(*m_position); ++m_position; } break; } // otherwise output sub v: put(this->m_results[v]); if(have_brace) ++m_position; } } } template bool basic_regex_formatter::handle_perl_verb(bool have_brace) { // // We may have a capitalised string containing a Perl action: // static const char_type MATCH[] = { 'M', 'A', 'T', 'C', 'H' }; static const char_type PREMATCH[] = { 'P', 'R', 'E', 'M', 'A', 'T', 'C', 'H' }; static const char_type POSTMATCH[] = { 'P', 'O', 'S', 'T', 'M', 'A', 'T', 'C', 'H' }; static const char_type LAST_PAREN_MATCH[] = { 'L', 'A', 'S', 'T', '_', 'P', 'A', 'R', 'E', 'N', '_', 'M', 'A', 'T', 'C', 'H' }; static const char_type LAST_SUBMATCH_RESULT[] = { 'L', 'A', 'S', 'T', '_', 'S', 'U', 'B', 'M', 'A', 'T', 'C', 'H', '_', 'R', 'E', 'S', 'U', 'L', 'T' }; static const char_type LAST_SUBMATCH_RESULT_ALT[] = { '^', 'N' }; if(m_position == m_end) return false; if(have_brace && (*m_position == '^')) ++m_position; std::ptrdiff_t max_len = m_end - m_position; if((max_len >= 5) && std::equal(m_position, m_position + 5, MATCH)) { m_position += 5; if(have_brace) { if((m_position != m_end) && (*m_position == '}')) ++m_position; else { m_position -= 5; return false; } } put(this->m_results[0]); return true; } if((max_len >= 8) && std::equal(m_position, m_position + 8, PREMATCH)) { m_position += 8; if(have_brace) { if((m_position != m_end) && (*m_position == '}')) ++m_position; else { m_position -= 8; return false; } } put(this->m_results.prefix()); return true; } if((max_len >= 9) && std::equal(m_position, m_position + 9, POSTMATCH)) { m_position += 9; if(have_brace) { if((m_position != m_end) && (*m_position == '}')) ++m_position; else { m_position -= 9; return false; } } put(this->m_results.suffix()); return true; } if((max_len >= 16) && std::equal(m_position, m_position + 16, LAST_PAREN_MATCH)) { m_position += 16; if(have_brace) { if((m_position != m_end) && (*m_position == '}')) ++m_position; else { m_position -= 16; return false; } } put((this->m_results)[this->m_results.size() > 1 ? static_cast(this->m_results.size() - 1) : 1]); return true; } if((max_len >= 20) && std::equal(m_position, m_position + 20, LAST_SUBMATCH_RESULT)) { m_position += 20; if(have_brace) { if((m_position != m_end) && (*m_position == '}')) ++m_position; else { m_position -= 20; return false; } } put(this->m_results.get_last_closed_paren()); return true; } if((max_len >= 2) && std::equal(m_position, m_position + 2, LAST_SUBMATCH_RESULT_ALT)) { m_position += 2; if(have_brace) { if((m_position != m_end) && (*m_position == '}')) ++m_position; else { m_position -= 2; return false; } } put(this->m_results.get_last_closed_paren()); return true; } return false; } template void basic_regex_formatter::format_escape() { // skip the escape and check for trailing escape: if(++m_position == m_end) { put(static_cast('\\')); return; } // now switch on the escape type: switch(*m_position) { case 'a': put(static_cast('\a')); ++m_position; break; case 'f': put(static_cast('\f')); ++m_position; break; case 'n': put(static_cast('\n')); ++m_position; break; case 'r': put(static_cast('\r')); ++m_position; break; case 't': put(static_cast('\t')); ++m_position; break; case 'v': put(static_cast('\v')); ++m_position; break; case 'x': if(++m_position == m_end) { put(static_cast('x')); return; } // maybe have \x{ddd} if(*m_position == static_cast('{')) { ++m_position; int val = this->toi(m_position, m_end, 16); if(val < 0) { // invalid value treat everything as literals: put(static_cast('x')); put(static_cast('{')); return; } if((m_position == m_end) || (*m_position != static_cast('}'))) { --m_position; while(*m_position != static_cast('\\')) --m_position; ++m_position; put(*m_position++); return; } ++m_position; put(static_cast(val)); return; } else { std::ptrdiff_t len = std::distance(m_position, m_end); len = (std::min)(static_cast(2), len); int val = this->toi(m_position, m_position + len, 16); if(val < 0) { --m_position; put(*m_position++); return; } put(static_cast(val)); } break; case 'c': if(++m_position == m_end) { --m_position; put(*m_position++); return; } put(static_cast(*m_position++ % 32)); break; case 'e': put(static_cast(27)); ++m_position; break; default: // see if we have a perl specific escape: if((m_flags & boost::regex_constants::format_sed) == 0) { bool breakout = false; switch(*m_position) { case 'l': ++m_position; m_restore_state = m_state; m_state = output_next_lower; breakout = true; break; case 'L': ++m_position; m_state = output_lower; breakout = true; break; case 'u': ++m_position; m_restore_state = m_state; m_state = output_next_upper; breakout = true; break; case 'U': ++m_position; m_state = output_upper; breakout = true; break; case 'E': ++m_position; m_state = output_copy; breakout = true; break; } if(breakout) break; } // see if we have a \n sed style backreference: std::ptrdiff_t len = std::distance(m_position, m_end); len = (std::min)(static_cast(1), len); int v = this->toi(m_position, m_position+len, 10); if((v > 0) || ((v == 0) && (m_flags & ::boost::regex_constants::format_sed))) { put(m_results[v]); break; } else if(v == 0) { // octal ecape sequence: --m_position; len = std::distance(m_position, m_end); len = (std::min)(static_cast(4), len); v = this->toi(m_position, m_position + len, 8); BOOST_REGEX_ASSERT(v >= 0); put(static_cast(v)); break; } // Otherwise output the character "as is": put(*m_position++); break; } } template void basic_regex_formatter::format_conditional() { if(m_position == m_end) { // oops trailing '?': put(static_cast('?')); return; } int v; if(*m_position == '{') { ForwardIter base = m_position; ++m_position; v = this->toi(m_position, m_end, 10); if(v < 0) { // Try a named subexpression: while((m_position != m_end) && (*m_position != '}')) ++m_position; v = this->get_named_sub_index(base + 1, m_position); } if((v < 0) || (*m_position != '}')) { m_position = base; // oops trailing '?': put(static_cast('?')); return; } // Skip trailing '}': ++m_position; } else { std::ptrdiff_t len = std::distance(m_position, m_end); len = (std::min)(static_cast(2), len); v = this->toi(m_position, m_position + len, 10); } if(v < 0) { // oops not a number: put(static_cast('?')); return; } // output varies depending upon whether sub-expression v matched or not: if(m_results[v].matched) { m_have_conditional = true; format_all(); m_have_conditional = false; if((m_position != m_end) && (*m_position == static_cast(':'))) { // skip the ':': ++m_position; // save output state, then turn it off: output_state saved_state = m_state; m_state = output_none; // format the rest of this scope: format_until_scope_end(); // restore output state: m_state = saved_state; } } else { // save output state, then turn it off: output_state saved_state = m_state; m_state = output_none; // format until ':' or ')': m_have_conditional = true; format_all(); m_have_conditional = false; // restore state: m_state = saved_state; if((m_position != m_end) && (*m_position == static_cast(':'))) { // skip the ':': ++m_position; // format the rest of this scope: format_until_scope_end(); } } } template void basic_regex_formatter::format_until_scope_end() { do { format_all(); if((m_position == m_end) || (*m_position == static_cast(')'))) return; put(*m_position++); }while(m_position != m_end); } template void basic_regex_formatter::put(char_type c) { // write a single character to output // according to which case translation mode we are in: switch(this->m_state) { case output_none: return; case output_next_lower: c = m_traits.tolower(c); this->m_state = m_restore_state; break; case output_next_upper: c = m_traits.toupper(c); this->m_state = m_restore_state; break; case output_lower: c = m_traits.tolower(c); break; case output_upper: c = m_traits.toupper(c); break; default: break; } *m_out = c; ++m_out; } template void basic_regex_formatter::put(const sub_match_type& sub) { typedef typename sub_match_type::iterator iterator_type; iterator_type i = sub.first; while(i != sub.second) { put(*i); ++i; } } template class string_out_iterator { S* out; public: string_out_iterator(S& s) : out(&s) {} string_out_iterator& operator++() { return *this; } string_out_iterator& operator++(int) { return *this; } string_out_iterator& operator*() { return *this; } string_out_iterator& operator=(typename S::value_type v) { out->append(1, v); return *this; } typedef std::ptrdiff_t difference_type; typedef typename S::value_type value_type; typedef value_type* pointer; typedef value_type& reference; typedef std::output_iterator_tag iterator_category; }; template OutputIterator regex_format_imp(OutputIterator out, const match_results& m, ForwardIter p1, ForwardIter p2, match_flag_type flags, const traits& t ) { if(flags & regex_constants::format_literal) { return BOOST_REGEX_DETAIL_NS::copy(p1, p2, out); } BOOST_REGEX_DETAIL_NS::basic_regex_formatter< OutputIterator, match_results, traits, ForwardIter> f(out, m, t); return f.format(p1, p2, flags); } template struct has_const_iterator { template static typename U::const_iterator tester(U*); static char tester(...); static T* get(); static const bool value = sizeof(tester(get())) != sizeof(char); }; struct any_type { template any_type(const T&); template any_type(const T&, const U&); template any_type(const T&, const U&, const V&); }; typedef char no_type; typedef char (&unary_type)[2]; typedef char (&binary_type)[3]; typedef char (&ternary_type)[4]; no_type check_is_formatter(unary_type, binary_type, ternary_type); template unary_type check_is_formatter(T const &, binary_type, ternary_type); template binary_type check_is_formatter(unary_type, T const &, ternary_type); template binary_type check_is_formatter(T const &, U const &, ternary_type); template ternary_type check_is_formatter(unary_type, binary_type, T const &); template ternary_type check_is_formatter(T const &, binary_type, U const &); template ternary_type check_is_formatter(unary_type, T const &, U const &); template ternary_type check_is_formatter(T const &, U const &, V const &); struct unary_binary_ternary { typedef unary_type (*unary_fun)(any_type); typedef binary_type (*binary_fun)(any_type, any_type); typedef ternary_type (*ternary_fun)(any_type, any_type, any_type); operator unary_fun(); operator binary_fun(); operator ternary_fun(); }; template::value> struct formatter_wrapper : Formatter , unary_binary_ternary { formatter_wrapper(){} }; template struct formatter_wrapper : unary_binary_ternary { operator Formatter *(); }; template struct formatter_wrapper : unary_binary_ternary { operator Formatter *(); }; template struct do_unwrap_reference { typedef T type; }; template struct do_unwrap_reference > { typedef T type; }; template T& do_unwrap_ref(T& r) { return r; } template T& do_unwrap_ref(std::reference_wrapper const& r) { return r.get(); } template struct format_traits_imp { private: // // F must be a pointer, a function, or a class with a function call operator: // static_assert((::std::is_pointer::value || ::std::is_function::value || ::std::is_class::value), "The functor must be a pointer or a class with a function call operator"); static formatter_wrapper::type> f; static M m; static O out; static boost::regex_constants::match_flag_type flags; public: static const int value = sizeof(check_is_formatter(f(m), f(m, out), f(m, out, flags))); }; template struct format_traits { public: // // Type is std::integral_constant where N is one of: // // 0 : F is a pointer to a presumably null-terminated string. // 1 : F is a character-container such as a std::string. // 2 : F is a Unary Functor. // 3 : F is a Binary Functor. // 4 : F is a Ternary Functor. // typedef typename std::conditional< std::is_pointer::value && !std::is_function::type>::value, std::integral_constant, typename std::conditional< has_const_iterator::value, std::integral_constant, std::integral_constant::value> >::type >::type type; // // This static assertion will fail if the functor passed does not accept // the same type of arguments passed. // static_assert( std::is_class::value && !has_const_iterator::value ? (type::value > 1) : true, "Argument mismatch in Functor type"); }; template struct format_functor3 { format_functor3(Base b) : func(b) {} template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f) { return do_unwrap_ref(func)(m, i, f); } template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&) { return (*this)(m, i, f); } private: Base func; format_functor3(const format_functor3&); format_functor3& operator=(const format_functor3&); }; template struct format_functor2 { format_functor2(Base b) : func(b) {} template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/) { return do_unwrap_ref(func)(m, i); } template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&) { return (*this)(m, i, f); } private: Base func; format_functor2(const format_functor2&); format_functor2& operator=(const format_functor2&); }; template struct format_functor1 { format_functor1(Base b) : func(b) {} template OutputIter do_format_string(const S& s, OutputIter i) { return std::copy(s.begin(), s.end(), i); } template inline OutputIter do_format_string(const S* s, OutputIter i) { while(s && *s) { *i = *s; ++i; ++s; } return i; } template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type /*f*/) { return do_format_string(do_unwrap_ref(func)(m), i); } template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits&) { return (*this)(m, i, f); } private: Base func; format_functor1(const format_functor1&); format_functor1& operator=(const format_functor1&); }; template struct format_functor_c_string { format_functor_c_string(const charT* ps) : func(ps) {} template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits()) { //typedef typename Match::char_type char_type; const charT* end = func; while(*end) ++end; return regex_format_imp(i, m, func, end, f, t); } private: const charT* func; format_functor_c_string(const format_functor_c_string&); format_functor_c_string& operator=(const format_functor_c_string&); }; template struct format_functor_container { format_functor_container(const Container& c) : func(c) {} template OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits()) { //typedef typename Match::char_type char_type; return BOOST_REGEX_DETAIL_NS::regex_format_imp(i, m, func.begin(), func.end(), f, t); } private: const Container& func; format_functor_container(const format_functor_container&); format_functor_container& operator=(const format_functor_container&); }; template > struct compute_functor_type { typedef typename format_traits::type tag; typedef typename std::remove_cv< typename std::remove_pointer::type>::type maybe_char_type; typedef typename std::conditional< tag::value == 0, format_functor_c_string, typename std::conditional< tag::value == 1, format_functor_container, typename std::conditional< tag::value == 2, format_functor1, typename std::conditional< tag::value == 3, format_functor2, format_functor3 >::type >::type >::type >::type type; }; } // namespace BOOST_REGEX_DETAIL_NS template inline OutputIterator regex_format(OutputIterator out, const match_results& m, Functor fmt, match_flag_type flags = format_all ) { return m.format(out, fmt, flags); } template inline std::basic_string::char_type> regex_format(const match_results& m, Functor fmt, match_flag_type flags = format_all) { return m.format(fmt, flags); } } // namespace boost #endif // BOOST_REGEX_FORMAT_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_fwd.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_fwd.cpp * VERSION see * DESCRIPTION: Forward declares boost::basic_regex<> and * associated typedefs. */ #ifndef BOOST_REGEX_FWD_HPP_INCLUDED #define BOOST_REGEX_FWD_HPP_INCLUDED #ifndef BOOST_REGEX_CONFIG_HPP #include #endif // // define BOOST_REGEX_NO_FWD if this // header doesn't work! // #ifdef BOOST_REGEX_NO_FWD # ifndef BOOST_RE_REGEX_HPP # include # endif #else namespace boost{ template class cpp_regex_traits; template struct c_regex_traits; template class w32_regex_traits; #ifdef BOOST_REGEX_USE_WIN32_LOCALE template > struct regex_traits; #elif defined(BOOST_REGEX_USE_CPP_LOCALE) template > struct regex_traits; #else template > struct regex_traits; #endif template > class basic_regex; typedef basic_regex > regex; #ifndef BOOST_NO_WREGEX typedef basic_regex > wregex; #endif } // namespace boost #endif // BOOST_REGEX_NO_FWD #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_grep.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_grep.hpp * VERSION see * DESCRIPTION: Provides regex_grep implementation. */ #ifndef BOOST_REGEX_V5_REGEX_GREP_HPP #define BOOST_REGEX_V5_REGEX_GREP_HPP namespace boost{ // // regex_grep: // find all non-overlapping matches within the sequence first last: // template inline unsigned int regex_grep(Predicate foo, BidiIterator first, BidiIterator last, const basic_regex& e, match_flag_type flags = match_default) { if(e.flags() & regex_constants::failbit) return false; typedef typename match_results::allocator_type match_allocator_type; match_results m; BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, first); unsigned int count = 0; while(matcher.find()) { ++count; if(0 == foo(m)) return count; // caller doesn't want to go on if(m[0].second == last) return count; // we've reached the end, don't try and find an extra null match. if(m.length() == 0) { if(m[0].second == last) return count; // we found a NULL-match, now try to find // a non-NULL one at the same position: match_results m2(m); matcher.setf(match_not_null | match_continuous); if(matcher.find()) { ++count; if(0 == foo(m)) return count; } else { // reset match back to where it was: m = m2; } matcher.unsetf((match_not_null | match_continuous) & ~flags); } } return count; } // // regex_grep convenience interfaces: // template inline unsigned int regex_grep(Predicate foo, const charT* str, const basic_regex& e, match_flag_type flags = match_default) { return regex_grep(foo, str, str + traits::length(str), e, flags); } template inline unsigned int regex_grep(Predicate foo, const std::basic_string& s, const basic_regex& e, match_flag_type flags = match_default) { return regex_grep(foo, s.begin(), s.end(), e, flags); } } // namespace boost #endif // BOOST_REGEX_V5_REGEX_GREP_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_iterator.hpp ================================================ /* * * Copyright (c) 2003 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_iterator.hpp * VERSION see * DESCRIPTION: Provides regex_iterator implementation. */ #ifndef BOOST_REGEX_V5_REGEX_ITERATOR_HPP #define BOOST_REGEX_V5_REGEX_ITERATOR_HPP #include namespace boost{ template class regex_iterator_implementation { typedef basic_regex regex_type; match_results what; // current match BidirectionalIterator base; // start of sequence BidirectionalIterator end; // end of sequence const regex_type re; // the expression match_flag_type flags; // flags for matching public: regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f) : base(), end(last), re(*p), flags(f){} regex_iterator_implementation(const regex_iterator_implementation& other) :what(other.what), base(other.base), end(other.end), re(other.re), flags(other.flags){} bool init(BidirectionalIterator first) { base = first; return regex_search(first, end, what, re, flags); } bool compare(const regex_iterator_implementation& that) { if(this == &that) return true; return (&re.get_data() == &that.re.get_data()) && (end == that.end) && (flags == that.flags) && (what[0].first == that.what[0].first) && (what[0].second == that.what[0].second); } const match_results& get() { return what; } bool next() { //if(what.prefix().first != what[0].second) // flags |= match_prev_avail; BidirectionalIterator next_start = what[0].second; match_flag_type f(flags); if(!what.length() || (f & regex_constants::match_posix)) f |= regex_constants::match_not_initial_null; //if(base != next_start) // f |= regex_constants::match_not_bob; bool result = regex_search(next_start, end, what, re, f, base); if(result) what.set_base(base); return result; } private: regex_iterator_implementation& operator=(const regex_iterator_implementation&); }; template ::value_type, class traits = regex_traits > class regex_iterator { private: typedef regex_iterator_implementation impl; typedef std::shared_ptr pimpl; public: typedef basic_regex regex_type; typedef match_results value_type; typedef typename std::iterator_traits::difference_type difference_type; typedef const value_type* pointer; typedef const value_type& reference; typedef std::forward_iterator_tag iterator_category; regex_iterator(){} regex_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, match_flag_type m = match_default) : pdata(new impl(&re, b, m)) { if(!pdata->init(a)) { pdata.reset(); } } regex_iterator(const regex_iterator& that) : pdata(that.pdata) {} regex_iterator& operator=(const regex_iterator& that) { pdata = that.pdata; return *this; } bool operator==(const regex_iterator& that)const { if((pdata.get() == 0) || (that.pdata.get() == 0)) return pdata.get() == that.pdata.get(); return pdata->compare(*(that.pdata.get())); } bool operator!=(const regex_iterator& that)const { return !(*this == that); } const value_type& operator*()const { return pdata->get(); } const value_type* operator->()const { return &(pdata->get()); } regex_iterator& operator++() { cow(); if(0 == pdata->next()) { pdata.reset(); } return *this; } regex_iterator operator++(int) { regex_iterator result(*this); ++(*this); return result; } private: pimpl pdata; void cow() { // copy-on-write if(pdata.get() && (pdata.use_count() > 1)) { pdata.reset(new impl(*(pdata.get()))); } } }; typedef regex_iterator cregex_iterator; typedef regex_iterator sregex_iterator; #ifndef BOOST_NO_WREGEX typedef regex_iterator wcregex_iterator; typedef regex_iterator wsregex_iterator; #endif // make_regex_iterator: template inline regex_iterator make_regex_iterator(const charT* p, const basic_regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_iterator(p, p+traits::length(p), e, m); } template inline regex_iterator::const_iterator, charT, traits> make_regex_iterator(const std::basic_string& p, const basic_regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, m); } } // namespace boost #endif // BOOST_REGEX_V5_REGEX_ITERATOR_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_match.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_match.hpp * VERSION see * DESCRIPTION: Regular expression matching algorithms. * Note this is an internal header file included * by regex.hpp, do not include on its own. */ #ifndef BOOST_REGEX_MATCH_HPP #define BOOST_REGEX_MATCH_HPP namespace boost{ // // proc regex_match // returns true if the specified regular expression matches // the whole of the input. Fills in what matched in m. // template bool regex_match(BidiIterator first, BidiIterator last, match_results& m, const basic_regex& e, match_flag_type flags = match_default) { BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, first); return matcher.match(); } template bool regex_match(iterator first, iterator last, const basic_regex& e, match_flag_type flags = match_default) { match_results m; return regex_match(first, last, m, e, flags | regex_constants::match_any); } // // query_match convenience interfaces: // template inline bool regex_match(const charT* str, match_results& m, const basic_regex& e, match_flag_type flags = match_default) { return regex_match(str, str + traits::length(str), m, e, flags); } template inline bool regex_match(const std::basic_string& s, match_results::const_iterator, Allocator>& m, const basic_regex& e, match_flag_type flags = match_default) { return regex_match(s.begin(), s.end(), m, e, flags); } template inline bool regex_match(const charT* str, const basic_regex& e, match_flag_type flags = match_default) { match_results m; return regex_match(str, str + traits::length(str), m, e, flags | regex_constants::match_any); } template inline bool regex_match(const std::basic_string& s, const basic_regex& e, match_flag_type flags = match_default) { typedef typename std::basic_string::const_iterator iterator; match_results m; return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any); } } // namespace boost #endif // BOOST_REGEX_MATCH_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_merge.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_format.hpp * VERSION see * DESCRIPTION: Provides formatting output routines for search and replace * operations. Note this is an internal header file included * by regex.hpp, do not include on its own. */ #ifndef BOOST_REGEX_V5_REGEX_MERGE_HPP #define BOOST_REGEX_V5_REGEX_MERGE_HPP namespace boost{ template inline OutputIterator regex_merge(OutputIterator out, Iterator first, Iterator last, const basic_regex& e, const charT* fmt, match_flag_type flags = match_default) { return regex_replace(out, first, last, e, fmt, flags); } template inline OutputIterator regex_merge(OutputIterator out, Iterator first, Iterator last, const basic_regex& e, const std::basic_string& fmt, match_flag_type flags = match_default) { return regex_merge(out, first, last, e, fmt.c_str(), flags); } template inline std::basic_string regex_merge(const std::basic_string& s, const basic_regex& e, const charT* fmt, match_flag_type flags = match_default) { return regex_replace(s, e, fmt, flags); } template inline std::basic_string regex_merge(const std::basic_string& s, const basic_regex& e, const std::basic_string& fmt, match_flag_type flags = match_default) { return regex_replace(s, e, fmt, flags); } } // namespace boost #endif // BOOST_REGEX_V5_REGEX_MERGE_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_raw_buffer.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_raw_buffer.hpp * VERSION see * DESCRIPTION: Raw character buffer for regex code. * Note this is an internal header file included * by regex.hpp, do not include on its own. */ #ifndef BOOST_REGEX_RAW_BUFFER_HPP #define BOOST_REGEX_RAW_BUFFER_HPP #ifndef BOOST_REGEX_CONFIG_HPP #include #endif #include #include namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ struct empty_padding{}; union padding { void* p; unsigned int i; }; template struct padding3 { enum{ padding_size = 8, padding_mask = 7 }; }; template<> struct padding3<2> { enum{ padding_size = 2, padding_mask = 1 }; }; template<> struct padding3<4> { enum{ padding_size = 4, padding_mask = 3 }; }; template<> struct padding3<8> { enum{ padding_size = 8, padding_mask = 7 }; }; template<> struct padding3<16> { enum{ padding_size = 16, padding_mask = 15 }; }; enum{ padding_size = padding3::padding_size, padding_mask = padding3::padding_mask }; // // class raw_storage // basically this is a simplified vector // this is used by basic_regex for expression storage // class raw_storage { public: typedef std::size_t size_type; typedef unsigned char* pointer; private: pointer last, start, end; public: raw_storage(); raw_storage(size_type n); ~raw_storage() { ::operator delete(start); } void resize(size_type n) { size_type newsize = start ? last - start : 1024; while (newsize < n) newsize *= 2; size_type datasize = end - start; // extend newsize to WORD/DWORD boundary: newsize = (newsize + padding_mask) & ~(padding_mask); // allocate and copy data: pointer ptr = static_cast(::operator new(newsize)); BOOST_REGEX_NOEH_ASSERT(ptr) if (start) std::memcpy(ptr, start, datasize); // get rid of old buffer: ::operator delete(start); // and set up pointers: start = ptr; end = ptr + datasize; last = ptr + newsize; } void* extend(size_type n) { if(size_type(last - end) < n) resize(n + (end - start)); pointer result = end; end += n; return result; } void* insert(size_type pos, size_type n) { BOOST_REGEX_ASSERT(pos <= size_type(end - start)); if (size_type(last - end) < n) resize(n + (end - start)); void* result = start + pos; std::memmove(start + pos + n, start + pos, (end - start) - pos); end += n; return result; } size_type size() { return size_type(end - start); } size_type capacity() { return size_type(last - start); } void* data()const { return start; } size_type index(void* ptr) { return size_type(static_cast(ptr) - static_cast(data())); } void clear() { end = start; } void align() { // move end up to a boundary: end = start + (((end - start) + padding_mask) & ~padding_mask); } void swap(raw_storage& that) { std::swap(start, that.start); std::swap(end, that.end); std::swap(last, that.last); } }; inline raw_storage::raw_storage() { last = start = end = 0; } inline raw_storage::raw_storage(size_type n) { start = end = static_cast(::operator new(n)); BOOST_REGEX_NOEH_ASSERT(start) last = start + n; } } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_replace.hpp ================================================ /* * * Copyright (c) 1998-2009 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_format.hpp * VERSION see * DESCRIPTION: Provides formatting output routines for search and replace * operations. Note this is an internal header file included * by regex.hpp, do not include on its own. */ #ifndef BOOST_REGEX_V5_REGEX_REPLACE_HPP #define BOOST_REGEX_V5_REGEX_REPLACE_HPP namespace boost{ template OutputIterator regex_replace(OutputIterator out, BidirectionalIterator first, BidirectionalIterator last, const basic_regex& e, Formatter fmt, match_flag_type flags = match_default) { regex_iterator i(first, last, e, flags); regex_iterator j; if(i == j) { if(!(flags & regex_constants::format_no_copy)) out = BOOST_REGEX_DETAIL_NS::copy(first, last, out); } else { BidirectionalIterator last_m(first); while(i != j) { if(!(flags & regex_constants::format_no_copy)) out = BOOST_REGEX_DETAIL_NS::copy(i->prefix().first, i->prefix().second, out); out = i->format(out, fmt, flags, e); last_m = (*i)[0].second; if(flags & regex_constants::format_first_only) break; ++i; } if(!(flags & regex_constants::format_no_copy)) out = BOOST_REGEX_DETAIL_NS::copy(last_m, last, out); } return out; } template std::basic_string regex_replace(const std::basic_string& s, const basic_regex& e, Formatter fmt, match_flag_type flags = match_default) { std::basic_string result; BOOST_REGEX_DETAIL_NS::string_out_iterator > i(result); regex_replace(i, s.begin(), s.end(), e, fmt, flags); return result; } } // namespace boost #endif // BOOST_REGEX_V5_REGEX_REPLACE_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_search.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_search.hpp * VERSION see * DESCRIPTION: Provides regex_search implementation. */ #ifndef BOOST_REGEX_V5_REGEX_SEARCH_HPP #define BOOST_REGEX_V5_REGEX_SEARCH_HPP namespace boost{ template bool regex_search(BidiIterator first, BidiIterator last, match_results& m, const basic_regex& e, match_flag_type flags = match_default) { return regex_search(first, last, m, e, flags, first); } template bool regex_search(BidiIterator first, BidiIterator last, match_results& m, const basic_regex& e, match_flag_type flags, BidiIterator base) { if(e.flags() & regex_constants::failbit) return false; BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags, base); return matcher.find(); } // // regex_search convenience interfaces: // template inline bool regex_search(const charT* str, match_results& m, const basic_regex& e, match_flag_type flags = match_default) { return regex_search(str, str + traits::length(str), m, e, flags); } template inline bool regex_search(const std::basic_string& s, match_results::const_iterator, Allocator>& m, const basic_regex& e, match_flag_type flags = match_default) { return regex_search(s.begin(), s.end(), m, e, flags); } template bool regex_search(BidiIterator first, BidiIterator last, const basic_regex& e, match_flag_type flags = match_default) { if(e.flags() & regex_constants::failbit) return false; match_results m; typedef typename match_results::allocator_type match_alloc_type; BOOST_REGEX_DETAIL_NS::perl_matcher matcher(first, last, m, e, flags | regex_constants::match_any, first); return matcher.find(); } template inline bool regex_search(const charT* str, const basic_regex& e, match_flag_type flags = match_default) { return regex_search(str, str + traits::length(str), e, flags); } template inline bool regex_search(const std::basic_string& s, const basic_regex& e, match_flag_type flags = match_default) { return regex_search(s.begin(), s.end(), e, flags); } } // namespace boost #endif // BOOST_REGEX_V5_REGEX_SEARCH_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_split.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_split.hpp * VERSION see * DESCRIPTION: Implements regex_split and associated functions. * Note this is an internal header file included * by regex.hpp, do not include on its own. */ #ifndef BOOST_REGEX_SPLIT_HPP #define BOOST_REGEX_SPLIT_HPP namespace boost{ #ifdef BOOST_REGEX_MSVC # pragma warning(push) #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif namespace BOOST_REGEX_DETAIL_NS{ template const basic_regex& get_default_expression(charT) { static const charT expression_text[4] = { '\\', 's', '+', '\00', }; static const basic_regex e(expression_text); return e; } template class split_pred { typedef std::basic_string string_type; typedef typename string_type::const_iterator iterator_type; iterator_type* p_last; OutputIterator* p_out; std::size_t* p_max; std::size_t initial_max; public: split_pred(iterator_type* a, OutputIterator* b, std::size_t* c) : p_last(a), p_out(b), p_max(c), initial_max(*c) {} bool operator()(const match_results& what); }; template bool split_pred::operator() (const match_results& what) { *p_last = what[0].second; if(what.size() > 1) { // output sub-expressions only: for(unsigned i = 1; i < what.size(); ++i) { *(*p_out) = what.str(i); ++(*p_out); if(0 == --*p_max) return false; } return *p_max != 0; } else { // output $` only if it's not-null or not at the start of the input: const sub_match& sub = what[-1]; if((sub.first != sub.second) || (*p_max != initial_max)) { *(*p_out) = sub.str(); ++(*p_out); return --*p_max; } } // // initial null, do nothing: return true; } } // namespace BOOST_REGEX_DETAIL_NS template std::size_t regex_split(OutputIterator out, std::basic_string& s, const basic_regex& e, match_flag_type flags, std::size_t max_split) { typedef typename std::basic_string::const_iterator ci_t; //typedef typename match_results::allocator_type match_allocator; ci_t last = s.begin(); std::size_t init_size = max_split; BOOST_REGEX_DETAIL_NS::split_pred pred(&last, &out, &max_split); ci_t i, j; i = s.begin(); j = s.end(); regex_grep(pred, i, j, e, flags); // // if there is still input left, do a final push as long as max_split // is not exhausted, and we're not splitting sub-expressions rather // than whitespace: if(max_split && (last != s.end()) && (e.mark_count() == 0)) { *out = std::basic_string((ci_t)last, (ci_t)s.end()); ++out; last = s.end(); --max_split; } // // delete from the string everything that has been processed so far: s.erase(0, last - s.begin()); // // return the number of new records pushed: return init_size - max_split; } template inline std::size_t regex_split(OutputIterator out, std::basic_string& s, const basic_regex& e, match_flag_type flags = match_default) { return regex_split(out, s, e, flags, UINT_MAX); } template inline std::size_t regex_split(OutputIterator out, std::basic_string& s) { return regex_split(out, s, BOOST_REGEX_DETAIL_NS::get_default_expression(charT(0)), match_default, UINT_MAX); } #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_token_iterator.hpp ================================================ /* * * Copyright (c) 2003 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_token_iterator.hpp * VERSION see * DESCRIPTION: Provides regex_token_iterator implementation. */ #ifndef BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP #define BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP #include namespace boost{ template class regex_token_iterator_implementation { typedef basic_regex regex_type; typedef sub_match value_type; match_results what; // current match BidirectionalIterator base; // start of search area BidirectionalIterator end; // end of search area const regex_type re; // the expression match_flag_type flags; // match flags value_type result; // the current string result int N; // the current sub-expression being enumerated std::vector subs; // the sub-expressions to enumerate public: regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f) : end(last), re(*p), flags(f), N(0){ subs.push_back(sub); } regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector& v, match_flag_type f) : end(last), re(*p), flags(f), N(0), subs(v){} template regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f) : end(last), re(*p), flags(f), N(0) { for(std::size_t i = 0; i < CN; ++i) { subs.push_back(submatches[i]); } } regex_token_iterator_implementation(const regex_token_iterator_implementation& other) = default; bool init(BidirectionalIterator first) { N = 0; base = first; if(regex_search(first, end, what, re, flags, base) == true) { N = 0; result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]); return true; } else if((subs[N] == -1) && (first != end)) { result.first = first; result.second = end; result.matched = (first != end); N = -1; return true; } return false; } bool compare(const regex_token_iterator_implementation& that) { if(this == &that) return true; return (&re.get_data() == &that.re.get_data()) && (end == that.end) && (flags == that.flags) && (N == that.N) && (what[0].first == that.what[0].first) && (what[0].second == that.what[0].second); } const value_type& get() { return result; } bool next() { if(N == -1) return false; if(N+1 < (int)subs.size()) { ++N; result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); return true; } //if(what.prefix().first != what[0].second) // flags |= /*match_prev_avail |*/ regex_constants::match_not_bob; BidirectionalIterator last_end(what[0].second); if(regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base)) { N =0; result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); return true; } else if((last_end != end) && (subs[0] == -1)) { N =-1; result.first = last_end; result.second = end; result.matched = (last_end != end); return true; } return false; } private: regex_token_iterator_implementation& operator=(const regex_token_iterator_implementation&); }; template ::value_type, class traits = regex_traits > class regex_token_iterator { private: typedef regex_token_iterator_implementation impl; typedef std::shared_ptr pimpl; public: typedef basic_regex regex_type; typedef sub_match value_type; typedef typename std::iterator_traits::difference_type difference_type; typedef const value_type* pointer; typedef const value_type& reference; typedef std::forward_iterator_tag iterator_category; regex_token_iterator(){} regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, int submatch = 0, match_flag_type m = match_default) : pdata(new impl(&re, b, submatch, m)) { if(!pdata->init(a)) pdata.reset(); } regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, const std::vector& submatches, match_flag_type m = match_default) : pdata(new impl(&re, b, submatches, m)) { if(!pdata->init(a)) pdata.reset(); } template regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, const int (&submatches)[N], match_flag_type m = match_default) : pdata(new impl(&re, b, submatches, m)) { if(!pdata->init(a)) pdata.reset(); } regex_token_iterator(const regex_token_iterator& that) : pdata(that.pdata) {} regex_token_iterator& operator=(const regex_token_iterator& that) { pdata = that.pdata; return *this; } bool operator==(const regex_token_iterator& that)const { if((pdata.get() == 0) || (that.pdata.get() == 0)) return pdata.get() == that.pdata.get(); return pdata->compare(*(that.pdata.get())); } bool operator!=(const regex_token_iterator& that)const { return !(*this == that); } const value_type& operator*()const { return pdata->get(); } const value_type* operator->()const { return &(pdata->get()); } regex_token_iterator& operator++() { cow(); if(0 == pdata->next()) { pdata.reset(); } return *this; } regex_token_iterator operator++(int) { regex_token_iterator result(*this); ++(*this); return result; } private: pimpl pdata; void cow() { // copy-on-write if(pdata.get() && (pdata.use_count() > 1)) { pdata.reset(new impl(*(pdata.get()))); } } }; typedef regex_token_iterator cregex_token_iterator; typedef regex_token_iterator sregex_token_iterator; #ifndef BOOST_NO_WREGEX typedef regex_token_iterator wcregex_token_iterator; typedef regex_token_iterator wsregex_token_iterator; #endif template inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_token_iterator(p, p+traits::length(p), e, submatch, m); } template inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); } template inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { return regex_token_iterator(p, p+traits::length(p), e, submatch, m); } template inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); } template inline regex_token_iterator make_regex_token_iterator(const charT* p, const basic_regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_token_iterator(p, p+traits::length(p), e, submatch, m); } template inline regex_token_iterator::const_iterator, charT, traits> make_regex_token_iterator(const std::basic_string& p, const basic_regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return regex_token_iterator::const_iterator, charT, traits>(p.begin(), p.end(), e, submatch, m); } } // namespace boost #endif // BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_traits.hpp ================================================ /* * * Copyright (c) 2003 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_traits.hpp * VERSION see * DESCRIPTION: Declares regular expression traits classes. */ #ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED #define BOOST_REGEX_TRAITS_HPP_INCLUDED #include #include #include #include #include #include #include #if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32) # include #endif #include namespace boost{ template struct regex_traits : public implementationT { regex_traits() : implementationT() {} }; // // class regex_traits_wrapper. // this is what our implementation will actually store; // it provides default implementations of the "optional" // interfaces that we support, in addition to the // required "standard" ones: // namespace BOOST_REGEX_DETAIL_NS{ template struct has_boost_extensions_tag { template static double checker(U*, typename U::boost_extensions_tag* = nullptr); static char checker(...); static T* get(); static const bool value = sizeof(checker(get())) > 1; }; template struct default_wrapper : public BaseT { typedef typename BaseT::char_type char_type; std::string error_string(::boost::regex_constants::error_type e)const { return ::boost::BOOST_REGEX_DETAIL_NS::get_default_error_string(e); } ::boost::regex_constants::syntax_type syntax_type(char_type c)const { return (char_type(c & 0x7f) == c) ? get_default_syntax_type(static_cast(c)) : ::boost::regex_constants::syntax_char; } ::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c)const { return (char_type(c & 0x7f) == c) ? get_default_escape_syntax_type(static_cast(c)) : ::boost::regex_constants::escape_type_identity; } std::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const { return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); } char_type translate(char_type c, bool icase)const { return (icase ? this->translate_nocase(c) : this->translate(c)); } char_type translate(char_type c)const { return BaseT::translate(c); } char_type tolower(char_type c)const { return ::boost::BOOST_REGEX_DETAIL_NS::global_lower(c); } char_type toupper(char_type c)const { return ::boost::BOOST_REGEX_DETAIL_NS::global_upper(c); } }; template struct compute_wrapper_base { typedef BaseT type; }; template struct compute_wrapper_base { typedef default_wrapper type; }; } // namespace BOOST_REGEX_DETAIL_NS template struct regex_traits_wrapper : public ::boost::BOOST_REGEX_DETAIL_NS::compute_wrapper_base< BaseT, ::boost::BOOST_REGEX_DETAIL_NS::has_boost_extensions_tag::value >::type { regex_traits_wrapper(){} private: regex_traits_wrapper(const regex_traits_wrapper&); regex_traits_wrapper& operator=(const regex_traits_wrapper&); }; } // namespace boost #endif // include ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_traits_defaults.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_traits_defaults.hpp * VERSION see * DESCRIPTION: Declares API's for access to regex_traits default properties. */ #ifndef BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED #define BOOST_REGEX_TRAITS_DEFAULTS_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ // // helpers to suppress warnings: // template inline bool is_extended(charT c) { typedef typename std::make_unsigned::type unsigned_type; return (sizeof(charT) > 1) && (static_cast(c) >= 256u); } inline bool is_extended(char) { return false; } inline const char* get_default_syntax(regex_constants::syntax_type n) { // if the user hasn't supplied a message catalog, then this supplies // default "messages" for us to load in the range 1-100. const char* messages[] = { "", "(", ")", "$", "^", ".", "*", "+", "?", "[", "]", "|", "\\", "#", "-", "{", "}", "0123456789", "b", "B", "<", ">", "", "", "A`", "z'", "\n", ",", "a", "f", "n", "r", "t", "v", "x", "c", ":", "=", "e", "", "", "", "", "", "", "", "", "E", "Q", "X", "C", "Z", "G", "!", "p", "P", "N", "gk", "K", "R", }; return ((n >= (sizeof(messages) / sizeof(messages[1]))) ? "" : messages[n]); } inline const char* get_default_error_string(regex_constants::error_type n) { static const char* const s_default_error_messages[] = { "Success", /* REG_NOERROR 0 error_ok */ "No match", /* REG_NOMATCH 1 error_no_match */ "Invalid regular expression.", /* REG_BADPAT 2 error_bad_pattern */ "Invalid collation character.", /* REG_ECOLLATE 3 error_collate */ "Invalid character class name, collating name, or character range.", /* REG_ECTYPE 4 error_ctype */ "Invalid or unterminated escape sequence.", /* REG_EESCAPE 5 error_escape */ "Invalid back reference: specified capturing group does not exist.", /* REG_ESUBREG 6 error_backref */ "Unmatched [ or [^ in character class declaration.", /* REG_EBRACK 7 error_brack */ "Unmatched marking parenthesis ( or \\(.", /* REG_EPAREN 8 error_paren */ "Unmatched quantified repeat operator { or \\{.", /* REG_EBRACE 9 error_brace */ "Invalid content of repeat range.", /* REG_BADBR 10 error_badbrace */ "Invalid range end in character class", /* REG_ERANGE 11 error_range */ "Out of memory.", /* REG_ESPACE 12 error_space NOT USED */ "Invalid preceding regular expression prior to repetition operator.", /* REG_BADRPT 13 error_badrepeat */ "Premature end of regular expression", /* REG_EEND 14 error_end NOT USED */ "Regular expression is too large.", /* REG_ESIZE 15 error_size NOT USED */ "Unmatched ) or \\)", /* REG_ERPAREN 16 error_right_paren NOT USED */ "Empty regular expression.", /* REG_EMPTY 17 error_empty */ "The complexity of matching the regular expression exceeded predefined bounds. " "Try refactoring the regular expression to make each choice made by the state machine unambiguous. " "This exception is thrown to prevent \"eternal\" matches that take an " "indefinite period time to locate.", /* REG_ECOMPLEXITY 18 error_complexity */ "Ran out of stack space trying to match the regular expression.", /* REG_ESTACK 19 error_stack */ "Invalid or unterminated Perl (?...) sequence.", /* REG_E_PERL 20 error_perl */ "Unknown error.", /* REG_E_UNKNOWN 21 error_unknown */ }; return (n > ::boost::regex_constants::error_unknown) ? s_default_error_messages[::boost::regex_constants::error_unknown] : s_default_error_messages[n]; } inline regex_constants::syntax_type get_default_syntax_type(char c) { // // char_syntax determines how the compiler treats a given character // in a regular expression. // static regex_constants::syntax_type char_syntax[] = { regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_newline, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /* */ // 32 regex_constants::syntax_not, /*!*/ regex_constants::syntax_char, /*"*/ regex_constants::syntax_hash, /*#*/ regex_constants::syntax_dollar, /*$*/ regex_constants::syntax_char, /*%*/ regex_constants::syntax_char, /*&*/ regex_constants::escape_type_end_buffer, /*'*/ regex_constants::syntax_open_mark, /*(*/ regex_constants::syntax_close_mark, /*)*/ regex_constants::syntax_star, /***/ regex_constants::syntax_plus, /*+*/ regex_constants::syntax_comma, /*,*/ regex_constants::syntax_dash, /*-*/ regex_constants::syntax_dot, /*.*/ regex_constants::syntax_char, /*/*/ regex_constants::syntax_digit, /*0*/ regex_constants::syntax_digit, /*1*/ regex_constants::syntax_digit, /*2*/ regex_constants::syntax_digit, /*3*/ regex_constants::syntax_digit, /*4*/ regex_constants::syntax_digit, /*5*/ regex_constants::syntax_digit, /*6*/ regex_constants::syntax_digit, /*7*/ regex_constants::syntax_digit, /*8*/ regex_constants::syntax_digit, /*9*/ regex_constants::syntax_colon, /*:*/ regex_constants::syntax_char, /*;*/ regex_constants::escape_type_left_word, /*<*/ regex_constants::syntax_equal, /*=*/ regex_constants::escape_type_right_word, /*>*/ regex_constants::syntax_question, /*?*/ regex_constants::syntax_char, /*@*/ regex_constants::syntax_char, /*A*/ regex_constants::syntax_char, /*B*/ regex_constants::syntax_char, /*C*/ regex_constants::syntax_char, /*D*/ regex_constants::syntax_char, /*E*/ regex_constants::syntax_char, /*F*/ regex_constants::syntax_char, /*G*/ regex_constants::syntax_char, /*H*/ regex_constants::syntax_char, /*I*/ regex_constants::syntax_char, /*J*/ regex_constants::syntax_char, /*K*/ regex_constants::syntax_char, /*L*/ regex_constants::syntax_char, /*M*/ regex_constants::syntax_char, /*N*/ regex_constants::syntax_char, /*O*/ regex_constants::syntax_char, /*P*/ regex_constants::syntax_char, /*Q*/ regex_constants::syntax_char, /*R*/ regex_constants::syntax_char, /*S*/ regex_constants::syntax_char, /*T*/ regex_constants::syntax_char, /*U*/ regex_constants::syntax_char, /*V*/ regex_constants::syntax_char, /*W*/ regex_constants::syntax_char, /*X*/ regex_constants::syntax_char, /*Y*/ regex_constants::syntax_char, /*Z*/ regex_constants::syntax_open_set, /*[*/ regex_constants::syntax_escape, /*\*/ regex_constants::syntax_close_set, /*]*/ regex_constants::syntax_caret, /*^*/ regex_constants::syntax_char, /*_*/ regex_constants::syntax_char, /*`*/ regex_constants::syntax_char, /*a*/ regex_constants::syntax_char, /*b*/ regex_constants::syntax_char, /*c*/ regex_constants::syntax_char, /*d*/ regex_constants::syntax_char, /*e*/ regex_constants::syntax_char, /*f*/ regex_constants::syntax_char, /*g*/ regex_constants::syntax_char, /*h*/ regex_constants::syntax_char, /*i*/ regex_constants::syntax_char, /*j*/ regex_constants::syntax_char, /*k*/ regex_constants::syntax_char, /*l*/ regex_constants::syntax_char, /*m*/ regex_constants::syntax_char, /*n*/ regex_constants::syntax_char, /*o*/ regex_constants::syntax_char, /*p*/ regex_constants::syntax_char, /*q*/ regex_constants::syntax_char, /*r*/ regex_constants::syntax_char, /*s*/ regex_constants::syntax_char, /*t*/ regex_constants::syntax_char, /*u*/ regex_constants::syntax_char, /*v*/ regex_constants::syntax_char, /*w*/ regex_constants::syntax_char, /*x*/ regex_constants::syntax_char, /*y*/ regex_constants::syntax_char, /*z*/ regex_constants::syntax_open_brace, /*{*/ regex_constants::syntax_or, /*|*/ regex_constants::syntax_close_brace, /*}*/ regex_constants::syntax_char, /*~*/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ regex_constants::syntax_char, /**/ }; return char_syntax[(unsigned char)c]; } inline regex_constants::escape_syntax_type get_default_escape_syntax_type(char c) { // // char_syntax determines how the compiler treats a given character // in a regular expression. // static regex_constants::escape_syntax_type char_syntax[] = { regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /* */ // 32 regex_constants::escape_type_identity, /*!*/ regex_constants::escape_type_identity, /*"*/ regex_constants::escape_type_identity, /*#*/ regex_constants::escape_type_identity, /*$*/ regex_constants::escape_type_identity, /*%*/ regex_constants::escape_type_identity, /*&*/ regex_constants::escape_type_end_buffer, /*'*/ regex_constants::syntax_open_mark, /*(*/ regex_constants::syntax_close_mark, /*)*/ regex_constants::escape_type_identity, /***/ regex_constants::syntax_plus, /*+*/ regex_constants::escape_type_identity, /*,*/ regex_constants::escape_type_identity, /*-*/ regex_constants::escape_type_identity, /*.*/ regex_constants::escape_type_identity, /*/*/ regex_constants::escape_type_decimal, /*0*/ regex_constants::escape_type_backref, /*1*/ regex_constants::escape_type_backref, /*2*/ regex_constants::escape_type_backref, /*3*/ regex_constants::escape_type_backref, /*4*/ regex_constants::escape_type_backref, /*5*/ regex_constants::escape_type_backref, /*6*/ regex_constants::escape_type_backref, /*7*/ regex_constants::escape_type_backref, /*8*/ regex_constants::escape_type_backref, /*9*/ regex_constants::escape_type_identity, /*:*/ regex_constants::escape_type_identity, /*;*/ regex_constants::escape_type_left_word, /*<*/ regex_constants::escape_type_identity, /*=*/ regex_constants::escape_type_right_word, /*>*/ regex_constants::syntax_question, /*?*/ regex_constants::escape_type_identity, /*@*/ regex_constants::escape_type_start_buffer, /*A*/ regex_constants::escape_type_not_word_assert, /*B*/ regex_constants::escape_type_C, /*C*/ regex_constants::escape_type_not_class, /*D*/ regex_constants::escape_type_E, /*E*/ regex_constants::escape_type_not_class, /*F*/ regex_constants::escape_type_G, /*G*/ regex_constants::escape_type_not_class, /*H*/ regex_constants::escape_type_not_class, /*I*/ regex_constants::escape_type_not_class, /*J*/ regex_constants::escape_type_reset_start_mark, /*K*/ regex_constants::escape_type_not_class, /*L*/ regex_constants::escape_type_not_class, /*M*/ regex_constants::escape_type_named_char, /*N*/ regex_constants::escape_type_not_class, /*O*/ regex_constants::escape_type_not_property, /*P*/ regex_constants::escape_type_Q, /*Q*/ regex_constants::escape_type_line_ending, /*R*/ regex_constants::escape_type_not_class, /*S*/ regex_constants::escape_type_not_class, /*T*/ regex_constants::escape_type_not_class, /*U*/ regex_constants::escape_type_not_class, /*V*/ regex_constants::escape_type_not_class, /*W*/ regex_constants::escape_type_X, /*X*/ regex_constants::escape_type_not_class, /*Y*/ regex_constants::escape_type_Z, /*Z*/ regex_constants::escape_type_identity, /*[*/ regex_constants::escape_type_identity, /*\*/ regex_constants::escape_type_identity, /*]*/ regex_constants::escape_type_identity, /*^*/ regex_constants::escape_type_identity, /*_*/ regex_constants::escape_type_start_buffer, /*`*/ regex_constants::escape_type_control_a, /*a*/ regex_constants::escape_type_word_assert, /*b*/ regex_constants::escape_type_ascii_control, /*c*/ regex_constants::escape_type_class, /*d*/ regex_constants::escape_type_e, /*e*/ regex_constants::escape_type_control_f, /*f*/ regex_constants::escape_type_extended_backref, /*g*/ regex_constants::escape_type_class, /*h*/ regex_constants::escape_type_class, /*i*/ regex_constants::escape_type_class, /*j*/ regex_constants::escape_type_extended_backref, /*k*/ regex_constants::escape_type_class, /*l*/ regex_constants::escape_type_class, /*m*/ regex_constants::escape_type_control_n, /*n*/ regex_constants::escape_type_class, /*o*/ regex_constants::escape_type_property, /*p*/ regex_constants::escape_type_class, /*q*/ regex_constants::escape_type_control_r, /*r*/ regex_constants::escape_type_class, /*s*/ regex_constants::escape_type_control_t, /*t*/ regex_constants::escape_type_class, /*u*/ regex_constants::escape_type_control_v, /*v*/ regex_constants::escape_type_class, /*w*/ regex_constants::escape_type_hex, /*x*/ regex_constants::escape_type_class, /*y*/ regex_constants::escape_type_end_buffer, /*z*/ regex_constants::syntax_open_brace, /*{*/ regex_constants::syntax_or, /*|*/ regex_constants::syntax_close_brace, /*}*/ regex_constants::escape_type_identity, /*~*/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ regex_constants::escape_type_identity, /**/ }; return char_syntax[(unsigned char)c]; } // is charT c a combining character? inline bool is_combining_implementation(std::uint_least16_t c) { const std::uint_least16_t combining_ranges[] = { 0x0300, 0x0361, 0x0483, 0x0486, 0x0903, 0x0903, 0x093E, 0x0940, 0x0949, 0x094C, 0x0982, 0x0983, 0x09BE, 0x09C0, 0x09C7, 0x09CC, 0x09D7, 0x09D7, 0x0A3E, 0x0A40, 0x0A83, 0x0A83, 0x0ABE, 0x0AC0, 0x0AC9, 0x0ACC, 0x0B02, 0x0B03, 0x0B3E, 0x0B3E, 0x0B40, 0x0B40, 0x0B47, 0x0B4C, 0x0B57, 0x0B57, 0x0B83, 0x0B83, 0x0BBE, 0x0BBF, 0x0BC1, 0x0BCC, 0x0BD7, 0x0BD7, 0x0C01, 0x0C03, 0x0C41, 0x0C44, 0x0C82, 0x0C83, 0x0CBE, 0x0CBE, 0x0CC0, 0x0CC4, 0x0CC7, 0x0CCB, 0x0CD5, 0x0CD6, 0x0D02, 0x0D03, 0x0D3E, 0x0D40, 0x0D46, 0x0D4C, 0x0D57, 0x0D57, 0x0F7F, 0x0F7F, 0x20D0, 0x20E1, 0x3099, 0x309A, 0xFE20, 0xFE23, 0xffff, 0xffff, }; const std::uint_least16_t* p = combining_ranges + 1; while (*p < c) p += 2; --p; if ((c >= *p) && (c <= *(p + 1))) return true; return false; } template inline bool is_combining(charT c) { return (c <= static_cast(0)) ? false : ((c >= static_cast((std::numeric_limits::max)())) ? false : is_combining_implementation(static_cast(c))); } template <> inline bool is_combining(char) { return false; } template <> inline bool is_combining(signed char) { return false; } template <> inline bool is_combining(unsigned char) { return false; } #ifdef _MSC_VER template<> inline bool is_combining(wchar_t c) { return is_combining_implementation(static_cast(c)); } #elif !defined(__DECCXX) && !defined(__osf__) && !defined(__OSF__) && defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) #if defined(WCHAR_MAX) && (WCHAR_MAX <= USHRT_MAX) template<> inline bool is_combining(wchar_t c) { return is_combining_implementation(static_cast(c)); } #else template<> inline bool is_combining(wchar_t c) { return (c >= (std::numeric_limits::max)()) ? false : is_combining_implementation(static_cast(c)); } #endif #endif // // is a charT c a line separator? // template inline bool is_separator(charT c) { return BOOST_REGEX_MAKE_BOOL( (c == static_cast('\n')) || (c == static_cast('\r')) || (c == static_cast('\f')) || (static_cast(c) == 0x2028u) || (static_cast(c) == 0x2029u) || (static_cast(c) == 0x85u)); } template <> inline bool is_separator(char c) { return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r') || (c == '\f')); } // // get a default collating element: // inline std::string lookup_default_collate_name(const std::string& name) { // // these are the POSIX collating names: // static const char* def_coll_names[] = { "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "alert", "backspace", "tab", "newline", "vertical-tab", "form-feed", "carriage-return", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "IS4", "IS3", "IS2", "IS1", "space", "exclamation-mark", "quotation-mark", "number-sign", "dollar-sign", "percent-sign", "ampersand", "apostrophe", "left-parenthesis", "right-parenthesis", "asterisk", "plus-sign", "comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less-than-sign", "equals-sign", "greater-than-sign", "question-mark", "commercial-at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "left-square-bracket", "backslash", "right-square-bracket", "circumflex", "underscore", "grave-accent", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "left-curly-bracket", "vertical-line", "right-curly-bracket", "tilde", "DEL", "", }; // these multi-character collating elements // should keep most Western-European locales // happy - we should really localise these a // little more - but this will have to do for // now: static const char* def_multi_coll[] = { "ae", "Ae", "AE", "ch", "Ch", "CH", "ll", "Ll", "LL", "ss", "Ss", "SS", "nj", "Nj", "NJ", "dz", "Dz", "DZ", "lj", "Lj", "LJ", "", }; unsigned int i = 0; while (*def_coll_names[i]) { if (def_coll_names[i] == name) { return std::string(1, char(i)); } ++i; } i = 0; while (*def_multi_coll[i]) { if (def_multi_coll[i] == name) { return def_multi_coll[i]; } ++i; } return std::string(); } // // get the state_id of a character classification, the individual // traits classes then transform that state_id into a bitmask: // template struct character_pointer_range { const charT* p1; const charT* p2; bool operator < (const character_pointer_range& r)const { return std::lexicographical_compare(p1, p2, r.p1, r.p2); } bool operator == (const character_pointer_range& r)const { // Not only do we check that the ranges are of equal size before // calling std::equal, but there is no other algorithm available: // not even a non-standard MS one. So forward to unchecked_equal // in the MS case. #ifdef __cpp_lib_robust_nonmodifying_seq_ops return std::equal(p1, p2, r.p1, r.p2); #elif defined(BOOST_REGEX_MSVC) if (((p2 - p1) != (r.p2 - r.p1))) return false; const charT* with = r.p1; const charT* pos = p1; while (pos != p2) if (*pos++ != *with++) return false; return true; #else return ((p2 - p1) == (r.p2 - r.p1)) && std::equal(p1, p2, r.p1); #endif } }; template int get_default_class_id(const charT* p1, const charT* p2) { static const charT data[73] = { 'a', 'l', 'n', 'u', 'm', 'a', 'l', 'p', 'h', 'a', 'b', 'l', 'a', 'n', 'k', 'c', 'n', 't', 'r', 'l', 'd', 'i', 'g', 'i', 't', 'g', 'r', 'a', 'p', 'h', 'l', 'o', 'w', 'e', 'r', 'p', 'r', 'i', 'n', 't', 'p', 'u', 'n', 'c', 't', 's', 'p', 'a', 'c', 'e', 'u', 'n', 'i', 'c', 'o', 'd', 'e', 'u', 'p', 'p', 'e', 'r', 'v', 'w', 'o', 'r', 'd', 'x', 'd', 'i', 'g', 'i', 't', }; static const character_pointer_range ranges[21] = { {data+0, data+5,}, // alnum {data+5, data+10,}, // alpha {data+10, data+15,}, // blank {data+15, data+20,}, // cntrl {data+20, data+21,}, // d {data+20, data+25,}, // digit {data+25, data+30,}, // graph {data+29, data+30,}, // h {data+30, data+31,}, // l {data+30, data+35,}, // lower {data+35, data+40,}, // print {data+40, data+45,}, // punct {data+45, data+46,}, // s {data+45, data+50,}, // space {data+57, data+58,}, // u {data+50, data+57,}, // unicode {data+57, data+62,}, // upper {data+62, data+63,}, // v {data+63, data+64,}, // w {data+63, data+67,}, // word {data+67, data+73,}, // xdigit }; const character_pointer_range* ranges_begin = ranges; const character_pointer_range* ranges_end = ranges + (sizeof(ranges)/sizeof(ranges[0])); character_pointer_range t = { p1, p2, }; const character_pointer_range* p = std::lower_bound(ranges_begin, ranges_end, t); if((p != ranges_end) && (t == *p)) return static_cast(p - ranges); return -1; } // // helper functions: // template std::ptrdiff_t global_length(const charT* p) { std::ptrdiff_t n = 0; while(*p) { ++p; ++n; } return n; } template<> inline std::ptrdiff_t global_length(const char* p) { return (std::strlen)(p); } #ifndef BOOST_NO_WREGEX template<> inline std::ptrdiff_t global_length(const wchar_t* p) { return (std::ptrdiff_t)(std::wcslen)(p); } #endif template inline charT global_lower(charT c) { return c; } template inline charT global_upper(charT c) { return c; } inline char do_global_lower(char c) { return static_cast((std::tolower)((unsigned char)c)); } inline char do_global_upper(char c) { return static_cast((std::toupper)((unsigned char)c)); } #ifndef BOOST_NO_WREGEX inline wchar_t do_global_lower(wchar_t c) { return (std::towlower)(c); } inline wchar_t do_global_upper(wchar_t c) { return (std::towupper)(c); } #endif // // This sucks: declare template specialisations of global_lower/global_upper // that just forward to the non-template implementation functions. We do // this because there is one compiler (Compaq Tru64 C++) that doesn't seem // to differentiate between templates and non-template overloads.... // what's more, the primary template, plus all overloads have to be // defined in the same translation unit (if one is inline they all must be) // otherwise the "local template instantiation" compiler option can pick // the wrong instantiation when linking: // template<> inline char global_lower(char c) { return do_global_lower(c); } template<> inline char global_upper(char c) { return do_global_upper(c); } #ifndef BOOST_NO_WREGEX template<> inline wchar_t global_lower(wchar_t c) { return do_global_lower(c); } template<> inline wchar_t global_upper(wchar_t c) { return do_global_upper(c); } #endif template int global_value(charT c) { static const charT zero = '0'; static const charT nine = '9'; static const charT a = 'a'; static const charT f = 'f'; static const charT A = 'A'; static const charT F = 'F'; if(c > f) return -1; if(c >= a) return 10 + (c - a); if(c > F) return -1; if(c >= A) return 10 + (c - A); if(c > nine) return -1; if(c >= zero) return c - zero; return -1; } template std::intmax_t global_toi(const charT*& p1, const charT* p2, int radix, const traits& t) { (void)t; // warning suppression std::intmax_t limit = (std::numeric_limits::max)() / radix; std::intmax_t next_value = t.value(*p1, radix); if((p1 == p2) || (next_value < 0) || (next_value >= radix)) return -1; std::intmax_t result = 0; while(p1 != p2) { next_value = t.value(*p1, radix); if((next_value < 0) || (next_value >= radix)) break; result *= radix; result += next_value; ++p1; if (result > limit) return -1; } return result; } template inline typename std::enable_if<(sizeof(charT) > 1), const charT*>::type get_escape_R_string() { #ifdef BOOST_REGEX_MSVC # pragma warning(push) # pragma warning(disable:4309 4245) #endif static const charT e1[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?', '|', '[', '\x0A', '\x0B', '\x0C', static_cast(0x85), static_cast(0x2028), static_cast(0x2029), ']', ')', ')', '\0' }; static const charT e2[] = { '(', '?', '-', 'x', ':', '(', '?', '>', '\x0D', '\x0A', '?', '|', '[', '\x0A', '\x0B', '\x0C', static_cast(0x85), ']', ')', ')', '\0' }; charT c = static_cast(0x2029u); bool b = (static_cast(c) == 0x2029u); return (b ? e1 : e2); #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif } template inline typename std::enable_if<(sizeof(charT) == 1), const charT*>::type get_escape_R_string() { #ifdef BOOST_REGEX_MSVC # pragma warning(push) # pragma warning(disable:4309 4245) #endif static const charT e2[] = { static_cast('('), static_cast('?'), static_cast('-'), static_cast('x'), static_cast(':'), static_cast('('), static_cast('?'), static_cast('>'), static_cast('\x0D'), static_cast('\x0A'), static_cast('?'), static_cast('|'), static_cast('['), static_cast('\x0A'), static_cast('\x0B'), static_cast('\x0C'), static_cast('\x85'), static_cast(']'), static_cast(')'), static_cast(')'), static_cast('\0') }; return e2; #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif } } // BOOST_REGEX_DETAIL_NS } // boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/regex_workaround.hpp ================================================ /* * * Copyright (c) 1998-2005 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE regex_workarounds.cpp * VERSION see * DESCRIPTION: Declares Misc workarounds. */ #ifndef BOOST_REGEX_WORKAROUND_HPP #define BOOST_REGEX_WORKAROUND_HPP #include #include #include #include #ifndef BOOST_REGEX_STANDALONE #include #include #endif #ifdef BOOST_REGEX_NO_BOOL # define BOOST_REGEX_MAKE_BOOL(x) static_cast((x) ? true : false) #else # define BOOST_REGEX_MAKE_BOOL(x) static_cast(x) #endif /***************************************************************************** * * helper functions pointer_construct/pointer_destroy: * ****************************************************************************/ #ifdef __cplusplus namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ #ifdef BOOST_REGEX_MSVC #pragma warning (push) #pragma warning (disable : 4100) #endif template inline void pointer_destroy(T* p) { p->~T(); (void)p; } #ifdef BOOST_REGEX_MSVC #pragma warning (pop) #endif template inline void pointer_construct(T* p, const T& t) { new (p) T(t); } }} // namespaces #endif /***************************************************************************** * * helper function copy: * ****************************************************************************/ #if defined(BOOST_WORKAROUND) #if BOOST_WORKAROUND(BOOST_REGEX_MSVC, >= 1400) && defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__ #define BOOST_REGEX_HAS_STRCPY_S #endif #endif #ifdef __cplusplus namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ #if defined(BOOST_REGEX_MSVC) && (BOOST_REGEX_MSVC < 1910) // // MSVC 10 will either emit warnings or else refuse to compile // code that makes perfectly legitimate use of std::copy, when // the OutputIterator type is a user-defined class (apparently all user // defined iterators are "unsafe"). What's more Microsoft have removed their // non-standard "unchecked" versions, even though they are still in the MS // documentation!! Work around this as best we can: // template inline OutputIterator copy( InputIterator first, InputIterator last, OutputIterator dest ) { while (first != last) *dest++ = *first++; return dest; } #else using std::copy; #endif #if defined(BOOST_REGEX_HAS_STRCPY_S) // use safe versions of strcpy etc: using ::strcpy_s; using ::strcat_s; #else inline std::size_t strcpy_s( char *strDestination, std::size_t sizeInBytes, const char *strSource ) { std::size_t lenSourceWithNull = std::strlen(strSource) + 1; if (lenSourceWithNull > sizeInBytes) return 1; std::memcpy(strDestination, strSource, lenSourceWithNull); return 0; } inline std::size_t strcat_s( char *strDestination, std::size_t sizeInBytes, const char *strSource ) { std::size_t lenSourceWithNull = std::strlen(strSource) + 1; std::size_t lenDestination = std::strlen(strDestination); if (lenSourceWithNull + lenDestination > sizeInBytes) return 1; std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull); return 0; } #endif inline void overflow_error_if_not_zero(std::size_t i) { if(i) { std::overflow_error e("String buffer too small"); #ifndef BOOST_REGEX_STANDALONE boost::throw_exception(e); #else throw e; #endif } } }} // namespaces #endif // __cplusplus #endif // include guard ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/states.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE states.cpp * VERSION see * DESCRIPTION: Declares internal state machine structures. */ #ifndef BOOST_REGEX_V5_STATES_HPP #define BOOST_REGEX_V5_STATES_HPP namespace boost{ namespace BOOST_REGEX_DETAIL_NS{ /*** mask_type ******************************************************* Whenever we have a choice of two alternatives, we use an array of bytes to indicate which of the two alternatives it is possible to take for any given input character. If mask_take is set, then we can take the next state, and if mask_skip is set then we can take the alternative. ***********************************************************************/ enum mask_type { mask_take = 1, mask_skip = 2, mask_init = 4, mask_any = mask_skip | mask_take, mask_all = mask_any }; /*** helpers ********************************************************** These helpers let us use function overload resolution to detect whether we have narrow or wide character strings: ***********************************************************************/ struct _narrow_type{}; struct _wide_type{}; template struct is_byte; template<> struct is_byte { typedef _narrow_type width_type; }; template<> struct is_byte{ typedef _narrow_type width_type; }; template<> struct is_byte { typedef _narrow_type width_type; }; template struct is_byte { typedef _wide_type width_type; }; /*** enum syntax_element_type ****************************************** Every record in the state machine falls into one of the following types: ***********************************************************************/ enum syntax_element_type { // start of a marked sub-expression, or perl-style (?...) extension syntax_element_startmark = 0, // end of a marked sub-expression, or perl-style (?...) extension syntax_element_endmark = syntax_element_startmark + 1, // any sequence of literal characters syntax_element_literal = syntax_element_endmark + 1, // start of line assertion: ^ syntax_element_start_line = syntax_element_literal + 1, // end of line assertion $ syntax_element_end_line = syntax_element_start_line + 1, // match any character: . syntax_element_wild = syntax_element_end_line + 1, // end of expression: we have a match when we get here syntax_element_match = syntax_element_wild + 1, // perl style word boundary: \b syntax_element_word_boundary = syntax_element_match + 1, // perl style within word boundary: \B syntax_element_within_word = syntax_element_word_boundary + 1, // start of word assertion: \< syntax_element_word_start = syntax_element_within_word + 1, // end of word assertion: \> syntax_element_word_end = syntax_element_word_start + 1, // start of buffer assertion: \` syntax_element_buffer_start = syntax_element_word_end + 1, // end of buffer assertion: \' syntax_element_buffer_end = syntax_element_buffer_start + 1, // backreference to previously matched sub-expression syntax_element_backref = syntax_element_buffer_end + 1, // either a wide character set [..] or one with multicharacter collating elements: syntax_element_long_set = syntax_element_backref + 1, // narrow character set: [...] syntax_element_set = syntax_element_long_set + 1, // jump to a new state in the machine: syntax_element_jump = syntax_element_set + 1, // choose between two production states: syntax_element_alt = syntax_element_jump + 1, // a repeat syntax_element_rep = syntax_element_alt + 1, // match a combining character sequence syntax_element_combining = syntax_element_rep + 1, // perl style soft buffer end: \z syntax_element_soft_buffer_end = syntax_element_combining + 1, // perl style continuation: \G syntax_element_restart_continue = syntax_element_soft_buffer_end + 1, // single character repeats: syntax_element_dot_rep = syntax_element_restart_continue + 1, syntax_element_char_rep = syntax_element_dot_rep + 1, syntax_element_short_set_rep = syntax_element_char_rep + 1, syntax_element_long_set_rep = syntax_element_short_set_rep + 1, // a backstep for lookbehind repeats: syntax_element_backstep = syntax_element_long_set_rep + 1, // an assertion that a mark was matched: syntax_element_assert_backref = syntax_element_backstep + 1, syntax_element_toggle_case = syntax_element_assert_backref + 1, // a recursive expression: syntax_element_recurse = syntax_element_toggle_case + 1, // Verbs: syntax_element_fail = syntax_element_recurse + 1, syntax_element_accept = syntax_element_fail + 1, syntax_element_commit = syntax_element_accept + 1, syntax_element_then = syntax_element_commit + 1 }; #ifdef BOOST_REGEX_DEBUG // dwa 09/26/00 - This is needed to suppress warnings about an ambiguous conversion std::ostream& operator<<(std::ostream&, syntax_element_type); #endif struct re_syntax_base; /*** union offset_type ************************************************ Points to another state in the machine. During machine construction we use integral offsets, but these are converted to pointers before execution of the machine. ***********************************************************************/ union offset_type { re_syntax_base* p; std::ptrdiff_t i; }; /*** struct re_syntax_base ******************************************** Base class for all states in the machine. ***********************************************************************/ struct re_syntax_base { syntax_element_type type; // what kind of state this is offset_type next; // next state in the machine }; /*** struct re_brace ************************************************** A marked parenthesis. ***********************************************************************/ struct re_brace : public re_syntax_base { // The index to match, can be zero (don't mark the sub-expression) // or negative (for perl style (?...) extensions): int index; bool icase; }; /*** struct re_dot ************************************************** Match anything. ***********************************************************************/ enum { dont_care = 1, force_not_newline = 0, force_newline = 2, test_not_newline = 2, test_newline = 3 }; struct re_dot : public re_syntax_base { unsigned char mask; }; /*** struct re_literal ************************************************ A string of literals, following this structure will be an array of characters: charT[length] ***********************************************************************/ struct re_literal : public re_syntax_base { unsigned int length; }; /*** struct re_case ************************************************ Indicates whether we are moving to a case insensive block or not ***********************************************************************/ struct re_case : public re_syntax_base { bool icase; }; /*** struct re_set_long *********************************************** A wide character set of characters, following this structure will be an array of type charT: First csingles null-terminated strings Then 2 * cranges NULL terminated strings Then cequivalents NULL terminated strings ***********************************************************************/ template struct re_set_long : public re_syntax_base { unsigned int csingles, cranges, cequivalents; mask_type cclasses; mask_type cnclasses; bool isnot; bool singleton; }; /*** struct re_set **************************************************** A set of narrow-characters, matches any of _map which is none-zero ***********************************************************************/ struct re_set : public re_syntax_base { unsigned char _map[1 << CHAR_BIT]; }; /*** struct re_jump *************************************************** Jump to a new location in the machine (not next). ***********************************************************************/ struct re_jump : public re_syntax_base { offset_type alt; // location to jump to }; /*** struct re_alt *************************************************** Jump to a new location in the machine (possibly next). ***********************************************************************/ struct re_alt : public re_jump { unsigned char _map[1 << CHAR_BIT]; // which characters can take the jump unsigned int can_be_null; // true if we match a NULL string }; /*** struct re_repeat ************************************************* Repeat a section of the machine ***********************************************************************/ struct re_repeat : public re_alt { std::size_t min, max; // min and max allowable repeats int state_id; // Unique identifier for this repeat bool leading; // True if this repeat is at the start of the machine (lets us optimize some searches) bool greedy; // True if this is a greedy repeat }; /*** struct re_recurse ************************************************ Recurse to a particular subexpression. **********************************************************************/ struct re_recurse : public re_jump { int state_id; // identifier of first nested repeat within the recursion. }; /*** struct re_commit ************************************************* Used for the PRUNE, SKIP and COMMIT verbs which basically differ only in what happens if no match is found and we start searching forward. **********************************************************************/ enum commit_type { commit_prune, commit_skip, commit_commit }; struct re_commit : public re_syntax_base { commit_type action; }; /*** enum re_jump_size_type ******************************************* Provides compiled size of re_jump structure (allowing for trailing alignment). We provide this so we know how manybytes to insert when constructing the machine (The value of padding_mask is defined in regex_raw_buffer.hpp). ***********************************************************************/ enum re_jump_size_type { re_jump_size = (sizeof(re_jump) + padding_mask) & ~(padding_mask), re_repeater_size = (sizeof(re_repeat) + padding_mask) & ~(padding_mask), re_alt_size = (sizeof(re_alt) + padding_mask) & ~(padding_mask) }; /*** proc re_is_set_member ********************************************* Forward declaration: we'll need this one later... ***********************************************************************/ template struct regex_data; template iterator re_is_set_member(iterator next, iterator last, const re_set_long* set_, const regex_data& e, bool icase); } // namespace BOOST_REGEX_DETAIL_NS } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/sub_match.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE sub_match.cpp * VERSION see * DESCRIPTION: Declares template class sub_match. */ #ifndef BOOST_REGEX_V5_SUB_MATCH_HPP #define BOOST_REGEX_V5_SUB_MATCH_HPP namespace boost{ template struct sub_match : public std::pair { typedef typename std::iterator_traits::value_type value_type; typedef typename std::iterator_traits::difference_type difference_type; typedef BidiIterator iterator_type; typedef BidiIterator iterator; typedef BidiIterator const_iterator; bool matched; sub_match() : std::pair(), matched(false) {} sub_match(BidiIterator i) : std::pair(i, i), matched(false) {} template operator std::basic_string ()const { return matched ? std::basic_string(this->first, this->second) : std::basic_string(); } difference_type length()const { difference_type n = matched ? std::distance((BidiIterator)this->first, (BidiIterator)this->second) : 0; return n; } std::basic_string str()const { std::basic_string result; if(matched) { std::size_t len = std::distance((BidiIterator)this->first, (BidiIterator)this->second); result.reserve(len); BidiIterator i = this->first; while(i != this->second) { result.append(1, *i); ++i; } } return result; } int compare(const sub_match& s)const { if(matched != s.matched) return static_cast(matched) - static_cast(s.matched); return str().compare(s.str()); } int compare(const std::basic_string& s)const { return str().compare(s); } int compare(const value_type* p)const { return str().compare(p); } bool operator==(const sub_match& that)const { return compare(that) == 0; } bool operator !=(const sub_match& that)const { return compare(that) != 0; } bool operator<(const sub_match& that)const { return compare(that) < 0; } bool operator>(const sub_match& that)const { return compare(that) > 0; } bool operator<=(const sub_match& that)const { return compare(that) <= 0; } bool operator>=(const sub_match& that)const { return compare(that) >= 0; } #ifdef BOOST_REGEX_MATCH_EXTRA typedef std::vector > capture_sequence_type; const capture_sequence_type& captures()const { if(!m_captures) m_captures.reset(new capture_sequence_type()); return *m_captures; } // // Private implementation API: DO NOT USE! // capture_sequence_type& get_captures()const { if(!m_captures) m_captures.reset(new capture_sequence_type()); return *m_captures; } private: mutable std::unique_ptr m_captures; public: #endif sub_match(const sub_match& that, bool #ifdef BOOST_REGEX_MATCH_EXTRA deep_copy #endif = true ) : std::pair(that), matched(that.matched) { #ifdef BOOST_REGEX_MATCH_EXTRA if(that.m_captures) if(deep_copy) m_captures.reset(new capture_sequence_type(*(that.m_captures))); #endif } sub_match& operator=(const sub_match& that) { this->first = that.first; this->second = that.second; matched = that.matched; #ifdef BOOST_REGEX_MATCH_EXTRA if(that.m_captures) get_captures() = *(that.m_captures); #endif return *this; } // // Make this type a range, for both Boost.Range, and C++11: // BidiIterator begin()const { return this->first; } BidiIterator end()const { return this->second; } }; typedef sub_match csub_match; typedef sub_match ssub_match; #ifndef BOOST_NO_WREGEX typedef sub_match wcsub_match; typedef sub_match wssub_match; #endif // comparison to std::basic_string<> part 1: template inline bool operator == (const std::basic_string::value_type, traits, Allocator>& s, const sub_match& m) { return s.compare(m.str()) == 0; } template inline bool operator != (const std::basic_string::value_type, traits, Allocator>& s, const sub_match& m) { return s.compare(m.str()) != 0; } template inline bool operator < (const std::basic_string::value_type, traits, Allocator>& s, const sub_match& m) { return s.compare(m.str()) < 0; } template inline bool operator <= (const std::basic_string::value_type, traits, Allocator>& s, const sub_match& m) { return s.compare(m.str()) <= 0; } template inline bool operator >= (const std::basic_string::value_type, traits, Allocator>& s, const sub_match& m) { return s.compare(m.str()) >= 0; } template inline bool operator > (const std::basic_string::value_type, traits, Allocator>& s, const sub_match& m) { return s.compare(m.str()) > 0; } // comparison to std::basic_string<> part 2: template inline bool operator == (const sub_match& m, const std::basic_string::value_type, traits, Allocator>& s) { return m.str().compare(s) == 0; } template inline bool operator != (const sub_match& m, const std::basic_string::value_type, traits, Allocator>& s) { return m.str().compare(s) != 0; } template inline bool operator < (const sub_match& m, const std::basic_string::value_type, traits, Allocator>& s) { return m.str().compare(s) < 0; } template inline bool operator > (const sub_match& m, const std::basic_string::value_type, traits, Allocator>& s) { return m.str().compare(s) > 0; } template inline bool operator <= (const sub_match& m, const std::basic_string::value_type, traits, Allocator>& s) { return m.str().compare(s) <= 0; } template inline bool operator >= (const sub_match& m, const std::basic_string::value_type, traits, Allocator>& s) { return m.str().compare(s) >= 0; } // comparison to const charT* part 1: template inline bool operator == (const sub_match& m, typename std::iterator_traits::value_type const* s) { return m.str().compare(s) == 0; } template inline bool operator != (const sub_match& m, typename std::iterator_traits::value_type const* s) { return m.str().compare(s) != 0; } template inline bool operator > (const sub_match& m, typename std::iterator_traits::value_type const* s) { return m.str().compare(s) > 0; } template inline bool operator < (const sub_match& m, typename std::iterator_traits::value_type const* s) { return m.str().compare(s) < 0; } template inline bool operator >= (const sub_match& m, typename std::iterator_traits::value_type const* s) { return m.str().compare(s) >= 0; } template inline bool operator <= (const sub_match& m, typename std::iterator_traits::value_type const* s) { return m.str().compare(s) <= 0; } // comparison to const charT* part 2: template inline bool operator == (typename std::iterator_traits::value_type const* s, const sub_match& m) { return m.str().compare(s) == 0; } template inline bool operator != (typename std::iterator_traits::value_type const* s, const sub_match& m) { return m.str().compare(s) != 0; } template inline bool operator < (typename std::iterator_traits::value_type const* s, const sub_match& m) { return m.str().compare(s) > 0; } template inline bool operator > (typename std::iterator_traits::value_type const* s, const sub_match& m) { return m.str().compare(s) < 0; } template inline bool operator <= (typename std::iterator_traits::value_type const* s, const sub_match& m) { return m.str().compare(s) >= 0; } template inline bool operator >= (typename std::iterator_traits::value_type const* s, const sub_match& m) { return m.str().compare(s) <= 0; } // comparison to const charT& part 1: template inline bool operator == (const sub_match& m, typename std::iterator_traits::value_type const& s) { return m.str().compare(0, m.length(), &s, 1) == 0; } template inline bool operator != (const sub_match& m, typename std::iterator_traits::value_type const& s) { return m.str().compare(0, m.length(), &s, 1) != 0; } template inline bool operator > (const sub_match& m, typename std::iterator_traits::value_type const& s) { return m.str().compare(0, m.length(), &s, 1) > 0; } template inline bool operator < (const sub_match& m, typename std::iterator_traits::value_type const& s) { return m.str().compare(0, m.length(), &s, 1) < 0; } template inline bool operator >= (const sub_match& m, typename std::iterator_traits::value_type const& s) { return m.str().compare(0, m.length(), &s, 1) >= 0; } template inline bool operator <= (const sub_match& m, typename std::iterator_traits::value_type const& s) { return m.str().compare(0, m.length(), &s, 1) <= 0; } // comparison to const charT* part 2: template inline bool operator == (typename std::iterator_traits::value_type const& s, const sub_match& m) { return m.str().compare(0, m.length(), &s, 1) == 0; } template inline bool operator != (typename std::iterator_traits::value_type const& s, const sub_match& m) { return m.str().compare(0, m.length(), &s, 1) != 0; } template inline bool operator < (typename std::iterator_traits::value_type const& s, const sub_match& m) { return m.str().compare(0, m.length(), &s, 1) > 0; } template inline bool operator > (typename std::iterator_traits::value_type const& s, const sub_match& m) { return m.str().compare(0, m.length(), &s, 1) < 0; } template inline bool operator <= (typename std::iterator_traits::value_type const& s, const sub_match& m) { return m.str().compare(0, m.length(), &s, 1) >= 0; } template inline bool operator >= (typename std::iterator_traits::value_type const& s, const sub_match& m) { return m.str().compare(0, m.length(), &s, 1) <= 0; } // addition operators: template inline std::basic_string::value_type, traits, Allocator> operator + (const std::basic_string::value_type, traits, Allocator>& s, const sub_match& m) { std::basic_string::value_type, traits, Allocator> result; result.reserve(s.size() + m.length() + 1); return result.append(s).append(m.first, m.second); } template inline std::basic_string::value_type, traits, Allocator> operator + (const sub_match& m, const std::basic_string::value_type, traits, Allocator>& s) { std::basic_string::value_type, traits, Allocator> result; result.reserve(s.size() + m.length() + 1); return result.append(m.first, m.second).append(s); } template inline std::basic_string::value_type> operator + (typename std::iterator_traits::value_type const* s, const sub_match& m) { std::basic_string::value_type> result; result.reserve(std::char_traits::value_type>::length(s) + m.length() + 1); return result.append(s).append(m.first, m.second); } template inline std::basic_string::value_type> operator + (const sub_match& m, typename std::iterator_traits::value_type const * s) { std::basic_string::value_type> result; result.reserve(std::char_traits::value_type>::length(s) + m.length() + 1); return result.append(m.first, m.second).append(s); } template inline std::basic_string::value_type> operator + (typename std::iterator_traits::value_type const& s, const sub_match& m) { std::basic_string::value_type> result; result.reserve(m.length() + 2); return result.append(1, s).append(m.first, m.second); } template inline std::basic_string::value_type> operator + (const sub_match& m, typename std::iterator_traits::value_type const& s) { std::basic_string::value_type> result; result.reserve(m.length() + 2); return result.append(m.first, m.second).append(1, s); } template inline std::basic_string::value_type> operator + (const sub_match& m1, const sub_match& m2) { std::basic_string::value_type> result; result.reserve(m1.length() + m2.length() + 1); return result.append(m1.first, m1.second).append(m2.first, m2.second); } template std::basic_ostream& operator << (std::basic_ostream& os, const sub_match& s) { return (os << s.str()); } } // namespace boost #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/syntax_type.hpp ================================================ /* * * Copyright (c) 2003 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE syntax_type.hpp * VERSION see * DESCRIPTION: Declares regular expression synatx type enumerator. */ #ifndef BOOST_REGEX_SYNTAX_TYPE_HPP #define BOOST_REGEX_SYNTAX_TYPE_HPP namespace boost{ namespace regex_constants{ typedef unsigned char syntax_type; // // values chosen are binary compatible with previous version: // static const syntax_type syntax_char = 0; static const syntax_type syntax_open_mark = 1; static const syntax_type syntax_close_mark = 2; static const syntax_type syntax_dollar = 3; static const syntax_type syntax_caret = 4; static const syntax_type syntax_dot = 5; static const syntax_type syntax_star = 6; static const syntax_type syntax_plus = 7; static const syntax_type syntax_question = 8; static const syntax_type syntax_open_set = 9; static const syntax_type syntax_close_set = 10; static const syntax_type syntax_or = 11; static const syntax_type syntax_escape = 12; static const syntax_type syntax_dash = 14; static const syntax_type syntax_open_brace = 15; static const syntax_type syntax_close_brace = 16; static const syntax_type syntax_digit = 17; static const syntax_type syntax_comma = 27; static const syntax_type syntax_equal = 37; static const syntax_type syntax_colon = 36; static const syntax_type syntax_not = 53; // extensions: static const syntax_type syntax_hash = 13; static const syntax_type syntax_newline = 26; // escapes: typedef syntax_type escape_syntax_type; static const escape_syntax_type escape_type_word_assert = 18; static const escape_syntax_type escape_type_not_word_assert = 19; static const escape_syntax_type escape_type_control_f = 29; static const escape_syntax_type escape_type_control_n = 30; static const escape_syntax_type escape_type_control_r = 31; static const escape_syntax_type escape_type_control_t = 32; static const escape_syntax_type escape_type_control_v = 33; static const escape_syntax_type escape_type_ascii_control = 35; static const escape_syntax_type escape_type_hex = 34; static const escape_syntax_type escape_type_unicode = 0; // not used static const escape_syntax_type escape_type_identity = 0; // not used static const escape_syntax_type escape_type_backref = syntax_digit; static const escape_syntax_type escape_type_decimal = syntax_digit; // not used static const escape_syntax_type escape_type_class = 22; static const escape_syntax_type escape_type_not_class = 23; // extensions: static const escape_syntax_type escape_type_left_word = 20; static const escape_syntax_type escape_type_right_word = 21; static const escape_syntax_type escape_type_start_buffer = 24; // for \` static const escape_syntax_type escape_type_end_buffer = 25; // for \' static const escape_syntax_type escape_type_control_a = 28; // for \a static const escape_syntax_type escape_type_e = 38; // for \e static const escape_syntax_type escape_type_E = 47; // for \Q\E static const escape_syntax_type escape_type_Q = 48; // for \Q\E static const escape_syntax_type escape_type_X = 49; // for \X static const escape_syntax_type escape_type_C = 50; // for \C static const escape_syntax_type escape_type_Z = 51; // for \Z static const escape_syntax_type escape_type_G = 52; // for \G static const escape_syntax_type escape_type_property = 54; // for \p static const escape_syntax_type escape_type_not_property = 55; // for \P static const escape_syntax_type escape_type_named_char = 56; // for \N static const escape_syntax_type escape_type_extended_backref = 57; // for \g static const escape_syntax_type escape_type_reset_start_mark = 58; // for \K static const escape_syntax_type escape_type_line_ending = 59; // for \R static const escape_syntax_type syntax_max = 60; } } #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/u32regex_iterator.hpp ================================================ /* * * Copyright (c) 2003 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE u32regex_iterator.hpp * VERSION see * DESCRIPTION: Provides u32regex_iterator implementation. */ #ifndef BOOST_REGEX_V5_U32REGEX_ITERATOR_HPP #define BOOST_REGEX_V5_U32REGEX_ITERATOR_HPP namespace boost{ template class u32regex_iterator_implementation { typedef u32regex regex_type; match_results what; // current match BidirectionalIterator base; // start of sequence BidirectionalIterator end; // end of sequence const regex_type re; // the expression match_flag_type flags; // flags for matching public: u32regex_iterator_implementation(const regex_type* p, BidirectionalIterator last, match_flag_type f) : base(), end(last), re(*p), flags(f){} bool init(BidirectionalIterator first) { base = first; return u32regex_search(first, end, what, re, flags, base); } bool compare(const u32regex_iterator_implementation& that) { if(this == &that) return true; return (&re.get_data() == &that.re.get_data()) && (end == that.end) && (flags == that.flags) && (what[0].first == that.what[0].first) && (what[0].second == that.what[0].second); } const match_results& get() { return what; } bool next() { //if(what.prefix().first != what[0].second) // flags |= match_prev_avail; BidirectionalIterator next_start = what[0].second; match_flag_type f(flags); if(!what.length()) f |= regex_constants::match_not_initial_null; //if(base != next_start) // f |= regex_constants::match_not_bob; bool result = u32regex_search(next_start, end, what, re, f, base); if(result) what.set_base(base); return result; } private: u32regex_iterator_implementation& operator=(const u32regex_iterator_implementation&); }; template class u32regex_iterator { private: typedef u32regex_iterator_implementation impl; typedef std::shared_ptr pimpl; public: typedef u32regex regex_type; typedef match_results value_type; typedef typename std::iterator_traits::difference_type difference_type; typedef const value_type* pointer; typedef const value_type& reference; typedef std::forward_iterator_tag iterator_category; u32regex_iterator(){} u32regex_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, match_flag_type m = match_default) : pdata(new impl(&re, b, m)) { if(!pdata->init(a)) { pdata.reset(); } } u32regex_iterator(const u32regex_iterator& that) : pdata(that.pdata) {} u32regex_iterator& operator=(const u32regex_iterator& that) { pdata = that.pdata; return *this; } bool operator==(const u32regex_iterator& that)const { if((pdata.get() == 0) || (that.pdata.get() == 0)) return pdata.get() == that.pdata.get(); return pdata->compare(*(that.pdata.get())); } bool operator!=(const u32regex_iterator& that)const { return !(*this == that); } const value_type& operator*()const { return pdata->get(); } const value_type* operator->()const { return &(pdata->get()); } u32regex_iterator& operator++() { cow(); if(0 == pdata->next()) { pdata.reset(); } return *this; } u32regex_iterator operator++(int) { u32regex_iterator result(*this); ++(*this); return result; } private: pimpl pdata; void cow() { // copy-on-write if(pdata.get() && (pdata.use_count() > 1)) { pdata.reset(new impl(*(pdata.get()))); } } }; typedef u32regex_iterator utf8regex_iterator; typedef u32regex_iterator utf16regex_iterator; typedef u32regex_iterator utf32regex_iterator; inline u32regex_iterator make_u32regex_iterator(const char* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_iterator(p, p+std::strlen(p), e, m); } #ifndef BOOST_NO_WREGEX inline u32regex_iterator make_u32regex_iterator(const wchar_t* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_iterator(p, p+std::wcslen(p), e, m); } #endif #if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T) inline u32regex_iterator make_u32regex_iterator(const UChar* p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_iterator(p, p+u_strlen(p), e, m); } #endif template inline u32regex_iterator::const_iterator> make_u32regex_iterator(const std::basic_string& p, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { typedef typename std::basic_string::const_iterator iter_type; return u32regex_iterator(p.begin(), p.end(), e, m); } inline u32regex_iterator make_u32regex_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_iterator(s.getBuffer(), s.getBuffer() + s.length(), e, m); } } // namespace boost #endif // BOOST_REGEX_V5_REGEX_ITERATOR_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/u32regex_token_iterator.hpp ================================================ /* * * Copyright (c) 2003 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE u32regex_token_iterator.hpp * VERSION see * DESCRIPTION: Provides u32regex_token_iterator implementation. */ #ifndef BOOST_REGEX_V5_U32REGEX_TOKEN_ITERATOR_HPP #define BOOST_REGEX_V5_U32REGEX_TOKEN_ITERATOR_HPP namespace boost{ #ifdef BOOST_REGEX_MSVC # pragma warning(push) # pragma warning(disable:4700) #endif template class u32regex_token_iterator_implementation { typedef u32regex regex_type; typedef sub_match value_type; match_results what; // current match BidirectionalIterator end; // end of search area BidirectionalIterator base; // start of search area const regex_type re; // the expression match_flag_type flags; // match flags value_type result; // the current string result int N; // the current sub-expression being enumerated std::vector subs; // the sub-expressions to enumerate public: u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, int sub, match_flag_type f) : end(last), re(*p), flags(f){ subs.push_back(sub); } u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const std::vector& v, match_flag_type f) : end(last), re(*p), flags(f), subs(v){} template u32regex_token_iterator_implementation(const regex_type* p, BidirectionalIterator last, const int (&submatches)[CN], match_flag_type f) : end(last), re(*p), flags(f) { for(std::size_t i = 0; i < CN; ++i) { subs.push_back(submatches[i]); } } bool init(BidirectionalIterator first) { base = first; N = 0; if(u32regex_search(first, end, what, re, flags, base) == true) { N = 0; result = ((subs[N] == -1) ? what.prefix() : what[(int)subs[N]]); return true; } else if((subs[N] == -1) && (first != end)) { result.first = first; result.second = end; result.matched = (first != end); N = -1; return true; } return false; } bool compare(const u32regex_token_iterator_implementation& that) { if(this == &that) return true; return (&re.get_data() == &that.re.get_data()) && (end == that.end) && (flags == that.flags) && (N == that.N) && (what[0].first == that.what[0].first) && (what[0].second == that.what[0].second); } const value_type& get() { return result; } bool next() { if(N == -1) return false; if(N+1 < (int)subs.size()) { ++N; result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); return true; } //if(what.prefix().first != what[0].second) // flags |= match_prev_avail | regex_constants::match_not_bob; BidirectionalIterator last_end(what[0].second); if(u32regex_search(last_end, end, what, re, ((what[0].first == what[0].second) ? flags | regex_constants::match_not_initial_null : flags), base)) { N =0; result =((subs[N] == -1) ? what.prefix() : what[subs[N]]); return true; } else if((last_end != end) && (subs[0] == -1)) { N =-1; result.first = last_end; result.second = end; result.matched = (last_end != end); return true; } return false; } private: u32regex_token_iterator_implementation& operator=(const u32regex_token_iterator_implementation&); }; template class u32regex_token_iterator { private: typedef u32regex_token_iterator_implementation impl; typedef std::shared_ptr pimpl; public: typedef u32regex regex_type; typedef sub_match value_type; typedef typename std::iterator_traits::difference_type difference_type; typedef const value_type* pointer; typedef const value_type& reference; typedef std::forward_iterator_tag iterator_category; u32regex_token_iterator(){} u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, int submatch = 0, match_flag_type m = match_default) : pdata(new impl(&re, b, submatch, m)) { if(!pdata->init(a)) pdata.reset(); } u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, const std::vector& submatches, match_flag_type m = match_default) : pdata(new impl(&re, b, submatches, m)) { if(!pdata->init(a)) pdata.reset(); } template u32regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, const int (&submatches)[N], match_flag_type m = match_default) : pdata(new impl(&re, b, submatches, m)) { if(!pdata->init(a)) pdata.reset(); } u32regex_token_iterator(const u32regex_token_iterator& that) : pdata(that.pdata) {} u32regex_token_iterator& operator=(const u32regex_token_iterator& that) { pdata = that.pdata; return *this; } bool operator==(const u32regex_token_iterator& that)const { if((pdata.get() == 0) || (that.pdata.get() == 0)) return pdata.get() == that.pdata.get(); return pdata->compare(*(that.pdata.get())); } bool operator!=(const u32regex_token_iterator& that)const { return !(*this == that); } const value_type& operator*()const { return pdata->get(); } const value_type* operator->()const { return &(pdata->get()); } u32regex_token_iterator& operator++() { cow(); if(0 == pdata->next()) { pdata.reset(); } return *this; } u32regex_token_iterator operator++(int) { u32regex_token_iterator result(*this); ++(*this); return result; } private: pimpl pdata; void cow() { // copy-on-write if(pdata.get() && (pdata.use_count() > 1)) { pdata.reset(new impl(*(pdata.get()))); } } }; typedef u32regex_token_iterator utf8regex_token_iterator; typedef u32regex_token_iterator utf16regex_token_iterator; typedef u32regex_token_iterator utf32regex_token_iterator; // construction from an integral sub_match state_id: inline u32regex_token_iterator make_u32regex_token_iterator(const char* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::strlen(p), e, submatch, m); } #ifndef BOOST_NO_WREGEX inline u32regex_token_iterator make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif #if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T) inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+u_strlen(p), e, submatch, m); } #endif template inline u32regex_token_iterator::const_iterator> make_u32regex_token_iterator(const std::basic_string& p, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { typedef typename std::basic_string::const_iterator iter_type; return u32regex_token_iterator(p.begin(), p.end(), e, submatch, m); } inline u32regex_token_iterator make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m); } // construction from a reference to an array: template inline u32regex_token_iterator make_u32regex_token_iterator(const char* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::strlen(p), e, submatch, m); } #ifndef BOOST_NO_WREGEX template inline u32regex_token_iterator make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif #if !defined(BOOST_REGEX_UCHAR_IS_WCHAR_T) template inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+u_strlen(p), e, submatch, m); } #endif template inline u32regex_token_iterator::const_iterator> make_u32regex_token_iterator(const std::basic_string& p, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { typedef typename std::basic_string::const_iterator iter_type; return u32regex_token_iterator(p.begin(), p.end(), e, submatch, m); } template inline u32regex_token_iterator make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, const int (&submatch)[N], regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m); } // construction from a vector of sub_match state_id's: inline u32regex_token_iterator make_u32regex_token_iterator(const char* p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::strlen(p), e, submatch, m); } #ifndef BOOST_NO_WREGEX inline u32regex_token_iterator make_u32regex_token_iterator(const wchar_t* p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+std::wcslen(p), e, submatch, m); } #endif #if !defined(U_WCHAR_IS_UTF16) && (U_SIZEOF_WCHAR_T != 2) inline u32regex_token_iterator make_u32regex_token_iterator(const UChar* p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(p, p+u_strlen(p), e, submatch, m); } #endif template inline u32regex_token_iterator::const_iterator> make_u32regex_token_iterator(const std::basic_string& p, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { typedef typename std::basic_string::const_iterator iter_type; return u32regex_token_iterator(p.begin(), p.end(), e, submatch, m); } inline u32regex_token_iterator make_u32regex_token_iterator(const U_NAMESPACE_QUALIFIER UnicodeString& s, const u32regex& e, const std::vector& submatch, regex_constants::match_flag_type m = regex_constants::match_default) { return u32regex_token_iterator(s.getBuffer(), s.getBuffer() + s.length(), e, submatch, m); } #ifdef BOOST_REGEX_MSVC # pragma warning(pop) #endif } // namespace boost #endif // BOOST_REGEX_V5_REGEX_TOKEN_ITERATOR_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/unicode_iterator.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE unicode_iterator.hpp * VERSION see * DESCRIPTION: Iterator adapters for converting between different Unicode encodings. */ /**************************************************************************** Contents: ~~~~~~~~~ 1) Read Only, Input Adapters: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ template class u32_to_u8_iterator; Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-8. template class u8_to_u32_iterator; Adapts sequence of UTF-8 code points to "look like" a sequence of UTF-32. template class u32_to_u16_iterator; Adapts sequence of UTF-32 code points to "look like" a sequence of UTF-16. template class u16_to_u32_iterator; Adapts sequence of UTF-16 code points to "look like" a sequence of UTF-32. 2) Single pass output iterator adapters: template class utf8_output_iterator; Accepts UTF-32 code points and forwards them on as UTF-8 code points. template class utf16_output_iterator; Accepts UTF-32 code points and forwards them on as UTF-16 code points. ****************************************************************************/ #ifndef BOOST_REGEX_UNICODE_ITERATOR_HPP #define BOOST_REGEX_UNICODE_ITERATOR_HPP #include #include #include #include #include #include // CHAR_BIT #ifndef BOOST_REGEX_STANDALONE #include #endif namespace boost{ namespace detail{ static const std::uint16_t high_surrogate_base = 0xD7C0u; static const std::uint16_t low_surrogate_base = 0xDC00u; static const std::uint32_t ten_bit_mask = 0x3FFu; inline bool is_high_surrogate(std::uint16_t v) { return (v & 0xFFFFFC00u) == 0xd800u; } inline bool is_low_surrogate(std::uint16_t v) { return (v & 0xFFFFFC00u) == 0xdc00u; } template inline bool is_surrogate(T v) { return (v & 0xFFFFF800u) == 0xd800; } inline unsigned utf8_byte_count(std::uint8_t c) { // if the most significant bit with a zero in it is in position // 8-N then there are N bytes in this UTF-8 sequence: std::uint8_t mask = 0x80u; unsigned result = 0; while(c & mask) { ++result; mask >>= 1; } return (result == 0) ? 1 : ((result > 4) ? 4 : result); } inline unsigned utf8_trailing_byte_count(std::uint8_t c) { return utf8_byte_count(c) - 1; } #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4100) #endif #ifndef BOOST_NO_EXCEPTIONS BOOST_REGEX_NORETURN #endif inline void invalid_utf32_code_point(std::uint32_t val) { std::stringstream ss; ss << "Invalid UTF-32 code point U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-16 sequence"; std::out_of_range e(ss.str()); #ifndef BOOST_REGEX_STANDALONE boost::throw_exception(e); #else throw e; #endif } #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif } // namespace detail template class u32_to_u16_iterator { typedef typename std::iterator_traits::value_type base_value_type; static_assert(sizeof(base_value_type)*CHAR_BIT == 32, "Incorrectly sized template argument"); static_assert(sizeof(U16Type)*CHAR_BIT == 16, "Incorrectly sized template argument"); public: typedef std::ptrdiff_t difference_type; typedef U16Type value_type; typedef value_type const* pointer; typedef value_type const reference; typedef std::bidirectional_iterator_tag iterator_category; reference operator*()const { if(m_current == 2) extract_current(); return m_values[m_current]; } bool operator==(const u32_to_u16_iterator& that)const { if(m_position == that.m_position) { // Both m_currents must be equal, or both even // this is the same as saying their sum must be even: return (m_current + that.m_current) & 1u ? false : true; } return false; } bool operator!=(const u32_to_u16_iterator& that)const { return !(*this == that); } u32_to_u16_iterator& operator++() { // if we have a pending read then read now, so that we know whether // to skip a position, or move to a low-surrogate: if(m_current == 2) { // pending read: extract_current(); } // move to the next surrogate position: ++m_current; // if we've reached the end skip a position: if(m_values[m_current] == 0) { m_current = 2; ++m_position; } return *this; } u32_to_u16_iterator operator++(int) { u32_to_u16_iterator r(*this); ++(*this); return r; } u32_to_u16_iterator& operator--() { if(m_current != 1) { // decrementing an iterator always leads to a valid position: --m_position; extract_current(); m_current = m_values[1] ? 1 : 0; } else { m_current = 0; } return *this; } u32_to_u16_iterator operator--(int) { u32_to_u16_iterator r(*this); --(*this); return r; } BaseIterator base()const { return m_position; } // construct: u32_to_u16_iterator() : m_position(), m_current(0) { m_values[0] = 0; m_values[1] = 0; m_values[2] = 0; } u32_to_u16_iterator(BaseIterator b) : m_position(b), m_current(2) { m_values[0] = 0; m_values[1] = 0; m_values[2] = 0; } private: void extract_current()const { // begin by checking for a code point out of range: std::uint32_t v = *m_position; if(v >= 0x10000u) { if(v > 0x10FFFFu) detail::invalid_utf32_code_point(*m_position); // split into two surrogates: m_values[0] = static_cast(v >> 10) + detail::high_surrogate_base; m_values[1] = static_cast(v & detail::ten_bit_mask) + detail::low_surrogate_base; m_current = 0; BOOST_REGEX_ASSERT(detail::is_high_surrogate(m_values[0])); BOOST_REGEX_ASSERT(detail::is_low_surrogate(m_values[1])); } else { // 16-bit code point: m_values[0] = static_cast(*m_position); m_values[1] = 0; m_current = 0; // value must not be a surrogate: if(detail::is_surrogate(m_values[0])) detail::invalid_utf32_code_point(*m_position); } } BaseIterator m_position; mutable U16Type m_values[3]; mutable unsigned m_current; }; template class u16_to_u32_iterator { // special values for pending iterator reads: static const U32Type pending_read = 0xffffffffu; typedef typename std::iterator_traits::value_type base_value_type; static_assert(sizeof(base_value_type)*CHAR_BIT == 16, "Incorrectly sized template argument"); static_assert(sizeof(U32Type)*CHAR_BIT == 32, "Incorrectly sized template argument"); public: typedef std::ptrdiff_t difference_type; typedef U32Type value_type; typedef value_type const* pointer; typedef value_type const reference; typedef std::bidirectional_iterator_tag iterator_category; reference operator*()const { if(m_value == pending_read) extract_current(); return m_value; } bool operator==(const u16_to_u32_iterator& that)const { return m_position == that.m_position; } bool operator!=(const u16_to_u32_iterator& that)const { return !(*this == that); } u16_to_u32_iterator& operator++() { // skip high surrogate first if there is one: if(detail::is_high_surrogate(*m_position)) ++m_position; ++m_position; m_value = pending_read; return *this; } u16_to_u32_iterator operator++(int) { u16_to_u32_iterator r(*this); ++(*this); return r; } u16_to_u32_iterator& operator--() { --m_position; // if we have a low surrogate then go back one more: if(detail::is_low_surrogate(*m_position)) --m_position; m_value = pending_read; return *this; } u16_to_u32_iterator operator--(int) { u16_to_u32_iterator r(*this); --(*this); return r; } BaseIterator base()const { return m_position; } // construct: u16_to_u32_iterator() : m_position() { m_value = pending_read; } u16_to_u32_iterator(BaseIterator b) : m_position(b) { m_value = pending_read; } // // Range checked version: // u16_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b) { m_value = pending_read; // // The range must not start with a low surrogate, or end in a high surrogate, // otherwise we run the risk of running outside the underlying input range. // Likewise b must not be located at a low surrogate. // std::uint16_t val; if(start != end) { if((b != start) && (b != end)) { val = *b; if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u)) invalid_code_point(val); } val = *start; if(detail::is_surrogate(val) && ((val & 0xFC00u) == 0xDC00u)) invalid_code_point(val); val = *--end; if(detail::is_high_surrogate(val)) invalid_code_point(val); } } private: static void invalid_code_point(std::uint16_t val) { std::stringstream ss; ss << "Misplaced UTF-16 surrogate U+" << std::showbase << std::hex << val << " encountered while trying to encode UTF-32 sequence"; std::out_of_range e(ss.str()); #ifndef BOOST_REGEX_STANDALONE boost::throw_exception(e); #else throw e; #endif } void extract_current()const { m_value = static_cast(static_cast< std::uint16_t>(*m_position)); // if the last value is a high surrogate then adjust m_position and m_value as needed: if(detail::is_high_surrogate(*m_position)) { // precondition; next value must have be a low-surrogate: BaseIterator next(m_position); std::uint16_t t = *++next; if((t & 0xFC00u) != 0xDC00u) invalid_code_point(t); m_value = (m_value - detail::high_surrogate_base) << 10; m_value |= (static_cast(static_cast< std::uint16_t>(t)) & detail::ten_bit_mask); } // postcondition; result must not be a surrogate: if(detail::is_surrogate(m_value)) invalid_code_point(static_cast< std::uint16_t>(m_value)); } BaseIterator m_position; mutable U32Type m_value; }; template class u32_to_u8_iterator { typedef typename std::iterator_traits::value_type base_value_type; static_assert(sizeof(base_value_type)*CHAR_BIT == 32, "Incorrectly sized template argument"); static_assert(sizeof(U8Type)*CHAR_BIT == 8, "Incorrectly sized template argument"); public: typedef std::ptrdiff_t difference_type; typedef U8Type value_type; typedef value_type const* pointer; typedef value_type const reference; typedef std::bidirectional_iterator_tag iterator_category; reference operator*()const { if(m_current == 4) extract_current(); return m_values[m_current]; } bool operator==(const u32_to_u8_iterator& that)const { if(m_position == that.m_position) { // either the m_current's must be equal, or one must be 0 and // the other 4: which means neither must have bits 1 or 2 set: return (m_current == that.m_current) || (((m_current | that.m_current) & 3) == 0); } return false; } bool operator!=(const u32_to_u8_iterator& that)const { return !(*this == that); } u32_to_u8_iterator& operator++() { // if we have a pending read then read now, so that we know whether // to skip a position, or move to a low-surrogate: if(m_current == 4) { // pending read: extract_current(); } // move to the next surrogate position: ++m_current; // if we've reached the end skip a position: if(m_values[m_current] == 0) { m_current = 4; ++m_position; } return *this; } u32_to_u8_iterator operator++(int) { u32_to_u8_iterator r(*this); ++(*this); return r; } u32_to_u8_iterator& operator--() { if((m_current & 3) == 0) { --m_position; extract_current(); m_current = 3; while(m_current && (m_values[m_current] == 0)) --m_current; } else --m_current; return *this; } u32_to_u8_iterator operator--(int) { u32_to_u8_iterator r(*this); --(*this); return r; } BaseIterator base()const { return m_position; } // construct: u32_to_u8_iterator() : m_position(), m_current(0) { m_values[0] = 0; m_values[1] = 0; m_values[2] = 0; m_values[3] = 0; m_values[4] = 0; } u32_to_u8_iterator(BaseIterator b) : m_position(b), m_current(4) { m_values[0] = 0; m_values[1] = 0; m_values[2] = 0; m_values[3] = 0; m_values[4] = 0; } private: void extract_current()const { std::uint32_t c = *m_position; if(c > 0x10FFFFu) detail::invalid_utf32_code_point(c); if(c < 0x80u) { m_values[0] = static_cast(c); m_values[1] = static_cast(0u); m_values[2] = static_cast(0u); m_values[3] = static_cast(0u); } else if(c < 0x800u) { m_values[0] = static_cast(0xC0u + (c >> 6)); m_values[1] = static_cast(0x80u + (c & 0x3Fu)); m_values[2] = static_cast(0u); m_values[3] = static_cast(0u); } else if(c < 0x10000u) { m_values[0] = static_cast(0xE0u + (c >> 12)); m_values[1] = static_cast(0x80u + ((c >> 6) & 0x3Fu)); m_values[2] = static_cast(0x80u + (c & 0x3Fu)); m_values[3] = static_cast(0u); } else { m_values[0] = static_cast(0xF0u + (c >> 18)); m_values[1] = static_cast(0x80u + ((c >> 12) & 0x3Fu)); m_values[2] = static_cast(0x80u + ((c >> 6) & 0x3Fu)); m_values[3] = static_cast(0x80u + (c & 0x3Fu)); } m_current= 0; } BaseIterator m_position; mutable U8Type m_values[5]; mutable unsigned m_current; }; template class u8_to_u32_iterator { // special values for pending iterator reads: static const U32Type pending_read = 0xffffffffu; typedef typename std::iterator_traits::value_type base_value_type; static_assert(sizeof(base_value_type)*CHAR_BIT == 8, "Incorrectly sized template argument"); static_assert(sizeof(U32Type)*CHAR_BIT == 32, "Incorrectly sized template argument"); public: typedef std::ptrdiff_t difference_type; typedef U32Type value_type; typedef value_type const* pointer; typedef value_type const reference; typedef std::bidirectional_iterator_tag iterator_category; reference operator*()const { if(m_value == pending_read) extract_current(); return m_value; } bool operator==(const u8_to_u32_iterator& that)const { return m_position == that.m_position; } bool operator!=(const u8_to_u32_iterator& that)const { return !(*this == that); } u8_to_u32_iterator& operator++() { // We must not start with a continuation character: if((static_cast(*m_position) & 0xC0) == 0x80) invalid_sequence(); // skip high surrogate first if there is one: unsigned c = detail::utf8_byte_count(*m_position); if(m_value == pending_read) { // Since we haven't read in a value, we need to validate the code points: for(unsigned i = 0; i < c; ++i) { ++m_position; // We must have a continuation byte: if((i != c - 1) && ((static_cast(*m_position) & 0xC0) != 0x80)) invalid_sequence(); } } else { std::advance(m_position, c); } m_value = pending_read; return *this; } u8_to_u32_iterator operator++(int) { u8_to_u32_iterator r(*this); ++(*this); return r; } u8_to_u32_iterator& operator--() { // Keep backtracking until we don't have a trailing character: unsigned count = 0; while((*--m_position & 0xC0u) == 0x80u) ++count; // now check that the sequence was valid: if(count != detail::utf8_trailing_byte_count(*m_position)) invalid_sequence(); m_value = pending_read; return *this; } u8_to_u32_iterator operator--(int) { u8_to_u32_iterator r(*this); --(*this); return r; } BaseIterator base()const { return m_position; } // construct: u8_to_u32_iterator() : m_position() { m_value = pending_read; } u8_to_u32_iterator(BaseIterator b) : m_position(b) { m_value = pending_read; } // // Checked constructor: // u8_to_u32_iterator(BaseIterator b, BaseIterator start, BaseIterator end) : m_position(b) { m_value = pending_read; // // We must not start with a continuation character, or end with a // truncated UTF-8 sequence otherwise we run the risk of going past // the start/end of the underlying sequence: // if(start != end) { unsigned char v = *start; if((v & 0xC0u) == 0x80u) invalid_sequence(); if((b != start) && (b != end) && ((*b & 0xC0u) == 0x80u)) invalid_sequence(); BaseIterator pos = end; do { v = *--pos; } while((start != pos) && ((v & 0xC0u) == 0x80u)); std::ptrdiff_t extra = detail::utf8_byte_count(v); if(std::distance(pos, end) < extra) invalid_sequence(); } } private: static void invalid_sequence() { std::out_of_range e("Invalid UTF-8 sequence encountered while trying to encode UTF-32 character"); #ifndef BOOST_REGEX_STANDALONE boost::throw_exception(e); #else throw e; #endif } void extract_current()const { m_value = static_cast(static_cast< std::uint8_t>(*m_position)); // we must not have a continuation character: if((m_value & 0xC0u) == 0x80u) invalid_sequence(); // see how many extra bytes we have: unsigned extra = detail::utf8_trailing_byte_count(*m_position); // extract the extra bits, 6 from each extra byte: BaseIterator next(m_position); for(unsigned c = 0; c < extra; ++c) { ++next; m_value <<= 6; // We must have a continuation byte: if((static_cast(*next) & 0xC0) != 0x80) invalid_sequence(); m_value += static_cast(*next) & 0x3Fu; } // we now need to remove a few of the leftmost bits, but how many depends // upon how many extra bytes we've extracted: static const std::uint32_t masks[4] = { 0x7Fu, 0x7FFu, 0xFFFFu, 0x1FFFFFu, }; m_value &= masks[extra]; // check the result is in range: if(m_value > static_cast(0x10FFFFu)) invalid_sequence(); // The result must not be a surrogate: if((m_value >= static_cast(0xD800)) && (m_value <= static_cast(0xDFFF))) invalid_sequence(); // We should not have had an invalidly encoded UTF8 sequence: if((extra > 0) && (m_value <= static_cast(masks[extra - 1]))) invalid_sequence(); } BaseIterator m_position; mutable U32Type m_value; }; template class utf16_output_iterator { public: typedef void difference_type; typedef void value_type; typedef std::uint32_t* pointer; typedef std::uint32_t& reference; typedef std::output_iterator_tag iterator_category; utf16_output_iterator(const BaseIterator& b) : m_position(b){} utf16_output_iterator(const utf16_output_iterator& that) : m_position(that.m_position){} utf16_output_iterator& operator=(const utf16_output_iterator& that) { m_position = that.m_position; return *this; } const utf16_output_iterator& operator*()const { return *this; } void operator=(std::uint32_t val)const { push(val); } utf16_output_iterator& operator++() { return *this; } utf16_output_iterator& operator++(int) { return *this; } BaseIterator base()const { return m_position; } private: void push(std::uint32_t v)const { if(v >= 0x10000u) { // begin by checking for a code point out of range: if(v > 0x10FFFFu) detail::invalid_utf32_code_point(v); // split into two surrogates: *m_position++ = static_cast(v >> 10) + detail::high_surrogate_base; *m_position++ = static_cast(v & detail::ten_bit_mask) + detail::low_surrogate_base; } else { // 16-bit code point: // value must not be a surrogate: if(detail::is_surrogate(v)) detail::invalid_utf32_code_point(v); *m_position++ = static_cast(v); } } mutable BaseIterator m_position; }; template class utf8_output_iterator { public: typedef void difference_type; typedef void value_type; typedef std::uint32_t* pointer; typedef std::uint32_t& reference; typedef std::output_iterator_tag iterator_category; utf8_output_iterator(const BaseIterator& b) : m_position(b){} utf8_output_iterator(const utf8_output_iterator& that) : m_position(that.m_position){} utf8_output_iterator& operator=(const utf8_output_iterator& that) { m_position = that.m_position; return *this; } const utf8_output_iterator& operator*()const { return *this; } void operator=(std::uint32_t val)const { push(val); } utf8_output_iterator& operator++() { return *this; } utf8_output_iterator& operator++(int) { return *this; } BaseIterator base()const { return m_position; } private: void push(std::uint32_t c)const { if(c > 0x10FFFFu) detail::invalid_utf32_code_point(c); if(c < 0x80u) { *m_position++ = static_cast(c); } else if(c < 0x800u) { *m_position++ = static_cast(0xC0u + (c >> 6)); *m_position++ = static_cast(0x80u + (c & 0x3Fu)); } else if(c < 0x10000u) { *m_position++ = static_cast(0xE0u + (c >> 12)); *m_position++ = static_cast(0x80u + ((c >> 6) & 0x3Fu)); *m_position++ = static_cast(0x80u + (c & 0x3Fu)); } else { *m_position++ = static_cast(0xF0u + (c >> 18)); *m_position++ = static_cast(0x80u + ((c >> 12) & 0x3Fu)); *m_position++ = static_cast(0x80u + ((c >> 6) & 0x3Fu)); *m_position++ = static_cast(0x80u + (c & 0x3Fu)); } } mutable BaseIterator m_position; }; } // namespace boost #endif // BOOST_REGEX_UNICODE_ITERATOR_HPP ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex/v5/w32_regex_traits.hpp ================================================ /* * * Copyright (c) 2004 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org for most recent version. * FILE w32_regex_traits.hpp * VERSION see * DESCRIPTION: Declares regular expression traits class w32_regex_traits. */ #ifndef BOOST_W32_REGEX_TRAITS_HPP_INCLUDED #define BOOST_W32_REGEX_TRAITS_HPP_INCLUDED #ifndef BOOST_REGEX_NO_WIN32_LOCALE #include #include #ifdef BOOST_HAS_THREADS #include #endif #include #include #if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE) #pragma comment(lib, "user32.lib") #endif #ifdef BOOST_REGEX_MSVC #pragma warning(push) #pragma warning(disable:4786) #if BOOST_REGEX_MSVC < 1910 #pragma warning(disable:4800) #endif #endif #ifndef BASETYPES // // windows.h not included, so lets forward declare what we need: // #ifndef NO_STRICT #ifndef STRICT #define STRICT 1 #endif #endif #if defined(STRICT) #define BOOST_RE_DETAIL_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x #else #define BOOST_RE_DETAIL_DECLARE_HANDLE(x) typedef void* x #endif // // This must be in the global namespace: // extern "C" { BOOST_RE_DETAIL_DECLARE_HANDLE(HINSTANCE); typedef HINSTANCE HMODULE; } #endif namespace boost{ // // forward declaration is needed by some compilers: // template class w32_regex_traits; namespace BOOST_REGEX_DETAIL_NS{ // // start by typedeffing the types we'll need: // typedef unsigned long lcid_type; // placeholder for LCID. typedef std::shared_ptr cat_type; // placeholder for dll HANDLE. // // then add wrappers around the actual Win32 API's (ie implementation hiding): // lcid_type w32_get_default_locale(); bool w32_is_lower(char, lcid_type); #ifndef BOOST_NO_WREGEX bool w32_is_lower(wchar_t, lcid_type); #endif bool w32_is_upper(char, lcid_type); #ifndef BOOST_NO_WREGEX bool w32_is_upper(wchar_t, lcid_type); #endif cat_type w32_cat_open(const std::string& name); std::string w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::string& def); #ifndef BOOST_NO_WREGEX std::wstring w32_cat_get(const cat_type& cat, lcid_type state_id, int i, const std::wstring& def); #endif std::string w32_transform(lcid_type state_id, const char* p1, const char* p2); #ifndef BOOST_NO_WREGEX std::wstring w32_transform(lcid_type state_id, const wchar_t* p1, const wchar_t* p2); #endif char w32_tolower(char c, lcid_type); #ifndef BOOST_NO_WREGEX wchar_t w32_tolower(wchar_t c, lcid_type); #endif char w32_toupper(char c, lcid_type); #ifndef BOOST_NO_WREGEX wchar_t w32_toupper(wchar_t c, lcid_type); #endif bool w32_is(lcid_type, std::uint32_t mask, char c); #ifndef BOOST_NO_WREGEX bool w32_is(lcid_type, std::uint32_t mask, wchar_t c); #endif #ifndef BASETYPES // // Forward declarations of the small number of windows types and API's we use: // #if !defined(__LP64__) using dword = unsigned long; #else using DWORD = unsigned int; #endif using word = unsigned short; using lctype = dword; static constexpr dword ct_ctype1 = 0x00000001; static constexpr dword c1_upper = 0x0001; // upper case static constexpr dword c1_lower = 0x0002; // lower case static constexpr dword c1_digit = 0x0004; // decimal digits static constexpr dword c1_space = 0x0008; // spacing characters static constexpr dword c1_punct = 0x0010; // punctuation characters static constexpr dword c1_cntrl = 0x0020; // control characters static constexpr dword c1_blank = 0x0040; // blank characters static constexpr dword c1_xdigit = 0x0080; // other digits static constexpr dword c1_alpha = 0x0100; // any linguistic character static constexpr dword c1_defined = 0x0200; // defined character static constexpr unsigned int cp_acp = 0; static constexpr dword lcmap_lowercase = 0x00000100; static constexpr dword lcmap_uppercase = 0x00000200; static constexpr dword lcmap_sortkey = 0x00000400; // WC sort key (normalize) static constexpr lctype locale_idefaultansicodepage = 0x00001004; # ifdef UNDER_CE # ifndef WINAPI # ifndef _WIN32_WCE_EMULATION # define BOOST_RE_STDCALL __cdecl // Note this doesn't match the desktop definition # else # define BOOST_RE_STDCALL __stdcall # endif # endif # else # if defined(_M_IX86) || defined(__i386__) # define BOOST_RE_STDCALL __stdcall # else // On architectures other than 32-bit x86 __stdcall is ignored. Clang also issues a warning. # define BOOST_RE_STDCALL # endif # endif #if defined (WIN32_PLATFORM_PSPC) #define BOOST_RE_IMPORT __declspec( dllimport ) #elif defined (_WIN32_WCE) #define BOOST_RE_IMPORT #else #define BOOST_RE_IMPORT __declspec( dllimport ) #endif extern "C" { BOOST_RE_IMPORT int BOOST_RE_STDCALL FreeLibrary(HMODULE hLibModule); BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringA(lcid_type Locale, dword dwMapFlags, const char* lpSrcStr, int cchSrc, char* lpDestStr, int cchDest); BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringW(lcid_type Locale, dword dwMapFlags, const wchar_t* lpSrcStr, int cchSrc, wchar_t* lpDestStr, int cchDest); BOOST_RE_IMPORT int BOOST_RE_STDCALL MultiByteToWideChar(unsigned int CodePage, dword dwFlags, const char* lpMultiByteStr, int cbMultiByte, wchar_t* lpWideCharStr, int cchWideChar); BOOST_RE_IMPORT int BOOST_RE_STDCALL LCMapStringW(lcid_type Locale, dword dwMapFlags, const wchar_t* lpSrcStr, int cchSrc, wchar_t* lpDestStr, int cchDest); BOOST_RE_IMPORT int BOOST_RE_STDCALL WideCharToMultiByte(unsigned int CodePage, dword dwFlags, const wchar_t* lpWideCharStr, int cchWideChar, char* lpMultiByteStr, int cbMultiByte, const char* lpDefaultChar, int* lpUsedDefaultChar); BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExA(lcid_type Locale, dword dwInfoType, const char* lpSrcStr, int cchSrc, word* lpCharType); BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExW(lcid_type Locale, dword dwInfoType, const wchar_t* lpSrcStr, int cchSrc, word* lpCharType); BOOST_RE_IMPORT lcid_type BOOST_RE_STDCALL GetUserDefaultLCID(); BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExA(lcid_type Locale, dword dwInfoType, const char* lpSrcStr, int cchSrc, word* lpCharType); BOOST_RE_IMPORT int BOOST_RE_STDCALL GetStringTypeExW(lcid_type Locale, dword dwInfoType, const wchar_t* lpSrcStr, int cchSrc, word* lpCharType); BOOST_RE_IMPORT HMODULE BOOST_RE_STDCALL LoadLibraryA(const char* lpLibFileName); BOOST_RE_IMPORT HMODULE BOOST_RE_STDCALL LoadLibraryW(const wchar_t* lpLibFileName); BOOST_RE_IMPORT int BOOST_RE_STDCALL LoadStringW(HINSTANCE hInstance, unsigned int uID, wchar_t* lpBuffer, int cchBufferMax); BOOST_RE_IMPORT int BOOST_RE_STDCALL LoadStringA(HINSTANCE hInstance, unsigned int uID, char* lpBuffer, int cchBufferMax); BOOST_RE_IMPORT int BOOST_RE_STDCALL GetLocaleInfoW(lcid_type Locale, lctype LCType, wchar_t* lpLCData, int cchData); } #else // // We have windows.h already included: // using dword = DWORD; using word = WORD; using lctype = LCTYPE; static constexpr dword ct_ctype1 = 0x00000001; static constexpr dword c1_upper = 0x0001; // upper case static constexpr dword c1_lower = 0x0002; // lower case static constexpr dword c1_digit = 0x0004; // decimal digits static constexpr dword c1_space = 0x0008; // spacing characters static constexpr dword c1_punct = 0x0010; // punctuation characters static constexpr dword c1_cntrl = 0x0020; // control characters static constexpr dword c1_blank = 0x0040; // blank characters static constexpr dword c1_xdigit = 0x0080; // other digits static constexpr dword c1_alpha = 0x0100; // any linguistic character static constexpr dword c1_defined = 0x0200; // defined character static constexpr unsigned int cp_acp = 0; static constexpr dword lcmap_lowercase = 0x00000100; static constexpr dword lcmap_uppercase = 0x00000200; static constexpr dword lcmap_sortkey = 0x00000400; // WC sort key (normalize) static constexpr lctype locale_idefaultansicodepage = 0x00001004; using ::FreeLibrary; using ::LCMapStringA; using ::LCMapStringW; using ::MultiByteToWideChar; using ::LCMapStringW; using ::WideCharToMultiByte; using ::GetStringTypeExA; using ::GetStringTypeExW; using ::GetUserDefaultLCID; using ::GetStringTypeExA; using ::GetStringTypeExW; using ::LoadLibraryA; using ::LoadLibraryW; using ::LoadStringW; using ::LoadStringA; using ::GetLocaleInfoW; #endif // // class w32_regex_traits_base: // acts as a container for locale and the facets we are using. // template struct w32_regex_traits_base { w32_regex_traits_base(lcid_type l) { imbue(l); } lcid_type imbue(lcid_type l); lcid_type m_locale; }; template inline lcid_type w32_regex_traits_base::imbue(lcid_type l) { lcid_type result(m_locale); m_locale = l; return result; } // // class w32_regex_traits_char_layer: // implements methods that require specialisation for narrow characters: // template class w32_regex_traits_char_layer : public w32_regex_traits_base { typedef std::basic_string string_type; typedef std::map map_type; typedef typename map_type::const_iterator map_iterator_type; public: w32_regex_traits_char_layer(const lcid_type l); regex_constants::syntax_type syntax_type(charT c)const { map_iterator_type i = m_char_map.find(c); return ((i == m_char_map.end()) ? 0 : i->second); } regex_constants::escape_syntax_type escape_syntax_type(charT c) const { map_iterator_type i = m_char_map.find(c); if(i == m_char_map.end()) { if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_lower(c, this->m_locale)) return regex_constants::escape_type_class; if(::boost::BOOST_REGEX_DETAIL_NS::w32_is_upper(c, this->m_locale)) return regex_constants::escape_type_not_class; return 0; } return i->second; } charT tolower(charT c)const { return ::boost::BOOST_REGEX_DETAIL_NS::w32_tolower(c, this->m_locale); } bool isctype(std::uint32_t mask, charT c)const { return ::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, mask, c); } private: string_type get_default_message(regex_constants::syntax_type); // TODO: use a hash table when available! map_type m_char_map; }; template w32_regex_traits_char_layer::w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) : w32_regex_traits_base(l) { // we need to start by initialising our syntax map so we know which // character is used for which purpose: cat_type cat; std::string cat_name(w32_regex_traits::get_catalog_name()); if(cat_name.size()) { cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); if(!cat) { std::string m("Unable to open message catalog: "); std::runtime_error err(m + cat_name); boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); } } // // if we have a valid catalog then load our messages: // if(cat) { for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_message(i)); for(typename string_type::size_type j = 0; j < mss.size(); ++j) { this->m_char_map[mss[j]] = i; } } } else { for(regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { const char* ptr = get_default_syntax(i); while(ptr && *ptr) { this->m_char_map[static_cast(*ptr)] = i; ++ptr; } } } } template typename w32_regex_traits_char_layer::string_type w32_regex_traits_char_layer::get_default_message(regex_constants::syntax_type i) { const char* ptr = get_default_syntax(i); string_type result; while(ptr && *ptr) { result.append(1, static_cast(*ptr)); ++ptr; } return result; } // // specialised version for narrow characters: // template <> class w32_regex_traits_char_layer : public w32_regex_traits_base { typedef std::string string_type; public: w32_regex_traits_char_layer(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) : w32_regex_traits_base(l) { init(); } regex_constants::syntax_type syntax_type(char c)const { return m_char_map[static_cast(c)]; } regex_constants::escape_syntax_type escape_syntax_type(char c) const { return m_char_map[static_cast(c)]; } char tolower(char c)const { return m_lower_map[static_cast(c)]; } bool isctype(std::uint32_t mask, char c)const { return m_type_map[static_cast(c)] & mask; } private: regex_constants::syntax_type m_char_map[1u << CHAR_BIT]; char m_lower_map[1u << CHAR_BIT]; std::uint16_t m_type_map[1u << CHAR_BIT]; template void init(); }; // // class w32_regex_traits_implementation: // provides pimpl implementation for w32_regex_traits. // template class w32_regex_traits_implementation : public w32_regex_traits_char_layer { public: typedef typename w32_regex_traits::char_class_type char_class_type; static const char_class_type mask_word = 0x0400; // must be C1_DEFINED << 1 static const char_class_type mask_unicode = 0x0800; // must be C1_DEFINED << 2 static const char_class_type mask_horizontal = 0x1000; // must be C1_DEFINED << 3 static const char_class_type mask_vertical = 0x2000; // must be C1_DEFINED << 4 static const char_class_type mask_base = 0x3ff; // all the masks used by the CT_CTYPE1 group typedef std::basic_string string_type; typedef charT char_type; w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l); std::string error_string(regex_constants::error_type n) const { if(!m_error_strings.empty()) { std::map::const_iterator p = m_error_strings.find(n); return (p == m_error_strings.end()) ? std::string(get_default_error_string(n)) : p->second; } return get_default_error_string(n); } char_class_type lookup_classname(const charT* p1, const charT* p2) const { char_class_type result = lookup_classname_imp(p1, p2); if(result == 0) { typedef typename string_type::size_type size_type; string_type temp(p1, p2); for(size_type i = 0; i < temp.size(); ++i) temp[i] = this->tolower(temp[i]); result = lookup_classname_imp(&*temp.begin(), &*temp.begin() + temp.size()); } return result; } string_type lookup_collatename(const charT* p1, const charT* p2) const; string_type transform_primary(const charT* p1, const charT* p2) const; string_type transform(const charT* p1, const charT* p2) const { return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_locale, p1, p2); } private: std::map m_error_strings; // error messages indexed by numberic ID std::map m_custom_class_names; // character class names std::map m_custom_collate_names; // collating element names unsigned m_collate_type; // the form of the collation string charT m_collate_delim; // the collation group delimiter // // helpers: // char_class_type lookup_classname_imp(const charT* p1, const charT* p2) const; }; template typename w32_regex_traits_implementation::string_type w32_regex_traits_implementation::transform_primary(const charT* p1, const charT* p2) const { string_type result; // // What we do here depends upon the format of the sort key returned by // sort key returned by this->transform: // switch(m_collate_type) { case sort_C: case sort_unknown: // the best we can do is translate to lower case, then get a regular sort key: { result.assign(p1, p2); typedef typename string_type::size_type size_type; for(size_type i = 0; i < result.size(); ++i) result[i] = this->tolower(result[i]); result = this->transform(&*result.begin(), &*result.begin() + result.size()); break; } case sort_fixed: { // get a regular sort key, and then truncate it: result.assign(this->transform(p1, p2)); result.erase(this->m_collate_delim); break; } case sort_delim: // get a regular sort key, and then truncate everything after the delim: result.assign(this->transform(p1, p2)); std::size_t i; for(i = 0; i < result.size(); ++i) { if(result[i] == m_collate_delim) break; } result.erase(i); break; } if(result.empty()) result = string_type(1, charT(0)); return result; } template typename w32_regex_traits_implementation::string_type w32_regex_traits_implementation::lookup_collatename(const charT* p1, const charT* p2) const { typedef typename std::map::const_iterator iter_type; if(m_custom_collate_names.size()) { iter_type pos = m_custom_collate_names.find(string_type(p1, p2)); if(pos != m_custom_collate_names.end()) return pos->second; } std::string name(p1, p2); name = lookup_default_collate_name(name); if(name.size()) return string_type(name.begin(), name.end()); if(p2 - p1 == 1) return string_type(1, *p1); return string_type(); } template w32_regex_traits_implementation::w32_regex_traits_implementation(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) : w32_regex_traits_char_layer(l) { cat_type cat; std::string cat_name(w32_regex_traits::get_catalog_name()); if(cat_name.size()) { cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); if(!cat) { std::string m("Unable to open message catalog: "); std::runtime_error err(m + cat_name); boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); } } // // if we have a valid catalog then load our messages: // if(cat) { // // Error messages: // for(boost::regex_constants::error_type i = static_cast(0); i <= boost::regex_constants::error_unknown; i = static_cast(i + 1)) { const char* p = get_default_error_string(i); string_type default_message; while(*p) { default_message.append(1, static_cast(*p)); ++p; } string_type s = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i+200, default_message); std::string result; for(std::string::size_type j = 0; j < s.size(); ++j) { result.append(1, static_cast(s[j])); } m_error_strings[i] = result; } // // Custom class names: // static const char_class_type masks[14] = { 0x0104u, // C1_ALPHA | C1_DIGIT 0x0100u, // C1_ALPHA 0x0020u, // C1_CNTRL 0x0004u, // C1_DIGIT (~(0x0020u|0x0008u) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE 0x0002u, // C1_LOWER (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL 0x0010u, // C1_PUNCT 0x0008u, // C1_SPACE 0x0001u, // C1_UPPER 0x0080u, // C1_XDIGIT 0x0040u, // C1_BLANK w32_regex_traits_implementation::mask_word, w32_regex_traits_implementation::mask_unicode, }; static const string_type null_string; for(unsigned int j = 0; j <= 13; ++j) { string_type s(::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, j+300, null_string)); if(s.size()) this->m_custom_class_names[s] = masks[j]; } } // // get the collation format used by m_pcollate: // m_collate_type = BOOST_REGEX_DETAIL_NS::find_sort_syntax(this, &m_collate_delim); } template typename w32_regex_traits_implementation::char_class_type w32_regex_traits_implementation::lookup_classname_imp(const charT* p1, const charT* p2) const { static const char_class_type masks[22] = { 0, 0x0104u, // C1_ALPHA | C1_DIGIT 0x0100u, // C1_ALPHA 0x0040u, // C1_BLANK 0x0020u, // C1_CNTRL 0x0004u, // C1_DIGIT 0x0004u, // C1_DIGIT (~(0x0020u|0x0008u|0x0040) & 0x01ffu) | 0x0400u, // not C1_CNTRL or C1_SPACE or C1_BLANK w32_regex_traits_implementation::mask_horizontal, 0x0002u, // C1_LOWER 0x0002u, // C1_LOWER (~0x0020u & 0x01ffu) | 0x0400, // not C1_CNTRL 0x0010u, // C1_PUNCT 0x0008u, // C1_SPACE 0x0008u, // C1_SPACE 0x0001u, // C1_UPPER w32_regex_traits_implementation::mask_unicode, 0x0001u, // C1_UPPER w32_regex_traits_implementation::mask_vertical, 0x0104u | w32_regex_traits_implementation::mask_word, 0x0104u | w32_regex_traits_implementation::mask_word, 0x0080u, // C1_XDIGIT }; if(m_custom_class_names.size()) { typedef typename std::map, char_class_type>::const_iterator map_iter; map_iter pos = m_custom_class_names.find(string_type(p1, p2)); if(pos != m_custom_class_names.end()) return pos->second; } std::size_t state_id = 1u + (std::size_t)BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2); if(state_id < sizeof(masks) / sizeof(masks[0])) return masks[state_id]; return masks[0]; } template std::shared_ptr > create_w32_regex_traits(::boost::BOOST_REGEX_DETAIL_NS::lcid_type l) { // TODO: create a cache for previously constructed objects. return boost::object_cache< ::boost::BOOST_REGEX_DETAIL_NS::lcid_type, w32_regex_traits_implementation >::get(l, 5); } } // BOOST_REGEX_DETAIL_NS template class w32_regex_traits { public: typedef charT char_type; typedef std::size_t size_type; typedef std::basic_string string_type; typedef ::boost::BOOST_REGEX_DETAIL_NS::lcid_type locale_type; typedef std::uint_least32_t char_class_type; struct boost_extensions_tag{}; w32_regex_traits() : m_pimpl(BOOST_REGEX_DETAIL_NS::create_w32_regex_traits(::boost::BOOST_REGEX_DETAIL_NS::w32_get_default_locale())) { } static size_type length(const char_type* p) { return std::char_traits::length(p); } regex_constants::syntax_type syntax_type(charT c)const { return m_pimpl->syntax_type(c); } regex_constants::escape_syntax_type escape_syntax_type(charT c) const { return m_pimpl->escape_syntax_type(c); } charT translate(charT c) const { return c; } charT translate_nocase(charT c) const { return this->m_pimpl->tolower(c); } charT translate(charT c, bool icase) const { return icase ? this->m_pimpl->tolower(c) : c; } charT tolower(charT c) const { return this->m_pimpl->tolower(c); } charT toupper(charT c) const { return ::boost::BOOST_REGEX_DETAIL_NS::w32_toupper(c, this->m_pimpl->m_locale); } string_type transform(const charT* p1, const charT* p2) const { return ::boost::BOOST_REGEX_DETAIL_NS::w32_transform(this->m_pimpl->m_locale, p1, p2); } string_type transform_primary(const charT* p1, const charT* p2) const { return m_pimpl->transform_primary(p1, p2); } char_class_type lookup_classname(const charT* p1, const charT* p2) const { return m_pimpl->lookup_classname(p1, p2); } string_type lookup_collatename(const charT* p1, const charT* p2) const { return m_pimpl->lookup_collatename(p1, p2); } bool isctype(charT c, char_class_type f) const { if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_base) && (this->m_pimpl->isctype(f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_base, c))) return true; else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_unicode) && BOOST_REGEX_DETAIL_NS::is_extended(c)) return true; else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_word) && (c == '_')) return true; else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_vertical) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == '\v'))) return true; else if((f & BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_horizontal) && this->isctype(c, 0x0008u) && !this->isctype(c, BOOST_REGEX_DETAIL_NS::w32_regex_traits_implementation::mask_vertical)) return true; return false; } std::intmax_t toi(const charT*& p1, const charT* p2, int radix)const { return ::boost::BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this); } int value(charT c, int radix)const { int result = (int)::boost::BOOST_REGEX_DETAIL_NS::global_value(c); return result < radix ? result : -1; } locale_type imbue(locale_type l) { ::boost::BOOST_REGEX_DETAIL_NS::lcid_type result(getloc()); m_pimpl = BOOST_REGEX_DETAIL_NS::create_w32_regex_traits(l); return result; } locale_type getloc()const { return m_pimpl->m_locale; } std::string error_string(regex_constants::error_type n) const { return m_pimpl->error_string(n); } // // extension: // set the name of the message catalog in use (defaults to "boost_regex"). // static std::string catalog_name(const std::string& name); static std::string get_catalog_name(); private: std::shared_ptr > m_pimpl; // // catalog name handler: // static std::string& get_catalog_name_inst(); #ifdef BOOST_HAS_THREADS static std::mutex& get_mutex_inst(); #endif }; template std::string w32_regex_traits::catalog_name(const std::string& name) { #ifdef BOOST_HAS_THREADS std::lock_guard lk(get_mutex_inst()); #endif std::string result(get_catalog_name_inst()); get_catalog_name_inst() = name; return result; } template std::string& w32_regex_traits::get_catalog_name_inst() { static std::string s_name; return s_name; } template std::string w32_regex_traits::get_catalog_name() { #ifdef BOOST_HAS_THREADS std::lock_guard lk(get_mutex_inst()); #endif std::string result(get_catalog_name_inst()); return result; } #ifdef BOOST_HAS_THREADS template std::mutex& w32_regex_traits::get_mutex_inst() { static std::mutex s_mutex; return s_mutex; } #endif namespace BOOST_REGEX_DETAIL_NS { #ifdef BOOST_NO_ANSI_APIS inline unsigned int get_code_page_for_locale_id(lcid_type idx) { wchar_t code_page_string[7]; if (boost::BOOST_REGEX_DETAIL_NS::GetLocaleInfoW(idx, locale_idefaultansicodepage, code_page_string, 7) == 0) return 0; return static_cast(_wtol(code_page_string)); } #endif template inline void w32_regex_traits_char_layer::init() { // we need to start by initialising our syntax map so we know which // character is used for which purpose: std::memset(m_char_map, 0, sizeof(m_char_map)); cat_type cat; std::string cat_name(w32_regex_traits::get_catalog_name()); if (cat_name.size()) { cat = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_open(cat_name); if (!cat) { std::string m("Unable to open message catalog: "); std::runtime_error err(m + cat_name); ::boost::BOOST_REGEX_DETAIL_NS::raise_runtime_error(err); } } // // if we have a valid catalog then load our messages: // if (cat) { for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { string_type mss = ::boost::BOOST_REGEX_DETAIL_NS::w32_cat_get(cat, this->m_locale, i, get_default_syntax(i)); for (string_type::size_type j = 0; j < mss.size(); ++j) { m_char_map[static_cast(mss[j])] = i; } } } else { for (regex_constants::syntax_type i = 1; i < regex_constants::syntax_max; ++i) { const char* ptr = get_default_syntax(i); while (ptr && *ptr) { m_char_map[static_cast(*ptr)] = i; ++ptr; } } } // // finish off by calculating our escape types: // unsigned char i = 'A'; do { if (m_char_map[i] == 0) { if (::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0002u, (char)i)) m_char_map[i] = regex_constants::escape_type_class; else if (::boost::BOOST_REGEX_DETAIL_NS::w32_is(this->m_locale, 0x0001u, (char)i)) m_char_map[i] = regex_constants::escape_type_not_class; } } while (0xFF != i++); // // fill in lower case map: // char char_map[1 << CHAR_BIT]; for (int ii = 0; ii < (1 << CHAR_BIT); ++ii) char_map[ii] = static_cast(ii); #ifndef BOOST_NO_ANSI_APIS int r = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA(this->m_locale, lcmap_lowercase, char_map, 1 << CHAR_BIT, this->m_lower_map, 1 << CHAR_BIT); BOOST_REGEX_ASSERT(r != 0); #else unsigned int code_page = get_code_page_for_locale_id(this->m_locale); BOOST_REGEX_ASSERT(code_page != 0); wchar_t wide_char_map[1 << CHAR_BIT]; int conv_r = boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, char_map, 1 << CHAR_BIT, wide_char_map, 1 << CHAR_BIT); BOOST_REGEX_ASSERT(conv_r != 0); wchar_t wide_lower_map[1 << CHAR_BIT]; int r = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW(this->m_locale, lcmap_lowercase, wide_char_map, 1 << CHAR_BIT, wide_lower_map, 1 << CHAR_BIT); BOOST_REGEX_ASSERT(r != 0); conv_r = boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, wide_lower_map, r, this->m_lower_map, 1 << CHAR_BIT, NULL, NULL); BOOST_REGEX_ASSERT(conv_r != 0); #endif if (r < (1 << CHAR_BIT)) { // if we have multibyte characters then not all may have been given // a lower case mapping: for (int jj = r; jj < (1 << CHAR_BIT); ++jj) this->m_lower_map[jj] = static_cast(jj); } #ifndef BOOST_NO_ANSI_APIS r = boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(this->m_locale, ct_ctype1, char_map, 1 << CHAR_BIT, this->m_type_map); #else r = boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(this->m_locale, ct_ctype1, wide_char_map, 1 << CHAR_BIT, this->m_type_map); #endif BOOST_REGEX_ASSERT(0 != r); } inline lcid_type w32_get_default_locale() { return boost::BOOST_REGEX_DETAIL_NS::GetUserDefaultLCID(); } inline bool w32_is_lower(char c, lcid_type idx) { #ifndef BOOST_NO_ANSI_APIS word mask; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_lower)) return true; return false; #else unsigned int code_page = get_code_page_for_locale_id(idx); if (code_page == 0) return false; wchar_t wide_c; if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) return false; word mask; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & c1_lower)) return true; return false; #endif } inline bool w32_is_lower(wchar_t c, lcid_type idx) { word mask; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_lower)) return true; return false; } inline bool w32_is_upper(char c, lcid_type idx) { #ifndef BOOST_NO_ANSI_APIS word mask; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_upper)) return true; return false; #else unsigned int code_page = get_code_page_for_locale_id(idx); if (code_page == 0) return false; wchar_t wide_c; if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) return false; word mask; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & c1_upper)) return true; return false; #endif } inline bool w32_is_upper(wchar_t c, lcid_type idx) { word mask; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & c1_upper)) return true; return false; } inline void free_module(void* mod) { boost::BOOST_REGEX_DETAIL_NS::FreeLibrary(static_cast(mod)); } inline cat_type w32_cat_open(const std::string& name) { #ifndef BOOST_NO_ANSI_APIS cat_type result(boost::BOOST_REGEX_DETAIL_NS::LoadLibraryA(name.c_str()), &free_module); return result; #else wchar_t* wide_name = (wchar_t*)_alloca((name.size() + 1) * sizeof(wchar_t)); if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(cp_acp, 0, name.c_str(), (int)name.size(), wide_name, (int)(name.size() + 1)) == 0) return cat_type(); cat_type result(boost::BOOST_REGEX_DETAIL_NS::LoadLibraryW(wide_name), &free_module); return result; #endif } inline std::string w32_cat_get(const cat_type& cat, lcid_type, int i, const std::string& def) { #ifndef BOOST_NO_ANSI_APIS char buf[256]; if (0 == boost::BOOST_REGEX_DETAIL_NS::LoadStringA( static_cast(cat.get()), i, buf, 256 )) { return def; } #else wchar_t wbuf[256]; int r = boost::BOOST_REGEX_DETAIL_NS::LoadStringW( static_cast(cat.get()), i, wbuf, 256 ); if (r == 0) return def; int buf_size = 1 + boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(cp_acp, 0, wbuf, r, NULL, 0, NULL, NULL); char* buf = (char*)_alloca(buf_size); if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(cp_acp, 0, wbuf, r, buf, buf_size, NULL, NULL) == 0) return def; // failed conversion. #endif return std::string(buf); } #ifndef BOOST_NO_WREGEX inline std::wstring w32_cat_get(const cat_type& cat, lcid_type, int i, const std::wstring& def) { wchar_t buf[256]; if (0 == boost::BOOST_REGEX_DETAIL_NS::LoadStringW(static_cast(cat.get()), i, buf, 256)) { return def; } return std::wstring(buf); } #endif inline std::string w32_transform(lcid_type idx, const char* p1, const char* p2) { #ifndef BOOST_NO_ANSI_APIS int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( idx, // locale identifier lcmap_sortkey, // mapping transformation type p1, // source string static_cast(p2 - p1), // number of characters in source string 0, // destination buffer 0 // size of destination buffer ); if (!bytes) return std::string(p1, p2); std::string result(++bytes, '\0'); bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( idx, // locale identifier lcmap_sortkey, // mapping transformation type p1, // source string static_cast(p2 - p1), // number of characters in source string &*result.begin(), // destination buffer bytes // size of destination buffer ); #else unsigned int code_page = get_code_page_for_locale_id(idx); if (code_page == 0) return std::string(p1, p2); int src_len = static_cast(p2 - p1); wchar_t* wide_p1 = (wchar_t*)_alloca((src_len + 1) * 2); if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, p1, src_len, wide_p1, src_len + 1) == 0) return std::string(p1, p2); int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_sortkey, // mapping transformation type wide_p1, // source string src_len, // number of characters in source string 0, // destination buffer 0 // size of destination buffer ); if (!bytes) return std::string(p1, p2); std::string result(++bytes, '\0'); bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_sortkey, // mapping transformation type wide_p1, // source string src_len, // number of characters in source string (wchar_t*) & *result.begin(), // destination buffer bytes // size of destination buffer ); #endif if (bytes > static_cast(result.size())) return std::string(p1, p2); while (result.size() && result[result.size() - 1] == '\0') { result.erase(result.size() - 1); } return result; } #ifndef BOOST_NO_WREGEX inline std::wstring w32_transform(lcid_type idx, const wchar_t* p1, const wchar_t* p2) { int bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_sortkey, // mapping transformation type p1, // source string static_cast(p2 - p1), // number of characters in source string 0, // destination buffer 0 // size of destination buffer ); if (!bytes) return std::wstring(p1, p2); std::string result(++bytes, '\0'); bytes = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_sortkey, // mapping transformation type p1, // source string static_cast(p2 - p1), // number of characters in source string reinterpret_cast(&*result.begin()), // destination buffer *of bytes* bytes // size of destination buffer ); if (bytes > static_cast(result.size())) return std::wstring(p1, p2); while (result.size() && result[result.size() - 1] == L'\0') { result.erase(result.size() - 1); } std::wstring r2; for (std::string::size_type i = 0; i < result.size(); ++i) r2.append(1, static_cast(static_cast(result[i]))); return r2; } #endif inline char w32_tolower(char c, lcid_type idx) { char result[2]; #ifndef BOOST_NO_ANSI_APIS int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( idx, // locale identifier lcmap_lowercase, // mapping transformation type &c, // source string 1, // number of characters in source string result, // destination buffer 1); // size of destination buffer if (b == 0) return c; #else unsigned int code_page = get_code_page_for_locale_id(idx); if (code_page == 0) return c; wchar_t wide_c; if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) return c; wchar_t wide_result; int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_lowercase, // mapping transformation type &wide_c, // source string 1, // number of characters in source string &wide_result, // destination buffer 1); // size of destination buffer if (b == 0) return c; if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) return c; // No single byte lower case equivalent available #endif return result[0]; } #ifndef BOOST_NO_WREGEX inline wchar_t w32_tolower(wchar_t c, lcid_type idx) { wchar_t result[2]; int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_lowercase, // mapping transformation type &c, // source string 1, // number of characters in source string result, // destination buffer 1); // size of destination buffer if (b == 0) return c; return result[0]; } #endif inline char w32_toupper(char c, lcid_type idx) { char result[2]; #ifndef BOOST_NO_ANSI_APIS int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringA( idx, // locale identifier lcmap_uppercase, // mapping transformation type &c, // source string 1, // number of characters in source string result, // destination buffer 1); // size of destination buffer if (b == 0) return c; #else unsigned int code_page = get_code_page_for_locale_id(idx); if (code_page == 0) return c; wchar_t wide_c; if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) return c; wchar_t wide_result; int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_uppercase, // mapping transformation type &wide_c, // source string 1, // number of characters in source string &wide_result, // destination buffer 1); // size of destination buffer if (b == 0) return c; if (boost::BOOST_REGEX_DETAIL_NS::WideCharToMultiByte(code_page, 0, &wide_result, 1, result, 2, NULL, NULL) == 0) return c; // No single byte upper case equivalent available. #endif return result[0]; } #ifndef BOOST_NO_WREGEX inline wchar_t w32_toupper(wchar_t c, lcid_type idx) { wchar_t result[2]; int b = boost::BOOST_REGEX_DETAIL_NS::LCMapStringW( idx, // locale identifier lcmap_uppercase, // mapping transformation type &c, // source string 1, // number of characters in source string result, // destination buffer 1); // size of destination buffer if (b == 0) return c; return result[0]; } #endif inline bool w32_is(lcid_type idx, std::uint32_t m, char c) { word mask; #ifndef BOOST_NO_ANSI_APIS if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExA(idx, ct_ctype1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) return true; #else unsigned int code_page = get_code_page_for_locale_id(idx); if (code_page == 0) return false; wchar_t wide_c; if (boost::BOOST_REGEX_DETAIL_NS::MultiByteToWideChar(code_page, 0, &c, 1, &wide_c, 1) == 0) return false; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &wide_c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) return true; #endif if ((m & w32_regex_traits_implementation::mask_word) && (c == '_')) return true; return false; } #ifndef BOOST_NO_WREGEX inline bool w32_is(lcid_type idx, std::uint32_t m, wchar_t c) { word mask; if (boost::BOOST_REGEX_DETAIL_NS::GetStringTypeExW(idx, ct_ctype1, &c, 1, &mask) && (mask & m & w32_regex_traits_implementation::mask_base)) return true; if ((m & w32_regex_traits_implementation::mask_word) && (c == '_')) return true; if ((m & w32_regex_traits_implementation::mask_unicode) && (c > 0xff)) return true; return false; } #endif } // BOOST_REGEX_DETAIL_NS } // boost #ifdef BOOST_REGEX_MSVC #pragma warning(pop) #endif #endif // BOOST_REGEX_NO_WIN32_LOCALE #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org/libs/regex for documentation. * FILE regex.cpp * VERSION see * DESCRIPTION: Declares boost::basic_regex<> and associated * functions and classes. This header is the main * entry point for the template regex code. */ /* start with C compatibility API */ #ifndef BOOST_RE_REGEX_HPP #define BOOST_RE_REGEX_HPP #ifndef BOOST_REGEX_CONFIG_HPP #include #endif #ifdef BOOST_REGEX_CXX03 #include #else #include #endif #endif // include ================================================ FILE: src/qscint/scintilla/boostregex/boost/regex_fwd.hpp ================================================ /* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * */ /* * LOCATION: see http://www.boost.org/libs/regex for documentation. * FILE regex_fwd.cpp * VERSION see * DESCRIPTION: Forward declares boost::basic_regex<> and * associated typedefs. */ #ifndef BOOST_REGEX_FWD_HPP #define BOOST_REGEX_FWD_HPP #ifndef BOOST_REGEX_CONFIG_HPP #include #endif #ifdef BOOST_REGEX_CXX03 #include #else #include #endif #endif ================================================ FILE: src/qscint/scintilla/boostregex/boost/throw_exception.hpp ================================================ #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED #define BOOST_THROW_EXCEPTION_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // // boost/throw_exception.hpp // // Copyright (c) 2002, 2018, 2019 Peter Dimov // Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc. // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // // http://www.boost.org/libs/throw_exception // #include #include #include #include #include #include #if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x593) ) # define BOOST_EXCEPTION_DISABLE #endif namespace boost { #if defined( BOOST_NO_EXCEPTIONS ) BOOST_NORETURN void throw_exception( std::exception const & e ); // user defined BOOST_NORETURN void throw_exception( std::exception const & e, boost::source_location const & loc ); // user defined #endif // boost::wrapexcept namespace detail { typedef char (&wrapexcept_s1)[ 1 ]; typedef char (&wrapexcept_s2)[ 2 ]; template wrapexcept_s1 wrapexcept_is_convertible( T* ); template wrapexcept_s2 wrapexcept_is_convertible( void* ); template( static_cast< E* >( 0 ) ) ) > struct wrapexcept_add_base; template struct wrapexcept_add_base { struct type {}; }; template struct wrapexcept_add_base { typedef B type; }; } // namespace detail template struct BOOST_SYMBOL_VISIBLE wrapexcept: public detail::wrapexcept_add_base::type, public E, public detail::wrapexcept_add_base::type { private: struct deleter { wrapexcept * p_; ~deleter() { delete p_; } }; private: void copy_from( void const* ) { } void copy_from( boost::exception const* p ) { static_cast( *this ) = *p; } public: explicit wrapexcept( E const & e ): E( e ) { copy_from( &e ); } explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e ) { copy_from( &e ); set_info( *this, throw_file( loc.file_name() ) ); set_info( *this, throw_line( loc.line() ) ); set_info( *this, throw_function( loc.function_name() ) ); } virtual boost::exception_detail::clone_base const * clone() const BOOST_OVERRIDE { wrapexcept * p = new wrapexcept( *this ); deleter del = { p }; boost::exception_detail::copy_boost_exception( p, this ); del.p_ = 0; return p; } virtual void rethrow() const BOOST_OVERRIDE { #if defined( BOOST_NO_EXCEPTIONS ) boost::throw_exception( *this ); #else throw *this; #endif } }; // All boost exceptions are required to derive from std::exception, // to ensure compatibility with BOOST_NO_EXCEPTIONS. inline void throw_exception_assert_compatibility( std::exception const & ) {} // boost::throw_exception #if !defined( BOOST_NO_EXCEPTIONS ) #if defined( BOOST_EXCEPTION_DISABLE ) template BOOST_NORETURN void throw_exception( E const & e ) { throw_exception_assert_compatibility( e ); throw e; } template BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & ) { throw_exception_assert_compatibility( e ); throw e; } #else // defined( BOOST_EXCEPTION_DISABLE ) template BOOST_NORETURN void throw_exception( E const & e ) { throw_exception_assert_compatibility( e ); throw wrapexcept( e ); } template BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & loc ) { throw_exception_assert_compatibility( e ); throw wrapexcept( e, loc ); } #endif // defined( BOOST_EXCEPTION_DISABLE ) #endif // !defined( BOOST_NO_EXCEPTIONS ) } // namespace boost // BOOST_THROW_EXCEPTION #define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION) #endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED ================================================ FILE: src/qscint/scintilla/include/BoostRegexSearch.h ================================================ #ifndef BOOSTREGEXSEARCH_H #define BOOSTREGEXSEARCH_H #define SCFIND_REGEXP_DOTMATCHESNL 0x10000000 #define SCFIND_REGEXP_EMPTYMATCH_MASK 0xE0000000 #define SCFIND_REGEXP_EMPTYMATCH_NONE 0x00000000 #define SCFIND_REGEXP_EMPTYMATCH_NOTAFTERMATCH 0x20000000 #define SCFIND_REGEXP_EMPTYMATCH_ALL 0x40000000 #define SCFIND_REGEXP_EMPTYMATCH_ALLOWATSTART 0x80000000 #define SCFIND_REGEXP_SKIPCRLFASONE 0x08000000 #ifdef SCI_OWNREGEX extern std::string g_exceptionMessage; #endif #endif ================================================ FILE: src/qscint/scintilla/include/ILexer.h ================================================ // Scintilla source code edit control /** @file ILexer.h ** Interface between Scintilla and lexers. **/ // Copyright 1998-2010 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #ifndef ILEXER_H #define ILEXER_H #include "Sci_Position.h" namespace Scintilla { enum { dvOriginal=0, dvLineEnd=1 }; class IDocument { public: virtual int SCI_METHOD Version() const = 0; virtual void SCI_METHOD SetErrorStatus(int status) = 0; virtual Sci_Position SCI_METHOD Length() const = 0; virtual void SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const = 0; virtual char SCI_METHOD StyleAt(Sci_Position position) const = 0; virtual Sci_Position SCI_METHOD LineFromPosition(Sci_Position position) const = 0; virtual Sci_Position SCI_METHOD LineStart(Sci_Position line) const = 0; virtual int SCI_METHOD GetLevel(Sci_Position line) const = 0; virtual int SCI_METHOD SetLevel(Sci_Position line, int level) = 0; virtual int SCI_METHOD GetLineState(Sci_Position line) const = 0; virtual int SCI_METHOD SetLineState(Sci_Position line, int state) = 0; virtual void SCI_METHOD StartStyling(Sci_Position position, char mask) = 0; virtual bool SCI_METHOD SetStyleFor(Sci_Position length, char style) = 0; virtual bool SCI_METHOD SetStyles(Sci_Position length, const char *styles) = 0; virtual void SCI_METHOD DecorationSetCurrentIndicator(int indicator) = 0; virtual void SCI_METHOD DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) = 0; virtual void SCI_METHOD ChangeLexerState(Sci_Position start, Sci_Position end) = 0; virtual int SCI_METHOD CodePage() const = 0; virtual bool SCI_METHOD IsDBCSLeadByte(char ch) const = 0; virtual const char * SCI_METHOD BufferPointer() = 0; virtual int SCI_METHOD GetLineIndentation(Sci_Position line) = 0; }; class IDocumentWithLineEnd : public IDocument { public: virtual Sci_Position SCI_METHOD LineEnd(Sci_Position line) const = 0; virtual Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const = 0; virtual int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const = 0; }; enum { lvOriginal=0, lvSubStyles=1, lvMetaData=2 }; class ILexer { public: virtual int SCI_METHOD Version() const = 0; virtual void SCI_METHOD Release() = 0; virtual const char * SCI_METHOD PropertyNames() = 0; virtual int SCI_METHOD PropertyType(const char *name) = 0; virtual const char * SCI_METHOD DescribeProperty(const char *name) = 0; virtual Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) = 0; virtual const char * SCI_METHOD DescribeWordListSets() = 0; virtual Sci_Position SCI_METHOD WordListSet(int n, const char *wl) = 0; virtual void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0; virtual void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0; virtual void * SCI_METHOD PrivateCall(int operation, void *pointer) = 0; }; class ILexerWithSubStyles : public ILexer { public: virtual int SCI_METHOD LineEndTypesSupported() = 0; virtual int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) = 0; virtual int SCI_METHOD SubStylesStart(int styleBase) = 0; virtual int SCI_METHOD SubStylesLength(int styleBase) = 0; virtual int SCI_METHOD StyleFromSubStyle(int subStyle) = 0; virtual int SCI_METHOD PrimaryStyleFromStyle(int style) = 0; virtual void SCI_METHOD FreeSubStyles() = 0; virtual void SCI_METHOD SetIdentifiers(int style, const char *identifiers) = 0; virtual int SCI_METHOD DistanceToSecondaryStyles() = 0; virtual const char * SCI_METHOD GetSubStyleBases() = 0; }; class ILexerWithMetaData : public ILexerWithSubStyles { public: virtual int SCI_METHOD NamedStyles() = 0; virtual const char * SCI_METHOD NameOfStyle(int style) = 0; virtual const char * SCI_METHOD TagsOfStyle(int style) = 0; virtual const char * SCI_METHOD DescriptionOfStyle(int style) = 0; }; } #endif ================================================ FILE: src/qscint/scintilla/include/ILoader.h ================================================ // Scintilla source code edit control /** @file ILoader.h ** Interface for loading into a Scintilla document from a background thread. **/ // Copyright 1998-2017 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #ifndef ILOADER_H #define ILOADER_H #include "Sci_Position.h" class ILoader { public: virtual int SCI_METHOD Release() = 0; // Returns a status code from SC_STATUS_* virtual int SCI_METHOD AddData(const char *data, Sci_Position length) = 0; virtual void * SCI_METHOD ConvertToDocument() = 0; }; #endif ================================================ FILE: src/qscint/scintilla/include/License.txt ================================================ License for Scintilla and SciTE Copyright 1998-2003 by Neil Hodgson All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ================================================ FILE: src/qscint/scintilla/include/Platform.h ================================================ // Scintilla source code edit control /** @file Platform.h ** Interface to platform facilities. Also includes some basic utilities. ** Implemented in PlatGTK.cxx for GTK+/Linux, PlatWin.cxx for Windows, and PlatWX.cxx for wxWindows. **/ // Copyright 1998-2009 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #ifndef PLATFORM_H #define PLATFORM_H // PLAT_GTK = GTK+ on Linux or Win32 // PLAT_GTK_WIN32 is defined additionally when running PLAT_GTK under Win32 // PLAT_WIN = Win32 API on Win32 OS // PLAT_WX is wxWindows on any supported platform // PLAT_TK = Tcl/TK on Linux or Win32 #define PLAT_GTK 0 #define PLAT_GTK_WIN32 0 #define PLAT_GTK_MACOSX 0 #define PLAT_MACOSX 0 #define PLAT_WIN 0 #define PLAT_WX 0 #define PLAT_QT 0 #define PLAT_FOX 0 #define PLAT_CURSES 0 #define PLAT_TK 0 #define PLAT_HAIKU 0 #if defined(FOX) #undef PLAT_FOX #define PLAT_FOX 1 #elif defined(__WX__) #undef PLAT_WX #define PLAT_WX 1 #elif defined(CURSES) #undef PLAT_CURSES #define PLAT_CURSES 1 #elif defined(__HAIKU__) #undef PLAT_HAIKU #define PLAT_HAIKU 1 #elif defined(SCINTILLA_QT) #undef PLAT_QT #define PLAT_QT 1 #include QT_BEGIN_NAMESPACE class QPainter; QT_END_NAMESPACE // This is needed to work around an HP-UX bug with Qt4. #include #elif defined(TK) #undef PLAT_TK #define PLAT_TK 1 #elif defined(GTK) #undef PLAT_GTK #define PLAT_GTK 1 #if defined(__WIN32__) || defined(_MSC_VER) #undef PLAT_GTK_WIN32 #define PLAT_GTK_WIN32 1 #endif #if defined(__APPLE__) #undef PLAT_GTK_MACOSX #define PLAT_GTK_MACOSX 1 #endif #elif defined(__APPLE__) #undef PLAT_MACOSX #define PLAT_MACOSX 1 #else #undef PLAT_WIN #define PLAT_WIN 1 #endif #include namespace Scintilla { typedef float XYPOSITION; typedef double XYACCUMULATOR; // Underlying the implementation of the platform classes are platform specific types. // Sometimes these need to be passed around by client code so they are defined here typedef void *FontID; typedef void *SurfaceID; typedef void *WindowID; typedef void *MenuID; typedef void *TickerID; typedef void *Function; typedef void *IdlerID; /** * A geometric point class. * Point is similar to the Win32 POINT and GTK+ GdkPoint types. */ class Point { public: XYPOSITION x; XYPOSITION y; constexpr explicit Point(XYPOSITION x_=0, XYPOSITION y_=0) noexcept : x(x_), y(y_) { } static Point FromInts(int x_, int y_) noexcept { return Point(static_cast(x_), static_cast(y_)); } // Other automatically defined methods (assignment, copy constructor, destructor) are fine }; /** * A geometric rectangle class. * PRectangle is similar to Win32 RECT. * PRectangles contain their top and left sides, but not their right and bottom sides. */ class PRectangle { public: XYPOSITION left; XYPOSITION top; XYPOSITION right; XYPOSITION bottom; constexpr explicit PRectangle(XYPOSITION left_=0, XYPOSITION top_=0, XYPOSITION right_=0, XYPOSITION bottom_ = 0) noexcept : left(left_), top(top_), right(right_), bottom(bottom_) { } static PRectangle FromInts(int left_, int top_, int right_, int bottom_) noexcept { return PRectangle(static_cast(left_), static_cast(top_), static_cast(right_), static_cast(bottom_)); } // Other automatically defined methods (assignment, copy constructor, destructor) are fine bool operator==(const PRectangle &rc) const noexcept { return (rc.left == left) && (rc.right == right) && (rc.top == top) && (rc.bottom == bottom); } bool Contains(Point pt) const noexcept { return (pt.x >= left) && (pt.x <= right) && (pt.y >= top) && (pt.y <= bottom); } bool ContainsWholePixel(Point pt) const noexcept { // Does the rectangle contain all of the pixel to left/below the point return (pt.x >= left) && ((pt.x+1) <= right) && (pt.y >= top) && ((pt.y+1) <= bottom); } bool Contains(PRectangle rc) const noexcept { return (rc.left >= left) && (rc.right <= right) && (rc.top >= top) && (rc.bottom <= bottom); } bool Intersects(PRectangle other) const noexcept { return (right > other.left) && (left < other.right) && (bottom > other.top) && (top < other.bottom); } void Move(XYPOSITION xDelta, XYPOSITION yDelta) noexcept { left += xDelta; top += yDelta; right += xDelta; bottom += yDelta; } XYPOSITION Width() const noexcept { return right - left; } XYPOSITION Height() const noexcept { return bottom - top; } bool Empty() const noexcept { return (Height() <= 0) || (Width() <= 0); } }; /** * Holds an RGB colour with 8 bits for each component. */ constexpr const float componentMaximum = 255.0f; class ColourDesired { int co; public: explicit ColourDesired(int co_=0) noexcept : co(co_) { } ColourDesired(unsigned int red, unsigned int green, unsigned int blue) noexcept : co(red | (green << 8) | (blue << 16)) { } bool operator==(const ColourDesired &other) const noexcept { return co == other.co; } int AsInteger() const noexcept { return co; } // Red, green and blue values as bytes 0..255 unsigned char GetRed() const noexcept { return co & 0xff; } unsigned char GetGreen() const noexcept { return (co >> 8) & 0xff; } unsigned char GetBlue() const noexcept { return (co >> 16) & 0xff; } // Red, green and blue values as float 0..1.0 float GetRedComponent() const noexcept { return GetRed() / componentMaximum; } float GetGreenComponent() const noexcept { return GetGreen() / componentMaximum; } float GetBlueComponent() const noexcept { return GetBlue() / componentMaximum; } }; /** * Holds an RGBA colour. */ class ColourAlpha : public ColourDesired { public: explicit ColourAlpha(int co_ = 0) noexcept : ColourDesired(co_) { } ColourAlpha(unsigned int red, unsigned int green, unsigned int blue) noexcept : ColourDesired(red | (green << 8) | (blue << 16)) { } ColourAlpha(unsigned int red, unsigned int green, unsigned int blue, unsigned int alpha) noexcept : ColourDesired(red | (green << 8) | (blue << 16) | (alpha << 24)) { } ColourAlpha(ColourDesired cd, unsigned int alpha) noexcept : ColourDesired(cd.AsInteger() | (alpha << 24)) { } ColourDesired GetColour() const noexcept { return ColourDesired(AsInteger() & 0xffffff); } unsigned char GetAlpha() const noexcept { return (AsInteger() >> 24) & 0xff; } float GetAlphaComponent() const noexcept { return GetAlpha() / componentMaximum; } ColourAlpha MixedWith(ColourAlpha other) const noexcept { const unsigned int red = (GetRed() + other.GetRed()) / 2; const unsigned int green = (GetGreen() + other.GetGreen()) / 2; const unsigned int blue = (GetBlue() + other.GetBlue()) / 2; const unsigned int alpha = (GetAlpha() + other.GetAlpha()) / 2; return ColourAlpha(red, green, blue, alpha); } }; /** * Holds an element of a gradient with an RGBA colour and a relative position. */ class ColourStop { public: float position; ColourAlpha colour; ColourStop(float position_, ColourAlpha colour_) noexcept : position(position_), colour(colour_) { } }; /** * Font management. */ struct FontParameters { const char *faceName; float size; int weight; bool italic; int extraFontFlag; int technology; int characterSet; FontParameters( const char *faceName_, float size_=10, int weight_=400, bool italic_=false, int extraFontFlag_=0, int technology_=0, int characterSet_=0) noexcept : faceName(faceName_), size(size_), weight(weight_), italic(italic_), extraFontFlag(extraFontFlag_), technology(technology_), characterSet(characterSet_) { } }; class Font { protected: FontID fid; public: Font() noexcept; // Deleted so Font objects can not be copied Font(const Font &) = delete; Font(Font &&) = delete; Font &operator=(const Font &) = delete; Font &operator=(Font &&) = delete; virtual ~Font(); virtual void Create(const FontParameters &fp); virtual void Release(); FontID GetID() const noexcept { return fid; } // Alias another font - caller guarantees not to Release void SetID(FontID fid_) noexcept { fid = fid_; } friend class Surface; friend class SurfaceImpl; }; /** * A surface abstracts a place to draw. */ #if defined(PLAT_QT) class XPM; #endif class Surface { public: Surface() noexcept = default; Surface(const Surface &) = delete; Surface(Surface &&) = delete; Surface &operator=(const Surface &) = delete; Surface &operator=(Surface &&) = delete; virtual ~Surface() {} static Surface *Allocate(int technology); virtual void Init(WindowID wid)=0; virtual void Init(SurfaceID sid, WindowID wid)=0; virtual void InitPixMap(int width, int height, Surface *surface_, WindowID wid)=0; virtual void Release()=0; virtual bool Initialised()=0; virtual void PenColour(ColourDesired fore)=0; virtual int LogPixelsY()=0; virtual int DeviceHeightFont(int points)=0; virtual void MoveTo(int x_, int y_)=0; virtual void LineTo(int x_, int y_)=0; virtual void Polygon(Point *pts, size_t npts, ColourDesired fore, ColourDesired back)=0; virtual void RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back)=0; virtual void FillRectangle(PRectangle rc, ColourDesired back)=0; virtual void FillRectangle(PRectangle rc, Surface &surfacePattern)=0; virtual void RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back)=0; virtual void AlphaRectangle(PRectangle rc, int cornerSize, int style) = 0; virtual void AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill, ColourDesired outline, int alphaOutline, int flags)=0; enum class GradientOptions { leftToRight, topToBottom }; virtual void GradientRectangle(PRectangle rc, const std::vector &stops, GradientOptions options)=0; virtual void DrawRGBAImage(PRectangle rc, int width, int height, const unsigned char *pixelsImage) = 0; virtual void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back)=0; virtual void Copy(PRectangle rc, Point from, Surface &surfaceSource)=0; virtual void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back)=0; virtual void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back)=0; virtual void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore)=0; virtual void MeasureWidths(Font &font_, const char *s, int len, XYPOSITION *positions)=0; virtual XYPOSITION WidthText(Font &font_, const char *s, int len)=0; virtual XYPOSITION Ascent(Font &font_)=0; virtual XYPOSITION Descent(Font &font_)=0; virtual XYPOSITION InternalLeading(Font &font_)=0; virtual XYPOSITION Height(Font &font_)=0; virtual XYPOSITION AverageCharWidth(Font &font_)=0; virtual void SetClip(PRectangle rc)=0; virtual void FlushCachedState()=0; virtual void SetUnicodeMode(bool unicodeMode_)=0; virtual void SetDBCSMode(int codePage)=0; #if defined(PLAT_QT) virtual void Init(QPainter *p)=0; virtual void DrawXPM(PRectangle rc, const XPM *xpm)=0; #endif }; /** * Class to hide the details of window manipulation. * Does not own the window which will normally have a longer life than this object. */ class Window { protected: WindowID wid; public: Window() noexcept : wid(nullptr), cursorLast(cursorInvalid) { } Window(const Window &source) = delete; Window(Window &&) = delete; Window &operator=(WindowID wid_) noexcept { wid = wid_; cursorLast = cursorInvalid; return *this; } Window &operator=(const Window &) = delete; Window &operator=(Window &&) = delete; virtual ~Window(); WindowID GetID() const noexcept { return wid; } bool Created() const noexcept { return wid != nullptr; } void Destroy(); PRectangle GetPosition() const; void SetPosition(PRectangle rc); void SetPositionRelative(PRectangle rc, const Window *relativeTo); PRectangle GetClientPosition() const; void Show(bool show=true); void InvalidateAll(); void InvalidateRectangle(PRectangle rc); virtual void SetFont(Font &font); enum Cursor { cursorInvalid, cursorText, cursorArrow, cursorUp, cursorWait, cursorHoriz, cursorVert, cursorReverseArrow, cursorHand }; void SetCursor(Cursor curs); PRectangle GetMonitorRect(Point pt); private: Cursor cursorLast; }; /** * Listbox management. */ // ScintillaBase implements IListBoxDelegate to receive ListBoxEvents from a ListBox struct ListBoxEvent { enum class EventType { selectionChange, doubleClick } event; ListBoxEvent(EventType event_) noexcept : event(event_) { } }; class IListBoxDelegate { public: virtual void ListNotify(ListBoxEvent *plbe)=0; }; class ListBox : public Window { public: ListBox() noexcept; ~ListBox() override; static ListBox *Allocate(); void SetFont(Font &font) override =0; virtual void Create(Window &parent, int ctrlID, Point location, int lineHeight_, bool unicodeMode_, int technology_)=0; virtual void SetAverageCharWidth(int width)=0; virtual void SetVisibleRows(int rows)=0; virtual int GetVisibleRows() const=0; virtual PRectangle GetDesiredRect()=0; virtual int CaretFromEdge()=0; virtual void Clear()=0; virtual void Append(char *s, int type = -1)=0; virtual int Length()=0; virtual void Select(int n)=0; virtual int GetSelection()=0; virtual int Find(const char *prefix)=0; virtual void GetValue(int n, char *value, int len)=0; virtual void RegisterImage(int type, const char *xpm_data)=0; virtual void RegisterRGBAImage(int type, int width, int height, const unsigned char *pixelsImage) = 0; virtual void ClearRegisteredImages()=0; virtual void SetDelegate(IListBoxDelegate *lbDelegate)=0; virtual void SetList(const char* list, char separator, char typesep)=0; }; /** * Menu management. */ class Menu { MenuID mid; public: Menu() noexcept; MenuID GetID() const noexcept { return mid; } void CreatePopUp(); void Destroy(); void Show(Point pt, Window &w); }; /** * Dynamic Library (DLL/SO/...) loading */ class DynamicLibrary { public: virtual ~DynamicLibrary() = default; /// @return Pointer to function "name", or NULL on failure. virtual Function FindFunction(const char *name) = 0; /// @return true if the library was loaded successfully. virtual bool IsValid() = 0; /// @return An instance of a DynamicLibrary subclass with "modulePath" loaded. static DynamicLibrary *Load(const char *modulePath); }; #if defined(__clang__) # if __has_feature(attribute_analyzer_noreturn) # define CLANG_ANALYZER_NORETURN __attribute__((analyzer_noreturn)) # else # define CLANG_ANALYZER_NORETURN # endif #else # define CLANG_ANALYZER_NORETURN #endif /** * Platform class used to retrieve system wide parameters such as double click speed * and chrome colour. Not a creatable object, more of a module with several functions. */ class Platform { public: Platform() = default; Platform(const Platform &) = delete; Platform(Platform &&) = delete; Platform &operator=(const Platform &) = delete; Platform &operator=(Platform &&) = delete; ~Platform() = default; static ColourDesired Chrome(); static ColourDesired ChromeHighlight(); static const char *DefaultFont(); static int DefaultFontSize(); static unsigned int DoubleClickTime(); static void DebugDisplay(const char *s); static constexpr long LongFromTwoShorts(short a,short b) noexcept { return (a) | ((b) << 16); } static void DebugPrintf(const char *format, ...); static bool ShowAssertionPopUps(bool assertionPopUps_); static void Assert(const char *c, const char *file, int line) CLANG_ANALYZER_NORETURN; }; #ifdef NDEBUG #define PLATFORM_ASSERT(c) ((void)0) #else #define PLATFORM_ASSERT(c) ((c) ? (void)(0) : Scintilla::Platform::Assert(#c, __FILE__, __LINE__)) #endif } #endif ================================================ FILE: src/qscint/scintilla/include/SciLexer.h ================================================ /* Scintilla source code edit control */ /** @file SciLexer.h ** Interface to the added lexer functions in the SciLexer version of the edit control. **/ /* Copyright 1998-2002 by Neil Hodgson * The License.txt file describes the conditions under which this software may be distributed. */ /* Most of this file is automatically generated from the Scintilla.iface interface definition * file which contains any comments about the definitions. HFacer.py does the generation. */ #ifndef SCILEXER_H #define SCILEXER_H /* SciLexer features - not in standard Scintilla */ /* ++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_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_GAP 81 #define SCLEX_PLM 82 #define SCLEX_PROGRESS 83 #define SCLEX_ABAQUS 84 #define SCLEX_ASYMPTOTE 85 #define SCLEX_R 86 #define SCLEX_MAGIK 87 #define SCLEX_POWERSHELL 88 #define SCLEX_MYSQL 89 #define SCLEX_PO 90 #define SCLEX_TAL 91 #define SCLEX_COBOL 92 #define SCLEX_TACL 93 #define SCLEX_SORCUS 94 #define SCLEX_POWERPRO 95 #define SCLEX_NIMROD 96 #define SCLEX_SML 97 #define SCLEX_MARKDOWN 98 #define SCLEX_TXT2TAGS 99 #define SCLEX_A68K 100 #define SCLEX_MODULA 101 #define SCLEX_COFFEESCRIPT 102 #define SCLEX_TCMD 103 #define SCLEX_AVS 104 #define SCLEX_ECL 105 #define SCLEX_OSCRIPT 106 #define SCLEX_VISUALPROLOG 107 #define SCLEX_LITERATEHASKELL 108 #define SCLEX_STTXT 109 #define SCLEX_KVIRC 110 #define SCLEX_RUST 111 #define SCLEX_DMAP 112 #define SCLEX_AS 113 #define SCLEX_DMIS 114 #define SCLEX_REGISTRY 115 #define SCLEX_BIBTEX 116 #define SCLEX_SREC 117 #define SCLEX_IHEX 118 #define SCLEX_TEHEX 119 #define SCLEX_JSON 120 #define SCLEX_EDIFACT 121 #define SCLEX_INDENT 122 #define SCLEX_MAXIMA 123 #define SCLEX_STATA 124 #define SCLEX_SAS 125 #define SCLEX_NIM 126 #define SCLEX_LPEG 999 #define SCLEX_CIL 127 #define SCLEX_X12 128 #define SCLEX_DATAFLEX 129 #define SCLEX_HOLLYWOOD 130 #define SCLEX_RAKU 131 #define SCLEX_SEARCHRESULT 150 #define SCLEX_OBJC 151 #define SCLEX_USER 152 #define SCLEX__EDIFACT 153 #define SCLEX_IDL 154 #define SCLEX_GO 155 #define SCLEX_TXT 156 #define SCLEX_AUTOMATIC 1000 //For All lexer #define SCE_UNIVERSAL_FOUND_STYLE 31 #define SCE_UNIVERSAL_FOUND_STYLE_SMART 29 #define SCE_UNIVERSAL_FOUND_STYLE_INC 28 #define SCE_UNIVERSAL_TAGMATCH 27 #define SCE_UNIVERSAL_TAGATTR 26 #define SCE_UNIVERSAL_FOUND_STYLE_EXT1 25 #define SCE_UNIVERSAL_FOUND_STYLE_EXT2 24 #define SCE_UNIVERSAL_FOUND_STYLE_EXT3 23 #define SCE_UNIVERSAL_FOUND_STYLE_EXT4 22 #define SCE_UNIVERSAL_FOUND_STYLE_EXT5 21 #define SCE_UDL_VERSION_MAJOR 2 #define SCE_UDL_VERSION_MINOR 1 #define SCE_UDL_VERSION_BUILD 0 #define SCE_UDL_VERSION_REVISION 12 #define SCE_USER_KWLIST_COMMENTS 0 #define SCE_USER_KWLIST_NUMBER_PREFIX1 1 #define SCE_USER_KWLIST_NUMBER_PREFIX2 2 #define SCE_USER_KWLIST_NUMBER_EXTRAS1 3 #define SCE_USER_KWLIST_NUMBER_EXTRAS2 4 #define SCE_USER_KWLIST_NUMBER_SUFFIX1 5 #define SCE_USER_KWLIST_NUMBER_SUFFIX2 6 #define SCE_USER_KWLIST_NUMBER_RANGE 7 #define SCE_USER_KWLIST_OPERATORS1 8 #define SCE_USER_KWLIST_OPERATORS2 9 #define SCE_USER_KWLIST_FOLDERS_IN_CODE1_OPEN 10 #define SCE_USER_KWLIST_FOLDERS_IN_CODE1_MIDDLE 11 #define SCE_USER_KWLIST_FOLDERS_IN_CODE1_CLOSE 12 #define SCE_USER_KWLIST_FOLDERS_IN_CODE2_OPEN 13 #define SCE_USER_KWLIST_FOLDERS_IN_CODE2_MIDDLE 14 #define SCE_USER_KWLIST_FOLDERS_IN_CODE2_CLOSE 15 #define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_OPEN 16 #define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_MIDDLE 17 #define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_CLOSE 18 #define SCE_USER_KWLIST_KEYWORDS1 19 #define SCE_USER_KWLIST_KEYWORDS2 20 #define SCE_USER_KWLIST_KEYWORDS3 21 #define SCE_USER_KWLIST_KEYWORDS4 22 #define SCE_USER_KWLIST_KEYWORDS5 23 #define SCE_USER_KWLIST_KEYWORDS6 24 #define SCE_USER_KWLIST_KEYWORDS7 25 #define SCE_USER_KWLIST_KEYWORDS8 26 #define SCE_USER_KWLIST_DELIMITERS 27 #define SCE_USER_KWLIST_TOTAL 28 // must always be <= KEYWORDSET_MAX #define SCE_USER_TOTAL_DELIMITERS 8 #define SCE_USER_TOTAL_KEYWORD_GROUPS 8 #define SCE_USER_TOTAL_FOLDERS 6 #define SCE_USER_STYLE_DEFAULT 0 #define SCE_USER_STYLE_COMMENT 1 #define SCE_USER_STYLE_COMMENTLINE 2 #define SCE_USER_STYLE_NUMBER 3 #define SCE_USER_STYLE_KEYWORD1 4 #define SCE_USER_STYLE_KEYWORD2 5 #define SCE_USER_STYLE_KEYWORD3 6 #define SCE_USER_STYLE_KEYWORD4 7 #define SCE_USER_STYLE_KEYWORD5 8 #define SCE_USER_STYLE_KEYWORD6 9 #define SCE_USER_STYLE_KEYWORD7 10 #define SCE_USER_STYLE_KEYWORD8 11 #define SCE_USER_STYLE_OPERATOR 12 #define SCE_USER_STYLE_FOLDER_IN_CODE1 13 #define SCE_USER_STYLE_FOLDER_IN_CODE2 14 #define SCE_USER_STYLE_FOLDER_IN_COMMENT 15 #define SCE_USER_STYLE_DELIMITER1 16 #define SCE_USER_STYLE_DELIMITER2 17 #define SCE_USER_STYLE_DELIMITER3 18 #define SCE_USER_STYLE_DELIMITER4 19 #define SCE_USER_STYLE_DELIMITER5 20 #define SCE_USER_STYLE_DELIMITER6 21 #define SCE_USER_STYLE_DELIMITER7 22 #define SCE_USER_STYLE_DELIMITER8 23 #define SCE_USER_STYLE_IDENTIFIER 24 #define SCE_USER_STYLE_TOTAL_STYLES SCE_USER_STYLE_IDENTIFIER #define SCE_USER_STYLE_MAPPER_TOTAL 17 #define SCE_USER_MASK_NESTING_NONE 0 #define SCE_USER_MASK_NESTING_DELIMITER1 0x1 #define SCE_USER_MASK_NESTING_DELIMITER2 0x2 #define SCE_USER_MASK_NESTING_DELIMITER3 0x4 #define SCE_USER_MASK_NESTING_DELIMITER4 0x8 #define SCE_USER_MASK_NESTING_DELIMITER5 0x10 #define SCE_USER_MASK_NESTING_DELIMITER6 0x20 #define SCE_USER_MASK_NESTING_DELIMITER7 0x40 #define SCE_USER_MASK_NESTING_DELIMITER8 0x80 #define SCE_USER_MASK_NESTING_COMMENT 0x100 #define SCE_USER_MASK_NESTING_COMMENT_LINE 0x200 #define SCE_USER_MASK_NESTING_KEYWORD1 0x400 #define SCE_USER_MASK_NESTING_KEYWORD2 0x800 #define SCE_USER_MASK_NESTING_KEYWORD3 0x1000 #define SCE_USER_MASK_NESTING_KEYWORD4 0x2000 #define SCE_USER_MASK_NESTING_KEYWORD5 0x4000 #define SCE_USER_MASK_NESTING_KEYWORD6 0x8000 #define SCE_USER_MASK_NESTING_KEYWORD7 0x10000 #define SCE_USER_MASK_NESTING_KEYWORD8 0x20000 #define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_OPEN 0x40000 #define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_MIDDLE 0x80000 #define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_CLOSE 0x100000 #define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_OPEN 0x200000 #define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_MIDDLE 0x400000 #define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_CLOSE 0x800000 #define SCE_USER_MASK_NESTING_OPERATORS1 0x1000000 #define SCE_USER_MASK_NESTING_OPERATORS2 0x2000000 #define SCE_USER_MASK_NESTING_NUMBERS 0x4000000 #define SCE_TXT_DEFAULT 0 #define SCE_TXT_ASCII 1 #define SCE_TXT_KEYWORD 2 #define SCE_TXT_IDENTIFIER 4 #define SCE_P_DEFAULT 0 #define SCE_P_COMMENTLINE 1 #define SCE_P_NUMBER 2 #define SCE_P_STRING 3 #define SCE_P_CHARACTER 4 #define SCE_P_WORD 5 #define SCE_P_TRIPLE 6 #define SCE_P_TRIPLEDOUBLE 7 #define SCE_P_CLASSNAME 8 #define SCE_P_DEFNAME 9 #define SCE_P_OPERATOR 10 #define SCE_P_IDENTIFIER 11 #define SCE_P_COMMENTBLOCK 12 #define SCE_P_STRINGEOL 13 #define SCE_P_WORD2 14 #define SCE_P_DECORATOR 15 #define SCE_P_FSTRING 16 #define SCE_P_FCHARACTER 17 #define SCE_P_FTRIPLE 18 #define SCE_P_FTRIPLEDOUBLE 19 #define SCE_C_DEFAULT 0 #define SCE_C_COMMENT 1 #define SCE_C_COMMENTLINE 2 #define SCE_C_COMMENTDOC 3 #define SCE_C_NUMBER 4 #define SCE_C_WORD 5 #define SCE_C_STRING 6 #define SCE_C_CHARACTER 7 #define SCE_C_UUID 8 #define SCE_C_PREPROCESSOR 9 #define SCE_C_OPERATOR 10 #define SCE_C_IDENTIFIER 11 #define SCE_C_STRINGEOL 12 #define SCE_C_VERBATIM 13 #define SCE_C_REGEX 14 #define SCE_C_COMMENTLINEDOC 15 #define SCE_C_WORD2 16 #define SCE_C_COMMENTDOCKEYWORD 17 #define SCE_C_COMMENTDOCKEYWORDERROR 18 #define SCE_C_GLOBALCLASS 19 #define SCE_C_STRINGRAW 20 #define SCE_C_TRIPLEVERBATIM 21 #define SCE_C_HASHQUOTEDSTRING 22 #define SCE_C_PREPROCESSORCOMMENT 23 #define SCE_C_PREPROCESSORCOMMENTDOC 24 #define SCE_C_USERLITERAL 25 #define SCE_C_TASKMARKER 26 #define SCE_C_ESCAPESEQUENCE 27 #define SCE_D_DEFAULT 0 #define SCE_D_COMMENT 1 #define SCE_D_COMMENTLINE 2 #define SCE_D_COMMENTDOC 3 #define SCE_D_COMMENTNESTED 4 #define SCE_D_NUMBER 5 #define SCE_D_WORD 6 #define SCE_D_WORD2 7 #define SCE_D_WORD3 8 #define SCE_D_TYPEDEF 9 #define SCE_D_STRING 10 #define SCE_D_STRINGEOL 11 #define SCE_D_CHARACTER 12 #define SCE_D_OPERATOR 13 #define SCE_D_IDENTIFIER 14 #define SCE_D_COMMENTLINEDOC 15 #define SCE_D_COMMENTDOCKEYWORD 16 #define SCE_D_COMMENTDOCKEYWORDERROR 17 #define SCE_D_STRINGB 18 #define SCE_D_STRINGR 19 #define SCE_D_WORD5 20 #define SCE_D_WORD6 21 #define SCE_D_WORD7 22 #define SCE_SEARCHRESULT_DEFAULT 0 #define SCE_SEARCHRESULT_SEARCH_HEADER 1 #define SCE_SEARCHRESULT_FILE_HEADER 2 #define SCE_SEARCHRESULT_LINE_NUMBER 3 #define SCE_SEARCHRESULT_WORD2SEARCH 4 //#define SCE_SEARCHRESULT_HIGHLIGHT_LINE 5 // (no use anymore) #define SCE_SEARCHRESULT_CURRENT_LINE 6 #define SCE_OBJC_DIRECTIVE 20 #define SCE_OBJC_QUALIFIER 21 #define SCE_TCL_DEFAULT 0 #define SCE_TCL_COMMENT 1 #define SCE_TCL_COMMENTLINE 2 #define SCE_TCL_NUMBER 3 #define SCE_TCL_WORD_IN_QUOTE 4 #define SCE_TCL_IN_QUOTE 5 #define SCE_TCL_OPERATOR 6 #define SCE_TCL_IDENTIFIER 7 #define SCE_TCL_SUBSTITUTION 8 #define SCE_TCL_SUB_BRACE 9 #define SCE_TCL_MODIFIER 10 #define SCE_TCL_EXPAND 11 #define SCE_TCL_WORD 12 #define SCE_TCL_WORD2 13 #define SCE_TCL_WORD3 14 #define SCE_TCL_WORD4 15 #define SCE_TCL_WORD5 16 #define SCE_TCL_WORD6 17 #define SCE_TCL_WORD7 18 #define SCE_TCL_WORD8 19 #define SCE_TCL_COMMENT_BOX 20 #define SCE_TCL_BLOCK_COMMENT 21 #define SCE_H_DEFAULT 0 #define SCE_H_TAG 1 #define SCE_H_TAGUNKNOWN 2 #define SCE_H_ATTRIBUTE 3 #define SCE_H_ATTRIBUTEUNKNOWN 4 #define SCE_H_NUMBER 5 #define SCE_H_DOUBLESTRING 6 #define SCE_H_SINGLESTRING 7 #define SCE_H_OTHER 8 #define SCE_H_COMMENT 9 #define SCE_H_ENTITY 10 #define SCE_H_TAGEND 11 #define SCE_H_XMLSTART 12 #define SCE_H_XMLEND 13 #define SCE_H_SCRIPT 14 #define SCE_H_ASP 15 #define SCE_H_ASPAT 16 #define SCE_H_CDATA 17 #define SCE_H_QUESTION 18 #define SCE_H_VALUE 19 #define SCE_H_XCCOMMENT 20 #define SCE_H_SGML_DEFAULT 21 #define SCE_H_SGML_COMMAND 22 #define SCE_H_SGML_1ST_PARAM 23 #define SCE_H_SGML_DOUBLESTRING 24 #define SCE_H_SGML_SIMPLESTRING 25 #define SCE_H_SGML_ERROR 26 #define SCE_H_SGML_SPECIAL 27 #define SCE_H_SGML_ENTITY 28 #define SCE_H_SGML_COMMENT 29 #define SCE_H_SGML_1ST_PARAM_COMMENT 30 #define SCE_H_SGML_BLOCK_DEFAULT 31 #define SCE_HJ_START 40 #define SCE_HJ_DEFAULT 41 #define SCE_HJ_COMMENT 42 #define SCE_HJ_COMMENTLINE 43 #define SCE_HJ_COMMENTDOC 44 #define SCE_HJ_NUMBER 45 #define SCE_HJ_WORD 46 #define SCE_HJ_KEYWORD 47 #define SCE_HJ_DOUBLESTRING 48 #define SCE_HJ_SINGLESTRING 49 #define SCE_HJ_SYMBOLS 50 #define SCE_HJ_STRINGEOL 51 #define SCE_HJ_REGEX 52 #define SCE_HJA_START 55 #define SCE_HJA_DEFAULT 56 #define SCE_HJA_COMMENT 57 #define SCE_HJA_COMMENTLINE 58 #define SCE_HJA_COMMENTDOC 59 #define SCE_HJA_NUMBER 60 #define SCE_HJA_WORD 61 #define SCE_HJA_KEYWORD 62 #define SCE_HJA_DOUBLESTRING 63 #define SCE_HJA_SINGLESTRING 64 #define SCE_HJA_SYMBOLS 65 #define SCE_HJA_STRINGEOL 66 #define SCE_HJA_REGEX 67 #define SCE_HB_START 70 #define SCE_HB_DEFAULT 71 #define SCE_HB_COMMENTLINE 72 #define SCE_HB_NUMBER 73 #define SCE_HB_WORD 74 #define SCE_HB_STRING 75 #define SCE_HB_IDENTIFIER 76 #define SCE_HB_STRINGEOL 77 #define SCE_HBA_START 80 #define SCE_HBA_DEFAULT 81 #define SCE_HBA_COMMENTLINE 82 #define SCE_HBA_NUMBER 83 #define SCE_HBA_WORD 84 #define SCE_HBA_STRING 85 #define SCE_HBA_IDENTIFIER 86 #define SCE_HBA_STRINGEOL 87 #define SCE_HP_START 90 #define SCE_HP_DEFAULT 91 #define SCE_HP_COMMENTLINE 92 #define SCE_HP_NUMBER 93 #define SCE_HP_STRING 94 #define SCE_HP_CHARACTER 95 #define SCE_HP_WORD 96 #define SCE_HP_TRIPLE 97 #define SCE_HP_TRIPLEDOUBLE 98 #define SCE_HP_CLASSNAME 99 #define SCE_HP_DEFNAME 100 #define SCE_HP_OPERATOR 101 #define SCE_HP_IDENTIFIER 102 #define SCE_HPHP_COMPLEX_VARIABLE 104 #define SCE_HPA_START 105 #define SCE_HPA_DEFAULT 106 #define SCE_HPA_COMMENTLINE 107 #define SCE_HPA_NUMBER 108 #define SCE_HPA_STRING 109 #define SCE_HPA_CHARACTER 110 #define SCE_HPA_WORD 111 #define SCE_HPA_TRIPLE 112 #define SCE_HPA_TRIPLEDOUBLE 113 #define SCE_HPA_CLASSNAME 114 #define SCE_HPA_DEFNAME 115 #define SCE_HPA_OPERATOR 116 #define SCE_HPA_IDENTIFIER 117 #define SCE_HPHP_DEFAULT 118 #define SCE_HPHP_HSTRING 119 #define SCE_HPHP_SIMPLESTRING 120 #define SCE_HPHP_WORD 121 #define SCE_HPHP_NUMBER 122 #define SCE_HPHP_VARIABLE 123 #define SCE_HPHP_COMMENT 124 #define SCE_HPHP_COMMENTLINE 125 #define SCE_HPHP_HSTRING_VARIABLE 126 #define SCE_HPHP_OPERATOR 127 #define SCE_PL_DEFAULT 0 #define SCE_PL_ERROR 1 #define SCE_PL_COMMENTLINE 2 #define SCE_PL_POD 3 #define SCE_PL_NUMBER 4 #define SCE_PL_WORD 5 #define SCE_PL_STRING 6 #define SCE_PL_CHARACTER 7 #define SCE_PL_PUNCTUATION 8 #define SCE_PL_PREPROCESSOR 9 #define SCE_PL_OPERATOR 10 #define SCE_PL_IDENTIFIER 11 #define SCE_PL_SCALAR 12 #define SCE_PL_ARRAY 13 #define SCE_PL_HASH 14 #define SCE_PL_SYMBOLTABLE 15 #define SCE_PL_VARIABLE_INDEXER 16 #define SCE_PL_REGEX 17 #define SCE_PL_REGSUBST 18 #define SCE_PL_LONGQUOTE 19 #define SCE_PL_BACKTICKS 20 #define SCE_PL_DATASECTION 21 #define SCE_PL_HERE_DELIM 22 #define SCE_PL_HERE_Q 23 #define SCE_PL_HERE_QQ 24 #define SCE_PL_HERE_QX 25 #define SCE_PL_STRING_Q 26 #define SCE_PL_STRING_QQ 27 #define SCE_PL_STRING_QX 28 #define SCE_PL_STRING_QR 29 #define SCE_PL_STRING_QW 30 #define SCE_PL_POD_VERB 31 #define SCE_PL_SUB_PROTOTYPE 40 #define SCE_PL_FORMAT_IDENT 41 #define SCE_PL_FORMAT 42 #define SCE_PL_STRING_VAR 43 #define SCE_PL_XLAT 44 #define SCE_PL_REGEX_VAR 54 #define SCE_PL_REGSUBST_VAR 55 #define SCE_PL_BACKTICKS_VAR 57 #define SCE_PL_HERE_QQ_VAR 61 #define SCE_PL_HERE_QX_VAR 62 #define SCE_PL_STRING_QQ_VAR 64 #define SCE_PL_STRING_QX_VAR 65 #define SCE_PL_STRING_QR_VAR 66 #define SCE_RB_DEFAULT 0 #define SCE_RB_ERROR 1 #define SCE_RB_COMMENTLINE 2 #define SCE_RB_POD 3 #define SCE_RB_NUMBER 4 #define SCE_RB_WORD 5 #define SCE_RB_STRING 6 #define SCE_RB_CHARACTER 7 #define SCE_RB_CLASSNAME 8 #define SCE_RB_DEFNAME 9 #define SCE_RB_OPERATOR 10 #define SCE_RB_IDENTIFIER 11 #define SCE_RB_REGEX 12 #define SCE_RB_GLOBAL 13 #define SCE_RB_SYMBOL 14 #define SCE_RB_MODULE_NAME 15 #define SCE_RB_INSTANCE_VAR 16 #define SCE_RB_CLASS_VAR 17 #define SCE_RB_BACKTICKS 18 #define SCE_RB_DATASECTION 19 #define SCE_RB_HERE_DELIM 20 #define SCE_RB_HERE_Q 21 #define SCE_RB_HERE_QQ 22 #define SCE_RB_HERE_QX 23 #define SCE_RB_STRING_Q 24 #define SCE_RB_STRING_QQ 25 #define SCE_RB_STRING_QX 26 #define SCE_RB_STRING_QR 27 #define SCE_RB_STRING_QW 28 #define SCE_RB_WORD_DEMOTED 29 #define SCE_RB_STDIN 30 #define SCE_RB_STDOUT 31 #define SCE_RB_STDERR 40 #define SCE_RB_UPPER_BOUND 41 #define SCE_B_DEFAULT 0 #define SCE_B_COMMENT 1 #define SCE_B_NUMBER 2 #define SCE_B_KEYWORD 3 #define SCE_B_STRING 4 #define SCE_B_PREPROCESSOR 5 #define SCE_B_OPERATOR 6 #define SCE_B_IDENTIFIER 7 #define SCE_B_DATE 8 #define SCE_B_STRINGEOL 9 #define SCE_B_KEYWORD2 10 #define SCE_B_KEYWORD3 11 #define SCE_B_KEYWORD4 12 #define SCE_B_CONSTANT 13 #define SCE_B_ASM 14 #define SCE_B_LABEL 15 #define SCE_B_ERROR 16 #define SCE_B_HEXNUMBER 17 #define SCE_B_BINNUMBER 18 #define SCE_B_COMMENTBLOCK 19 #define SCE_B_DOCLINE 20 #define SCE_B_DOCBLOCK 21 #define SCE_B_DOCKEYWORD 22 #define SCE_PROPS_DEFAULT 0 #define SCE_PROPS_COMMENT 1 #define SCE_PROPS_SECTION 2 #define SCE_PROPS_ASSIGNMENT 3 #define SCE_PROPS_DEFVAL 4 #define SCE_PROPS_KEY 5 #define SCE_L_DEFAULT 0 #define SCE_L_COMMAND 1 #define SCE_L_TAG 2 #define SCE_L_MATH 3 #define SCE_L_COMMENT 4 #define SCE_L_TAG2 5 #define SCE_L_MATH2 6 #define SCE_L_COMMENT2 7 #define SCE_L_VERBATIM 8 #define SCE_L_SHORTCMD 9 #define SCE_L_SPECIAL 10 #define SCE_L_CMDOPT 11 #define SCE_L_ERROR 12 #define SCE_LUA_DEFAULT 0 #define SCE_LUA_COMMENT 1 #define SCE_LUA_COMMENTLINE 2 #define SCE_LUA_COMMENTDOC 3 #define SCE_LUA_NUMBER 4 #define SCE_LUA_WORD 5 #define SCE_LUA_STRING 6 #define SCE_LUA_CHARACTER 7 #define SCE_LUA_LITERALSTRING 8 #define SCE_LUA_PREPROCESSOR 9 #define SCE_LUA_OPERATOR 10 #define SCE_LUA_IDENTIFIER 11 #define SCE_LUA_STRINGEOL 12 #define SCE_LUA_WORD2 13 #define SCE_LUA_WORD3 14 #define SCE_LUA_WORD4 15 #define SCE_LUA_WORD5 16 #define SCE_LUA_WORD6 17 #define SCE_LUA_WORD7 18 #define SCE_LUA_WORD8 19 #define SCE_LUA_LABEL 20 #define SCE_ERR_DEFAULT 0 #define SCE_ERR_PYTHON 1 #define SCE_ERR_GCC 2 #define SCE_ERR_MS 3 #define SCE_ERR_CMD 4 #define SCE_ERR_BORLAND 5 #define SCE_ERR_PERL 6 #define SCE_ERR_NET 7 #define SCE_ERR_LUA 8 #define SCE_ERR_CTAG 9 #define SCE_ERR_DIFF_CHANGED 10 #define SCE_ERR_DIFF_ADDITION 11 #define SCE_ERR_DIFF_DELETION 12 #define SCE_ERR_DIFF_MESSAGE 13 #define SCE_ERR_PHP 14 #define SCE_ERR_ELF 15 #define SCE_ERR_IFC 16 #define SCE_ERR_IFORT 17 #define SCE_ERR_ABSF 18 #define SCE_ERR_TIDY 19 #define SCE_ERR_JAVA_STACK 20 #define SCE_ERR_VALUE 21 #define SCE_ERR_GCC_INCLUDED_FROM 22 #define SCE_ERR_ESCSEQ 23 #define SCE_ERR_ESCSEQ_UNKNOWN 24 #define SCE_ERR_GCC_EXCERPT 25 #define SCE_ERR_ES_BLACK 40 #define SCE_ERR_ES_RED 41 #define SCE_ERR_ES_GREEN 42 #define SCE_ERR_ES_BROWN 43 #define SCE_ERR_ES_BLUE 44 #define SCE_ERR_ES_MAGENTA 45 #define SCE_ERR_ES_CYAN 46 #define SCE_ERR_ES_GRAY 47 #define SCE_ERR_ES_DARK_GRAY 48 #define SCE_ERR_ES_BRIGHT_RED 49 #define SCE_ERR_ES_BRIGHT_GREEN 50 #define SCE_ERR_ES_YELLOW 51 #define SCE_ERR_ES_BRIGHT_BLUE 52 #define SCE_ERR_ES_BRIGHT_MAGENTA 53 #define SCE_ERR_ES_BRIGHT_CYAN 54 #define SCE_ERR_ES_WHITE 55 #define SCE_BAT_DEFAULT 0 #define SCE_BAT_COMMENT 1 #define SCE_BAT_WORD 2 #define SCE_BAT_LABEL 3 #define SCE_BAT_HIDE 4 #define SCE_BAT_COMMAND 5 #define SCE_BAT_IDENTIFIER 6 #define SCE_BAT_OPERATOR 7 #define SCE_TCMD_DEFAULT 0 #define SCE_TCMD_COMMENT 1 #define SCE_TCMD_WORD 2 #define SCE_TCMD_LABEL 3 #define SCE_TCMD_HIDE 4 #define SCE_TCMD_COMMAND 5 #define SCE_TCMD_IDENTIFIER 6 #define SCE_TCMD_OPERATOR 7 #define SCE_TCMD_ENVIRONMENT 8 #define SCE_TCMD_EXPANSION 9 #define SCE_TCMD_CLABEL 10 #define SCE_MAKE_DEFAULT 0 #define SCE_MAKE_COMMENT 1 #define SCE_MAKE_PREPROCESSOR 2 #define SCE_MAKE_IDENTIFIER 3 #define SCE_MAKE_OPERATOR 4 #define SCE_MAKE_TARGET 5 #define SCE_MAKE_IDEOL 9 #define SCE_DIFF_DEFAULT 0 #define SCE_DIFF_COMMENT 1 #define SCE_DIFF_COMMAND 2 #define SCE_DIFF_HEADER 3 #define SCE_DIFF_POSITION 4 #define SCE_DIFF_DELETED 5 #define SCE_DIFF_ADDED 6 #define SCE_DIFF_CHANGED 7 #define SCE_DIFF_PATCH_ADD 8 #define SCE_DIFF_PATCH_DELETE 9 #define SCE_DIFF_REMOVED_PATCH_ADD 10 #define SCE_DIFF_REMOVED_PATCH_DELETE 11 #define SCE_CONF_DEFAULT 0 #define SCE_CONF_COMMENT 1 #define SCE_CONF_NUMBER 2 #define SCE_CONF_IDENTIFIER 3 #define SCE_CONF_EXTENSION 4 #define SCE_CONF_PARAMETER 5 #define SCE_CONF_STRING 6 #define SCE_CONF_OPERATOR 7 #define SCE_CONF_IP 8 #define SCE_CONF_DIRECTIVE 9 #define SCE_AVE_DEFAULT 0 #define SCE_AVE_COMMENT 1 #define SCE_AVE_NUMBER 2 #define SCE_AVE_WORD 3 #define SCE_AVE_STRING 6 #define SCE_AVE_ENUM 7 #define SCE_AVE_STRINGEOL 8 #define SCE_AVE_IDENTIFIER 9 #define SCE_AVE_OPERATOR 10 #define SCE_AVE_WORD1 11 #define SCE_AVE_WORD2 12 #define SCE_AVE_WORD3 13 #define SCE_AVE_WORD4 14 #define SCE_AVE_WORD5 15 #define SCE_AVE_WORD6 16 #define SCE_ADA_DEFAULT 0 #define SCE_ADA_WORD 1 #define SCE_ADA_IDENTIFIER 2 #define SCE_ADA_NUMBER 3 #define SCE_ADA_DELIMITER 4 #define SCE_ADA_CHARACTER 5 #define SCE_ADA_CHARACTEREOL 6 #define SCE_ADA_STRING 7 #define SCE_ADA_STRINGEOL 8 #define SCE_ADA_LABEL 9 #define SCE_ADA_COMMENTLINE 10 #define SCE_ADA_ILLEGAL 11 #define SCE_BAAN_DEFAULT 0 #define SCE_BAAN_COMMENT 1 #define SCE_BAAN_COMMENTDOC 2 #define SCE_BAAN_NUMBER 3 #define SCE_BAAN_WORD 4 #define SCE_BAAN_STRING 5 #define SCE_BAAN_PREPROCESSOR 6 #define SCE_BAAN_OPERATOR 7 #define SCE_BAAN_IDENTIFIER 8 #define SCE_BAAN_STRINGEOL 9 #define SCE_BAAN_WORD2 10 #define SCE_BAAN_WORD3 11 #define SCE_BAAN_WORD4 12 #define SCE_BAAN_WORD5 13 #define SCE_BAAN_WORD6 14 #define SCE_BAAN_WORD7 15 #define SCE_BAAN_WORD8 16 #define SCE_BAAN_WORD9 17 #define SCE_BAAN_TABLEDEF 18 #define SCE_BAAN_TABLESQL 19 #define SCE_BAAN_FUNCTION 20 #define SCE_BAAN_DOMDEF 21 #define SCE_BAAN_FUNCDEF 22 #define SCE_BAAN_OBJECTDEF 23 #define SCE_BAAN_DEFINEDEF 24 #define SCE_LISP_DEFAULT 0 #define SCE_LISP_COMMENT 1 #define SCE_LISP_NUMBER 2 #define SCE_LISP_KEYWORD 3 #define SCE_LISP_KEYWORD_KW 4 #define SCE_LISP_SYMBOL 5 #define SCE_LISP_STRING 6 #define SCE_LISP_STRINGEOL 8 #define SCE_LISP_IDENTIFIER 9 #define SCE_LISP_OPERATOR 10 #define SCE_LISP_SPECIAL 11 #define SCE_LISP_MULTI_COMMENT 12 #define SCE_EIFFEL_DEFAULT 0 #define SCE_EIFFEL_COMMENTLINE 1 #define SCE_EIFFEL_NUMBER 2 #define SCE_EIFFEL_WORD 3 #define SCE_EIFFEL_STRING 4 #define SCE_EIFFEL_CHARACTER 5 #define SCE_EIFFEL_OPERATOR 6 #define SCE_EIFFEL_IDENTIFIER 7 #define SCE_EIFFEL_STRINGEOL 8 #define SCE_NNCRONTAB_DEFAULT 0 #define SCE_NNCRONTAB_COMMENT 1 #define SCE_NNCRONTAB_TASK 2 #define SCE_NNCRONTAB_SECTION 3 #define SCE_NNCRONTAB_KEYWORD 4 #define SCE_NNCRONTAB_MODIFIER 5 #define SCE_NNCRONTAB_ASTERISK 6 #define SCE_NNCRONTAB_NUMBER 7 #define SCE_NNCRONTAB_STRING 8 #define SCE_NNCRONTAB_ENVIRONMENT 9 #define SCE_NNCRONTAB_IDENTIFIER 10 #define SCE_FORTH_DEFAULT 0 #define SCE_FORTH_COMMENT 1 #define SCE_FORTH_COMMENT_ML 2 #define SCE_FORTH_IDENTIFIER 3 #define SCE_FORTH_CONTROL 4 #define SCE_FORTH_KEYWORD 5 #define SCE_FORTH_DEFWORD 6 #define SCE_FORTH_PREWORD1 7 #define SCE_FORTH_PREWORD2 8 #define SCE_FORTH_NUMBER 9 #define SCE_FORTH_STRING 10 #define SCE_FORTH_LOCALE 11 #define SCE_MATLAB_DEFAULT 0 #define SCE_MATLAB_COMMENT 1 #define SCE_MATLAB_COMMAND 2 #define SCE_MATLAB_NUMBER 3 #define SCE_MATLAB_KEYWORD 4 #define SCE_MATLAB_STRING 5 #define SCE_MATLAB_OPERATOR 6 #define SCE_MATLAB_IDENTIFIER 7 #define SCE_MATLAB_DOUBLEQUOTESTRING 8 #define SCE_MAXIMA_OPERATOR 0 #define SCE_MAXIMA_COMMANDENDING 1 #define SCE_MAXIMA_COMMENT 2 #define SCE_MAXIMA_NUMBER 3 #define SCE_MAXIMA_STRING 4 #define SCE_MAXIMA_COMMAND 5 #define SCE_MAXIMA_VARIABLE 6 #define SCE_MAXIMA_UNKNOWN 7 #define SCE_SCRIPTOL_DEFAULT 0 #define SCE_SCRIPTOL_WHITE 1 #define SCE_SCRIPTOL_COMMENTLINE 2 #define SCE_SCRIPTOL_PERSISTENT 3 #define SCE_SCRIPTOL_CSTYLE 4 #define SCE_SCRIPTOL_COMMENTBLOCK 5 #define SCE_SCRIPTOL_NUMBER 6 #define SCE_SCRIPTOL_STRING 7 #define SCE_SCRIPTOL_CHARACTER 8 #define SCE_SCRIPTOL_STRINGEOL 9 #define SCE_SCRIPTOL_KEYWORD 10 #define SCE_SCRIPTOL_OPERATOR 11 #define SCE_SCRIPTOL_IDENTIFIER 12 #define SCE_SCRIPTOL_TRIPLE 13 #define SCE_SCRIPTOL_CLASSNAME 14 #define SCE_SCRIPTOL_PREPROCESSOR 15 #define SCE_ASM_DEFAULT 0 #define SCE_ASM_COMMENT 1 #define SCE_ASM_NUMBER 2 #define SCE_ASM_STRING 3 #define SCE_ASM_OPERATOR 4 #define SCE_ASM_IDENTIFIER 5 #define SCE_ASM_CPUINSTRUCTION 6 #define SCE_ASM_MATHINSTRUCTION 7 #define SCE_ASM_REGISTER 8 #define SCE_ASM_DIRECTIVE 9 #define SCE_ASM_DIRECTIVEOPERAND 10 #define SCE_ASM_COMMENTBLOCK 11 #define SCE_ASM_CHARACTER 12 #define SCE_ASM_STRINGEOL 13 #define SCE_ASM_EXTINSTRUCTION 14 #define SCE_ASM_COMMENTDIRECTIVE 15 #define SCE_F_DEFAULT 0 #define SCE_F_COMMENT 1 #define SCE_F_NUMBER 2 #define SCE_F_STRING1 3 #define SCE_F_STRING2 4 #define SCE_F_STRINGEOL 5 #define SCE_F_OPERATOR 6 #define SCE_F_IDENTIFIER 7 #define SCE_F_WORD 8 #define SCE_F_WORD2 9 #define SCE_F_WORD3 10 #define SCE_F_PREPROCESSOR 11 #define SCE_F_OPERATOR2 12 #define SCE_F_LABEL 13 #define SCE_F_CONTINUATION 14 #define SCE_CSS_DEFAULT 0 #define SCE_CSS_TAG 1 #define SCE_CSS_CLASS 2 #define SCE_CSS_PSEUDOCLASS 3 #define SCE_CSS_UNKNOWN_PSEUDOCLASS 4 #define SCE_CSS_OPERATOR 5 #define SCE_CSS_IDENTIFIER 6 #define SCE_CSS_UNKNOWN_IDENTIFIER 7 #define SCE_CSS_VALUE 8 #define SCE_CSS_COMMENT 9 #define SCE_CSS_ID 10 #define SCE_CSS_IMPORTANT 11 #define SCE_CSS_DIRECTIVE 12 #define SCE_CSS_DOUBLESTRING 13 #define SCE_CSS_SINGLESTRING 14 #define SCE_CSS_IDENTIFIER2 15 #define SCE_CSS_ATTRIBUTE 16 #define SCE_CSS_IDENTIFIER3 17 #define SCE_CSS_PSEUDOELEMENT 18 #define SCE_CSS_EXTENDED_IDENTIFIER 19 #define SCE_CSS_EXTENDED_PSEUDOCLASS 20 #define SCE_CSS_EXTENDED_PSEUDOELEMENT 21 #define SCE_CSS_MEDIA 22 #define SCE_CSS_VARIABLE 23 #define SCE_POV_DEFAULT 0 #define SCE_POV_COMMENT 1 #define SCE_POV_COMMENTLINE 2 #define SCE_POV_NUMBER 3 #define SCE_POV_OPERATOR 4 #define SCE_POV_IDENTIFIER 5 #define SCE_POV_STRING 6 #define SCE_POV_STRINGEOL 7 #define SCE_POV_DIRECTIVE 8 #define SCE_POV_BADDIRECTIVE 9 #define SCE_POV_WORD2 10 #define SCE_POV_WORD3 11 #define SCE_POV_WORD4 12 #define SCE_POV_WORD5 13 #define SCE_POV_WORD6 14 #define SCE_POV_WORD7 15 #define SCE_POV_WORD8 16 #define SCE_LOUT_DEFAULT 0 #define SCE_LOUT_COMMENT 1 #define SCE_LOUT_NUMBER 2 #define SCE_LOUT_WORD 3 #define SCE_LOUT_WORD2 4 #define SCE_LOUT_WORD3 5 #define SCE_LOUT_WORD4 6 #define SCE_LOUT_STRING 7 #define SCE_LOUT_OPERATOR 8 #define SCE_LOUT_IDENTIFIER 9 #define SCE_LOUT_STRINGEOL 10 #define SCE_ESCRIPT_DEFAULT 0 #define SCE_ESCRIPT_COMMENT 1 #define SCE_ESCRIPT_COMMENTLINE 2 #define SCE_ESCRIPT_COMMENTDOC 3 #define SCE_ESCRIPT_NUMBER 4 #define SCE_ESCRIPT_WORD 5 #define SCE_ESCRIPT_STRING 6 #define SCE_ESCRIPT_OPERATOR 7 #define SCE_ESCRIPT_IDENTIFIER 8 #define SCE_ESCRIPT_BRACE 9 #define SCE_ESCRIPT_WORD2 10 #define SCE_ESCRIPT_WORD3 11 #define SCE_PS_DEFAULT 0 #define SCE_PS_COMMENT 1 #define SCE_PS_DSC_COMMENT 2 #define SCE_PS_DSC_VALUE 3 #define SCE_PS_NUMBER 4 #define SCE_PS_NAME 5 #define SCE_PS_KEYWORD 6 #define SCE_PS_LITERAL 7 #define SCE_PS_IMMEVAL 8 #define SCE_PS_PAREN_ARRAY 9 #define SCE_PS_PAREN_DICT 10 #define SCE_PS_PAREN_PROC 11 #define SCE_PS_TEXT 12 #define SCE_PS_HEXSTRING 13 #define SCE_PS_BASE85STRING 14 #define SCE_PS_BADSTRINGCHAR 15 #define SCE_NSIS_DEFAULT 0 #define SCE_NSIS_COMMENT 1 #define SCE_NSIS_STRINGDQ 2 #define SCE_NSIS_STRINGLQ 3 #define SCE_NSIS_STRINGRQ 4 #define SCE_NSIS_FUNCTION 5 #define SCE_NSIS_VARIABLE 6 #define SCE_NSIS_LABEL 7 #define SCE_NSIS_USERDEFINED 8 #define SCE_NSIS_SECTIONDEF 9 #define SCE_NSIS_SUBSECTIONDEF 10 #define SCE_NSIS_IFDEFINEDEF 11 #define SCE_NSIS_MACRODEF 12 #define SCE_NSIS_STRINGVAR 13 #define SCE_NSIS_NUMBER 14 #define SCE_NSIS_SECTIONGROUP 15 #define SCE_NSIS_PAGEEX 16 #define SCE_NSIS_FUNCTIONDEF 17 #define SCE_NSIS_COMMENTBOX 18 #define SCE_MMIXAL_LEADWS 0 #define SCE_MMIXAL_COMMENT 1 #define SCE_MMIXAL_LABEL 2 #define SCE_MMIXAL_OPCODE 3 #define SCE_MMIXAL_OPCODE_PRE 4 #define SCE_MMIXAL_OPCODE_VALID 5 #define SCE_MMIXAL_OPCODE_UNKNOWN 6 #define SCE_MMIXAL_OPCODE_POST 7 #define SCE_MMIXAL_OPERANDS 8 #define SCE_MMIXAL_NUMBER 9 #define SCE_MMIXAL_REF 10 #define SCE_MMIXAL_CHAR 11 #define SCE_MMIXAL_STRING 12 #define SCE_MMIXAL_REGISTER 13 #define SCE_MMIXAL_HEX 14 #define SCE_MMIXAL_OPERATOR 15 #define SCE_MMIXAL_SYMBOL 16 #define SCE_MMIXAL_INCLUDE 17 #define SCE_CLW_DEFAULT 0 #define SCE_CLW_LABEL 1 #define SCE_CLW_COMMENT 2 #define SCE_CLW_STRING 3 #define SCE_CLW_USER_IDENTIFIER 4 #define SCE_CLW_INTEGER_CONSTANT 5 #define SCE_CLW_REAL_CONSTANT 6 #define SCE_CLW_PICTURE_STRING 7 #define SCE_CLW_KEYWORD 8 #define SCE_CLW_COMPILER_DIRECTIVE 9 #define SCE_CLW_RUNTIME_EXPRESSIONS 10 #define SCE_CLW_BUILTIN_PROCEDURES_FUNCTION 11 #define SCE_CLW_STRUCTURE_DATA_TYPE 12 #define SCE_CLW_ATTRIBUTE 13 #define SCE_CLW_STANDARD_EQUATE 14 #define SCE_CLW_ERROR 15 #define SCE_CLW_DEPRECATED 16 #define SCE_LOT_DEFAULT 0 #define SCE_LOT_HEADER 1 #define SCE_LOT_BREAK 2 #define SCE_LOT_SET 3 #define SCE_LOT_PASS 4 #define SCE_LOT_FAIL 5 #define SCE_LOT_ABORT 6 #define SCE_YAML_DEFAULT 0 #define SCE_YAML_COMMENT 1 #define SCE_YAML_IDENTIFIER 2 #define SCE_YAML_KEYWORD 3 #define SCE_YAML_NUMBER 4 #define SCE_YAML_REFERENCE 5 #define SCE_YAML_DOCUMENT 6 #define SCE_YAML_TEXT 7 #define SCE_YAML_ERROR 8 #define SCE_YAML_OPERATOR 9 #define SCE_TEX_DEFAULT 0 #define SCE_TEX_SPECIAL 1 #define SCE_TEX_GROUP 2 #define SCE_TEX_SYMBOL 3 #define SCE_TEX_COMMAND 4 #define SCE_TEX_TEXT 5 #define SCE_METAPOST_DEFAULT 0 #define SCE_METAPOST_SPECIAL 1 #define SCE_METAPOST_GROUP 2 #define SCE_METAPOST_SYMBOL 3 #define SCE_METAPOST_COMMAND 4 #define SCE_METAPOST_TEXT 5 #define SCE_METAPOST_EXTRA 6 #define SCE_ERLANG_DEFAULT 0 #define SCE_ERLANG_COMMENT 1 #define SCE_ERLANG_VARIABLE 2 #define SCE_ERLANG_NUMBER 3 #define SCE_ERLANG_KEYWORD 4 #define SCE_ERLANG_STRING 5 #define SCE_ERLANG_OPERATOR 6 #define SCE_ERLANG_ATOM 7 #define SCE_ERLANG_FUNCTION_NAME 8 #define SCE_ERLANG_CHARACTER 9 #define SCE_ERLANG_MACRO 10 #define SCE_ERLANG_RECORD 11 #define SCE_ERLANG_PREPROC 12 #define SCE_ERLANG_NODE_NAME 13 #define SCE_ERLANG_COMMENT_FUNCTION 14 #define SCE_ERLANG_COMMENT_MODULE 15 #define SCE_ERLANG_COMMENT_DOC 16 #define SCE_ERLANG_COMMENT_DOC_MACRO 17 #define SCE_ERLANG_ATOM_QUOTED 18 #define SCE_ERLANG_MACRO_QUOTED 19 #define SCE_ERLANG_RECORD_QUOTED 20 #define SCE_ERLANG_NODE_NAME_QUOTED 21 #define SCE_ERLANG_BIFS 22 #define SCE_ERLANG_MODULES 23 #define SCE_ERLANG_MODULES_ATT 24 #define SCE_ERLANG_UNKNOWN 31 #define SCE_MSSQL_DEFAULT 0 #define SCE_MSSQL_COMMENT 1 #define SCE_MSSQL_LINE_COMMENT 2 #define SCE_MSSQL_NUMBER 3 #define SCE_MSSQL_STRING 4 #define SCE_MSSQL_OPERATOR 5 #define SCE_MSSQL_IDENTIFIER 6 #define SCE_MSSQL_VARIABLE 7 #define SCE_MSSQL_COLUMN_NAME 8 #define SCE_MSSQL_STATEMENT 9 #define SCE_MSSQL_DATATYPE 10 #define SCE_MSSQL_SYSTABLE 11 #define SCE_MSSQL_GLOBAL_VARIABLE 12 #define SCE_MSSQL_FUNCTION 13 #define SCE_MSSQL_STORED_PROCEDURE 14 #define SCE_MSSQL_DEFAULT_PREF_DATATYPE 15 #define SCE_MSSQL_COLUMN_NAME_2 16 #define SCE_V_DEFAULT 0 #define SCE_V_COMMENT 1 #define SCE_V_COMMENTLINE 2 #define SCE_V_COMMENTLINEBANG 3 #define SCE_V_NUMBER 4 #define SCE_V_WORD 5 #define SCE_V_STRING 6 #define SCE_V_WORD2 7 #define SCE_V_WORD3 8 #define SCE_V_PREPROCESSOR 9 #define SCE_V_OPERATOR 10 #define SCE_V_IDENTIFIER 11 #define SCE_V_STRINGEOL 12 #define SCE_V_USER 19 #define SCE_V_COMMENT_WORD 20 #define SCE_V_INPUT 21 #define SCE_V_OUTPUT 22 #define SCE_V_INOUT 23 #define SCE_V_PORT_CONNECT 24 #define SCE_KIX_DEFAULT 0 #define SCE_KIX_COMMENT 1 #define SCE_KIX_STRING1 2 #define SCE_KIX_STRING2 3 #define SCE_KIX_NUMBER 4 #define SCE_KIX_VAR 5 #define SCE_KIX_MACRO 6 #define SCE_KIX_KEYWORD 7 #define SCE_KIX_FUNCTIONS 8 #define SCE_KIX_OPERATOR 9 #define SCE_KIX_COMMENTSTREAM 10 #define SCE_KIX_IDENTIFIER 31 #define SCE_GC_DEFAULT 0 #define SCE_GC_COMMENTLINE 1 #define SCE_GC_COMMENTBLOCK 2 #define SCE_GC_GLOBAL 3 #define SCE_GC_EVENT 4 #define SCE_GC_ATTRIBUTE 5 #define SCE_GC_CONTROL 6 #define SCE_GC_COMMAND 7 #define SCE_GC_STRING 8 #define SCE_GC_OPERATOR 9 #define SCE_SN_DEFAULT 0 #define SCE_SN_CODE 1 #define SCE_SN_COMMENTLINE 2 #define SCE_SN_COMMENTLINEBANG 3 #define SCE_SN_NUMBER 4 #define SCE_SN_WORD 5 #define SCE_SN_STRING 6 #define SCE_SN_WORD2 7 #define SCE_SN_WORD3 8 #define SCE_SN_PREPROCESSOR 9 #define SCE_SN_OPERATOR 10 #define SCE_SN_IDENTIFIER 11 #define SCE_SN_STRINGEOL 12 #define SCE_SN_REGEXTAG 13 #define SCE_SN_SIGNAL 14 #define SCE_SN_USER 19 #define SCE_AU3_DEFAULT 0 #define SCE_AU3_COMMENT 1 #define SCE_AU3_COMMENTBLOCK 2 #define SCE_AU3_NUMBER 3 #define SCE_AU3_FUNCTION 4 #define SCE_AU3_KEYWORD 5 #define SCE_AU3_MACRO 6 #define SCE_AU3_STRING 7 #define SCE_AU3_OPERATOR 8 #define SCE_AU3_VARIABLE 9 #define SCE_AU3_SENT 10 #define SCE_AU3_PREPROCESSOR 11 #define SCE_AU3_SPECIAL 12 #define SCE_AU3_EXPAND 13 #define SCE_AU3_COMOBJ 14 #define SCE_AU3_UDF 15 #define SCE_APDL_DEFAULT 0 #define SCE_APDL_COMMENT 1 #define SCE_APDL_COMMENTBLOCK 2 #define SCE_APDL_NUMBER 3 #define SCE_APDL_STRING 4 #define SCE_APDL_OPERATOR 5 #define SCE_APDL_WORD 6 #define SCE_APDL_PROCESSOR 7 #define SCE_APDL_COMMAND 8 #define SCE_APDL_SLASHCOMMAND 9 #define SCE_APDL_STARCOMMAND 10 #define SCE_APDL_ARGUMENT 11 #define SCE_APDL_FUNCTION 12 #define SCE_SH_DEFAULT 0 #define SCE_SH_ERROR 1 #define SCE_SH_COMMENTLINE 2 #define SCE_SH_NUMBER 3 #define SCE_SH_WORD 4 #define SCE_SH_STRING 5 #define SCE_SH_CHARACTER 6 #define SCE_SH_OPERATOR 7 #define SCE_SH_IDENTIFIER 8 #define SCE_SH_SCALAR 9 #define SCE_SH_PARAM 10 #define SCE_SH_BACKTICKS 11 #define SCE_SH_HERE_DELIM 12 #define SCE_SH_HERE_Q 13 #define SCE_ASN1_DEFAULT 0 #define SCE_ASN1_COMMENT 1 #define SCE_ASN1_IDENTIFIER 2 #define SCE_ASN1_STRING 3 #define SCE_ASN1_OID 4 #define SCE_ASN1_SCALAR 5 #define SCE_ASN1_KEYWORD 6 #define SCE_ASN1_ATTRIBUTE 7 #define SCE_ASN1_DESCRIPTOR 8 #define SCE_ASN1_TYPE 9 #define SCE_ASN1_OPERATOR 10 #define SCE_VHDL_DEFAULT 0 #define SCE_VHDL_COMMENT 1 #define SCE_VHDL_COMMENTLINEBANG 2 #define SCE_VHDL_NUMBER 3 #define SCE_VHDL_STRING 4 #define SCE_VHDL_OPERATOR 5 #define SCE_VHDL_IDENTIFIER 6 #define SCE_VHDL_STRINGEOL 7 #define SCE_VHDL_KEYWORD 8 #define SCE_VHDL_STDOPERATOR 9 #define SCE_VHDL_ATTRIBUTE 10 #define SCE_VHDL_STDFUNCTION 11 #define SCE_VHDL_STDPACKAGE 12 #define SCE_VHDL_STDTYPE 13 #define SCE_VHDL_USERWORD 14 #define SCE_VHDL_BLOCK_COMMENT 15 #define SCE_CAML_DEFAULT 0 #define SCE_CAML_IDENTIFIER 1 #define SCE_CAML_TAGNAME 2 #define SCE_CAML_KEYWORD 3 #define SCE_CAML_KEYWORD2 4 #define SCE_CAML_KEYWORD3 5 #define SCE_CAML_LINENUM 6 #define SCE_CAML_OPERATOR 7 #define SCE_CAML_NUMBER 8 #define SCE_CAML_CHAR 9 #define SCE_CAML_WHITE 10 #define SCE_CAML_STRING 11 #define SCE_CAML_COMMENT 12 #define SCE_CAML_COMMENT1 13 #define SCE_CAML_COMMENT2 14 #define SCE_CAML_COMMENT3 15 #define SCE_HA_DEFAULT 0 #define SCE_HA_IDENTIFIER 1 #define SCE_HA_KEYWORD 2 #define SCE_HA_NUMBER 3 #define SCE_HA_STRING 4 #define SCE_HA_CHARACTER 5 #define SCE_HA_CLASS 6 #define SCE_HA_MODULE 7 #define SCE_HA_CAPITAL 8 #define SCE_HA_DATA 9 #define SCE_HA_IMPORT 10 #define SCE_HA_OPERATOR 11 #define SCE_HA_INSTANCE 12 #define SCE_HA_COMMENTLINE 13 #define SCE_HA_COMMENTBLOCK 14 #define SCE_HA_COMMENTBLOCK2 15 #define SCE_HA_COMMENTBLOCK3 16 #define SCE_HA_PRAGMA 17 #define SCE_HA_PREPROCESSOR 18 #define SCE_HA_STRINGEOL 19 #define SCE_HA_RESERVED_OPERATOR 20 #define SCE_HA_LITERATE_COMMENT 21 #define SCE_HA_LITERATE_CODEDELIM 22 #define SCE_T3_DEFAULT 0 #define SCE_T3_X_DEFAULT 1 #define SCE_T3_PREPROCESSOR 2 #define SCE_T3_BLOCK_COMMENT 3 #define SCE_T3_LINE_COMMENT 4 #define SCE_T3_OPERATOR 5 #define SCE_T3_KEYWORD 6 #define SCE_T3_NUMBER 7 #define SCE_T3_IDENTIFIER 8 #define SCE_T3_S_STRING 9 #define SCE_T3_D_STRING 10 #define SCE_T3_X_STRING 11 #define SCE_T3_LIB_DIRECTIVE 12 #define SCE_T3_MSG_PARAM 13 #define SCE_T3_HTML_TAG 14 #define SCE_T3_HTML_DEFAULT 15 #define SCE_T3_HTML_STRING 16 #define SCE_T3_USER1 17 #define SCE_T3_USER2 18 #define SCE_T3_USER3 19 #define SCE_T3_BRACE 20 #define SCE_REBOL_DEFAULT 0 #define SCE_REBOL_COMMENTLINE 1 #define SCE_REBOL_COMMENTBLOCK 2 #define SCE_REBOL_PREFACE 3 #define SCE_REBOL_OPERATOR 4 #define SCE_REBOL_CHARACTER 5 #define SCE_REBOL_QUOTEDSTRING 6 #define SCE_REBOL_BRACEDSTRING 7 #define SCE_REBOL_NUMBER 8 #define SCE_REBOL_PAIR 9 #define SCE_REBOL_TUPLE 10 #define SCE_REBOL_BINARY 11 #define SCE_REBOL_MONEY 12 #define SCE_REBOL_ISSUE 13 #define SCE_REBOL_TAG 14 #define SCE_REBOL_FILE 15 #define SCE_REBOL_EMAIL 16 #define SCE_REBOL_URL 17 #define SCE_REBOL_DATE 18 #define SCE_REBOL_TIME 19 #define SCE_REBOL_IDENTIFIER 20 #define SCE_REBOL_WORD 21 #define SCE_REBOL_WORD2 22 #define SCE_REBOL_WORD3 23 #define SCE_REBOL_WORD4 24 #define SCE_REBOL_WORD5 25 #define SCE_REBOL_WORD6 26 #define SCE_REBOL_WORD7 27 #define SCE_REBOL_WORD8 28 #define SCE_SQL_DEFAULT 0 #define SCE_SQL_COMMENT 1 #define SCE_SQL_COMMENTLINE 2 #define SCE_SQL_COMMENTDOC 3 #define SCE_SQL_NUMBER 4 #define SCE_SQL_WORD 5 #define SCE_SQL_STRING 6 #define SCE_SQL_CHARACTER 7 #define SCE_SQL_SQLPLUS 8 #define SCE_SQL_SQLPLUS_PROMPT 9 #define SCE_SQL_OPERATOR 10 #define SCE_SQL_IDENTIFIER 11 #define SCE_SQL_SQLPLUS_COMMENT 13 #define SCE_SQL_COMMENTLINEDOC 15 #define SCE_SQL_WORD2 16 #define SCE_SQL_COMMENTDOCKEYWORD 17 #define SCE_SQL_COMMENTDOCKEYWORDERROR 18 #define SCE_SQL_USER1 19 #define SCE_SQL_USER2 20 #define SCE_SQL_USER3 21 #define SCE_SQL_USER4 22 #define SCE_SQL_QUOTEDIDENTIFIER 23 #define SCE_SQL_QOPERATOR 24 #define SCE_ST_DEFAULT 0 #define SCE_ST_STRING 1 #define SCE_ST_NUMBER 2 #define SCE_ST_COMMENT 3 #define SCE_ST_SYMBOL 4 #define SCE_ST_BINARY 5 #define SCE_ST_BOOL 6 #define SCE_ST_SELF 7 #define SCE_ST_SUPER 8 #define SCE_ST_NIL 9 #define SCE_ST_GLOBAL 10 #define SCE_ST_RETURN 11 #define SCE_ST_SPECIAL 12 #define SCE_ST_KWSEND 13 #define SCE_ST_ASSIGN 14 #define SCE_ST_CHARACTER 15 #define SCE_ST_SPEC_SEL 16 #define SCE_FS_DEFAULT 0 #define SCE_FS_COMMENT 1 #define SCE_FS_COMMENTLINE 2 #define SCE_FS_COMMENTDOC 3 #define SCE_FS_COMMENTLINEDOC 4 #define SCE_FS_COMMENTDOCKEYWORD 5 #define SCE_FS_COMMENTDOCKEYWORDERROR 6 #define SCE_FS_KEYWORD 7 #define SCE_FS_KEYWORD2 8 #define SCE_FS_KEYWORD3 9 #define SCE_FS_KEYWORD4 10 #define SCE_FS_NUMBER 11 #define SCE_FS_STRING 12 #define SCE_FS_PREPROCESSOR 13 #define SCE_FS_OPERATOR 14 #define SCE_FS_IDENTIFIER 15 #define SCE_FS_DATE 16 #define SCE_FS_STRINGEOL 17 #define SCE_FS_CONSTANT 18 #define SCE_FS_WORDOPERATOR 19 #define SCE_FS_DISABLEDCODE 20 #define SCE_FS_DEFAULT_C 21 #define SCE_FS_COMMENTDOC_C 22 #define SCE_FS_COMMENTLINEDOC_C 23 #define SCE_FS_KEYWORD_C 24 #define SCE_FS_KEYWORD2_C 25 #define SCE_FS_NUMBER_C 26 #define SCE_FS_STRING_C 27 #define SCE_FS_PREPROCESSOR_C 28 #define SCE_FS_OPERATOR_C 29 #define SCE_FS_IDENTIFIER_C 30 #define SCE_FS_STRINGEOL_C 31 #define SCE_CSOUND_DEFAULT 0 #define SCE_CSOUND_COMMENT 1 #define SCE_CSOUND_NUMBER 2 #define SCE_CSOUND_OPERATOR 3 #define SCE_CSOUND_INSTR 4 #define SCE_CSOUND_IDENTIFIER 5 #define SCE_CSOUND_OPCODE 6 #define SCE_CSOUND_HEADERSTMT 7 #define SCE_CSOUND_USERKEYWORD 8 #define SCE_CSOUND_COMMENTBLOCK 9 #define SCE_CSOUND_PARAM 10 #define SCE_CSOUND_ARATE_VAR 11 #define SCE_CSOUND_KRATE_VAR 12 #define SCE_CSOUND_IRATE_VAR 13 #define SCE_CSOUND_GLOBAL_VAR 14 #define SCE_CSOUND_STRINGEOL 15 #define SCE_INNO_DEFAULT 0 #define SCE_INNO_COMMENT 1 #define SCE_INNO_KEYWORD 2 #define SCE_INNO_PARAMETER 3 #define SCE_INNO_SECTION 4 #define SCE_INNO_PREPROC 5 #define SCE_INNO_INLINE_EXPANSION 6 #define SCE_INNO_COMMENT_PASCAL 7 #define SCE_INNO_KEYWORD_PASCAL 8 #define SCE_INNO_KEYWORD_USER 9 #define SCE_INNO_STRING_DOUBLE 10 #define SCE_INNO_STRING_SINGLE 11 #define SCE_INNO_IDENTIFIER 12 #define SCE_OPAL_SPACE 0 #define SCE_OPAL_COMMENT_BLOCK 1 #define SCE_OPAL_COMMENT_LINE 2 #define SCE_OPAL_INTEGER 3 #define SCE_OPAL_KEYWORD 4 #define SCE_OPAL_SORT 5 #define SCE_OPAL_STRING 6 #define SCE_OPAL_PAR 7 #define SCE_OPAL_BOOL_CONST 8 #define SCE_OPAL_DEFAULT 32 #define SCE_SPICE_DEFAULT 0 #define SCE_SPICE_IDENTIFIER 1 #define SCE_SPICE_KEYWORD 2 #define SCE_SPICE_KEYWORD2 3 #define SCE_SPICE_KEYWORD3 4 #define SCE_SPICE_NUMBER 5 #define SCE_SPICE_DELIMITER 6 #define SCE_SPICE_VALUE 7 #define SCE_SPICE_COMMENTLINE 8 #define SCE_CMAKE_DEFAULT 0 #define SCE_CMAKE_COMMENT 1 #define SCE_CMAKE_STRINGDQ 2 #define SCE_CMAKE_STRINGLQ 3 #define SCE_CMAKE_STRINGRQ 4 #define SCE_CMAKE_COMMANDS 5 #define SCE_CMAKE_PARAMETERS 6 #define SCE_CMAKE_VARIABLE 7 #define SCE_CMAKE_USERDEFINED 8 #define SCE_CMAKE_WHILEDEF 9 #define SCE_CMAKE_FOREACHDEF 10 #define SCE_CMAKE_IFDEFINEDEF 11 #define SCE_CMAKE_MACRODEF 12 #define SCE_CMAKE_STRINGVAR 13 #define SCE_CMAKE_NUMBER 14 #define SCE_GAP_DEFAULT 0 #define SCE_GAP_IDENTIFIER 1 #define SCE_GAP_KEYWORD 2 #define SCE_GAP_KEYWORD2 3 #define SCE_GAP_KEYWORD3 4 #define SCE_GAP_KEYWORD4 5 #define SCE_GAP_STRING 6 #define SCE_GAP_CHAR 7 #define SCE_GAP_OPERATOR 8 #define SCE_GAP_COMMENT 9 #define SCE_GAP_NUMBER 10 #define SCE_GAP_STRINGEOL 11 #define SCE_PLM_DEFAULT 0 #define SCE_PLM_COMMENT 1 #define SCE_PLM_STRING 2 #define SCE_PLM_NUMBER 3 #define SCE_PLM_IDENTIFIER 4 #define SCE_PLM_OPERATOR 5 #define SCE_PLM_CONTROL 6 #define SCE_PLM_KEYWORD 7 #define SCE_ABL_DEFAULT 0 #define SCE_ABL_NUMBER 1 #define SCE_ABL_WORD 2 #define SCE_ABL_STRING 3 #define SCE_ABL_CHARACTER 4 #define SCE_ABL_PREPROCESSOR 5 #define SCE_ABL_OPERATOR 6 #define SCE_ABL_IDENTIFIER 7 #define SCE_ABL_BLOCK 8 #define SCE_ABL_END 9 #define SCE_ABL_COMMENT 10 #define SCE_ABL_TASKMARKER 11 #define SCE_ABL_LINECOMMENT 12 #define SCE_ABAQUS_DEFAULT 0 #define SCE_ABAQUS_COMMENT 1 #define SCE_ABAQUS_COMMENTBLOCK 2 #define SCE_ABAQUS_NUMBER 3 #define SCE_ABAQUS_STRING 4 #define SCE_ABAQUS_OPERATOR 5 #define SCE_ABAQUS_WORD 6 #define SCE_ABAQUS_PROCESSOR 7 #define SCE_ABAQUS_COMMAND 8 #define SCE_ABAQUS_SLASHCOMMAND 9 #define SCE_ABAQUS_STARCOMMAND 10 #define SCE_ABAQUS_ARGUMENT 11 #define SCE_ABAQUS_FUNCTION 12 #define SCE_ASY_DEFAULT 0 #define SCE_ASY_COMMENT 1 #define SCE_ASY_COMMENTLINE 2 #define SCE_ASY_NUMBER 3 #define SCE_ASY_WORD 4 #define SCE_ASY_STRING 5 #define SCE_ASY_CHARACTER 6 #define SCE_ASY_OPERATOR 7 #define SCE_ASY_IDENTIFIER 8 #define SCE_ASY_STRINGEOL 9 #define SCE_ASY_COMMENTLINEDOC 10 #define SCE_ASY_WORD2 11 #define SCE_R_DEFAULT 0 #define SCE_R_COMMENT 1 #define SCE_R_KWORD 2 #define SCE_R_BASEKWORD 3 #define SCE_R_OTHERKWORD 4 #define SCE_R_NUMBER 5 #define SCE_R_STRING 6 #define SCE_R_STRING2 7 #define SCE_R_OPERATOR 8 #define SCE_R_IDENTIFIER 9 #define SCE_R_INFIX 10 #define SCE_R_INFIXEOL 11 #define SCE_MAGIK_DEFAULT 0 #define SCE_MAGIK_COMMENT 1 #define SCE_MAGIK_HYPER_COMMENT 16 #define SCE_MAGIK_STRING 2 #define SCE_MAGIK_CHARACTER 3 #define SCE_MAGIK_NUMBER 4 #define SCE_MAGIK_IDENTIFIER 5 #define SCE_MAGIK_OPERATOR 6 #define SCE_MAGIK_FLOW 7 #define SCE_MAGIK_CONTAINER 8 #define SCE_MAGIK_BRACKET_BLOCK 9 #define SCE_MAGIK_BRACE_BLOCK 10 #define SCE_MAGIK_SQBRACKET_BLOCK 11 #define SCE_MAGIK_UNKNOWN_KEYWORD 12 #define SCE_MAGIK_KEYWORD 13 #define SCE_MAGIK_PRAGMA 14 #define SCE_MAGIK_SYMBOL 15 #define SCE_POWERSHELL_DEFAULT 0 #define SCE_POWERSHELL_COMMENT 1 #define SCE_POWERSHELL_STRING 2 #define SCE_POWERSHELL_CHARACTER 3 #define SCE_POWERSHELL_NUMBER 4 #define SCE_POWERSHELL_VARIABLE 5 #define SCE_POWERSHELL_OPERATOR 6 #define SCE_POWERSHELL_IDENTIFIER 7 #define SCE_POWERSHELL_KEYWORD 8 #define SCE_POWERSHELL_CMDLET 9 #define SCE_POWERSHELL_ALIAS 10 #define SCE_POWERSHELL_FUNCTION 11 #define SCE_POWERSHELL_USER1 12 #define SCE_POWERSHELL_COMMENTSTREAM 13 #define SCE_POWERSHELL_HERE_STRING 14 #define SCE_POWERSHELL_HERE_CHARACTER 15 #define SCE_POWERSHELL_COMMENTDOCKEYWORD 16 #define SCE_MYSQL_DEFAULT 0 #define SCE_MYSQL_COMMENT 1 #define SCE_MYSQL_COMMENTLINE 2 #define SCE_MYSQL_VARIABLE 3 #define SCE_MYSQL_SYSTEMVARIABLE 4 #define SCE_MYSQL_KNOWNSYSTEMVARIABLE 5 #define SCE_MYSQL_NUMBER 6 #define SCE_MYSQL_MAJORKEYWORD 7 #define SCE_MYSQL_KEYWORD 8 #define SCE_MYSQL_DATABASEOBJECT 9 #define SCE_MYSQL_PROCEDUREKEYWORD 10 #define SCE_MYSQL_STRING 11 #define SCE_MYSQL_SQSTRING 12 #define SCE_MYSQL_DQSTRING 13 #define SCE_MYSQL_OPERATOR 14 #define SCE_MYSQL_FUNCTION 15 #define SCE_MYSQL_IDENTIFIER 16 #define SCE_MYSQL_QUOTEDIDENTIFIER 17 #define SCE_MYSQL_USER1 18 #define SCE_MYSQL_USER2 19 #define SCE_MYSQL_USER3 20 #define SCE_MYSQL_HIDDENCOMMAND 21 #define SCE_MYSQL_PLACEHOLDER 22 #define SCE_PO_DEFAULT 0 #define SCE_PO_COMMENT 1 #define SCE_PO_MSGID 2 #define SCE_PO_MSGID_TEXT 3 #define SCE_PO_MSGSTR 4 #define SCE_PO_MSGSTR_TEXT 5 #define SCE_PO_MSGCTXT 6 #define SCE_PO_MSGCTXT_TEXT 7 #define SCE_PO_FUZZY 8 #define SCE_PO_PROGRAMMER_COMMENT 9 #define SCE_PO_REFERENCE 10 #define SCE_PO_FLAGS 11 #define SCE_PO_MSGID_TEXT_EOL 12 #define SCE_PO_MSGSTR_TEXT_EOL 13 #define SCE_PO_MSGCTXT_TEXT_EOL 14 #define SCE_PO_ERROR 15 #define SCE_PAS_DEFAULT 0 #define SCE_PAS_IDENTIFIER 1 #define SCE_PAS_COMMENT 2 #define SCE_PAS_COMMENT2 3 #define SCE_PAS_COMMENTLINE 4 #define SCE_PAS_PREPROCESSOR 5 #define SCE_PAS_PREPROCESSOR2 6 #define SCE_PAS_NUMBER 7 #define SCE_PAS_HEXNUMBER 8 #define SCE_PAS_WORD 9 #define SCE_PAS_STRING 10 #define SCE_PAS_STRINGEOL 11 #define SCE_PAS_CHARACTER 12 #define SCE_PAS_OPERATOR 13 #define SCE_PAS_ASM 14 #define SCE_SORCUS_DEFAULT 0 #define SCE_SORCUS_COMMAND 1 #define SCE_SORCUS_PARAMETER 2 #define SCE_SORCUS_COMMENTLINE 3 #define SCE_SORCUS_STRING 4 #define SCE_SORCUS_STRINGEOL 5 #define SCE_SORCUS_IDENTIFIER 6 #define SCE_SORCUS_OPERATOR 7 #define SCE_SORCUS_NUMBER 8 #define SCE_SORCUS_CONSTANT 9 #define SCE_POWERPRO_DEFAULT 0 #define SCE_POWERPRO_COMMENTBLOCK 1 #define SCE_POWERPRO_COMMENTLINE 2 #define SCE_POWERPRO_NUMBER 3 #define SCE_POWERPRO_WORD 4 #define SCE_POWERPRO_WORD2 5 #define SCE_POWERPRO_WORD3 6 #define SCE_POWERPRO_WORD4 7 #define SCE_POWERPRO_DOUBLEQUOTEDSTRING 8 #define SCE_POWERPRO_SINGLEQUOTEDSTRING 9 #define SCE_POWERPRO_LINECONTINUE 10 #define SCE_POWERPRO_OPERATOR 11 #define SCE_POWERPRO_IDENTIFIER 12 #define SCE_POWERPRO_STRINGEOL 13 #define SCE_POWERPRO_VERBATIM 14 #define SCE_POWERPRO_ALTQUOTE 15 #define SCE_POWERPRO_FUNCTION 16 #define SCE_SML_DEFAULT 0 #define SCE_SML_IDENTIFIER 1 #define SCE_SML_TAGNAME 2 #define SCE_SML_KEYWORD 3 #define SCE_SML_KEYWORD2 4 #define SCE_SML_KEYWORD3 5 #define SCE_SML_LINENUM 6 #define SCE_SML_OPERATOR 7 #define SCE_SML_NUMBER 8 #define SCE_SML_CHAR 9 #define SCE_SML_STRING 11 #define SCE_SML_COMMENT 12 #define SCE_SML_COMMENT1 13 #define SCE_SML_COMMENT2 14 #define SCE_SML_COMMENT3 15 #define SCE_MARKDOWN_DEFAULT 0 #define SCE_MARKDOWN_LINE_BEGIN 1 #define SCE_MARKDOWN_STRONG1 2 #define SCE_MARKDOWN_STRONG2 3 #define SCE_MARKDOWN_EM1 4 #define SCE_MARKDOWN_EM2 5 #define SCE_MARKDOWN_HEADER1 6 #define SCE_MARKDOWN_HEADER2 7 #define SCE_MARKDOWN_HEADER3 8 #define SCE_MARKDOWN_HEADER4 9 #define SCE_MARKDOWN_HEADER5 10 #define SCE_MARKDOWN_HEADER6 11 #define SCE_MARKDOWN_PRECHAR 12 #define SCE_MARKDOWN_ULIST_ITEM 13 #define SCE_MARKDOWN_OLIST_ITEM 14 #define SCE_MARKDOWN_BLOCKQUOTE 15 #define SCE_MARKDOWN_STRIKEOUT 16 #define SCE_MARKDOWN_HRULE 17 #define SCE_MARKDOWN_LINK 18 #define SCE_MARKDOWN_CODE 19 #define SCE_MARKDOWN_CODE2 20 #define SCE_MARKDOWN_CODEBK 21 #define SCE_TXT2TAGS_DEFAULT 0 #define SCE_TXT2TAGS_LINE_BEGIN 1 #define SCE_TXT2TAGS_STRONG1 2 #define SCE_TXT2TAGS_STRONG2 3 #define SCE_TXT2TAGS_EM1 4 #define SCE_TXT2TAGS_EM2 5 #define SCE_TXT2TAGS_HEADER1 6 #define SCE_TXT2TAGS_HEADER2 7 #define SCE_TXT2TAGS_HEADER3 8 #define SCE_TXT2TAGS_HEADER4 9 #define SCE_TXT2TAGS_HEADER5 10 #define SCE_TXT2TAGS_HEADER6 11 #define SCE_TXT2TAGS_PRECHAR 12 #define SCE_TXT2TAGS_ULIST_ITEM 13 #define SCE_TXT2TAGS_OLIST_ITEM 14 #define SCE_TXT2TAGS_BLOCKQUOTE 15 #define SCE_TXT2TAGS_STRIKEOUT 16 #define SCE_TXT2TAGS_HRULE 17 #define SCE_TXT2TAGS_LINK 18 #define SCE_TXT2TAGS_CODE 19 #define SCE_TXT2TAGS_CODE2 20 #define SCE_TXT2TAGS_CODEBK 21 #define SCE_TXT2TAGS_COMMENT 22 #define SCE_TXT2TAGS_OPTION 23 #define SCE_TXT2TAGS_PREPROC 24 #define SCE_TXT2TAGS_POSTPROC 25 #define SCE_A68K_DEFAULT 0 #define SCE_A68K_COMMENT 1 #define SCE_A68K_NUMBER_DEC 2 #define SCE_A68K_NUMBER_BIN 3 #define SCE_A68K_NUMBER_HEX 4 #define SCE_A68K_STRING1 5 #define SCE_A68K_OPERATOR 6 #define SCE_A68K_CPUINSTRUCTION 7 #define SCE_A68K_EXTINSTRUCTION 8 #define SCE_A68K_REGISTER 9 #define SCE_A68K_DIRECTIVE 10 #define SCE_A68K_MACRO_ARG 11 #define SCE_A68K_LABEL 12 #define SCE_A68K_STRING2 13 #define SCE_A68K_IDENTIFIER 14 #define SCE_A68K_MACRO_DECLARATION 15 #define SCE_A68K_COMMENT_WORD 16 #define SCE_A68K_COMMENT_SPECIAL 17 #define SCE_A68K_COMMENT_DOXYGEN 18 #define SCE_MODULA_DEFAULT 0 #define SCE_MODULA_COMMENT 1 #define SCE_MODULA_DOXYCOMM 2 #define SCE_MODULA_DOXYKEY 3 #define SCE_MODULA_KEYWORD 4 #define SCE_MODULA_RESERVED 5 #define SCE_MODULA_NUMBER 6 #define SCE_MODULA_BASENUM 7 #define SCE_MODULA_FLOAT 8 #define SCE_MODULA_STRING 9 #define SCE_MODULA_STRSPEC 10 #define SCE_MODULA_CHAR 11 #define SCE_MODULA_CHARSPEC 12 #define SCE_MODULA_PROC 13 #define SCE_MODULA_PRAGMA 14 #define SCE_MODULA_PRGKEY 15 #define SCE_MODULA_OPERATOR 16 #define SCE_MODULA_BADSTR 17 #define SCE_COFFEESCRIPT_DEFAULT 0 #define SCE_COFFEESCRIPT_COMMENT 1 #define SCE_COFFEESCRIPT_COMMENTLINE 2 #define SCE_COFFEESCRIPT_COMMENTDOC 3 #define SCE_COFFEESCRIPT_NUMBER 4 #define SCE_COFFEESCRIPT_WORD 5 #define SCE_COFFEESCRIPT_STRING 6 #define SCE_COFFEESCRIPT_CHARACTER 7 #define SCE_COFFEESCRIPT_UUID 8 #define SCE_COFFEESCRIPT_PREPROCESSOR 9 #define SCE_COFFEESCRIPT_OPERATOR 10 #define SCE_COFFEESCRIPT_IDENTIFIER 11 #define SCE_COFFEESCRIPT_STRINGEOL 12 #define SCE_COFFEESCRIPT_VERBATIM 13 #define SCE_COFFEESCRIPT_REGEX 14 #define SCE_COFFEESCRIPT_COMMENTLINEDOC 15 #define SCE_COFFEESCRIPT_WORD2 16 #define SCE_COFFEESCRIPT_COMMENTDOCKEYWORD 17 #define SCE_COFFEESCRIPT_COMMENTDOCKEYWORDERROR 18 #define SCE_COFFEESCRIPT_GLOBALCLASS 19 #define SCE_COFFEESCRIPT_STRINGRAW 20 #define SCE_COFFEESCRIPT_TRIPLEVERBATIM 21 #define SCE_COFFEESCRIPT_COMMENTBLOCK 22 #define SCE_COFFEESCRIPT_VERBOSE_REGEX 23 #define SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT 24 #define SCE_COFFEESCRIPT_INSTANCEPROPERTY 25 #define SCE_AVS_DEFAULT 0 #define SCE_AVS_COMMENTBLOCK 1 #define SCE_AVS_COMMENTBLOCKN 2 #define SCE_AVS_COMMENTLINE 3 #define SCE_AVS_NUMBER 4 #define SCE_AVS_OPERATOR 5 #define SCE_AVS_IDENTIFIER 6 #define SCE_AVS_STRING 7 #define SCE_AVS_TRIPLESTRING 8 #define SCE_AVS_KEYWORD 9 #define SCE_AVS_FILTER 10 #define SCE_AVS_PLUGIN 11 #define SCE_AVS_FUNCTION 12 #define SCE_AVS_CLIPPROP 13 #define SCE_AVS_USERDFN 14 #define SCE_ECL_DEFAULT 0 #define SCE_ECL_COMMENT 1 #define SCE_ECL_COMMENTLINE 2 #define SCE_ECL_NUMBER 3 #define SCE_ECL_STRING 4 #define SCE_ECL_WORD0 5 #define SCE_ECL_OPERATOR 6 #define SCE_ECL_CHARACTER 7 #define SCE_ECL_UUID 8 #define SCE_ECL_PREPROCESSOR 9 #define SCE_ECL_UNKNOWN 10 #define SCE_ECL_IDENTIFIER 11 #define SCE_ECL_STRINGEOL 12 #define SCE_ECL_VERBATIM 13 #define SCE_ECL_REGEX 14 #define SCE_ECL_COMMENTLINEDOC 15 #define SCE_ECL_WORD1 16 #define SCE_ECL_COMMENTDOCKEYWORD 17 #define SCE_ECL_COMMENTDOCKEYWORDERROR 18 #define SCE_ECL_WORD2 19 #define SCE_ECL_WORD3 20 #define SCE_ECL_WORD4 21 #define SCE_ECL_WORD5 22 #define SCE_ECL_COMMENTDOC 23 #define SCE_ECL_ADDED 24 #define SCE_ECL_DELETED 25 #define SCE_ECL_CHANGED 26 #define SCE_ECL_MOVED 27 #define SCE_OSCRIPT_DEFAULT 0 #define SCE_OSCRIPT_LINE_COMMENT 1 #define SCE_OSCRIPT_BLOCK_COMMENT 2 #define SCE_OSCRIPT_DOC_COMMENT 3 #define SCE_OSCRIPT_PREPROCESSOR 4 #define SCE_OSCRIPT_NUMBER 5 #define SCE_OSCRIPT_SINGLEQUOTE_STRING 6 #define SCE_OSCRIPT_DOUBLEQUOTE_STRING 7 #define SCE_OSCRIPT_CONSTANT 8 #define SCE_OSCRIPT_IDENTIFIER 9 #define SCE_OSCRIPT_GLOBAL 10 #define SCE_OSCRIPT_KEYWORD 11 #define SCE_OSCRIPT_OPERATOR 12 #define SCE_OSCRIPT_LABEL 13 #define SCE_OSCRIPT_TYPE 14 #define SCE_OSCRIPT_FUNCTION 15 #define SCE_OSCRIPT_OBJECT 16 #define SCE_OSCRIPT_PROPERTY 17 #define SCE_OSCRIPT_METHOD 18 #define SCE_VISUALPROLOG_DEFAULT 0 #define SCE_VISUALPROLOG_KEY_MAJOR 1 #define SCE_VISUALPROLOG_KEY_MINOR 2 #define SCE_VISUALPROLOG_KEY_DIRECTIVE 3 #define SCE_VISUALPROLOG_COMMENT_BLOCK 4 #define SCE_VISUALPROLOG_COMMENT_LINE 5 #define SCE_VISUALPROLOG_COMMENT_KEY 6 #define SCE_VISUALPROLOG_COMMENT_KEY_ERROR 7 #define SCE_VISUALPROLOG_IDENTIFIER 8 #define SCE_VISUALPROLOG_VARIABLE 9 #define SCE_VISUALPROLOG_ANONYMOUS 10 #define SCE_VISUALPROLOG_NUMBER 11 #define SCE_VISUALPROLOG_OPERATOR 12 #define SCE_VISUALPROLOG_CHARACTER 13 #define SCE_VISUALPROLOG_CHARACTER_TOO_MANY 14 #define SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR 15 #define SCE_VISUALPROLOG_STRING 16 #define SCE_VISUALPROLOG_STRING_ESCAPE 17 #define SCE_VISUALPROLOG_STRING_ESCAPE_ERROR 18 #define SCE_VISUALPROLOG_STRING_EOL_OPEN 19 #define SCE_VISUALPROLOG_STRING_VERBATIM 20 #define SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL 21 #define SCE_VISUALPROLOG_STRING_VERBATIM_EOL 22 #define SCE_STTXT_DEFAULT 0 #define SCE_STTXT_COMMENT 1 #define SCE_STTXT_COMMENTLINE 2 #define SCE_STTXT_KEYWORD 3 #define SCE_STTXT_TYPE 4 #define SCE_STTXT_FUNCTION 5 #define SCE_STTXT_FB 6 #define SCE_STTXT_NUMBER 7 #define SCE_STTXT_HEXNUMBER 8 #define SCE_STTXT_PRAGMA 9 #define SCE_STTXT_OPERATOR 10 #define SCE_STTXT_CHARACTER 11 #define SCE_STTXT_STRING1 12 #define SCE_STTXT_STRING2 13 #define SCE_STTXT_STRINGEOL 14 #define SCE_STTXT_IDENTIFIER 15 #define SCE_STTXT_DATETIME 16 #define SCE_STTXT_VARS 17 #define SCE_STTXT_PRAGMAS 18 #define SCE_KVIRC_DEFAULT 0 #define SCE_KVIRC_COMMENT 1 #define SCE_KVIRC_COMMENTBLOCK 2 #define SCE_KVIRC_STRING 3 #define SCE_KVIRC_WORD 4 #define SCE_KVIRC_KEYWORD 5 #define SCE_KVIRC_FUNCTION_KEYWORD 6 #define SCE_KVIRC_FUNCTION 7 #define SCE_KVIRC_VARIABLE 8 #define SCE_KVIRC_NUMBER 9 #define SCE_KVIRC_OPERATOR 10 #define SCE_KVIRC_STRING_FUNCTION 11 #define SCE_KVIRC_STRING_VARIABLE 12 #define SCE_RUST_DEFAULT 0 #define SCE_RUST_COMMENTBLOCK 1 #define SCE_RUST_COMMENTLINE 2 #define SCE_RUST_COMMENTBLOCKDOC 3 #define SCE_RUST_COMMENTLINEDOC 4 #define SCE_RUST_NUMBER 5 #define SCE_RUST_WORD 6 #define SCE_RUST_WORD2 7 #define SCE_RUST_WORD3 8 #define SCE_RUST_WORD4 9 #define SCE_RUST_WORD5 10 #define SCE_RUST_WORD6 11 #define SCE_RUST_WORD7 12 #define SCE_RUST_STRING 13 #define SCE_RUST_STRINGR 14 #define SCE_RUST_CHARACTER 15 #define SCE_RUST_OPERATOR 16 #define SCE_RUST_IDENTIFIER 17 #define SCE_RUST_LIFETIME 18 #define SCE_RUST_MACRO 19 #define SCE_RUST_LEXERROR 20 #define SCE_RUST_BYTESTRING 21 #define SCE_RUST_BYTESTRINGR 22 #define SCE_RUST_BYTECHARACTER 23 #define SCE_DMAP_DEFAULT 0 #define SCE_DMAP_COMMENT 1 #define SCE_DMAP_NUMBER 2 #define SCE_DMAP_STRING1 3 #define SCE_DMAP_STRING2 4 #define SCE_DMAP_STRINGEOL 5 #define SCE_DMAP_OPERATOR 6 #define SCE_DMAP_IDENTIFIER 7 #define SCE_DMAP_WORD 8 #define SCE_DMAP_WORD2 9 #define SCE_DMAP_WORD3 10 #define SCE_DMIS_DEFAULT 0 #define SCE_DMIS_COMMENT 1 #define SCE_DMIS_STRING 2 #define SCE_DMIS_NUMBER 3 #define SCE_DMIS_KEYWORD 4 #define SCE_DMIS_MAJORWORD 5 #define SCE_DMIS_MINORWORD 6 #define SCE_DMIS_UNSUPPORTED_MAJOR 7 #define SCE_DMIS_UNSUPPORTED_MINOR 8 #define SCE_DMIS_LABEL 9 #define SCE_REG_DEFAULT 0 #define SCE_REG_COMMENT 1 #define SCE_REG_VALUENAME 2 #define SCE_REG_STRING 3 #define SCE_REG_HEXDIGIT 4 #define SCE_REG_VALUETYPE 5 #define SCE_REG_ADDEDKEY 6 #define SCE_REG_DELETEDKEY 7 #define SCE_REG_ESCAPED 8 #define SCE_REG_KEYPATH_GUID 9 #define SCE_REG_STRING_GUID 10 #define SCE_REG_PARAMETER 11 #define SCE_REG_OPERATOR 12 #define SCE_BIBTEX_DEFAULT 0 #define SCE_BIBTEX_ENTRY 1 #define SCE_BIBTEX_UNKNOWN_ENTRY 2 #define SCE_BIBTEX_KEY 3 #define SCE_BIBTEX_PARAMETER 4 #define SCE_BIBTEX_VALUE 5 #define SCE_BIBTEX_COMMENT 6 #define SCE_HEX_DEFAULT 0 #define SCE_HEX_RECSTART 1 #define SCE_HEX_RECTYPE 2 #define SCE_HEX_RECTYPE_UNKNOWN 3 #define SCE_HEX_BYTECOUNT 4 #define SCE_HEX_BYTECOUNT_WRONG 5 #define SCE_HEX_NOADDRESS 6 #define SCE_HEX_DATAADDRESS 7 #define SCE_HEX_RECCOUNT 8 #define SCE_HEX_STARTADDRESS 9 #define SCE_HEX_ADDRESSFIELD_UNKNOWN 10 #define SCE_HEX_EXTENDEDADDRESS 11 #define SCE_HEX_DATA_ODD 12 #define SCE_HEX_DATA_EVEN 13 #define SCE_HEX_DATA_UNKNOWN 14 #define SCE_HEX_DATA_EMPTY 15 #define SCE_HEX_CHECKSUM 16 #define SCE_HEX_CHECKSUM_WRONG 17 #define SCE_HEX_GARBAGE 18 #define SCE_JSON_DEFAULT 0 #define SCE_JSON_NUMBER 1 #define SCE_JSON_STRING 2 #define SCE_JSON_STRINGEOL 3 #define SCE_JSON_PROPERTYNAME 4 #define SCE_JSON_ESCAPESEQUENCE 5 #define SCE_JSON_LINECOMMENT 6 #define SCE_JSON_BLOCKCOMMENT 7 #define SCE_JSON_OPERATOR 8 #define SCE_JSON_URI 9 #define SCE_JSON_COMPACTIRI 10 #define SCE_JSON_KEYWORD 11 #define SCE_JSON_LDKEYWORD 12 #define SCE_JSON_ERROR 13 #define SCE_EDI_DEFAULT 0 #define SCE_EDI_SEGMENTSTART 1 #define SCE_EDI_SEGMENTEND 2 #define SCE_EDI_SEP_ELEMENT 3 #define SCE_EDI_SEP_COMPOSITE 4 #define SCE_EDI_SEP_RELEASE 5 #define SCE_EDI_UNA 6 #define SCE_EDI_UNH 7 #define SCE_EDI_BADSEGMENT 8 #define SCE_STATA_DEFAULT 0 #define SCE_STATA_COMMENT 1 #define SCE_STATA_COMMENTLINE 2 #define SCE_STATA_COMMENTBLOCK 3 #define SCE_STATA_NUMBER 4 #define SCE_STATA_OPERATOR 5 #define SCE_STATA_IDENTIFIER 6 #define SCE_STATA_STRING 7 #define SCE_STATA_TYPE 8 #define SCE_STATA_WORD 9 #define SCE_STATA_GLOBAL_MACRO 10 #define SCE_STATA_MACRO 11 #define SCE_SAS_DEFAULT 0 #define SCE_SAS_COMMENT 1 #define SCE_SAS_COMMENTLINE 2 #define SCE_SAS_COMMENTBLOCK 3 #define SCE_SAS_NUMBER 4 #define SCE_SAS_OPERATOR 5 #define SCE_SAS_IDENTIFIER 6 #define SCE_SAS_STRING 7 #define SCE_SAS_TYPE 8 #define SCE_SAS_WORD 9 #define SCE_SAS_GLOBAL_MACRO 10 #define SCE_SAS_MACRO 11 #define SCE_SAS_MACRO_KEYWORD 12 #define SCE_SAS_BLOCK_KEYWORD 13 #define SCE_SAS_MACRO_FUNCTION 14 #define SCE_SAS_STATEMENT 15 #define SCE_NIM_DEFAULT 0 #define SCE_NIM_COMMENT 1 #define SCE_NIM_COMMENTDOC 2 #define SCE_NIM_COMMENTLINE 3 #define SCE_NIM_COMMENTLINEDOC 4 #define SCE_NIM_NUMBER 5 #define SCE_NIM_STRING 6 #define SCE_NIM_CHARACTER 7 #define SCE_NIM_WORD 8 #define SCE_NIM_TRIPLE 9 #define SCE_NIM_TRIPLEDOUBLE 10 #define SCE_NIM_BACKTICKS 11 #define SCE_NIM_FUNCNAME 12 #define SCE_NIM_STRINGEOL 13 #define SCE_NIM_NUMERROR 14 #define SCE_NIM_OPERATOR 15 #define SCE_NIM_IDENTIFIER 16 #define SCE_CIL_DEFAULT 0 #define SCE_CIL_COMMENT 1 #define SCE_CIL_COMMENTLINE 2 #define SCE_CIL_WORD 3 #define SCE_CIL_WORD2 4 #define SCE_CIL_WORD3 5 #define SCE_CIL_STRING 6 #define SCE_CIL_LABEL 7 #define SCE_CIL_OPERATOR 8 #define SCE_CIL_IDENTIFIER 9 #define SCE_CIL_STRINGEOL 10 #define SCE_X12_DEFAULT 0 #define SCE_X12_BAD 1 #define SCE_X12_ENVELOPE 2 #define SCE_X12_FUNCTIONGROUP 3 #define SCE_X12_TRANSACTIONSET 4 #define SCE_X12_SEGMENTHEADER 5 #define SCE_X12_SEGMENTEND 6 #define SCE_X12_SEP_ELEMENT 7 #define SCE_X12_SEP_SUBELEMENT 8 #define SCE_DF_DEFAULT 0 #define SCE_DF_IDENTIFIER 1 #define SCE_DF_METATAG 2 #define SCE_DF_IMAGE 3 #define SCE_DF_COMMENTLINE 4 #define SCE_DF_PREPROCESSOR 5 #define SCE_DF_PREPROCESSOR2 6 #define SCE_DF_NUMBER 7 #define SCE_DF_HEXNUMBER 8 #define SCE_DF_WORD 9 #define SCE_DF_STRING 10 #define SCE_DF_STRINGEOL 11 #define SCE_DF_SCOPEWORD 12 #define SCE_DF_OPERATOR 13 #define SCE_DF_ICODE 14 #define SCE_HOLLYWOOD_DEFAULT 0 #define SCE_HOLLYWOOD_COMMENT 1 #define SCE_HOLLYWOOD_COMMENTBLOCK 2 #define SCE_HOLLYWOOD_NUMBER 3 #define SCE_HOLLYWOOD_KEYWORD 4 #define SCE_HOLLYWOOD_STDAPI 5 #define SCE_HOLLYWOOD_PLUGINAPI 6 #define SCE_HOLLYWOOD_PLUGINMETHOD 7 #define SCE_HOLLYWOOD_STRING 8 #define SCE_HOLLYWOOD_STRINGBLOCK 9 #define SCE_HOLLYWOOD_PREPROCESSOR 10 #define SCE_HOLLYWOOD_OPERATOR 11 #define SCE_HOLLYWOOD_IDENTIFIER 12 #define SCE_HOLLYWOOD_CONSTANT 13 #define SCE_HOLLYWOOD_HEXNUMBER 14 #define SCE_RAKU_DEFAULT 0 #define SCE_RAKU_ERROR 1 #define SCE_RAKU_COMMENTLINE 2 #define SCE_RAKU_COMMENTEMBED 3 #define SCE_RAKU_POD 4 #define SCE_RAKU_CHARACTER 5 #define SCE_RAKU_HEREDOC_Q 6 #define SCE_RAKU_HEREDOC_QQ 7 #define SCE_RAKU_STRING 8 #define SCE_RAKU_STRING_Q 9 #define SCE_RAKU_STRING_QQ 10 #define SCE_RAKU_STRING_Q_LANG 11 #define SCE_RAKU_STRING_VAR 12 #define SCE_RAKU_REGEX 13 #define SCE_RAKU_REGEX_VAR 14 #define SCE_RAKU_ADVERB 15 #define SCE_RAKU_NUMBER 16 #define SCE_RAKU_PREPROCESSOR 17 #define SCE_RAKU_OPERATOR 18 #define SCE_RAKU_WORD 19 #define SCE_RAKU_FUNCTION 20 #define SCE_RAKU_IDENTIFIER 21 #define SCE_RAKU_TYPEDEF 22 #define SCE_RAKU_MU 23 #define SCE_RAKU_POSITIONAL 24 #define SCE_RAKU_ASSOCIATIVE 25 #define SCE_RAKU_CALLABLE 26 #define SCE_RAKU_GRAMMAR 27 #define SCE_RAKU_CLASS 28 /* --Autogenerated -- end of section automatically generated from Scintilla.iface */ #endif ================================================ FILE: src/qscint/scintilla/include/Sci_Position.h ================================================ // Scintilla source code edit control /** @file Sci_Position.h ** Define the Sci_Position type used in Scintilla's external interfaces. ** These need to be available to clients written in C so are not in a C++ namespace. **/ // Copyright 2015 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #ifndef SCI_POSITION_H #define SCI_POSITION_H #include // Basic signed type used throughout interface typedef ptrdiff_t Sci_Position; // Unsigned variant used for ILexer::Lex and ILexer::Fold typedef size_t Sci_PositionU; // For Sci_CharacterRange which is defined as long to be compatible with Win32 CHARRANGE typedef long Sci_PositionCR; #ifdef _WIN32 #define SCI_METHOD __stdcall #else #define SCI_METHOD #endif #endif ================================================ FILE: src/qscint/scintilla/include/Scintilla.h ================================================ /* Scintilla source code edit control */ /** @file Scintilla.h ** Interface to the edit control. **/ /* Copyright 1998-2003 by Neil Hodgson * The License.txt file describes the conditions under which this software may be distributed. */ /* Most of this file is automatically generated from the Scintilla.iface interface definition * file which contains any comments about the definitions. HFacer.py does the generation. */ #ifndef SCINTILLA_H #define SCINTILLA_H #ifdef __cplusplus extern "C" { #endif #if defined(_WIN32) /* Return false on failure: */ int Scintilla_RegisterClasses(void *hInstance); int Scintilla_ReleaseResources(void); #endif int Scintilla_LinkLexers(void); #ifdef __cplusplus } #endif // Include header that defines basic numeric types. #include // Define uptr_t, an unsigned integer type large enough to hold a pointer. typedef uintptr_t uptr_t; // Define sptr_t, a signed integer large enough to hold a pointer. typedef intptr_t sptr_t; #include "Sci_Position.h" typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam); /* ++Autogenerated -- start of section automatically generated from Scintilla.iface */ #define INVALID_POSITION -1 #define SCI_START 2000 #define SCI_OPTIONAL_START 3000 #define SCI_LEXER_START 4000 #define SCI_ADDTEXT 2001 #define SCI_ADDSTYLEDTEXT 2002 #define SCI_INSERTTEXT 2003 #define SCI_CHANGEINSERTION 2672 #define SCI_CLEARALL 2004 #define SCI_DELETERANGE 2645 #define SCI_CLEARDOCUMENTSTYLE 2005 #define SCI_GETLENGTH 2006 #define SCI_GETCHARAT 2007 #define SCI_GETCURRENTPOS 2008 #define SCI_GETANCHOR 2009 #define SCI_GETSTYLEAT 2010 #define SCI_REDO 2011 #define SCI_SETUNDOCOLLECTION 2012 #define SCI_SELECTALL 2013 #define SCI_SETSAVEPOINT 2014 #define SCI_GETSTYLEDTEXT 2015 #define SCI_CANREDO 2016 #define SCI_MARKERLINEFROMHANDLE 2017 #define SCI_MARKERDELETEHANDLE 2018 #define SCI_GETUNDOCOLLECTION 2019 #define SCWS_INVISIBLE 0 #define SCWS_VISIBLEALWAYS 1 #define SCWS_VISIBLEAFTERINDENT 2 #define SCWS_VISIBLEONLYININDENT 3 #define SCI_GETVIEWWS 2020 #define SCI_SETVIEWWS 2021 #define SCTD_LONGARROW 0 #define SCTD_STRIKEOUT 1 #define SCI_GETTABDRAWMODE 2698 #define SCI_SETTABDRAWMODE 2699 #define SCI_POSITIONFROMPOINT 2022 #define SCI_POSITIONFROMPOINTCLOSE 2023 #define SCI_GOTOLINE 2024 #define SCI_GOTOPOS 2025 #define SCI_SETANCHOR 2026 #define SCI_GETCURLINE 2027 #define SCI_GETENDSTYLED 2028 #define SC_EOL_CRLF 0 #define SC_EOL_CR 1 #define SC_EOL_LF 2 #define SCI_CONVERTEOLS 2029 #define SCI_GETEOLMODE 2030 #define SCI_SETEOLMODE 2031 #define SCI_STARTSTYLING 2032 #define SCI_SETSTYLING 2033 #define SCI_GETBUFFEREDDRAW 2034 #define SCI_SETBUFFEREDDRAW 2035 #define SCI_SETTABWIDTH 2036 #define SCI_GETTABWIDTH 2121 #define SCI_CLEARTABSTOPS 2675 #define SCI_ADDTABSTOP 2676 #define SCI_GETNEXTTABSTOP 2677 #define SC_CP_UTF8 65001 #define SCI_SETCODEPAGE 2037 #define SC_IME_WINDOWED 0 #define SC_IME_INLINE 1 #define SCI_GETIMEINTERACTION 2678 #define SCI_SETIMEINTERACTION 2679 #define MARKER_MAX 31 #define SC_MARK_CIRCLE 0 #define SC_MARK_ROUNDRECT 1 #define SC_MARK_ARROW 2 #define SC_MARK_SMALLRECT 3 #define SC_MARK_SHORTARROW 4 #define SC_MARK_EMPTY 5 #define SC_MARK_ARROWDOWN 6 #define SC_MARK_MINUS 7 #define SC_MARK_PLUS 8 #define SC_MARK_VLINE 9 #define SC_MARK_LCORNER 10 #define SC_MARK_TCORNER 11 #define SC_MARK_BOXPLUS 12 #define SC_MARK_BOXPLUSCONNECTED 13 #define SC_MARK_BOXMINUS 14 #define SC_MARK_BOXMINUSCONNECTED 15 #define SC_MARK_LCORNERCURVE 16 #define SC_MARK_TCORNERCURVE 17 #define SC_MARK_CIRCLEPLUS 18 #define SC_MARK_CIRCLEPLUSCONNECTED 19 #define SC_MARK_CIRCLEMINUS 20 #define SC_MARK_CIRCLEMINUSCONNECTED 21 #define SC_MARK_BACKGROUND 22 #define SC_MARK_DOTDOTDOT 23 #define SC_MARK_ARROWS 24 #define SC_MARK_PIXMAP 25 #define SC_MARK_FULLRECT 26 #define SC_MARK_LEFTRECT 27 #define SC_MARK_AVAILABLE 28 #define SC_MARK_UNDERLINE 29 #define SC_MARK_RGBAIMAGE 30 #define SC_MARK_BOOKMARK 31 #define SC_MARK_CHARACTER 10000 #define SC_MARKNUM_FOLDEREND 25 #define SC_MARKNUM_FOLDEROPENMID 26 #define SC_MARKNUM_FOLDERMIDTAIL 27 #define SC_MARKNUM_FOLDERTAIL 28 #define SC_MARKNUM_FOLDERSUB 29 #define SC_MARKNUM_FOLDER 30 #define SC_MARKNUM_FOLDEROPEN 31 #define SC_MASK_FOLDERS 0xFE000000 #define SCI_MARKERDEFINE 2040 #define SCI_MARKERSETFORE 2041 #define SCI_MARKERSETBACK 2042 #define SCI_MARKERSETBACKSELECTED 2292 #define SCI_MARKERENABLEHIGHLIGHT 2293 #define SCI_MARKERADD 2043 #define SCI_MARKERDELETE 2044 #define SCI_LINE_MARKERDELETE_ALL 6000 #define SCI_MARKERDELETEALL 2045 #define SCI_MARKERGET 2046 #define SCI_MARKERNEXT 2047 #define SCI_MARKERPREVIOUS 2048 #define SCI_MARKERDEFINEPIXMAP 2049 #define SCI_MARKERDEFINEPIXMAP_USER 2999 #define SCI_MARKERADDSET 2466 #define SCI_MARKERSETALPHA 2476 #define SC_MAX_MARGIN 4 #define SC_MARGIN_SYMBOL 0 #define SC_MARGIN_NUMBER 1 #define SC_MARGIN_BACK 2 #define SC_MARGIN_FORE 3 #define SC_MARGIN_TEXT 4 #define SC_MARGIN_RTEXT 5 #define SC_MARGIN_COLOUR 6 #define SCI_SETMARGINTYPEN 2240 #define SCI_GETMARGINTYPEN 2241 #define SCI_SETMARGINWIDTHN 2242 #define SCI_GETMARGINWIDTHN 2243 #define SCI_SETMARGINMASKN 2244 #define SCI_GETMARGINMASKN 2245 #define SCI_SETMARGINSENSITIVEN 2246 #define SCI_GETMARGINSENSITIVEN 2247 #define SCI_SETMARGINCURSORN 2248 #define SCI_GETMARGINCURSORN 2249 #define SCI_SETMARGINBACKN 2250 #define SCI_GETMARGINBACKN 2251 #define SCI_SETMARGINS 2252 #define SCI_GETMARGINS 2253 #define STYLE_DEFAULT 32 #define STYLE_LINENUMBER 33 #define STYLE_BRACELIGHT 34 #define STYLE_BRACEBAD 35 #define STYLE_CONTROLCHAR 36 #define STYLE_INDENTGUIDE 37 #define STYLE_CALLTIP 38 #define STYLE_FOLDDISPLAYTEXT 39 #define STYLE_LASTPREDEFINED 39 #define STYLE_MAX 255 #define SC_CHARSET_ANSI 0 #define SC_CHARSET_DEFAULT 1 #define SC_CHARSET_BALTIC 186 #define SC_CHARSET_CHINESEBIG5 136 #define SC_CHARSET_EASTEUROPE 238 #define SC_CHARSET_GB2312 134 #define SC_CHARSET_GREEK 161 #define SC_CHARSET_HANGUL 129 #define SC_CHARSET_MAC 77 #define SC_CHARSET_OEM 255 #define SC_CHARSET_RUSSIAN 204 #define SC_CHARSET_OEM866 866 #define SC_CHARSET_CYRILLIC 1251 #define SC_CHARSET_SHIFTJIS 128 #define SC_CHARSET_SYMBOL 2 #define SC_CHARSET_TURKISH 162 #define SC_CHARSET_JOHAB 130 #define SC_CHARSET_HEBREW 177 #define SC_CHARSET_ARABIC 178 #define SC_CHARSET_VIETNAMESE 163 #define SC_CHARSET_THAI 222 #define SC_CHARSET_8859_15 1000 #define SCI_STYLECLEARALL 2050 #define SCI_STYLESETFORE 2051 #define SCI_STYLESETBACK 2052 #define SCI_STYLESETBOLD 2053 #define SCI_STYLESETITALIC 2054 #define SCI_STYLESETSIZE 2055 #define SCI_STYLESETFONT 2056 #define SCI_STYLESETEOLFILLED 2057 #define SCI_STYLERESETDEFAULT 2058 #define SCI_STYLESETUNDERLINE 2059 #define SC_CASE_MIXED 0 #define SC_CASE_UPPER 1 #define SC_CASE_LOWER 2 #define SC_CASE_CAMEL 3 #define SCI_STYLEGETFORE 2481 #define SCI_STYLEGETBACK 2482 #define SCI_STYLEGETBOLD 2483 #define SCI_STYLEGETITALIC 2484 #define SCI_STYLEGETSIZE 2485 #define SCI_STYLEGETFONT 2486 #define SCI_STYLEGETEOLFILLED 2487 #define SCI_STYLEGETUNDERLINE 2488 #define SCI_STYLEGETCASE 2489 #define SCI_STYLEGETCHARACTERSET 2490 #define SCI_STYLEGETVISIBLE 2491 #define SCI_STYLEGETCHANGEABLE 2492 #define SCI_STYLEGETHOTSPOT 2493 #define SCI_STYLESETCASE 2060 #define SC_FONT_SIZE_MULTIPLIER 100 #define SCI_STYLESETSIZEFRACTIONAL 2061 #define SCI_STYLEGETSIZEFRACTIONAL 2062 #define SC_WEIGHT_NORMAL 400 #define SC_WEIGHT_SEMIBOLD 600 #define SC_WEIGHT_BOLD 700 #define SCI_STYLESETWEIGHT 2063 #define SCI_STYLEGETWEIGHT 2064 #define SCI_STYLESETCHARACTERSET 2066 #define SCI_STYLESETHOTSPOT 2409 #define SCI_SETSELFORE 2067 #define SCI_SETSELBACK 2068 #define SCI_GETSELALPHA 2477 #define SCI_SETSELALPHA 2478 #define SCI_GETSELEOLFILLED 2479 #define SCI_SETSELEOLFILLED 2480 #define SCI_SETCARETFORE 2069 #define SCI_ASSIGNCMDKEY 2070 #define SCI_CLEARCMDKEY 2071 #define SCI_CLEARALLCMDKEYS 2072 #define SCI_SETSTYLINGEX 2073 #define SCI_STYLESETVISIBLE 2074 #define SCI_GETCARETPERIOD 2075 #define SCI_SETCARETPERIOD 2076 #define SCI_SETWORDCHARS 2077 #define SCI_GETWORDCHARS 2646 #define SCI_BEGINUNDOACTION 2078 #define SCI_ENDUNDOACTION 2079 #define INDIC_PLAIN 0 #define INDIC_SQUIGGLE 1 #define INDIC_TT 2 #define INDIC_DIAGONAL 3 #define INDIC_STRIKE 4 #define INDIC_HIDDEN 5 #define INDIC_BOX 6 #define INDIC_ROUNDBOX 7 #define INDIC_STRAIGHTBOX 8 #define INDIC_DASH 9 #define INDIC_DOTS 10 #define INDIC_SQUIGGLELOW 11 #define INDIC_DOTBOX 12 #define INDIC_SQUIGGLEPIXMAP 13 #define INDIC_COMPOSITIONTHICK 14 #define INDIC_COMPOSITIONTHIN 15 #define INDIC_FULLBOX 16 #define INDIC_TEXTFORE 17 #define INDIC_POINT 18 #define INDIC_POINTCHARACTER 19 #define INDIC_GRADIENT 20 #define INDIC_GRADIENTCENTRE 21 #define INDIC_IME 32 #define INDIC_IME_MAX 35 #define INDIC_MAX 35 #define INDIC_CONTAINER 8 #define INDIC0_MASK 0x20 #define INDIC1_MASK 0x40 #define INDIC2_MASK 0x80 #define INDICS_MASK 0xE0 #define SCI_INDICSETSTYLE 2080 #define SCI_INDICGETSTYLE 2081 #define SCI_INDICSETFORE 2082 #define SCI_INDICGETFORE 2083 #define SCI_INDICSETUNDER 2510 #define SCI_INDICGETUNDER 2511 #define SCI_INDICSETHOVERSTYLE 2680 #define SCI_INDICGETHOVERSTYLE 2681 #define SCI_INDICSETHOVERFORE 2682 #define SCI_INDICGETHOVERFORE 2683 #define SC_INDICVALUEBIT 0x1000000 #define SC_INDICVALUEMASK 0xFFFFFF #define SC_INDICFLAG_VALUEFORE 1 #define SCI_INDICSETFLAGS 2684 #define SCI_INDICGETFLAGS 2685 #define SCI_SETWHITESPACEFORE 2084 #define SCI_SETWHITESPACEBACK 2085 #define SCI_SETWHITESPACESIZE 2086 #define SCI_GETWHITESPACESIZE 2087 #define SCI_SETLINESTATE 2092 #define SCI_GETLINESTATE 2093 #define SCI_GETMAXLINESTATE 2094 #define SCI_GETCARETLINEVISIBLE 2095 #define SCI_SETCARETLINEVISIBLE 2096 #define SCI_GETCARETLINEBACK 2097 #define SCI_SETCARETLINEBACK 2098 #define SCI_GETCARETLINEFRAME 2704 #define SCI_SETCARETLINEFRAME 2705 #define SCI_STYLESETCHANGEABLE 2099 #define SCI_AUTOCSHOW 2100 #define SCI_AUTOCCANCEL 2101 #define SCI_AUTOCACTIVE 2102 #define SCI_AUTOCPOSSTART 2103 #define SCI_AUTOCCOMPLETE 2104 #define SCI_AUTOCSTOPS 2105 #define SCI_AUTOCSETSEPARATOR 2106 #define SCI_AUTOCGETSEPARATOR 2107 #define SCI_AUTOCSELECT 2108 #define SCI_AUTOCSETCANCELATSTART 2110 #define SCI_AUTOCGETCANCELATSTART 2111 #define SCI_AUTOCSETFILLUPS 2112 #define SCI_AUTOCSETCHOOSESINGLE 2113 #define SCI_AUTOCGETCHOOSESINGLE 2114 #define SCI_AUTOCSETIGNORECASE 2115 #define SCI_AUTOCGETIGNORECASE 2116 #define SCI_USERLISTSHOW 2117 #define SCI_AUTOCSETAUTOHIDE 2118 #define SCI_AUTOCGETAUTOHIDE 2119 #define SCI_AUTOCSETDROPRESTOFWORD 2270 #define SCI_AUTOCGETDROPRESTOFWORD 2271 #define SCI_REGISTERIMAGE 2405 #define SCI_CLEARREGISTEREDIMAGES 2408 #define SCI_AUTOCGETTYPESEPARATOR 2285 #define SCI_AUTOCSETTYPESEPARATOR 2286 #define SCI_AUTOCSETMAXWIDTH 2208 #define SCI_AUTOCGETMAXWIDTH 2209 #define SCI_AUTOCSETMAXHEIGHT 2210 #define SCI_AUTOCGETMAXHEIGHT 2211 #define SCI_SETINDENT 2122 #define SCI_GETINDENT 2123 #define SCI_SETUSETABS 2124 #define SCI_GETUSETABS 2125 #define SCI_SETLINEINDENTATION 2126 #define SCI_GETLINEINDENTATION 2127 #define SCI_GETLINEINDENTPOSITION 2128 #define SCI_GETCOLUMN 2129 #define SCI_COUNTCHARACTERS 2633 #define SCI_COUNTCODEUNITS 2715 #define SCI_SETHSCROLLBAR 2130 #define SCI_GETHSCROLLBAR 2131 #define SC_IV_NONE 0 #define SC_IV_REAL 1 #define SC_IV_LOOKFORWARD 2 #define SC_IV_LOOKBOTH 3 #define SCI_SETINDENTATIONGUIDES 2132 #define SCI_GETINDENTATIONGUIDES 2133 #define SCI_SETHIGHLIGHTGUIDE 2134 #define SCI_GETHIGHLIGHTGUIDE 2135 #define SCI_GETLINEENDPOSITION 2136 #define SCI_GETCODEPAGE 2137 #define SCI_GETCARETFORE 2138 #define SCI_GETREADONLY 2140 #define SCI_SETCURRENTPOS 2141 #define SCI_SETSELECTIONSTART 2142 #define SCI_GETSELECTIONSTART 2143 #define SCI_SETSELECTIONEND 2144 #define SCI_GETSELECTIONEND 2145 #define SCI_SETEMPTYSELECTION 2556 #define SCI_SETPRINTMAGNIFICATION 2146 #define SCI_GETPRINTMAGNIFICATION 2147 #define SC_PRINT_NORMAL 0 #define SC_PRINT_INVERTLIGHT 1 #define SC_PRINT_BLACKONWHITE 2 #define SC_PRINT_COLOURONWHITE 3 #define SC_PRINT_COLOURONWHITEDEFAULTBG 4 #define SC_PRINT_SCREENCOLOURS 5 #define SCI_SETPRINTCOLOURMODE 2148 #define SCI_GETPRINTCOLOURMODE 2149 #define SCFIND_WHOLEWORD 0x2 #define SCFIND_MATCHCASE 0x4 #define SCFIND_WORDSTART 0x00100000 #define SCFIND_REGEXP 0x00200000 #define SCFIND_POSIX 0x00400000 #define SCFIND_CXX11REGEX 0x00800000 #define SCFIND_REGEXP_SKIPCRLFASONE 0x08000000 #define SCI_FINDTEXT 2150 #define SCI_FORMATRANGE 2151 #define SCI_GETFIRSTVISIBLELINE 2152 #define SCI_GETLINE 2153 #define SCI_GETLINECOUNT 2154 #define SCI_SETMARGINLEFT 2155 #define SCI_GETMARGINLEFT 2156 #define SCI_SETMARGINRIGHT 2157 #define SCI_GETMARGINRIGHT 2158 #define SCI_GETMODIFY 2159 #define SCI_SETSEL 2160 #define SCI_GETSELTEXT 2161 #define SCI_GETTEXTRANGE 2162 #define SCI_HIDESELECTION 2163 #define SCI_POINTXFROMPOSITION 2164 #define SCI_POINTYFROMPOSITION 2165 #define SCI_LINEFROMPOSITION 2166 #define SCI_POSITIONFROMLINE 2167 #define SCI_LINESCROLL 2168 #define SCI_SCROLLCARET 2169 #define SCI_SCROLLRANGE 2569 #define SCI_REPLACESEL 2170 #define SCI_SETREADONLY 2171 #define SCI_NULL 2172 #define SCI_CANPASTE 2173 #define SCI_CANUNDO 2174 #define SCI_EMPTYUNDOBUFFER 2175 #define SCI_UNDO 2176 #define SCI_CUT 2177 #define SCI_COPY 2178 #define SCI_PASTE 2179 #define SCI_CLEAR 2180 #define SCI_SETTEXT 2181 #define SCI_SET_UTF8_TEXT 6001 #define SCI_GETTEXT 2182 #define SCI_GETTEXTLENGTH 2183 #define SCI_GETDIRECTFUNCTION 2184 #define SCI_GETDIRECTPOINTER 2185 #define SCI_SETOVERTYPE 2186 #define SCI_GETOVERTYPE 2187 #define SCI_SETCARETWIDTH 2188 #define SCI_GETCARETWIDTH 2189 #define SCI_SETTARGETSTART 2190 #define SCI_GETTARGETSTART 2191 #define SCI_SETTARGETEND 2192 #define SCI_GETTARGETEND 2193 #define SCI_SETTARGETRANGE 2686 #define SCI_GETTARGETTEXT 2687 #define SCI_TARGETFROMSELECTION 2287 #define SCI_TARGETWHOLEDOCUMENT 2690 #define SCI_REPLACETARGET 2194 #define SCI_REPLACETARGETRE 2195 #define SCI_SEARCHINTARGET 2197 #define SCI_SETSEARCHFLAGS 2198 #define SCI_GETSEARCHFLAGS 2199 #define SCI_CALLTIPSHOW 2200 #define SCI_CALLTIPCANCEL 2201 #define SCI_CALLTIPACTIVE 2202 #define SCI_CALLTIPPOSSTART 2203 #define SCI_CALLTIPSETPOSSTART 2214 #define SCI_CALLTIPSETHLT 2204 #define SCI_CALLTIPSETBACK 2205 #define SCI_CALLTIPSETFORE 2206 #define SCI_CALLTIPSETFOREHLT 2207 #define SCI_CALLTIPUSESTYLE 2212 #define SCI_CALLTIPSETPOSITION 2213 #define SCI_VISIBLEFROMDOCLINE 2220 #define SCI_DOCLINEFROMVISIBLE 2221 #define SCI_WRAPCOUNT 2235 #define SC_FOLDLEVELBASE 0x400 #define SC_FOLDLEVELWHITEFLAG 0x1000 #define SC_FOLDLEVELHEADERFLAG 0x2000 #define SC_FOLDLEVELNUMBERMASK 0x0FFF #define SCI_SETFOLDLEVEL 2222 #define SCI_GETFOLDLEVEL 2223 #define SCI_GETLASTCHILD 2224 #define SCI_GETFOLDPARENT 2225 #define SCI_SHOWLINES 2226 #define SCI_HIDELINES 2227 #define SCI_GETLINEVISIBLE 2228 #define SCI_GETALLLINESVISIBLE 2236 #define SCI_SETFOLDEXPANDED 2229 #define SCI_GETFOLDEXPANDED 2230 #define SCI_TOGGLEFOLD 2231 #define SCI_TOGGLEFOLDSHOWTEXT 2700 #define SC_FOLDDISPLAYTEXT_HIDDEN 0 #define SC_FOLDDISPLAYTEXT_STANDARD 1 #define SC_FOLDDISPLAYTEXT_BOXED 2 #define SCI_FOLDDISPLAYTEXTSETSTYLE 2701 #define SC_FOLDACTION_CONTRACT 0 #define SC_FOLDACTION_EXPAND 1 #define SC_FOLDACTION_TOGGLE 2 #define SCI_FOLDLINE 2237 #define SCI_FOLDCHILDREN 2238 #define SCI_EXPANDCHILDREN 2239 #define SCI_FOLDALL 2662 #define SCI_ENSUREVISIBLE 2232 #define SC_AUTOMATICFOLD_SHOW 0x0001 #define SC_AUTOMATICFOLD_CLICK 0x0002 #define SC_AUTOMATICFOLD_CHANGE 0x0004 #define SCI_SETAUTOMATICFOLD 2663 #define SCI_GETAUTOMATICFOLD 2664 #define SC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002 #define SC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004 #define SC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008 #define SC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010 #define SC_FOLDFLAG_LEVELNUMBERS 0x0040 #define SC_FOLDFLAG_LINESTATE 0x0080 #define SCI_SETFOLDFLAGS 2233 #define SCI_ENSUREVISIBLEENFORCEPOLICY 2234 #define SCI_SETTABINDENTS 2260 #define SCI_GETTABINDENTS 2261 #define SCI_SETBACKSPACEUNINDENTS 2262 #define SCI_GETBACKSPACEUNINDENTS 2263 #define SC_TIME_FOREVER 10000000 #define SCI_SETMOUSEDWELLTIME 2264 #define SCI_GETMOUSEDWELLTIME 2265 #define SCI_WORDSTARTPOSITION 2266 #define SCI_WORDENDPOSITION 2267 #define SCI_ISRANGEWORD 2691 #define SC_IDLESTYLING_NONE 0 #define SC_IDLESTYLING_TOVISIBLE 1 #define SC_IDLESTYLING_AFTERVISIBLE 2 #define SC_IDLESTYLING_ALL 3 #define SCI_SETIDLESTYLING 2692 #define SCI_GETIDLESTYLING 2693 #define SC_WRAP_NONE 0 #define SC_WRAP_WORD 1 #define SC_WRAP_CHAR 2 #define SC_WRAP_WHITESPACE 3 #define SCI_SETWRAPMODE 2268 #define SCI_GETWRAPMODE 2269 #define SC_WRAPVISUALFLAG_NONE 0x0000 #define SC_WRAPVISUALFLAG_END 0x0001 #define SC_WRAPVISUALFLAG_START 0x0002 #define SC_WRAPVISUALFLAG_MARGIN 0x0004 #define SCI_SETWRAPVISUALFLAGS 2460 #define SCI_GETWRAPVISUALFLAGS 2461 #define SC_WRAPVISUALFLAGLOC_DEFAULT 0x0000 #define SC_WRAPVISUALFLAGLOC_END_BY_TEXT 0x0001 #define SC_WRAPVISUALFLAGLOC_START_BY_TEXT 0x0002 #define SCI_SETWRAPVISUALFLAGSLOCATION 2462 #define SCI_GETWRAPVISUALFLAGSLOCATION 2463 #define SCI_SETWRAPSTARTINDENT 2464 #define SCI_GETWRAPSTARTINDENT 2465 #define SC_WRAPINDENT_FIXED 0 #define SC_WRAPINDENT_SAME 1 #define SC_WRAPINDENT_INDENT 2 #define SC_WRAPINDENT_DEEPINDENT 3 #define SCI_SETWRAPINDENTMODE 2472 #define SCI_GETWRAPINDENTMODE 2473 #define SC_CACHE_NONE 0 #define SC_CACHE_CARET 1 #define SC_CACHE_PAGE 2 #define SC_CACHE_DOCUMENT 3 #define SCI_SETLAYOUTCACHE 2272 #define SCI_GETLAYOUTCACHE 2273 #define SCI_SETSCROLLWIDTH 2274 #define SCI_GETSCROLLWIDTH 2275 #define SCI_SETSCROLLWIDTHTRACKING 2516 #define SCI_GETSCROLLWIDTHTRACKING 2517 #define SCI_TEXTWIDTH 2276 #define SCI_SETENDATLASTLINE 2277 #define SCI_GETENDATLASTLINE 2278 #define SCI_TEXTHEIGHT 2279 #define SCI_SETVSCROLLBAR 2280 #define SCI_GETVSCROLLBAR 2281 #define SCI_APPENDTEXT 2282 #define SCI_GETTWOPHASEDRAW 2283 #define SCI_SETTWOPHASEDRAW 2284 #define SC_PHASES_ONE 0 #define SC_PHASES_TWO 1 #define SC_PHASES_MULTIPLE 2 #define SCI_GETPHASESDRAW 2673 #define SCI_SETPHASESDRAW 2674 #define SC_EFF_QUALITY_MASK 0xF #define SC_EFF_QUALITY_DEFAULT 0 #define SC_EFF_QUALITY_NON_ANTIALIASED 1 #define SC_EFF_QUALITY_ANTIALIASED 2 #define SC_EFF_QUALITY_LCD_OPTIMIZED 3 #define SCI_SETFONTQUALITY 2611 #define SCI_GETFONTQUALITY 2612 #define SCI_SETFIRSTVISIBLELINE 2613 #define SC_MULTIPASTE_ONCE 0 #define SC_MULTIPASTE_EACH 1 #define SCI_SETMULTIPASTE 2614 #define SCI_GETMULTIPASTE 2615 #define SCI_GETTAG 2616 #define SCI_LINESJOIN 2288 #define SCI_LINESSPLIT 2289 #define SCI_SETFOLDMARGINCOLOUR 2290 #define SCI_SETFOLDMARGINHICOLOUR 2291 #define SC_ACCESSIBILITY_DISABLED 0 #define SC_ACCESSIBILITY_ENABLED 1 #define SCI_SETACCESSIBILITY 2702 #define SCI_GETACCESSIBILITY 2703 #define SCI_LINEDOWN 2300 #define SCI_LINEDOWNEXTEND 2301 #define SCI_LINEUP 2302 #define SCI_LINEUPEXTEND 2303 #define SCI_CHARLEFT 2304 #define SCI_CHARLEFTEXTEND 2305 #define SCI_CHARRIGHT 2306 #define SCI_CHARRIGHTEXTEND 2307 #define SCI_WORDLEFT 2308 #define SCI_WORDLEFTEXTEND 2309 #define SCI_WORDRIGHT 2310 #define SCI_WORDRIGHTEXTEND 2311 #define SCI_HOME 2312 #define SCI_HOMEEXTEND 2313 #define SCI_LINEEND 2314 #define SCI_LINEENDEXTEND 2315 #define SCI_DOCUMENTSTART 2316 #define SCI_DOCUMENTSTARTEXTEND 2317 #define SCI_DOCUMENTEND 2318 #define SCI_DOCUMENTENDEXTEND 2319 #define SCI_PAGEUP 2320 #define SCI_PAGEUPEXTEND 2321 #define SCI_PAGEDOWN 2322 #define SCI_PAGEDOWNEXTEND 2323 #define SCI_EDITTOGGLEOVERTYPE 2324 #define SCI_CANCEL 2325 #define SCI_DELETEBACK 2326 #define SCI_TAB 2327 #define SCI_BACKTAB 2328 #define SCI_NEWLINE 2329 #define SCI_FORMFEED 2330 #define SCI_VCHOME 2331 #define SCI_VCHOMEEXTEND 2332 #define SCI_ZOOMIN 2333 #define SCI_ZOOMOUT 2334 #define SCI_DELWORDLEFT 2335 #define SCI_DELWORDRIGHT 2336 #define SCI_DELWORDRIGHTEND 2518 #define SCI_LINECUT 2337 #define SCI_LINEDELETE 2338 #define SCI_LINETRANSPOSE 2339 #define SCI_LINEREVERSE 2354 #define SCI_LINEDUPLICATE 2404 #define SCI_LOWERCASE 2340 #define SCI_UPPERCASE 2341 #define SCI_LINESCROLLDOWN 2342 #define SCI_LINESCROLLUP 2343 #define SCI_DELETEBACKNOTLINE 2344 #define SCI_HOMEDISPLAY 2345 #define SCI_HOMEDISPLAYEXTEND 2346 #define SCI_LINEENDDISPLAY 2347 #define SCI_LINEENDDISPLAYEXTEND 2348 #define SCI_HOMEWRAP 2349 #define SCI_HOMEWRAPEXTEND 2450 #define SCI_LINEENDWRAP 2451 #define SCI_LINEENDWRAPEXTEND 2452 #define SCI_VCHOMEWRAP 2453 #define SCI_VCHOMEWRAPEXTEND 2454 #define SCI_LINECOPY 2455 #define SCI_MOVECARETINSIDEVIEW 2401 #define SCI_LINELENGTH 2350 #define SCI_BRACEHIGHLIGHT 2351 #define SCI_BRACEHIGHLIGHTINDICATOR 2498 #define SCI_BRACEBADLIGHT 2352 #define SCI_BRACEBADLIGHTINDICATOR 2499 #define SCI_BRACEMATCH 2353 #define SCI_GETVIEWEOL 2355 #define SCI_SETVIEWEOL 2356 #define SCI_GETDOCPOINTER 2357 #define SCI_SETDOCPOINTER 2358 #define SCI_SETMODEVENTMASK 2359 #define EDGE_NONE 0 #define EDGE_LINE 1 #define EDGE_BACKGROUND 2 #define EDGE_MULTILINE 3 #define SCI_GETEDGECOLUMN 2360 #define SCI_SETEDGECOLUMN 2361 #define SCI_GETEDGEMODE 2362 #define SCI_SETEDGEMODE 2363 #define SCI_GETEDGECOLOUR 2364 #define SCI_SETEDGECOLOUR 2365 #define SCI_MULTIEDGEADDLINE 2694 #define SCI_MULTIEDGECLEARALL 2695 #define SCI_SEARCHANCHOR 2366 #define SCI_SEARCHNEXT 2367 #define SCI_SEARCHPREV 2368 #define SCI_LINESONSCREEN 2370 #define SC_POPUP_NEVER 0 #define SC_POPUP_ALL 1 #define SC_POPUP_TEXT 2 #define SCI_USEPOPUP 2371 #define SCI_SELECTIONISRECTANGLE 2372 #define SCI_SETZOOM 2373 #define SCI_GETZOOM 2374 #define SC_DOCUMENTOPTION_DEFAULT 0 #define SC_DOCUMENTOPTION_STYLES_NONE 0x1 #define SC_DOCUMENTOPTION_TEXT_LARGE 0x100 #define SCI_CREATEDOCUMENT 2375 #define SCI_ADDREFDOCUMENT 2376 #define SCI_RELEASEDOCUMENT 2377 #define SCI_GETDOCUMENTOPTIONS 2379 #define SCI_GETMODEVENTMASK 2378 #define SCI_SETCOMMANDEVENTS 2717 #define SCI_GETCOMMANDEVENTS 2718 #define SCI_SETFOCUS 2380 #define SCI_GETFOCUS 2381 #define SC_STATUS_OK 0 #define SC_STATUS_FAILURE 1 #define SC_STATUS_BADALLOC 2 #define SC_STATUS_WARN_START 1000 #define SC_STATUS_WARN_REGEX 1001 #define SCI_SETSTATUS 2382 #define SCI_GETSTATUS 2383 #define SCI_SETMOUSEDOWNCAPTURES 2384 #define SCI_GETMOUSEDOWNCAPTURES 2385 #define SCI_SETMOUSEWHEELCAPTURES 2696 #define SCI_GETMOUSEWHEELCAPTURES 2697 #define SC_CURSORNORMAL -1 #define SC_CURSORARROW 2 #define SC_CURSORWAIT 4 #define SC_CURSORREVERSEARROW 7 #define SCI_SETCURSOR 2386 #define SCI_GETCURSOR 2387 #define SCI_SETCONTROLCHARSYMBOL 2388 #define SCI_GETCONTROLCHARSYMBOL 2389 #define SCI_WORDPARTLEFT 2390 #define SCI_WORDPARTLEFTEXTEND 2391 #define SCI_WORDPARTRIGHT 2392 #define SCI_WORDPARTRIGHTEXTEND 2393 #define VISIBLE_SLOP 0x01 #define VISIBLE_STRICT 0x04 #define SCI_SETVISIBLEPOLICY 2394 #define SCI_DELLINELEFT 2395 #define SCI_DELLINERIGHT 2396 #define SCI_SETXOFFSET 2397 #define SCI_GETXOFFSET 2398 #define SCI_CHOOSECARETX 2399 #define SCI_GRABFOCUS 2400 #define CARET_SLOP 0x01 #define CARET_STRICT 0x04 #define CARET_JUMPS 0x10 #define CARET_EVEN 0x08 #define SCI_SETXCARETPOLICY 2402 #define SCI_SETYCARETPOLICY 2403 #define SCI_SETPRINTWRAPMODE 2406 #define SCI_GETPRINTWRAPMODE 2407 #define SCI_SETHOTSPOTACTIVEFORE 2410 #define SCI_GETHOTSPOTACTIVEFORE 2494 #define SCI_SETHOTSPOTACTIVEBACK 2411 #define SCI_GETHOTSPOTACTIVEBACK 2495 #define SCI_SETHOTSPOTACTIVEUNDERLINE 2412 #define SCI_GETHOTSPOTACTIVEUNDERLINE 2496 #define SCI_SETHOTSPOTSINGLELINE 2421 #define SCI_GETHOTSPOTSINGLELINE 2497 #define SCI_PARADOWN 2413 #define SCI_PARADOWNEXTEND 2414 #define SCI_PARAUP 2415 #define SCI_PARAUPEXTEND 2416 #define SCI_POSITIONBEFORE 2417 #define SCI_POSITIONAFTER 2418 #define SCI_POSITIONRELATIVE 2670 #define SCI_POSITIONRELATIVECODEUNITS 2716 #define SCI_COPYRANGE 2419 #define SCI_COPYTEXT 2420 #define SC_SEL_STREAM 0 #define SC_SEL_RECTANGLE 1 #define SC_SEL_LINES 2 #define SC_SEL_THIN 3 #define SCI_SETSELECTIONMODE 2422 #define SCI_GETSELECTIONMODE 2423 #define SCI_GETMOVEEXTENDSSELECTION 2706 #define SCI_GETLINESELSTARTPOSITION 2424 #define SCI_GETLINESELENDPOSITION 2425 #define SCI_LINEDOWNRECTEXTEND 2426 #define SCI_LINEUPRECTEXTEND 2427 #define SCI_CHARLEFTRECTEXTEND 2428 #define SCI_CHARRIGHTRECTEXTEND 2429 #define SCI_HOMERECTEXTEND 2430 #define SCI_VCHOMERECTEXTEND 2431 #define SCI_LINEENDRECTEXTEND 2432 #define SCI_PAGEUPRECTEXTEND 2433 #define SCI_PAGEDOWNRECTEXTEND 2434 #define SCI_STUTTEREDPAGEUP 2435 #define SCI_STUTTEREDPAGEUPEXTEND 2436 #define SCI_STUTTEREDPAGEDOWN 2437 #define SCI_STUTTEREDPAGEDOWNEXTEND 2438 #define SCI_WORDLEFTEND 2439 #define SCI_WORDLEFTENDEXTEND 2440 #define SCI_WORDRIGHTEND 2441 #define SCI_WORDRIGHTENDEXTEND 2442 #define SCI_SETWHITESPACECHARS 2443 #define SCI_GETWHITESPACECHARS 2647 #define SCI_SETPUNCTUATIONCHARS 2648 #define SCI_GETPUNCTUATIONCHARS 2649 #define SCI_SETCHARSDEFAULT 2444 #define SCI_AUTOCGETCURRENT 2445 #define SCI_AUTOCGETCURRENTTEXT 2610 #define SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE 0 #define SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE 1 #define SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR 2634 #define SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR 2635 #define SC_MULTIAUTOC_ONCE 0 #define SC_MULTIAUTOC_EACH 1 #define SCI_AUTOCSETMULTI 2636 #define SCI_AUTOCGETMULTI 2637 #define SC_ORDER_PRESORTED 0 #define SC_ORDER_PERFORMSORT 1 #define SC_ORDER_CUSTOM 2 #define SCI_AUTOCSETORDER 2660 #define SCI_AUTOCGETORDER 2661 #define SCI_ALLOCATE 2446 #define SCI_TARGETASUTF8 2447 #define SCI_SETLENGTHFORENCODE 2448 #define SCI_ENCODEDFROMUTF8 2449 #define SCI_FINDCOLUMN 2456 #define SCI_GETCARETSTICKY 2457 #define SCI_SETCARETSTICKY 2458 #define SC_CARETSTICKY_OFF 0 #define SC_CARETSTICKY_ON 1 #define SC_CARETSTICKY_WHITESPACE 2 #define SCI_TOGGLECARETSTICKY 2459 #define SCI_SETPASTECONVERTENDINGS 2467 #define SCI_GETPASTECONVERTENDINGS 2468 #define SCI_SELECTIONDUPLICATE 2469 #define SC_ALPHA_TRANSPARENT 0 #define SC_ALPHA_OPAQUE 255 #define SC_ALPHA_NOALPHA 256 #define SCI_SETCARETLINEBACKALPHA 2470 #define SCI_GETCARETLINEBACKALPHA 2471 #define CARETSTYLE_INVISIBLE 0 #define CARETSTYLE_LINE 1 #define CARETSTYLE_BLOCK 2 #define SCI_SETCARETSTYLE 2512 #define SCI_GETCARETSTYLE 2513 #define SCI_SETINDICATORCURRENT 2500 #define SCI_GETINDICATORCURRENT 2501 #define SCI_SETINDICATORVALUE 2502 #define SCI_GETINDICATORVALUE 2503 #define SCI_INDICATORFILLRANGE 2504 #define SCI_INDICATORCLEARRANGE 2505 #define SCI_INDICATORALLONFOR 2506 #define SCI_INDICATORVALUEAT 2507 #define SCI_INDICATORSTART 2508 #define SCI_INDICATOREND 2509 #define SCI_SETPOSITIONCACHE 2514 #define SCI_GETPOSITIONCACHE 2515 #define SCI_COPYALLOWLINE 2519 #define SCI_GETCHARACTERPOINTER 2520 #define SCI_GETRANGEPOINTER 2643 #define SCI_GETGAPPOSITION 2644 #define SCI_INDICSETALPHA 2523 #define SCI_INDICGETALPHA 2524 #define SCI_INDICSETOUTLINEALPHA 2558 #define SCI_INDICGETOUTLINEALPHA 2559 #define SCI_SETEXTRAASCENT 2525 #define SCI_GETEXTRAASCENT 2526 #define SCI_SETEXTRADESCENT 2527 #define SCI_GETEXTRADESCENT 2528 #define SCI_MARKERSYMBOLDEFINED 2529 #define SCI_MARGINSETTEXT 2530 #define SCI_MARGINGETTEXT 2531 #define SCI_MARGINSETSTYLE 2532 #define SCI_MARGINGETSTYLE 2533 #define SCI_MARGINSETSTYLES 2534 #define SCI_MARGINGETSTYLES 2535 #define SCI_MARGINTEXTCLEARALL 2536 #define SCI_MARGINSETSTYLEOFFSET 2537 #define SCI_MARGINGETSTYLEOFFSET 2538 #define SC_MARGINOPTION_NONE 0 #define SC_MARGINOPTION_SUBLINESELECT 1 #define SCI_SETMARGINOPTIONS 2539 #define SCI_GETMARGINOPTIONS 2557 #define SCI_ANNOTATIONSETTEXT 2540 #define SCI_ANNOTATIONGETTEXT 2541 #define SCI_ANNOTATIONSETSTYLE 2542 #define SCI_ANNOTATIONGETSTYLE 2543 #define SCI_ANNOTATIONSETSTYLES 2544 #define SCI_ANNOTATIONGETSTYLES 2545 #define SCI_ANNOTATIONGETLINES 2546 #define SCI_ANNOTATIONCLEARALL 2547 #define ANNOTATION_HIDDEN 0 #define ANNOTATION_STANDARD 1 #define ANNOTATION_BOXED 2 #define ANNOTATION_INDENTED 3 #define SCI_ANNOTATIONSETVISIBLE 2548 #define SCI_ANNOTATIONGETVISIBLE 2549 #define SCI_ANNOTATIONSETSTYLEOFFSET 2550 #define SCI_ANNOTATIONGETSTYLEOFFSET 2551 #define SCI_RELEASEALLEXTENDEDSTYLES 2552 #define SCI_ALLOCATEEXTENDEDSTYLES 2553 #define UNDO_MAY_COALESCE 1 #define SCI_ADDUNDOACTION 2560 #define SCI_CHARPOSITIONFROMPOINT 2561 #define SCI_CHARPOSITIONFROMPOINTCLOSE 2562 #define SCI_SETMOUSESELECTIONRECTANGULARSWITCH 2668 #define SCI_GETMOUSESELECTIONRECTANGULARSWITCH 2669 #define SCI_SETMULTIPLESELECTION 2563 #define SCI_GETMULTIPLESELECTION 2564 #define SCI_SETADDITIONALSELECTIONTYPING 2565 #define SCI_GETADDITIONALSELECTIONTYPING 2566 #define SCI_SETADDITIONALCARETSBLINK 2567 #define SCI_GETADDITIONALCARETSBLINK 2568 #define SCI_SETADDITIONALCARETSVISIBLE 2608 #define SCI_GETADDITIONALCARETSVISIBLE 2609 #define SCI_GETSELECTIONS 2570 #define SCI_GETSELECTIONEMPTY 2650 #define SCI_CLEARSELECTIONS 2571 #define SCI_SETSELECTION 2572 #define SCI_ADDSELECTION 2573 #define SCI_DROPSELECTIONN 2671 #define SCI_SETMAINSELECTION 2574 #define SCI_GETMAINSELECTION 2575 #define SCI_SETSELECTIONNCARET 2576 #define SCI_GETSELECTIONNCARET 2577 #define SCI_SETSELECTIONNANCHOR 2578 #define SCI_GETSELECTIONNANCHOR 2579 #define SCI_SETSELECTIONNCARETVIRTUALSPACE 2580 #define SCI_GETSELECTIONNCARETVIRTUALSPACE 2581 #define SCI_SETSELECTIONNANCHORVIRTUALSPACE 2582 #define SCI_GETSELECTIONNANCHORVIRTUALSPACE 2583 #define SCI_SETSELECTIONNSTART 2584 #define SCI_GETSELECTIONNSTART 2585 #define SCI_SETSELECTIONNEND 2586 #define SCI_GETSELECTIONNEND 2587 #define SCI_SETRECTANGULARSELECTIONCARET 2588 #define SCI_GETRECTANGULARSELECTIONCARET 2589 #define SCI_SETRECTANGULARSELECTIONANCHOR 2590 #define SCI_GETRECTANGULARSELECTIONANCHOR 2591 #define SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE 2592 #define SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE 2593 #define SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2594 #define SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE 2595 #define SCVS_NONE 0 #define SCVS_RECTANGULARSELECTION 1 #define SCVS_USERACCESSIBLE 2 #define SCVS_NOWRAPLINESTART 4 #define SCI_SETVIRTUALSPACEOPTIONS 2596 #define SCI_GETVIRTUALSPACEOPTIONS 2597 #define SCI_SETRECTANGULARSELECTIONMODIFIER 2598 #define SCI_GETRECTANGULARSELECTIONMODIFIER 2599 #define SCI_SETADDITIONALSELFORE 2600 #define SCI_SETADDITIONALSELBACK 2601 #define SCI_SETADDITIONALSELALPHA 2602 #define SCI_GETADDITIONALSELALPHA 2603 #define SCI_SETADDITIONALCARETFORE 2604 #define SCI_GETADDITIONALCARETFORE 2605 #define SCI_ROTATESELECTION 2606 #define SCI_SWAPMAINANCHORCARET 2607 #define SCI_MULTIPLESELECTADDNEXT 2688 #define SCI_MULTIPLESELECTADDEACH 2689 #define SCI_CHANGELEXERSTATE 2617 #define SCI_CONTRACTEDFOLDNEXT 2618 #define SCI_VERTICALCENTRECARET 2619 #define SCI_MOVESELECTEDLINESUP 2620 #define SCI_MOVESELECTEDLINESDOWN 2621 #define SCI_SETIDENTIFIER 2622 #define SCI_GETIDENTIFIER 2623 #define SCI_RGBAIMAGESETWIDTH 2624 #define SCI_RGBAIMAGESETHEIGHT 2625 #define SCI_RGBAIMAGESETSCALE 2651 #define SCI_MARKERDEFINERGBAIMAGE 2626 #define SCI_REGISTERRGBAIMAGE 2627 #define SCI_SCROLLTOSTART 2628 #define SCI_SCROLLTOEND 2629 #define SC_TECHNOLOGY_DEFAULT 0 #define SC_TECHNOLOGY_DIRECTWRITE 1 #define SC_TECHNOLOGY_DIRECTWRITERETAIN 2 #define SC_TECHNOLOGY_DIRECTWRITEDC 3 #define SCI_SETTECHNOLOGY 2630 #define SCI_GETTECHNOLOGY 2631 #define SCI_CREATELOADER 2632 #define SCI_FINDINDICATORSHOW 2640 #define SCI_FINDINDICATORFLASH 2641 #define SCI_FINDINDICATORHIDE 2642 #define SCI_VCHOMEDISPLAY 2652 #define SCI_VCHOMEDISPLAYEXTEND 2653 #define SCI_GETCARETLINEVISIBLEALWAYS 2654 #define SCI_SETCARETLINEVISIBLEALWAYS 2655 #define SC_LINE_END_TYPE_DEFAULT 0 #define SC_LINE_END_TYPE_UNICODE 1 #define SCI_SETLINEENDTYPESALLOWED 2656 #define SCI_GETLINEENDTYPESALLOWED 2657 #define SCI_GETLINEENDTYPESACTIVE 2658 #define SCI_SETREPRESENTATION 2665 #define SCI_GETREPRESENTATION 2666 #define SCI_CLEARREPRESENTATION 2667 #define SCI_STARTRECORD 3001 #define SCI_STOPRECORD 3002 #define SCI_SETLEXER 4001 #define SCI_GETLEXER 4002 #define SCI_COLOURISE 4003 #define SCI_SETPROPERTY 4004 #define KEYWORDSET_MAX 8 #define SCI_SETKEYWORDS 4005 #define SCI_SETLEXERLANGUAGE 4006 #define SCI_LOADLEXERLIBRARY 4007 #define SCI_GETPROPERTY 4008 #define SCI_GETPROPERTYEXPANDED 4009 #define SCI_GETPROPERTYINT 4010 #define SCI_GETLEXERLANGUAGE 4012 #define SCI_PRIVATELEXERCALL 4013 #define SCI_PROPERTYNAMES 4014 #define SC_TYPE_BOOLEAN 0 #define SC_TYPE_INTEGER 1 #define SC_TYPE_STRING 2 #define SCI_PROPERTYTYPE 4015 #define SCI_DESCRIBEPROPERTY 4016 #define SCI_DESCRIBEKEYWORDSETS 4017 #define SCI_GETLINEENDTYPESSUPPORTED 4018 #define SCI_ALLOCATESUBSTYLES 4020 #define SCI_GETSUBSTYLESSTART 4021 #define SCI_GETSUBSTYLESLENGTH 4022 #define SCI_GETSTYLEFROMSUBSTYLE 4027 #define SCI_GETPRIMARYSTYLEFROMSTYLE 4028 #define SCI_FREESUBSTYLES 4023 #define SCI_SETIDENTIFIERS 4024 #define SCI_DISTANCETOSECONDARYSTYLES 4025 #define SCI_GETSUBSTYLEBASES 4026 #define SCI_GETNAMEDSTYLES 4029 #define SCI_NAMEOFSTYLE 4030 #define SCI_TAGSOFSTYLE 4031 #define SCI_DESCRIPTIONOFSTYLE 4032 #define SC_MOD_INSERTTEXT 0x1 #define SC_MOD_DELETETEXT 0x2 #define SC_MOD_CHANGESTYLE 0x4 #define SC_MOD_CHANGEFOLD 0x8 #define SC_PERFORMED_USER 0x10 #define SC_PERFORMED_UNDO 0x20 #define SC_PERFORMED_REDO 0x40 #define SC_MULTISTEPUNDOREDO 0x80 #define SC_LASTSTEPINUNDOREDO 0x100 #define SC_MOD_CHANGEMARKER 0x200 #define SC_MOD_BEFOREINSERT 0x400 #define SC_MOD_BEFOREDELETE 0x800 #define SC_MULTILINEUNDOREDO 0x1000 #define SC_STARTACTION 0x2000 #define SC_MOD_CHANGEINDICATOR 0x4000 #define SC_MOD_CHANGELINESTATE 0x8000 #define SC_MOD_CHANGEMARGIN 0x10000 #define SC_MOD_CHANGEANNOTATION 0x20000 #define SC_MOD_CONTAINER 0x40000 #define SC_MOD_LEXERSTATE 0x80000 #define SC_MOD_INSERTCHECK 0x100000 #define SC_MOD_CHANGETABSTOPS 0x200000 #define SC_MODEVENTMASKALL 0x3FFFFF #define SC_UPDATE_CONTENT 0x1 #define SC_UPDATE_SELECTION 0x2 #define SC_UPDATE_V_SCROLL 0x4 #define SC_UPDATE_H_SCROLL 0x8 #define SCEN_CHANGE 768 #define SCEN_SETFOCUS 512 #define SCEN_KILLFOCUS 256 #define SCK_DOWN 300 #define SCK_UP 301 #define SCK_LEFT 302 #define SCK_RIGHT 303 #define SCK_HOME 304 #define SCK_END 305 #define SCK_PRIOR 306 #define SCK_NEXT 307 #define SCK_DELETE 308 #define SCK_INSERT 309 #define SCK_ESCAPE 7 #define SCK_BACK 8 #define SCK_TAB 9 #define SCK_RETURN 13 #define SCK_ADD 310 #define SCK_SUBTRACT 311 #define SCK_DIVIDE 312 #define SCK_WIN 313 #define SCK_RWIN 314 #define SCK_MENU 315 #define SCMOD_NORM 0 #define SCMOD_SHIFT 1 #define SCMOD_CTRL 2 #define SCMOD_ALT 4 #define SCMOD_SUPER 8 #define SCMOD_META 16 #define SC_AC_FILLUP 1 #define SC_AC_DOUBLECLICK 2 #define SC_AC_TAB 3 #define SC_AC_NEWLINE 4 #define SC_AC_COMMAND 5 #define SCN_STYLENEEDED 2000 #define SCN_CHARADDED 2001 #define SCN_SAVEPOINTREACHED 2002 #define SCN_SAVEPOINTLEFT 2003 #define SCN_MODIFYATTEMPTRO 2004 #define SCN_KEY 2005 #define SCN_DOUBLECLICK 2006 #define SCN_UPDATEUI 2007 #define SCN_MODIFIED 2008 #define SCN_MACRORECORD 2009 #define SCN_MARGINCLICK 2010 #define SCN_NEEDSHOWN 2011 #define SCN_PAINTED 2013 #define SCN_USERLISTSELECTION 2014 #define SCN_URIDROPPED 2015 #define SCN_DWELLSTART 2016 #define SCN_DWELLEND 2017 #define SCN_ZOOM_CODE 2018 #define SCN_HOTSPOTCLICK 2019 #define SCN_HOTSPOTDOUBLECLICK 2020 #define SCN_CALLTIPCLICK 2021 #define SCN_AUTOCSELECTION 2022 #define SCN_INDICATORCLICK 2023 #define SCN_INDICATORRELEASE 2024 #define SCN_AUTOCCANCELLED 2025 #define SCN_AUTOCCHARDELETED 2026 #define SCN_HOTSPOTRELEASECLICK 2027 #define SCN_FOCUSIN 2028 #define SCN_FOCUSOUT 2029 #define SCN_AUTOCCOMPLETED 2030 #define SCN_MARGINRIGHTCLICK 2031 #define SCN_AUTOCSELECTIONCHANGE 2032 #ifndef SCI_DISABLE_PROVISIONAL #define SC_LINECHARACTERINDEX_NONE 0 #define SC_LINECHARACTERINDEX_UTF32 1 #define SC_LINECHARACTERINDEX_UTF16 2 #define SCI_GETLINECHARACTERINDEX 2710 #define SCI_ALLOCATELINECHARACTERINDEX 2711 #define SCI_RELEASELINECHARACTERINDEX 2712 #define SCI_LINEFROMINDEXPOSITION 2713 #define SCI_INDEXPOSITIONFROMLINE 2714 #endif /* --Autogenerated -- end of section automatically generated from Scintilla.iface */ /* These structures are defined to be exactly the same shape as the Win32 * CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs. * So older code that treats Scintilla as a RichEdit will work. */ struct Sci_CharacterRange { Sci_PositionCR cpMin; Sci_PositionCR cpMax; }; struct Sci_TextRange { struct Sci_CharacterRange chrg; char *lpstrText; }; struct Sci_TextToFind { struct Sci_CharacterRange chrg; const char *lpstrText; struct Sci_CharacterRange chrgText; }; typedef void *Sci_SurfaceID; struct Sci_Rectangle { int left; int top; int right; int bottom; }; /* This structure is used in printing and requires some of the graphics types * from Platform.h. Not needed by most client code. */ struct Sci_RangeToFormat { Sci_SurfaceID hdc; Sci_SurfaceID hdcTarget; struct Sci_Rectangle rc; struct Sci_Rectangle rcPage; struct Sci_CharacterRange chrg; }; #ifndef __cplusplus /* For the GTK+ platform, g-ir-scanner needs to have these typedefs. This * is not required in C++ code and actually seems to break ScintillaEditPy */ typedef struct Sci_NotifyHeader Sci_NotifyHeader; typedef struct SCNotification SCNotification; #endif struct Sci_NotifyHeader { /* Compatible with Windows NMHDR. * hwndFrom is really an environment specific window handle or pointer * but most clients of Scintilla.h do not have this type visible. */ void *hwndFrom; uptr_t idFrom; unsigned int code; }; struct SCNotification { Sci_NotifyHeader nmhdr; Sci_Position position; /* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */ /* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */ /* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */ /* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ /* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */ int ch; /* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */ /* SCN_USERLISTSELECTION */ int modifiers; /* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */ /* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ int modificationType; /* SCN_MODIFIED */ const char *text; /* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */ Sci_Position length; /* SCN_MODIFIED */ Sci_Position linesAdded; /* SCN_MODIFIED */ int message; /* SCN_MACRORECORD */ uptr_t wParam; /* SCN_MACRORECORD */ sptr_t lParam; /* SCN_MACRORECORD */ Sci_Position line; /* SCN_MODIFIED */ int foldLevelNow; /* SCN_MODIFIED */ int foldLevelPrev; /* SCN_MODIFIED */ int margin; /* SCN_MARGINCLICK */ int listType; /* SCN_USERLISTSELECTION */ int x; /* SCN_DWELLSTART, SCN_DWELLEND */ int y; /* SCN_DWELLSTART, SCN_DWELLEND */ int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */ Sci_Position annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */ int updated; /* SCN_UPDATEUI */ int listCompletionMethod; /* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */ }; #ifdef INCLUDE_DEPRECATED_FEATURES #define SCI_SETKEYSUNICODE 2521 #define SCI_GETKEYSUNICODE 2522 #define CharacterRange Sci_CharacterRange #define TextRange Sci_TextRange #define TextToFind Sci_TextToFind #define RangeToFormat Sci_RangeToFormat #define NotifyHeader Sci_NotifyHeader #define SCI_SETSTYLEBITS 2090 #define SCI_GETSTYLEBITS 2091 #define SCI_GETSTYLEBITSNEEDED 4011 #endif #endif ================================================ FILE: src/qscint/scintilla/include/Scintilla.iface ================================================ ## First line may be used for shbang ## This file defines the interface to Scintilla ## Copyright 2000-2003 by Neil Hodgson ## The License.txt file describes the conditions under which this software may be distributed. ## A line starting with ## is a pure comment and should be stripped by readers. ## A line starting with #! is for future shbang use ## A line starting with # followed by a space is a documentation comment and refers ## to the next feature definition. ## Each feature is defined by a line starting with fun, get, set, val or evt. ## cat -> start a category ## fun -> a function ## get -> a property get function ## set -> a property set function ## val -> definition of a constant ## evt -> an event ## enu -> associate an enumeration with a set of vals with a prefix ## lex -> associate a lexer with the lexical classes it produces ## ## All other feature names should be ignored. They may be defined in the future. ## A property may have a set function, a get function or both. Each will have ## "Get" or "Set" in their names and the corresponding name will have the obvious switch. ## A property may be subscripted, in which case the first parameter is the subscript. ## fun, get, and set features have a strict syntax: ## [=,) ## where stands for white space. ## param may be empty (null value) or is [=] ## Additional white space is allowed between elements. ## The syntax for evt is [=[,]*]) ## Feature names that contain an underscore are defined by Windows, so in these ## cases, using the Windows definition is preferred where available. ## The feature numbers are stable so features will not be renumbered. ## Features may be removed but they will go through a period of deprecation ## before removal which is signalled by moving them into the Deprecated category. ## ## enu has the syntax enu=[]* where all the val ## features in this file starting with a given are considered part of the ## enumeration. ## ## lex has the syntax lex=[]* ## where name is a reasonably capitalised (Python, XML) identifier or UI name, ## lexerVal is the val used to specify the lexer, and the list of prefixes is similar ## to enu. The name may not be the same as that used within the lexer so the lexerVal ## should be used to tie these entities together. ## Types: ## void ## int ## bool -> integer, 1=true, 0=false ## position -> integer position in a document ## colour -> colour integer containing red, green and blue bytes. ## string -> pointer to const character ## stringresult -> pointer to character, NULL-> return size of result ## cells -> pointer to array of cells, each cell containing a style byte and character byte ## textrange -> range of a min and a max position with an output string ## findtext -> searchrange, text -> foundposition ## keymod -> integer containing key in low half and modifiers in high half ## formatrange ## Types no longer used: ## findtextex -> searchrange ## charrange -> range of a min and a max position ## charrangeresult -> like charrange, but output param ## countedstring ## point -> x,y ## pointresult -> like point, but output param ## rectangle -> left,top,right,bottom ## Client code should ignore definitions containing types it does not understand, except ## for possibly #defining the constants ## Line numbers and positions start at 0. ## String arguments may contain NUL ('\0') characters where the calls provide a length ## argument and retrieve NUL characters. APIs marked as NUL-terminated also have a ## NUL appended but client code should calculate the size that will be returned rather ## than relying upon the NUL whenever possible. Allow for the extra NUL character when ## allocating buffers. The size to allocate for a stringresult (not including NUL) can be ## determined by calling with a NULL (0) pointer. cat Basics ################################################ ## For Scintilla.h val INVALID_POSITION=-1 # Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages # as many EM_ messages can be used although that use is deprecated. val SCI_START=2000 val SCI_OPTIONAL_START=3000 val SCI_LEXER_START=4000 # Add text to the document at current position. fun void AddText=2001(int length, string text) # Add array of cells to document. fun void AddStyledText=2002(int length, cells c) # Insert string at a position. fun void InsertText=2003(position pos, string text) # Change the text that is being inserted in response to SC_MOD_INSERTCHECK fun void ChangeInsertion=2672(int length, string text) # Delete all text in the document. fun void ClearAll=2004(,) # Delete a range of text in the document. fun void DeleteRange=2645(position start, int lengthDelete) # Set all style bytes to 0, remove all folding information. fun void ClearDocumentStyle=2005(,) # Returns the number of bytes in the document. get int GetLength=2006(,) # Returns the character byte at the position. get int GetCharAt=2007(position pos,) # Returns the position of the caret. get position GetCurrentPos=2008(,) # Returns the position of the opposite end of the selection to the caret. get position GetAnchor=2009(,) # Returns the style byte at the position. get int GetStyleAt=2010(position pos,) # Redoes the next action on the undo history. fun void Redo=2011(,) # Choose between collecting actions into the undo # history and discarding them. set void SetUndoCollection=2012(bool collectUndo,) # Select all the text in the document. fun void SelectAll=2013(,) # Remember the current position in the undo history as the position # at which the document was saved. fun void SetSavePoint=2014(,) # Retrieve a buffer of cells. # Returns the number of bytes in the buffer not including terminating NULs. fun int GetStyledText=2015(, textrange tr) # Are there any redoable actions in the undo history? fun bool CanRedo=2016(,) # Retrieve the line number at which a particular marker is located. fun int MarkerLineFromHandle=2017(int markerHandle,) # Delete a marker. fun void MarkerDeleteHandle=2018(int markerHandle,) # Is undo history being collected? get bool GetUndoCollection=2019(,) enu WhiteSpace=SCWS_ val SCWS_INVISIBLE=0 val SCWS_VISIBLEALWAYS=1 val SCWS_VISIBLEAFTERINDENT=2 val SCWS_VISIBLEONLYININDENT=3 # Are white space characters currently visible? # Returns one of SCWS_* constants. get int GetViewWS=2020(,) # Make white space characters invisible, always visible or visible outside indentation. set void SetViewWS=2021(int viewWS,) enu TabDrawMode=SCTD_ val SCTD_LONGARROW=0 val SCTD_STRIKEOUT=1 # Retrieve the current tab draw mode. # Returns one of SCTD_* constants. get int GetTabDrawMode=2698(,) # Set how tabs are drawn when visible. set void SetTabDrawMode=2699(int tabDrawMode,) # Find the position from a point within the window. fun position PositionFromPoint=2022(int x, int y) # Find the position from a point within the window but return # INVALID_POSITION if not close to text. fun position PositionFromPointClose=2023(int x, int y) # Set caret to start of a line and ensure it is visible. fun void GotoLine=2024(int line,) # Set caret to a position and ensure it is visible. fun void GotoPos=2025(position caret,) # Set the selection anchor to a position. The anchor is the opposite # end of the selection from the caret. set void SetAnchor=2026(position anchor,) # Retrieve the text of the line containing the caret. # Returns the index of the caret on the line. # Result is NUL-terminated. fun int GetCurLine=2027(int length, stringresult text) # Retrieve the position of the last correctly styled character. get position GetEndStyled=2028(,) enu EndOfLine=SC_EOL_ val SC_EOL_CRLF=0 val SC_EOL_CR=1 val SC_EOL_LF=2 # Convert all line endings in the document to one mode. fun void ConvertEOLs=2029(int eolMode,) # Retrieve the current end of line mode - one of CRLF, CR, or LF. get int GetEOLMode=2030(,) # Set the current end of line mode. set void SetEOLMode=2031(int eolMode,) # Set the current styling position to start. # The unused parameter is no longer used and should be set to 0. fun void StartStyling=2032(position start, int unused) # Change style from current styling position for length characters to a style # and move the current styling position to after this newly styled segment. fun void SetStyling=2033(int length, int style) # Is drawing done first into a buffer or direct to the screen? get bool GetBufferedDraw=2034(,) # If drawing is buffered then each line of text is drawn into a bitmap buffer # before drawing it to the screen to avoid flicker. set void SetBufferedDraw=2035(bool buffered,) # Change the visible size of a tab to be a multiple of the width of a space character. set void SetTabWidth=2036(int tabWidth,) # Retrieve the visible size of a tab. get int GetTabWidth=2121(,) # Clear explicit tabstops on a line. fun void ClearTabStops=2675(int line,) # Add an explicit tab stop for a line. fun void AddTabStop=2676(int line, int x) # Find the next explicit tab stop position on a line after a position. fun int GetNextTabStop=2677(int line, int x) # The SC_CP_UTF8 value can be used to enter Unicode mode. # This is the same value as CP_UTF8 in Windows val SC_CP_UTF8=65001 # Set the code page used to interpret the bytes of the document as characters. # The SC_CP_UTF8 value can be used to enter Unicode mode. set void SetCodePage=2037(int codePage,) enu IMEInteraction=SC_IME_ val SC_IME_WINDOWED=0 val SC_IME_INLINE=1 # Is the IME displayed in a window or inline? get int GetIMEInteraction=2678(,) # Choose to display the the IME in a winow or inline. set void SetIMEInteraction=2679(int imeInteraction,) enu MarkerSymbol=SC_MARK_ val MARKER_MAX=31 val SC_MARK_CIRCLE=0 val SC_MARK_ROUNDRECT=1 val SC_MARK_ARROW=2 val SC_MARK_SMALLRECT=3 val SC_MARK_SHORTARROW=4 val SC_MARK_EMPTY=5 val SC_MARK_ARROWDOWN=6 val SC_MARK_MINUS=7 val SC_MARK_PLUS=8 # Shapes used for outlining column. val SC_MARK_VLINE=9 val SC_MARK_LCORNER=10 val SC_MARK_TCORNER=11 val SC_MARK_BOXPLUS=12 val SC_MARK_BOXPLUSCONNECTED=13 val SC_MARK_BOXMINUS=14 val SC_MARK_BOXMINUSCONNECTED=15 val SC_MARK_LCORNERCURVE=16 val SC_MARK_TCORNERCURVE=17 val SC_MARK_CIRCLEPLUS=18 val SC_MARK_CIRCLEPLUSCONNECTED=19 val SC_MARK_CIRCLEMINUS=20 val SC_MARK_CIRCLEMINUSCONNECTED=21 # Invisible mark that only sets the line background colour. val SC_MARK_BACKGROUND=22 val SC_MARK_DOTDOTDOT=23 val SC_MARK_ARROWS=24 val SC_MARK_PIXMAP=25 val SC_MARK_FULLRECT=26 val SC_MARK_LEFTRECT=27 val SC_MARK_AVAILABLE=28 val SC_MARK_UNDERLINE=29 val SC_MARK_RGBAIMAGE=30 val SC_MARK_BOOKMARK=31 val SC_MARK_CHARACTER=10000 enu MarkerOutline=SC_MARKNUM_ # Markers used for outlining column. val SC_MARKNUM_FOLDEREND=25 val SC_MARKNUM_FOLDEROPENMID=26 val SC_MARKNUM_FOLDERMIDTAIL=27 val SC_MARKNUM_FOLDERTAIL=28 val SC_MARKNUM_FOLDERSUB=29 val SC_MARKNUM_FOLDER=30 val SC_MARKNUM_FOLDEROPEN=31 val SC_MASK_FOLDERS=0xFE000000 # Set the symbol used for a particular marker number. fun void MarkerDefine=2040(int markerNumber, int markerSymbol) # Set the foreground colour used for a particular marker number. set void MarkerSetFore=2041(int markerNumber, colour fore) # Set the background colour used for a particular marker number. set void MarkerSetBack=2042(int markerNumber, colour back) # Set the background colour used for a particular marker number when its folding block is selected. set void MarkerSetBackSelected=2292(int markerNumber, colour back) # Enable/disable highlight for current folding bloc (smallest one that contains the caret) fun void MarkerEnableHighlight=2293(bool enabled,) # Add a marker to a line, returning an ID which can be used to find or delete the marker. fun int MarkerAdd=2043(int line, int markerNumber) # Delete a marker from a line. fun void MarkerDelete=2044(int line, int markerNumber) # Delete all markers with a particular number from all lines. fun void MarkerDeleteAll=2045(int markerNumber,) # Get a bit mask of all the markers set on a line. fun int MarkerGet=2046(int line,) # Find the next line at or after lineStart that includes a marker in mask. # Return -1 when no more lines. fun int MarkerNext=2047(int lineStart, int markerMask) # Find the previous line before lineStart that includes a marker in mask. fun int MarkerPrevious=2048(int lineStart, int markerMask) # Define a marker from a pixmap. fun void MarkerDefinePixmap=2049(int markerNumber, string pixmap) # Add a set of markers to a line. fun void MarkerAddSet=2466(int line, int markerSet) # Set the alpha used for a marker that is drawn in the text area, not the margin. set void MarkerSetAlpha=2476(int markerNumber, int alpha) val SC_MAX_MARGIN=4 enu MarginType=SC_MARGIN_ val SC_MARGIN_SYMBOL=0 val SC_MARGIN_NUMBER=1 val SC_MARGIN_BACK=2 val SC_MARGIN_FORE=3 val SC_MARGIN_TEXT=4 val SC_MARGIN_RTEXT=5 val SC_MARGIN_COLOUR=6 # Set a margin to be either numeric or symbolic. set void SetMarginTypeN=2240(int margin, int marginType) # Retrieve the type of a margin. get int GetMarginTypeN=2241(int margin,) # Set the width of a margin to a width expressed in pixels. set void SetMarginWidthN=2242(int margin, int pixelWidth) # Retrieve the width of a margin in pixels. get int GetMarginWidthN=2243(int margin,) # Set a mask that determines which markers are displayed in a margin. set void SetMarginMaskN=2244(int margin, int mask) # Retrieve the marker mask of a margin. get int GetMarginMaskN=2245(int margin,) # Make a margin sensitive or insensitive to mouse clicks. set void SetMarginSensitiveN=2246(int margin, bool sensitive) # Retrieve the mouse click sensitivity of a margin. get bool GetMarginSensitiveN=2247(int margin,) # Set the cursor shown when the mouse is inside a margin. set void SetMarginCursorN=2248(int margin, int cursor) # Retrieve the cursor shown in a margin. get int GetMarginCursorN=2249(int margin,) # Set the background colour of a margin. Only visible for SC_MARGIN_COLOUR. set void SetMarginBackN=2250(int margin, colour back) # Retrieve the background colour of a margin get colour GetMarginBackN=2251(int margin,) # Allocate a non-standard number of margins. set void SetMargins=2252(int margins,) # How many margins are there?. get int GetMargins=2253(,) # Styles in range 32..39 are predefined for parts of the UI and are not used as normal styles. enu StylesCommon=STYLE_ val STYLE_DEFAULT=32 val STYLE_LINENUMBER=33 val STYLE_BRACELIGHT=34 val STYLE_BRACEBAD=35 val STYLE_CONTROLCHAR=36 val STYLE_INDENTGUIDE=37 val STYLE_CALLTIP=38 val STYLE_FOLDDISPLAYTEXT=39 val STYLE_LASTPREDEFINED=39 val STYLE_MAX=255 # Character set identifiers are used in StyleSetCharacterSet. # The values are the same as the Windows *_CHARSET values. enu CharacterSet=SC_CHARSET_ val SC_CHARSET_ANSI=0 val SC_CHARSET_DEFAULT=1 val SC_CHARSET_BALTIC=186 val SC_CHARSET_CHINESEBIG5=136 val SC_CHARSET_EASTEUROPE=238 val SC_CHARSET_GB2312=134 val SC_CHARSET_GREEK=161 val SC_CHARSET_HANGUL=129 val SC_CHARSET_MAC=77 val SC_CHARSET_OEM=255 val SC_CHARSET_RUSSIAN=204 val SC_CHARSET_OEM866=866 val SC_CHARSET_CYRILLIC=1251 val SC_CHARSET_SHIFTJIS=128 val SC_CHARSET_SYMBOL=2 val SC_CHARSET_TURKISH=162 val SC_CHARSET_JOHAB=130 val SC_CHARSET_HEBREW=177 val SC_CHARSET_ARABIC=178 val SC_CHARSET_VIETNAMESE=163 val SC_CHARSET_THAI=222 val SC_CHARSET_8859_15=1000 # Clear all the styles and make equivalent to the global default style. fun void StyleClearAll=2050(,) # Set the foreground colour of a style. set void StyleSetFore=2051(int style, colour fore) # Set the background colour of a style. set void StyleSetBack=2052(int style, colour back) # Set a style to be bold or not. set void StyleSetBold=2053(int style, bool bold) # Set a style to be italic or not. set void StyleSetItalic=2054(int style, bool italic) # Set the size of characters of a style. set void StyleSetSize=2055(int style, int sizePoints) # Set the font of a style. set void StyleSetFont=2056(int style, string fontName) # Set a style to have its end of line filled or not. set void StyleSetEOLFilled=2057(int style, bool eolFilled) # Reset the default style to its state at startup fun void StyleResetDefault=2058(,) # Set a style to be underlined or not. set void StyleSetUnderline=2059(int style, bool underline) enu CaseVisible=SC_CASE_ val SC_CASE_MIXED=0 val SC_CASE_UPPER=1 val SC_CASE_LOWER=2 val SC_CASE_CAMEL=3 # Get the foreground colour of a style. get colour StyleGetFore=2481(int style,) # Get the background colour of a style. get colour StyleGetBack=2482(int style,) # Get is a style bold or not. get bool StyleGetBold=2483(int style,) # Get is a style italic or not. get bool StyleGetItalic=2484(int style,) # Get the size of characters of a style. get int StyleGetSize=2485(int style,) # Get the font of a style. # Returns the length of the fontName # Result is NUL-terminated. get int StyleGetFont=2486(int style, stringresult fontName) # Get is a style to have its end of line filled or not. get bool StyleGetEOLFilled=2487(int style,) # Get is a style underlined or not. get bool StyleGetUnderline=2488(int style,) # Get is a style mixed case, or to force upper or lower case. get int StyleGetCase=2489(int style,) # Get the character get of the font in a style. get int StyleGetCharacterSet=2490(int style,) # Get is a style visible or not. get bool StyleGetVisible=2491(int style,) # Get is a style changeable or not (read only). # Experimental feature, currently buggy. get bool StyleGetChangeable=2492(int style,) # Get is a style a hotspot or not. get bool StyleGetHotSpot=2493(int style,) # Set a style to be mixed case, or to force upper or lower case. set void StyleSetCase=2060(int style, int caseVisible) val SC_FONT_SIZE_MULTIPLIER=100 # Set the size of characters of a style. Size is in points multiplied by 100. set void StyleSetSizeFractional=2061(int style, int sizeHundredthPoints) # Get the size of characters of a style in points multiplied by 100 get int StyleGetSizeFractional=2062(int style,) enu FontWeight=SC_WEIGHT_ val SC_WEIGHT_NORMAL=400 val SC_WEIGHT_SEMIBOLD=600 val SC_WEIGHT_BOLD=700 # Set the weight of characters of a style. set void StyleSetWeight=2063(int style, int weight) # Get the weight of characters of a style. get int StyleGetWeight=2064(int style,) # Set the character set of the font in a style. set void StyleSetCharacterSet=2066(int style, int characterSet) # Set a style to be a hotspot or not. set void StyleSetHotSpot=2409(int style, bool hotspot) # Set the foreground colour of the main and additional selections and whether to use this setting. fun void SetSelFore=2067(bool useSetting, colour fore) # Set the background colour of the main and additional selections and whether to use this setting. fun void SetSelBack=2068(bool useSetting, colour back) # Get the alpha of the selection. get int GetSelAlpha=2477(,) # Set the alpha of the selection. set void SetSelAlpha=2478(int alpha,) # Is the selection end of line filled? get bool GetSelEOLFilled=2479(,) # Set the selection to have its end of line filled or not. set void SetSelEOLFilled=2480(bool filled,) # Set the foreground colour of the caret. set void SetCaretFore=2069(colour fore,) # When key+modifier combination keyDefinition is pressed perform sciCommand. fun void AssignCmdKey=2070(keymod keyDefinition, int sciCommand) # When key+modifier combination keyDefinition is pressed do nothing. fun void ClearCmdKey=2071(keymod keyDefinition,) # Drop all key mappings. fun void ClearAllCmdKeys=2072(,) # Set the styles for a segment of the document. fun void SetStylingEx=2073(int length, string styles) # Set a style to be visible or not. set void StyleSetVisible=2074(int style, bool visible) # Get the time in milliseconds that the caret is on and off. get int GetCaretPeriod=2075(,) # Get the time in milliseconds that the caret is on and off. 0 = steady on. set void SetCaretPeriod=2076(int periodMilliseconds,) # Set the set of characters making up words for when moving or selecting by word. # First sets defaults like SetCharsDefault. set void SetWordChars=2077(, string characters) # Get the set of characters making up words for when moving or selecting by word. # Returns the number of characters get int GetWordChars=2646(, stringresult characters) # Start a sequence of actions that is undone and redone as a unit. # May be nested. fun void BeginUndoAction=2078(,) # End a sequence of actions that is undone and redone as a unit. fun void EndUndoAction=2079(,) # Indicator style enumeration and some constants enu IndicatorStyle=INDIC_ val INDIC_PLAIN=0 val INDIC_SQUIGGLE=1 val INDIC_TT=2 val INDIC_DIAGONAL=3 val INDIC_STRIKE=4 val INDIC_HIDDEN=5 val INDIC_BOX=6 val INDIC_ROUNDBOX=7 val INDIC_STRAIGHTBOX=8 val INDIC_DASH=9 val INDIC_DOTS=10 val INDIC_SQUIGGLELOW=11 val INDIC_DOTBOX=12 val INDIC_SQUIGGLEPIXMAP=13 val INDIC_COMPOSITIONTHICK=14 val INDIC_COMPOSITIONTHIN=15 val INDIC_FULLBOX=16 val INDIC_TEXTFORE=17 val INDIC_POINT=18 val INDIC_POINTCHARACTER=19 val INDIC_GRADIENT=20 val INDIC_GRADIENTCENTRE=21 val INDIC_IME=32 val INDIC_IME_MAX=35 val INDIC_MAX=35 val INDIC_CONTAINER=8 val INDIC0_MASK=0x20 val INDIC1_MASK=0x40 val INDIC2_MASK=0x80 val INDICS_MASK=0xE0 # Set an indicator to plain, squiggle or TT. set void IndicSetStyle=2080(int indicator, int indicatorStyle) # Retrieve the style of an indicator. get int IndicGetStyle=2081(int indicator,) # Set the foreground colour of an indicator. set void IndicSetFore=2082(int indicator, colour fore) # Retrieve the foreground colour of an indicator. get colour IndicGetFore=2083(int indicator,) # Set an indicator to draw under text or over(default). set void IndicSetUnder=2510(int indicator, bool under) # Retrieve whether indicator drawn under or over text. get bool IndicGetUnder=2511(int indicator,) # Set a hover indicator to plain, squiggle or TT. set void IndicSetHoverStyle=2680(int indicator, int indicatorStyle) # Retrieve the hover style of an indicator. get int IndicGetHoverStyle=2681(int indicator,) # Set the foreground hover colour of an indicator. set void IndicSetHoverFore=2682(int indicator, colour fore) # Retrieve the foreground hover colour of an indicator. get colour IndicGetHoverFore=2683(int indicator,) val SC_INDICVALUEBIT=0x1000000 val SC_INDICVALUEMASK=0xFFFFFF enu IndicFlag=SC_INDICFLAG_ val SC_INDICFLAG_VALUEFORE=1 # Set the attributes of an indicator. set void IndicSetFlags=2684(int indicator, int flags) # Retrieve the attributes of an indicator. get int IndicGetFlags=2685(int indicator,) # Set the foreground colour of all whitespace and whether to use this setting. fun void SetWhitespaceFore=2084(bool useSetting, colour fore) # Set the background colour of all whitespace and whether to use this setting. fun void SetWhitespaceBack=2085(bool useSetting, colour back) # Set the size of the dots used to mark space characters. set void SetWhitespaceSize=2086(int size,) # Get the size of the dots used to mark space characters. get int GetWhitespaceSize=2087(,) # Used to hold extra styling information for each line. set void SetLineState=2092(int line, int state) # Retrieve the extra styling information for a line. get int GetLineState=2093(int line,) # Retrieve the last line number that has line state. get int GetMaxLineState=2094(,) # Is the background of the line containing the caret in a different colour? get bool GetCaretLineVisible=2095(,) # Display the background of the line containing the caret in a different colour. set void SetCaretLineVisible=2096(bool show,) # Get the colour of the background of the line containing the caret. get colour GetCaretLineBack=2097(,) # Set the colour of the background of the line containing the caret. set void SetCaretLineBack=2098(colour back,) # Retrieve the caret line frame width. # Width = 0 means this option is disabled. get int GetCaretLineFrame=2704(,) # Display the caret line framed. # Set width != 0 to enable this option and width = 0 to disable it. set void SetCaretLineFrame=2705(int width,) # Set a style to be changeable or not (read only). # Experimental feature, currently buggy. set void StyleSetChangeable=2099(int style, bool changeable) # Display a auto-completion list. # The lengthEntered parameter indicates how many characters before # the caret should be used to provide context. fun void AutoCShow=2100(int lengthEntered, string itemList) # Remove the auto-completion list from the screen. fun void AutoCCancel=2101(,) # Is there an auto-completion list visible? fun bool AutoCActive=2102(,) # Retrieve the position of the caret when the auto-completion list was displayed. fun position AutoCPosStart=2103(,) # User has selected an item so remove the list and insert the selection. fun void AutoCComplete=2104(,) # Define a set of character that when typed cancel the auto-completion list. fun void AutoCStops=2105(, string characterSet) # Change the separator character in the string setting up an auto-completion list. # Default is space but can be changed if items contain space. set void AutoCSetSeparator=2106(int separatorCharacter,) # Retrieve the auto-completion list separator character. get int AutoCGetSeparator=2107(,) # Select the item in the auto-completion list that starts with a string. fun void AutoCSelect=2108(, string select) # Should the auto-completion list be cancelled if the user backspaces to a # position before where the box was created. set void AutoCSetCancelAtStart=2110(bool cancel,) # Retrieve whether auto-completion cancelled by backspacing before start. get bool AutoCGetCancelAtStart=2111(,) # Define a set of characters that when typed will cause the autocompletion to # choose the selected item. set void AutoCSetFillUps=2112(, string characterSet) # Should a single item auto-completion list automatically choose the item. set void AutoCSetChooseSingle=2113(bool chooseSingle,) # Retrieve whether a single item auto-completion list automatically choose the item. get bool AutoCGetChooseSingle=2114(,) # Set whether case is significant when performing auto-completion searches. set void AutoCSetIgnoreCase=2115(bool ignoreCase,) # Retrieve state of ignore case flag. get bool AutoCGetIgnoreCase=2116(,) # Display a list of strings and send notification when user chooses one. fun void UserListShow=2117(int listType, string itemList) # Set whether or not autocompletion is hidden automatically when nothing matches. set void AutoCSetAutoHide=2118(bool autoHide,) # Retrieve whether or not autocompletion is hidden automatically when nothing matches. get bool AutoCGetAutoHide=2119(,) # Set whether or not autocompletion deletes any word characters # after the inserted text upon completion. set void AutoCSetDropRestOfWord=2270(bool dropRestOfWord,) # Retrieve whether or not autocompletion deletes any word characters # after the inserted text upon completion. get bool AutoCGetDropRestOfWord=2271(,) # Register an XPM image for use in autocompletion lists. fun void RegisterImage=2405(int type, string xpmData) # Clear all the registered XPM images. fun void ClearRegisteredImages=2408(,) # Retrieve the auto-completion list type-separator character. get int AutoCGetTypeSeparator=2285(,) # Change the type-separator character in the string setting up an auto-completion list. # Default is '?' but can be changed if items contain '?'. set void AutoCSetTypeSeparator=2286(int separatorCharacter,) # Set the maximum width, in characters, of auto-completion and user lists. # Set to 0 to autosize to fit longest item, which is the default. set void AutoCSetMaxWidth=2208(int characterCount,) # Get the maximum width, in characters, of auto-completion and user lists. get int AutoCGetMaxWidth=2209(,) # Set the maximum height, in rows, of auto-completion and user lists. # The default is 5 rows. set void AutoCSetMaxHeight=2210(int rowCount,) # Set the maximum height, in rows, of auto-completion and user lists. get int AutoCGetMaxHeight=2211(,) # Set the number of spaces used for one level of indentation. set void SetIndent=2122(int indentSize,) # Retrieve indentation size. get int GetIndent=2123(,) # Indentation will only use space characters if useTabs is false, otherwise # it will use a combination of tabs and spaces. set void SetUseTabs=2124(bool useTabs,) # Retrieve whether tabs will be used in indentation. get bool GetUseTabs=2125(,) # Change the indentation of a line to a number of columns. set void SetLineIndentation=2126(int line, int indentation) # Retrieve the number of columns that a line is indented. get int GetLineIndentation=2127(int line,) # Retrieve the position before the first non indentation character on a line. get position GetLineIndentPosition=2128(int line,) # Retrieve the column number of a position, taking tab width into account. get int GetColumn=2129(position pos,) # Count characters between two positions. fun int CountCharacters=2633(position start, position end) # Count code units between two positions. fun int CountCodeUnits=2715(position start, position end) # Show or hide the horizontal scroll bar. set void SetHScrollBar=2130(bool visible,) # Is the horizontal scroll bar visible? get bool GetHScrollBar=2131(,) enu IndentView=SC_IV_ val SC_IV_NONE=0 val SC_IV_REAL=1 val SC_IV_LOOKFORWARD=2 val SC_IV_LOOKBOTH=3 # Show or hide indentation guides. set void SetIndentationGuides=2132(int indentView,) # Are the indentation guides visible? get int GetIndentationGuides=2133(,) # Set the highlighted indentation guide column. # 0 = no highlighted guide. set void SetHighlightGuide=2134(int column,) # Get the highlighted indentation guide column. get int GetHighlightGuide=2135(,) # Get the position after the last visible characters on a line. get position GetLineEndPosition=2136(int line,) # Get the code page used to interpret the bytes of the document as characters. get int GetCodePage=2137(,) # Get the foreground colour of the caret. get colour GetCaretFore=2138(,) # In read-only mode? get bool GetReadOnly=2140(,) # Sets the position of the caret. set void SetCurrentPos=2141(position caret,) # Sets the position that starts the selection - this becomes the anchor. set void SetSelectionStart=2142(position anchor,) # Returns the position at the start of the selection. get position GetSelectionStart=2143(,) # Sets the position that ends the selection - this becomes the caret. set void SetSelectionEnd=2144(position caret,) # Returns the position at the end of the selection. get position GetSelectionEnd=2145(,) # Set caret to a position, while removing any existing selection. fun void SetEmptySelection=2556(position caret,) # Sets the print magnification added to the point size of each style for printing. set void SetPrintMagnification=2146(int magnification,) # Returns the print magnification. get int GetPrintMagnification=2147(,) enu PrintOption=SC_PRINT_ # PrintColourMode - use same colours as screen. # with the exception of line number margins, which use a white background val SC_PRINT_NORMAL=0 # PrintColourMode - invert the light value of each style for printing. val SC_PRINT_INVERTLIGHT=1 # PrintColourMode - force black text on white background for printing. val SC_PRINT_BLACKONWHITE=2 # PrintColourMode - text stays coloured, but all background is forced to be white for printing. val SC_PRINT_COLOURONWHITE=3 # PrintColourMode - only the default-background is forced to be white for printing. val SC_PRINT_COLOURONWHITEDEFAULTBG=4 # PrintColourMode - use same colours as screen, including line number margins. val SC_PRINT_SCREENCOLOURS=5 # Modify colours when printing for clearer printed text. set void SetPrintColourMode=2148(int mode,) # Returns the print colour mode. get int GetPrintColourMode=2149(,) enu FindOption=SCFIND_ val SCFIND_WHOLEWORD=0x2 val SCFIND_MATCHCASE=0x4 val SCFIND_WORDSTART=0x00100000 val SCFIND_REGEXP=0x00200000 val SCFIND_POSIX=0x00400000 val SCFIND_CXX11REGEX=0x00800000 # Find some text in the document. fun position FindText=2150(int searchFlags, findtext ft) # On Windows, will draw the document into a display context such as a printer. fun position FormatRange=2151(bool draw, formatrange fr) # Retrieve the display line at the top of the display. get int GetFirstVisibleLine=2152(,) # Retrieve the contents of a line. # Returns the length of the line. fun int GetLine=2153(int line, stringresult text) # Returns the number of lines in the document. There is always at least one. get int GetLineCount=2154(,) # Sets the size in pixels of the left margin. set void SetMarginLeft=2155(, int pixelWidth) # Returns the size in pixels of the left margin. get int GetMarginLeft=2156(,) # Sets the size in pixels of the right margin. set void SetMarginRight=2157(, int pixelWidth) # Returns the size in pixels of the right margin. get int GetMarginRight=2158(,) # Is the document different from when it was last saved? get bool GetModify=2159(,) # Select a range of text. fun void SetSel=2160(position anchor, position caret) # Retrieve the selected text. # Return the length of the text. # Result is NUL-terminated. fun int GetSelText=2161(, stringresult text) # Retrieve a range of text. # Return the length of the text. fun int GetTextRange=2162(, textrange tr) # Draw the selection either highlighted or in normal (non-highlighted) style. fun void HideSelection=2163(bool hide,) # Retrieve the x value of the point in the window where a position is displayed. fun int PointXFromPosition=2164(, position pos) # Retrieve the y value of the point in the window where a position is displayed. fun int PointYFromPosition=2165(, position pos) # Retrieve the line containing a position. fun int LineFromPosition=2166(position pos,) # Retrieve the position at the start of a line. fun position PositionFromLine=2167(int line,) # Scroll horizontally and vertically. fun void LineScroll=2168(int columns, int lines) # Ensure the caret is visible. fun void ScrollCaret=2169(,) # Scroll the argument positions and the range between them into view giving # priority to the primary position then the secondary position. # This may be used to make a search match visible. fun void ScrollRange=2569(position secondary, position primary) # Replace the selected text with the argument text. fun void ReplaceSel=2170(, string text) # Set to read only or read write. set void SetReadOnly=2171(bool readOnly,) # Null operation. fun void Null=2172(,) # Will a paste succeed? fun bool CanPaste=2173(,) # Are there any undoable actions in the undo history? fun bool CanUndo=2174(,) # Delete the undo history. fun void EmptyUndoBuffer=2175(,) # Undo one action in the undo history. fun void Undo=2176(,) # Cut the selection to the clipboard. fun void Cut=2177(,) # Copy the selection to the clipboard. fun void Copy=2178(,) # Paste the contents of the clipboard into the document replacing the selection. fun void Paste=2179(,) # Clear the selection. fun void Clear=2180(,) # Replace the contents of the document with the argument text. fun void SetText=2181(, string text) # Retrieve all the text in the document. # Returns number of characters retrieved. # Result is NUL-terminated. fun int GetText=2182(int length, stringresult text) # Retrieve the number of characters in the document. get int GetTextLength=2183(,) # Retrieve a pointer to a function that processes messages for this Scintilla. get int GetDirectFunction=2184(,) # Retrieve a pointer value to use as the first argument when calling # the function returned by GetDirectFunction. get int GetDirectPointer=2185(,) # Set to overtype (true) or insert mode. set void SetOvertype=2186(bool overType,) # Returns true if overtype mode is active otherwise false is returned. get bool GetOvertype=2187(,) # Set the width of the insert mode caret. set void SetCaretWidth=2188(int pixelWidth,) # Returns the width of the insert mode caret. get int GetCaretWidth=2189(,) # Sets the position that starts the target which is used for updating the # document without affecting the scroll position. set void SetTargetStart=2190(position start,) # Get the position that starts the target. get position GetTargetStart=2191(,) # Sets the position that ends the target which is used for updating the # document without affecting the scroll position. set void SetTargetEnd=2192(position end,) # Get the position that ends the target. get position GetTargetEnd=2193(,) # Sets both the start and end of the target in one call. fun void SetTargetRange=2686(position start, position end) # Retrieve the text in the target. get int GetTargetText=2687(, stringresult text) # Make the target range start and end be the same as the selection range start and end. fun void TargetFromSelection=2287(,) # Sets the target to the whole document. fun void TargetWholeDocument=2690(,) # Replace the target text with the argument text. # Text is counted so it can contain NULs. # Returns the length of the replacement text. fun int ReplaceTarget=2194(int length, string text) # Replace the target text with the argument text after \d processing. # Text is counted so it can contain NULs. # Looks for \d where d is between 1 and 9 and replaces these with the strings # matched in the last search operation which were surrounded by \( and \). # Returns the length of the replacement text including any change # caused by processing the \d patterns. fun int ReplaceTargetRE=2195(int length, string text) # Search for a counted string in the target and set the target to the found # range. Text is counted so it can contain NULs. # Returns length of range or -1 for failure in which case target is not moved. fun int SearchInTarget=2197(int length, string text) # Set the search flags used by SearchInTarget. set void SetSearchFlags=2198(int searchFlags,) # Get the search flags used by SearchInTarget. get int GetSearchFlags=2199(,) # Show a call tip containing a definition near position pos. fun void CallTipShow=2200(position pos, string definition) # Remove the call tip from the screen. fun void CallTipCancel=2201(,) # Is there an active call tip? fun bool CallTipActive=2202(,) # Retrieve the position where the caret was before displaying the call tip. fun position CallTipPosStart=2203(,) # Set the start position in order to change when backspacing removes the calltip. set void CallTipSetPosStart=2214(int posStart,) # Highlight a segment of the definition. fun void CallTipSetHlt=2204(int highlightStart, int highlightEnd) # Set the background colour for the call tip. set void CallTipSetBack=2205(colour back,) # Set the foreground colour for the call tip. set void CallTipSetFore=2206(colour fore,) # Set the foreground colour for the highlighted part of the call tip. set void CallTipSetForeHlt=2207(colour fore,) # Enable use of STYLE_CALLTIP and set call tip tab size in pixels. set void CallTipUseStyle=2212(int tabSize,) # Set position of calltip, above or below text. set void CallTipSetPosition=2213(bool above,) # Find the display line of a document line taking hidden lines into account. fun int VisibleFromDocLine=2220(int docLine,) # Find the document line of a display line taking hidden lines into account. fun int DocLineFromVisible=2221(int displayLine,) # The number of display lines needed to wrap a document line fun int WrapCount=2235(int docLine,) enu FoldLevel=SC_FOLDLEVEL val SC_FOLDLEVELBASE=0x400 val SC_FOLDLEVELWHITEFLAG=0x1000 val SC_FOLDLEVELHEADERFLAG=0x2000 val SC_FOLDLEVELNUMBERMASK=0x0FFF # Set the fold level of a line. # This encodes an integer level along with flags indicating whether the # line is a header and whether it is effectively white space. set void SetFoldLevel=2222(int line, int level) # Retrieve the fold level of a line. get int GetFoldLevel=2223(int line,) # Find the last child line of a header line. get int GetLastChild=2224(int line, int level) # Find the parent line of a child line. get int GetFoldParent=2225(int line,) # Make a range of lines visible. fun void ShowLines=2226(int lineStart, int lineEnd) # Make a range of lines invisible. fun void HideLines=2227(int lineStart, int lineEnd) # Is a line visible? get bool GetLineVisible=2228(int line,) # Are all lines visible? get bool GetAllLinesVisible=2236(,) # Show the children of a header line. set void SetFoldExpanded=2229(int line, bool expanded) # Is a header line expanded? get bool GetFoldExpanded=2230(int line,) # Switch a header line between expanded and contracted. fun void ToggleFold=2231(int line,) # Switch a header line between expanded and contracted and show some text after the line. fun void ToggleFoldShowText=2700(int line, string text) enu FoldDisplayTextStyle=SC_FOLDDISPLAYTEXT_ val SC_FOLDDISPLAYTEXT_HIDDEN=0 val SC_FOLDDISPLAYTEXT_STANDARD=1 val SC_FOLDDISPLAYTEXT_BOXED=2 # Set the style of fold display text set void FoldDisplayTextSetStyle=2701(int style,) enu FoldAction=SC_FOLDACTION_ val SC_FOLDACTION_CONTRACT=0 val SC_FOLDACTION_EXPAND=1 val SC_FOLDACTION_TOGGLE=2 # Expand or contract a fold header. fun void FoldLine=2237(int line, int action) # Expand or contract a fold header and its children. fun void FoldChildren=2238(int line, int action) # Expand a fold header and all children. Use the level argument instead of the line's current level. fun void ExpandChildren=2239(int line, int level) # Expand or contract all fold headers. fun void FoldAll=2662(int action,) # Ensure a particular line is visible by expanding any header line hiding it. fun void EnsureVisible=2232(int line,) enu AutomaticFold=SC_AUTOMATICFOLD_ val SC_AUTOMATICFOLD_SHOW=0x0001 val SC_AUTOMATICFOLD_CLICK=0x0002 val SC_AUTOMATICFOLD_CHANGE=0x0004 # Set automatic folding behaviours. set void SetAutomaticFold=2663(int automaticFold,) # Get automatic folding behaviours. get int GetAutomaticFold=2664(,) enu FoldFlag=SC_FOLDFLAG_ val SC_FOLDFLAG_LINEBEFORE_EXPANDED=0x0002 val SC_FOLDFLAG_LINEBEFORE_CONTRACTED=0x0004 val SC_FOLDFLAG_LINEAFTER_EXPANDED=0x0008 val SC_FOLDFLAG_LINEAFTER_CONTRACTED=0x0010 val SC_FOLDFLAG_LEVELNUMBERS=0x0040 val SC_FOLDFLAG_LINESTATE=0x0080 # Set some style options for folding. set void SetFoldFlags=2233(int flags,) # Ensure a particular line is visible by expanding any header line hiding it. # Use the currently set visibility policy to determine which range to display. fun void EnsureVisibleEnforcePolicy=2234(int line,) # Sets whether a tab pressed when caret is within indentation indents. set void SetTabIndents=2260(bool tabIndents,) # Does a tab pressed when caret is within indentation indent? get bool GetTabIndents=2261(,) # Sets whether a backspace pressed when caret is within indentation unindents. set void SetBackSpaceUnIndents=2262(bool bsUnIndents,) # Does a backspace pressed when caret is within indentation unindent? get bool GetBackSpaceUnIndents=2263(,) val SC_TIME_FOREVER=10000000 # Sets the time the mouse must sit still to generate a mouse dwell event. set void SetMouseDwellTime=2264(int periodMilliseconds,) # Retrieve the time the mouse must sit still to generate a mouse dwell event. get int GetMouseDwellTime=2265(,) # Get position of start of word. fun int WordStartPosition=2266(position pos, bool onlyWordCharacters) # Get position of end of word. fun int WordEndPosition=2267(position pos, bool onlyWordCharacters) # Is the range start..end considered a word? fun bool IsRangeWord=2691(position start, position end) enu IdleStyling=SC_IDLESTYLING_ val SC_IDLESTYLING_NONE=0 val SC_IDLESTYLING_TOVISIBLE=1 val SC_IDLESTYLING_AFTERVISIBLE=2 val SC_IDLESTYLING_ALL=3 # Sets limits to idle styling. set void SetIdleStyling=2692(int idleStyling,) # Retrieve the limits to idle styling. get int GetIdleStyling=2693(,) enu Wrap=SC_WRAP_ val SC_WRAP_NONE=0 val SC_WRAP_WORD=1 val SC_WRAP_CHAR=2 val SC_WRAP_WHITESPACE=3 # Sets whether text is word wrapped. set void SetWrapMode=2268(int wrapMode,) # Retrieve whether text is word wrapped. get int GetWrapMode=2269(,) enu WrapVisualFlag=SC_WRAPVISUALFLAG_ val SC_WRAPVISUALFLAG_NONE=0x0000 val SC_WRAPVISUALFLAG_END=0x0001 val SC_WRAPVISUALFLAG_START=0x0002 val SC_WRAPVISUALFLAG_MARGIN=0x0004 # Set the display mode of visual flags for wrapped lines. set void SetWrapVisualFlags=2460(int wrapVisualFlags,) # Retrive the display mode of visual flags for wrapped lines. get int GetWrapVisualFlags=2461(,) enu WrapVisualLocation=SC_WRAPVISUALFLAGLOC_ val SC_WRAPVISUALFLAGLOC_DEFAULT=0x0000 val SC_WRAPVISUALFLAGLOC_END_BY_TEXT=0x0001 val SC_WRAPVISUALFLAGLOC_START_BY_TEXT=0x0002 # Set the location of visual flags for wrapped lines. set void SetWrapVisualFlagsLocation=2462(int wrapVisualFlagsLocation,) # Retrive the location of visual flags for wrapped lines. get int GetWrapVisualFlagsLocation=2463(,) # Set the start indent for wrapped lines. set void SetWrapStartIndent=2464(int indent,) # Retrive the start indent for wrapped lines. get int GetWrapStartIndent=2465(,) enu WrapIndentMode=SC_WRAPINDENT_ val SC_WRAPINDENT_FIXED=0 val SC_WRAPINDENT_SAME=1 val SC_WRAPINDENT_INDENT=2 val SC_WRAPINDENT_DEEPINDENT=3 # Sets how wrapped sublines are placed. Default is fixed. set void SetWrapIndentMode=2472(int wrapIndentMode,) # Retrieve how wrapped sublines are placed. Default is fixed. get int GetWrapIndentMode=2473(,) enu LineCache=SC_CACHE_ val SC_CACHE_NONE=0 val SC_CACHE_CARET=1 val SC_CACHE_PAGE=2 val SC_CACHE_DOCUMENT=3 # Sets the degree of caching of layout information. set void SetLayoutCache=2272(int cacheMode,) # Retrieve the degree of caching of layout information. get int GetLayoutCache=2273(,) # Sets the document width assumed for scrolling. set void SetScrollWidth=2274(int pixelWidth,) # Retrieve the document width assumed for scrolling. get int GetScrollWidth=2275(,) # Sets whether the maximum width line displayed is used to set scroll width. set void SetScrollWidthTracking=2516(bool tracking,) # Retrieve whether the scroll width tracks wide lines. get bool GetScrollWidthTracking=2517(,) # Measure the pixel width of some text in a particular style. # NUL terminated text argument. # Does not handle tab or control characters. fun int TextWidth=2276(int style, string text) # Sets the scroll range so that maximum scroll position has # the last line at the bottom of the view (default). # Setting this to false allows scrolling one page below the last line. set void SetEndAtLastLine=2277(bool endAtLastLine,) # Retrieve whether the maximum scroll position has the last # line at the bottom of the view. get bool GetEndAtLastLine=2278(,) # Retrieve the height of a particular line of text in pixels. fun int TextHeight=2279(int line,) # Show or hide the vertical scroll bar. set void SetVScrollBar=2280(bool visible,) # Is the vertical scroll bar visible? get bool GetVScrollBar=2281(,) # Append a string to the end of the document without changing the selection. fun void AppendText=2282(int length, string text) # Is drawing done in two phases with backgrounds drawn before foregrounds? get bool GetTwoPhaseDraw=2283(,) # In twoPhaseDraw mode, drawing is performed in two phases, first the background # and then the foreground. This avoids chopping off characters that overlap the next run. set void SetTwoPhaseDraw=2284(bool twoPhase,) enu PhasesDraw=SC_PHASES_ val SC_PHASES_ONE=0 val SC_PHASES_TWO=1 val SC_PHASES_MULTIPLE=2 # How many phases is drawing done in? get int GetPhasesDraw=2673(,) # In one phase draw, text is drawn in a series of rectangular blocks with no overlap. # In two phase draw, text is drawn in a series of lines allowing runs to overlap horizontally. # In multiple phase draw, each element is drawn over the whole drawing area, allowing text # to overlap from one line to the next. set void SetPhasesDraw=2674(int phases,) # Control font anti-aliasing. enu FontQuality=SC_EFF_ val SC_EFF_QUALITY_MASK=0xF val SC_EFF_QUALITY_DEFAULT=0 val SC_EFF_QUALITY_NON_ANTIALIASED=1 val SC_EFF_QUALITY_ANTIALIASED=2 val SC_EFF_QUALITY_LCD_OPTIMIZED=3 # Choose the quality level for text from the FontQuality enumeration. set void SetFontQuality=2611(int fontQuality,) # Retrieve the quality level for text. get int GetFontQuality=2612(,) # Scroll so that a display line is at the top of the display. set void SetFirstVisibleLine=2613(int displayLine,) enu MultiPaste=SC_MULTIPASTE_ val SC_MULTIPASTE_ONCE=0 val SC_MULTIPASTE_EACH=1 # Change the effect of pasting when there are multiple selections. set void SetMultiPaste=2614(int multiPaste,) # Retrieve the effect of pasting when there are multiple selections. get int GetMultiPaste=2615(,) # Retrieve the value of a tag from a regular expression search. # Result is NUL-terminated. get int GetTag=2616(int tagNumber, stringresult tagValue) # Join the lines in the target. fun void LinesJoin=2288(,) # Split the lines in the target into lines that are less wide than pixelWidth # where possible. fun void LinesSplit=2289(int pixelWidth,) # Set one of the colours used as a chequerboard pattern in the fold margin fun void SetFoldMarginColour=2290(bool useSetting, colour back) # Set the other colour used as a chequerboard pattern in the fold margin fun void SetFoldMarginHiColour=2291(bool useSetting, colour fore) enu Accessibility=SC_ACCESSIBILITY_ val SC_ACCESSIBILITY_DISABLED=0 val SC_ACCESSIBILITY_ENABLED=1 # Enable or disable accessibility. set void SetAccessibility=2702(int accessibility,) # Report accessibility status. get int GetAccessibility=2703(,) ## New messages go here ## Start of key messages # Move caret down one line. fun void LineDown=2300(,) # Move caret down one line extending selection to new caret position. fun void LineDownExtend=2301(,) # Move caret up one line. fun void LineUp=2302(,) # Move caret up one line extending selection to new caret position. fun void LineUpExtend=2303(,) # Move caret left one character. fun void CharLeft=2304(,) # Move caret left one character extending selection to new caret position. fun void CharLeftExtend=2305(,) # Move caret right one character. fun void CharRight=2306(,) # Move caret right one character extending selection to new caret position. fun void CharRightExtend=2307(,) # Move caret left one word. fun void WordLeft=2308(,) # Move caret left one word extending selection to new caret position. fun void WordLeftExtend=2309(,) # Move caret right one word. fun void WordRight=2310(,) # Move caret right one word extending selection to new caret position. fun void WordRightExtend=2311(,) # Move caret to first position on line. fun void Home=2312(,) # Move caret to first position on line extending selection to new caret position. fun void HomeExtend=2313(,) # Move caret to last position on line. fun void LineEnd=2314(,) # Move caret to last position on line extending selection to new caret position. fun void LineEndExtend=2315(,) # Move caret to first position in document. fun void DocumentStart=2316(,) # Move caret to first position in document extending selection to new caret position. fun void DocumentStartExtend=2317(,) # Move caret to last position in document. fun void DocumentEnd=2318(,) # Move caret to last position in document extending selection to new caret position. fun void DocumentEndExtend=2319(,) # Move caret one page up. fun void PageUp=2320(,) # Move caret one page up extending selection to new caret position. fun void PageUpExtend=2321(,) # Move caret one page down. fun void PageDown=2322(,) # Move caret one page down extending selection to new caret position. fun void PageDownExtend=2323(,) # Switch from insert to overtype mode or the reverse. fun void EditToggleOvertype=2324(,) # Cancel any modes such as call tip or auto-completion list display. fun void Cancel=2325(,) # Delete the selection or if no selection, the character before the caret. fun void DeleteBack=2326(,) # If selection is empty or all on one line replace the selection with a tab character. # If more than one line selected, indent the lines. fun void Tab=2327(,) # Dedent the selected lines. fun void BackTab=2328(,) # Insert a new line, may use a CRLF, CR or LF depending on EOL mode. fun void NewLine=2329(,) # Insert a Form Feed character. fun void FormFeed=2330(,) # Move caret to before first visible character on line. # If already there move to first character on line. fun void VCHome=2331(,) # Like VCHome but extending selection to new caret position. fun void VCHomeExtend=2332(,) # Magnify the displayed text by increasing the sizes by 1 point. fun void ZoomIn=2333(,) # Make the displayed text smaller by decreasing the sizes by 1 point. fun void ZoomOut=2334(,) # Delete the word to the left of the caret. fun void DelWordLeft=2335(,) # Delete the word to the right of the caret. fun void DelWordRight=2336(,) # Delete the word to the right of the caret, but not the trailing non-word characters. fun void DelWordRightEnd=2518(,) # Cut the line containing the caret. fun void LineCut=2337(,) # Delete the line containing the caret. fun void LineDelete=2338(,) # Switch the current line with the previous. fun void LineTranspose=2339(,) # Reverse order of selected lines. fun void LineReverse=2354(,) # Duplicate the current line. fun void LineDuplicate=2404(,) # Transform the selection to lower case. fun void LowerCase=2340(,) # Transform the selection to upper case. fun void UpperCase=2341(,) # Scroll the document down, keeping the caret visible. fun void LineScrollDown=2342(,) # Scroll the document up, keeping the caret visible. fun void LineScrollUp=2343(,) # Delete the selection or if no selection, the character before the caret. # Will not delete the character before at the start of a line. fun void DeleteBackNotLine=2344(,) # Move caret to first position on display line. fun void HomeDisplay=2345(,) # Move caret to first position on display line extending selection to # new caret position. fun void HomeDisplayExtend=2346(,) # Move caret to last position on display line. fun void LineEndDisplay=2347(,) # Move caret to last position on display line extending selection to new # caret position. fun void LineEndDisplayExtend=2348(,) # Like Home but when word-wrap is enabled goes first to start of display line # HomeDisplay, then to start of document line Home. fun void HomeWrap=2349(,) # Like HomeExtend but when word-wrap is enabled extends first to start of display line # HomeDisplayExtend, then to start of document line HomeExtend. fun void HomeWrapExtend=2450(,) # Like LineEnd but when word-wrap is enabled goes first to end of display line # LineEndDisplay, then to start of document line LineEnd. fun void LineEndWrap=2451(,) # Like LineEndExtend but when word-wrap is enabled extends first to end of display line # LineEndDisplayExtend, then to start of document line LineEndExtend. fun void LineEndWrapExtend=2452(,) # Like VCHome but when word-wrap is enabled goes first to start of display line # VCHomeDisplay, then behaves like VCHome. fun void VCHomeWrap=2453(,) # Like VCHomeExtend but when word-wrap is enabled extends first to start of display line # VCHomeDisplayExtend, then behaves like VCHomeExtend. fun void VCHomeWrapExtend=2454(,) # Copy the line containing the caret. fun void LineCopy=2455(,) # Move the caret inside current view if it's not there already. fun void MoveCaretInsideView=2401(,) # How many characters are on a line, including end of line characters? fun int LineLength=2350(int line,) # Highlight the characters at two positions. fun void BraceHighlight=2351(position posA, position posB) # Use specified indicator to highlight matching braces instead of changing their style. fun void BraceHighlightIndicator=2498(bool useSetting, int indicator) # Highlight the character at a position indicating there is no matching brace. fun void BraceBadLight=2352(position pos,) # Use specified indicator to highlight non matching brace instead of changing its style. fun void BraceBadLightIndicator=2499(bool useSetting, int indicator) # Find the position of a matching brace or INVALID_POSITION if no match. # The maxReStyle must be 0 for now. It may be defined in a future release. fun position BraceMatch=2353(position pos, int maxReStyle) # Are the end of line characters visible? get bool GetViewEOL=2355(,) # Make the end of line characters visible or invisible. set void SetViewEOL=2356(bool visible,) # Retrieve a pointer to the document object. get int GetDocPointer=2357(,) # Change the document object used. set void SetDocPointer=2358(, int doc) # Set which document modification events are sent to the container. set void SetModEventMask=2359(int eventMask,) enu EdgeVisualStyle=EDGE_ val EDGE_NONE=0 val EDGE_LINE=1 val EDGE_BACKGROUND=2 val EDGE_MULTILINE=3 # Retrieve the column number which text should be kept within. get int GetEdgeColumn=2360(,) # Set the column number of the edge. # If text goes past the edge then it is highlighted. set void SetEdgeColumn=2361(int column,) # Retrieve the edge highlight mode. get int GetEdgeMode=2362(,) # The edge may be displayed by a line (EDGE_LINE/EDGE_MULTILINE) or by highlighting text that # goes beyond it (EDGE_BACKGROUND) or not displayed at all (EDGE_NONE). set void SetEdgeMode=2363(int edgeMode,) # Retrieve the colour used in edge indication. get colour GetEdgeColour=2364(,) # Change the colour used in edge indication. set void SetEdgeColour=2365(colour edgeColour,) # Add a new vertical edge to the view. fun void MultiEdgeAddLine=2694(int column, colour edgeColour) # Clear all vertical edges. fun void MultiEdgeClearAll=2695(,) # Sets the current caret position to be the search anchor. fun void SearchAnchor=2366(,) # Find some text starting at the search anchor. # Does not ensure the selection is visible. fun int SearchNext=2367(int searchFlags, string text) # Find some text starting at the search anchor and moving backwards. # Does not ensure the selection is visible. fun int SearchPrev=2368(int searchFlags, string text) # Retrieves the number of lines completely visible. get int LinesOnScreen=2370(,) enu PopUp=SC_POPUP_ val SC_POPUP_NEVER=0 val SC_POPUP_ALL=1 val SC_POPUP_TEXT=2 # Set whether a pop up menu is displayed automatically when the user presses # the wrong mouse button on certain areas. fun void UsePopUp=2371(int popUpMode,) # Is the selection rectangular? The alternative is the more common stream selection. get bool SelectionIsRectangle=2372(,) # Set the zoom level. This number of points is added to the size of all fonts. # It may be positive to magnify or negative to reduce. set void SetZoom=2373(int zoomInPoints,) # Retrieve the zoom level. get int GetZoom=2374(,) enu DocumentOption=SC_DOCUMENTOPTION_ val SC_DOCUMENTOPTION_DEFAULT=0 val SC_DOCUMENTOPTION_STYLES_NONE=0x1 val SC_DOCUMENTOPTION_TEXT_LARGE=0x100 # Create a new document object. # Starts with reference count of 1 and not selected into editor. fun int CreateDocument=2375(int bytes, int documentOptions) # Extend life of document. fun void AddRefDocument=2376(, int doc) # Release a reference to the document, deleting document if it fades to black. fun void ReleaseDocument=2377(, int doc) # Get which document options are set. get int GetDocumentOptions=2379(,) # Get which document modification events are sent to the container. get int GetModEventMask=2378(,) # Set whether command events are sent to the container. set void SetCommandEvents=2717(bool commandEvents,) # Get whether command events are sent to the container. get bool GetCommandEvents=2718(,) # Change internal focus flag. set void SetFocus=2380(bool focus,) # Get internal focus flag. get bool GetFocus=2381(,) enu Status=SC_STATUS_ val SC_STATUS_OK=0 val SC_STATUS_FAILURE=1 val SC_STATUS_BADALLOC=2 val SC_STATUS_WARN_START=1000 val SC_STATUS_WARN_REGEX=1001 # Change error status - 0 = OK. set void SetStatus=2382(int status,) # Get error status. get int GetStatus=2383(,) # Set whether the mouse is captured when its button is pressed. set void SetMouseDownCaptures=2384(bool captures,) # Get whether mouse gets captured. get bool GetMouseDownCaptures=2385(,) # Set whether the mouse wheel can be active outside the window. set void SetMouseWheelCaptures=2696(bool captures,) # Get whether mouse wheel can be active outside the window. get bool GetMouseWheelCaptures=2697(,) enu CursorShape=SC_CURSOR val SC_CURSORNORMAL=-1 val SC_CURSORARROW=2 val SC_CURSORWAIT=4 val SC_CURSORREVERSEARROW=7 # Sets the cursor to one of the SC_CURSOR* values. set void SetCursor=2386(int cursorType,) # Get cursor type. get int GetCursor=2387(,) # Change the way control characters are displayed: # If symbol is < 32, keep the drawn way, else, use the given character. set void SetControlCharSymbol=2388(int symbol,) # Get the way control characters are displayed. get int GetControlCharSymbol=2389(,) # Move to the previous change in capitalisation. fun void WordPartLeft=2390(,) # Move to the previous change in capitalisation extending selection # to new caret position. fun void WordPartLeftExtend=2391(,) # Move to the change next in capitalisation. fun void WordPartRight=2392(,) # Move to the next change in capitalisation extending selection # to new caret position. fun void WordPartRightExtend=2393(,) # Constants for use with SetVisiblePolicy, similar to SetCaretPolicy. enu VisiblePolicy=VISIBLE_ val VISIBLE_SLOP=0x01 val VISIBLE_STRICT=0x04 # Set the way the display area is determined when a particular line # is to be moved to by Find, FindNext, GotoLine, etc. fun void SetVisiblePolicy=2394(int visiblePolicy, int visibleSlop) # Delete back from the current position to the start of the line. fun void DelLineLeft=2395(,) # Delete forwards from the current position to the end of the line. fun void DelLineRight=2396(,) # Set the xOffset (ie, horizontal scroll position). set void SetXOffset=2397(int xOffset,) # Get the xOffset (ie, horizontal scroll position). get int GetXOffset=2398(,) # Set the last x chosen value to be the caret x position. fun void ChooseCaretX=2399(,) # Set the focus to this Scintilla widget. fun void GrabFocus=2400(,) enu CaretPolicy=CARET_ # Caret policy, used by SetXCaretPolicy and SetYCaretPolicy. # If CARET_SLOP is set, we can define a slop value: caretSlop. # This value defines an unwanted zone (UZ) where the caret is... unwanted. # This zone is defined as a number of pixels near the vertical margins, # and as a number of lines near the horizontal margins. # By keeping the caret away from the edges, it is seen within its context, # so it is likely that the identifier that the caret is on can be completely seen, # and that the current line is seen with some of the lines following it which are # often dependent on that line. val CARET_SLOP=0x01 # If CARET_STRICT is set, the policy is enforced... strictly. # The caret is centred on the display if slop is not set, # and cannot go in the UZ if slop is set. val CARET_STRICT=0x04 # If CARET_JUMPS is set, the display is moved more energetically # so the caret can move in the same direction longer before the policy is applied again. val CARET_JUMPS=0x10 # If CARET_EVEN is not set, instead of having symmetrical UZs, # the left and bottom UZs are extended up to right and top UZs respectively. # This way, we favour the displaying of useful information: the beginning of lines, # where most code reside, and the lines after the caret, eg. the body of a function. val CARET_EVEN=0x08 # Set the way the caret is kept visible when going sideways. # The exclusion zone is given in pixels. fun void SetXCaretPolicy=2402(int caretPolicy, int caretSlop) # Set the way the line the caret is on is kept visible. # The exclusion zone is given in lines. fun void SetYCaretPolicy=2403(int caretPolicy, int caretSlop) # Set printing to line wrapped (SC_WRAP_WORD) or not line wrapped (SC_WRAP_NONE). set void SetPrintWrapMode=2406(int wrapMode,) # Is printing line wrapped? get int GetPrintWrapMode=2407(,) # Set a fore colour for active hotspots. set void SetHotspotActiveFore=2410(bool useSetting, colour fore) # Get the fore colour for active hotspots. get colour GetHotspotActiveFore=2494(,) # Set a back colour for active hotspots. set void SetHotspotActiveBack=2411(bool useSetting, colour back) # Get the back colour for active hotspots. get colour GetHotspotActiveBack=2495(,) # Enable / Disable underlining active hotspots. set void SetHotspotActiveUnderline=2412(bool underline,) # Get whether underlining for active hotspots. get bool GetHotspotActiveUnderline=2496(,) # Limit hotspots to single line so hotspots on two lines don't merge. set void SetHotspotSingleLine=2421(bool singleLine,) # Get the HotspotSingleLine property get bool GetHotspotSingleLine=2497(,) # Move caret down one paragraph (delimited by empty lines). fun void ParaDown=2413(,) # Extend selection down one paragraph (delimited by empty lines). fun void ParaDownExtend=2414(,) # Move caret up one paragraph (delimited by empty lines). fun void ParaUp=2415(,) # Extend selection up one paragraph (delimited by empty lines). fun void ParaUpExtend=2416(,) # Given a valid document position, return the previous position taking code # page into account. Returns 0 if passed 0. fun position PositionBefore=2417(position pos,) # Given a valid document position, return the next position taking code # page into account. Maximum value returned is the last position in the document. fun position PositionAfter=2418(position pos,) # Given a valid document position, return a position that differs in a number # of characters. Returned value is always between 0 and last position in document. fun position PositionRelative=2670(position pos, int relative) # Given a valid document position, return a position that differs in a number # of UTF-16 code units. Returned value is always between 0 and last position in document. # The result may point half way (2 bytes) inside a non-BMP character. fun position PositionRelativeCodeUnits=2716(position pos, int relative) # Copy a range of text to the clipboard. Positions are clipped into the document. fun void CopyRange=2419(position start, position end) # Copy argument text to the clipboard. fun void CopyText=2420(int length, string text) enu SelectionMode=SC_SEL_ val SC_SEL_STREAM=0 val SC_SEL_RECTANGLE=1 val SC_SEL_LINES=2 val SC_SEL_THIN=3 # Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE/SC_SEL_THIN) or # by lines (SC_SEL_LINES). set void SetSelectionMode=2422(int selectionMode,) # Get the mode of the current selection. get int GetSelectionMode=2423(,) # Get whether or not regular caret moves will extend or reduce the selection. get bool GetMoveExtendsSelection=2706(,) # Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line). fun position GetLineSelStartPosition=2424(int line,) # Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line). fun position GetLineSelEndPosition=2425(int line,) ## RectExtended rectangular selection moves # Move caret down one line, extending rectangular selection to new caret position. fun void LineDownRectExtend=2426(,) # Move caret up one line, extending rectangular selection to new caret position. fun void LineUpRectExtend=2427(,) # Move caret left one character, extending rectangular selection to new caret position. fun void CharLeftRectExtend=2428(,) # Move caret right one character, extending rectangular selection to new caret position. fun void CharRightRectExtend=2429(,) # Move caret to first position on line, extending rectangular selection to new caret position. fun void HomeRectExtend=2430(,) # Move caret to before first visible character on line. # If already there move to first character on line. # In either case, extend rectangular selection to new caret position. fun void VCHomeRectExtend=2431(,) # Move caret to last position on line, extending rectangular selection to new caret position. fun void LineEndRectExtend=2432(,) # Move caret one page up, extending rectangular selection to new caret position. fun void PageUpRectExtend=2433(,) # Move caret one page down, extending rectangular selection to new caret position. fun void PageDownRectExtend=2434(,) # Move caret to top of page, or one page up if already at top of page. fun void StutteredPageUp=2435(,) # Move caret to top of page, or one page up if already at top of page, extending selection to new caret position. fun void StutteredPageUpExtend=2436(,) # Move caret to bottom of page, or one page down if already at bottom of page. fun void StutteredPageDown=2437(,) # Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position. fun void StutteredPageDownExtend=2438(,) # Move caret left one word, position cursor at end of word. fun void WordLeftEnd=2439(,) # Move caret left one word, position cursor at end of word, extending selection to new caret position. fun void WordLeftEndExtend=2440(,) # Move caret right one word, position cursor at end of word. fun void WordRightEnd=2441(,) # Move caret right one word, position cursor at end of word, extending selection to new caret position. fun void WordRightEndExtend=2442(,) # Set the set of characters making up whitespace for when moving or selecting by word. # Should be called after SetWordChars. set void SetWhitespaceChars=2443(, string characters) # Get the set of characters making up whitespace for when moving or selecting by word. get int GetWhitespaceChars=2647(, stringresult characters) # Set the set of characters making up punctuation characters # Should be called after SetWordChars. set void SetPunctuationChars=2648(, string characters) # Get the set of characters making up punctuation characters get int GetPunctuationChars=2649(, stringresult characters) # Reset the set of characters for whitespace and word characters to the defaults. fun void SetCharsDefault=2444(,) # Get currently selected item position in the auto-completion list get int AutoCGetCurrent=2445(,) # Get currently selected item text in the auto-completion list # Returns the length of the item text # Result is NUL-terminated. get int AutoCGetCurrentText=2610(, stringresult text) enu CaseInsensitiveBehaviour=SC_CASEINSENSITIVEBEHAVIOUR_ val SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE=0 val SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE=1 # Set auto-completion case insensitive behaviour to either prefer case-sensitive matches or have no preference. set void AutoCSetCaseInsensitiveBehaviour=2634(int behaviour,) # Get auto-completion case insensitive behaviour. get int AutoCGetCaseInsensitiveBehaviour=2635(,) enu MultiAutoComplete=SC_MULTIAUTOC_ val SC_MULTIAUTOC_ONCE=0 val SC_MULTIAUTOC_EACH=1 # Change the effect of autocompleting when there are multiple selections. set void AutoCSetMulti=2636(int multi,) # Retrieve the effect of autocompleting when there are multiple selections. get int AutoCGetMulti=2637(,) enu Ordering=SC_ORDER_ val SC_ORDER_PRESORTED=0 val SC_ORDER_PERFORMSORT=1 val SC_ORDER_CUSTOM=2 # Set the way autocompletion lists are ordered. set void AutoCSetOrder=2660(int order,) # Get the way autocompletion lists are ordered. get int AutoCGetOrder=2661(,) # Enlarge the document to a particular size of text bytes. fun void Allocate=2446(int bytes,) # Returns the target converted to UTF8. # Return the length in bytes. fun int TargetAsUTF8=2447(, stringresult s) # Set the length of the utf8 argument for calling EncodedFromUTF8. # Set to -1 and the string will be measured to the first nul. fun void SetLengthForEncode=2448(int bytes,) # Translates a UTF8 string into the document encoding. # Return the length of the result in bytes. # On error return 0. fun int EncodedFromUTF8=2449(string utf8, stringresult encoded) # Find the position of a column on a line taking into account tabs and # multi-byte characters. If beyond end of line, return line end position. fun int FindColumn=2456(int line, int column) # Can the caret preferred x position only be changed by explicit movement commands? get int GetCaretSticky=2457(,) # Stop the caret preferred x position changing when the user types. set void SetCaretSticky=2458(int useCaretStickyBehaviour,) enu CaretSticky=SC_CARETSTICKY_ val SC_CARETSTICKY_OFF=0 val SC_CARETSTICKY_ON=1 val SC_CARETSTICKY_WHITESPACE=2 # Switch between sticky and non-sticky: meant to be bound to a key. fun void ToggleCaretSticky=2459(,) # Enable/Disable convert-on-paste for line endings set void SetPasteConvertEndings=2467(bool convert,) # Get convert-on-paste setting get bool GetPasteConvertEndings=2468(,) # Duplicate the selection. If selection empty duplicate the line containing the caret. fun void SelectionDuplicate=2469(,) enu Alpha=SC_ALPHA_ val SC_ALPHA_TRANSPARENT=0 val SC_ALPHA_OPAQUE=255 val SC_ALPHA_NOALPHA=256 # Set background alpha of the caret line. set void SetCaretLineBackAlpha=2470(int alpha,) # Get the background alpha of the caret line. get int GetCaretLineBackAlpha=2471(,) enu CaretStyle=CARETSTYLE_ val CARETSTYLE_INVISIBLE=0 val CARETSTYLE_LINE=1 val CARETSTYLE_BLOCK=2 # Set the style of the caret to be drawn. set void SetCaretStyle=2512(int caretStyle,) # Returns the current style of the caret. get int GetCaretStyle=2513(,) # Set the indicator used for IndicatorFillRange and IndicatorClearRange set void SetIndicatorCurrent=2500(int indicator,) # Get the current indicator get int GetIndicatorCurrent=2501(,) # Set the value used for IndicatorFillRange set void SetIndicatorValue=2502(int value,) # Get the current indicator value get int GetIndicatorValue=2503(,) # Turn a indicator on over a range. fun void IndicatorFillRange=2504(position start, int lengthFill) # Turn a indicator off over a range. fun void IndicatorClearRange=2505(position start, int lengthClear) # Are any indicators present at pos? fun int IndicatorAllOnFor=2506(position pos,) # What value does a particular indicator have at a position? fun int IndicatorValueAt=2507(int indicator, position pos) # Where does a particular indicator start? fun int IndicatorStart=2508(int indicator, position pos) # Where does a particular indicator end? fun int IndicatorEnd=2509(int indicator, position pos) # Set number of entries in position cache set void SetPositionCache=2514(int size,) # How many entries are allocated to the position cache? get int GetPositionCache=2515(,) # Copy the selection, if selection empty copy the line with the caret fun void CopyAllowLine=2519(,) # Compact the document buffer and return a read-only pointer to the # characters in the document. get int GetCharacterPointer=2520(,) # Return a read-only pointer to a range of characters in the document. # May move the gap so that the range is contiguous, but will only move up # to lengthRange bytes. get int GetRangePointer=2643(position start, int lengthRange) # Return a position which, to avoid performance costs, should not be within # the range of a call to GetRangePointer. get position GetGapPosition=2644(,) # Set the alpha fill colour of the given indicator. set void IndicSetAlpha=2523(int indicator, int alpha) # Get the alpha fill colour of the given indicator. get int IndicGetAlpha=2524(int indicator,) # Set the alpha outline colour of the given indicator. set void IndicSetOutlineAlpha=2558(int indicator, int alpha) # Get the alpha outline colour of the given indicator. get int IndicGetOutlineAlpha=2559(int indicator,) # Set extra ascent for each line set void SetExtraAscent=2525(int extraAscent,) # Get extra ascent for each line get int GetExtraAscent=2526(,) # Set extra descent for each line set void SetExtraDescent=2527(int extraDescent,) # Get extra descent for each line get int GetExtraDescent=2528(,) # Which symbol was defined for markerNumber with MarkerDefine fun int MarkerSymbolDefined=2529(int markerNumber,) # Set the text in the text margin for a line set void MarginSetText=2530(int line, string text) # Get the text in the text margin for a line get int MarginGetText=2531(int line, stringresult text) # Set the style number for the text margin for a line set void MarginSetStyle=2532(int line, int style) # Get the style number for the text margin for a line get int MarginGetStyle=2533(int line,) # Set the style in the text margin for a line set void MarginSetStyles=2534(int line, string styles) # Get the styles in the text margin for a line get int MarginGetStyles=2535(int line, stringresult styles) # Clear the margin text on all lines fun void MarginTextClearAll=2536(,) # Get the start of the range of style numbers used for margin text set void MarginSetStyleOffset=2537(int style,) # Get the start of the range of style numbers used for margin text get int MarginGetStyleOffset=2538(,) enu MarginOption=SC_MARGINOPTION_ val SC_MARGINOPTION_NONE=0 val SC_MARGINOPTION_SUBLINESELECT=1 # Set the margin options. set void SetMarginOptions=2539(int marginOptions,) # Get the margin options. get int GetMarginOptions=2557(,) # Set the annotation text for a line set void AnnotationSetText=2540(int line, string text) # Get the annotation text for a line get int AnnotationGetText=2541(int line, stringresult text) # Set the style number for the annotations for a line set void AnnotationSetStyle=2542(int line, int style) # Get the style number for the annotations for a line get int AnnotationGetStyle=2543(int line,) # Set the annotation styles for a line set void AnnotationSetStyles=2544(int line, string styles) # Get the annotation styles for a line get int AnnotationGetStyles=2545(int line, stringresult styles) # Get the number of annotation lines for a line get int AnnotationGetLines=2546(int line,) # Clear the annotations from all lines fun void AnnotationClearAll=2547(,) enu AnnotationVisible=ANNOTATION_ val ANNOTATION_HIDDEN=0 val ANNOTATION_STANDARD=1 val ANNOTATION_BOXED=2 val ANNOTATION_INDENTED=3 # Set the visibility for the annotations for a view set void AnnotationSetVisible=2548(int visible,) # Get the visibility for the annotations for a view get int AnnotationGetVisible=2549(,) # Get the start of the range of style numbers used for annotations set void AnnotationSetStyleOffset=2550(int style,) # Get the start of the range of style numbers used for annotations get int AnnotationGetStyleOffset=2551(,) # Release all extended (>255) style numbers fun void ReleaseAllExtendedStyles=2552(,) # Allocate some extended (>255) style numbers and return the start of the range fun int AllocateExtendedStyles=2553(int numberStyles,) val UNDO_MAY_COALESCE=1 # Add a container action to the undo stack fun void AddUndoAction=2560(int token, int flags) # Find the position of a character from a point within the window. fun position CharPositionFromPoint=2561(int x, int y) # Find the position of a character from a point within the window. # Return INVALID_POSITION if not close to text. fun position CharPositionFromPointClose=2562(int x, int y) # Set whether switching to rectangular mode while selecting with the mouse is allowed. set void SetMouseSelectionRectangularSwitch=2668(bool mouseSelectionRectangularSwitch,) # Whether switching to rectangular mode while selecting with the mouse is allowed. get bool GetMouseSelectionRectangularSwitch=2669(,) # Set whether multiple selections can be made set void SetMultipleSelection=2563(bool multipleSelection,) # Whether multiple selections can be made get bool GetMultipleSelection=2564(,) # Set whether typing can be performed into multiple selections set void SetAdditionalSelectionTyping=2565(bool additionalSelectionTyping,) # Whether typing can be performed into multiple selections get bool GetAdditionalSelectionTyping=2566(,) # Set whether additional carets will blink set void SetAdditionalCaretsBlink=2567(bool additionalCaretsBlink,) # Whether additional carets will blink get bool GetAdditionalCaretsBlink=2568(,) # Set whether additional carets are visible set void SetAdditionalCaretsVisible=2608(bool additionalCaretsVisible,) # Whether additional carets are visible get bool GetAdditionalCaretsVisible=2609(,) # How many selections are there? get int GetSelections=2570(,) # Is every selected range empty? get bool GetSelectionEmpty=2650(,) # Clear selections to a single empty stream selection fun void ClearSelections=2571(,) # Set a simple selection fun void SetSelection=2572(position caret, position anchor) # Add a selection fun void AddSelection=2573(position caret, position anchor) # Drop one selection fun void DropSelectionN=2671(int selection,) # Set the main selection set void SetMainSelection=2574(int selection,) # Which selection is the main selection get int GetMainSelection=2575(,) # Set the caret position of the nth selection. set void SetSelectionNCaret=2576(int selection, position caret) # Return the caret position of the nth selection. get position GetSelectionNCaret=2577(int selection,) # Set the anchor position of the nth selection. set void SetSelectionNAnchor=2578(int selection, position anchor) # Return the anchor position of the nth selection. get position GetSelectionNAnchor=2579(int selection,) # Set the virtual space of the caret of the nth selection. set void SetSelectionNCaretVirtualSpace=2580(int selection, int space) # Return the virtual space of the caret of the nth selection. get int GetSelectionNCaretVirtualSpace=2581(int selection,) # Set the virtual space of the anchor of the nth selection. set void SetSelectionNAnchorVirtualSpace=2582(int selection, int space) # Return the virtual space of the anchor of the nth selection. get int GetSelectionNAnchorVirtualSpace=2583(int selection,) # Sets the position that starts the selection - this becomes the anchor. set void SetSelectionNStart=2584(int selection, position anchor) # Returns the position at the start of the selection. get position GetSelectionNStart=2585(int selection,) # Sets the position that ends the selection - this becomes the currentPosition. set void SetSelectionNEnd=2586(int selection, position caret) # Returns the position at the end of the selection. get position GetSelectionNEnd=2587(int selection,) # Set the caret position of the rectangular selection. set void SetRectangularSelectionCaret=2588(position caret,) # Return the caret position of the rectangular selection. get position GetRectangularSelectionCaret=2589(,) # Set the anchor position of the rectangular selection. set void SetRectangularSelectionAnchor=2590(position anchor,) # Return the anchor position of the rectangular selection. get position GetRectangularSelectionAnchor=2591(,) # Set the virtual space of the caret of the rectangular selection. set void SetRectangularSelectionCaretVirtualSpace=2592(int space,) # Return the virtual space of the caret of the rectangular selection. get int GetRectangularSelectionCaretVirtualSpace=2593(,) # Set the virtual space of the anchor of the rectangular selection. set void SetRectangularSelectionAnchorVirtualSpace=2594(int space,) # Return the virtual space of the anchor of the rectangular selection. get int GetRectangularSelectionAnchorVirtualSpace=2595(,) enu VirtualSpace=SCVS_ val SCVS_NONE=0 val SCVS_RECTANGULARSELECTION=1 val SCVS_USERACCESSIBLE=2 val SCVS_NOWRAPLINESTART=4 # Set options for virtual space behaviour. set void SetVirtualSpaceOptions=2596(int virtualSpaceOptions,) # Return options for virtual space behaviour. get int GetVirtualSpaceOptions=2597(,) # On GTK+, allow selecting the modifier key to use for mouse-based # rectangular selection. Often the window manager requires Alt+Mouse Drag # for moving windows. # Valid values are SCMOD_CTRL(default), SCMOD_ALT, or SCMOD_SUPER. set void SetRectangularSelectionModifier=2598(int modifier,) # Get the modifier key used for rectangular selection. get int GetRectangularSelectionModifier=2599(,) # Set the foreground colour of additional selections. # Must have previously called SetSelFore with non-zero first argument for this to have an effect. set void SetAdditionalSelFore=2600(colour fore,) # Set the background colour of additional selections. # Must have previously called SetSelBack with non-zero first argument for this to have an effect. set void SetAdditionalSelBack=2601(colour back,) # Set the alpha of the selection. set void SetAdditionalSelAlpha=2602(int alpha,) # Get the alpha of the selection. get int GetAdditionalSelAlpha=2603(,) # Set the foreground colour of additional carets. set void SetAdditionalCaretFore=2604(colour fore,) # Get the foreground colour of additional carets. get colour GetAdditionalCaretFore=2605(,) # Set the main selection to the next selection. fun void RotateSelection=2606(,) # Swap that caret and anchor of the main selection. fun void SwapMainAnchorCaret=2607(,) # Add the next occurrence of the main selection to the set of selections as main. # If the current selection is empty then select word around caret. fun void MultipleSelectAddNext=2688(,) # Add each occurrence of the main selection in the target to the set of selections. # If the current selection is empty then select word around caret. fun void MultipleSelectAddEach=2689(,) # Indicate that the internal state of a lexer has changed over a range and therefore # there may be a need to redraw. fun int ChangeLexerState=2617(position start, position end) # Find the next line at or after lineStart that is a contracted fold header line. # Return -1 when no more lines. fun int ContractedFoldNext=2618(int lineStart,) # Centre current line in window. fun void VerticalCentreCaret=2619(,) # Move the selected lines up one line, shifting the line above after the selection fun void MoveSelectedLinesUp=2620(,) # Move the selected lines down one line, shifting the line below before the selection fun void MoveSelectedLinesDown=2621(,) # Set the identifier reported as idFrom in notification messages. set void SetIdentifier=2622(int identifier,) # Get the identifier. get int GetIdentifier=2623(,) # Set the width for future RGBA image data. set void RGBAImageSetWidth=2624(int width,) # Set the height for future RGBA image data. set void RGBAImageSetHeight=2625(int height,) # Set the scale factor in percent for future RGBA image data. set void RGBAImageSetScale=2651(int scalePercent,) # Define a marker from RGBA data. # It has the width and height from RGBAImageSetWidth/Height fun void MarkerDefineRGBAImage=2626(int markerNumber, string pixels) # Register an RGBA image for use in autocompletion lists. # It has the width and height from RGBAImageSetWidth/Height fun void RegisterRGBAImage=2627(int type, string pixels) # Scroll to start of document. fun void ScrollToStart=2628(,) # Scroll to end of document. fun void ScrollToEnd=2629(,) enu Technology=SC_TECHNOLOGY_ val SC_TECHNOLOGY_DEFAULT=0 val SC_TECHNOLOGY_DIRECTWRITE=1 val SC_TECHNOLOGY_DIRECTWRITERETAIN=2 val SC_TECHNOLOGY_DIRECTWRITEDC=3 # Set the technology used. set void SetTechnology=2630(int technology,) # Get the tech. get int GetTechnology=2631(,) # Create an ILoader*. fun int CreateLoader=2632(int bytes, int documentOptions) # On OS X, show a find indicator. fun void FindIndicatorShow=2640(position start, position end) # On OS X, flash a find indicator, then fade out. fun void FindIndicatorFlash=2641(position start, position end) # On OS X, hide the find indicator. fun void FindIndicatorHide=2642(,) # Move caret to before first visible character on display line. # If already there move to first character on display line. fun void VCHomeDisplay=2652(,) # Like VCHomeDisplay but extending selection to new caret position. fun void VCHomeDisplayExtend=2653(,) # Is the caret line always visible? get bool GetCaretLineVisibleAlways=2654(,) # Sets the caret line to always visible. set void SetCaretLineVisibleAlways=2655(bool alwaysVisible,) # Line end types which may be used in addition to LF, CR, and CRLF # SC_LINE_END_TYPE_UNICODE includes U+2028 Line Separator, # U+2029 Paragraph Separator, and U+0085 Next Line enu LineEndType=SC_LINE_END_TYPE_ val SC_LINE_END_TYPE_DEFAULT=0 val SC_LINE_END_TYPE_UNICODE=1 # Set the line end types that the application wants to use. May not be used if incompatible with lexer or encoding. set void SetLineEndTypesAllowed=2656(int lineEndBitSet,) # Get the line end types currently allowed. get int GetLineEndTypesAllowed=2657(,) # Get the line end types currently recognised. May be a subset of the allowed types due to lexer limitation. get int GetLineEndTypesActive=2658(,) # Set the way a character is drawn. set void SetRepresentation=2665(string encodedCharacter, string representation) # Set the way a character is drawn. # Result is NUL-terminated. get int GetRepresentation=2666(string encodedCharacter, stringresult representation) # Remove a character representation. fun void ClearRepresentation=2667(string encodedCharacter,) # Start notifying the container of all key presses and commands. fun void StartRecord=3001(,) # Stop notifying the container of all key presses and commands. fun void StopRecord=3002(,) # Set the lexing language of the document. set void SetLexer=4001(int lexer,) # Retrieve the lexing language of the document. get int GetLexer=4002(,) # Colourise a segment of the document using the current lexing language. fun void Colourise=4003(position start, position end) # Set up a value that may be used by a lexer for some optional feature. set void SetProperty=4004(string key, string value) # Maximum value of keywordSet parameter of SetKeyWords. val KEYWORDSET_MAX=8 # Set up the key words used by the lexer. 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) # Load a lexer library (dll / so). fun void LoadLexerLibrary=4007(, string path) # Retrieve a "property" value previously set with SetProperty. # Result is NUL-terminated. get int GetProperty=4008(string key, stringresult value) # Retrieve a "property" value previously set with SetProperty, # with "$()" variable replacement on returned buffer. # Result is NUL-terminated. get int GetPropertyExpanded=4009(string key, stringresult value) # Retrieve a "property" value previously set with SetProperty, # interpreted as an int AFTER any "$()" variable replacement. get int GetPropertyInt=4010(string key, int defaultValue) # Retrieve the name of the lexer. # Return the length of the text. # Result is NUL-terminated. get int GetLexerLanguage=4012(, stringresult language) # For private communication between an application and a known lexer. fun int PrivateLexerCall=4013(int operation, int pointer) # Retrieve a '\n' separated list of properties understood by the current lexer. # Result is NUL-terminated. fun int PropertyNames=4014(, stringresult names) enu TypeProperty=SC_TYPE_ val SC_TYPE_BOOLEAN=0 val SC_TYPE_INTEGER=1 val SC_TYPE_STRING=2 # Retrieve the type of a property. fun int PropertyType=4015(string name,) # Describe a property. # Result is NUL-terminated. fun int DescribeProperty=4016(string name, stringresult description) # Retrieve a '\n' separated list of descriptions of the keyword sets understood by the current lexer. # Result is NUL-terminated. fun int DescribeKeyWordSets=4017(, stringresult descriptions) # Bit set of LineEndType enumertion for which line ends beyond the standard # LF, CR, and CRLF are supported by the lexer. get int GetLineEndTypesSupported=4018(,) # Allocate a set of sub styles for a particular base style, returning start of range fun int AllocateSubStyles=4020(int styleBase, int numberStyles) # The starting style number for the sub styles associated with a base style get int GetSubStylesStart=4021(int styleBase,) # The number of sub styles associated with a base style get int GetSubStylesLength=4022(int styleBase,) # For a sub style, return the base style, else return the argument. get int GetStyleFromSubStyle=4027(int subStyle,) # For a secondary style, return the primary style, else return the argument. get int GetPrimaryStyleFromStyle=4028(int style,) # Free allocated sub styles fun void FreeSubStyles=4023(,) # Set the identifiers that are shown in a particular style set void SetIdentifiers=4024(int style, string identifiers) # Where styles are duplicated by a feature such as active/inactive code # return the distance between the two types. get int DistanceToSecondaryStyles=4025(,) # Get the set of base styles that can be extended with sub styles # Result is NUL-terminated. get int GetSubStyleBases=4026(, stringresult styles) # Retrieve the number of named styles for the lexer. get int GetNamedStyles=4029(,) # Retrieve the name of a style. # Result is NUL-terminated. fun int NameOfStyle=4030(int style, stringresult name) # Retrieve a ' ' separated list of style tags like "literal quoted string". # Result is NUL-terminated. fun int TagsOfStyle=4031(int style, stringresult tags) # Retrieve a description of a style. # Result is NUL-terminated. fun int DescriptionOfStyle=4032(int style, stringresult description) # Notifications # Type of modification and the action which caused the modification. # These are defined as a bit mask to make it easy to specify which notifications are wanted. # One bit is set from each of SC_MOD_* and SC_PERFORMED_*. enu ModificationFlags=SC_MOD_ SC_PERFORMED_ SC_MULTISTEPUNDOREDO SC_LASTSTEPINUNDOREDO SC_MULTILINEUNDOREDO SC_STARTACTION SC_MODEVENTMASKALL val SC_MOD_INSERTTEXT=0x1 val SC_MOD_DELETETEXT=0x2 val SC_MOD_CHANGESTYLE=0x4 val SC_MOD_CHANGEFOLD=0x8 val SC_PERFORMED_USER=0x10 val SC_PERFORMED_UNDO=0x20 val SC_PERFORMED_REDO=0x40 val SC_MULTISTEPUNDOREDO=0x80 val SC_LASTSTEPINUNDOREDO=0x100 val SC_MOD_CHANGEMARKER=0x200 val SC_MOD_BEFOREINSERT=0x400 val SC_MOD_BEFOREDELETE=0x800 val SC_MULTILINEUNDOREDO=0x1000 val SC_STARTACTION=0x2000 val SC_MOD_CHANGEINDICATOR=0x4000 val SC_MOD_CHANGELINESTATE=0x8000 val SC_MOD_CHANGEMARGIN=0x10000 val SC_MOD_CHANGEANNOTATION=0x20000 val SC_MOD_CONTAINER=0x40000 val SC_MOD_LEXERSTATE=0x80000 val SC_MOD_INSERTCHECK=0x100000 val SC_MOD_CHANGETABSTOPS=0x200000 val SC_MODEVENTMASKALL=0x3FFFFF enu Update=SC_UPDATE_ val SC_UPDATE_CONTENT=0x1 val SC_UPDATE_SELECTION=0x2 val SC_UPDATE_V_SCROLL=0x4 val SC_UPDATE_H_SCROLL=0x8 # For compatibility, these go through the COMMAND notification rather than NOTIFY # and should have had exactly the same values as the EN_* constants. # Unfortunately the SETFOCUS and KILLFOCUS are flipped over from EN_* # As clients depend on these constants, this will not be changed. val SCEN_CHANGE=768 val SCEN_SETFOCUS=512 val SCEN_KILLFOCUS=256 # Symbolic key codes and modifier flags. # ASCII and other printable characters below 256. # Extended keys above 300. enu Keys=SCK_ val SCK_DOWN=300 val SCK_UP=301 val SCK_LEFT=302 val SCK_RIGHT=303 val SCK_HOME=304 val SCK_END=305 val SCK_PRIOR=306 val SCK_NEXT=307 val SCK_DELETE=308 val SCK_INSERT=309 val SCK_ESCAPE=7 val SCK_BACK=8 val SCK_TAB=9 val SCK_RETURN=13 val SCK_ADD=310 val SCK_SUBTRACT=311 val SCK_DIVIDE=312 val SCK_WIN=313 val SCK_RWIN=314 val SCK_MENU=315 enu KeyMod=SCMOD_ val SCMOD_NORM=0 val SCMOD_SHIFT=1 val SCMOD_CTRL=2 val SCMOD_ALT=4 val SCMOD_SUPER=8 val SCMOD_META=16 enu CompletionMethods=SC_AC_ val SC_AC_FILLUP=1 val SC_AC_DOUBLECLICK=2 val SC_AC_TAB=3 val SC_AC_NEWLINE=4 val SC_AC_COMMAND=5 ################################################ # For SciLexer.h enu Lexer=SCLEX_ val SCLEX_CONTAINER=0 val SCLEX_NULL=1 val SCLEX_PYTHON=2 val SCLEX_CPP=3 val SCLEX_HTML=4 val SCLEX_XML=5 val SCLEX_PERL=6 val SCLEX_SQL=7 val SCLEX_VB=8 val SCLEX_PROPERTIES=9 val SCLEX_ERRORLIST=10 val SCLEX_MAKEFILE=11 val SCLEX_BATCH=12 val SCLEX_XCODE=13 val SCLEX_LATEX=14 val SCLEX_LUA=15 val SCLEX_DIFF=16 val SCLEX_CONF=17 val SCLEX_PASCAL=18 val SCLEX_AVE=19 val SCLEX_ADA=20 val SCLEX_LISP=21 val SCLEX_RUBY=22 val SCLEX_EIFFEL=23 val SCLEX_EIFFELKW=24 val SCLEX_TCL=25 val SCLEX_NNCRONTAB=26 val SCLEX_BULLANT=27 val SCLEX_VBSCRIPT=28 val SCLEX_BAAN=31 val SCLEX_MATLAB=32 val SCLEX_SCRIPTOL=33 val SCLEX_ASM=34 val SCLEX_CPPNOCASE=35 val SCLEX_FORTRAN=36 val SCLEX_F77=37 val SCLEX_CSS=38 val SCLEX_POV=39 val SCLEX_LOUT=40 val SCLEX_ESCRIPT=41 val SCLEX_PS=42 val SCLEX_NSIS=43 val SCLEX_MMIXAL=44 val SCLEX_CLW=45 val SCLEX_CLWNOCASE=46 val SCLEX_LOT=47 val SCLEX_YAML=48 val SCLEX_TEX=49 val SCLEX_METAPOST=50 val SCLEX_POWERBASIC=51 val SCLEX_FORTH=52 val SCLEX_ERLANG=53 val SCLEX_OCTAVE=54 val SCLEX_MSSQL=55 val SCLEX_VERILOG=56 val SCLEX_KIX=57 val SCLEX_GUI4CLI=58 val SCLEX_SPECMAN=59 val SCLEX_AU3=60 val SCLEX_APDL=61 val SCLEX_BASH=62 val SCLEX_ASN1=63 val SCLEX_VHDL=64 val SCLEX_CAML=65 val SCLEX_BLITZBASIC=66 val SCLEX_PUREBASIC=67 val SCLEX_HASKELL=68 val SCLEX_PHPSCRIPT=69 val SCLEX_TADS3=70 val SCLEX_REBOL=71 val SCLEX_SMALLTALK=72 val SCLEX_FLAGSHIP=73 val SCLEX_CSOUND=74 val SCLEX_FREEBASIC=75 val SCLEX_INNOSETUP=76 val SCLEX_OPAL=77 val SCLEX_SPICE=78 val SCLEX_D=79 val SCLEX_CMAKE=80 val SCLEX_GAP=81 val SCLEX_PLM=82 val SCLEX_PROGRESS=83 val SCLEX_ABAQUS=84 val SCLEX_ASYMPTOTE=85 val SCLEX_R=86 val SCLEX_MAGIK=87 val SCLEX_POWERSHELL=88 val SCLEX_MYSQL=89 val SCLEX_PO=90 val SCLEX_TAL=91 val SCLEX_COBOL=92 val SCLEX_TACL=93 val SCLEX_SORCUS=94 val SCLEX_POWERPRO=95 val SCLEX_NIMROD=96 val SCLEX_SML=97 val SCLEX_MARKDOWN=98 val SCLEX_TXT2TAGS=99 val SCLEX_A68K=100 val SCLEX_MODULA=101 val SCLEX_COFFEESCRIPT=102 val SCLEX_TCMD=103 val SCLEX_AVS=104 val SCLEX_ECL=105 val SCLEX_OSCRIPT=106 val SCLEX_VISUALPROLOG=107 val SCLEX_LITERATEHASKELL=108 val SCLEX_STTXT=109 val SCLEX_KVIRC=110 val SCLEX_RUST=111 val SCLEX_DMAP=112 val SCLEX_AS=113 val SCLEX_DMIS=114 val SCLEX_REGISTRY=115 val SCLEX_BIBTEX=116 val SCLEX_SREC=117 val SCLEX_IHEX=118 val SCLEX_TEHEX=119 val SCLEX_JSON=120 val SCLEX_EDIFACT=121 val SCLEX_INDENT=122 val SCLEX_MAXIMA=123 val SCLEX_STATA=124 val SCLEX_SAS=125 val SCLEX_LPEG=999 # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a # value assigned in sequence from SCLEX_AUTOMATIC+1. val SCLEX_AUTOMATIC=1000 # Lexical states for SCLEX_PYTHON lex Python=SCLEX_PYTHON SCE_P_ lex Nimrod=SCLEX_NIMROD SCE_P_ val SCE_P_DEFAULT=0 val SCE_P_COMMENTLINE=1 val SCE_P_NUMBER=2 val SCE_P_STRING=3 val SCE_P_CHARACTER=4 val SCE_P_WORD=5 val SCE_P_TRIPLE=6 val SCE_P_TRIPLEDOUBLE=7 val SCE_P_CLASSNAME=8 val SCE_P_DEFNAME=9 val SCE_P_OPERATOR=10 val SCE_P_IDENTIFIER=11 val SCE_P_COMMENTBLOCK=12 val SCE_P_STRINGEOL=13 val SCE_P_WORD2=14 val SCE_P_DECORATOR=15 val SCE_P_FSTRING=16 val SCE_P_FCHARACTER=17 val SCE_P_FTRIPLE=18 val SCE_P_FTRIPLEDOUBLE=19 # Lexical states for SCLEX_CPP # Lexical states for SCLEX_BULLANT # Lexical states for SCLEX_COBOL # Lexical states for SCLEX_TACL # Lexical states for SCLEX_TAL lex Cpp=SCLEX_CPP SCE_C_ lex BullAnt=SCLEX_BULLANT SCE_C_ lex COBOL=SCLEX_COBOL SCE_C_ lex TACL=SCLEX_TACL SCE_C_ lex TAL=SCLEX_TAL SCE_C_ val SCE_C_DEFAULT=0 val SCE_C_COMMENT=1 val SCE_C_COMMENTLINE=2 val SCE_C_COMMENTDOC=3 val SCE_C_NUMBER=4 val SCE_C_WORD=5 val SCE_C_STRING=6 val SCE_C_CHARACTER=7 val SCE_C_UUID=8 val SCE_C_PREPROCESSOR=9 val SCE_C_OPERATOR=10 val SCE_C_IDENTIFIER=11 val SCE_C_STRINGEOL=12 val SCE_C_VERBATIM=13 val SCE_C_REGEX=14 val SCE_C_COMMENTLINEDOC=15 val SCE_C_WORD2=16 val SCE_C_COMMENTDOCKEYWORD=17 val SCE_C_COMMENTDOCKEYWORDERROR=18 val SCE_C_GLOBALCLASS=19 val SCE_C_STRINGRAW=20 val SCE_C_TRIPLEVERBATIM=21 val SCE_C_HASHQUOTEDSTRING=22 val SCE_C_PREPROCESSORCOMMENT=23 val SCE_C_PREPROCESSORCOMMENTDOC=24 val SCE_C_USERLITERAL=25 val SCE_C_TASKMARKER=26 val SCE_C_ESCAPESEQUENCE=27 # Lexical states for SCLEX_D lex D=SCLEX_D SCE_D_ val SCE_D_DEFAULT=0 val SCE_D_COMMENT=1 val SCE_D_COMMENTLINE=2 val SCE_D_COMMENTDOC=3 val SCE_D_COMMENTNESTED=4 val SCE_D_NUMBER=5 val SCE_D_WORD=6 val SCE_D_WORD2=7 val SCE_D_WORD3=8 val SCE_D_TYPEDEF=9 val SCE_D_STRING=10 val SCE_D_STRINGEOL=11 val SCE_D_CHARACTER=12 val SCE_D_OPERATOR=13 val SCE_D_IDENTIFIER=14 val SCE_D_COMMENTLINEDOC=15 val SCE_D_COMMENTDOCKEYWORD=16 val SCE_D_COMMENTDOCKEYWORDERROR=17 val SCE_D_STRINGB=18 val SCE_D_STRINGR=19 val SCE_D_WORD5=20 val SCE_D_WORD6=21 val SCE_D_WORD7=22 # Lexical states for SCLEX_TCL lex TCL=SCLEX_TCL SCE_TCL_ val SCE_TCL_DEFAULT=0 val SCE_TCL_COMMENT=1 val SCE_TCL_COMMENTLINE=2 val SCE_TCL_NUMBER=3 val SCE_TCL_WORD_IN_QUOTE=4 val SCE_TCL_IN_QUOTE=5 val SCE_TCL_OPERATOR=6 val SCE_TCL_IDENTIFIER=7 val SCE_TCL_SUBSTITUTION=8 val SCE_TCL_SUB_BRACE=9 val SCE_TCL_MODIFIER=10 val SCE_TCL_EXPAND=11 val SCE_TCL_WORD=12 val SCE_TCL_WORD2=13 val SCE_TCL_WORD3=14 val SCE_TCL_WORD4=15 val SCE_TCL_WORD5=16 val SCE_TCL_WORD6=17 val SCE_TCL_WORD7=18 val SCE_TCL_WORD8=19 val SCE_TCL_COMMENT_BOX=20 val SCE_TCL_BLOCK_COMMENT=21 # Lexical states for SCLEX_HTML, SCLEX_XML lex HTML=SCLEX_HTML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_ lex XML=SCLEX_XML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_ val SCE_H_DEFAULT=0 val SCE_H_TAG=1 val SCE_H_TAGUNKNOWN=2 val SCE_H_ATTRIBUTE=3 val SCE_H_ATTRIBUTEUNKNOWN=4 val SCE_H_NUMBER=5 val SCE_H_DOUBLESTRING=6 val SCE_H_SINGLESTRING=7 val SCE_H_OTHER=8 val SCE_H_COMMENT=9 val SCE_H_ENTITY=10 # XML and ASP val SCE_H_TAGEND=11 val SCE_H_XMLSTART=12 val SCE_H_XMLEND=13 val SCE_H_SCRIPT=14 val SCE_H_ASP=15 val SCE_H_ASPAT=16 val SCE_H_CDATA=17 val SCE_H_QUESTION=18 # More HTML val SCE_H_VALUE=19 # X-Code val SCE_H_XCCOMMENT=20 # SGML val SCE_H_SGML_DEFAULT=21 val SCE_H_SGML_COMMAND=22 val SCE_H_SGML_1ST_PARAM=23 val SCE_H_SGML_DOUBLESTRING=24 val SCE_H_SGML_SIMPLESTRING=25 val SCE_H_SGML_ERROR=26 val SCE_H_SGML_SPECIAL=27 val SCE_H_SGML_ENTITY=28 val SCE_H_SGML_COMMENT=29 val SCE_H_SGML_1ST_PARAM_COMMENT=30 val SCE_H_SGML_BLOCK_DEFAULT=31 # Embedded Javascript val SCE_HJ_START=40 val SCE_HJ_DEFAULT=41 val SCE_HJ_COMMENT=42 val SCE_HJ_COMMENTLINE=43 val SCE_HJ_COMMENTDOC=44 val SCE_HJ_NUMBER=45 val SCE_HJ_WORD=46 val SCE_HJ_KEYWORD=47 val SCE_HJ_DOUBLESTRING=48 val SCE_HJ_SINGLESTRING=49 val SCE_HJ_SYMBOLS=50 val SCE_HJ_STRINGEOL=51 val SCE_HJ_REGEX=52 # ASP Javascript val SCE_HJA_START=55 val SCE_HJA_DEFAULT=56 val SCE_HJA_COMMENT=57 val SCE_HJA_COMMENTLINE=58 val SCE_HJA_COMMENTDOC=59 val SCE_HJA_NUMBER=60 val SCE_HJA_WORD=61 val SCE_HJA_KEYWORD=62 val SCE_HJA_DOUBLESTRING=63 val SCE_HJA_SINGLESTRING=64 val SCE_HJA_SYMBOLS=65 val SCE_HJA_STRINGEOL=66 val SCE_HJA_REGEX=67 # Embedded VBScript val SCE_HB_START=70 val SCE_HB_DEFAULT=71 val SCE_HB_COMMENTLINE=72 val SCE_HB_NUMBER=73 val SCE_HB_WORD=74 val SCE_HB_STRING=75 val SCE_HB_IDENTIFIER=76 val SCE_HB_STRINGEOL=77 # ASP VBScript val SCE_HBA_START=80 val SCE_HBA_DEFAULT=81 val SCE_HBA_COMMENTLINE=82 val SCE_HBA_NUMBER=83 val SCE_HBA_WORD=84 val SCE_HBA_STRING=85 val SCE_HBA_IDENTIFIER=86 val SCE_HBA_STRINGEOL=87 # Embedded Python val SCE_HP_START=90 val SCE_HP_DEFAULT=91 val SCE_HP_COMMENTLINE=92 val SCE_HP_NUMBER=93 val SCE_HP_STRING=94 val SCE_HP_CHARACTER=95 val SCE_HP_WORD=96 val SCE_HP_TRIPLE=97 val SCE_HP_TRIPLEDOUBLE=98 val SCE_HP_CLASSNAME=99 val SCE_HP_DEFNAME=100 val SCE_HP_OPERATOR=101 val SCE_HP_IDENTIFIER=102 # PHP val SCE_HPHP_COMPLEX_VARIABLE=104 # ASP Python val SCE_HPA_START=105 val SCE_HPA_DEFAULT=106 val SCE_HPA_COMMENTLINE=107 val SCE_HPA_NUMBER=108 val SCE_HPA_STRING=109 val SCE_HPA_CHARACTER=110 val SCE_HPA_WORD=111 val SCE_HPA_TRIPLE=112 val SCE_HPA_TRIPLEDOUBLE=113 val SCE_HPA_CLASSNAME=114 val SCE_HPA_DEFNAME=115 val SCE_HPA_OPERATOR=116 val SCE_HPA_IDENTIFIER=117 # PHP val SCE_HPHP_DEFAULT=118 val SCE_HPHP_HSTRING=119 val SCE_HPHP_SIMPLESTRING=120 val SCE_HPHP_WORD=121 val SCE_HPHP_NUMBER=122 val SCE_HPHP_VARIABLE=123 val SCE_HPHP_COMMENT=124 val SCE_HPHP_COMMENTLINE=125 val SCE_HPHP_HSTRING_VARIABLE=126 val SCE_HPHP_OPERATOR=127 # Lexical states for SCLEX_PERL lex Perl=SCLEX_PERL SCE_PL_ val SCE_PL_DEFAULT=0 val SCE_PL_ERROR=1 val SCE_PL_COMMENTLINE=2 val SCE_PL_POD=3 val SCE_PL_NUMBER=4 val SCE_PL_WORD=5 val SCE_PL_STRING=6 val SCE_PL_CHARACTER=7 val SCE_PL_PUNCTUATION=8 val SCE_PL_PREPROCESSOR=9 val SCE_PL_OPERATOR=10 val SCE_PL_IDENTIFIER=11 val SCE_PL_SCALAR=12 val SCE_PL_ARRAY=13 val SCE_PL_HASH=14 val SCE_PL_SYMBOLTABLE=15 val SCE_PL_VARIABLE_INDEXER=16 val SCE_PL_REGEX=17 val SCE_PL_REGSUBST=18 val SCE_PL_LONGQUOTE=19 val SCE_PL_BACKTICKS=20 val SCE_PL_DATASECTION=21 val SCE_PL_HERE_DELIM=22 val SCE_PL_HERE_Q=23 val SCE_PL_HERE_QQ=24 val SCE_PL_HERE_QX=25 val SCE_PL_STRING_Q=26 val SCE_PL_STRING_QQ=27 val SCE_PL_STRING_QX=28 val SCE_PL_STRING_QR=29 val SCE_PL_STRING_QW=30 val SCE_PL_POD_VERB=31 val SCE_PL_SUB_PROTOTYPE=40 val SCE_PL_FORMAT_IDENT=41 val SCE_PL_FORMAT=42 val SCE_PL_STRING_VAR=43 val SCE_PL_XLAT=44 val SCE_PL_REGEX_VAR=54 val SCE_PL_REGSUBST_VAR=55 val SCE_PL_BACKTICKS_VAR=57 val SCE_PL_HERE_QQ_VAR=61 val SCE_PL_HERE_QX_VAR=62 val SCE_PL_STRING_QQ_VAR=64 val SCE_PL_STRING_QX_VAR=65 val SCE_PL_STRING_QR_VAR=66 # Lexical states for SCLEX_RUBY lex Ruby=SCLEX_RUBY SCE_RB_ val SCE_RB_DEFAULT=0 val SCE_RB_ERROR=1 val SCE_RB_COMMENTLINE=2 val SCE_RB_POD=3 val SCE_RB_NUMBER=4 val SCE_RB_WORD=5 val SCE_RB_STRING=6 val SCE_RB_CHARACTER=7 val SCE_RB_CLASSNAME=8 val SCE_RB_DEFNAME=9 val SCE_RB_OPERATOR=10 val SCE_RB_IDENTIFIER=11 val SCE_RB_REGEX=12 val SCE_RB_GLOBAL=13 val SCE_RB_SYMBOL=14 val SCE_RB_MODULE_NAME=15 val SCE_RB_INSTANCE_VAR=16 val SCE_RB_CLASS_VAR=17 val SCE_RB_BACKTICKS=18 val SCE_RB_DATASECTION=19 val SCE_RB_HERE_DELIM=20 val SCE_RB_HERE_Q=21 val SCE_RB_HERE_QQ=22 val SCE_RB_HERE_QX=23 val SCE_RB_STRING_Q=24 val SCE_RB_STRING_QQ=25 val SCE_RB_STRING_QX=26 val SCE_RB_STRING_QR=27 val SCE_RB_STRING_QW=28 val SCE_RB_WORD_DEMOTED=29 val SCE_RB_STDIN=30 val SCE_RB_STDOUT=31 val SCE_RB_STDERR=40 val SCE_RB_UPPER_BOUND=41 # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC, SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_FREEBASIC lex VB=SCLEX_VB SCE_B_ lex VBScript=SCLEX_VBSCRIPT SCE_B_ lex PowerBasic=SCLEX_POWERBASIC SCE_B_ lex BlitzBasic=SCLEX_BLITZBASIC SCE_B_ lex PureBasic=SCLEX_PUREBASIC SCE_B_ lex FreeBasic=SCLEX_FREEBASIC SCE_B_ val SCE_B_DEFAULT=0 val SCE_B_COMMENT=1 val SCE_B_NUMBER=2 val SCE_B_KEYWORD=3 val SCE_B_STRING=4 val SCE_B_PREPROCESSOR=5 val SCE_B_OPERATOR=6 val SCE_B_IDENTIFIER=7 val SCE_B_DATE=8 val SCE_B_STRINGEOL=9 val SCE_B_KEYWORD2=10 val SCE_B_KEYWORD3=11 val SCE_B_KEYWORD4=12 val SCE_B_CONSTANT=13 val SCE_B_ASM=14 val SCE_B_LABEL=15 val SCE_B_ERROR=16 val SCE_B_HEXNUMBER=17 val SCE_B_BINNUMBER=18 val SCE_B_COMMENTBLOCK=19 val SCE_B_DOCLINE=20 val SCE_B_DOCBLOCK=21 val SCE_B_DOCKEYWORD=22 # Lexical states for SCLEX_PROPERTIES lex Properties=SCLEX_PROPERTIES SCE_PROPS_ val SCE_PROPS_DEFAULT=0 val SCE_PROPS_COMMENT=1 val SCE_PROPS_SECTION=2 val SCE_PROPS_ASSIGNMENT=3 val SCE_PROPS_DEFVAL=4 val SCE_PROPS_KEY=5 # Lexical states for SCLEX_LATEX lex LaTeX=SCLEX_LATEX SCE_L_ val SCE_L_DEFAULT=0 val SCE_L_COMMAND=1 val SCE_L_TAG=2 val SCE_L_MATH=3 val SCE_L_COMMENT=4 val SCE_L_TAG2=5 val SCE_L_MATH2=6 val SCE_L_COMMENT2=7 val SCE_L_VERBATIM=8 val SCE_L_SHORTCMD=9 val SCE_L_SPECIAL=10 val SCE_L_CMDOPT=11 val SCE_L_ERROR=12 # Lexical states for SCLEX_LUA lex Lua=SCLEX_LUA SCE_LUA_ val SCE_LUA_DEFAULT=0 val SCE_LUA_COMMENT=1 val SCE_LUA_COMMENTLINE=2 val SCE_LUA_COMMENTDOC=3 val SCE_LUA_NUMBER=4 val SCE_LUA_WORD=5 val SCE_LUA_STRING=6 val SCE_LUA_CHARACTER=7 val SCE_LUA_LITERALSTRING=8 val SCE_LUA_PREPROCESSOR=9 val SCE_LUA_OPERATOR=10 val SCE_LUA_IDENTIFIER=11 val SCE_LUA_STRINGEOL=12 val SCE_LUA_WORD2=13 val SCE_LUA_WORD3=14 val SCE_LUA_WORD4=15 val SCE_LUA_WORD5=16 val SCE_LUA_WORD6=17 val SCE_LUA_WORD7=18 val SCE_LUA_WORD8=19 val SCE_LUA_LABEL=20 # Lexical states for SCLEX_ERRORLIST lex ErrorList=SCLEX_ERRORLIST SCE_ERR_ val SCE_ERR_DEFAULT=0 val SCE_ERR_PYTHON=1 val SCE_ERR_GCC=2 val SCE_ERR_MS=3 val SCE_ERR_CMD=4 val SCE_ERR_BORLAND=5 val SCE_ERR_PERL=6 val SCE_ERR_NET=7 val SCE_ERR_LUA=8 val SCE_ERR_CTAG=9 val SCE_ERR_DIFF_CHANGED=10 val SCE_ERR_DIFF_ADDITION=11 val SCE_ERR_DIFF_DELETION=12 val SCE_ERR_DIFF_MESSAGE=13 val SCE_ERR_PHP=14 val SCE_ERR_ELF=15 val SCE_ERR_IFC=16 val SCE_ERR_IFORT=17 val SCE_ERR_ABSF=18 val SCE_ERR_TIDY=19 val SCE_ERR_JAVA_STACK=20 val SCE_ERR_VALUE=21 val SCE_ERR_GCC_INCLUDED_FROM=22 val SCE_ERR_ESCSEQ=23 val SCE_ERR_ESCSEQ_UNKNOWN=24 val SCE_ERR_ES_BLACK=40 val SCE_ERR_ES_RED=41 val SCE_ERR_ES_GREEN=42 val SCE_ERR_ES_BROWN=43 val SCE_ERR_ES_BLUE=44 val SCE_ERR_ES_MAGENTA=45 val SCE_ERR_ES_CYAN=46 val SCE_ERR_ES_GRAY=47 val SCE_ERR_ES_DARK_GRAY=48 val SCE_ERR_ES_BRIGHT_RED=49 val SCE_ERR_ES_BRIGHT_GREEN=50 val SCE_ERR_ES_YELLOW=51 val SCE_ERR_ES_BRIGHT_BLUE=52 val SCE_ERR_ES_BRIGHT_MAGENTA=53 val SCE_ERR_ES_BRIGHT_CYAN=54 val SCE_ERR_ES_WHITE=55 # Lexical states for SCLEX_BATCH lex Batch=SCLEX_BATCH SCE_BAT_ val SCE_BAT_DEFAULT=0 val SCE_BAT_COMMENT=1 val SCE_BAT_WORD=2 val SCE_BAT_LABEL=3 val SCE_BAT_HIDE=4 val SCE_BAT_COMMAND=5 val SCE_BAT_IDENTIFIER=6 val SCE_BAT_OPERATOR=7 # Lexical states for SCLEX_TCMD lex TCMD=SCLEX_TCMD SCE_TCMD_ val SCE_TCMD_DEFAULT=0 val SCE_TCMD_COMMENT=1 val SCE_TCMD_WORD=2 val SCE_TCMD_LABEL=3 val SCE_TCMD_HIDE=4 val SCE_TCMD_COMMAND=5 val SCE_TCMD_IDENTIFIER=6 val SCE_TCMD_OPERATOR=7 val SCE_TCMD_ENVIRONMENT=8 val SCE_TCMD_EXPANSION=9 val SCE_TCMD_CLABEL=10 # Lexical states for SCLEX_MAKEFILE lex MakeFile=SCLEX_MAKEFILE SCE_MAKE_ val SCE_MAKE_DEFAULT=0 val SCE_MAKE_COMMENT=1 val SCE_MAKE_PREPROCESSOR=2 val SCE_MAKE_IDENTIFIER=3 val SCE_MAKE_OPERATOR=4 val SCE_MAKE_TARGET=5 val SCE_MAKE_IDEOL=9 # Lexical states for SCLEX_DIFF lex Diff=SCLEX_DIFF SCE_DIFF_ val SCE_DIFF_DEFAULT=0 val SCE_DIFF_COMMENT=1 val SCE_DIFF_COMMAND=2 val SCE_DIFF_HEADER=3 val SCE_DIFF_POSITION=4 val SCE_DIFF_DELETED=5 val SCE_DIFF_ADDED=6 val SCE_DIFF_CHANGED=7 val SCE_DIFF_PATCH_ADD=8 val SCE_DIFF_PATCH_DELETE=9 val SCE_DIFF_REMOVED_PATCH_ADD=10 val SCE_DIFF_REMOVED_PATCH_DELETE=11 # Lexical states for SCLEX_CONF (Apache Configuration Files Lexer) lex Conf=SCLEX_CONF SCE_CONF_ val SCE_CONF_DEFAULT=0 val SCE_CONF_COMMENT=1 val SCE_CONF_NUMBER=2 val SCE_CONF_IDENTIFIER=3 val SCE_CONF_EXTENSION=4 val SCE_CONF_PARAMETER=5 val SCE_CONF_STRING=6 val SCE_CONF_OPERATOR=7 val SCE_CONF_IP=8 val SCE_CONF_DIRECTIVE=9 # Lexical states for SCLEX_AVE, Avenue lex Avenue=SCLEX_AVE SCE_AVE_ val SCE_AVE_DEFAULT=0 val SCE_AVE_COMMENT=1 val SCE_AVE_NUMBER=2 val SCE_AVE_WORD=3 val SCE_AVE_STRING=6 val SCE_AVE_ENUM=7 val SCE_AVE_STRINGEOL=8 val SCE_AVE_IDENTIFIER=9 val SCE_AVE_OPERATOR=10 val SCE_AVE_WORD1=11 val SCE_AVE_WORD2=12 val SCE_AVE_WORD3=13 val SCE_AVE_WORD4=14 val SCE_AVE_WORD5=15 val SCE_AVE_WORD6=16 # Lexical states for SCLEX_ADA lex Ada=SCLEX_ADA SCE_ADA_ val SCE_ADA_DEFAULT=0 val SCE_ADA_WORD=1 val SCE_ADA_IDENTIFIER=2 val SCE_ADA_NUMBER=3 val SCE_ADA_DELIMITER=4 val SCE_ADA_CHARACTER=5 val SCE_ADA_CHARACTEREOL=6 val SCE_ADA_STRING=7 val SCE_ADA_STRINGEOL=8 val SCE_ADA_LABEL=9 val SCE_ADA_COMMENTLINE=10 val SCE_ADA_ILLEGAL=11 # Lexical states for SCLEX_BAAN lex Baan=SCLEX_BAAN SCE_BAAN_ val SCE_BAAN_DEFAULT=0 val SCE_BAAN_COMMENT=1 val SCE_BAAN_COMMENTDOC=2 val SCE_BAAN_NUMBER=3 val SCE_BAAN_WORD=4 val SCE_BAAN_STRING=5 val SCE_BAAN_PREPROCESSOR=6 val SCE_BAAN_OPERATOR=7 val SCE_BAAN_IDENTIFIER=8 val SCE_BAAN_STRINGEOL=9 val SCE_BAAN_WORD2=10 val SCE_BAAN_WORD3=11 val SCE_BAAN_WORD4=12 val SCE_BAAN_WORD5=13 val SCE_BAAN_WORD6=14 val SCE_BAAN_WORD7=15 val SCE_BAAN_WORD8=16 val SCE_BAAN_WORD9=17 val SCE_BAAN_TABLEDEF=18 val SCE_BAAN_TABLESQL=19 val SCE_BAAN_FUNCTION=20 val SCE_BAAN_DOMDEF=21 val SCE_BAAN_FUNCDEF=22 val SCE_BAAN_OBJECTDEF=23 val SCE_BAAN_DEFINEDEF=24 # Lexical states for SCLEX_LISP lex Lisp=SCLEX_LISP SCE_LISP_ val SCE_LISP_DEFAULT=0 val SCE_LISP_COMMENT=1 val SCE_LISP_NUMBER=2 val SCE_LISP_KEYWORD=3 val SCE_LISP_KEYWORD_KW=4 val SCE_LISP_SYMBOL=5 val SCE_LISP_STRING=6 val SCE_LISP_STRINGEOL=8 val SCE_LISP_IDENTIFIER=9 val SCE_LISP_OPERATOR=10 val SCE_LISP_SPECIAL=11 val SCE_LISP_MULTI_COMMENT=12 # Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW lex Eiffel=SCLEX_EIFFEL SCE_EIFFEL_ lex EiffelKW=SCLEX_EIFFELKW SCE_EIFFEL_ val SCE_EIFFEL_DEFAULT=0 val SCE_EIFFEL_COMMENTLINE=1 val SCE_EIFFEL_NUMBER=2 val SCE_EIFFEL_WORD=3 val SCE_EIFFEL_STRING=4 val SCE_EIFFEL_CHARACTER=5 val SCE_EIFFEL_OPERATOR=6 val SCE_EIFFEL_IDENTIFIER=7 val SCE_EIFFEL_STRINGEOL=8 # Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer) lex NNCronTab=SCLEX_NNCRONTAB SCE_NNCRONTAB_ val SCE_NNCRONTAB_DEFAULT=0 val SCE_NNCRONTAB_COMMENT=1 val SCE_NNCRONTAB_TASK=2 val SCE_NNCRONTAB_SECTION=3 val SCE_NNCRONTAB_KEYWORD=4 val SCE_NNCRONTAB_MODIFIER=5 val SCE_NNCRONTAB_ASTERISK=6 val SCE_NNCRONTAB_NUMBER=7 val SCE_NNCRONTAB_STRING=8 val SCE_NNCRONTAB_ENVIRONMENT=9 val SCE_NNCRONTAB_IDENTIFIER=10 # Lexical states for SCLEX_FORTH (Forth Lexer) lex Forth=SCLEX_FORTH SCE_FORTH_ val SCE_FORTH_DEFAULT=0 val SCE_FORTH_COMMENT=1 val SCE_FORTH_COMMENT_ML=2 val SCE_FORTH_IDENTIFIER=3 val SCE_FORTH_CONTROL=4 val SCE_FORTH_KEYWORD=5 val SCE_FORTH_DEFWORD=6 val SCE_FORTH_PREWORD1=7 val SCE_FORTH_PREWORD2=8 val SCE_FORTH_NUMBER=9 val SCE_FORTH_STRING=10 val SCE_FORTH_LOCALE=11 # Lexical states for SCLEX_MATLAB lex MatLab=SCLEX_MATLAB SCE_MATLAB_ val SCE_MATLAB_DEFAULT=0 val SCE_MATLAB_COMMENT=1 val SCE_MATLAB_COMMAND=2 val SCE_MATLAB_NUMBER=3 val SCE_MATLAB_KEYWORD=4 # single quoted string val SCE_MATLAB_STRING=5 val SCE_MATLAB_OPERATOR=6 val SCE_MATLAB_IDENTIFIER=7 val SCE_MATLAB_DOUBLEQUOTESTRING=8 # Lexical states for SCLEX_MAXIMA lex Maxima=SCLEX_MAXIMA SCE_MAXIMA_ val SCE_MAXIMA_OPERATOR=0 val SCE_MAXIMA_COMMANDENDING=1 val SCE_MAXIMA_COMMENT=2 val SCE_MAXIMA_NUMBER=3 val SCE_MAXIMA_STRING=4 val SCE_MAXIMA_COMMAND=5 val SCE_MAXIMA_VARIABLE=6 val SCE_MAXIMA_UNKNOWN=7 # Lexical states for SCLEX_SCRIPTOL lex Sol=SCLEX_SCRIPTOL SCE_SCRIPTOL_ val SCE_SCRIPTOL_DEFAULT=0 val SCE_SCRIPTOL_WHITE=1 val SCE_SCRIPTOL_COMMENTLINE=2 val SCE_SCRIPTOL_PERSISTENT=3 val SCE_SCRIPTOL_CSTYLE=4 val SCE_SCRIPTOL_COMMENTBLOCK=5 val SCE_SCRIPTOL_NUMBER=6 val SCE_SCRIPTOL_STRING=7 val SCE_SCRIPTOL_CHARACTER=8 val SCE_SCRIPTOL_STRINGEOL=9 val SCE_SCRIPTOL_KEYWORD=10 val SCE_SCRIPTOL_OPERATOR=11 val SCE_SCRIPTOL_IDENTIFIER=12 val SCE_SCRIPTOL_TRIPLE=13 val SCE_SCRIPTOL_CLASSNAME=14 val SCE_SCRIPTOL_PREPROCESSOR=15 # Lexical states for SCLEX_ASM, SCLEX_AS lex Asm=SCLEX_ASM SCE_ASM_ lex As=SCLEX_AS SCE_ASM_ val SCE_ASM_DEFAULT=0 val SCE_ASM_COMMENT=1 val SCE_ASM_NUMBER=2 val SCE_ASM_STRING=3 val SCE_ASM_OPERATOR=4 val SCE_ASM_IDENTIFIER=5 val SCE_ASM_CPUINSTRUCTION=6 val SCE_ASM_MATHINSTRUCTION=7 val SCE_ASM_REGISTER=8 val SCE_ASM_DIRECTIVE=9 val SCE_ASM_DIRECTIVEOPERAND=10 val SCE_ASM_COMMENTBLOCK=11 val SCE_ASM_CHARACTER=12 val SCE_ASM_STRINGEOL=13 val SCE_ASM_EXTINSTRUCTION=14 val SCE_ASM_COMMENTDIRECTIVE=15 # Lexical states for SCLEX_FORTRAN lex Fortran=SCLEX_FORTRAN SCE_F_ lex F77=SCLEX_F77 SCE_F_ val SCE_F_DEFAULT=0 val SCE_F_COMMENT=1 val SCE_F_NUMBER=2 val SCE_F_STRING1=3 val SCE_F_STRING2=4 val SCE_F_STRINGEOL=5 val SCE_F_OPERATOR=6 val SCE_F_IDENTIFIER=7 val SCE_F_WORD=8 val SCE_F_WORD2=9 val SCE_F_WORD3=10 val SCE_F_PREPROCESSOR=11 val SCE_F_OPERATOR2=12 val SCE_F_LABEL=13 val SCE_F_CONTINUATION=14 # Lexical states for SCLEX_CSS lex CSS=SCLEX_CSS SCE_CSS_ val SCE_CSS_DEFAULT=0 val SCE_CSS_TAG=1 val SCE_CSS_CLASS=2 val SCE_CSS_PSEUDOCLASS=3 val SCE_CSS_UNKNOWN_PSEUDOCLASS=4 val SCE_CSS_OPERATOR=5 val SCE_CSS_IDENTIFIER=6 val SCE_CSS_UNKNOWN_IDENTIFIER=7 val SCE_CSS_VALUE=8 val SCE_CSS_COMMENT=9 val SCE_CSS_ID=10 val SCE_CSS_IMPORTANT=11 val SCE_CSS_DIRECTIVE=12 val SCE_CSS_DOUBLESTRING=13 val SCE_CSS_SINGLESTRING=14 val SCE_CSS_IDENTIFIER2=15 val SCE_CSS_ATTRIBUTE=16 val SCE_CSS_IDENTIFIER3=17 val SCE_CSS_PSEUDOELEMENT=18 val SCE_CSS_EXTENDED_IDENTIFIER=19 val SCE_CSS_EXTENDED_PSEUDOCLASS=20 val SCE_CSS_EXTENDED_PSEUDOELEMENT=21 val SCE_CSS_MEDIA=22 val SCE_CSS_VARIABLE=23 # Lexical states for SCLEX_POV lex POV=SCLEX_POV SCE_POV_ val SCE_POV_DEFAULT=0 val SCE_POV_COMMENT=1 val SCE_POV_COMMENTLINE=2 val SCE_POV_NUMBER=3 val SCE_POV_OPERATOR=4 val SCE_POV_IDENTIFIER=5 val SCE_POV_STRING=6 val SCE_POV_STRINGEOL=7 val SCE_POV_DIRECTIVE=8 val SCE_POV_BADDIRECTIVE=9 val SCE_POV_WORD2=10 val SCE_POV_WORD3=11 val SCE_POV_WORD4=12 val SCE_POV_WORD5=13 val SCE_POV_WORD6=14 val SCE_POV_WORD7=15 val SCE_POV_WORD8=16 # Lexical states for SCLEX_LOUT lex LOUT=SCLEX_LOUT SCE_LOUT_ val SCE_LOUT_DEFAULT=0 val SCE_LOUT_COMMENT=1 val SCE_LOUT_NUMBER=2 val SCE_LOUT_WORD=3 val SCE_LOUT_WORD2=4 val SCE_LOUT_WORD3=5 val SCE_LOUT_WORD4=6 val SCE_LOUT_STRING=7 val SCE_LOUT_OPERATOR=8 val SCE_LOUT_IDENTIFIER=9 val SCE_LOUT_STRINGEOL=10 # Lexical states for SCLEX_ESCRIPT lex ESCRIPT=SCLEX_ESCRIPT SCE_ESCRIPT_ val SCE_ESCRIPT_DEFAULT=0 val SCE_ESCRIPT_COMMENT=1 val SCE_ESCRIPT_COMMENTLINE=2 val SCE_ESCRIPT_COMMENTDOC=3 val SCE_ESCRIPT_NUMBER=4 val SCE_ESCRIPT_WORD=5 val SCE_ESCRIPT_STRING=6 val SCE_ESCRIPT_OPERATOR=7 val SCE_ESCRIPT_IDENTIFIER=8 val SCE_ESCRIPT_BRACE=9 val SCE_ESCRIPT_WORD2=10 val SCE_ESCRIPT_WORD3=11 # Lexical states for SCLEX_PS lex PS=SCLEX_PS SCE_PS_ val SCE_PS_DEFAULT=0 val SCE_PS_COMMENT=1 val SCE_PS_DSC_COMMENT=2 val SCE_PS_DSC_VALUE=3 val SCE_PS_NUMBER=4 val SCE_PS_NAME=5 val SCE_PS_KEYWORD=6 val SCE_PS_LITERAL=7 val SCE_PS_IMMEVAL=8 val SCE_PS_PAREN_ARRAY=9 val SCE_PS_PAREN_DICT=10 val SCE_PS_PAREN_PROC=11 val SCE_PS_TEXT=12 val SCE_PS_HEXSTRING=13 val SCE_PS_BASE85STRING=14 val SCE_PS_BADSTRINGCHAR=15 # Lexical states for SCLEX_NSIS lex NSIS=SCLEX_NSIS SCE_NSIS_ val SCE_NSIS_DEFAULT=0 val SCE_NSIS_COMMENT=1 val SCE_NSIS_STRINGDQ=2 val SCE_NSIS_STRINGLQ=3 val SCE_NSIS_STRINGRQ=4 val SCE_NSIS_FUNCTION=5 val SCE_NSIS_VARIABLE=6 val SCE_NSIS_LABEL=7 val SCE_NSIS_USERDEFINED=8 val SCE_NSIS_SECTIONDEF=9 val SCE_NSIS_SUBSECTIONDEF=10 val SCE_NSIS_IFDEFINEDEF=11 val SCE_NSIS_MACRODEF=12 val SCE_NSIS_STRINGVAR=13 val SCE_NSIS_NUMBER=14 val SCE_NSIS_SECTIONGROUP=15 val SCE_NSIS_PAGEEX=16 val SCE_NSIS_FUNCTIONDEF=17 val SCE_NSIS_COMMENTBOX=18 # Lexical states for SCLEX_MMIXAL lex MMIXAL=SCLEX_MMIXAL SCE_MMIXAL_ val SCE_MMIXAL_LEADWS=0 val SCE_MMIXAL_COMMENT=1 val SCE_MMIXAL_LABEL=2 val SCE_MMIXAL_OPCODE=3 val SCE_MMIXAL_OPCODE_PRE=4 val SCE_MMIXAL_OPCODE_VALID=5 val SCE_MMIXAL_OPCODE_UNKNOWN=6 val SCE_MMIXAL_OPCODE_POST=7 val SCE_MMIXAL_OPERANDS=8 val SCE_MMIXAL_NUMBER=9 val SCE_MMIXAL_REF=10 val SCE_MMIXAL_CHAR=11 val SCE_MMIXAL_STRING=12 val SCE_MMIXAL_REGISTER=13 val SCE_MMIXAL_HEX=14 val SCE_MMIXAL_OPERATOR=15 val SCE_MMIXAL_SYMBOL=16 val SCE_MMIXAL_INCLUDE=17 # Lexical states for SCLEX_CLW lex Clarion=SCLEX_CLW SCE_CLW_ val SCE_CLW_DEFAULT=0 val SCE_CLW_LABEL=1 val SCE_CLW_COMMENT=2 val SCE_CLW_STRING=3 val SCE_CLW_USER_IDENTIFIER=4 val SCE_CLW_INTEGER_CONSTANT=5 val SCE_CLW_REAL_CONSTANT=6 val SCE_CLW_PICTURE_STRING=7 val SCE_CLW_KEYWORD=8 val SCE_CLW_COMPILER_DIRECTIVE=9 val SCE_CLW_RUNTIME_EXPRESSIONS=10 val SCE_CLW_BUILTIN_PROCEDURES_FUNCTION=11 val SCE_CLW_STRUCTURE_DATA_TYPE=12 val SCE_CLW_ATTRIBUTE=13 val SCE_CLW_STANDARD_EQUATE=14 val SCE_CLW_ERROR=15 val SCE_CLW_DEPRECATED=16 # Lexical states for SCLEX_LOT lex LOT=SCLEX_LOT SCE_LOT_ val SCE_LOT_DEFAULT=0 val SCE_LOT_HEADER=1 val SCE_LOT_BREAK=2 val SCE_LOT_SET=3 val SCE_LOT_PASS=4 val SCE_LOT_FAIL=5 val SCE_LOT_ABORT=6 # Lexical states for SCLEX_YAML lex YAML=SCLEX_YAML SCE_YAML_ val SCE_YAML_DEFAULT=0 val SCE_YAML_COMMENT=1 val SCE_YAML_IDENTIFIER=2 val SCE_YAML_KEYWORD=3 val SCE_YAML_NUMBER=4 val SCE_YAML_REFERENCE=5 val SCE_YAML_DOCUMENT=6 val SCE_YAML_TEXT=7 val SCE_YAML_ERROR=8 val SCE_YAML_OPERATOR=9 # Lexical states for SCLEX_TEX lex TeX=SCLEX_TEX SCE_TEX_ val SCE_TEX_DEFAULT=0 val SCE_TEX_SPECIAL=1 val SCE_TEX_GROUP=2 val SCE_TEX_SYMBOL=3 val SCE_TEX_COMMAND=4 val SCE_TEX_TEXT=5 lex Metapost=SCLEX_METAPOST SCE_METAPOST_ val SCE_METAPOST_DEFAULT=0 val SCE_METAPOST_SPECIAL=1 val SCE_METAPOST_GROUP=2 val SCE_METAPOST_SYMBOL=3 val SCE_METAPOST_COMMAND=4 val SCE_METAPOST_TEXT=5 val SCE_METAPOST_EXTRA=6 # Lexical states for SCLEX_ERLANG lex Erlang=SCLEX_ERLANG SCE_ERLANG_ val SCE_ERLANG_DEFAULT=0 val SCE_ERLANG_COMMENT=1 val SCE_ERLANG_VARIABLE=2 val SCE_ERLANG_NUMBER=3 val SCE_ERLANG_KEYWORD=4 val SCE_ERLANG_STRING=5 val SCE_ERLANG_OPERATOR=6 val SCE_ERLANG_ATOM=7 val SCE_ERLANG_FUNCTION_NAME=8 val SCE_ERLANG_CHARACTER=9 val SCE_ERLANG_MACRO=10 val SCE_ERLANG_RECORD=11 val SCE_ERLANG_PREPROC=12 val SCE_ERLANG_NODE_NAME=13 val SCE_ERLANG_COMMENT_FUNCTION=14 val SCE_ERLANG_COMMENT_MODULE=15 val SCE_ERLANG_COMMENT_DOC=16 val SCE_ERLANG_COMMENT_DOC_MACRO=17 val SCE_ERLANG_ATOM_QUOTED=18 val SCE_ERLANG_MACRO_QUOTED=19 val SCE_ERLANG_RECORD_QUOTED=20 val SCE_ERLANG_NODE_NAME_QUOTED=21 val SCE_ERLANG_BIFS=22 val SCE_ERLANG_MODULES=23 val SCE_ERLANG_MODULES_ATT=24 val SCE_ERLANG_UNKNOWN=31 # Lexical states for SCLEX_OCTAVE are identical to MatLab lex Octave=SCLEX_OCTAVE SCE_MATLAB_ # Lexical states for SCLEX_MSSQL lex MSSQL=SCLEX_MSSQL SCE_MSSQL_ val SCE_MSSQL_DEFAULT=0 val SCE_MSSQL_COMMENT=1 val SCE_MSSQL_LINE_COMMENT=2 val SCE_MSSQL_NUMBER=3 val SCE_MSSQL_STRING=4 val SCE_MSSQL_OPERATOR=5 val SCE_MSSQL_IDENTIFIER=6 val SCE_MSSQL_VARIABLE=7 val SCE_MSSQL_COLUMN_NAME=8 val SCE_MSSQL_STATEMENT=9 val SCE_MSSQL_DATATYPE=10 val SCE_MSSQL_SYSTABLE=11 val SCE_MSSQL_GLOBAL_VARIABLE=12 val SCE_MSSQL_FUNCTION=13 val SCE_MSSQL_STORED_PROCEDURE=14 val SCE_MSSQL_DEFAULT_PREF_DATATYPE=15 val SCE_MSSQL_COLUMN_NAME_2=16 # Lexical states for SCLEX_VERILOG lex Verilog=SCLEX_VERILOG SCE_V_ val SCE_V_DEFAULT=0 val SCE_V_COMMENT=1 val SCE_V_COMMENTLINE=2 val SCE_V_COMMENTLINEBANG=3 val SCE_V_NUMBER=4 val SCE_V_WORD=5 val SCE_V_STRING=6 val SCE_V_WORD2=7 val SCE_V_WORD3=8 val SCE_V_PREPROCESSOR=9 val SCE_V_OPERATOR=10 val SCE_V_IDENTIFIER=11 val SCE_V_STRINGEOL=12 val SCE_V_USER=19 val SCE_V_COMMENT_WORD=20 val SCE_V_INPUT=21 val SCE_V_OUTPUT=22 val SCE_V_INOUT=23 val SCE_V_PORT_CONNECT=24 # Lexical states for SCLEX_KIX lex Kix=SCLEX_KIX SCE_KIX_ val SCE_KIX_DEFAULT=0 val SCE_KIX_COMMENT=1 val SCE_KIX_STRING1=2 val SCE_KIX_STRING2=3 val SCE_KIX_NUMBER=4 val SCE_KIX_VAR=5 val SCE_KIX_MACRO=6 val SCE_KIX_KEYWORD=7 val SCE_KIX_FUNCTIONS=8 val SCE_KIX_OPERATOR=9 val SCE_KIX_COMMENTSTREAM=10 val SCE_KIX_IDENTIFIER=31 # Lexical states for SCLEX_GUI4CLI lex Gui4Cli=SCLEX_GUI4CLI SCE_GC_ val SCE_GC_DEFAULT=0 val SCE_GC_COMMENTLINE=1 val SCE_GC_COMMENTBLOCK=2 val SCE_GC_GLOBAL=3 val SCE_GC_EVENT=4 val SCE_GC_ATTRIBUTE=5 val SCE_GC_CONTROL=6 val SCE_GC_COMMAND=7 val SCE_GC_STRING=8 val SCE_GC_OPERATOR=9 # Lexical states for SCLEX_SPECMAN lex Specman=SCLEX_SPECMAN SCE_SN_ val SCE_SN_DEFAULT=0 val SCE_SN_CODE=1 val SCE_SN_COMMENTLINE=2 val SCE_SN_COMMENTLINEBANG=3 val SCE_SN_NUMBER=4 val SCE_SN_WORD=5 val SCE_SN_STRING=6 val SCE_SN_WORD2=7 val SCE_SN_WORD3=8 val SCE_SN_PREPROCESSOR=9 val SCE_SN_OPERATOR=10 val SCE_SN_IDENTIFIER=11 val SCE_SN_STRINGEOL=12 val SCE_SN_REGEXTAG=13 val SCE_SN_SIGNAL=14 val SCE_SN_USER=19 # Lexical states for SCLEX_AU3 lex Au3=SCLEX_AU3 SCE_AU3_ val SCE_AU3_DEFAULT=0 val SCE_AU3_COMMENT=1 val SCE_AU3_COMMENTBLOCK=2 val SCE_AU3_NUMBER=3 val SCE_AU3_FUNCTION=4 val SCE_AU3_KEYWORD=5 val SCE_AU3_MACRO=6 val SCE_AU3_STRING=7 val SCE_AU3_OPERATOR=8 val SCE_AU3_VARIABLE=9 val SCE_AU3_SENT=10 val SCE_AU3_PREPROCESSOR=11 val SCE_AU3_SPECIAL=12 val SCE_AU3_EXPAND=13 val SCE_AU3_COMOBJ=14 val SCE_AU3_UDF=15 # Lexical states for SCLEX_APDL lex APDL=SCLEX_APDL SCE_APDL_ val SCE_APDL_DEFAULT=0 val SCE_APDL_COMMENT=1 val SCE_APDL_COMMENTBLOCK=2 val SCE_APDL_NUMBER=3 val SCE_APDL_STRING=4 val SCE_APDL_OPERATOR=5 val SCE_APDL_WORD=6 val SCE_APDL_PROCESSOR=7 val SCE_APDL_COMMAND=8 val SCE_APDL_SLASHCOMMAND=9 val SCE_APDL_STARCOMMAND=10 val SCE_APDL_ARGUMENT=11 val SCE_APDL_FUNCTION=12 # Lexical states for SCLEX_BASH lex Bash=SCLEX_BASH SCE_SH_ val SCE_SH_DEFAULT=0 val SCE_SH_ERROR=1 val SCE_SH_COMMENTLINE=2 val SCE_SH_NUMBER=3 val SCE_SH_WORD=4 val SCE_SH_STRING=5 val SCE_SH_CHARACTER=6 val SCE_SH_OPERATOR=7 val SCE_SH_IDENTIFIER=8 val SCE_SH_SCALAR=9 val SCE_SH_PARAM=10 val SCE_SH_BACKTICKS=11 val SCE_SH_HERE_DELIM=12 val SCE_SH_HERE_Q=13 # Lexical states for SCLEX_ASN1 lex Asn1=SCLEX_ASN1 SCE_ASN1_ val SCE_ASN1_DEFAULT=0 val SCE_ASN1_COMMENT=1 val SCE_ASN1_IDENTIFIER=2 val SCE_ASN1_STRING=3 val SCE_ASN1_OID=4 val SCE_ASN1_SCALAR=5 val SCE_ASN1_KEYWORD=6 val SCE_ASN1_ATTRIBUTE=7 val SCE_ASN1_DESCRIPTOR=8 val SCE_ASN1_TYPE=9 val SCE_ASN1_OPERATOR=10 # Lexical states for SCLEX_VHDL lex VHDL=SCLEX_VHDL SCE_VHDL_ val SCE_VHDL_DEFAULT=0 val SCE_VHDL_COMMENT=1 val SCE_VHDL_COMMENTLINEBANG=2 val SCE_VHDL_NUMBER=3 val SCE_VHDL_STRING=4 val SCE_VHDL_OPERATOR=5 val SCE_VHDL_IDENTIFIER=6 val SCE_VHDL_STRINGEOL=7 val SCE_VHDL_KEYWORD=8 val SCE_VHDL_STDOPERATOR=9 val SCE_VHDL_ATTRIBUTE=10 val SCE_VHDL_STDFUNCTION=11 val SCE_VHDL_STDPACKAGE=12 val SCE_VHDL_STDTYPE=13 val SCE_VHDL_USERWORD=14 val SCE_VHDL_BLOCK_COMMENT=15 # Lexical states for SCLEX_CAML lex Caml=SCLEX_CAML SCE_CAML_ val SCE_CAML_DEFAULT=0 val SCE_CAML_IDENTIFIER=1 val SCE_CAML_TAGNAME=2 val SCE_CAML_KEYWORD=3 val SCE_CAML_KEYWORD2=4 val SCE_CAML_KEYWORD3=5 val SCE_CAML_LINENUM=6 val SCE_CAML_OPERATOR=7 val SCE_CAML_NUMBER=8 val SCE_CAML_CHAR=9 val SCE_CAML_WHITE=10 val SCE_CAML_STRING=11 val SCE_CAML_COMMENT=12 val SCE_CAML_COMMENT1=13 val SCE_CAML_COMMENT2=14 val SCE_CAML_COMMENT3=15 # Lexical states for SCLEX_HASKELL lex Haskell=SCLEX_HASKELL SCE_HA_ val SCE_HA_DEFAULT=0 val SCE_HA_IDENTIFIER=1 val SCE_HA_KEYWORD=2 val SCE_HA_NUMBER=3 val SCE_HA_STRING=4 val SCE_HA_CHARACTER=5 val SCE_HA_CLASS=6 val SCE_HA_MODULE=7 val SCE_HA_CAPITAL=8 val SCE_HA_DATA=9 val SCE_HA_IMPORT=10 val SCE_HA_OPERATOR=11 val SCE_HA_INSTANCE=12 val SCE_HA_COMMENTLINE=13 val SCE_HA_COMMENTBLOCK=14 val SCE_HA_COMMENTBLOCK2=15 val SCE_HA_COMMENTBLOCK3=16 val SCE_HA_PRAGMA=17 val SCE_HA_PREPROCESSOR=18 val SCE_HA_STRINGEOL=19 val SCE_HA_RESERVED_OPERATOR=20 val SCE_HA_LITERATE_COMMENT=21 val SCE_HA_LITERATE_CODEDELIM=22 # Lexical states of SCLEX_TADS3 lex TADS3=SCLEX_TADS3 SCE_T3_ val SCE_T3_DEFAULT=0 val SCE_T3_X_DEFAULT=1 val SCE_T3_PREPROCESSOR=2 val SCE_T3_BLOCK_COMMENT=3 val SCE_T3_LINE_COMMENT=4 val SCE_T3_OPERATOR=5 val SCE_T3_KEYWORD=6 val SCE_T3_NUMBER=7 val SCE_T3_IDENTIFIER=8 val SCE_T3_S_STRING=9 val SCE_T3_D_STRING=10 val SCE_T3_X_STRING=11 val SCE_T3_LIB_DIRECTIVE=12 val SCE_T3_MSG_PARAM=13 val SCE_T3_HTML_TAG=14 val SCE_T3_HTML_DEFAULT=15 val SCE_T3_HTML_STRING=16 val SCE_T3_USER1=17 val SCE_T3_USER2=18 val SCE_T3_USER3=19 val SCE_T3_BRACE=20 # Lexical states for SCLEX_REBOL lex Rebol=SCLEX_REBOL SCE_REBOL_ val SCE_REBOL_DEFAULT=0 val SCE_REBOL_COMMENTLINE=1 val SCE_REBOL_COMMENTBLOCK=2 val SCE_REBOL_PREFACE=3 val SCE_REBOL_OPERATOR=4 val SCE_REBOL_CHARACTER=5 val SCE_REBOL_QUOTEDSTRING=6 val SCE_REBOL_BRACEDSTRING=7 val SCE_REBOL_NUMBER=8 val SCE_REBOL_PAIR=9 val SCE_REBOL_TUPLE=10 val SCE_REBOL_BINARY=11 val SCE_REBOL_MONEY=12 val SCE_REBOL_ISSUE=13 val SCE_REBOL_TAG=14 val SCE_REBOL_FILE=15 val SCE_REBOL_EMAIL=16 val SCE_REBOL_URL=17 val SCE_REBOL_DATE=18 val SCE_REBOL_TIME=19 val SCE_REBOL_IDENTIFIER=20 val SCE_REBOL_WORD=21 val SCE_REBOL_WORD2=22 val SCE_REBOL_WORD3=23 val SCE_REBOL_WORD4=24 val SCE_REBOL_WORD5=25 val SCE_REBOL_WORD6=26 val SCE_REBOL_WORD7=27 val SCE_REBOL_WORD8=28 # Lexical states for SCLEX_SQL lex SQL=SCLEX_SQL SCE_SQL_ val SCE_SQL_DEFAULT=0 val SCE_SQL_COMMENT=1 val SCE_SQL_COMMENTLINE=2 val SCE_SQL_COMMENTDOC=3 val SCE_SQL_NUMBER=4 val SCE_SQL_WORD=5 val SCE_SQL_STRING=6 val SCE_SQL_CHARACTER=7 val SCE_SQL_SQLPLUS=8 val SCE_SQL_SQLPLUS_PROMPT=9 val SCE_SQL_OPERATOR=10 val SCE_SQL_IDENTIFIER=11 val SCE_SQL_SQLPLUS_COMMENT=13 val SCE_SQL_COMMENTLINEDOC=15 val SCE_SQL_WORD2=16 val SCE_SQL_COMMENTDOCKEYWORD=17 val SCE_SQL_COMMENTDOCKEYWORDERROR=18 val SCE_SQL_USER1=19 val SCE_SQL_USER2=20 val SCE_SQL_USER3=21 val SCE_SQL_USER4=22 val SCE_SQL_QUOTEDIDENTIFIER=23 val SCE_SQL_QOPERATOR=24 # Lexical states for SCLEX_SMALLTALK lex Smalltalk=SCLEX_SMALLTALK SCE_ST_ val SCE_ST_DEFAULT=0 val SCE_ST_STRING=1 val SCE_ST_NUMBER=2 val SCE_ST_COMMENT=3 val SCE_ST_SYMBOL=4 val SCE_ST_BINARY=5 val SCE_ST_BOOL=6 val SCE_ST_SELF=7 val SCE_ST_SUPER=8 val SCE_ST_NIL=9 val SCE_ST_GLOBAL=10 val SCE_ST_RETURN=11 val SCE_ST_SPECIAL=12 val SCE_ST_KWSEND=13 val SCE_ST_ASSIGN=14 val SCE_ST_CHARACTER=15 val SCE_ST_SPEC_SEL=16 # Lexical states for SCLEX_FLAGSHIP (clipper) lex FlagShip=SCLEX_FLAGSHIP SCE_FS_ val SCE_FS_DEFAULT=0 val SCE_FS_COMMENT=1 val SCE_FS_COMMENTLINE=2 val SCE_FS_COMMENTDOC=3 val SCE_FS_COMMENTLINEDOC=4 val SCE_FS_COMMENTDOCKEYWORD=5 val SCE_FS_COMMENTDOCKEYWORDERROR=6 val SCE_FS_KEYWORD=7 val SCE_FS_KEYWORD2=8 val SCE_FS_KEYWORD3=9 val SCE_FS_KEYWORD4=10 val SCE_FS_NUMBER=11 val SCE_FS_STRING=12 val SCE_FS_PREPROCESSOR=13 val SCE_FS_OPERATOR=14 val SCE_FS_IDENTIFIER=15 val SCE_FS_DATE=16 val SCE_FS_STRINGEOL=17 val SCE_FS_CONSTANT=18 val SCE_FS_WORDOPERATOR=19 val SCE_FS_DISABLEDCODE=20 val SCE_FS_DEFAULT_C=21 val SCE_FS_COMMENTDOC_C=22 val SCE_FS_COMMENTLINEDOC_C=23 val SCE_FS_KEYWORD_C=24 val SCE_FS_KEYWORD2_C=25 val SCE_FS_NUMBER_C=26 val SCE_FS_STRING_C=27 val SCE_FS_PREPROCESSOR_C=28 val SCE_FS_OPERATOR_C=29 val SCE_FS_IDENTIFIER_C=30 val SCE_FS_STRINGEOL_C=31 # Lexical states for SCLEX_CSOUND lex Csound=SCLEX_CSOUND SCE_CSOUND_ val SCE_CSOUND_DEFAULT=0 val SCE_CSOUND_COMMENT=1 val SCE_CSOUND_NUMBER=2 val SCE_CSOUND_OPERATOR=3 val SCE_CSOUND_INSTR=4 val SCE_CSOUND_IDENTIFIER=5 val SCE_CSOUND_OPCODE=6 val SCE_CSOUND_HEADERSTMT=7 val SCE_CSOUND_USERKEYWORD=8 val SCE_CSOUND_COMMENTBLOCK=9 val SCE_CSOUND_PARAM=10 val SCE_CSOUND_ARATE_VAR=11 val SCE_CSOUND_KRATE_VAR=12 val SCE_CSOUND_IRATE_VAR=13 val SCE_CSOUND_GLOBAL_VAR=14 val SCE_CSOUND_STRINGEOL=15 # Lexical states for SCLEX_INNOSETUP lex Inno=SCLEX_INNOSETUP SCE_INNO_ val SCE_INNO_DEFAULT=0 val SCE_INNO_COMMENT=1 val SCE_INNO_KEYWORD=2 val SCE_INNO_PARAMETER=3 val SCE_INNO_SECTION=4 val SCE_INNO_PREPROC=5 val SCE_INNO_INLINE_EXPANSION=6 val SCE_INNO_COMMENT_PASCAL=7 val SCE_INNO_KEYWORD_PASCAL=8 val SCE_INNO_KEYWORD_USER=9 val SCE_INNO_STRING_DOUBLE=10 val SCE_INNO_STRING_SINGLE=11 val SCE_INNO_IDENTIFIER=12 # Lexical states for SCLEX_OPAL lex Opal=SCLEX_OPAL SCE_OPAL_ val SCE_OPAL_SPACE=0 val SCE_OPAL_COMMENT_BLOCK=1 val SCE_OPAL_COMMENT_LINE=2 val SCE_OPAL_INTEGER=3 val SCE_OPAL_KEYWORD=4 val SCE_OPAL_SORT=5 val SCE_OPAL_STRING=6 val SCE_OPAL_PAR=7 val SCE_OPAL_BOOL_CONST=8 val SCE_OPAL_DEFAULT=32 # Lexical states for SCLEX_SPICE lex Spice=SCLEX_SPICE SCE_SPICE_ val SCE_SPICE_DEFAULT=0 val SCE_SPICE_IDENTIFIER=1 val SCE_SPICE_KEYWORD=2 val SCE_SPICE_KEYWORD2=3 val SCE_SPICE_KEYWORD3=4 val SCE_SPICE_NUMBER=5 val SCE_SPICE_DELIMITER=6 val SCE_SPICE_VALUE=7 val SCE_SPICE_COMMENTLINE=8 # Lexical states for SCLEX_CMAKE lex CMAKE=SCLEX_CMAKE SCE_CMAKE_ val SCE_CMAKE_DEFAULT=0 val SCE_CMAKE_COMMENT=1 val SCE_CMAKE_STRINGDQ=2 val SCE_CMAKE_STRINGLQ=3 val SCE_CMAKE_STRINGRQ=4 val SCE_CMAKE_COMMANDS=5 val SCE_CMAKE_PARAMETERS=6 val SCE_CMAKE_VARIABLE=7 val SCE_CMAKE_USERDEFINED=8 val SCE_CMAKE_WHILEDEF=9 val SCE_CMAKE_FOREACHDEF=10 val SCE_CMAKE_IFDEFINEDEF=11 val SCE_CMAKE_MACRODEF=12 val SCE_CMAKE_STRINGVAR=13 val SCE_CMAKE_NUMBER=14 # Lexical states for SCLEX_GAP lex Gap=SCLEX_GAP SCE_GAP_ val SCE_GAP_DEFAULT=0 val SCE_GAP_IDENTIFIER=1 val SCE_GAP_KEYWORD=2 val SCE_GAP_KEYWORD2=3 val SCE_GAP_KEYWORD3=4 val SCE_GAP_KEYWORD4=5 val SCE_GAP_STRING=6 val SCE_GAP_CHAR=7 val SCE_GAP_OPERATOR=8 val SCE_GAP_COMMENT=9 val SCE_GAP_NUMBER=10 val SCE_GAP_STRINGEOL=11 # Lexical state for SCLEX_PLM lex PLM=SCLEX_PLM SCE_PLM_ val SCE_PLM_DEFAULT=0 val SCE_PLM_COMMENT=1 val SCE_PLM_STRING=2 val SCE_PLM_NUMBER=3 val SCE_PLM_IDENTIFIER=4 val SCE_PLM_OPERATOR=5 val SCE_PLM_CONTROL=6 val SCE_PLM_KEYWORD=7 # Lexical state for SCLEX_PROGRESS lex Progress=SCLEX_PROGRESS SCE_ABL_ val SCE_ABL_DEFAULT=0 val SCE_ABL_NUMBER=1 val SCE_ABL_WORD=2 val SCE_ABL_STRING=3 val SCE_ABL_CHARACTER=4 val SCE_ABL_PREPROCESSOR=5 val SCE_ABL_OPERATOR=6 val SCE_ABL_IDENTIFIER=7 val SCE_ABL_BLOCK=8 val SCE_ABL_END=9 val SCE_ABL_COMMENT=10 val SCE_ABL_TASKMARKER=11 val SCE_ABL_LINECOMMENT=12 # Lexical states for SCLEX_ABAQUS lex ABAQUS=SCLEX_ABAQUS SCE_ABAQUS_ val SCE_ABAQUS_DEFAULT=0 val SCE_ABAQUS_COMMENT=1 val SCE_ABAQUS_COMMENTBLOCK=2 val SCE_ABAQUS_NUMBER=3 val SCE_ABAQUS_STRING=4 val SCE_ABAQUS_OPERATOR=5 val SCE_ABAQUS_WORD=6 val SCE_ABAQUS_PROCESSOR=7 val SCE_ABAQUS_COMMAND=8 val SCE_ABAQUS_SLASHCOMMAND=9 val SCE_ABAQUS_STARCOMMAND=10 val SCE_ABAQUS_ARGUMENT=11 val SCE_ABAQUS_FUNCTION=12 # Lexical states for SCLEX_ASYMPTOTE lex Asymptote=SCLEX_ASYMPTOTE SCE_ASY_ val SCE_ASY_DEFAULT=0 val SCE_ASY_COMMENT=1 val SCE_ASY_COMMENTLINE=2 val SCE_ASY_NUMBER=3 val SCE_ASY_WORD=4 val SCE_ASY_STRING=5 val SCE_ASY_CHARACTER=6 val SCE_ASY_OPERATOR=7 val SCE_ASY_IDENTIFIER=8 val SCE_ASY_STRINGEOL=9 val SCE_ASY_COMMENTLINEDOC=10 val SCE_ASY_WORD2=11 # Lexical states for SCLEX_R lex R=SCLEX_R SCE_R_ val SCE_R_DEFAULT=0 val SCE_R_COMMENT=1 val SCE_R_KWORD=2 val SCE_R_BASEKWORD=3 val SCE_R_OTHERKWORD=4 val SCE_R_NUMBER=5 val SCE_R_STRING=6 val SCE_R_STRING2=7 val SCE_R_OPERATOR=8 val SCE_R_IDENTIFIER=9 val SCE_R_INFIX=10 val SCE_R_INFIXEOL=11 # Lexical state for SCLEX_MAGIK lex MagikSF=SCLEX_MAGIK SCE_MAGIK_ val SCE_MAGIK_DEFAULT=0 val SCE_MAGIK_COMMENT=1 val SCE_MAGIK_HYPER_COMMENT=16 val SCE_MAGIK_STRING=2 val SCE_MAGIK_CHARACTER=3 val SCE_MAGIK_NUMBER=4 val SCE_MAGIK_IDENTIFIER=5 val SCE_MAGIK_OPERATOR=6 val SCE_MAGIK_FLOW=7 val SCE_MAGIK_CONTAINER=8 val SCE_MAGIK_BRACKET_BLOCK=9 val SCE_MAGIK_BRACE_BLOCK=10 val SCE_MAGIK_SQBRACKET_BLOCK=11 val SCE_MAGIK_UNKNOWN_KEYWORD=12 val SCE_MAGIK_KEYWORD=13 val SCE_MAGIK_PRAGMA=14 val SCE_MAGIK_SYMBOL=15 # Lexical state for SCLEX_POWERSHELL lex PowerShell=SCLEX_POWERSHELL SCE_POWERSHELL_ val SCE_POWERSHELL_DEFAULT=0 val SCE_POWERSHELL_COMMENT=1 val SCE_POWERSHELL_STRING=2 val SCE_POWERSHELL_CHARACTER=3 val SCE_POWERSHELL_NUMBER=4 val SCE_POWERSHELL_VARIABLE=5 val SCE_POWERSHELL_OPERATOR=6 val SCE_POWERSHELL_IDENTIFIER=7 val SCE_POWERSHELL_KEYWORD=8 val SCE_POWERSHELL_CMDLET=9 val SCE_POWERSHELL_ALIAS=10 val SCE_POWERSHELL_FUNCTION=11 val SCE_POWERSHELL_USER1=12 val SCE_POWERSHELL_COMMENTSTREAM=13 val SCE_POWERSHELL_HERE_STRING=14 val SCE_POWERSHELL_HERE_CHARACTER=15 val SCE_POWERSHELL_COMMENTDOCKEYWORD=16 # Lexical state for SCLEX_MYSQL lex MySQL=SCLEX_MYSQL SCE_MYSQL_ val SCE_MYSQL_DEFAULT=0 val SCE_MYSQL_COMMENT=1 val SCE_MYSQL_COMMENTLINE=2 val SCE_MYSQL_VARIABLE=3 val SCE_MYSQL_SYSTEMVARIABLE=4 val SCE_MYSQL_KNOWNSYSTEMVARIABLE=5 val SCE_MYSQL_NUMBER=6 val SCE_MYSQL_MAJORKEYWORD=7 val SCE_MYSQL_KEYWORD=8 val SCE_MYSQL_DATABASEOBJECT=9 val SCE_MYSQL_PROCEDUREKEYWORD=10 val SCE_MYSQL_STRING=11 val SCE_MYSQL_SQSTRING=12 val SCE_MYSQL_DQSTRING=13 val SCE_MYSQL_OPERATOR=14 val SCE_MYSQL_FUNCTION=15 val SCE_MYSQL_IDENTIFIER=16 val SCE_MYSQL_QUOTEDIDENTIFIER=17 val SCE_MYSQL_USER1=18 val SCE_MYSQL_USER2=19 val SCE_MYSQL_USER3=20 val SCE_MYSQL_HIDDENCOMMAND=21 val SCE_MYSQL_PLACEHOLDER=22 # Lexical state for SCLEX_PO lex Po=SCLEX_PO SCE_PO_ val SCE_PO_DEFAULT=0 val SCE_PO_COMMENT=1 val SCE_PO_MSGID=2 val SCE_PO_MSGID_TEXT=3 val SCE_PO_MSGSTR=4 val SCE_PO_MSGSTR_TEXT=5 val SCE_PO_MSGCTXT=6 val SCE_PO_MSGCTXT_TEXT=7 val SCE_PO_FUZZY=8 val SCE_PO_PROGRAMMER_COMMENT=9 val SCE_PO_REFERENCE=10 val SCE_PO_FLAGS=11 val SCE_PO_MSGID_TEXT_EOL=12 val SCE_PO_MSGSTR_TEXT_EOL=13 val SCE_PO_MSGCTXT_TEXT_EOL=14 val SCE_PO_ERROR=15 # Lexical states for SCLEX_PASCAL lex Pascal=SCLEX_PASCAL SCE_PAS_ val SCE_PAS_DEFAULT=0 val SCE_PAS_IDENTIFIER=1 val SCE_PAS_COMMENT=2 val SCE_PAS_COMMENT2=3 val SCE_PAS_COMMENTLINE=4 val SCE_PAS_PREPROCESSOR=5 val SCE_PAS_PREPROCESSOR2=6 val SCE_PAS_NUMBER=7 val SCE_PAS_HEXNUMBER=8 val SCE_PAS_WORD=9 val SCE_PAS_STRING=10 val SCE_PAS_STRINGEOL=11 val SCE_PAS_CHARACTER=12 val SCE_PAS_OPERATOR=13 val SCE_PAS_ASM=14 # Lexical state for SCLEX_SORCUS lex SORCUS=SCLEX_SORCUS SCE_SORCUS_ val SCE_SORCUS_DEFAULT=0 val SCE_SORCUS_COMMAND=1 val SCE_SORCUS_PARAMETER=2 val SCE_SORCUS_COMMENTLINE=3 val SCE_SORCUS_STRING=4 val SCE_SORCUS_STRINGEOL=5 val SCE_SORCUS_IDENTIFIER=6 val SCE_SORCUS_OPERATOR=7 val SCE_SORCUS_NUMBER=8 val SCE_SORCUS_CONSTANT=9 # Lexical state for SCLEX_POWERPRO lex PowerPro=SCLEX_POWERPRO SCE_POWERPRO_ val SCE_POWERPRO_DEFAULT=0 val SCE_POWERPRO_COMMENTBLOCK=1 val SCE_POWERPRO_COMMENTLINE=2 val SCE_POWERPRO_NUMBER=3 val SCE_POWERPRO_WORD=4 val SCE_POWERPRO_WORD2=5 val SCE_POWERPRO_WORD3=6 val SCE_POWERPRO_WORD4=7 val SCE_POWERPRO_DOUBLEQUOTEDSTRING=8 val SCE_POWERPRO_SINGLEQUOTEDSTRING=9 val SCE_POWERPRO_LINECONTINUE=10 val SCE_POWERPRO_OPERATOR=11 val SCE_POWERPRO_IDENTIFIER=12 val SCE_POWERPRO_STRINGEOL=13 val SCE_POWERPRO_VERBATIM=14 val SCE_POWERPRO_ALTQUOTE=15 val SCE_POWERPRO_FUNCTION=16 # Lexical states for SCLEX_SML lex SML=SCLEX_SML SCE_SML_ val SCE_SML_DEFAULT=0 val SCE_SML_IDENTIFIER=1 val SCE_SML_TAGNAME=2 val SCE_SML_KEYWORD=3 val SCE_SML_KEYWORD2=4 val SCE_SML_KEYWORD3=5 val SCE_SML_LINENUM=6 val SCE_SML_OPERATOR=7 val SCE_SML_NUMBER=8 val SCE_SML_CHAR=9 val SCE_SML_STRING=11 val SCE_SML_COMMENT=12 val SCE_SML_COMMENT1=13 val SCE_SML_COMMENT2=14 val SCE_SML_COMMENT3=15 # Lexical state for SCLEX_MARKDOWN lex Markdown=SCLEX_MARKDOWN SCE_MARKDOWN_ val SCE_MARKDOWN_DEFAULT=0 val SCE_MARKDOWN_LINE_BEGIN=1 val SCE_MARKDOWN_STRONG1=2 val SCE_MARKDOWN_STRONG2=3 val SCE_MARKDOWN_EM1=4 val SCE_MARKDOWN_EM2=5 val SCE_MARKDOWN_HEADER1=6 val SCE_MARKDOWN_HEADER2=7 val SCE_MARKDOWN_HEADER3=8 val SCE_MARKDOWN_HEADER4=9 val SCE_MARKDOWN_HEADER5=10 val SCE_MARKDOWN_HEADER6=11 val SCE_MARKDOWN_PRECHAR=12 val SCE_MARKDOWN_ULIST_ITEM=13 val SCE_MARKDOWN_OLIST_ITEM=14 val SCE_MARKDOWN_BLOCKQUOTE=15 val SCE_MARKDOWN_STRIKEOUT=16 val SCE_MARKDOWN_HRULE=17 val SCE_MARKDOWN_LINK=18 val SCE_MARKDOWN_CODE=19 val SCE_MARKDOWN_CODE2=20 val SCE_MARKDOWN_CODEBK=21 # Lexical state for SCLEX_TXT2TAGS lex Txt2tags=SCLEX_TXT2TAGS SCE_TXT2TAGS_ val SCE_TXT2TAGS_DEFAULT=0 val SCE_TXT2TAGS_LINE_BEGIN=1 val SCE_TXT2TAGS_STRONG1=2 val SCE_TXT2TAGS_STRONG2=3 val SCE_TXT2TAGS_EM1=4 val SCE_TXT2TAGS_EM2=5 val SCE_TXT2TAGS_HEADER1=6 val SCE_TXT2TAGS_HEADER2=7 val SCE_TXT2TAGS_HEADER3=8 val SCE_TXT2TAGS_HEADER4=9 val SCE_TXT2TAGS_HEADER5=10 val SCE_TXT2TAGS_HEADER6=11 val SCE_TXT2TAGS_PRECHAR=12 val SCE_TXT2TAGS_ULIST_ITEM=13 val SCE_TXT2TAGS_OLIST_ITEM=14 val SCE_TXT2TAGS_BLOCKQUOTE=15 val SCE_TXT2TAGS_STRIKEOUT=16 val SCE_TXT2TAGS_HRULE=17 val SCE_TXT2TAGS_LINK=18 val SCE_TXT2TAGS_CODE=19 val SCE_TXT2TAGS_CODE2=20 val SCE_TXT2TAGS_CODEBK=21 val SCE_TXT2TAGS_COMMENT=22 val SCE_TXT2TAGS_OPTION=23 val SCE_TXT2TAGS_PREPROC=24 val SCE_TXT2TAGS_POSTPROC=25 # Lexical states for SCLEX_A68K lex A68k=SCLEX_A68K SCE_A68K_ val SCE_A68K_DEFAULT=0 val SCE_A68K_COMMENT=1 val SCE_A68K_NUMBER_DEC=2 val SCE_A68K_NUMBER_BIN=3 val SCE_A68K_NUMBER_HEX=4 val SCE_A68K_STRING1=5 val SCE_A68K_OPERATOR=6 val SCE_A68K_CPUINSTRUCTION=7 val SCE_A68K_EXTINSTRUCTION=8 val SCE_A68K_REGISTER=9 val SCE_A68K_DIRECTIVE=10 val SCE_A68K_MACRO_ARG=11 val SCE_A68K_LABEL=12 val SCE_A68K_STRING2=13 val SCE_A68K_IDENTIFIER=14 val SCE_A68K_MACRO_DECLARATION=15 val SCE_A68K_COMMENT_WORD=16 val SCE_A68K_COMMENT_SPECIAL=17 val SCE_A68K_COMMENT_DOXYGEN=18 # Lexical states for SCLEX_MODULA lex Modula=SCLEX_MODULA SCE_MODULA_ val SCE_MODULA_DEFAULT=0 val SCE_MODULA_COMMENT=1 val SCE_MODULA_DOXYCOMM=2 val SCE_MODULA_DOXYKEY=3 val SCE_MODULA_KEYWORD=4 val SCE_MODULA_RESERVED=5 val SCE_MODULA_NUMBER=6 val SCE_MODULA_BASENUM=7 val SCE_MODULA_FLOAT=8 val SCE_MODULA_STRING=9 val SCE_MODULA_STRSPEC=10 val SCE_MODULA_CHAR=11 val SCE_MODULA_CHARSPEC=12 val SCE_MODULA_PROC=13 val SCE_MODULA_PRAGMA=14 val SCE_MODULA_PRGKEY=15 val SCE_MODULA_OPERATOR=16 val SCE_MODULA_BADSTR=17 # Lexical states for SCLEX_COFFEESCRIPT lex CoffeeScript=SCLEX_COFFEESCRIPT SCE_COFFEESCRIPT_ val SCE_COFFEESCRIPT_DEFAULT=0 val SCE_COFFEESCRIPT_COMMENT=1 val SCE_COFFEESCRIPT_COMMENTLINE=2 val SCE_COFFEESCRIPT_COMMENTDOC=3 val SCE_COFFEESCRIPT_NUMBER=4 val SCE_COFFEESCRIPT_WORD=5 val SCE_COFFEESCRIPT_STRING=6 val SCE_COFFEESCRIPT_CHARACTER=7 val SCE_COFFEESCRIPT_UUID=8 val SCE_COFFEESCRIPT_PREPROCESSOR=9 val SCE_COFFEESCRIPT_OPERATOR=10 val SCE_COFFEESCRIPT_IDENTIFIER=11 val SCE_COFFEESCRIPT_STRINGEOL=12 val SCE_COFFEESCRIPT_VERBATIM=13 val SCE_COFFEESCRIPT_REGEX=14 val SCE_COFFEESCRIPT_COMMENTLINEDOC=15 val SCE_COFFEESCRIPT_WORD2=16 val SCE_COFFEESCRIPT_COMMENTDOCKEYWORD=17 val SCE_COFFEESCRIPT_COMMENTDOCKEYWORDERROR=18 val SCE_COFFEESCRIPT_GLOBALCLASS=19 val SCE_COFFEESCRIPT_STRINGRAW=20 val SCE_COFFEESCRIPT_TRIPLEVERBATIM=21 val SCE_COFFEESCRIPT_COMMENTBLOCK=22 val SCE_COFFEESCRIPT_VERBOSE_REGEX=23 val SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT=24 val SCE_COFFEESCRIPT_INSTANCEPROPERTY=25 # Lexical states for SCLEX_AVS lex AVS=SCLEX_AVS SCE_AVS_ val SCE_AVS_DEFAULT=0 val SCE_AVS_COMMENTBLOCK=1 val SCE_AVS_COMMENTBLOCKN=2 val SCE_AVS_COMMENTLINE=3 val SCE_AVS_NUMBER=4 val SCE_AVS_OPERATOR=5 val SCE_AVS_IDENTIFIER=6 val SCE_AVS_STRING=7 val SCE_AVS_TRIPLESTRING=8 val SCE_AVS_KEYWORD=9 val SCE_AVS_FILTER=10 val SCE_AVS_PLUGIN=11 val SCE_AVS_FUNCTION=12 val SCE_AVS_CLIPPROP=13 val SCE_AVS_USERDFN=14 # Lexical states for SCLEX_ECL lex ECL=SCLEX_ECL SCE_ECL_ val SCE_ECL_DEFAULT=0 val SCE_ECL_COMMENT=1 val SCE_ECL_COMMENTLINE=2 val SCE_ECL_NUMBER=3 val SCE_ECL_STRING=4 val SCE_ECL_WORD0=5 val SCE_ECL_OPERATOR=6 val SCE_ECL_CHARACTER=7 val SCE_ECL_UUID=8 val SCE_ECL_PREPROCESSOR=9 val SCE_ECL_UNKNOWN=10 val SCE_ECL_IDENTIFIER=11 val SCE_ECL_STRINGEOL=12 val SCE_ECL_VERBATIM=13 val SCE_ECL_REGEX=14 val SCE_ECL_COMMENTLINEDOC=15 val SCE_ECL_WORD1=16 val SCE_ECL_COMMENTDOCKEYWORD=17 val SCE_ECL_COMMENTDOCKEYWORDERROR=18 val SCE_ECL_WORD2=19 val SCE_ECL_WORD3=20 val SCE_ECL_WORD4=21 val SCE_ECL_WORD5=22 val SCE_ECL_COMMENTDOC=23 val SCE_ECL_ADDED=24 val SCE_ECL_DELETED=25 val SCE_ECL_CHANGED=26 val SCE_ECL_MOVED=27 # Lexical states for SCLEX_OSCRIPT lex OScript=SCLEX_OSCRIPT SCE_OSCRIPT_ val SCE_OSCRIPT_DEFAULT=0 val SCE_OSCRIPT_LINE_COMMENT=1 val SCE_OSCRIPT_BLOCK_COMMENT=2 val SCE_OSCRIPT_DOC_COMMENT=3 val SCE_OSCRIPT_PREPROCESSOR=4 val SCE_OSCRIPT_NUMBER=5 val SCE_OSCRIPT_SINGLEQUOTE_STRING=6 val SCE_OSCRIPT_DOUBLEQUOTE_STRING=7 val SCE_OSCRIPT_CONSTANT=8 val SCE_OSCRIPT_IDENTIFIER=9 val SCE_OSCRIPT_GLOBAL=10 val SCE_OSCRIPT_KEYWORD=11 val SCE_OSCRIPT_OPERATOR=12 val SCE_OSCRIPT_LABEL=13 val SCE_OSCRIPT_TYPE=14 val SCE_OSCRIPT_FUNCTION=15 val SCE_OSCRIPT_OBJECT=16 val SCE_OSCRIPT_PROPERTY=17 val SCE_OSCRIPT_METHOD=18 # Lexical states for SCLEX_VISUALPROLOG lex VisualProlog=SCLEX_VISUALPROLOG SCE_VISUALPROLOG_ val SCE_VISUALPROLOG_DEFAULT=0 val SCE_VISUALPROLOG_KEY_MAJOR=1 val SCE_VISUALPROLOG_KEY_MINOR=2 val SCE_VISUALPROLOG_KEY_DIRECTIVE=3 val SCE_VISUALPROLOG_COMMENT_BLOCK=4 val SCE_VISUALPROLOG_COMMENT_LINE=5 val SCE_VISUALPROLOG_COMMENT_KEY=6 val SCE_VISUALPROLOG_COMMENT_KEY_ERROR=7 val SCE_VISUALPROLOG_IDENTIFIER=8 val SCE_VISUALPROLOG_VARIABLE=9 val SCE_VISUALPROLOG_ANONYMOUS=10 val SCE_VISUALPROLOG_NUMBER=11 val SCE_VISUALPROLOG_OPERATOR=12 val SCE_VISUALPROLOG_CHARACTER=13 val SCE_VISUALPROLOG_CHARACTER_TOO_MANY=14 val SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR=15 val SCE_VISUALPROLOG_STRING=16 val SCE_VISUALPROLOG_STRING_ESCAPE=17 val SCE_VISUALPROLOG_STRING_ESCAPE_ERROR=18 val SCE_VISUALPROLOG_STRING_EOL_OPEN=19 val SCE_VISUALPROLOG_STRING_VERBATIM=20 val SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL=21 val SCE_VISUALPROLOG_STRING_VERBATIM_EOL=22 # Lexical states for SCLEX_STTXT lex StructuredText=SCLEX_STTXT SCE_STTXT_ val SCE_STTXT_DEFAULT=0 val SCE_STTXT_COMMENT=1 val SCE_STTXT_COMMENTLINE=2 val SCE_STTXT_KEYWORD=3 val SCE_STTXT_TYPE=4 val SCE_STTXT_FUNCTION=5 val SCE_STTXT_FB=6 val SCE_STTXT_NUMBER=7 val SCE_STTXT_HEXNUMBER=8 val SCE_STTXT_PRAGMA=9 val SCE_STTXT_OPERATOR=10 val SCE_STTXT_CHARACTER=11 val SCE_STTXT_STRING1=12 val SCE_STTXT_STRING2=13 val SCE_STTXT_STRINGEOL=14 val SCE_STTXT_IDENTIFIER=15 val SCE_STTXT_DATETIME=16 val SCE_STTXT_VARS=17 val SCE_STTXT_PRAGMAS=18 # Lexical states for SCLEX_KVIRC lex KVIrc=SCLEX_KVIRC SCE_KVIRC_ val SCE_KVIRC_DEFAULT=0 val SCE_KVIRC_COMMENT=1 val SCE_KVIRC_COMMENTBLOCK=2 val SCE_KVIRC_STRING=3 val SCE_KVIRC_WORD=4 val SCE_KVIRC_KEYWORD=5 val SCE_KVIRC_FUNCTION_KEYWORD=6 val SCE_KVIRC_FUNCTION=7 val SCE_KVIRC_VARIABLE=8 val SCE_KVIRC_NUMBER=9 val SCE_KVIRC_OPERATOR=10 val SCE_KVIRC_STRING_FUNCTION=11 val SCE_KVIRC_STRING_VARIABLE=12 # Lexical states for SCLEX_RUST lex Rust=SCLEX_RUST SCE_RUST_ val SCE_RUST_DEFAULT=0 val SCE_RUST_COMMENTBLOCK=1 val SCE_RUST_COMMENTLINE=2 val SCE_RUST_COMMENTBLOCKDOC=3 val SCE_RUST_COMMENTLINEDOC=4 val SCE_RUST_NUMBER=5 val SCE_RUST_WORD=6 val SCE_RUST_WORD2=7 val SCE_RUST_WORD3=8 val SCE_RUST_WORD4=9 val SCE_RUST_WORD5=10 val SCE_RUST_WORD6=11 val SCE_RUST_WORD7=12 val SCE_RUST_STRING=13 val SCE_RUST_STRINGR=14 val SCE_RUST_CHARACTER=15 val SCE_RUST_OPERATOR=16 val SCE_RUST_IDENTIFIER=17 val SCE_RUST_LIFETIME=18 val SCE_RUST_MACRO=19 val SCE_RUST_LEXERROR=20 val SCE_RUST_BYTESTRING=21 val SCE_RUST_BYTESTRINGR=22 val SCE_RUST_BYTECHARACTER=23 # Lexical states for SCLEX_DMAP lex DMAP=SCLEX_DMAP SCE_DMAP_ val SCE_DMAP_DEFAULT=0 val SCE_DMAP_COMMENT=1 val SCE_DMAP_NUMBER=2 val SCE_DMAP_STRING1=3 val SCE_DMAP_STRING2=4 val SCE_DMAP_STRINGEOL=5 val SCE_DMAP_OPERATOR=6 val SCE_DMAP_IDENTIFIER=7 val SCE_DMAP_WORD=8 val SCE_DMAP_WORD2=9 val SCE_DMAP_WORD3=10 # Lexical states for SCLEX_DMIS lex DMIS=SCLEX_DMIS SCE_DMIS_ val SCE_DMIS_DEFAULT=0 val SCE_DMIS_COMMENT=1 val SCE_DMIS_STRING=2 val SCE_DMIS_NUMBER=3 val SCE_DMIS_KEYWORD=4 val SCE_DMIS_MAJORWORD=5 val SCE_DMIS_MINORWORD=6 val SCE_DMIS_UNSUPPORTED_MAJOR=7 val SCE_DMIS_UNSUPPORTED_MINOR=8 val SCE_DMIS_LABEL=9 # Lexical states for SCLEX_REGISTRY lex REG=SCLEX_REGISTRY SCE_REG_ val SCE_REG_DEFAULT=0 val SCE_REG_COMMENT=1 val SCE_REG_VALUENAME=2 val SCE_REG_STRING=3 val SCE_REG_HEXDIGIT=4 val SCE_REG_VALUETYPE=5 val SCE_REG_ADDEDKEY=6 val SCE_REG_DELETEDKEY=7 val SCE_REG_ESCAPED=8 val SCE_REG_KEYPATH_GUID=9 val SCE_REG_STRING_GUID=10 val SCE_REG_PARAMETER=11 val SCE_REG_OPERATOR=12 # Lexical state for SCLEX_BIBTEX lex BibTeX=SCLEX_BIBTEX SCE_BIBTEX_ val SCE_BIBTEX_DEFAULT=0 val SCE_BIBTEX_ENTRY=1 val SCE_BIBTEX_UNKNOWN_ENTRY=2 val SCE_BIBTEX_KEY=3 val SCE_BIBTEX_PARAMETER=4 val SCE_BIBTEX_VALUE=5 val SCE_BIBTEX_COMMENT=6 # Lexical state for SCLEX_SREC lex Srec=SCLEX_SREC SCE_HEX_ val SCE_HEX_DEFAULT=0 val SCE_HEX_RECSTART=1 val SCE_HEX_RECTYPE=2 val SCE_HEX_RECTYPE_UNKNOWN=3 val SCE_HEX_BYTECOUNT=4 val SCE_HEX_BYTECOUNT_WRONG=5 val SCE_HEX_NOADDRESS=6 val SCE_HEX_DATAADDRESS=7 val SCE_HEX_RECCOUNT=8 val SCE_HEX_STARTADDRESS=9 val SCE_HEX_ADDRESSFIELD_UNKNOWN=10 val SCE_HEX_EXTENDEDADDRESS=11 val SCE_HEX_DATA_ODD=12 val SCE_HEX_DATA_EVEN=13 val SCE_HEX_DATA_UNKNOWN=14 val SCE_HEX_DATA_EMPTY=15 val SCE_HEX_CHECKSUM=16 val SCE_HEX_CHECKSUM_WRONG=17 val SCE_HEX_GARBAGE=18 # Lexical state for SCLEX_IHEX (shared with Srec) lex IHex=SCLEX_IHEX SCE_HEX_ # Lexical state for SCLEX_TEHEX (shared with Srec) lex TEHex=SCLEX_TEHEX SCE_HEX_ # Lexical states for SCLEX_JSON lex JSON=SCLEX_JSON SCE_JSON_ val SCE_JSON_DEFAULT=0 val SCE_JSON_NUMBER=1 val SCE_JSON_STRING=2 val SCE_JSON_STRINGEOL=3 val SCE_JSON_PROPERTYNAME=4 val SCE_JSON_ESCAPESEQUENCE=5 val SCE_JSON_LINECOMMENT=6 val SCE_JSON_BLOCKCOMMENT=7 val SCE_JSON_OPERATOR=8 val SCE_JSON_URI=9 val SCE_JSON_COMPACTIRI=10 val SCE_JSON_KEYWORD=11 val SCE_JSON_LDKEYWORD=12 val SCE_JSON_ERROR=13 lex EDIFACT=SCLEX_EDIFACT SCE_EDI_ val SCE_EDI_DEFAULT=0 val SCE_EDI_SEGMENTSTART=1 val SCE_EDI_SEGMENTEND=2 val SCE_EDI_SEP_ELEMENT=3 val SCE_EDI_SEP_COMPOSITE=4 val SCE_EDI_SEP_RELEASE=5 val SCE_EDI_UNA=6 val SCE_EDI_UNH=7 val SCE_EDI_BADSEGMENT=8 # Lexical states for SCLEX_STATA lex STATA=SCLEX_STATA SCE_STATA_ val SCE_STATA_DEFAULT=0 val SCE_STATA_COMMENT=1 val SCE_STATA_COMMENTLINE=2 val SCE_STATA_COMMENTBLOCK=3 val SCE_STATA_NUMBER=4 val SCE_STATA_OPERATOR=5 val SCE_STATA_IDENTIFIER=6 val SCE_STATA_STRING=7 val SCE_STATA_TYPE=8 val SCE_STATA_WORD=9 val SCE_STATA_GLOBAL_MACRO=10 val SCE_STATA_MACRO=11 # Lexical states for SCLEX_SAS lex SAS=SCLEX_SAS SCE_SAS_ val SCE_SAS_DEFAULT=0 val SCE_SAS_COMMENT=1 val SCE_SAS_COMMENTLINE=2 val SCE_SAS_COMMENTBLOCK=3 val SCE_SAS_NUMBER=4 val SCE_SAS_OPERATOR=5 val SCE_SAS_IDENTIFIER=6 val SCE_SAS_STRING=7 val SCE_SAS_TYPE=8 val SCE_SAS_WORD=9 val SCE_SAS_GLOBAL_MACRO=10 val SCE_SAS_MACRO=11 val SCE_SAS_MACRO_KEYWORD=12 val SCE_SAS_BLOCK_KEYWORD=13 val SCE_SAS_MACRO_FUNCTION=14 val SCE_SAS_STATEMENT=15 # Events evt void StyleNeeded=2000(int position) evt void CharAdded=2001(int ch) evt void SavePointReached=2002(void) evt void SavePointLeft=2003(void) evt void ModifyAttemptRO=2004(void) # GTK+ Specific to work around focus and accelerator problems: evt void Key=2005(int ch, int modifiers) evt void DoubleClick=2006(int modifiers, int position, int line) evt void UpdateUI=2007(int updated) evt void Modified=2008(int position, int modificationType, string text, int length, int linesAdded, int line, int foldLevelNow, int foldLevelPrev, int token, int annotationLinesAdded) evt void MacroRecord=2009(int message, int wParam, int lParam) evt void MarginClick=2010(int modifiers, int position, int margin) evt void NeedShown=2011(int position, int length) evt void Painted=2013(void) evt void UserListSelection=2014(int listType, string text, int position, int ch, CompletionMethods listCompletionMethod) evt void URIDropped=2015(string text) evt void DwellStart=2016(int position, int x, int y) evt void DwellEnd=2017(int position, int x, int y) evt void Zoom=2018(void) evt void HotSpotClick=2019(int modifiers, int position) evt void HotSpotDoubleClick=2020(int modifiers, int position) evt void CallTipClick=2021(int position) evt void AutoCSelection=2022(string text, int position, int ch, CompletionMethods listCompletionMethod) evt void IndicatorClick=2023(int modifiers, int position) evt void IndicatorRelease=2024(int modifiers, int position) evt void AutoCCancelled=2025(void) evt void AutoCCharDeleted=2026(void) evt void HotSpotReleaseClick=2027(int modifiers, int position) evt void FocusIn=2028(void) evt void FocusOut=2029(void) evt void AutoCCompleted=2030(string text, int position, int ch, CompletionMethods listCompletionMethod) evt void MarginRightClick=2031(int modifiers, int position, int margin) evt void AutoCSelectionChange=2032(int listType, string text, int position) cat Provisional enu LineCharacterIndexType=SC_LINECHARACTERINDEX_ val SC_LINECHARACTERINDEX_NONE=0 val SC_LINECHARACTERINDEX_UTF32=1 val SC_LINECHARACTERINDEX_UTF16=2 # Retrieve line character index state. get int GetLineCharacterIndex=2710(,) # Request line character index be created or its use count increased. fun void AllocateLineCharacterIndex=2711(int lineCharacterIndex,) # Decrease use count of line character index and remove if 0. fun void ReleaseLineCharacterIndex=2712(int lineCharacterIndex,) # Retrieve the document line containing a position measured in index units. fun int LineFromIndexPosition=2713(position pos, int lineCharacterIndex) # Retrieve the position measured in index units at the start of a document line. fun position IndexPositionFromLine=2714(int line, int lineCharacterIndex) cat Deprecated # Divide each styling byte into lexical class bits (default: 5) and indicator # bits (default: 3). If a lexer requires more than 32 lexical states, then this # is used to expand the possible states. set void SetStyleBits=2090(int bits,) # Retrieve number of bits in style bytes used to hold the lexical state. get int GetStyleBits=2091(,) # Retrieve the number of bits the current lexer needs for styling. get int GetStyleBitsNeeded=4011(,) # Deprecated in 3.5.5 # Always interpret keyboard input as Unicode set void SetKeysUnicode=2521(bool keysUnicode,) # Are keys always interpreted as Unicode? get bool GetKeysUnicode=2522(,) ================================================ FILE: src/qscint/scintilla/include/ScintillaWidget.h ================================================ /* Scintilla source code edit control */ /* @file ScintillaWidget.h * Definition of Scintilla widget for GTK+. * Only needed by GTK+ code but is harmless on other platforms. * This comment is not a doc-comment as that causes warnings from g-ir-scanner. */ /* Copyright 1998-2001 by Neil Hodgson * The License.txt file describes the conditions under which this software may be distributed. */ #ifndef SCINTILLAWIDGET_H #define SCINTILLAWIDGET_H #if defined(GTK) #ifdef __cplusplus extern "C" { #endif #define SCINTILLA(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, scintilla_get_type (), ScintillaObject) #define SCINTILLA_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, scintilla_get_type (), ScintillaClass) #define IS_SCINTILLA(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, scintilla_get_type ()) #define SCINTILLA_TYPE_OBJECT (scintilla_object_get_type()) #define SCINTILLA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SCINTILLA_TYPE_OBJECT, ScintillaObject)) #define SCINTILLA_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCINTILLA_TYPE_OBJECT)) #define SCINTILLA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass)) #define SCINTILLA_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SCINTILLA_TYPE_OBJECT)) #define SCINTILLA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass)) typedef struct _ScintillaObject ScintillaObject; typedef struct _ScintillaClass ScintillaObjectClass; struct _ScintillaObject { GtkContainer cont; void *pscin; }; struct _ScintillaClass { GtkContainerClass parent_class; void (* command) (ScintillaObject *sci, int cmd, GtkWidget *window); void (* notify) (ScintillaObject *sci, int id, SCNotification *scn); }; GType scintilla_object_get_type (void); GtkWidget* scintilla_object_new (void); gintptr scintilla_object_send_message (ScintillaObject *sci, unsigned int iMessage, guintptr wParam, gintptr lParam); GType scnotification_get_type (void); #define SCINTILLA_TYPE_NOTIFICATION (scnotification_get_type()) #ifndef G_IR_SCANNING /* The legacy names confuse the g-ir-scanner program */ typedef struct _ScintillaClass ScintillaClass; GType scintilla_get_type (void); GtkWidget* scintilla_new (void); void scintilla_set_id (ScintillaObject *sci, uptr_t id); sptr_t scintilla_send_message (ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam); void scintilla_release_resources(void); #endif #define SCINTILLA_NOTIFY "sci-notify" #ifdef __cplusplus } #endif #endif #endif ================================================ FILE: src/qscint/scintilla/lexers/LexA68k.cpp ================================================ // Scintilla source code edit control /** @file LexA68k.cxx ** Lexer for Assembler, just for the MASM syntax ** Written by Martial Demolins AKA Folco **/ // Copyright 2010 Martial Demolins // The License.txt file describes the conditions under which this software // may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; // Return values for GetOperatorType #define NO_OPERATOR 0 #define OPERATOR_1CHAR 1 #define OPERATOR_2CHAR 2 /** * IsIdentifierStart * * Return true if the given char is a valid identifier first char */ static inline bool IsIdentifierStart (const int ch) { return (isalpha(ch) || (ch == '_') || (ch == '\\')); } /** * IsIdentifierChar * * Return true if the given char is a valid identifier char */ static inline bool IsIdentifierChar (const int ch) { return (isalnum(ch) || (ch == '_') || (ch == '@') || (ch == ':') || (ch == '.')); } /** * GetOperatorType * * Return: * NO_OPERATOR if char is not an operator * OPERATOR_1CHAR if the operator is one char long * OPERATOR_2CHAR if the operator is two chars long */ static inline int GetOperatorType (const int ch1, const int ch2) { int OpType = NO_OPERATOR; if ((ch1 == '+') || (ch1 == '-') || (ch1 == '*') || (ch1 == '/') || (ch1 == '#') || (ch1 == '(') || (ch1 == ')') || (ch1 == '~') || (ch1 == '&') || (ch1 == '|') || (ch1 == ',')) OpType = OPERATOR_1CHAR; else if ((ch1 == ch2) && (ch1 == '<' || ch1 == '>')) OpType = OPERATOR_2CHAR; return OpType; } /** * IsBin * * Return true if the given char is 0 or 1 */ static inline bool IsBin (const int ch) { return (ch == '0') || (ch == '1'); } /** * IsDoxygenChar * * Return true if the char may be part of a Doxygen keyword */ static inline bool IsDoxygenChar (const int ch) { return isalpha(ch) || (ch == '$') || (ch == '[') || (ch == ']') || (ch == '{') || (ch == '}'); } /** * ColouriseA68kDoc * * Main function, which colourises a 68k source */ static void ColouriseA68kDoc (Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { // Used to buffer a string, to be able to compare it using built-in functions char Buffer[100]; // Used to know the length of an operator int OpType; // Get references to keywords lists WordList &cpuInstruction = *keywordlists[0]; WordList ®isters = *keywordlists[1]; WordList &directive = *keywordlists[2]; WordList &extInstruction = *keywordlists[3]; WordList &alert = *keywordlists[4]; WordList &doxygenKeyword = *keywordlists[5]; // Instanciate a context for our source StyleContext sc(startPos, length, initStyle, styler); /************************************************************ * * Parse the source * ************************************************************/ for ( ; sc.More(); sc.Forward()) { /************************************************************ * * A style always terminates at the end of a line, even for * comments (no multi-lines comments) * ************************************************************/ if (sc.atLineStart) { sc.SetState(SCE_A68K_DEFAULT); } /************************************************************ * * If we are not in "default style", check if the style continues * In this case, we just have to loop * ************************************************************/ if (sc.state != SCE_A68K_DEFAULT) { if ( ((sc.state == SCE_A68K_NUMBER_DEC) && isdigit(sc.ch)) // Decimal number || ((sc.state == SCE_A68K_NUMBER_BIN) && IsBin(sc.ch)) // Binary number || ((sc.state == SCE_A68K_NUMBER_HEX) && isxdigit(sc.ch)) // Hexa number || ((sc.state == SCE_A68K_MACRO_ARG) && isdigit(sc.ch)) // Macro argument || ((sc.state == SCE_A68K_STRING1) && (sc.ch != '\'')) // String single-quoted || ((sc.state == SCE_A68K_STRING2) && (sc.ch != '\"')) // String double-quoted || ((sc.state == SCE_A68K_MACRO_DECLARATION) && IsIdentifierChar(sc.ch)) // Macro declaration (or global label, we don't know at this point) || ((sc.state == SCE_A68K_IDENTIFIER) && IsIdentifierChar(sc.ch)) // Identifier || ((sc.state == SCE_A68K_LABEL) && IsIdentifierChar(sc.ch)) // Label (local) || ((sc.state == SCE_A68K_COMMENT_DOXYGEN) && IsDoxygenChar(sc.ch)) // Doxygen keyword || ((sc.state == SCE_A68K_COMMENT_SPECIAL) && isalpha(sc.ch)) // Alert || ((sc.state == SCE_A68K_COMMENT) && !isalpha(sc.ch) && (sc.ch != '\\'))) // Normal comment { continue; } /************************************************************ * * Check if current state terminates * ************************************************************/ // Strings: include terminal ' or " in the current string by skipping it if ((sc.state == SCE_A68K_STRING1) || (sc.state == SCE_A68K_STRING2)) { sc.Forward(); } // If a macro declaration was terminated with ':', it was a label else if ((sc.state == SCE_A68K_MACRO_DECLARATION) && (sc.chPrev == ':')) { sc.ChangeState(SCE_A68K_LABEL); } // If it wasn't a Doxygen keyword, change it to normal comment else if (sc.state == SCE_A68K_COMMENT_DOXYGEN) { sc.GetCurrent(Buffer, sizeof(Buffer)); if (!doxygenKeyword.InList(Buffer)) { sc.ChangeState(SCE_A68K_COMMENT); } sc.SetState(SCE_A68K_COMMENT); continue; } // If it wasn't an Alert, change it to normal comment else if (sc.state == SCE_A68K_COMMENT_SPECIAL) { sc.GetCurrent(Buffer, sizeof(Buffer)); if (!alert.InList(Buffer)) { sc.ChangeState(SCE_A68K_COMMENT); } // Reset style to normal comment, or to Doxygen keyword if it begins with '\' if (sc.ch == '\\') { sc.SetState(SCE_A68K_COMMENT_DOXYGEN); } else { sc.SetState(SCE_A68K_COMMENT); } continue; } // If we are in a comment, it's a Doxygen keyword or an Alert else if (sc.state == SCE_A68K_COMMENT) { if (sc.ch == '\\') { sc.SetState(SCE_A68K_COMMENT_DOXYGEN); } else { sc.SetState(SCE_A68K_COMMENT_SPECIAL); } continue; } // Check if we are at the end of an identifier // In this case, colourise it if was a keyword. else if ((sc.state == SCE_A68K_IDENTIFIER) && !IsIdentifierChar(sc.ch)) { sc.GetCurrentLowered(Buffer, sizeof(Buffer)); // Buffer the string of the current context if (cpuInstruction.InList(Buffer)) { // And check if it belongs to a keyword list sc.ChangeState(SCE_A68K_CPUINSTRUCTION); } else if (extInstruction.InList(Buffer)) { sc.ChangeState(SCE_A68K_EXTINSTRUCTION); } else if (registers.InList(Buffer)) { sc.ChangeState(SCE_A68K_REGISTER); } else if (directive.InList(Buffer)) { sc.ChangeState(SCE_A68K_DIRECTIVE); } } // All special contexts are now handled.Come back to default style sc.SetState(SCE_A68K_DEFAULT); } /************************************************************ * * Check if we must enter a new state * ************************************************************/ // Something which begins at the beginning of a line, and with // - '\' + an identifier start char, or // - '\\@' + an identifier start char // is a local label (second case is used for macro local labels). We set it already as a label, it can't be a macro/equ declaration if (sc.atLineStart && (sc.ch < 0x80) && IsIdentifierStart(sc.chNext) && (sc.ch == '\\')) { sc.SetState(SCE_A68K_LABEL); } if (sc.atLineStart && (sc.ch < 0x80) && (sc.ch == '\\') && (sc.chNext == '\\')) { sc.Forward(2); if ((sc.ch == '@') && IsIdentifierStart(sc.chNext)) { sc.ChangeState(SCE_A68K_LABEL); sc.SetState(SCE_A68K_LABEL); } } // Label and macro identifiers start at the beginning of a line // We set both as a macro id, but if it wasn't one (':' at the end), // it will be changed as a label. if (sc.atLineStart && (sc.ch < 0x80) && IsIdentifierStart(sc.ch)) { sc.SetState(SCE_A68K_MACRO_DECLARATION); } else if ((sc.ch < 0x80) && (sc.ch == ';')) { // Default: alert in a comment. If it doesn't match sc.SetState(SCE_A68K_COMMENT); // with an alert, it will be toggle to a normal comment } else if ((sc.ch < 0x80) && isdigit(sc.ch)) { // Decimal numbers haven't prefix sc.SetState(SCE_A68K_NUMBER_DEC); } else if ((sc.ch < 0x80) && (sc.ch == '%')) { // Binary numbers are prefixed with '%' sc.SetState(SCE_A68K_NUMBER_BIN); } else if ((sc.ch < 0x80) && (sc.ch == '$')) { // Hexadecimal numbers are prefixed with '$' sc.SetState(SCE_A68K_NUMBER_HEX); } else if ((sc.ch < 0x80) && (sc.ch == '\'')) { // String (single-quoted) sc.SetState(SCE_A68K_STRING1); } else if ((sc.ch < 0x80) && (sc.ch == '\"')) { // String (double-quoted) sc.SetState(SCE_A68K_STRING2); } else if ((sc.ch < 0x80) && (sc.ch == '\\') && (isdigit(sc.chNext))) { // Replacement symbols in macro are prefixed with '\' sc.SetState(SCE_A68K_MACRO_ARG); } else if ((sc.ch < 0x80) && IsIdentifierStart(sc.ch)) { // An identifier: constant, label, etc... sc.SetState(SCE_A68K_IDENTIFIER); } else { if (sc.ch < 0x80) { OpType = GetOperatorType(sc.ch, sc.chNext); // Check if current char is an operator if (OpType != NO_OPERATOR) { sc.SetState(SCE_A68K_OPERATOR); if (OpType == OPERATOR_2CHAR) { // Check if the operator is 2 bytes long sc.ForwardSetState(SCE_A68K_OPERATOR); // (>> or <<) } } } } } // End of for() sc.Complete(); } // Names of the keyword lists static const char * const a68kWordListDesc[] = { "CPU instructions", "Registers", "Directives", "Extended instructions", "Comment special words", "Doxygen keywords", 0 }; LexerModule lmA68k(SCLEX_A68K, ColouriseA68kDoc, "a68k", 0, a68kWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexAPDL.cpp ================================================ // Scintilla source code edit control /** @file LexAPDL.cxx ** Lexer for APDL. Based on the lexer for Assembler by The Black Horus. ** By Hadar Raz. **/ // Copyright 1998-2003 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordChar(const int ch) { return (ch < 0x80 && (isalnum(ch) || ch == '_')); } static inline bool IsAnOperator(char ch) { // '.' left out as it is used to make up numbers if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || ch == '(' || ch == ')' || ch == '=' || ch == '^' || ch == '[' || ch == ']' || ch == '<' || ch == '&' || ch == '>' || ch == ',' || ch == '|' || ch == '~' || ch == '$' || ch == ':' || ch == '%') return true; return false; } static void ColouriseAPDLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { int stringStart = ' '; WordList &processors = *keywordlists[0]; WordList &commands = *keywordlists[1]; WordList &slashcommands = *keywordlists[2]; WordList &starcommands = *keywordlists[3]; WordList &arguments = *keywordlists[4]; WordList &functions = *keywordlists[5]; // Do not leak onto next line initStyle = SCE_APDL_DEFAULT; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // Determine if the current state should terminate. if (sc.state == SCE_APDL_NUMBER) { if (!(IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') || ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) { sc.SetState(SCE_APDL_DEFAULT); } } else if (sc.state == SCE_APDL_COMMENT) { if (sc.atLineEnd) { sc.SetState(SCE_APDL_DEFAULT); } } else if (sc.state == SCE_APDL_COMMENTBLOCK) { if (sc.atLineEnd) { if (sc.ch == '\r') { sc.Forward(); } sc.ForwardSetState(SCE_APDL_DEFAULT); } } else if (sc.state == SCE_APDL_STRING) { if (sc.atLineEnd) { sc.SetState(SCE_APDL_DEFAULT); } else if ((sc.ch == '\'' && stringStart == '\'') || (sc.ch == '\"' && stringStart == '\"')) { sc.ForwardSetState(SCE_APDL_DEFAULT); } } else if (sc.state == SCE_APDL_WORD) { if (!IsAWordChar(sc.ch)) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (processors.InList(s)) { sc.ChangeState(SCE_APDL_PROCESSOR); } else if (slashcommands.InList(s)) { sc.ChangeState(SCE_APDL_SLASHCOMMAND); } else if (starcommands.InList(s)) { sc.ChangeState(SCE_APDL_STARCOMMAND); } else if (commands.InList(s)) { sc.ChangeState(SCE_APDL_COMMAND); } else if (arguments.InList(s)) { sc.ChangeState(SCE_APDL_ARGUMENT); } else if (functions.InList(s)) { sc.ChangeState(SCE_APDL_FUNCTION); } sc.SetState(SCE_APDL_DEFAULT); } } else if (sc.state == SCE_APDL_OPERATOR) { if (!IsAnOperator(static_cast(sc.ch))) { sc.SetState(SCE_APDL_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_APDL_DEFAULT) { if (sc.ch == '!' && sc.chNext == '!') { sc.SetState(SCE_APDL_COMMENTBLOCK); } else if (sc.ch == '!') { sc.SetState(SCE_APDL_COMMENT); } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_APDL_NUMBER); } else if (sc.ch == '\'' || sc.ch == '\"') { sc.SetState(SCE_APDL_STRING); stringStart = sc.ch; } else if (IsAWordChar(sc.ch) || ((sc.ch == '*' || sc.ch == '/') && !isgraph(sc.chPrev))) { sc.SetState(SCE_APDL_WORD); } else if (IsAnOperator(static_cast(sc.ch))) { sc.SetState(SCE_APDL_OPERATOR); } } } sc.Complete(); } //------------------------------------------------------------------------------ // 06-27-07 Sergio Lucato // - Included code folding for Ansys APDL lexer // - Copyied from LexBasic.cxx and modified for APDL //------------------------------------------------------------------------------ /* Bits: * 1 - whitespace * 2 - operator * 4 - identifier * 8 - decimal digit * 16 - hex digit * 32 - bin digit */ static int character_classification[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 2, 2, 2, 2, 2, 2, 2, 6, 2, 2, 2, 10, 6, 60, 60, 28, 28, 28, 28, 28, 28, 28, 28, 2, 2, 2, 2, 2, 2, 2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 4, 2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0 }; static bool IsSpace(int c) { return c < 128 && (character_classification[c] & 1); } static bool IsIdentifier(int c) { return c < 128 && (character_classification[c] & 4); } static int LowerCase(int c) { if (c >= 'A' && c <= 'Z') return 'a' + c - 'A'; return c; } static int CheckAPDLFoldPoint(char const *token, int &level) { if (!strcmp(token, "*if") || !strcmp(token, "*do") || !strcmp(token, "*dowhile") ) { level |= SC_FOLDLEVELHEADERFLAG; return 1; } if (!strcmp(token, "*endif") || !strcmp(token, "*enddo") ) { return -1; } return 0; } static void FoldAPDLDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_Position line = styler.GetLine(startPos); int level = styler.LevelAt(line); int go = 0, done = 0; Sci_Position endPos = startPos + length; char word[256]; int wordlen = 0; Sci_Position i; bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; // Scan for tokens at the start of the line (they may include // whitespace, for tokens like "End Function" for (i = startPos; i < endPos; i++) { int c = styler.SafeGetCharAt(i); if (!done && !go) { if (wordlen) { // are we scanning a token already? word[wordlen] = static_cast(LowerCase(c)); if (!IsIdentifier(c)) { // done with token word[wordlen] = '\0'; go = CheckAPDLFoldPoint(word, level); if (!go) { // Treat any whitespace as single blank, for // things like "End Function". if (IsSpace(c) && IsIdentifier(word[wordlen - 1])) { word[wordlen] = ' '; if (wordlen < 255) wordlen++; } else // done with this line done = 1; } } else if (wordlen < 255) { wordlen++; } } else { // start scanning at first non-whitespace character if (!IsSpace(c)) { if (IsIdentifier(c)) { word[0] = static_cast(LowerCase(c)); wordlen = 1; } else // done with this line done = 1; } } } if (c == '\n') { // line end if (!done && wordlen == 0 && foldCompact) // line was only space level |= SC_FOLDLEVELWHITEFLAG; if (level != styler.LevelAt(line)) styler.SetLevel(line, level); level += go; line++; // reset state wordlen = 0; level &= ~SC_FOLDLEVELHEADERFLAG; level &= ~SC_FOLDLEVELWHITEFLAG; go = 0; done = 0; } } } static const char * const apdlWordListDesc[] = { "processors", "commands", "slashommands", "starcommands", "arguments", "functions", 0 }; LexerModule lmAPDL(SCLEX_APDL, ColouriseAPDLDoc, "apdl", FoldAPDLDoc, apdlWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexASY.cpp ================================================ // Scintilla source code edit control //Author: instanton (email: soft_share126com) // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static void ColouriseAsyDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; CharacterSet setWordStart(CharacterSet::setAlpha, "_", 0x80, true); CharacterSet setWord(CharacterSet::setAlphaNum, "._", 0x80, true); int visibleChars = 0; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { if (sc.atLineStart) { if (sc.state == SCE_ASY_STRING) { sc.SetState(SCE_ASY_STRING); } visibleChars = 0; } if (sc.ch == '\\') { if (sc.chNext == '\n' || sc.chNext == '\r') { sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } // continuationLine = true; continue; } } // Determine if the current state should terminate. switch (sc.state) { case SCE_ASY_OPERATOR: sc.SetState(SCE_ASY_DEFAULT); break; case SCE_ASY_NUMBER: if (!setWord.Contains(sc.ch)) { sc.SetState(SCE_ASY_DEFAULT); } break; case SCE_ASY_IDENTIFIER: if (!setWord.Contains(sc.ch) || (sc.ch == '.')) { char s[1000]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_ASY_WORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_ASY_WORD2); } sc.SetState(SCE_ASY_DEFAULT); } break; case SCE_ASY_COMMENT: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_ASY_DEFAULT); } break; case SCE_ASY_COMMENTLINE: if (sc.atLineStart) { sc.SetState(SCE_ASY_DEFAULT); } break; case SCE_ASY_STRING: if (sc.atLineEnd) { sc.ChangeState(SCE_ASY_STRINGEOL); } else if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_ASY_DEFAULT); } break; case SCE_ASY_CHARACTER: if (sc.atLineEnd) { sc.ChangeState(SCE_ASY_STRINGEOL); } else if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\'') { sc.ForwardSetState(SCE_ASY_DEFAULT); } break; } // Determine if a new state should be entered. if (sc.state == SCE_ASY_DEFAULT) { if (setWordStart.Contains(sc.ch) || (sc.ch == '@')) { sc.SetState(SCE_ASY_IDENTIFIER); } else if (sc.Match('/', '*')) { sc.SetState(SCE_ASY_COMMENT); sc.Forward(); // } else if (sc.Match('/', '/')) { sc.SetState(SCE_ASY_COMMENTLINE); } else if (sc.ch == '\"') { sc.SetState(SCE_ASY_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_ASY_CHARACTER); } else if (sc.ch == '#' && visibleChars == 0) { do { sc.Forward(); } while ((sc.ch == ' ' || sc.ch == '\t') && sc.More()); if (sc.atLineEnd) { sc.SetState(SCE_ASY_DEFAULT); } } else if (isoperator(static_cast(sc.ch))) { sc.SetState(SCE_ASY_OPERATOR); } } } sc.Complete(); } static bool IsAsyCommentStyle(int style) { return style == SCE_ASY_COMMENT; } static inline bool isASYidentifier(int ch) { return ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) ; } static int ParseASYWord(Sci_PositionU pos, Accessor &styler, char *word) { int length=0; char ch=styler.SafeGetCharAt(pos); *word=0; while(isASYidentifier(ch) && length<100){ word[length]=ch; length++; ch=styler.SafeGetCharAt(pos+length); } word[length]=0; return length; } static bool IsASYDrawingLine(Sci_Position line, Accessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; Sci_Position startpos = pos; char buffer[100]=""; while (startpos 0) levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; int levelMinCurrent = levelCurrent; int levelNext = levelCurrent; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (foldComment && IsAsyCommentStyle(style)) { if (!IsAsyCommentStyle(stylePrev) && (stylePrev != SCE_ASY_COMMENTLINEDOC)) { levelNext++; } else if (!IsAsyCommentStyle(styleNext) && (styleNext != SCE_ASY_COMMENTLINEDOC) && !atEOL) { levelNext--; } } if (style == SCE_ASY_OPERATOR) { if (ch == '{') { if (levelMinCurrent > levelNext) { levelMinCurrent = levelNext; } levelNext++; } else if (ch == '}') { levelNext--; } } if (atEOL && IsASYDrawingLine(lineCurrent, styler)){ if (lineCurrent==0 && IsASYDrawingLine(lineCurrent + 1, styler)) levelNext++; else if (lineCurrent!=0 && !IsASYDrawingLine(lineCurrent - 1, styler) && IsASYDrawingLine(lineCurrent + 1, styler) ) levelNext++; else if (lineCurrent!=0 && IsASYDrawingLine(lineCurrent - 1, styler) && !IsASYDrawingLine(lineCurrent+1, styler)) levelNext--; } if (atEOL) { int levelUse = levelCurrent; if (foldAtElse) { levelUse = levelMinCurrent; } int lev = levelUse | levelNext << 16; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if (levelUse < levelNext) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelCurrent = levelNext; levelMinCurrent = levelCurrent; visibleChars = 0; } if (!IsASpace(ch)) visibleChars++; } } static const char * const asyWordLists[] = { "Primary keywords and identifiers", "Secondary keywords and identifiers", 0, }; LexerModule lmASY(SCLEX_ASYMPTOTE, ColouriseAsyDoc, "asy", FoldAsyDoc, asyWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexAU3.cpp ================================================ // Scintilla source code edit control // @file LexAU3.cxx // Lexer for AutoIt3 http://www.hiddensoft.com/autoit3 // by Jos van der Zande, jvdzande@yahoo.com // // Changes: // March 28, 2004 - Added the standard Folding code // April 21, 2004 - Added Preprosessor Table + Syntax Highlighting // Fixed Number highlighting // Changed default isoperator to IsAOperator to have a better match to AutoIt3 // Fixed "#comments_start" -> "#comments-start" // Fixed "#comments_end" -> "#comments-end" // Fixed Sendkeys in Strings when not terminated with } // Added support for Sendkey strings that have second parameter e.g. {UP 5} or {a down} // April 26, 2004 - Fixed # pre-processor statement inside of comment block would invalidly change the color. // Added logic for #include to treat the <> as string // Added underscore to IsAOperator. // May 17, 2004 - Changed the folding logic from indent to keyword folding. // Added Folding logic for blocks of single-commentlines or commentblock. // triggered by: fold.comment=1 // Added Folding logic for preprocessor blocks triggered by fold.preprocessor=1 // Added Special for #region - #endregion syntax highlight and folding. // May 30, 2004 - Fixed issue with continuation lines on If statements. // June 5, 2004 - Added comma to Operators for better readability. // Added fold.compact support set with fold.compact=1 // Changed folding inside of #cs-#ce. Default is no keyword folding inside comment blocks when fold.comment=1 // it will now only happen when fold.comment=2. // Sep 5, 2004 - Added logic to handle colourizing words on the last line. // Typed Characters now show as "default" till they match any table. // Oct 10, 2004 - Added logic to show Comments in "Special" directives. // Nov 1, 2004 - Added better testing for Numbers supporting x and e notation. // Nov 28, 2004 - Added logic to handle continuation lines for syntax highlighting. // Jan 10, 2005 - Added Abbreviations Keyword used for expansion // Mar 24, 2005 - Updated Abbreviations Keywords to fix when followed by Operator. // Apr 18, 2005 - Updated #CE/#Comment-End logic to take a linecomment ";" into account // - Added folding support for With...EndWith // - Added support for a DOT in variable names // - Fixed Underscore in CommentBlock // May 23, 2005 - Fixed the SentKey lexing in case of a missing } // Aug 11, 2005 - Fixed possible bug with s_save length > 100. // Aug 23, 2005 - Added Switch/endswitch support to the folding logic. // Sep 27, 2005 - Fixed the SentKey lexing logic in case of multiple sentkeys. // Mar 12, 2006 - Fixed issue with <> coloring as String in stead of Operator in rare occasions. // Apr 8, 2006 - Added support for AutoIt3 Standard UDF library (SCE_AU3_UDF) // Mar 9, 2007 - Fixed bug with + following a String getting the wrong Color. // Jun 20, 2007 - Fixed Commentblock issue when LF's are used as EOL. // Jul 26, 2007 - Fixed #endregion undetected bug. // // Copyright for Scintilla: 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. // Scintilla source code edit control #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsTypeCharacter(const int ch) { return ch == '$'; } static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_'); } static inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '@' || ch == '#' || ch == '$' || ch == '.'); } static inline bool IsAOperator(char ch) { if (IsASCII(ch) && isalnum(ch)) return false; if (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '&' || ch == '^' || ch == '=' || ch == '<' || ch == '>' || ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == ',' ) return true; return false; } /////////////////////////////////////////////////////////////////////////////// // GetSendKey() filters the portion before and after a/multiple space(s) // and return the first portion to be looked-up in the table // also check if the second portion is valid... (up,down.on.off,toggle or a number) /////////////////////////////////////////////////////////////////////////////// static int GetSendKey(const char *szLine, char *szKey) { int nFlag = 0; int nStartFound = 0; int nKeyPos = 0; int nSpecPos= 0; int nSpecNum= 1; int nPos = 0; char cTemp; char szSpecial[100]; // split the portion of the sendkey in the part before and after the spaces while ( ( (cTemp = szLine[nPos]) != '\0')) { // skip leading Ctrl/Shift/Alt state if (cTemp == '{') { nStartFound = 1; } // if (nStartFound == 1) { if ((cTemp == ' ') && (nFlag == 0) ) // get the stuff till first space { nFlag = 1; // Add } to the end of the first bit for table lookup later. szKey[nKeyPos++] = '}'; } else if (cTemp == ' ') { // skip other spaces } else if (nFlag == 0) { // save first portion into var till space or } is hit szKey[nKeyPos++] = cTemp; } else if ((nFlag == 1) && (cTemp != '}')) { // Save second portion into var... szSpecial[nSpecPos++] = cTemp; // check if Second portion is all numbers for repeat fuction if (isdigit(cTemp) == false) {nSpecNum = 0;} } } nPos++; // skip to next char } // End While // Check if the second portion is either a number or one of these keywords szKey[nKeyPos] = '\0'; szSpecial[nSpecPos] = '\0'; if (strcmp(szSpecial,"down")== 0 || strcmp(szSpecial,"up")== 0 || strcmp(szSpecial,"on")== 0 || strcmp(szSpecial,"off")== 0 || strcmp(szSpecial,"toggle")== 0 || nSpecNum == 1 ) { nFlag = 0; } else { nFlag = 1; } return nFlag; // 1 is bad, 0 is good } // GetSendKey() // // Routine to check the last "none comment" character on a line to see if its a continuation // static bool IsContinuationLine(Sci_PositionU szLine, Accessor &styler) { Sci_Position nsPos = styler.LineStart(szLine); Sci_Position nePos = styler.LineStart(szLine+1) - 2; //int stylech = styler.StyleAt(nsPos); while (nsPos < nePos) { //stylech = styler.StyleAt(nePos); int stylech = styler.StyleAt(nsPos); if (!(stylech == SCE_AU3_COMMENT)) { char ch = styler.SafeGetCharAt(nePos); if (!isspacechar(ch)) { if (ch == '_') return true; else return false; } } nePos--; // skip to next char } // End While return false; } // IsContinuationLine() // // syntax highlighting logic static void ColouriseAU3Doc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; WordList &keywords4 = *keywordlists[3]; WordList &keywords5 = *keywordlists[4]; WordList &keywords6 = *keywordlists[5]; WordList &keywords7 = *keywordlists[6]; WordList &keywords8 = *keywordlists[7]; // find the first previous line without continuation character at the end Sci_Position lineCurrent = styler.GetLine(startPos); Sci_Position s_startPos = startPos; // When not inside a Block comment: find First line without _ if (!(initStyle==SCE_AU3_COMMENTBLOCK)) { while ((lineCurrent > 0 && IsContinuationLine(lineCurrent,styler)) || (lineCurrent > 1 && IsContinuationLine(lineCurrent-1,styler))) { lineCurrent--; startPos = styler.LineStart(lineCurrent); // get start position initStyle = 0; // reset the start style to 0 } } // Set the new length to include it from the start and set the start position length = length + s_startPos - startPos; // correct the total length to process styler.StartAt(startPos); StyleContext sc(startPos, length, initStyle, styler); char si; // string indicator "=1 '=2 char ni; // Numeric indicator error=9 normal=0 normal+dec=1 hex=2 Enot=3 char ci; // comment indicator 0=not linecomment(;) char s_save[100] = ""; si=0; ni=0; ci=0; //$$$ for (; sc.More(); sc.Forward()) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); // ********************************************** // save the total current word for eof processing if (IsAWordChar(sc.ch) || sc.ch == '}') { strcpy(s_save,s); int tp = static_cast(strlen(s_save)); if (tp < 99) { s_save[tp] = static_cast(tolower(sc.ch)); s_save[tp+1] = '\0'; } } // ********************************************** // switch (sc.state) { case SCE_AU3_COMMENTBLOCK: { //Reset at line end if (sc.atLineEnd) { ci=0; if (strcmp(s, "#ce")== 0 || strcmp(s, "#comments-end")== 0) { if (sc.atLineEnd) sc.SetState(SCE_AU3_DEFAULT); else sc.SetState(SCE_AU3_COMMENTBLOCK); } break; } //skip rest of line when a ; is encountered if (sc.chPrev == ';') { ci=2; sc.SetState(SCE_AU3_COMMENTBLOCK); } // skip rest of the line if (ci==2) break; // check when first character is detected on the line if (ci==0) { if (IsAWordStart(static_cast(sc.ch)) || IsAOperator(static_cast(sc.ch))) { ci=1; sc.SetState(SCE_AU3_COMMENTBLOCK); } break; } if (!(IsAWordChar(sc.ch) || (sc.ch == '-' && strcmp(s, "#comments") == 0))) { if ((strcmp(s, "#ce")== 0 || strcmp(s, "#comments-end")== 0)) sc.SetState(SCE_AU3_COMMENT); // set to comment line for the rest of the line else ci=2; // line doesn't begin with #CE so skip the rest of the line } break; } case SCE_AU3_COMMENT: { if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);} break; } case SCE_AU3_OPERATOR: { // check if its a COMobject if (sc.chPrev == '.' && IsAWordChar(sc.ch)) { sc.SetState(SCE_AU3_COMOBJ); } else { sc.SetState(SCE_AU3_DEFAULT); } break; } case SCE_AU3_SPECIAL: { if (sc.ch == ';') {sc.SetState(SCE_AU3_COMMENT);} if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);} break; } case SCE_AU3_KEYWORD: { if (!(IsAWordChar(sc.ch) || (sc.ch == '-' && (strcmp(s, "#comments") == 0 || strcmp(s, "#include") == 0)))) { if (!IsTypeCharacter(sc.ch)) { if (strcmp(s, "#cs")== 0 || strcmp(s, "#comments-start")== 0 ) { sc.ChangeState(SCE_AU3_COMMENTBLOCK); sc.SetState(SCE_AU3_COMMENTBLOCK); break; } else if (keywords.InList(s)) { sc.ChangeState(SCE_AU3_KEYWORD); sc.SetState(SCE_AU3_DEFAULT); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_AU3_FUNCTION); sc.SetState(SCE_AU3_DEFAULT); } else if (keywords3.InList(s)) { sc.ChangeState(SCE_AU3_MACRO); sc.SetState(SCE_AU3_DEFAULT); } else if (keywords5.InList(s)) { sc.ChangeState(SCE_AU3_PREPROCESSOR); sc.SetState(SCE_AU3_DEFAULT); if (strcmp(s, "#include")== 0) { si = 3; // use to determine string start for #inlude <> } } else if (keywords6.InList(s)) { sc.ChangeState(SCE_AU3_SPECIAL); sc.SetState(SCE_AU3_SPECIAL); } else if ((keywords7.InList(s)) && (!IsAOperator(static_cast(sc.ch)))) { sc.ChangeState(SCE_AU3_EXPAND); sc.SetState(SCE_AU3_DEFAULT); } else if (keywords8.InList(s)) { sc.ChangeState(SCE_AU3_UDF); sc.SetState(SCE_AU3_DEFAULT); } else if (strcmp(s, "_") == 0) { sc.ChangeState(SCE_AU3_OPERATOR); sc.SetState(SCE_AU3_DEFAULT); } else if (!IsAWordChar(sc.ch)) { sc.ChangeState(SCE_AU3_DEFAULT); sc.SetState(SCE_AU3_DEFAULT); } } } if (sc.atLineEnd) { sc.SetState(SCE_AU3_DEFAULT);} break; } case SCE_AU3_NUMBER: { // Numeric indicator error=9 normal=0 normal+dec=1 hex=2 E-not=3 // // test for Hex notation if (strcmp(s, "0") == 0 && (sc.ch == 'x' || sc.ch == 'X') && ni == 0) { ni = 2; break; } // test for E notation if (IsADigit(sc.chPrev) && (sc.ch == 'e' || sc.ch == 'E') && ni <= 1) { ni = 3; break; } // Allow Hex characters inside hex numeric strings if ((ni == 2) && (sc.ch == 'a' || sc.ch == 'b' || sc.ch == 'c' || sc.ch == 'd' || sc.ch == 'e' || sc.ch == 'f' || sc.ch == 'A' || sc.ch == 'B' || sc.ch == 'C' || sc.ch == 'D' || sc.ch == 'E' || sc.ch == 'F' )) { break; } // test for 1 dec point only if (sc.ch == '.') { if (ni==0) { ni=1; } else { ni=9; } break; } // end of numeric string ? if (!(IsADigit(sc.ch))) { if (ni==9) { sc.ChangeState(SCE_AU3_DEFAULT); } sc.SetState(SCE_AU3_DEFAULT); } break; } case SCE_AU3_VARIABLE: { // Check if its a COMObject if (sc.ch == '.' && !IsADigit(sc.chNext)) { sc.SetState(SCE_AU3_OPERATOR); } else if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_AU3_DEFAULT); } break; } case SCE_AU3_COMOBJ: { if (!(IsAWordChar(sc.ch))) { sc.SetState(SCE_AU3_DEFAULT); } break; } case SCE_AU3_STRING: { // check for " to end a double qouted string or // check for ' to end a single qouted string if ((si == 1 && sc.ch == '\"') || (si == 2 && sc.ch == '\'') || (si == 3 && sc.ch == '>')) { sc.ForwardSetState(SCE_AU3_DEFAULT); si=0; break; } if (sc.atLineEnd) { si=0; // at line end and not found a continuation char then reset to default Sci_Position lineCurrent = styler.GetLine(sc.currentPos); if (!IsContinuationLine(lineCurrent,styler)) { sc.SetState(SCE_AU3_DEFAULT); break; } } // find Sendkeys in a STRING if (sc.ch == '{' || sc.ch == '+' || sc.ch == '!' || sc.ch == '^' || sc.ch == '#' ) { sc.SetState(SCE_AU3_SENT);} break; } case SCE_AU3_SENT: { // Send key string ended if (sc.chPrev == '}' && sc.ch != '}') { // set color to SENDKEY when valid sendkey .. else set back to regular string char sk[100]; // split {111 222} and return {111} and check if 222 is valid. // if return code = 1 then invalid 222 so must be string if (GetSendKey(s,sk)) { sc.ChangeState(SCE_AU3_STRING); } // if single char between {?} then its ok as sendkey for a single character else if (strlen(sk) == 3) { sc.ChangeState(SCE_AU3_SENT); } // if sendkey {111} is in table then ok as sendkey else if (keywords4.InList(sk)) { sc.ChangeState(SCE_AU3_SENT); } else { sc.ChangeState(SCE_AU3_STRING); } sc.SetState(SCE_AU3_STRING); } else { // check if the start is a valid SendKey start Sci_Position nPos = 0; int nState = 1; char cTemp; while (!(nState == 2) && ((cTemp = s[nPos]) != '\0')) { if (cTemp == '{' && nState == 1) { nState = 2; } if (nState == 1 && !(cTemp == '+' || cTemp == '!' || cTemp == '^' || cTemp == '#' )) { nState = 0; } nPos++; } //Verify characters infront of { ... if not assume regular string if (nState == 1 && (!(sc.ch == '{' || sc.ch == '+' || sc.ch == '!' || sc.ch == '^' || sc.ch == '#' ))) { sc.ChangeState(SCE_AU3_STRING); sc.SetState(SCE_AU3_STRING); } // If invalid character found then assume its a regular string if (nState == 0) { sc.ChangeState(SCE_AU3_STRING); sc.SetState(SCE_AU3_STRING); } } // check if next portion is again a sendkey if (sc.atLineEnd) { sc.ChangeState(SCE_AU3_STRING); sc.SetState(SCE_AU3_DEFAULT); si = 0; // reset string indicator } //* check in next characters following a sentkey are again a sent key // Need this test incase of 2 sentkeys like {F1}{ENTER} but not detect {{} if (sc.state == SCE_AU3_STRING && (sc.ch == '{' || sc.ch == '+' || sc.ch == '!' || sc.ch == '^' || sc.ch == '#' )) { sc.SetState(SCE_AU3_SENT);} // check to see if the string ended... // Sendkey string isn't complete but the string ended.... if ((si == 1 && sc.ch == '\"') || (si == 2 && sc.ch == '\'')) { sc.ChangeState(SCE_AU3_STRING); sc.ForwardSetState(SCE_AU3_DEFAULT); } break; } } //switch (sc.state) // Determine if a new state should be entered: if (sc.state == SCE_AU3_DEFAULT) { if (sc.ch == ';') {sc.SetState(SCE_AU3_COMMENT);} else if (sc.ch == '#') {sc.SetState(SCE_AU3_KEYWORD);} else if (sc.ch == '$') {sc.SetState(SCE_AU3_VARIABLE);} else if (sc.ch == '.' && !IsADigit(sc.chNext)) {sc.SetState(SCE_AU3_OPERATOR);} else if (sc.ch == '@') {sc.SetState(SCE_AU3_KEYWORD);} //else if (sc.ch == '_') {sc.SetState(SCE_AU3_KEYWORD);} else if (sc.ch == '<' && si==3) {sc.SetState(SCE_AU3_STRING);} // string after #include else if (sc.ch == '\"') { sc.SetState(SCE_AU3_STRING); si = 1; } else if (sc.ch == '\'') { sc.SetState(SCE_AU3_STRING); si = 2; } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_AU3_NUMBER); ni = 0; } else if (IsAWordStart(sc.ch)) {sc.SetState(SCE_AU3_KEYWORD);} else if (IsAOperator(static_cast(sc.ch))) {sc.SetState(SCE_AU3_OPERATOR);} else if (sc.atLineEnd) {sc.SetState(SCE_AU3_DEFAULT);} } } //for (; sc.More(); sc.Forward()) //************************************* // Colourize the last word correctly //************************************* if (sc.state == SCE_AU3_KEYWORD) { if (strcmp(s_save, "#cs")== 0 || strcmp(s_save, "#comments-start")== 0 ) { sc.ChangeState(SCE_AU3_COMMENTBLOCK); sc.SetState(SCE_AU3_COMMENTBLOCK); } else if (keywords.InList(s_save)) { sc.ChangeState(SCE_AU3_KEYWORD); sc.SetState(SCE_AU3_KEYWORD); } else if (keywords2.InList(s_save)) { sc.ChangeState(SCE_AU3_FUNCTION); sc.SetState(SCE_AU3_FUNCTION); } else if (keywords3.InList(s_save)) { sc.ChangeState(SCE_AU3_MACRO); sc.SetState(SCE_AU3_MACRO); } else if (keywords5.InList(s_save)) { sc.ChangeState(SCE_AU3_PREPROCESSOR); sc.SetState(SCE_AU3_PREPROCESSOR); } else if (keywords6.InList(s_save)) { sc.ChangeState(SCE_AU3_SPECIAL); sc.SetState(SCE_AU3_SPECIAL); } else if (keywords7.InList(s_save) && sc.atLineEnd) { sc.ChangeState(SCE_AU3_EXPAND); sc.SetState(SCE_AU3_EXPAND); } else if (keywords8.InList(s_save)) { sc.ChangeState(SCE_AU3_UDF); sc.SetState(SCE_AU3_UDF); } else { sc.ChangeState(SCE_AU3_DEFAULT); sc.SetState(SCE_AU3_DEFAULT); } } if (sc.state == SCE_AU3_SENT) { // Send key string ended if (sc.chPrev == '}' && sc.ch != '}') { // set color to SENDKEY when valid sendkey .. else set back to regular string char sk[100]; // split {111 222} and return {111} and check if 222 is valid. // if return code = 1 then invalid 222 so must be string if (GetSendKey(s_save,sk)) { sc.ChangeState(SCE_AU3_STRING); } // if single char between {?} then its ok as sendkey for a single character else if (strlen(sk) == 3) { sc.ChangeState(SCE_AU3_SENT); } // if sendkey {111} is in table then ok as sendkey else if (keywords4.InList(sk)) { sc.ChangeState(SCE_AU3_SENT); } else { sc.ChangeState(SCE_AU3_STRING); } sc.SetState(SCE_AU3_STRING); } // check if next portion is again a sendkey if (sc.atLineEnd) { sc.ChangeState(SCE_AU3_STRING); sc.SetState(SCE_AU3_DEFAULT); } } //************************************* sc.Complete(); } // static bool IsStreamCommentStyle(int style) { return style == SCE_AU3_COMMENT || style == SCE_AU3_COMMENTBLOCK; } // // Routine to find first none space on the current line and return its Style // needed for comment lines not starting on pos 1 static int GetStyleFirstWord(Sci_PositionU szLine, Accessor &styler) { Sci_Position nsPos = styler.LineStart(szLine); Sci_Position nePos = styler.LineStart(szLine+1) - 1; while (isspacechar(styler.SafeGetCharAt(nsPos)) && nsPos < nePos) { nsPos++; // skip to next char } // End While return styler.StyleAt(nsPos); } // GetStyleFirstWord() // static void FoldAU3Doc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_Position endPos = startPos + length; // get settings from the config files for folding comments and preprocessor lines bool foldComment = styler.GetPropertyInt("fold.comment") != 0; bool foldInComment = styler.GetPropertyInt("fold.comment") == 2; bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; bool foldpreprocessor = styler.GetPropertyInt("fold.preprocessor") != 0; // Backtrack to previous line in case need to fix its fold status Sci_Position lineCurrent = styler.GetLine(startPos); if (startPos > 0) { if (lineCurrent > 0) { lineCurrent--; startPos = styler.LineStart(lineCurrent); } } // vars for style of previous/current/next lines int style = GetStyleFirstWord(lineCurrent,styler); int stylePrev = 0; // find the first previous line without continuation character at the end while ((lineCurrent > 0 && IsContinuationLine(lineCurrent,styler)) || (lineCurrent > 1 && IsContinuationLine(lineCurrent-1,styler))) { lineCurrent--; startPos = styler.LineStart(lineCurrent); } if (lineCurrent > 0) { stylePrev = GetStyleFirstWord(lineCurrent-1,styler); } // vars for getting first word to check for keywords bool FirstWordStart = false; bool FirstWordEnd = false; char szKeyword[11]=""; int szKeywordlen = 0; char szThen[5]=""; int szThenlen = 0; bool ThenFoundLast = false; // var for indentlevel int levelCurrent = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; int levelNext = levelCurrent; // int visibleChars = 0; char chNext = styler.SafeGetCharAt(startPos); char chPrev = ' '; // for (Sci_Position i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if (IsAWordChar(ch)) { visibleChars++; } // get the syle for the current character neede to check in comment int stylech = styler.StyleAt(i); // get first word for the line for indent check max 9 characters if (FirstWordStart && (!(FirstWordEnd))) { if (!IsAWordChar(ch)) { FirstWordEnd = true; szKeyword[szKeywordlen] = '\0'; } else { if (szKeywordlen < 10) { szKeyword[szKeywordlen++] = static_cast(tolower(ch)); } } } // start the capture of the first word if (!(FirstWordStart)) { if (IsAWordChar(ch) || IsAWordStart(ch) || ch == ';') { FirstWordStart = true; szKeyword[szKeywordlen++] = static_cast(tolower(ch)); } } // only process this logic when not in comment section if (!(stylech == SCE_AU3_COMMENT)) { if (ThenFoundLast) { if (IsAWordChar(ch)) { ThenFoundLast = false; } } // find out if the word "then" is the last on a "if" line if (FirstWordEnd && strcmp(szKeyword,"if") == 0) { if (szThenlen == 4) { szThen[0] = szThen[1]; szThen[1] = szThen[2]; szThen[2] = szThen[3]; szThen[3] = static_cast(tolower(ch)); if (strcmp(szThen,"then") == 0 ) { ThenFoundLast = true; } } else { szThen[szThenlen++] = static_cast(tolower(ch)); if (szThenlen == 5) { szThen[4] = '\0'; } } } } // End of Line found so process the information if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == endPos)) { // ************************** // Folding logic for Keywords // ************************** // if a keyword is found on the current line and the line doesn't end with _ (continuation) // and we are not inside a commentblock. if (szKeywordlen > 0 && (!(chPrev == '_')) && ((!(IsStreamCommentStyle(style)) || foldInComment)) ) { szKeyword[szKeywordlen] = '\0'; // only fold "if" last keyword is "then" (else its a one line if) if (strcmp(szKeyword,"if") == 0 && ThenFoundLast) { levelNext++; } // create new fold for these words if (strcmp(szKeyword,"do") == 0 || strcmp(szKeyword,"for") == 0 || strcmp(szKeyword,"func") == 0 || strcmp(szKeyword,"while") == 0|| strcmp(szKeyword,"with") == 0 || strcmp(szKeyword,"#region") == 0 ) { levelNext++; } // create double Fold for select&switch because Case will subtract one of the current level if (strcmp(szKeyword,"select") == 0 || strcmp(szKeyword,"switch") == 0) { levelNext++; levelNext++; } // end the fold for these words before the current line if (strcmp(szKeyword,"endfunc") == 0 || strcmp(szKeyword,"endif") == 0 || strcmp(szKeyword,"next") == 0 || strcmp(szKeyword,"until") == 0 || strcmp(szKeyword,"endwith") == 0 ||strcmp(szKeyword,"wend") == 0){ levelNext--; levelCurrent--; } // end the fold for these words before the current line and Start new fold if (strcmp(szKeyword,"case") == 0 || strcmp(szKeyword,"else") == 0 || strcmp(szKeyword,"elseif") == 0 ) { levelCurrent--; } // end the double fold for this word before the current line if (strcmp(szKeyword,"endselect") == 0 || strcmp(szKeyword,"endswitch") == 0 ) { levelNext--; levelNext--; levelCurrent--; levelCurrent--; } // end the fold for these words on the current line if (strcmp(szKeyword,"#endregion") == 0 ) { levelNext--; } } // Preprocessor and Comment folding int styleNext = GetStyleFirstWord(lineCurrent + 1,styler); // ************************************* // Folding logic for preprocessor blocks // ************************************* // process preprosessor line if (foldpreprocessor && style == SCE_AU3_PREPROCESSOR) { if (!(stylePrev == SCE_AU3_PREPROCESSOR) && (styleNext == SCE_AU3_PREPROCESSOR)) { levelNext++; } // fold till the last line for normal comment lines else if (stylePrev == SCE_AU3_PREPROCESSOR && !(styleNext == SCE_AU3_PREPROCESSOR)) { levelNext--; } } // ********************************* // Folding logic for Comment blocks // ********************************* if (foldComment && IsStreamCommentStyle(style)) { // Start of a comment block if (!(stylePrev==style) && IsStreamCommentStyle(styleNext) && styleNext==style) { levelNext++; } // fold till the last line for normal comment lines else if (IsStreamCommentStyle(stylePrev) && !(styleNext == SCE_AU3_COMMENT) && stylePrev == SCE_AU3_COMMENT && style == SCE_AU3_COMMENT) { levelNext--; } // fold till the one but last line for Blockcomment lines else if (IsStreamCommentStyle(stylePrev) && !(styleNext == SCE_AU3_COMMENTBLOCK) && style == SCE_AU3_COMMENTBLOCK) { levelNext--; levelCurrent--; } } int levelUse = levelCurrent; int lev = levelUse | levelNext << 16; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if (levelUse < levelNext) { lev |= SC_FOLDLEVELHEADERFLAG; } if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } // reset values for the next line lineCurrent++; stylePrev = style; style = styleNext; levelCurrent = levelNext; visibleChars = 0; // if the last character is an Underscore then don't reset since the line continues on the next line. if (!(chPrev == '_')) { szKeywordlen = 0; szThenlen = 0; FirstWordStart = false; FirstWordEnd = false; ThenFoundLast = false; } } // save the last processed character if (!isspacechar(ch)) { chPrev = ch; visibleChars++; } } } // static const char * const AU3WordLists[] = { "#autoit keywords", "#autoit functions", "#autoit macros", "#autoit Sent keys", "#autoit Pre-processors", "#autoit Special", "#autoit Expand", "#autoit UDF", 0 }; LexerModule lmAU3(SCLEX_AU3, ColouriseAU3Doc, "au3", FoldAU3Doc , AU3WordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexAVE.cpp ================================================ // SciTE - Scintilla based Text Editor /** @file LexAVE.cxx ** Lexer for Avenue. ** ** Written by Alexey Yutkin . **/ // Copyright 1998-2002 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_'); } static inline bool IsEnumChar(const int ch) { return (ch < 0x80) && (isalnum(ch)|| ch == '_'); } static inline bool IsANumberChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' ); } inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_'); } inline bool isAveOperator(char ch) { if (IsASCII(ch) && isalnum(ch)) return false; // '.' left out as it is used to make up numbers if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || ch == '(' || ch == ')' || ch == '=' || ch == '{' || ch == '}' || ch == '[' || ch == ']' || ch == ';' || ch == '<' || ch == '>' || ch == ',' || ch == '.' ) return true; return false; } static void ColouriseAveDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; WordList &keywords4 = *keywordlists[3]; WordList &keywords5 = *keywordlists[4]; WordList &keywords6 = *keywordlists[5]; // Do not leak onto next line if (initStyle == SCE_AVE_STRINGEOL) { initStyle = SCE_AVE_DEFAULT; } StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { if (sc.atLineEnd) { // Update the line state, so it can be seen by next line Sci_Position currentLine = styler.GetLine(sc.currentPos); styler.SetLineState(currentLine, 0); } if (sc.atLineStart && (sc.state == SCE_AVE_STRING)) { // Prevent SCE_AVE_STRINGEOL from leaking back to previous line sc.SetState(SCE_AVE_STRING); } // Determine if the current state should terminate. if (sc.state == SCE_AVE_OPERATOR) { sc.SetState(SCE_AVE_DEFAULT); } else if (sc.state == SCE_AVE_NUMBER) { if (!IsANumberChar(sc.ch)) { sc.SetState(SCE_AVE_DEFAULT); } } else if (sc.state == SCE_AVE_ENUM) { if (!IsEnumChar(sc.ch)) { sc.SetState(SCE_AVE_DEFAULT); } } else if (sc.state == SCE_AVE_IDENTIFIER) { if (!IsAWordChar(sc.ch) || (sc.ch == '.')) { char s[100]; //sc.GetCurrent(s, sizeof(s)); sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_AVE_WORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_AVE_WORD2); } else if (keywords3.InList(s)) { sc.ChangeState(SCE_AVE_WORD3); } else if (keywords4.InList(s)) { sc.ChangeState(SCE_AVE_WORD4); } else if (keywords5.InList(s)) { sc.ChangeState(SCE_AVE_WORD5); } else if (keywords6.InList(s)) { sc.ChangeState(SCE_AVE_WORD6); } sc.SetState(SCE_AVE_DEFAULT); } } else if (sc.state == SCE_AVE_COMMENT) { if (sc.atLineEnd) { sc.SetState(SCE_AVE_DEFAULT); } } else if (sc.state == SCE_AVE_STRING) { if (sc.ch == '\"') { sc.ForwardSetState(SCE_AVE_DEFAULT); } else if (sc.atLineEnd) { sc.ChangeState(SCE_AVE_STRINGEOL); sc.ForwardSetState(SCE_AVE_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_AVE_DEFAULT) { if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_AVE_NUMBER); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_AVE_IDENTIFIER); } else if (sc.Match('\"')) { sc.SetState(SCE_AVE_STRING); } else if (sc.Match('\'')) { sc.SetState(SCE_AVE_COMMENT); sc.Forward(); } else if (isAveOperator(static_cast(sc.ch))) { sc.SetState(SCE_AVE_OPERATOR); } else if (sc.Match('#')) { sc.SetState(SCE_AVE_ENUM); sc.Forward(); } } } sc.Complete(); } static void FoldAveDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[], Accessor &styler) { Sci_PositionU lengthDoc = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = static_cast(tolower(styler[startPos])); bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; int styleNext = styler.StyleAt(startPos); char s[10] = ""; for (Sci_PositionU i = startPos; i < lengthDoc; i++) { char ch = static_cast(tolower(chNext)); chNext = static_cast(tolower(styler.SafeGetCharAt(i + 1))); int style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (style == SCE_AVE_WORD) { if (ch == 't' || ch == 'f' || ch == 'w' || ch == 'e') { for (unsigned int j = 0; j < 6; j++) { if (!iswordchar(styler[i + j])) { break; } s[j] = static_cast(tolower(styler[i + j])); s[j + 1] = '\0'; } if ((strcmp(s, "then") == 0) || (strcmp(s, "for") == 0) || (strcmp(s, "while") == 0)) { levelCurrent++; } if ((strcmp(s, "end") == 0) || (strcmp(s, "elseif") == 0)) { // Normally "elseif" and "then" will be on the same line and will cancel // each other out. // As implemented, this does not support fold.at.else. levelCurrent--; } } } else if (style == SCE_AVE_OPERATOR) { if (ch == '{' || ch == '(') { levelCurrent++; } else if (ch == '}' || ch == ')') { levelCurrent--; } } if (atEOL) { int lev = levelPrev; if (visibleChars == 0 && foldCompact) { lev |= SC_FOLDLEVELWHITEFLAG; } if ((levelCurrent > levelPrev) && (visibleChars > 0)) { lev |= SC_FOLDLEVELHEADERFLAG; } if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) { visibleChars++; } } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } LexerModule lmAVE(SCLEX_AVE, ColouriseAveDoc, "ave", FoldAveDoc); ================================================ FILE: src/qscint/scintilla/lexers/LexAVS.cpp ================================================ // Scintilla source code edit control /** @file LexAVS.cxx ** Lexer for AviSynth. **/ // Copyright 2012 by Bruno Barbieri // Heavily based on LexPOV by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_'); } static inline bool IsAWordStart(int ch) { return isalpha(ch) || (ch != ' ' && ch != '\n' && ch != '(' && ch != '.' && ch != ','); } static inline bool IsANumberChar(int ch) { // Not exactly following number definition (several dots are seen as OK, etc.) // but probably enough in most cases. return (ch < 0x80) && (isdigit(ch) || ch == '.' || ch == '-' || ch == '+'); } static void ColouriseAvsDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &filters = *keywordlists[1]; WordList &plugins = *keywordlists[2]; WordList &functions = *keywordlists[3]; WordList &clipProperties = *keywordlists[4]; WordList &userDefined = *keywordlists[5]; Sci_Position currentLine = styler.GetLine(startPos); // Initialize the block comment nesting level, if we are inside such a comment. int blockCommentLevel = 0; if (initStyle == SCE_AVS_COMMENTBLOCK || initStyle == SCE_AVS_COMMENTBLOCKN) { blockCommentLevel = styler.GetLineState(currentLine - 1); } // Do not leak onto next line if (initStyle == SCE_AVS_COMMENTLINE) { initStyle = SCE_AVS_DEFAULT; } StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { if (sc.atLineEnd) { // Update the line state, so it can be seen by next line currentLine = styler.GetLine(sc.currentPos); if (sc.state == SCE_AVS_COMMENTBLOCK || sc.state == SCE_AVS_COMMENTBLOCKN) { // Inside a block comment, we set the line state styler.SetLineState(currentLine, blockCommentLevel); } else { // Reset the line state styler.SetLineState(currentLine, 0); } } // Determine if the current state should terminate. if (sc.state == SCE_AVS_OPERATOR) { sc.SetState(SCE_AVS_DEFAULT); } else if (sc.state == SCE_AVS_NUMBER) { // We stop the number definition on non-numerical non-dot non-sign char if (!IsANumberChar(sc.ch)) { sc.SetState(SCE_AVS_DEFAULT); } } else if (sc.state == SCE_AVS_IDENTIFIER) { if (!IsAWordChar(sc.ch)) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_AVS_KEYWORD); } else if (filters.InList(s)) { sc.ChangeState(SCE_AVS_FILTER); } else if (plugins.InList(s)) { sc.ChangeState(SCE_AVS_PLUGIN); } else if (functions.InList(s)) { sc.ChangeState(SCE_AVS_FUNCTION); } else if (clipProperties.InList(s)) { sc.ChangeState(SCE_AVS_CLIPPROP); } else if (userDefined.InList(s)) { sc.ChangeState(SCE_AVS_USERDFN); } sc.SetState(SCE_AVS_DEFAULT); } } else if (sc.state == SCE_AVS_COMMENTBLOCK) { if (sc.Match('/', '*')) { blockCommentLevel++; sc.Forward(); } else if (sc.Match('*', '/') && blockCommentLevel > 0) { blockCommentLevel--; sc.Forward(); if (blockCommentLevel == 0) { sc.ForwardSetState(SCE_AVS_DEFAULT); } } } else if (sc.state == SCE_AVS_COMMENTBLOCKN) { if (sc.Match('[', '*')) { blockCommentLevel++; sc.Forward(); } else if (sc.Match('*', ']') && blockCommentLevel > 0) { blockCommentLevel--; sc.Forward(); if (blockCommentLevel == 0) { sc.ForwardSetState(SCE_AVS_DEFAULT); } } } else if (sc.state == SCE_AVS_COMMENTLINE) { if (sc.atLineEnd) { sc.ForwardSetState(SCE_AVS_DEFAULT); } } else if (sc.state == SCE_AVS_STRING) { if (sc.ch == '\"') { sc.ForwardSetState(SCE_AVS_DEFAULT); } } else if (sc.state == SCE_AVS_TRIPLESTRING) { if (sc.Match("\"\"\"")) { sc.Forward(); sc.Forward(); sc.ForwardSetState(SCE_AVS_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_AVS_DEFAULT) { if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_AVS_NUMBER); } else if (IsADigit(sc.ch) || (sc.ch == ',' && IsADigit(sc.chNext))) { sc.Forward(); sc.SetState(SCE_AVS_NUMBER); } else if (sc.Match('/', '*')) { blockCommentLevel = 1; sc.SetState(SCE_AVS_COMMENTBLOCK); sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.Match('[', '*')) { blockCommentLevel = 1; sc.SetState(SCE_AVS_COMMENTBLOCKN); sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.ch == '#') { sc.SetState(SCE_AVS_COMMENTLINE); } else if (sc.ch == '\"') { if (sc.Match("\"\"\"")) { sc.SetState(SCE_AVS_TRIPLESTRING); } else { sc.SetState(SCE_AVS_STRING); } } else if (isoperator(static_cast(sc.ch))) { sc.SetState(SCE_AVS_OPERATOR); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_AVS_IDENTIFIER); } } } // End of file: complete any pending changeState if (sc.state == SCE_AVS_IDENTIFIER) { if (!IsAWordChar(sc.ch)) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_AVS_KEYWORD); } else if (filters.InList(s)) { sc.ChangeState(SCE_AVS_FILTER); } else if (plugins.InList(s)) { sc.ChangeState(SCE_AVS_PLUGIN); } else if (functions.InList(s)) { sc.ChangeState(SCE_AVS_FUNCTION); } else if (clipProperties.InList(s)) { sc.ChangeState(SCE_AVS_CLIPPROP); } else if (userDefined.InList(s)) { sc.ChangeState(SCE_AVS_USERDFN); } sc.SetState(SCE_AVS_DEFAULT); } } sc.Complete(); } static void FoldAvsDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { bool foldComment = styler.GetPropertyInt("fold.comment") != 0; bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (foldComment && style == SCE_AVS_COMMENTBLOCK) { if (stylePrev != SCE_AVS_COMMENTBLOCK) { levelCurrent++; } else if ((styleNext != SCE_AVS_COMMENTBLOCK) && !atEOL) { // Comments don't end at end of line and the next character may be unstyled. levelCurrent--; } } if (foldComment && style == SCE_AVS_COMMENTBLOCKN) { if (stylePrev != SCE_AVS_COMMENTBLOCKN) { levelCurrent++; } else if ((styleNext != SCE_AVS_COMMENTBLOCKN) && !atEOL) { // Comments don't end at end of line and the next character may be unstyled. levelCurrent--; } } if (style == SCE_AVS_OPERATOR) { if (ch == '{') { levelCurrent++; } else if (ch == '}') { levelCurrent--; } } if (atEOL) { int lev = levelPrev; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const avsWordLists[] = { "Keywords", "Filters", "Plugins", "Functions", "Clip properties", "User defined functions", 0, }; //LexerModule lmAVS(SCLEX_AVS, ColouriseAvsDoc, "avs", FoldAvsDoc, avsWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexAbaqus.cpp ================================================ // Scintilla source code edit control /** @file LexABAQUS.cxx ** Lexer for ABAQUS. Based on the lexer for APDL by Hadar Raz. ** By Sergio Lucato. ** Sort of completely rewritten by Gertjan Kloosterman **/ // The License.txt file describes the conditions under which this software may be distributed. // Code folding copyied and modified from LexBasic.cxx #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAKeywordChar(const int ch) { return (ch < 0x80 && (isalnum(ch) || (ch == '_') || (ch == ' '))); } static inline bool IsASetChar(const int ch) { return (ch < 0x80 && (isalnum(ch) || (ch == '_') || (ch == '.') || (ch == '-'))); } static void ColouriseABAQUSDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList*[] /* *keywordlists[] */, Accessor &styler) { enum localState { KW_LINE_KW, KW_LINE_COMMA, KW_LINE_PAR, KW_LINE_EQ, KW_LINE_VAL, \ DAT_LINE_VAL, DAT_LINE_COMMA,\ COMMENT_LINE,\ ST_ERROR, LINE_END } state ; // Do not leak onto next line state = LINE_END ; initStyle = SCE_ABAQUS_DEFAULT; StyleContext sc(startPos, length, initStyle, styler); // Things are actually quite simple // we have commentlines // keywordlines and datalines // On a data line there will only be colouring of numbers // a keyword line is constructed as // *word,[ paramname[=paramvalue]]* // if the line ends with a , the keyword line continues onto the new line for (; sc.More(); sc.Forward()) { switch ( state ) { case KW_LINE_KW : if ( sc.atLineEnd ) { // finished the line in keyword state, switch to LINE_END sc.SetState(SCE_ABAQUS_DEFAULT) ; state = LINE_END ; } else if ( IsAKeywordChar(sc.ch) ) { // nothing changes state = KW_LINE_KW ; } else if ( sc.ch == ',' ) { // Well well we say a comma, arguments *MUST* follow sc.SetState(SCE_ABAQUS_OPERATOR) ; state = KW_LINE_COMMA ; } else { // Flag an error sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } // Done with processing break ; case KW_LINE_COMMA : // acomma on a keywordline was seen if ( IsAKeywordChar(sc.ch)) { sc.SetState(SCE_ABAQUS_ARGUMENT) ; state = KW_LINE_PAR ; } else if ( sc.atLineEnd || (sc.ch == ',') ) { // we remain in keyword mode state = KW_LINE_COMMA ; } else if ( sc.ch == ' ' ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = KW_LINE_COMMA ; } else { // Anything else constitutes an error sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } break ; case KW_LINE_PAR : if ( sc.atLineEnd ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = LINE_END ; } else if ( IsAKeywordChar(sc.ch) || (sc.ch == '-') ) { // remain in this state state = KW_LINE_PAR ; } else if ( sc.ch == ',' ) { sc.SetState(SCE_ABAQUS_OPERATOR) ; state = KW_LINE_COMMA ; } else if ( sc.ch == '=' ) { sc.SetState(SCE_ABAQUS_OPERATOR) ; state = KW_LINE_EQ ; } else { // Anything else constitutes an error sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } break ; case KW_LINE_EQ : if ( sc.ch == ' ' ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; // remain in this state state = KW_LINE_EQ ; } else if ( IsADigit(sc.ch) || (sc.ch == '-') || (sc.ch == '.' && IsADigit(sc.chNext)) ) { sc.SetState(SCE_ABAQUS_NUMBER) ; state = KW_LINE_VAL ; } else if ( IsAKeywordChar(sc.ch) ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = KW_LINE_VAL ; } else if ( (sc.ch == '\'') || (sc.ch == '\"') ) { sc.SetState(SCE_ABAQUS_STRING) ; state = KW_LINE_VAL ; } else { sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } break ; case KW_LINE_VAL : if ( sc.atLineEnd ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = LINE_END ; } else if ( IsASetChar(sc.ch) && (sc.state == SCE_ABAQUS_DEFAULT) ) { // nothing changes state = KW_LINE_VAL ; } else if (( (IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') || ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) && (sc.state == SCE_ABAQUS_NUMBER)) { // remain in number mode state = KW_LINE_VAL ; } else if (sc.state == SCE_ABAQUS_STRING) { // accept everything until a closing quote if ( sc.ch == '\'' || sc.ch == '\"' ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = KW_LINE_VAL ; } } else if ( sc.ch == ',' ) { sc.SetState(SCE_ABAQUS_OPERATOR) ; state = KW_LINE_COMMA ; } else { // anything else is an error sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } break ; case DAT_LINE_VAL : if ( sc.atLineEnd ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = LINE_END ; } else if ( IsASetChar(sc.ch) && (sc.state == SCE_ABAQUS_DEFAULT) ) { // nothing changes state = DAT_LINE_VAL ; } else if (( (IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') || ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) && (sc.state == SCE_ABAQUS_NUMBER)) { // remain in number mode state = DAT_LINE_VAL ; } else if (sc.state == SCE_ABAQUS_STRING) { // accept everything until a closing quote if ( sc.ch == '\'' || sc.ch == '\"' ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = DAT_LINE_VAL ; } } else if ( sc.ch == ',' ) { sc.SetState(SCE_ABAQUS_OPERATOR) ; state = DAT_LINE_COMMA ; } else { // anything else is an error sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } break ; case DAT_LINE_COMMA : // a comma on a data line was seen if ( sc.atLineEnd ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = LINE_END ; } else if ( sc.ch == ' ' ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = DAT_LINE_COMMA ; } else if (sc.ch == ',') { sc.SetState(SCE_ABAQUS_OPERATOR) ; state = DAT_LINE_COMMA ; } else if ( IsADigit(sc.ch) || (sc.ch == '-')|| (sc.ch == '.' && IsADigit(sc.chNext)) ) { sc.SetState(SCE_ABAQUS_NUMBER) ; state = DAT_LINE_VAL ; } else if ( IsAKeywordChar(sc.ch) ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = DAT_LINE_VAL ; } else if ( (sc.ch == '\'') || (sc.ch == '\"') ) { sc.SetState(SCE_ABAQUS_STRING) ; state = DAT_LINE_VAL ; } else { sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } break ; case COMMENT_LINE : if ( sc.atLineEnd ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = LINE_END ; } break ; case ST_ERROR : if ( sc.atLineEnd ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = LINE_END ; } break ; case LINE_END : if ( sc.atLineEnd || sc.ch == ' ' ) { // nothing changes state = LINE_END ; } else if ( sc.ch == '*' ) { if ( sc.chNext == '*' ) { state = COMMENT_LINE ; sc.SetState(SCE_ABAQUS_COMMENT) ; } else { state = KW_LINE_KW ; sc.SetState(SCE_ABAQUS_STARCOMMAND) ; } } else { // it must be a data line, things are as if we are in DAT_LINE_COMMA if ( sc.ch == ',' ) { sc.SetState(SCE_ABAQUS_OPERATOR) ; state = DAT_LINE_COMMA ; } else if ( IsADigit(sc.ch) || (sc.ch == '-')|| (sc.ch == '.' && IsADigit(sc.chNext)) ) { sc.SetState(SCE_ABAQUS_NUMBER) ; state = DAT_LINE_VAL ; } else if ( IsAKeywordChar(sc.ch) ) { sc.SetState(SCE_ABAQUS_DEFAULT) ; state = DAT_LINE_VAL ; } else if ( (sc.ch == '\'') || (sc.ch == '\"') ) { sc.SetState(SCE_ABAQUS_STRING) ; state = DAT_LINE_VAL ; } else { sc.SetState(SCE_ABAQUS_PROCESSOR) ; state = ST_ERROR ; } } break ; } } sc.Complete(); } //------------------------------------------------------------------------------ // This copyied and modified from LexBasic.cxx //------------------------------------------------------------------------------ /* Bits: * 1 - whitespace * 2 - operator * 4 - identifier * 8 - decimal digit * 16 - hex digit * 32 - bin digit */ static int character_classification[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 2, 2, 2, 2, 2, 2, 2, 6, 2, 2, 2, 10, 6, 60, 60, 28, 28, 28, 28, 28, 28, 28, 28, 2, 2, 2, 2, 2, 2, 2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 4, 2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0 }; static bool IsSpace(int c) { return c < 128 && (character_classification[c] & 1); } static bool IsIdentifier(int c) { return c < 128 && (character_classification[c] & 4); } static int LowerCase(int c) { if (c >= 'A' && c <= 'Z') return 'a' + c - 'A'; return c; } static Sci_Position LineEnd(Sci_Position line, Accessor &styler) { const Sci_Position docLines = styler.GetLine(styler.Length() - 1); // Available last line Sci_Position eol_pos ; // if the line is the last line, the eol_pos is styler.Length() // eol will contain a new line, or a virtual new line if ( docLines == line ) eol_pos = styler.Length() ; else eol_pos = styler.LineStart(line + 1) - 1; return eol_pos ; } static Sci_Position LineStart(Sci_Position line, Accessor &styler) { return styler.LineStart(line) ; } // LineType // // bits determines the line type // 1 : data line // 2 : only whitespace // 3 : data line with only whitespace // 4 : keyword line // 5 : block open keyword line // 6 : block close keyword line // 7 : keyword line in error // 8 : comment line static int LineType(Sci_Position line, Accessor &styler) { Sci_Position pos = LineStart(line, styler) ; Sci_Position eol_pos = LineEnd(line, styler) ; int c ; char ch = ' '; Sci_Position i = pos ; while ( i < eol_pos ) { c = styler.SafeGetCharAt(i); ch = static_cast(LowerCase(c)); // We can say something as soon as no whitespace // was encountered if ( !IsSpace(c) ) break ; i++ ; } if ( i >= eol_pos ) { // This is a whitespace line, currently // classifies as data line return 3 ; } if ( ch != '*' ) { // This is a data line return 1 ; } if ( i == eol_pos - 1 ) { // Only a single *, error but make keyword line return 4+3 ; } // This means we can have a second character // if that is also a * this means a comment // otherwise it is a keyword. c = styler.SafeGetCharAt(i+1); ch = static_cast(LowerCase(c)); if ( ch == '*' ) { return 8 ; } // At this point we know this is a keyword line // the character at position i is a * // it is not a comment line char word[256] ; int wlen = 0; word[wlen] = '*' ; wlen++ ; i++ ; while ( (i < eol_pos) && (wlen < 255) ) { c = styler.SafeGetCharAt(i); ch = static_cast(LowerCase(c)); if ( (!IsSpace(c)) && (!IsIdentifier(c)) ) break ; if ( IsIdentifier(c) ) { word[wlen] = ch ; wlen++ ; } i++ ; } word[wlen] = 0 ; // Make a comparison if ( !strcmp(word, "*step") || !strcmp(word, "*part") || !strcmp(word, "*instance") || !strcmp(word, "*assembly")) { return 4+1 ; } if ( !strcmp(word, "*endstep") || !strcmp(word, "*endpart") || !strcmp(word, "*endinstance") || !strcmp(word, "*endassembly")) { return 4+2 ; } return 4 ; } static void SafeSetLevel(Sci_Position line, int level, Accessor &styler) { if ( line < 0 ) return ; int mask = ((~SC_FOLDLEVELHEADERFLAG) | (~SC_FOLDLEVELWHITEFLAG)); if ( (level & mask) < 0 ) return ; if ( styler.LevelAt(line) != level ) styler.SetLevel(line, level) ; } static void FoldABAQUSDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_Position startLine = styler.GetLine(startPos) ; Sci_Position endLine = styler.GetLine(startPos+length-1) ; // bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; // We want to deal with all the cases // To know the correct indentlevel, we need to look back to the // previous command line indentation level // order of formatting keyline datalines commentlines Sci_Position beginData = -1 ; Sci_Position beginComment = -1 ; Sci_Position prvKeyLine = startLine ; Sci_Position prvKeyLineTp = 0 ; // Scan until we find the previous keyword line // this will give us the level reference that we need while ( prvKeyLine > 0 ) { prvKeyLine-- ; prvKeyLineTp = LineType(prvKeyLine, styler) ; if ( prvKeyLineTp & 4 ) break ; } // Determine the base line level of all lines following // the previous keyword // new keyword lines are placed on this level //if ( prvKeyLineTp & 4 ) { int level = styler.LevelAt(prvKeyLine) & ~SC_FOLDLEVELHEADERFLAG ; //} // uncomment line below if weird behaviour continues prvKeyLine = -1 ; // Now start scanning over the lines. for ( Sci_Position line = startLine; line <= endLine; line++ ) { int lineType = LineType(line, styler) ; // Check for comment line if ( lineType == 8 ) { if ( beginComment < 0 ) { beginComment = line ; } } // Check for data line if ( (lineType == 1) || (lineType == 3) ) { if ( beginData < 0 ) { if ( beginComment >= 0 ) { beginData = beginComment ; } else { beginData = line ; } } beginComment = -1 ; } // Check for keywordline. // As soon as a keyword line is encountered, we can set the // levels of everything from the previous keyword line to this one if ( lineType & 4 ) { // this is a keyword, we can now place the previous keyword // all its data lines and the remainder // Write comments and data line if ( beginComment < 0 ) { beginComment = line ; } if ( beginData < 0 ) { beginData = beginComment ; if ( prvKeyLineTp != 5 ) SafeSetLevel(prvKeyLine, level, styler) ; else SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ; } else { SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ; } int datLevel = level + 1 ; if ( !(prvKeyLineTp & 4) ) { datLevel = level ; } for ( Sci_Position ll = beginData; ll < beginComment; ll++ ) SafeSetLevel(ll, datLevel, styler) ; // The keyword we just found is going to be written at another level // if we have a type 5 and type 6 if ( prvKeyLineTp == 5 ) { level += 1 ; } if ( prvKeyLineTp == 6 ) { level -= 1 ; if ( level < 0 ) { level = 0 ; } } for ( Sci_Position lll = beginComment; lll < line; lll++ ) SafeSetLevel(lll, level, styler) ; // wrap and reset beginComment = -1 ; beginData = -1 ; prvKeyLine = line ; prvKeyLineTp = lineType ; } } if ( beginComment < 0 ) { beginComment = endLine + 1 ; } else { // We need to find out whether this comment block is followed by // a data line or a keyword line const Sci_Position docLines = styler.GetLine(styler.Length() - 1); for ( Sci_Position line = endLine + 1; line <= docLines; line++ ) { Sci_Position lineType = LineType(line, styler) ; if ( lineType != 8 ) { if ( !(lineType & 4) ) { beginComment = endLine + 1 ; } break ; } } } if ( beginData < 0 ) { beginData = beginComment ; if ( prvKeyLineTp != 5 ) SafeSetLevel(prvKeyLine, level, styler) ; else SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ; } else { SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ; } int datLevel = level + 1 ; if ( !(prvKeyLineTp & 4) ) { datLevel = level ; } for ( Sci_Position ll = beginData; ll < beginComment; ll++ ) SafeSetLevel(ll, datLevel, styler) ; if ( prvKeyLineTp == 5 ) { level += 1 ; } if ( prvKeyLineTp == 6 ) { level -= 1 ; } for ( Sci_Position m = beginComment; m <= endLine; m++ ) SafeSetLevel(m, level, styler) ; } static const char * const abaqusWordListDesc[] = { "processors", "commands", "slashommands", "starcommands", "arguments", "functions", 0 }; LexerModule lmAbaqus(SCLEX_ABAQUS, ColouriseABAQUSDoc, "abaqus", FoldABAQUSDoc, abaqusWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexAda.cpp ================================================ // Scintilla source code edit control /** @file LexAda.cxx ** Lexer for Ada 95 **/ // Copyright 2002 by Sergey Koshcheyev // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; /* * Interface */ static void ColouriseDocument( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler); static const char * const adaWordListDesc[] = { "Keywords", 0 }; LexerModule lmAda(SCLEX_ADA, ColouriseDocument, "ada", NULL, adaWordListDesc); /* * Implementation */ // Functions that have apostropheStartsAttribute as a parameter set it according to whether // an apostrophe encountered after processing the current token will start an attribute or // a character literal. static void ColouriseCharacter(StyleContext& sc, bool& apostropheStartsAttribute); static void ColouriseComment(StyleContext& sc, bool& apostropheStartsAttribute); static void ColouriseContext(StyleContext& sc, char chEnd, int stateEOL); static void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsAttribute); static void ColouriseLabel(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute); static void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttribute); static void ColouriseString(StyleContext& sc, bool& apostropheStartsAttribute); static void ColouriseWhiteSpace(StyleContext& sc, bool& apostropheStartsAttribute); static void ColouriseWord(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute); static inline bool IsDelimiterCharacter(int ch); static inline bool IsSeparatorOrDelimiterCharacter(int ch); static bool IsValidIdentifier(const std::string& identifier); static bool IsValidNumber(const std::string& number); static inline bool IsWordStartCharacter(int ch); static inline bool IsWordCharacter(int ch); static void ColouriseCharacter(StyleContext& sc, bool& apostropheStartsAttribute) { apostropheStartsAttribute = true; sc.SetState(SCE_ADA_CHARACTER); // Skip the apostrophe and one more character (so that '' is shown as non-terminated and ''' // is handled correctly) sc.Forward(); sc.Forward(); ColouriseContext(sc, '\'', SCE_ADA_CHARACTEREOL); } static void ColouriseContext(StyleContext& sc, char chEnd, int stateEOL) { while (!sc.atLineEnd && !sc.Match(chEnd)) { sc.Forward(); } if (!sc.atLineEnd) { sc.ForwardSetState(SCE_ADA_DEFAULT); } else { sc.ChangeState(stateEOL); } } static void ColouriseComment(StyleContext& sc, bool& /*apostropheStartsAttribute*/) { // Apostrophe meaning is not changed, but the parameter is present for uniformity sc.SetState(SCE_ADA_COMMENTLINE); while (!sc.atLineEnd) { sc.Forward(); } } static void ColouriseDelimiter(StyleContext& sc, bool& apostropheStartsAttribute) { apostropheStartsAttribute = sc.Match (')'); sc.SetState(SCE_ADA_DELIMITER); sc.ForwardSetState(SCE_ADA_DEFAULT); } static void ColouriseLabel(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute) { apostropheStartsAttribute = false; sc.SetState(SCE_ADA_LABEL); // Skip "<<" sc.Forward(); sc.Forward(); std::string identifier; while (!sc.atLineEnd && !IsSeparatorOrDelimiterCharacter(sc.ch)) { identifier += static_cast(tolower(sc.ch)); sc.Forward(); } // Skip ">>" if (sc.Match('>', '>')) { sc.Forward(); sc.Forward(); } else { sc.ChangeState(SCE_ADA_ILLEGAL); } // If the name is an invalid identifier or a keyword, then make it invalid label if (!IsValidIdentifier(identifier) || keywords.InList(identifier.c_str())) { sc.ChangeState(SCE_ADA_ILLEGAL); } sc.SetState(SCE_ADA_DEFAULT); } static void ColouriseNumber(StyleContext& sc, bool& apostropheStartsAttribute) { apostropheStartsAttribute = true; std::string number; sc.SetState(SCE_ADA_NUMBER); // Get all characters up to a delimiter or a separator, including points, but excluding // double points (ranges). while (!IsSeparatorOrDelimiterCharacter(sc.ch) || (sc.ch == '.' && sc.chNext != '.')) { number += static_cast(sc.ch); sc.Forward(); } // Special case: exponent with sign if ((sc.chPrev == 'e' || sc.chPrev == 'E') && (sc.ch == '+' || sc.ch == '-')) { number += static_cast(sc.ch); sc.Forward (); while (!IsSeparatorOrDelimiterCharacter(sc.ch)) { number += static_cast(sc.ch); sc.Forward(); } } if (!IsValidNumber(number)) { sc.ChangeState(SCE_ADA_ILLEGAL); } sc.SetState(SCE_ADA_DEFAULT); } static void ColouriseString(StyleContext& sc, bool& apostropheStartsAttribute) { apostropheStartsAttribute = true; sc.SetState(SCE_ADA_STRING); sc.Forward(); ColouriseContext(sc, '"', SCE_ADA_STRINGEOL); } static void ColouriseWhiteSpace(StyleContext& sc, bool& /*apostropheStartsAttribute*/) { // Apostrophe meaning is not changed, but the parameter is present for uniformity sc.SetState(SCE_ADA_DEFAULT); sc.ForwardSetState(SCE_ADA_DEFAULT); } static void ColouriseWord(StyleContext& sc, WordList& keywords, bool& apostropheStartsAttribute) { apostropheStartsAttribute = true; sc.SetState(SCE_ADA_IDENTIFIER); std::string word; while (!sc.atLineEnd && !IsSeparatorOrDelimiterCharacter(sc.ch)) { word += static_cast(tolower(sc.ch)); sc.Forward(); } if (!IsValidIdentifier(word)) { sc.ChangeState(SCE_ADA_ILLEGAL); } else if (keywords.InList(word.c_str())) { sc.ChangeState(SCE_ADA_WORD); if (word != "all") { apostropheStartsAttribute = false; } } sc.SetState(SCE_ADA_DEFAULT); } // // ColouriseDocument // static void ColouriseDocument( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; StyleContext sc(startPos, length, initStyle, styler); Sci_Position lineCurrent = styler.GetLine(startPos); bool apostropheStartsAttribute = (styler.GetLineState(lineCurrent) & 1) != 0; while (sc.More()) { if (sc.atLineEnd) { // Go to the next line sc.Forward(); lineCurrent++; // Remember the line state for future incremental lexing styler.SetLineState(lineCurrent, apostropheStartsAttribute); // Don't continue any styles on the next line sc.SetState(SCE_ADA_DEFAULT); } // Comments if (sc.Match('-', '-')) { ColouriseComment(sc, apostropheStartsAttribute); // Strings } else if (sc.Match('"')) { ColouriseString(sc, apostropheStartsAttribute); // Characters } else if (sc.Match('\'') && !apostropheStartsAttribute) { ColouriseCharacter(sc, apostropheStartsAttribute); // Labels } else if (sc.Match('<', '<')) { ColouriseLabel(sc, keywords, apostropheStartsAttribute); // Whitespace } else if (IsASpace(sc.ch)) { ColouriseWhiteSpace(sc, apostropheStartsAttribute); // Delimiters } else if (IsDelimiterCharacter(sc.ch)) { ColouriseDelimiter(sc, apostropheStartsAttribute); // Numbers } else if (IsADigit(sc.ch) || sc.ch == '#') { ColouriseNumber(sc, apostropheStartsAttribute); // Keywords or identifiers } else { ColouriseWord(sc, keywords, apostropheStartsAttribute); } } sc.Complete(); } static inline bool IsDelimiterCharacter(int ch) { switch (ch) { case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case ':': case ';': case '<': case '=': case '>': case '|': return true; default: return false; } } static inline bool IsSeparatorOrDelimiterCharacter(int ch) { return IsASpace(ch) || IsDelimiterCharacter(ch); } static bool IsValidIdentifier(const std::string& identifier) { // First character can't be '_', so initialize the flag to true bool lastWasUnderscore = true; size_t length = identifier.length(); // Zero-length identifiers are not valid (these can occur inside labels) if (length == 0) { return false; } // Check for valid character at the start if (!IsWordStartCharacter(identifier[0])) { return false; } // Check for only valid characters and no double underscores for (size_t i = 0; i < length; i++) { if (!IsWordCharacter(identifier[i]) || (identifier[i] == '_' && lastWasUnderscore)) { return false; } lastWasUnderscore = identifier[i] == '_'; } // Check for underscore at the end if (lastWasUnderscore == true) { return false; } // All checks passed return true; } static bool IsValidNumber(const std::string& number) { size_t hashPos = number.find("#"); bool seenDot = false; size_t i = 0; size_t length = number.length(); if (length == 0) return false; // Just in case // Decimal number if (hashPos == std::string::npos) { bool canBeSpecial = false; for (; i < length; i++) { if (number[i] == '_') { if (!canBeSpecial) { return false; } canBeSpecial = false; } else if (number[i] == '.') { if (!canBeSpecial || seenDot) { return false; } canBeSpecial = false; seenDot = true; } else if (IsADigit(number[i])) { canBeSpecial = true; } else { break; } } if (!canBeSpecial) return false; } else { // Based number bool canBeSpecial = false; int base = 0; // Parse base for (; i < length; i++) { int ch = number[i]; if (ch == '_') { if (!canBeSpecial) return false; canBeSpecial = false; } else if (IsADigit(ch)) { base = base * 10 + (ch - '0'); if (base > 16) return false; canBeSpecial = true; } else if (ch == '#' && canBeSpecial) { break; } else { return false; } } if (base < 2) return false; if (i == length) return false; i++; // Skip over '#' // Parse number canBeSpecial = false; for (; i < length; i++) { int ch = tolower(number[i]); if (ch == '_') { if (!canBeSpecial) { return false; } canBeSpecial = false; } else if (ch == '.') { if (!canBeSpecial || seenDot) { return false; } canBeSpecial = false; seenDot = true; } else if (IsADigit(ch)) { if (ch - '0' >= base) { return false; } canBeSpecial = true; } else if (ch >= 'a' && ch <= 'f') { if (ch - 'a' + 10 >= base) { return false; } canBeSpecial = true; } else if (ch == '#' && canBeSpecial) { break; } else { return false; } } if (i == length) { return false; } i++; } // Exponent (optional) if (i < length) { if (number[i] != 'e' && number[i] != 'E') return false; i++; // Move past 'E' if (i == length) { return false; } if (number[i] == '+') i++; else if (number[i] == '-') { if (seenDot) { i++; } else { return false; // Integer literals should not have negative exponents } } if (i == length) { return false; } bool canBeSpecial = false; for (; i < length; i++) { if (number[i] == '_') { if (!canBeSpecial) { return false; } canBeSpecial = false; } else if (IsADigit(number[i])) { canBeSpecial = true; } else { return false; } } if (!canBeSpecial) return false; } // if i == length, number was parsed successfully. return i == length; } static inline bool IsWordCharacter(int ch) { return IsWordStartCharacter(ch) || IsADigit(ch); } static inline bool IsWordStartCharacter(int ch) { return (IsASCII(ch) && isalpha(ch)) || ch == '_'; } ================================================ FILE: src/qscint/scintilla/lexers/LexAsm.cpp ================================================ // Scintilla source code edit control /** @file LexAsm.cxx ** Lexer for Assembler, just for the MASM syntax ** Written by The Black Horus ** Enhancements and NASM stuff by Kein-Hong Man, 2003-10 ** SCE_ASM_COMMENTBLOCK and SCE_ASM_CHARACTER are for future GNU as colouring ** Converted to lexer object and added further folding features/properties by "Udo Lechner" **/ // Copyright 1998-2003 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #include "DefaultLexer.h" using namespace Scintilla; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' || ch == '?'); } static inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.' || ch == '%' || ch == '@' || ch == '$' || ch == '?'); } static inline bool IsAsmOperator(const int ch) { if ((ch < 0x80) && (isalnum(ch))) return false; // '.' left out as it is used to make up numbers if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || ch == '(' || ch == ')' || ch == '=' || ch == '^' || ch == '[' || ch == ']' || ch == '<' || ch == '&' || ch == '>' || ch == ',' || ch == '|' || ch == '~' || ch == '%' || ch == ':') return true; return false; } static bool IsStreamCommentStyle(int style) { return style == SCE_ASM_COMMENTDIRECTIVE || style == SCE_ASM_COMMENTBLOCK; } static inline int LowerCase(int c) { if (c >= 'A' && c <= 'Z') return 'a' + c - 'A'; return c; } // An individual named option for use in an OptionSet // Options used for LexerAsm struct OptionsAsm { std::string delimiter; bool fold; bool foldSyntaxBased; bool foldCommentMultiline; bool foldCommentExplicit; std::string foldExplicitStart; std::string foldExplicitEnd; bool foldExplicitAnywhere; bool foldCompact; OptionsAsm() { delimiter = ""; fold = false; foldSyntaxBased = true; foldCommentMultiline = false; foldCommentExplicit = false; foldExplicitStart = ""; foldExplicitEnd = ""; foldExplicitAnywhere = false; foldCompact = true; } }; static const char * const asmWordListDesc[] = { "CPU instructions", "FPU instructions", "Registers", "Directives", "Directive operands", "Extended instructions", "Directives4Foldstart", "Directives4Foldend", 0 }; struct OptionSetAsm : public OptionSet { OptionSetAsm() { DefineProperty("lexer.asm.comment.delimiter", &OptionsAsm::delimiter, "Character used for COMMENT directive's delimiter, replacing the standard \"~\"."); DefineProperty("fold", &OptionsAsm::fold); DefineProperty("fold.asm.syntax.based", &OptionsAsm::foldSyntaxBased, "Set this property to 0 to disable syntax based folding."); DefineProperty("fold.asm.comment.multiline", &OptionsAsm::foldCommentMultiline, "Set this property to 1 to enable folding multi-line comments."); DefineProperty("fold.asm.comment.explicit", &OptionsAsm::foldCommentExplicit, "This option enables folding explicit fold points when using the Asm lexer. " "Explicit fold points allows adding extra folding by placing a ;{ comment at the start and a ;} " "at the end of a section that should fold."); DefineProperty("fold.asm.explicit.start", &OptionsAsm::foldExplicitStart, "The string to use for explicit fold start points, replacing the standard ;{."); DefineProperty("fold.asm.explicit.end", &OptionsAsm::foldExplicitEnd, "The string to use for explicit fold end points, replacing the standard ;}."); DefineProperty("fold.asm.explicit.anywhere", &OptionsAsm::foldExplicitAnywhere, "Set this property to 1 to enable explicit fold points anywhere, not just in line comments."); DefineProperty("fold.compact", &OptionsAsm::foldCompact); DefineWordListSets(asmWordListDesc); } }; class LexerAsm : public DefaultLexer { WordList cpuInstruction; WordList mathInstruction; WordList registers; WordList directive; WordList directiveOperand; WordList extInstruction; WordList directives4foldstart; WordList directives4foldend; OptionsAsm options; OptionSetAsm osAsm; int commentChar; public: LexerAsm(int commentChar_) { commentChar = commentChar_; } virtual ~LexerAsm() { } void SCI_METHOD Release() override { delete this; } int SCI_METHOD Version() const override { return lvOriginal; } const char * SCI_METHOD PropertyNames() override { return osAsm.PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return osAsm.PropertyType(name); } const char * SCI_METHOD DescribeProperty(const char *name) override { return osAsm.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override; const char * SCI_METHOD DescribeWordListSets() override { return osAsm.DescribeWordListSets(); } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void * SCI_METHOD PrivateCall(int, void *) override { return 0; } static ILexer *LexerFactoryAsm() { return new LexerAsm(';'); } static ILexer *LexerFactoryAs() { return new LexerAsm('#'); } }; Sci_Position SCI_METHOD LexerAsm::PropertySet(const char *key, const char *val) { if (osAsm.PropertySet(&options, key, val)) { return 0; } return -1; } Sci_Position SCI_METHOD LexerAsm::WordListSet(int n, const char *wl) { WordList *wordListN = 0; switch (n) { case 0: wordListN = &cpuInstruction; break; case 1: wordListN = &mathInstruction; break; case 2: wordListN = ®isters; break; case 3: wordListN = &directive; break; case 4: wordListN = &directiveOperand; break; case 5: wordListN = &extInstruction; break; case 6: wordListN = &directives4foldstart; break; case 7: wordListN = &directives4foldend; break; } Sci_Position firstModification = -1; if (wordListN) { WordList wlNew; wlNew.Set(wl); if (*wordListN != wlNew) { wordListN->Set(wl); firstModification = 0; } } return firstModification; } void SCI_METHOD LexerAsm::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { LexAccessor styler(pAccess); // Do not leak onto next line if (initStyle == SCE_ASM_STRINGEOL) initStyle = SCE_ASM_DEFAULT; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // Prevent SCE_ASM_STRINGEOL from leaking back to previous line if (sc.atLineStart && (sc.state == SCE_ASM_STRING)) { sc.SetState(SCE_ASM_STRING); } else if (sc.atLineStart && (sc.state == SCE_ASM_CHARACTER)) { sc.SetState(SCE_ASM_CHARACTER); } // Handle line continuation generically. if (sc.ch == '\\') { if (sc.chNext == '\n' || sc.chNext == '\r') { sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } continue; } } // Determine if the current state should terminate. if (sc.state == SCE_ASM_OPERATOR) { if (!IsAsmOperator(sc.ch)) { sc.SetState(SCE_ASM_DEFAULT); } } else if (sc.state == SCE_ASM_NUMBER) { if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_ASM_DEFAULT); } } else if (sc.state == SCE_ASM_IDENTIFIER) { if (!IsAWordChar(sc.ch) ) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); bool IsDirective = false; if (cpuInstruction.InList(s)) { sc.ChangeState(SCE_ASM_CPUINSTRUCTION); } else if (mathInstruction.InList(s)) { sc.ChangeState(SCE_ASM_MATHINSTRUCTION); } else if (registers.InList(s)) { sc.ChangeState(SCE_ASM_REGISTER); } else if (directive.InList(s)) { sc.ChangeState(SCE_ASM_DIRECTIVE); IsDirective = true; } else if (directiveOperand.InList(s)) { sc.ChangeState(SCE_ASM_DIRECTIVEOPERAND); } else if (extInstruction.InList(s)) { sc.ChangeState(SCE_ASM_EXTINSTRUCTION); } sc.SetState(SCE_ASM_DEFAULT); if (IsDirective && !strcmp(s, "comment")) { char delimiter = options.delimiter.empty() ? '~' : options.delimiter.c_str()[0]; while (IsASpaceOrTab(sc.ch) && !sc.atLineEnd) { sc.ForwardSetState(SCE_ASM_DEFAULT); } if (sc.ch == delimiter) { sc.SetState(SCE_ASM_COMMENTDIRECTIVE); } } } } else if (sc.state == SCE_ASM_COMMENTDIRECTIVE) { char delimiter = options.delimiter.empty() ? '~' : options.delimiter.c_str()[0]; if (sc.ch == delimiter) { while (!sc.atLineEnd) { sc.Forward(); } sc.SetState(SCE_ASM_DEFAULT); } } else if (sc.state == SCE_ASM_COMMENT ) { if (sc.atLineEnd) { sc.SetState(SCE_ASM_DEFAULT); } } else if (sc.state == SCE_ASM_STRING) { if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_ASM_DEFAULT); } else if (sc.atLineEnd) { sc.ChangeState(SCE_ASM_STRINGEOL); sc.ForwardSetState(SCE_ASM_DEFAULT); } } else if (sc.state == SCE_ASM_CHARACTER) { if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\'') { sc.ForwardSetState(SCE_ASM_DEFAULT); } else if (sc.atLineEnd) { sc.ChangeState(SCE_ASM_STRINGEOL); sc.ForwardSetState(SCE_ASM_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_ASM_DEFAULT) { if (sc.ch == commentChar){ sc.SetState(SCE_ASM_COMMENT); } else if (IsASCII(sc.ch) && (isdigit(sc.ch) || (sc.ch == '.' && IsASCII(sc.chNext) && isdigit(sc.chNext)))) { sc.SetState(SCE_ASM_NUMBER); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_ASM_IDENTIFIER); } else if (sc.ch == '\"') { sc.SetState(SCE_ASM_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_ASM_CHARACTER); } else if (IsAsmOperator(sc.ch)) { sc.SetState(SCE_ASM_OPERATOR); } } } sc.Complete(); } // Store both the current line's fold level and the next lines in the // level store to make it easy to pick up with each increment // and to make it possible to fiddle the current level for "else". void SCI_METHOD LexerAsm::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { if (!options.fold) return; LexAccessor styler(pAccess); Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelCurrent = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; int levelNext = levelCurrent; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; char word[100]; int wordlen = 0; const bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty(); for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (options.foldCommentMultiline && IsStreamCommentStyle(style)) { if (!IsStreamCommentStyle(stylePrev)) { levelNext++; } else if (!IsStreamCommentStyle(styleNext) && !atEOL) { // Comments don't end at end of line and the next character may be unstyled. levelNext--; } } if (options.foldCommentExplicit && ((style == SCE_ASM_COMMENT) || options.foldExplicitAnywhere)) { if (userDefinedFoldMarkers) { if (styler.Match(i, options.foldExplicitStart.c_str())) { levelNext++; } else if (styler.Match(i, options.foldExplicitEnd.c_str())) { levelNext--; } } else { if (ch == ';') { if (chNext == '{') { levelNext++; } else if (chNext == '}') { levelNext--; } } } } if (options.foldSyntaxBased && (style == SCE_ASM_DIRECTIVE)) { word[wordlen++] = static_cast(LowerCase(ch)); if (wordlen == 100) { // prevent overflow word[0] = '\0'; wordlen = 1; } if (styleNext != SCE_ASM_DIRECTIVE) { // reading directive ready word[wordlen] = '\0'; wordlen = 0; if (directives4foldstart.InList(word)) { levelNext++; } else if (directives4foldend.InList(word)){ levelNext--; } } } if (!IsASpace(ch)) visibleChars++; if (atEOL || (i == endPos-1)) { int levelUse = levelCurrent; int lev = levelUse | levelNext << 16; if (visibleChars == 0 && options.foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if (levelUse < levelNext) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelCurrent = levelNext; if (atEOL && (i == static_cast(styler.Length() - 1))) { // There is an empty line at end of file so give it same level and empty styler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG); } visibleChars = 0; } } } LexerModule lmAsm(SCLEX_ASM, LexerAsm::LexerFactoryAsm, "asm", asmWordListDesc); LexerModule lmAs(SCLEX_AS, LexerAsm::LexerFactoryAs, "as", asmWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexAsn1.cpp ================================================ // Scintilla source code edit control /** @file LexAsn1.cxx ** Lexer for ASN.1 **/ // Copyright 2004 by Herr Pfarrer rpfarrer yahoo de // Last Updated: 20/07/2004 // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; // Some char test functions static bool isAsn1Number(int ch) { return (ch >= '0' && ch <= '9'); } static bool isAsn1Letter(int ch) { return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'); } static bool isAsn1Char(int ch) { return (ch == '-' ) || isAsn1Number(ch) || isAsn1Letter (ch); } // // Function determining the color of a given code portion // Based on a "state" // static void ColouriseAsn1Doc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordLists[], Accessor &styler) { // The keywords WordList &Keywords = *keywordLists[0]; WordList &Attributes = *keywordLists[1]; WordList &Descriptors = *keywordLists[2]; WordList &Types = *keywordLists[3]; // Parse the whole buffer character by character using StyleContext StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // The state engine switch (sc.state) { case SCE_ASN1_DEFAULT: // Plain characters asn1_default: if (sc.ch == '-' && sc.chNext == '-') // A comment begins here sc.SetState(SCE_ASN1_COMMENT); else if (sc.ch == '"') // A string begins here sc.SetState(SCE_ASN1_STRING); else if (isAsn1Number (sc.ch)) // A number starts here (identifier should start with a letter in ASN.1) sc.SetState(SCE_ASN1_SCALAR); else if (isAsn1Char (sc.ch)) // An identifier starts here (identifier always start with a letter) sc.SetState(SCE_ASN1_IDENTIFIER); else if (sc.ch == ':') // A ::= operator starts here sc.SetState(SCE_ASN1_OPERATOR); break; case SCE_ASN1_COMMENT: // A comment if (sc.ch == '\r' || sc.ch == '\n') // A comment ends here sc.SetState(SCE_ASN1_DEFAULT); break; case SCE_ASN1_IDENTIFIER: // An identifier (keyword, attribute, descriptor or type) if (!isAsn1Char (sc.ch)) { // The end of identifier is here: we can look for it in lists by now and change its state char s[100]; sc.GetCurrent(s, sizeof(s)); if (Keywords.InList(s)) // It's a keyword, change its state sc.ChangeState(SCE_ASN1_KEYWORD); else if (Attributes.InList(s)) // It's an attribute, change its state sc.ChangeState(SCE_ASN1_ATTRIBUTE); else if (Descriptors.InList(s)) // It's a descriptor, change its state sc.ChangeState(SCE_ASN1_DESCRIPTOR); else if (Types.InList(s)) // It's a type, change its state sc.ChangeState(SCE_ASN1_TYPE); // Set to default now sc.SetState(SCE_ASN1_DEFAULT); } break; case SCE_ASN1_STRING: // A string delimited by "" if (sc.ch == '"') { // A string ends here sc.ForwardSetState(SCE_ASN1_DEFAULT); // To correctly manage a char sticking to the string quote goto asn1_default; } break; case SCE_ASN1_SCALAR: // A plain number if (!isAsn1Number (sc.ch)) // A number ends here sc.SetState(SCE_ASN1_DEFAULT); break; case SCE_ASN1_OPERATOR: // The affectation operator ::= and wath follows (eg: ::= { org 6 } OID or ::= 12 trap) if (sc.ch == '{') { // An OID definition starts here: enter the sub loop for (; sc.More(); sc.Forward()) { if (isAsn1Number (sc.ch) && (!isAsn1Char (sc.chPrev) || isAsn1Number (sc.chPrev))) // The OID number is highlighted sc.SetState(SCE_ASN1_OID); else if (isAsn1Char (sc.ch)) // The OID parent identifier is plain sc.SetState(SCE_ASN1_IDENTIFIER); else sc.SetState(SCE_ASN1_DEFAULT); if (sc.ch == '}') // Here ends the OID and the operator sub loop: go back to main loop break; } } else if (isAsn1Number (sc.ch)) { // A trap number definition starts here: enter the sub loop for (; sc.More(); sc.Forward()) { if (isAsn1Number (sc.ch)) // The trap number is highlighted sc.SetState(SCE_ASN1_OID); else { // The number ends here: go back to main loop sc.SetState(SCE_ASN1_DEFAULT); break; } } } else if (sc.ch != ':' && sc.ch != '=' && sc.ch != ' ') // The operator doesn't imply an OID definition nor a trap, back to main loop goto asn1_default; // To be sure to handle actually the state change break; } } sc.Complete(); } static void FoldAsn1Doc(Sci_PositionU, Sci_Position, int, WordList *[], Accessor &styler) { // No folding enabled, no reason to continue... if( styler.GetPropertyInt("fold") == 0 ) return; // No folding implemented: doesn't make sense for ASN.1 } static const char * const asn1WordLists[] = { "Keywords", "Attributes", "Descriptors", "Types", 0, }; LexerModule lmAsn1(SCLEX_ASN1, ColouriseAsn1Doc, "asn1", FoldAsn1Doc, asn1WordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexBaan.cpp ================================================ // Scintilla source code edit control /** @file LexBaan.cxx ** Lexer for Baan. ** Based heavily on LexCPP.cxx **/ // Copyright 2001- by Vamsi Potluru & Praveen Ambekar // Maintainer Email: oirfeodent@yahoo.co.in // The License.txt file describes the conditions under which this software may be distributed. // C standard library #include #include // C++ wrappers of C standard library #include // C++ standard library #include #include // Scintilla headers // Non-platform-specific headers // include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" // lexlib #include "WordList.h" #include "LexAccessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #include "DefaultLexer.h" using namespace Scintilla; namespace { // Use an unnamed namespace to protect the functions and classes from name conflicts // Options used for LexerBaan struct OptionsBaan { bool fold; bool foldComment; bool foldPreprocessor; bool foldCompact; bool baanFoldSyntaxBased; bool baanFoldKeywordsBased; bool baanFoldSections; bool baanFoldInnerLevel; bool baanStylingWithinPreprocessor; OptionsBaan() { fold = false; foldComment = false; foldPreprocessor = false; foldCompact = false; baanFoldSyntaxBased = false; baanFoldKeywordsBased = false; baanFoldSections = false; baanFoldInnerLevel = false; baanStylingWithinPreprocessor = false; } }; const char *const baanWordLists[] = { "Baan & BaanSQL Reserved Keywords ", "Baan Standard functions", "Baan Functions Abridged", "Baan Main Sections ", "Baan Sub Sections", "PreDefined Variables", "PreDefined Attributes", "Enumerates", 0, }; struct OptionSetBaan : public OptionSet { OptionSetBaan() { DefineProperty("fold", &OptionsBaan::fold); DefineProperty("fold.comment", &OptionsBaan::foldComment); DefineProperty("fold.preprocessor", &OptionsBaan::foldPreprocessor); DefineProperty("fold.compact", &OptionsBaan::foldCompact); DefineProperty("fold.baan.syntax.based", &OptionsBaan::baanFoldSyntaxBased, "Set this property to 0 to disable syntax based folding, which is folding based on '{' & '('."); DefineProperty("fold.baan.keywords.based", &OptionsBaan::baanFoldKeywordsBased, "Set this property to 0 to disable keywords based folding, which is folding based on " " for, if, on (case), repeat, select, while and fold ends based on endfor, endif, endcase, until, endselect, endwhile respectively." "Also folds declarations which are grouped together."); DefineProperty("fold.baan.sections", &OptionsBaan::baanFoldSections, "Set this property to 0 to disable folding of Main Sections as well as Sub Sections."); DefineProperty("fold.baan.inner.level", &OptionsBaan::baanFoldInnerLevel, "Set this property to 1 to enable folding of inner levels of select statements." "Disabled by default. case and if statements are also eligible" ); DefineProperty("lexer.baan.styling.within.preprocessor", &OptionsBaan::baanStylingWithinPreprocessor, "For Baan code, determines whether all preprocessor code is styled in the " "preprocessor style (0, the default) or only from the initial # to the end " "of the command word(1)."); DefineWordListSets(baanWordLists); } }; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' || ch == '$'); } static inline bool IsAnOperator(int ch) { if (IsAlphaNumeric(ch)) return false; if (ch == '#' || ch == '^' || ch == '&' || ch == '*' || ch == '(' || ch == ')' || ch == '-' || ch == '+' || ch == '=' || ch == '|' || ch == '{' || ch == '}' || ch == '[' || ch == ']' || ch == ':' || ch == ';' || ch == '<' || ch == '>' || ch == ',' || ch == '/' || ch == '?' || ch == '!' || ch == '"' || ch == '~' || ch == '\\') return true; return false; } static inline int IsAnyOtherIdentifier(char *s, Sci_Position sLength) { /* IsAnyOtherIdentifier uses standard templates used in baan. The matching template is shown as comments just above the return condition. ^ - refers to any character [a-z]. # - refers to any number [0-9]. Other characters shown are compared as is. Tried implementing with Regex... it was too complicated for me. Any other implementation suggestion welcome. */ switch (sLength) { case 8: if (isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[5]) && IsADigit(s[6]) && IsADigit(s[7])) { //^^^^^### return(SCE_BAAN_TABLEDEF); } break; case 9: if (s[0] == 't' && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && isalpha(s[5]) && IsADigit(s[6]) && IsADigit(s[7]) && IsADigit(s[8])) { //t^^^^^### return(SCE_BAAN_TABLEDEF); } else if (s[8] == '.' && isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[5]) && IsADigit(s[6]) && IsADigit(s[7])) { //^^^^^###. return(SCE_BAAN_TABLESQL); } break; case 13: if (s[8] == '.' && isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[5]) && IsADigit(s[6]) && IsADigit(s[7])) { //^^^^^###.**** return(SCE_BAAN_TABLESQL); } else if (s[0] == 'r' && s[1] == 'c' && s[2] == 'd' && s[3] == '.' && s[4] == 't' && isalpha(s[5]) && isalpha(s[6]) && isalpha(s[7]) && isalpha(s[8]) && isalpha(s[9]) && IsADigit(s[10]) && IsADigit(s[11]) && IsADigit(s[12])) { //rcd.t^^^^^### return(SCE_BAAN_TABLEDEF); } break; case 14: case 15: if (s[8] == '.' && isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[5]) && IsADigit(s[6]) && IsADigit(s[7])) { if (s[13] != ':') { //^^^^^###.****** return(SCE_BAAN_TABLESQL); } } break; case 16: case 17: if (s[8] == '.' && s[9] == '_' && s[10] == 'i' && s[11] == 'n' && s[12] == 'd' && s[13] == 'e' && s[14] == 'x' && IsADigit(s[15]) && isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[5]) && IsADigit(s[6]) && IsADigit(s[7])) { //^^^^^###._index## return(SCE_BAAN_TABLEDEF); } else if (s[8] == '.' && s[9] == '_' && s[10] == 'c' && s[11] == 'o' && s[12] == 'm' && s[13] == 'p' && s[14] == 'n' && s[15] == 'r' && isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[5]) && IsADigit(s[6]) && IsADigit(s[7])) { //^^^^^###._compnr return(SCE_BAAN_TABLEDEF); } break; default: break; } if (sLength > 14 && s[5] == '.' && s[6] == 'd' && s[7] == 'l' && s[8] == 'l' && s[13] == '.' && isalpha(s[0]) && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && IsADigit(s[9]) && IsADigit(s[10]) && IsADigit(s[11]) && IsADigit(s[12])) { //^^^^^.dll####. return(SCE_BAAN_FUNCTION); } else if (sLength > 15 && s[2] == 'i' && s[3] == 'n' && s[4] == 't' && s[5] == '.' && s[6] == 'd' && s[7] == 'l' && s[8] == 'l' && isalpha(s[0]) && isalpha(s[1]) && isalpha(s[9]) && isalpha(s[10]) && isalpha(s[11]) && isalpha(s[12]) && isalpha(s[13])) { //^^int.dll^^^^^. return(SCE_BAAN_FUNCTION); } else if (sLength > 11 && s[0] == 'i' && s[10] == '.' && isalpha(s[1]) && isalpha(s[2]) && isalpha(s[3]) && isalpha(s[4]) && isalpha(s[5]) && IsADigit(s[6]) && IsADigit(s[7]) && IsADigit(s[8]) && IsADigit(s[9])) { //i^^^^^####. return(SCE_BAAN_FUNCTION); } return(SCE_BAAN_DEFAULT); } static bool IsCommentLine(Sci_Position line, LexAccessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; int style = styler.StyleAt(i); if (ch == '|' && style == SCE_BAAN_COMMENT) return true; else if (!IsASpaceOrTab(ch)) return false; } return false; } static bool IsPreProcLine(Sci_Position line, LexAccessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; int style = styler.StyleAt(i); if (ch == '#' && style == SCE_BAAN_PREPROCESSOR) { if (styler.Match(i, "#elif") || styler.Match(i, "#else") || styler.Match(i, "#endif") || styler.Match(i, "#if") || styler.Match(i, "#ifdef") || styler.Match(i, "#ifndef")) // Above PreProcessors has a seperate fold mechanism. return false; else return true; } else if (ch == '^') return true; else if (!IsASpaceOrTab(ch)) return false; } return false; } static int mainOrSubSectionLine(Sci_Position line, LexAccessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; int style = styler.StyleAt(i); if (style == SCE_BAAN_WORD5 || style == SCE_BAAN_WORD4) return style; else if (IsASpaceOrTab(ch)) continue; else break; } return 0; } static bool priorSectionIsSubSection(Sci_Position line, LexAccessor &styler){ while (line > 0) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; int style = styler.StyleAt(i); if (style == SCE_BAAN_WORD4) return true; else if (style == SCE_BAAN_WORD5) return false; else if (IsASpaceOrTab(ch)) continue; else break; } line--; } return false; } static bool nextSectionIsSubSection(Sci_Position line, LexAccessor &styler) { while (line > 0) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; int style = styler.StyleAt(i); if (style == SCE_BAAN_WORD4) return true; else if (style == SCE_BAAN_WORD5) return false; else if (IsASpaceOrTab(ch)) continue; else break; } line++; } return false; } static bool IsDeclarationLine(Sci_Position line, LexAccessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; int style = styler.StyleAt(i); if (style == SCE_BAAN_WORD) { if (styler.Match(i, "table") || styler.Match(i, "extern") || styler.Match(i, "long") || styler.Match(i, "double") || styler.Match(i, "boolean") || styler.Match(i, "string") || styler.Match(i, "domain")) { for (Sci_Position j = eol_pos; j > pos; j--) { int styleFromEnd = styler.StyleAt(j); if (styleFromEnd == SCE_BAAN_COMMENT) continue; else if (IsASpace(styler[j])) continue; else if (styler[j] != ',') //Above conditions ensures, Declaration is not part of any function parameters. return true; else return false; } } else return false; } else if (!IsASpaceOrTab(ch)) return false; } return false; } static bool IsInnerLevelFold(Sci_Position line, LexAccessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; int style = styler.StyleAt(i); if (style == SCE_BAAN_WORD && (styler.Match(i, "else" ) || styler.Match(i, "case") || styler.Match(i, "default") || styler.Match(i, "selectdo") || styler.Match(i, "selecteos") || styler.Match(i, "selectempty") || styler.Match(i, "selecterror"))) return true; else if (IsASpaceOrTab(ch)) continue; else return false; } return false; } static inline bool wordInArray(const std::string& value, std::string *array, int length) { for (int i = 0; i < length; i++) { if (value == array[i]) { return true; } } return false; } class WordListAbridged : public WordList { public: WordListAbridged() { kwAbridged = false; kwHasSection = false; }; ~WordListAbridged() { Clear(); }; bool kwAbridged; bool kwHasSection; bool Contains(const char *s) { return kwAbridged ? InListAbridged(s, '~') : InList(s); }; }; } class LexerBaan : public DefaultLexer { WordListAbridged keywords; WordListAbridged keywords2; WordListAbridged keywords3; WordListAbridged keywords4; WordListAbridged keywords5; WordListAbridged keywords6; WordListAbridged keywords7; WordListAbridged keywords8; WordListAbridged keywords9; OptionsBaan options; OptionSetBaan osBaan; public: LexerBaan() { } virtual ~LexerBaan() { } int SCI_METHOD Version() const override { return lvOriginal; } void SCI_METHOD Release() override { delete this; } const char * SCI_METHOD PropertyNames() override { return osBaan.PropertyNames(); } int SCI_METHOD PropertyType(const char * name) override { return osBaan.PropertyType(name); } const char * SCI_METHOD DescribeProperty(const char * name) override { return osBaan.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override; const char * SCI_METHOD DescribeWordListSets() override { return osBaan.DescribeWordListSets(); } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void * SCI_METHOD PrivateCall(int, void *) override { return NULL; } static ILexer * LexerFactoryBaan() { return new LexerBaan(); } }; Sci_Position SCI_METHOD LexerBaan::PropertySet(const char *key, const char *val) { if (osBaan.PropertySet(&options, key, val)) { return 0; } return -1; } Sci_Position SCI_METHOD LexerBaan::WordListSet(int n, const char *wl) { WordListAbridged *WordListAbridgedN = 0; switch (n) { case 0: WordListAbridgedN = &keywords; break; case 1: WordListAbridgedN = &keywords2; break; case 2: WordListAbridgedN = &keywords3; break; case 3: WordListAbridgedN = &keywords4; break; case 4: WordListAbridgedN = &keywords5; break; case 5: WordListAbridgedN = &keywords6; break; case 6: WordListAbridgedN = &keywords7; break; case 7: WordListAbridgedN = &keywords8; break; case 8: WordListAbridgedN = &keywords9; break; } Sci_Position firstModification = -1; if (WordListAbridgedN) { WordListAbridged wlNew; wlNew.Set(wl); if (*WordListAbridgedN != wlNew) { WordListAbridgedN->Set(wl); WordListAbridgedN->kwAbridged = strchr(wl, '~') != NULL; WordListAbridgedN->kwHasSection = strchr(wl, ':') != NULL; firstModification = 0; } } return firstModification; } void SCI_METHOD LexerBaan::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { if (initStyle == SCE_BAAN_STRINGEOL) // Does not leak onto next line initStyle = SCE_BAAN_DEFAULT; int visibleChars = 0; bool lineHasDomain = false; bool lineHasFunction = false; bool lineHasPreProc = false; bool lineIgnoreString = false; bool lineHasDefines = false; bool numberIsHex = false; char word[1000]; int wordlen = 0; std::string preProcessorTags[13] = { "#context_off", "#context_on", "#define", "#elif", "#else", "#endif", "#ident", "#if", "#ifdef", "#ifndef", "#include", "#pragma", "#undef" }; LexAccessor styler(pAccess); StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // Determine if the current state should terminate. switch (sc.state) { case SCE_BAAN_OPERATOR: sc.SetState(SCE_BAAN_DEFAULT); break; case SCE_BAAN_NUMBER: if (IsASpaceOrTab(sc.ch) || sc.ch == '\r' || sc.ch == '\n' || IsAnOperator(sc.ch)) { sc.SetState(SCE_BAAN_DEFAULT); } else if ((numberIsHex && !(MakeLowerCase(sc.ch) == 'x' || MakeLowerCase(sc.ch) == 'e' || IsADigit(sc.ch, 16) || sc.ch == '.' || sc.ch == '-' || sc.ch == '+')) || (!numberIsHex && !(MakeLowerCase(sc.ch) == 'e' || IsADigit(sc.ch) || sc.ch == '.' || sc.ch == '-' || sc.ch == '+'))) { // check '-' for possible -10e-5. Add '+' as well. numberIsHex = false; sc.ChangeState(SCE_BAAN_IDENTIFIER); sc.SetState(SCE_BAAN_DEFAULT); } break; case SCE_BAAN_IDENTIFIER: if (!IsAWordChar(sc.ch)) { char s[1000]; char s1[1000]; sc.GetCurrentLowered(s, sizeof(s)); if (sc.ch == ':') { memcpy(s1, s, sizeof(s)); s1[sc.LengthCurrent()] = sc.ch; s1[sc.LengthCurrent() + 1] = '\0'; } if ((keywords.kwHasSection && (sc.ch == ':')) ? keywords.Contains(s1) : keywords.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD); if (0 == strcmp(s, "domain")) { lineHasDomain = true; } else if (0 == strcmp(s, "function")) { lineHasFunction = true; } } else if (lineHasDomain) { sc.ChangeState(SCE_BAAN_DOMDEF); lineHasDomain = false; } else if (lineHasFunction) { sc.ChangeState(SCE_BAAN_FUNCDEF); lineHasFunction = false; } else if ((keywords2.kwHasSection && (sc.ch == ':')) ? keywords2.Contains(s1) : keywords2.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD2); } else if ((keywords3.kwHasSection && (sc.ch == ':')) ? keywords3.Contains(s1) : keywords3.Contains(s)) { if (sc.ch == '(') sc.ChangeState(SCE_BAAN_WORD3); else sc.ChangeState(SCE_BAAN_IDENTIFIER); } else if ((keywords4.kwHasSection && (sc.ch == ':')) ? keywords4.Contains(s1) : keywords4.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD4); } else if ((keywords5.kwHasSection && (sc.ch == ':')) ? keywords5.Contains(s1) : keywords5.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD5); } else if ((keywords6.kwHasSection && (sc.ch == ':')) ? keywords6.Contains(s1) : keywords6.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD6); } else if ((keywords7.kwHasSection && (sc.ch == ':')) ? keywords7.Contains(s1) : keywords7.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD7); } else if ((keywords8.kwHasSection && (sc.ch == ':')) ? keywords8.Contains(s1) : keywords8.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD8); } else if ((keywords9.kwHasSection && (sc.ch == ':')) ? keywords9.Contains(s1) : keywords9.Contains(s)) { sc.ChangeState(SCE_BAAN_WORD9); } else if (lineHasPreProc) { sc.ChangeState(SCE_BAAN_OBJECTDEF); lineHasPreProc = false; } else if (lineHasDefines) { sc.ChangeState(SCE_BAAN_DEFINEDEF); lineHasDefines = false; } else { int state = IsAnyOtherIdentifier(s, sc.LengthCurrent()); if (state > 0) { sc.ChangeState(state); } } sc.SetState(SCE_BAAN_DEFAULT); } break; case SCE_BAAN_PREPROCESSOR: if (options.baanStylingWithinPreprocessor) { if (IsASpace(sc.ch) || IsAnOperator(sc.ch)) { sc.SetState(SCE_BAAN_DEFAULT); } } else { if (sc.atLineEnd && (sc.chNext != '^')) { sc.SetState(SCE_BAAN_DEFAULT); } } break; case SCE_BAAN_COMMENT: if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_BAAN_DEFAULT); } break; case SCE_BAAN_COMMENTDOC: if (sc.MatchIgnoreCase("enddllusage")) { for (unsigned int i = 0; i < 10; i++) { sc.Forward(); } sc.ForwardSetState(SCE_BAAN_DEFAULT); } else if (sc.MatchIgnoreCase("endfunctionusage")) { for (unsigned int i = 0; i < 15; i++) { sc.Forward(); } sc.ForwardSetState(SCE_BAAN_DEFAULT); } break; case SCE_BAAN_STRING: if (sc.ch == '\"') { sc.ForwardSetState(SCE_BAAN_DEFAULT); } else if ((sc.atLineEnd) && (sc.chNext != '^')) { sc.ChangeState(SCE_BAAN_STRINGEOL); sc.ForwardSetState(SCE_BAAN_DEFAULT); visibleChars = 0; } break; } // Determine if a new state should be entered. if (sc.state == SCE_BAAN_DEFAULT) { if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext)) || ((sc.ch == '-' || sc.ch == '+') && (IsADigit(sc.chNext) || sc.chNext == '.')) || (MakeLowerCase(sc.ch) == 'e' && (IsADigit(sc.chNext) || sc.chNext == '+' || sc.chNext == '-'))) { if ((sc.ch == '0' && MakeLowerCase(sc.chNext) == 'x') || ((sc.ch == '-' || sc.ch == '+') && sc.chNext == '0' && MakeLowerCase(sc.GetRelativeCharacter(2)) == 'x')){ numberIsHex = true; } sc.SetState(SCE_BAAN_NUMBER); } else if (sc.MatchIgnoreCase("dllusage") || sc.MatchIgnoreCase("functionusage")) { sc.SetState(SCE_BAAN_COMMENTDOC); do { sc.Forward(); } while ((!sc.atLineEnd) && sc.More()); } else if (iswordstart(sc.ch)) { sc.SetState(SCE_BAAN_IDENTIFIER); } else if (sc.Match('|')) { sc.SetState(SCE_BAAN_COMMENT); } else if (sc.ch == '\"' && !(lineIgnoreString)) { sc.SetState(SCE_BAAN_STRING); } else if (sc.ch == '#' && visibleChars == 0) { // Preprocessor commands are alone on their line sc.SetState(SCE_BAAN_PREPROCESSOR); word[0] = '\0'; wordlen = 0; while (sc.More() && !(IsASpace(sc.chNext) || IsAnOperator(sc.chNext))) { sc.Forward(); wordlen++; } sc.GetCurrentLowered(word, sizeof(word)); if (!sc.atLineEnd) { word[wordlen++] = sc.ch; word[wordlen++] = '\0'; } if (!wordInArray(word, preProcessorTags, 13)) // Colorise only preprocessor built in Baan. sc.ChangeState(SCE_BAAN_IDENTIFIER); if (strcmp(word, "#pragma") == 0 || strcmp(word, "#include") == 0) { lineHasPreProc = true; lineIgnoreString = true; } else if (strcmp(word, "#define") == 0 || strcmp(word, "#undef") == 0 || strcmp(word, "#ifdef") == 0 || strcmp(word, "#if") == 0 || strcmp(word, "#ifndef") == 0) { lineHasDefines = true; lineIgnoreString = false; } } else if (IsAnOperator(static_cast(sc.ch))) { sc.SetState(SCE_BAAN_OPERATOR); } } if (sc.atLineEnd) { // Reset states to begining of colourise so no surprises // if different sets of lines lexed. visibleChars = 0; lineHasDomain = false; lineHasFunction = false; lineHasPreProc = false; lineIgnoreString = false; lineHasDefines = false; numberIsHex = false; } if (!IsASpace(sc.ch)) { visibleChars++; } } sc.Complete(); } void SCI_METHOD LexerBaan::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { if (!options.fold) return; char word[100]; int wordlen = 0; bool foldStart = true; bool foldNextSelect = true; bool afterFunctionSection = false; bool beforeDeclarationSection = false; int currLineStyle = 0; int nextLineStyle = 0; std::string startTags[6] = { "for", "if", "on", "repeat", "select", "while" }; std::string endTags[6] = { "endcase", "endfor", "endif", "endselect", "endwhile", "until" }; std::string selectCloseTags[5] = { "selectdo", "selecteos", "selectempty", "selecterror", "endselect" }; LexAccessor styler(pAccess); Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); // Backtrack to previous line in case need to fix its fold status if (startPos > 0) { if (lineCurrent > 0) { lineCurrent--; startPos = styler.LineStart(lineCurrent); } } int levelPrev = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelPrev = styler.LevelAt(lineCurrent - 1) >> 16; int levelCurrent = levelPrev; char chNext = styler[startPos]; int style = initStyle; int styleNext = styler.StyleAt(startPos); for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); style = styleNext; styleNext = styler.StyleAt(i + 1); int stylePrev = (i) ? styler.StyleAt(i - 1) : SCE_BAAN_DEFAULT; bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); // Comment folding if (options.foldComment && style == SCE_BAAN_COMMENTDOC) { if (style != stylePrev) { levelCurrent++; } else if (style != styleNext) { levelCurrent--; } } if (options.foldComment && atEOL && IsCommentLine(lineCurrent, styler)) { if (!IsCommentLine(lineCurrent - 1, styler) && IsCommentLine(lineCurrent + 1, styler)) levelCurrent++; else if (IsCommentLine(lineCurrent - 1, styler) && !IsCommentLine(lineCurrent + 1, styler)) levelCurrent--; } // PreProcessor Folding if (options.foldPreprocessor) { if (atEOL && IsPreProcLine(lineCurrent, styler)) { if (!IsPreProcLine(lineCurrent - 1, styler) && IsPreProcLine(lineCurrent + 1, styler)) levelCurrent++; else if (IsPreProcLine(lineCurrent - 1, styler) && !IsPreProcLine(lineCurrent + 1, styler)) levelCurrent--; } else if (style == SCE_BAAN_PREPROCESSOR) { // folds #ifdef/#if/#ifndef - they are not part of the IsPreProcLine folding. if (ch == '#') { if (styler.Match(i, "#ifdef") || styler.Match(i, "#if") || styler.Match(i, "#ifndef") || styler.Match(i, "#context_on")) levelCurrent++; else if (styler.Match(i, "#endif") || styler.Match(i, "#context_off")) levelCurrent--; } } } //Syntax Folding if (options.baanFoldSyntaxBased && (style == SCE_BAAN_OPERATOR)) { if (ch == '{' || ch == '(') { levelCurrent++; } else if (ch == '}' || ch == ')') { levelCurrent--; } } //Keywords Folding if (options.baanFoldKeywordsBased) { if (atEOL && IsDeclarationLine(lineCurrent, styler)) { if (!IsDeclarationLine(lineCurrent - 1, styler) && IsDeclarationLine(lineCurrent + 1, styler)) levelCurrent++; else if (IsDeclarationLine(lineCurrent - 1, styler) && !IsDeclarationLine(lineCurrent + 1, styler)) levelCurrent--; } else if (style == SCE_BAAN_WORD) { word[wordlen++] = static_cast(MakeLowerCase(ch)); if (wordlen == 100) { // prevent overflow word[0] = '\0'; wordlen = 1; } if (styleNext != SCE_BAAN_WORD) { word[wordlen] = '\0'; wordlen = 0; if (strcmp(word, "for") == 0) { Sci_PositionU j = i + 1; while ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) { j++; } if (styler.Match(j, "update")) { // Means this is a "for update" used by Select which is already folded. foldStart = false; } } else if (strcmp(word, "on") == 0) { Sci_PositionU j = i + 1; while ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) { j++; } if (!styler.Match(j, "case")) { // Means this is not a "on Case" statement... could be "on" used by index. foldStart = false; } } else if (strcmp(word, "select") == 0) { if (foldNextSelect) { // Next Selects are sub-clause till reach of selectCloseTags[] array. foldNextSelect = false; foldStart = true; } else { foldNextSelect = false; foldStart = false; } } else if (wordInArray(word, selectCloseTags, 5)) { // select clause ends, next select clause can be folded. foldNextSelect = true; foldStart = true; } else { foldStart = true; } if (foldStart) { if (wordInArray(word, startTags, 6)) { levelCurrent++; } else if (wordInArray(word, endTags, 6)) { levelCurrent--; } } } } } // Fold inner level of if/select/case statements if (options.baanFoldInnerLevel && atEOL) { bool currLineInnerLevel = IsInnerLevelFold(lineCurrent, styler); bool nextLineInnerLevel = IsInnerLevelFold(lineCurrent + 1, styler); if (currLineInnerLevel && currLineInnerLevel != nextLineInnerLevel) { levelCurrent++; } else if (nextLineInnerLevel && nextLineInnerLevel != currLineInnerLevel) { levelCurrent--; } } // Section Foldings. // One way of implementing Section Foldings, as there is no END markings of sections. // first section ends on the previous line of next section. // Re-written whole folding to accomodate this. if (options.baanFoldSections && atEOL) { currLineStyle = mainOrSubSectionLine(lineCurrent, styler); nextLineStyle = mainOrSubSectionLine(lineCurrent + 1, styler); if (currLineStyle != 0 && currLineStyle != nextLineStyle) { if (levelCurrent < levelPrev) --levelPrev; for (Sci_Position j = styler.LineStart(lineCurrent); j < styler.LineStart(lineCurrent + 1) - 1; j++) { if (IsASpaceOrTab(styler[j])) continue; else if (styler.StyleAt(j) == SCE_BAAN_WORD5) { if (styler.Match(j, "functions:")) { // Means functions: is the end of MainSections. // Nothing to fold after this. afterFunctionSection = true; break; } else { afterFunctionSection = false; break; } } else { afterFunctionSection = false; break; } } if (!afterFunctionSection) levelCurrent++; } else if (nextLineStyle != 0 && currLineStyle != nextLineStyle && (priorSectionIsSubSection(lineCurrent -1 ,styler) || !nextSectionIsSubSection(lineCurrent + 1, styler))) { for (Sci_Position j = styler.LineStart(lineCurrent + 1); j < styler.LineStart(lineCurrent + 1 + 1) - 1; j++) { if (IsASpaceOrTab(styler[j])) continue; else if (styler.StyleAt(j) == SCE_BAAN_WORD5) { if (styler.Match(j, "declaration:")) { // Means declaration: is the start of MainSections. // Nothing to fold before this. beforeDeclarationSection = true; break; } else { beforeDeclarationSection = false; break; } } else { beforeDeclarationSection = false; break; } } if (!beforeDeclarationSection) { levelCurrent--; if (nextLineStyle == SCE_BAAN_WORD5 && priorSectionIsSubSection(lineCurrent-1, styler)) // next levelCurrent--; is to unfold previous subsection fold. // On reaching the next main section, the previous main as well sub section ends. levelCurrent--; } } } if (atEOL) { int lev = levelPrev; lev |= levelCurrent << 16; if (visibleChars == 0 && options.foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; } int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } LexerModule lmBaan(SCLEX_BAAN, LexerBaan::LexerFactoryBaan, "baan", baanWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexBash.cpp ================================================ // Scintilla source code edit control /** @file LexBash.cxx ** Lexer for Bash. **/ // Copyright 2004-2012 by Neil Hodgson // Adapted from LexPerl by Kein-Hong Man 2004 // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; #define HERE_DELIM_MAX 256 // define this if you want 'invalid octals' to be marked as errors // usually, this is not a good idea, permissive lexing is better #undef PEDANTIC_OCTAL #define BASH_BASE_ERROR 65 #define BASH_BASE_DECIMAL 66 #define BASH_BASE_HEX 67 #ifdef PEDANTIC_OCTAL #define BASH_BASE_OCTAL 68 #define BASH_BASE_OCTAL_ERROR 69 #endif // state constants for parts of a bash command segment #define BASH_CMD_BODY 0 #define BASH_CMD_START 1 #define BASH_CMD_WORD 2 #define BASH_CMD_TEST 3 #define BASH_CMD_ARITH 4 #define BASH_CMD_DELIM 5 // state constants for nested delimiter pairs, used by // SCE_SH_STRING and SCE_SH_BACKTICKS processing #define BASH_DELIM_LITERAL 0 #define BASH_DELIM_STRING 1 #define BASH_DELIM_CSTRING 2 #define BASH_DELIM_LSTRING 3 #define BASH_DELIM_COMMAND 4 #define BASH_DELIM_BACKTICK 5 #define BASH_DELIM_STACK_MAX 7 static inline int translateBashDigit(int ch) { if (ch >= '0' && ch <= '9') { return ch - '0'; } else if (ch >= 'a' && ch <= 'z') { return ch - 'a' + 10; } else if (ch >= 'A' && ch <= 'Z') { return ch - 'A' + 36; } else if (ch == '@') { return 62; } else if (ch == '_') { return 63; } return BASH_BASE_ERROR; } static inline int getBashNumberBase(char *s) { int i = 0; int base = 0; while (*s) { base = base * 10 + (*s++ - '0'); i++; } if (base > 64 || i > 2) { return BASH_BASE_ERROR; } return base; } static int opposite(int ch) { if (ch == '(') return ')'; if (ch == '[') return ']'; if (ch == '{') return '}'; if (ch == '<') return '>'; return ch; } static int GlobScan(StyleContext &sc) { // forward scan for zsh globs, disambiguate versus bash arrays // complex expressions may still fail, e.g. unbalanced () '' "" etc int c, sLen = 0; int pCount = 0; int hash = 0; while ((c = sc.GetRelativeCharacter(++sLen)) != 0) { if (IsASpace(c)) { return 0; } else if (c == '\'' || c == '\"') { if (hash != 2) return 0; } else if (c == '#' && hash == 0) { hash = (sLen == 1) ? 2:1; } else if (c == '(') { pCount++; } else if (c == ')') { if (pCount == 0) { if (hash) return sLen; return 0; } pCount--; } } return 0; } static void ColouriseBashDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList cmdDelimiter, bashStruct, bashStruct_in; cmdDelimiter.Set("| || |& & && ; ;; ( ) { }"); bashStruct.Set("if elif fi while until else then do done esac eval"); bashStruct_in.Set("for case select"); CharacterSet setWordStart(CharacterSet::setAlpha, "_"); // note that [+-] are often parts of identifiers in shell scripts CharacterSet setWord(CharacterSet::setAlphaNum, "._+-"); CharacterSet setMetaCharacter(CharacterSet::setNone, "|&;()<> \t\r\n"); setMetaCharacter.Add(0); CharacterSet setBashOperator(CharacterSet::setNone, "^&%()-+=|{}[]:;>,*/(ch); Delimiter[DelimiterLength] = '\0'; } ~HereDocCls() { } }; HereDocCls HereDoc; class QuoteCls { // Class to manage quote pairs (simplified vs LexPerl) public: int Count; int Up, Down; QuoteCls() { Count = 0; Up = '\0'; Down = '\0'; } void Open(int u) { Count++; Up = u; Down = opposite(Up); } void Start(int u) { Count = 0; Open(u); } }; QuoteCls Quote; class QuoteStackCls { // Class to manage quote pairs that nest public: int Count; int Up, Down; int Style; int Depth; // levels pushed int CountStack[BASH_DELIM_STACK_MAX]; int UpStack [BASH_DELIM_STACK_MAX]; int StyleStack[BASH_DELIM_STACK_MAX]; QuoteStackCls() { Count = 0; Up = '\0'; Down = '\0'; Style = 0; Depth = 0; } void Start(int u, int s) { Count = 1; Up = u; Down = opposite(Up); Style = s; } void Push(int u, int s) { if (Depth >= BASH_DELIM_STACK_MAX) return; CountStack[Depth] = Count; UpStack [Depth] = Up; StyleStack[Depth] = Style; Depth++; Count = 1; Up = u; Down = opposite(Up); Style = s; } void Pop(void) { if (Depth <= 0) return; Depth--; Count = CountStack[Depth]; Up = UpStack [Depth]; Style = StyleStack[Depth]; Down = opposite(Up); } ~QuoteStackCls() { } }; QuoteStackCls QuoteStack; int numBase = 0; int digit; Sci_PositionU endPos = startPos + length; int cmdState = BASH_CMD_START; int testExprType = 0; // Always backtracks to the start of a line that is not a continuation // of the previous line (i.e. start of a bash command segment) Sci_Position ln = styler.GetLine(startPos); if (ln > 0 && startPos == static_cast(styler.LineStart(ln))) ln--; for (;;) { startPos = styler.LineStart(ln); if (ln == 0 || styler.GetLineState(ln) == BASH_CMD_START) break; ln--; } initStyle = SCE_SH_DEFAULT; StyleContext sc(startPos, endPos - startPos, initStyle, styler); for (; sc.More(); sc.Forward()) { // handle line continuation, updates per-line stored state if (sc.atLineStart) { ln = styler.GetLine(sc.currentPos); if (sc.state == SCE_SH_STRING || sc.state == SCE_SH_BACKTICKS || sc.state == SCE_SH_CHARACTER || sc.state == SCE_SH_HERE_Q || sc.state == SCE_SH_COMMENTLINE || sc.state == SCE_SH_PARAM) { // force backtrack while retaining cmdState styler.SetLineState(ln, BASH_CMD_BODY); } else { if (ln > 0) { if ((sc.GetRelative(-3) == '\\' && sc.GetRelative(-2) == '\r' && sc.chPrev == '\n') || sc.GetRelative(-2) == '\\') { // handle '\' line continuation // retain last line's state } else cmdState = BASH_CMD_START; } styler.SetLineState(ln, cmdState); } } // controls change of cmdState at the end of a non-whitespace element // states BODY|TEST|ARITH persist until the end of a command segment // state WORD persist, but ends with 'in' or 'do' construct keywords int cmdStateNew = BASH_CMD_BODY; if (cmdState == BASH_CMD_TEST || cmdState == BASH_CMD_ARITH || cmdState == BASH_CMD_WORD) cmdStateNew = cmdState; int stylePrev = sc.state; // Determine if the current state should terminate. switch (sc.state) { case SCE_SH_OPERATOR: sc.SetState(SCE_SH_DEFAULT); if (cmdState == BASH_CMD_DELIM) // if command delimiter, start new command cmdStateNew = BASH_CMD_START; else if (sc.chPrev == '\\') // propagate command state if line continued cmdStateNew = cmdState; break; case SCE_SH_WORD: // "." never used in Bash variable names but used in file names if (!setWord.Contains(sc.ch)) { char s[500]; char s2[10]; sc.GetCurrent(s, sizeof(s)); // allow keywords ending in a whitespace or command delimiter s2[0] = static_cast(sc.ch); s2[1] = '\0'; bool keywordEnds = IsASpace(sc.ch) || cmdDelimiter.InList(s2); // 'in' or 'do' may be construct keywords if (cmdState == BASH_CMD_WORD) { if (strcmp(s, "in") == 0 && keywordEnds) cmdStateNew = BASH_CMD_BODY; else if (strcmp(s, "do") == 0 && keywordEnds) cmdStateNew = BASH_CMD_START; else sc.ChangeState(SCE_SH_IDENTIFIER); sc.SetState(SCE_SH_DEFAULT); break; } // a 'test' keyword starts a test expression if (strcmp(s, "test") == 0) { if (cmdState == BASH_CMD_START && keywordEnds) { cmdStateNew = BASH_CMD_TEST; testExprType = 0; } else sc.ChangeState(SCE_SH_IDENTIFIER); } // detect bash construct keywords else if (bashStruct.InList(s)) { if (cmdState == BASH_CMD_START && keywordEnds) cmdStateNew = BASH_CMD_START; else sc.ChangeState(SCE_SH_IDENTIFIER); } // 'for'|'case'|'select' needs 'in'|'do' to be highlighted later else if (bashStruct_in.InList(s)) { if (cmdState == BASH_CMD_START && keywordEnds) cmdStateNew = BASH_CMD_WORD; else sc.ChangeState(SCE_SH_IDENTIFIER); } // disambiguate option items and file test operators else if (s[0] == '-') { if (cmdState != BASH_CMD_TEST) sc.ChangeState(SCE_SH_IDENTIFIER); } // disambiguate keywords and identifiers else if (cmdState != BASH_CMD_START || !(keywords.InList(s) && keywordEnds)) { sc.ChangeState(SCE_SH_IDENTIFIER); } sc.SetState(SCE_SH_DEFAULT); } break; case SCE_SH_IDENTIFIER: if (sc.chPrev == '\\') { // for escaped chars sc.ForwardSetState(SCE_SH_DEFAULT); } else if (!setWord.Contains(sc.ch)) { sc.SetState(SCE_SH_DEFAULT); } else if (cmdState == BASH_CMD_ARITH && !setWordStart.Contains(sc.ch)) { sc.SetState(SCE_SH_DEFAULT); } break; case SCE_SH_NUMBER: digit = translateBashDigit(sc.ch); if (numBase == BASH_BASE_DECIMAL) { if (sc.ch == '#') { char s[10]; sc.GetCurrent(s, sizeof(s)); numBase = getBashNumberBase(s); if (numBase != BASH_BASE_ERROR) break; } else if (IsADigit(sc.ch)) break; } else if (numBase == BASH_BASE_HEX) { if (IsADigit(sc.ch, 16)) break; #ifdef PEDANTIC_OCTAL } else if (numBase == BASH_BASE_OCTAL || numBase == BASH_BASE_OCTAL_ERROR) { if (digit <= 7) break; if (digit <= 9) { numBase = BASH_BASE_OCTAL_ERROR; break; } #endif } else if (numBase == BASH_BASE_ERROR) { if (digit <= 9) break; } else { // DD#DDDD number style handling if (digit != BASH_BASE_ERROR) { if (numBase <= 36) { // case-insensitive if base<=36 if (digit >= 36) digit -= 26; } if (digit < numBase) break; if (digit <= 9) { numBase = BASH_BASE_ERROR; break; } } } // fallthrough when number is at an end or error if (numBase == BASH_BASE_ERROR #ifdef PEDANTIC_OCTAL || numBase == BASH_BASE_OCTAL_ERROR #endif ) { sc.ChangeState(SCE_SH_ERROR); } sc.SetState(SCE_SH_DEFAULT); break; case SCE_SH_COMMENTLINE: if (sc.atLineEnd && sc.chPrev != '\\') { sc.SetState(SCE_SH_DEFAULT); } break; case SCE_SH_HERE_DELIM: // From Bash info: // --------------- // Specifier format is: <<[-]WORD // Optional '-' is for removal of leading tabs from here-doc. // Whitespace acceptable after <<[-] operator // if (HereDoc.State == 0) { // '<<' encountered HereDoc.Quote = sc.chNext; HereDoc.Quoted = false; HereDoc.DelimiterLength = 0; HereDoc.Delimiter[HereDoc.DelimiterLength] = '\0'; if (sc.chNext == '\'' || sc.chNext == '\"') { // a quoted here-doc delimiter (' or ") sc.Forward(); HereDoc.Quoted = true; HereDoc.State = 1; } else if (setHereDoc.Contains(sc.chNext) || (sc.chNext == '=' && cmdState != BASH_CMD_ARITH)) { // an unquoted here-doc delimiter, no special handling HereDoc.State = 1; } else if (sc.chNext == '<') { // HERE string <<< sc.Forward(); sc.ForwardSetState(SCE_SH_DEFAULT); } else if (IsASpace(sc.chNext)) { // eat whitespace } else if (setLeftShift.Contains(sc.chNext) || (sc.chNext == '=' && cmdState == BASH_CMD_ARITH)) { // left shift <<$var or <<= cases sc.ChangeState(SCE_SH_OPERATOR); sc.ForwardSetState(SCE_SH_DEFAULT); } else { // symbols terminates; deprecated zero-length delimiter HereDoc.State = 1; } } else if (HereDoc.State == 1) { // collect the delimiter // * if single quoted, there's no escape // * if double quoted, there are \\ and \" escapes if ((HereDoc.Quote == '\'' && sc.ch != HereDoc.Quote) || (HereDoc.Quoted && sc.ch != HereDoc.Quote && sc.ch != '\\') || (HereDoc.Quote != '\'' && sc.chPrev == '\\') || (setHereDoc2.Contains(sc.ch))) { HereDoc.Append(sc.ch); } else if (HereDoc.Quoted && sc.ch == HereDoc.Quote) { // closing quote => end of delimiter sc.ForwardSetState(SCE_SH_DEFAULT); } else if (sc.ch == '\\') { if (HereDoc.Quoted && sc.chNext != HereDoc.Quote && sc.chNext != '\\') { // in quoted prefixes only \ and the quote eat the escape HereDoc.Append(sc.ch); } else { // skip escape prefix } } else if (!HereDoc.Quoted) { sc.SetState(SCE_SH_DEFAULT); } if (HereDoc.DelimiterLength >= HERE_DELIM_MAX - 1) { // force blowup sc.SetState(SCE_SH_ERROR); HereDoc.State = 0; } } break; case SCE_SH_HERE_Q: // HereDoc.State == 2 if (sc.atLineStart) { sc.SetState(SCE_SH_HERE_Q); int prefixws = 0; while (sc.ch == '\t' && !sc.atLineEnd) { // tabulation prefix sc.Forward(); prefixws++; } if (prefixws > 0) sc.SetState(SCE_SH_HERE_Q); while (!sc.atLineEnd) { sc.Forward(); } char s[HERE_DELIM_MAX]; sc.GetCurrent(s, sizeof(s)); if (sc.LengthCurrent() == 0) { // '' or "" delimiters if ((prefixws == 0 || HereDoc.Indent) && HereDoc.Quoted && HereDoc.DelimiterLength == 0) sc.SetState(SCE_SH_DEFAULT); break; } if (s[strlen(s) - 1] == '\r') s[strlen(s) - 1] = '\0'; if (strcmp(HereDoc.Delimiter, s) == 0) { if ((prefixws == 0) || // indentation rule (prefixws > 0 && HereDoc.Indent)) { sc.SetState(SCE_SH_DEFAULT); break; } } } break; case SCE_SH_SCALAR: // variable names if (!setParam.Contains(sc.ch)) { if (sc.LengthCurrent() == 1) { // Special variable: $(, $_ etc. sc.ForwardSetState(SCE_SH_DEFAULT); } else { sc.SetState(SCE_SH_DEFAULT); } } break; case SCE_SH_STRING: // delimited styles, can nest case SCE_SH_BACKTICKS: if (sc.ch == '\\' && QuoteStack.Up != '\\') { if (QuoteStack.Style != BASH_DELIM_LITERAL) sc.Forward(); } else if (sc.ch == QuoteStack.Down) { QuoteStack.Count--; if (QuoteStack.Count == 0) { if (QuoteStack.Depth > 0) { QuoteStack.Pop(); } else sc.ForwardSetState(SCE_SH_DEFAULT); } } else if (sc.ch == QuoteStack.Up) { QuoteStack.Count++; } else { if (QuoteStack.Style == BASH_DELIM_STRING || QuoteStack.Style == BASH_DELIM_LSTRING ) { // do nesting for "string", $"locale-string" if (sc.ch == '`') { QuoteStack.Push(sc.ch, BASH_DELIM_BACKTICK); } else if (sc.ch == '$' && sc.chNext == '(') { sc.Forward(); QuoteStack.Push(sc.ch, BASH_DELIM_COMMAND); } } else if (QuoteStack.Style == BASH_DELIM_COMMAND || QuoteStack.Style == BASH_DELIM_BACKTICK ) { // do nesting for $(command), `command` if (sc.ch == '\'') { QuoteStack.Push(sc.ch, BASH_DELIM_LITERAL); } else if (sc.ch == '\"') { QuoteStack.Push(sc.ch, BASH_DELIM_STRING); } else if (sc.ch == '`') { QuoteStack.Push(sc.ch, BASH_DELIM_BACKTICK); } else if (sc.ch == '$') { if (sc.chNext == '\'') { sc.Forward(); QuoteStack.Push(sc.ch, BASH_DELIM_CSTRING); } else if (sc.chNext == '\"') { sc.Forward(); QuoteStack.Push(sc.ch, BASH_DELIM_LSTRING); } else if (sc.chNext == '(') { sc.Forward(); QuoteStack.Push(sc.ch, BASH_DELIM_COMMAND); } } } } break; case SCE_SH_PARAM: // ${parameter} if (sc.ch == '\\' && Quote.Up != '\\') { sc.Forward(); } else if (sc.ch == Quote.Down) { Quote.Count--; if (Quote.Count == 0) { sc.ForwardSetState(SCE_SH_DEFAULT); } } else if (sc.ch == Quote.Up) { Quote.Count++; } break; case SCE_SH_CHARACTER: // singly-quoted strings if (sc.ch == Quote.Down) { Quote.Count--; if (Quote.Count == 0) { sc.ForwardSetState(SCE_SH_DEFAULT); } } break; } // Must check end of HereDoc state 1 before default state is handled if (HereDoc.State == 1 && sc.atLineEnd) { // Begin of here-doc (the line after the here-doc delimiter): // Lexically, the here-doc starts from the next line after the >>, but the // first line of here-doc seem to follow the style of the last EOL sequence HereDoc.State = 2; if (HereDoc.Quoted) { if (sc.state == SCE_SH_HERE_DELIM) { // Missing quote at end of string! Syntax error in bash 4.3 // Mark this bit as an error, do not colour any here-doc sc.ChangeState(SCE_SH_ERROR); sc.SetState(SCE_SH_DEFAULT); } else { // HereDoc.Quote always == '\'' sc.SetState(SCE_SH_HERE_Q); } } else if (HereDoc.DelimiterLength == 0) { // no delimiter, illegal (but '' and "" are legal) sc.ChangeState(SCE_SH_ERROR); sc.SetState(SCE_SH_DEFAULT); } else { sc.SetState(SCE_SH_HERE_Q); } } // update cmdState about the current command segment if (stylePrev != SCE_SH_DEFAULT && sc.state == SCE_SH_DEFAULT) { cmdState = cmdStateNew; } // Determine if a new state should be entered. if (sc.state == SCE_SH_DEFAULT) { if (sc.ch == '\\') { // Bash can escape any non-newline as a literal sc.SetState(SCE_SH_IDENTIFIER); if (sc.chNext == '\r' || sc.chNext == '\n') sc.SetState(SCE_SH_OPERATOR); } else if (IsADigit(sc.ch)) { sc.SetState(SCE_SH_NUMBER); numBase = BASH_BASE_DECIMAL; if (sc.ch == '0') { // hex,octal if (sc.chNext == 'x' || sc.chNext == 'X') { numBase = BASH_BASE_HEX; sc.Forward(); } else if (IsADigit(sc.chNext)) { #ifdef PEDANTIC_OCTAL numBase = BASH_BASE_OCTAL; #else numBase = BASH_BASE_HEX; #endif } } } else if (setWordStart.Contains(sc.ch)) { sc.SetState(SCE_SH_WORD); } else if (sc.ch == '#') { if (stylePrev != SCE_SH_WORD && stylePrev != SCE_SH_IDENTIFIER && (sc.currentPos == 0 || setMetaCharacter.Contains(sc.chPrev))) { sc.SetState(SCE_SH_COMMENTLINE); } else { sc.SetState(SCE_SH_WORD); } // handle some zsh features within arithmetic expressions only if (cmdState == BASH_CMD_ARITH) { if (sc.chPrev == '[') { // [#8] [##8] output digit setting sc.SetState(SCE_SH_WORD); if (sc.chNext == '#') { sc.Forward(); } } else if (sc.Match("##^") && IsUpperCase(sc.GetRelative(3))) { // ##^A sc.SetState(SCE_SH_IDENTIFIER); sc.Forward(3); } else if (sc.chNext == '#' && !IsASpace(sc.GetRelative(2))) { // ##a sc.SetState(SCE_SH_IDENTIFIER); sc.Forward(2); } else if (setWordStart.Contains(sc.chNext)) { // #name sc.SetState(SCE_SH_IDENTIFIER); } } } else if (sc.ch == '\"') { sc.SetState(SCE_SH_STRING); QuoteStack.Start(sc.ch, BASH_DELIM_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_SH_CHARACTER); Quote.Start(sc.ch); } else if (sc.ch == '`') { sc.SetState(SCE_SH_BACKTICKS); QuoteStack.Start(sc.ch, BASH_DELIM_BACKTICK); } else if (sc.ch == '$') { if (sc.Match("$((")) { sc.SetState(SCE_SH_OPERATOR); // handle '((' later continue; } sc.SetState(SCE_SH_SCALAR); sc.Forward(); if (sc.ch == '{') { sc.ChangeState(SCE_SH_PARAM); Quote.Start(sc.ch); } else if (sc.ch == '\'') { sc.ChangeState(SCE_SH_STRING); QuoteStack.Start(sc.ch, BASH_DELIM_CSTRING); } else if (sc.ch == '"') { sc.ChangeState(SCE_SH_STRING); QuoteStack.Start(sc.ch, BASH_DELIM_LSTRING); } else if (sc.ch == '(') { sc.ChangeState(SCE_SH_BACKTICKS); QuoteStack.Start(sc.ch, BASH_DELIM_COMMAND); } else if (sc.ch == '`') { // $` seen in a configure script, valid? sc.ChangeState(SCE_SH_BACKTICKS); QuoteStack.Start(sc.ch, BASH_DELIM_BACKTICK); } else { continue; // scalar has no delimiter pair } } else if (sc.Match('<', '<')) { sc.SetState(SCE_SH_HERE_DELIM); HereDoc.State = 0; if (sc.GetRelative(2) == '-') { // <<- indent case HereDoc.Indent = true; sc.Forward(); } else { HereDoc.Indent = false; } } else if (sc.ch == '-' && // one-char file test operators setSingleCharOp.Contains(sc.chNext) && !setWord.Contains(sc.GetRelative(2)) && IsASpace(sc.chPrev)) { sc.SetState(SCE_SH_WORD); sc.Forward(); } else if (setBashOperator.Contains(sc.ch)) { char s[10]; bool isCmdDelim = false; sc.SetState(SCE_SH_OPERATOR); // globs have no whitespace, do not appear in arithmetic expressions if (cmdState != BASH_CMD_ARITH && sc.ch == '(' && sc.chNext != '(') { int i = GlobScan(sc); if (i > 1) { sc.SetState(SCE_SH_IDENTIFIER); sc.Forward(i); continue; } } // handle opening delimiters for test/arithmetic expressions - ((,[[,[ if (cmdState == BASH_CMD_START || cmdState == BASH_CMD_BODY) { if (sc.Match('(', '(')) { cmdState = BASH_CMD_ARITH; sc.Forward(); } else if (sc.Match('[', '[') && IsASpace(sc.GetRelative(2))) { cmdState = BASH_CMD_TEST; testExprType = 1; sc.Forward(); } else if (sc.ch == '[' && IsASpace(sc.chNext)) { cmdState = BASH_CMD_TEST; testExprType = 2; } } // special state -- for ((x;y;z)) in ... looping if (cmdState == BASH_CMD_WORD && sc.Match('(', '(')) { cmdState = BASH_CMD_ARITH; sc.Forward(); continue; } // handle command delimiters in command START|BODY|WORD state, also TEST if 'test' if (cmdState == BASH_CMD_START || cmdState == BASH_CMD_BODY || cmdState == BASH_CMD_WORD || (cmdState == BASH_CMD_TEST && testExprType == 0)) { s[0] = static_cast(sc.ch); if (setBashOperator.Contains(sc.chNext)) { s[1] = static_cast(sc.chNext); s[2] = '\0'; isCmdDelim = cmdDelimiter.InList(s); if (isCmdDelim) sc.Forward(); } if (!isCmdDelim) { s[1] = '\0'; isCmdDelim = cmdDelimiter.InList(s); } if (isCmdDelim) { cmdState = BASH_CMD_DELIM; continue; } } // handle closing delimiters for test/arithmetic expressions - )),]],] if (cmdState == BASH_CMD_ARITH && sc.Match(')', ')')) { cmdState = BASH_CMD_BODY; sc.Forward(); } else if (cmdState == BASH_CMD_TEST && IsASpace(sc.chPrev)) { if (sc.Match(']', ']') && testExprType == 1) { sc.Forward(); cmdState = BASH_CMD_BODY; } else if (sc.ch == ']' && testExprType == 2) { cmdState = BASH_CMD_BODY; } } } }// sc.state } sc.Complete(); if (sc.state == SCE_SH_HERE_Q) { styler.ChangeLexerState(sc.currentPos, styler.Length()); } sc.Complete(); } static bool IsCommentLine(Sci_Position line, Accessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; if (ch == '#') return true; else if (ch != ' ' && ch != '\t') return false; } return false; } static void FoldBashDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { bool foldComment = styler.GetPropertyInt("fold.comment") != 0; bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; Sci_PositionU endPos = startPos + length; int visibleChars = 0; int skipHereCh = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); char word[8] = { '\0' }; // we're not interested in long words anyway unsigned int wordlen = 0; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); // Comment folding if (foldComment && atEOL && IsCommentLine(lineCurrent, styler)) { if (!IsCommentLine(lineCurrent - 1, styler) && IsCommentLine(lineCurrent + 1, styler)) levelCurrent++; else if (IsCommentLine(lineCurrent - 1, styler) && !IsCommentLine(lineCurrent + 1, styler)) levelCurrent--; } if (style == SCE_SH_WORD) { if ((wordlen + 1) < sizeof(word)) word[wordlen++] = ch; if (styleNext != style) { word[wordlen] = '\0'; wordlen = 0; if (strcmp(word, "if") == 0 || strcmp(word, "case") == 0 || strcmp(word, "do") == 0) { levelCurrent++; } else if (strcmp(word, "fi") == 0 || strcmp(word, "esac") == 0 || strcmp(word, "done") == 0) { levelCurrent--; } } } if (style == SCE_SH_OPERATOR) { if (ch == '{') { levelCurrent++; } else if (ch == '}') { levelCurrent--; } } // Here Document folding if (style == SCE_SH_HERE_DELIM) { if (ch == '<' && chNext == '<') { if (styler.SafeGetCharAt(i + 2) == '<') { skipHereCh = 1; } else { if (skipHereCh == 0) { levelCurrent++; } else { skipHereCh = 0; } } } } else if (style == SCE_SH_HERE_Q && styler.StyleAt(i+1) == SCE_SH_DEFAULT) { levelCurrent--; } if (atEOL) { int lev = levelPrev; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const bashWordListDesc[] = { "Keywords", 0 }; LexerModule lmBash(SCLEX_BASH, ColouriseBashDoc, "bash", FoldBashDoc, bashWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexBasic.cpp ================================================ // Scintilla source code edit control /** @file LexBasic.cxx ** Lexer for BlitzBasic and PureBasic. ** Converted to lexer object and added further folding features/properties by "Udo Lechner" **/ // Copyright 1998-2003 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. // This tries to be a unified Lexer/Folder for all the BlitzBasic/BlitzMax/PurBasic basics // and derivatives. Once they diverge enough, might want to split it into multiple // lexers for more code clearity. // // Mail me (elias users sf net) for any bugs. // Folding only works for simple things like functions or types. // You may want to have a look at my ctags lexer as well, if you additionally to coloring // and folding need to extract things like label tags in your editor. #include #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #include "DefaultLexer.h" using namespace Scintilla; /* Bits: * 1 - whitespace * 2 - operator * 4 - identifier * 8 - decimal digit * 16 - hex digit * 32 - bin digit * 64 - letter */ static int character_classification[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 2, 60, 60, 28, 28, 28, 28, 28, 28, 28, 28, 2, 2, 2, 2, 2, 2, 2, 84, 84, 84, 84, 84, 84, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 2, 2, 2, 2, 68, 2, 84, 84, 84, 84, 84, 84, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 2, 2, 2, 2, 0 }; static bool IsSpace(int c) { return c < 128 && (character_classification[c] & 1); } static bool IsOperator(int c) { return c < 128 && (character_classification[c] & 2); } static bool IsIdentifier(int c) { return c < 128 && (character_classification[c] & 4); } static bool IsDigit(int c) { return c < 128 && (character_classification[c] & 8); } static bool IsHexDigit(int c) { return c < 128 && (character_classification[c] & 16); } static bool IsBinDigit(int c) { return c < 128 && (character_classification[c] & 32); } static bool IsLetter(int c) { return c < 128 && (character_classification[c] & 64); } static int LowerCase(int c) { if (c >= 'A' && c <= 'Z') return 'a' + c - 'A'; return c; } static int CheckBlitzFoldPoint(char const *token, int &level) { if (!strcmp(token, "function") || !strcmp(token, "type")) { level |= SC_FOLDLEVELHEADERFLAG; return 1; } if (!strcmp(token, "end function") || !strcmp(token, "end type")) { return -1; } return 0; } static int CheckPureFoldPoint(char const *token, int &level) { if (!strcmp(token, "procedure") || !strcmp(token, "enumeration") || !strcmp(token, "interface") || !strcmp(token, "structure")) { level |= SC_FOLDLEVELHEADERFLAG; return 1; } if (!strcmp(token, "endprocedure") || !strcmp(token, "endenumeration") || !strcmp(token, "endinterface") || !strcmp(token, "endstructure")) { return -1; } return 0; } static int CheckFreeFoldPoint(char const *token, int &level) { if (!strcmp(token, "function") || !strcmp(token, "sub") || !strcmp(token, "enum") || !strcmp(token, "type") || !strcmp(token, "union") || !strcmp(token, "property") || !strcmp(token, "destructor") || !strcmp(token, "constructor")) { level |= SC_FOLDLEVELHEADERFLAG; return 1; } if (!strcmp(token, "end function") || !strcmp(token, "end sub") || !strcmp(token, "end enum") || !strcmp(token, "end type") || !strcmp(token, "end union") || !strcmp(token, "end property") || !strcmp(token, "end destructor") || !strcmp(token, "end constructor")) { return -1; } return 0; } // An individual named option for use in an OptionSet // Options used for LexerBasic struct OptionsBasic { bool fold; bool foldSyntaxBased; bool foldCommentExplicit; std::string foldExplicitStart; std::string foldExplicitEnd; bool foldExplicitAnywhere; bool foldCompact; OptionsBasic() { fold = false; foldSyntaxBased = true; foldCommentExplicit = false; foldExplicitStart = ""; foldExplicitEnd = ""; foldExplicitAnywhere = false; foldCompact = true; } }; static const char * const blitzbasicWordListDesc[] = { "BlitzBasic Keywords", "user1", "user2", "user3", 0 }; static const char * const purebasicWordListDesc[] = { "PureBasic Keywords", "PureBasic PreProcessor Keywords", "user defined 1", "user defined 2", 0 }; static const char * const freebasicWordListDesc[] = { "FreeBasic Keywords", "FreeBasic PreProcessor Keywords", "user defined 1", "user defined 2", 0 }; struct OptionSetBasic : public OptionSet { OptionSetBasic(const char * const wordListDescriptions[]) { DefineProperty("fold", &OptionsBasic::fold); DefineProperty("fold.basic.syntax.based", &OptionsBasic::foldSyntaxBased, "Set this property to 0 to disable syntax based folding."); DefineProperty("fold.basic.comment.explicit", &OptionsBasic::foldCommentExplicit, "This option enables folding explicit fold points when using the Basic lexer. " "Explicit fold points allows adding extra folding by placing a ;{ (BB/PB) or '{ (FB) comment at the start " "and a ;} (BB/PB) or '} (FB) at the end of a section that should be folded."); DefineProperty("fold.basic.explicit.start", &OptionsBasic::foldExplicitStart, "The string to use for explicit fold start points, replacing the standard ;{ (BB/PB) or '{ (FB)."); DefineProperty("fold.basic.explicit.end", &OptionsBasic::foldExplicitEnd, "The string to use for explicit fold end points, replacing the standard ;} (BB/PB) or '} (FB)."); DefineProperty("fold.basic.explicit.anywhere", &OptionsBasic::foldExplicitAnywhere, "Set this property to 1 to enable explicit fold points anywhere, not just in line comments."); DefineProperty("fold.compact", &OptionsBasic::foldCompact); DefineWordListSets(wordListDescriptions); } }; class LexerBasic : public DefaultLexer { char comment_char; int (*CheckFoldPoint)(char const *, int &); WordList keywordlists[4]; OptionsBasic options; OptionSetBasic osBasic; public: LexerBasic(char comment_char_, int (*CheckFoldPoint_)(char const *, int &), const char * const wordListDescriptions[]) : comment_char(comment_char_), CheckFoldPoint(CheckFoldPoint_), osBasic(wordListDescriptions) { } virtual ~LexerBasic() { } void SCI_METHOD Release() override { delete this; } int SCI_METHOD Version() const override { return lvOriginal; } const char * SCI_METHOD PropertyNames() override { return osBasic.PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return osBasic.PropertyType(name); } const char * SCI_METHOD DescribeProperty(const char *name) override { return osBasic.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override; const char * SCI_METHOD DescribeWordListSets() override { return osBasic.DescribeWordListSets(); } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void * SCI_METHOD PrivateCall(int, void *) override { return 0; } static ILexer *LexerFactoryBlitzBasic() { return new LexerBasic(';', CheckBlitzFoldPoint, blitzbasicWordListDesc); } static ILexer *LexerFactoryPureBasic() { return new LexerBasic(';', CheckPureFoldPoint, purebasicWordListDesc); } static ILexer *LexerFactoryFreeBasic() { return new LexerBasic('\'', CheckFreeFoldPoint, freebasicWordListDesc ); } }; Sci_Position SCI_METHOD LexerBasic::PropertySet(const char *key, const char *val) { if (osBasic.PropertySet(&options, key, val)) { return 0; } return -1; } Sci_Position SCI_METHOD LexerBasic::WordListSet(int n, const char *wl) { WordList *wordListN = 0; switch (n) { case 0: wordListN = &keywordlists[0]; break; case 1: wordListN = &keywordlists[1]; break; case 2: wordListN = &keywordlists[2]; break; case 3: wordListN = &keywordlists[3]; break; } Sci_Position firstModification = -1; if (wordListN) { WordList wlNew; wlNew.Set(wl); if (*wordListN != wlNew) { wordListN->Set(wl); firstModification = 0; } } return firstModification; } void SCI_METHOD LexerBasic::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { LexAccessor styler(pAccess); bool wasfirst = true, isfirst = true; // true if first token in a line styler.StartAt(startPos); int styleBeforeKeyword = SCE_B_DEFAULT; StyleContext sc(startPos, length, initStyle, styler); // Can't use sc.More() here else we miss the last character for (; ; sc.Forward()) { if (sc.state == SCE_B_IDENTIFIER) { if (!IsIdentifier(sc.ch)) { // Labels if (wasfirst && sc.Match(':')) { sc.ChangeState(SCE_B_LABEL); sc.ForwardSetState(SCE_B_DEFAULT); } else { char s[100]; int kstates[4] = { SCE_B_KEYWORD, SCE_B_KEYWORD2, SCE_B_KEYWORD3, SCE_B_KEYWORD4, }; sc.GetCurrentLowered(s, sizeof(s)); for (int i = 0; i < 4; i++) { if (keywordlists[i].InList(s)) { sc.ChangeState(kstates[i]); } } // Types, must set them as operator else they will be // matched as number/constant if (sc.Match('.') || sc.Match('$') || sc.Match('%') || sc.Match('#')) { sc.SetState(SCE_B_OPERATOR); } else { sc.SetState(SCE_B_DEFAULT); } } } } else if (sc.state == SCE_B_OPERATOR) { if (!IsOperator(sc.ch) || sc.Match('#')) sc.SetState(SCE_B_DEFAULT); } else if (sc.state == SCE_B_LABEL) { if (!IsIdentifier(sc.ch)) sc.SetState(SCE_B_DEFAULT); } else if (sc.state == SCE_B_CONSTANT) { if (!IsIdentifier(sc.ch)) sc.SetState(SCE_B_DEFAULT); } else if (sc.state == SCE_B_NUMBER) { if (!IsDigit(sc.ch)) sc.SetState(SCE_B_DEFAULT); } else if (sc.state == SCE_B_HEXNUMBER) { if (!IsHexDigit(sc.ch)) sc.SetState(SCE_B_DEFAULT); } else if (sc.state == SCE_B_BINNUMBER) { if (!IsBinDigit(sc.ch)) sc.SetState(SCE_B_DEFAULT); } else if (sc.state == SCE_B_STRING) { if (sc.ch == '"') { sc.ForwardSetState(SCE_B_DEFAULT); } if (sc.atLineEnd) { sc.ChangeState(SCE_B_ERROR); sc.SetState(SCE_B_DEFAULT); } } else if (sc.state == SCE_B_COMMENT || sc.state == SCE_B_PREPROCESSOR) { if (sc.atLineEnd) { sc.SetState(SCE_B_DEFAULT); } } else if (sc.state == SCE_B_DOCLINE) { if (sc.atLineEnd) { sc.SetState(SCE_B_DEFAULT); } else if (sc.ch == '\\' || sc.ch == '@') { if (IsLetter(sc.chNext) && sc.chPrev != '\\') { styleBeforeKeyword = sc.state; sc.SetState(SCE_B_DOCKEYWORD); }; } } else if (sc.state == SCE_B_DOCKEYWORD) { if (IsSpace(sc.ch)) { sc.SetState(styleBeforeKeyword); } else if (sc.atLineEnd && styleBeforeKeyword == SCE_B_DOCLINE) { sc.SetState(SCE_B_DEFAULT); } } else if (sc.state == SCE_B_COMMENTBLOCK) { if (sc.Match("\'/")) { sc.Forward(); sc.ForwardSetState(SCE_B_DEFAULT); } } else if (sc.state == SCE_B_DOCBLOCK) { if (sc.Match("\'/")) { sc.Forward(); sc.ForwardSetState(SCE_B_DEFAULT); } else if (sc.ch == '\\' || sc.ch == '@') { if (IsLetter(sc.chNext) && sc.chPrev != '\\') { styleBeforeKeyword = sc.state; sc.SetState(SCE_B_DOCKEYWORD); }; } } if (sc.atLineStart) isfirst = true; if (sc.state == SCE_B_DEFAULT || sc.state == SCE_B_ERROR) { if (isfirst && sc.Match('.') && comment_char != '\'') { sc.SetState(SCE_B_LABEL); } else if (isfirst && sc.Match('#')) { wasfirst = isfirst; sc.SetState(SCE_B_IDENTIFIER); } else if (sc.Match(comment_char)) { // Hack to make deprecated QBASIC '$Include show // up in freebasic with SCE_B_PREPROCESSOR. if (comment_char == '\'' && sc.Match(comment_char, '$')) sc.SetState(SCE_B_PREPROCESSOR); else if (sc.Match("\'*") || sc.Match("\'!")) { sc.SetState(SCE_B_DOCLINE); } else { sc.SetState(SCE_B_COMMENT); } } else if (sc.Match("/\'")) { if (sc.Match("/\'*") || sc.Match("/\'!")) { // Support of gtk-doc/Doxygen doc. style sc.SetState(SCE_B_DOCBLOCK); } else { sc.SetState(SCE_B_COMMENTBLOCK); } sc.Forward(); // Eat the ' so it isn't used for the end of the comment } else if (sc.Match('"')) { sc.SetState(SCE_B_STRING); } else if (IsDigit(sc.ch)) { sc.SetState(SCE_B_NUMBER); } else if (sc.Match('$') || sc.Match("&h") || sc.Match("&H") || sc.Match("&o") || sc.Match("&O")) { sc.SetState(SCE_B_HEXNUMBER); } else if (sc.Match('%') || sc.Match("&b") || sc.Match("&B")) { sc.SetState(SCE_B_BINNUMBER); } else if (sc.Match('#')) { sc.SetState(SCE_B_CONSTANT); } else if (IsOperator(sc.ch)) { sc.SetState(SCE_B_OPERATOR); } else if (IsIdentifier(sc.ch)) { wasfirst = isfirst; sc.SetState(SCE_B_IDENTIFIER); } else if (!IsSpace(sc.ch)) { sc.SetState(SCE_B_ERROR); } } if (!IsSpace(sc.ch)) isfirst = false; if (!sc.More()) break; } sc.Complete(); } void SCI_METHOD LexerBasic::Fold(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, IDocument *pAccess) { if (!options.fold) return; LexAccessor styler(pAccess); Sci_Position line = styler.GetLine(startPos); int level = styler.LevelAt(line); int go = 0, done = 0; Sci_Position endPos = startPos + length; char word[256]; int wordlen = 0; const bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty(); int cNext = styler[startPos]; // Scan for tokens at the start of the line (they may include // whitespace, for tokens like "End Function" for (Sci_Position i = startPos; i < endPos; i++) { int c = cNext; cNext = styler.SafeGetCharAt(i + 1); bool atEOL = (c == '\r' && cNext != '\n') || (c == '\n'); if (options.foldSyntaxBased && !done && !go) { if (wordlen) { // are we scanning a token already? word[wordlen] = static_cast(LowerCase(c)); if (!IsIdentifier(c)) { // done with token word[wordlen] = '\0'; go = CheckFoldPoint(word, level); if (!go) { // Treat any whitespace as single blank, for // things like "End Function". if (IsSpace(c) && IsIdentifier(word[wordlen - 1])) { word[wordlen] = ' '; if (wordlen < 255) wordlen++; } else // done with this line done = 1; } } else if (wordlen < 255) { wordlen++; } } else { // start scanning at first non-whitespace character if (!IsSpace(c)) { if (IsIdentifier(c)) { word[0] = static_cast(LowerCase(c)); wordlen = 1; } else // done with this line done = 1; } } } if (options.foldCommentExplicit && ((styler.StyleAt(i) == SCE_B_COMMENT) || options.foldExplicitAnywhere)) { if (userDefinedFoldMarkers) { if (styler.Match(i, options.foldExplicitStart.c_str())) { level |= SC_FOLDLEVELHEADERFLAG; go = 1; } else if (styler.Match(i, options.foldExplicitEnd.c_str())) { go = -1; } } else { if (c == comment_char) { if (cNext == '{') { level |= SC_FOLDLEVELHEADERFLAG; go = 1; } else if (cNext == '}') { go = -1; } } } } if (atEOL) { // line end if (!done && wordlen == 0 && options.foldCompact) // line was only space level |= SC_FOLDLEVELWHITEFLAG; if (level != styler.LevelAt(line)) styler.SetLevel(line, level); level += go; line++; // reset state wordlen = 0; level &= ~SC_FOLDLEVELHEADERFLAG; level &= ~SC_FOLDLEVELWHITEFLAG; go = 0; done = 0; } } } LexerModule lmBlitzBasic(SCLEX_BLITZBASIC, LexerBasic::LexerFactoryBlitzBasic, "blitzbasic", blitzbasicWordListDesc); LexerModule lmPureBasic(SCLEX_PUREBASIC, LexerBasic::LexerFactoryPureBasic, "purebasic", purebasicWordListDesc); LexerModule lmFreeBasic(SCLEX_FREEBASIC, LexerBasic::LexerFactoryFreeBasic, "freebasic", freebasicWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexBatch.cpp ================================================ // Scintilla source code edit control /** @file LexBatch.cxx ** Lexer for batch files. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static bool Is0To9(char ch) { return (ch >= '0') && (ch <= '9'); } static bool IsAlphabetic(int ch) { return IsASCII(ch) && isalpha(ch); } static inline bool AtEOL(Accessor &styler, Sci_PositionU i) { return (styler[i] == '\n') || ((styler[i] == '\r') && (styler.SafeGetCharAt(i + 1) != '\n')); } // Tests for BATCH Operators static bool IsBOperator(char ch) { return (ch == '=') || (ch == '+') || (ch == '>') || (ch == '<') || (ch == '|') || (ch == '?') || (ch == '*'); } // Tests for BATCH Separators static bool IsBSeparator(char ch) { return (ch == '\\') || (ch == '.') || (ch == ';') || (ch == '\"') || (ch == '\'') || (ch == '/'); } static void ColouriseBatchLine( char *lineBuffer, Sci_PositionU lengthLine, Sci_PositionU startLine, Sci_PositionU endPos, WordList *keywordlists[], Accessor &styler) { Sci_PositionU offset = 0; // Line Buffer Offset Sci_PositionU cmdLoc; // External Command / Program Location char wordBuffer[81]; // Word Buffer - large to catch long paths Sci_PositionU wbl; // Word Buffer Length Sci_PositionU wbo; // Word Buffer Offset - also Special Keyword Buffer Length WordList &keywords = *keywordlists[0]; // Internal Commands WordList &keywords2 = *keywordlists[1]; // External Commands (optional) // CHOICE, ECHO, GOTO, PROMPT and SET have Default Text that may contain Regular Keywords // Toggling Regular Keyword Checking off improves readability // Other Regular Keywords and External Commands / Programs might also benefit from toggling // Need a more robust algorithm to properly toggle Regular Keyword Checking bool continueProcessing = true; // Used to toggle Regular Keyword Checking // Special Keywords are those that allow certain characters without whitespace after the command // Examples are: cd. cd\ md. rd. dir| dir> echo: echo. path= // Special Keyword Buffer used to determine if the first n characters is a Keyword char sKeywordBuffer[10]; // Special Keyword Buffer bool sKeywordFound; // Exit Special Keyword for-loop if found // Skip initial spaces while ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) { offset++; } // Colorize Default Text styler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT); // Set External Command / Program Location cmdLoc = offset; // Check for Fake Label (Comment) or Real Label - return if found if (lineBuffer[offset] == ':') { if (lineBuffer[offset + 1] == ':') { // Colorize Fake Label (Comment) - :: is similar to REM, see http://content.techweb.com/winmag/columns/explorer/2000/21.htm styler.ColourTo(endPos, SCE_BAT_COMMENT); } else { // Colorize Real Label styler.ColourTo(endPos, SCE_BAT_LABEL); } return; // Check for Drive Change (Drive Change is internal command) - return if found } else if ((IsAlphabetic(lineBuffer[offset])) && (lineBuffer[offset + 1] == ':') && ((isspacechar(lineBuffer[offset + 2])) || (((lineBuffer[offset + 2] == '\\')) && (isspacechar(lineBuffer[offset + 3]))))) { // Colorize Regular Keyword styler.ColourTo(endPos, SCE_BAT_WORD); return; } // Check for Hide Command (@ECHO OFF/ON) if (lineBuffer[offset] == '@') { styler.ColourTo(startLine + offset, SCE_BAT_HIDE); offset++; } // Skip next spaces while ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) { offset++; } // Read remainder of line word-at-a-time or remainder-of-word-at-a-time while (offset < lengthLine) { if (offset > startLine) { // Colorize Default Text styler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT); } // Copy word from Line Buffer into Word Buffer wbl = 0; for (; offset < lengthLine && wbl < 80 && !isspacechar(lineBuffer[offset]); wbl++, offset++) { wordBuffer[wbl] = static_cast(tolower(lineBuffer[offset])); } wordBuffer[wbl] = '\0'; wbo = 0; // Check for Comment - return if found if (CompareCaseInsensitive(wordBuffer, "rem") == 0) { styler.ColourTo(endPos, SCE_BAT_COMMENT); return; } // Check for Separator if (IsBSeparator(wordBuffer[0])) { // Check for External Command / Program if ((cmdLoc == offset - wbl) && ((wordBuffer[0] == ':') || (wordBuffer[0] == '\\') || (wordBuffer[0] == '.'))) { // Reset Offset to re-process remainder of word offset -= (wbl - 1); // Colorize External Command / Program if (!keywords2) { styler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND); } else if (keywords2.InList(wordBuffer)) { styler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND); } else { styler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT); } // Reset External Command / Program Location cmdLoc = offset; } else { // Reset Offset to re-process remainder of word offset -= (wbl - 1); // Colorize Default Text styler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT); } // Check for Regular Keyword in list } else if ((keywords.InList(wordBuffer)) && (continueProcessing)) { // ECHO, GOTO, PROMPT and SET require no further Regular Keyword Checking if ((CompareCaseInsensitive(wordBuffer, "echo") == 0) || (CompareCaseInsensitive(wordBuffer, "goto") == 0) || (CompareCaseInsensitive(wordBuffer, "prompt") == 0) || (CompareCaseInsensitive(wordBuffer, "set") == 0)) { continueProcessing = false; } // Identify External Command / Program Location for ERRORLEVEL, and EXIST if ((CompareCaseInsensitive(wordBuffer, "errorlevel") == 0) || (CompareCaseInsensitive(wordBuffer, "exist") == 0)) { // Reset External Command / Program Location cmdLoc = offset; // Skip next spaces while ((cmdLoc < lengthLine) && (isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } // Skip comparison while ((cmdLoc < lengthLine) && (!isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } // Skip next spaces while ((cmdLoc < lengthLine) && (isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } // Identify External Command / Program Location for CALL, DO, LOADHIGH and LH } else if ((CompareCaseInsensitive(wordBuffer, "call") == 0) || (CompareCaseInsensitive(wordBuffer, "do") == 0) || (CompareCaseInsensitive(wordBuffer, "loadhigh") == 0) || (CompareCaseInsensitive(wordBuffer, "lh") == 0)) { // Reset External Command / Program Location cmdLoc = offset; // Skip next spaces while ((cmdLoc < lengthLine) && (isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } } // Colorize Regular keyword styler.ColourTo(startLine + offset - 1, SCE_BAT_WORD); // No need to Reset Offset // Check for Special Keyword in list, External Command / Program, or Default Text } else if ((wordBuffer[0] != '%') && (wordBuffer[0] != '!') && (!IsBOperator(wordBuffer[0])) && (continueProcessing)) { // Check for Special Keyword // Affected Commands are in Length range 2-6 // Good that ERRORLEVEL, EXIST, CALL, DO, LOADHIGH, and LH are unaffected sKeywordFound = false; for (Sci_PositionU keywordLength = 2; keywordLength < wbl && keywordLength < 7 && !sKeywordFound; keywordLength++) { wbo = 0; // Copy Keyword Length from Word Buffer into Special Keyword Buffer for (; wbo < keywordLength; wbo++) { sKeywordBuffer[wbo] = static_cast(wordBuffer[wbo]); } sKeywordBuffer[wbo] = '\0'; // Check for Special Keyword in list if ((keywords.InList(sKeywordBuffer)) && ((IsBOperator(wordBuffer[wbo])) || (IsBSeparator(wordBuffer[wbo])))) { sKeywordFound = true; // ECHO requires no further Regular Keyword Checking if (CompareCaseInsensitive(sKeywordBuffer, "echo") == 0) { continueProcessing = false; } // Colorize Special Keyword as Regular Keyword styler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_WORD); // Reset Offset to re-process remainder of word offset -= (wbl - wbo); } } // Check for External Command / Program or Default Text if (!sKeywordFound) { wbo = 0; // Check for External Command / Program if (cmdLoc == offset - wbl) { // Read up to %, Operator or Separator while ((wbo < wbl) && (wordBuffer[wbo] != '%') && (wordBuffer[wbo] != '!') && (!IsBOperator(wordBuffer[wbo])) && (!IsBSeparator(wordBuffer[wbo]))) { wbo++; } // Reset External Command / Program Location cmdLoc = offset - (wbl - wbo); // Reset Offset to re-process remainder of word offset -= (wbl - wbo); // CHOICE requires no further Regular Keyword Checking if (CompareCaseInsensitive(wordBuffer, "choice") == 0) { continueProcessing = false; } // Check for START (and its switches) - What follows is External Command \ Program if (CompareCaseInsensitive(wordBuffer, "start") == 0) { // Reset External Command / Program Location cmdLoc = offset; // Skip next spaces while ((cmdLoc < lengthLine) && (isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } // Reset External Command / Program Location if command switch detected if (lineBuffer[cmdLoc] == '/') { // Skip command switch while ((cmdLoc < lengthLine) && (!isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } // Skip next spaces while ((cmdLoc < lengthLine) && (isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } } } // Colorize External Command / Program if (!keywords2) { styler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND); } else if (keywords2.InList(wordBuffer)) { styler.ColourTo(startLine + offset - 1, SCE_BAT_COMMAND); } else { styler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT); } // No need to Reset Offset // Check for Default Text } else { // Read up to %, Operator or Separator while ((wbo < wbl) && (wordBuffer[wbo] != '%') && (wordBuffer[wbo] != '!') && (!IsBOperator(wordBuffer[wbo])) && (!IsBSeparator(wordBuffer[wbo]))) { wbo++; } // Colorize Default Text styler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_DEFAULT); // Reset Offset to re-process remainder of word offset -= (wbl - wbo); } } // Check for Argument (%n), Environment Variable (%x...%) or Local Variable (%%a) } else if (wordBuffer[0] == '%') { // Colorize Default Text styler.ColourTo(startLine + offset - 1 - wbl, SCE_BAT_DEFAULT); wbo++; // Search to end of word for second % (can be a long path) while ((wbo < wbl) && (wordBuffer[wbo] != '%') && (!IsBOperator(wordBuffer[wbo])) && (!IsBSeparator(wordBuffer[wbo]))) { wbo++; } // Check for Argument (%n) or (%*) if (((Is0To9(wordBuffer[1])) || (wordBuffer[1] == '*')) && (wordBuffer[wbo] != '%')) { // Check for External Command / Program if (cmdLoc == offset - wbl) { cmdLoc = offset - (wbl - 2); } // Colorize Argument styler.ColourTo(startLine + offset - 1 - (wbl - 2), SCE_BAT_IDENTIFIER); // Reset Offset to re-process remainder of word offset -= (wbl - 2); // Check for Expanded Argument (%~...) / Variable (%%~...) } else if (((wbl > 1) && (wordBuffer[1] == '~')) || ((wbl > 2) && (wordBuffer[1] == '%') && (wordBuffer[2] == '~'))) { // Check for External Command / Program if (cmdLoc == offset - wbl) { cmdLoc = offset - (wbl - wbo); } // Colorize Expanded Argument / Variable styler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_IDENTIFIER); // Reset Offset to re-process remainder of word offset -= (wbl - wbo); // Check for Environment Variable (%x...%) } else if ((wordBuffer[1] != '%') && (wordBuffer[wbo] == '%')) { wbo++; // Check for External Command / Program if (cmdLoc == offset - wbl) { cmdLoc = offset - (wbl - wbo); } // Colorize Environment Variable styler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_IDENTIFIER); // Reset Offset to re-process remainder of word offset -= (wbl - wbo); // Check for Local Variable (%%a) } else if ( (wbl > 2) && (wordBuffer[1] == '%') && (wordBuffer[2] != '%') && (!IsBOperator(wordBuffer[2])) && (!IsBSeparator(wordBuffer[2]))) { // Check for External Command / Program if (cmdLoc == offset - wbl) { cmdLoc = offset - (wbl - 3); } // Colorize Local Variable styler.ColourTo(startLine + offset - 1 - (wbl - 3), SCE_BAT_IDENTIFIER); // Reset Offset to re-process remainder of word offset -= (wbl - 3); } // Check for Environment Variable (!x...!) } else if (wordBuffer[0] == '!') { // Colorize Default Text styler.ColourTo(startLine + offset - 1 - wbl, SCE_BAT_DEFAULT); wbo++; // Search to end of word for second ! (can be a long path) while ((wbo < wbl) && (wordBuffer[wbo] != '!') && (!IsBOperator(wordBuffer[wbo])) && (!IsBSeparator(wordBuffer[wbo]))) { wbo++; } if (wordBuffer[wbo] == '!') { wbo++; // Check for External Command / Program if (cmdLoc == offset - wbl) { cmdLoc = offset - (wbl - wbo); } // Colorize Environment Variable styler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_IDENTIFIER); // Reset Offset to re-process remainder of word offset -= (wbl - wbo); } // Check for Operator } else if (IsBOperator(wordBuffer[0])) { // Colorize Default Text styler.ColourTo(startLine + offset - 1 - wbl, SCE_BAT_DEFAULT); // Check for Comparison Operator if ((wordBuffer[0] == '=') && (wordBuffer[1] == '=')) { // Identify External Command / Program Location for IF cmdLoc = offset; // Skip next spaces while ((cmdLoc < lengthLine) && (isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } // Colorize Comparison Operator styler.ColourTo(startLine + offset - 1 - (wbl - 2), SCE_BAT_OPERATOR); // Reset Offset to re-process remainder of word offset -= (wbl - 2); // Check for Pipe Operator } else if (wordBuffer[0] == '|') { // Reset External Command / Program Location cmdLoc = offset - wbl + 1; // Skip next spaces while ((cmdLoc < lengthLine) && (isspacechar(lineBuffer[cmdLoc]))) { cmdLoc++; } // Colorize Pipe Operator styler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_BAT_OPERATOR); // Reset Offset to re-process remainder of word offset -= (wbl - 1); // Check for Other Operator } else { // Check for > Operator if (wordBuffer[0] == '>') { // Turn Keyword and External Command / Program checking back on continueProcessing = true; } // Colorize Other Operator styler.ColourTo(startLine + offset - 1 - (wbl - 1), SCE_BAT_OPERATOR); // Reset Offset to re-process remainder of word offset -= (wbl - 1); } // Check for Default Text } else { // Read up to %, Operator or Separator while ((wbo < wbl) && (wordBuffer[wbo] != '%') && (wordBuffer[wbo] != '!') && (!IsBOperator(wordBuffer[wbo])) && (!IsBSeparator(wordBuffer[wbo]))) { wbo++; } // Colorize Default Text styler.ColourTo(startLine + offset - 1 - (wbl - wbo), SCE_BAT_DEFAULT); // Reset Offset to re-process remainder of word offset -= (wbl - wbo); } // Skip next spaces - nothing happens if Offset was Reset while ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) { offset++; } } // Colorize Default Text for remainder of line - currently not lexed styler.ColourTo(endPos, SCE_BAT_DEFAULT); } static void ColouriseBatchDoc( Sci_PositionU startPos, Sci_Position length, int /*initStyle*/, WordList *keywordlists[], Accessor &styler) { char lineBuffer[1024]; styler.StartAt(startPos); styler.StartSegment(startPos); Sci_PositionU linePos = 0; Sci_PositionU startLine = startPos; for (Sci_PositionU i = startPos; i < startPos + length; i++) { lineBuffer[linePos++] = styler[i]; if (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) { // End of line (or of line buffer) met, colourise it lineBuffer[linePos] = '\0'; ColouriseBatchLine(lineBuffer, linePos, startLine, i, keywordlists, styler); linePos = 0; startLine = i + 1; } } if (linePos > 0) { // Last line does not have ending characters lineBuffer[linePos] = '\0'; ColouriseBatchLine(lineBuffer, linePos, startLine, startPos + length - 1, keywordlists, styler); } } static const char *const batchWordListDesc[] = { "Internal Commands", "External Commands", 0 }; LexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc, "batch", 0, batchWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexBibTeX.cpp ================================================ // Copyright 2008-2010 Sergiu Dotenco. The License.txt file describes the // conditions under which this software may be distributed. /** * @file LexBibTeX.cxx * @brief General BibTeX coloring scheme. * @author Sergiu Dotenco * @date April 18, 2009 */ #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "PropSetSimple.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; namespace { bool IsAlphabetic(unsigned int ch) { return IsASCII(ch) && std::isalpha(ch) != 0; } bool IsAlphaNumeric(char ch) { return IsASCII(ch) && std::isalnum(ch); } bool EqualCaseInsensitive(const char* a, const char* b) { return CompareCaseInsensitive(a, b) == 0; } bool EntryWithoutKey(const char* name) { return EqualCaseInsensitive(name,"string"); } char GetClosingBrace(char openbrace) { char result = openbrace; switch (openbrace) { case '(': result = ')'; break; case '{': result = '}'; break; } return result; } bool IsEntryStart(char prev, char ch) { return prev != '\\' && ch == '@'; } bool IsEntryStart(const StyleContext& sc) { return IsEntryStart(sc.chPrev, sc.ch); } void ColorizeBibTeX(Sci_PositionU start_pos, Sci_Position length, int /*init_style*/, WordList* keywordlists[], Accessor& styler) { WordList &EntryNames = *keywordlists[0]; bool fold_compact = styler.GetPropertyInt("fold.compact", 1) != 0; std::string buffer; buffer.reserve(25); // We always colorize a section from the beginning, so let's // search for the @ character which isn't escaped, i.e. \@ while (start_pos > 0 && !IsEntryStart(styler.SafeGetCharAt(start_pos - 1), styler.SafeGetCharAt(start_pos))) { --start_pos; ++length; } styler.StartAt(start_pos); styler.StartSegment(start_pos); Sci_Position current_line = styler.GetLine(start_pos); int prev_level = styler.LevelAt(current_line) & SC_FOLDLEVELNUMBERMASK; int current_level = prev_level; int visible_chars = 0; bool in_comment = false ; StyleContext sc(start_pos, length, SCE_BIBTEX_DEFAULT, styler); bool going = sc.More(); // needed because of a fuzzy end of file state char closing_brace = 0; bool collect_entry_name = false; for (; going; sc.Forward()) { if (!sc.More()) going = false; // we need to go one behind the end of text if (in_comment) { if (sc.atLineEnd) { sc.SetState(SCE_BIBTEX_DEFAULT); in_comment = false; } } else { // Found @entry if (IsEntryStart(sc)) { sc.SetState(SCE_BIBTEX_UNKNOWN_ENTRY); sc.Forward(); ++current_level; buffer.clear(); collect_entry_name = true; } else if ((sc.state == SCE_BIBTEX_ENTRY || sc.state == SCE_BIBTEX_UNKNOWN_ENTRY) && (sc.ch == '{' || sc.ch == '(')) { // Entry name colorization done // Found either a { or a ( after entry's name, e.g. @entry(...) @entry{...} // Closing counterpart needs to be stored. closing_brace = GetClosingBrace(sc.ch); sc.SetState(SCE_BIBTEX_DEFAULT); // Don't colorize { ( // @string doesn't have any key if (EntryWithoutKey(buffer.c_str())) sc.ForwardSetState(SCE_BIBTEX_PARAMETER); else sc.ForwardSetState(SCE_BIBTEX_KEY); // Key/label colorization } // Need to handle the case where entry's key is empty // e.g. @book{,...} if (sc.state == SCE_BIBTEX_KEY && sc.ch == ',') { // Key/label colorization done sc.SetState(SCE_BIBTEX_DEFAULT); // Don't colorize the , sc.ForwardSetState(SCE_BIBTEX_PARAMETER); // Parameter colorization } else if (sc.state == SCE_BIBTEX_PARAMETER && sc.ch == '=') { sc.SetState(SCE_BIBTEX_DEFAULT); // Don't colorize the = sc.ForwardSetState(SCE_BIBTEX_VALUE); // Parameter value colorization Sci_Position start = sc.currentPos; // We need to handle multiple situations: // 1. name"one two {three}" // 2. name={one {one two {two}} three} // 3. year=2005 // Skip ", { until we encounter the first alphanumerical character while (sc.More() && !(IsAlphaNumeric(sc.ch) || sc.ch == '"' || sc.ch == '{')) sc.Forward(); if (sc.More()) { // Store " or { char ch = sc.ch; // Not interested in alphanumerical characters if (IsAlphaNumeric(ch)) ch = 0; int skipped = 0; if (ch) { // Skip preceding " or { such as in name={{test}}. // Remember how many characters have been skipped // Make sure that empty values, i.e. "" are also handled correctly while (sc.More() && (sc.ch == ch && (ch != '"' || skipped < 1))) { sc.Forward(); ++skipped; } } // Closing counterpart for " is the same character if (ch == '{') ch = '}'; // We have reached the parameter value // In case the open character was a alnum char, skip until , is found // otherwise until skipped == 0 while (sc.More() && (skipped > 0 || (!ch && !(sc.ch == ',' || sc.ch == closing_brace)))) { // Make sure the character isn't escaped if (sc.chPrev != '\\') { // Parameter value contains a { which is the 2nd case described above if (sc.ch == '{') ++skipped; // Remember it else if (sc.ch == '}') --skipped; else if (skipped == 1 && sc.ch == ch && ch == '"') // Don't ignore cases like {"o} skipped = 0; } sc.Forward(); } } // Don't colorize the , sc.SetState(SCE_BIBTEX_DEFAULT); // Skip until the , or entry's closing closing_brace is found // since this parameter might be the last one while (sc.More() && !(sc.ch == ',' || sc.ch == closing_brace)) sc.Forward(); int state = SCE_BIBTEX_PARAMETER; // The might be more parameters // We've reached the closing closing_brace for the bib entry // in case no " or {} has been used to enclose the value, // as in 3rd case described above if (sc.ch == closing_brace) { --current_level; // Make sure the text between entries is not colored // using parameter's style state = SCE_BIBTEX_DEFAULT; } Sci_Position end = sc.currentPos; current_line = styler.GetLine(end); // We have possibly skipped some lines, so the folding levels // have to be adjusted separately for (Sci_Position i = styler.GetLine(start); i <= styler.GetLine(end); ++i) styler.SetLevel(i, prev_level); sc.ForwardSetState(state); } if (sc.state == SCE_BIBTEX_PARAMETER && sc.ch == closing_brace) { sc.SetState(SCE_BIBTEX_DEFAULT); --current_level; } // Non escaped % found which represents a comment until the end of the line if (sc.chPrev != '\\' && sc.ch == '%') { in_comment = true; sc.SetState(SCE_BIBTEX_COMMENT); } } if (sc.state == SCE_BIBTEX_UNKNOWN_ENTRY || sc.state == SCE_BIBTEX_ENTRY) { if (!IsAlphabetic(sc.ch) && collect_entry_name) collect_entry_name = false; if (collect_entry_name) { buffer += static_cast(tolower(sc.ch)); if (EntryNames.InList(buffer.c_str())) sc.ChangeState(SCE_BIBTEX_ENTRY); else sc.ChangeState(SCE_BIBTEX_UNKNOWN_ENTRY); } } if (sc.atLineEnd) { int level = prev_level; if (visible_chars == 0 && fold_compact) level |= SC_FOLDLEVELWHITEFLAG; if ((current_level > prev_level)) level |= SC_FOLDLEVELHEADERFLAG; // else if (current_level < prev_level) // level |= SC_FOLDLEVELBOXFOOTERFLAG; // Deprecated if (level != styler.LevelAt(current_line)) { styler.SetLevel(current_line, level); } ++current_line; prev_level = current_level; visible_chars = 0; } if (!isspacechar(sc.ch)) ++visible_chars; } sc.Complete(); // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(current_line) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(current_line, prev_level | flagsNext); } } static const char * const BibTeXWordLists[] = { "Entry Names", 0, }; LexerModule lmBibTeX(SCLEX_BIBTEX, ColorizeBibTeX, "bib", 0, BibTeXWordLists); // Entry Names // article, book, booklet, conference, inbook, // incollection, inproceedings, manual, mastersthesis, // misc, phdthesis, proceedings, techreport, unpublished, // string, url ================================================ FILE: src/qscint/scintilla/lexers/LexBullant.cpp ================================================ // SciTE - Scintilla based Text Editor // LexBullant.cxx - lexer for Bullant #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static int classifyWordBullant(Sci_PositionU start, Sci_PositionU end, WordList &keywords, Accessor &styler) { char s[100]; s[0] = '\0'; for (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) { s[i] = static_cast(tolower(styler[start + i])); s[i + 1] = '\0'; } int lev= 0; char chAttr = SCE_C_IDENTIFIER; if (isdigit(s[0]) || (s[0] == '.')){ chAttr = SCE_C_NUMBER; } else { if (keywords.InList(s)) { chAttr = SCE_C_WORD; if (strcmp(s, "end") == 0) lev = -1; else if (strcmp(s, "method") == 0 || strcmp(s, "case") == 0 || strcmp(s, "class") == 0 || strcmp(s, "debug") == 0 || strcmp(s, "test") == 0 || strcmp(s, "if") == 0 || strcmp(s, "lock") == 0 || strcmp(s, "transaction") == 0 || strcmp(s, "trap") == 0 || strcmp(s, "until") == 0 || strcmp(s, "while") == 0) lev = 1; } } styler.ColourTo(end, chAttr); return lev; } static void ColouriseBullantDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; styler.StartAt(startPos); bool fold = styler.GetPropertyInt("fold") != 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; int state = initStyle; if (state == SCE_C_STRINGEOL) // Does not leak onto next line state = SCE_C_DEFAULT; char chPrev = ' '; char chNext = styler[startPos]; Sci_PositionU lengthDoc = startPos + length; int visibleChars = 0; styler.StartSegment(startPos); int endFoundThisLine = 0; for (Sci_PositionU i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if ((ch == '\r' && chNext != '\n') || (ch == '\n')) { // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix) // Avoid triggering two times on Dos/Win // End of line endFoundThisLine = 0; if (state == SCE_C_STRINGEOL) { styler.ColourTo(i, state); state = SCE_C_DEFAULT; } if (fold) { int lev = levelPrev; if (visibleChars == 0) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; styler.SetLevel(lineCurrent, lev); lineCurrent++; levelPrev = levelCurrent; } visibleChars = 0; /* int indentBlock = GetLineIndentation(lineCurrent); if (blockChange==1){ lineCurrent++; int pos=SetLineIndentation(lineCurrent, indentBlock + indentSize); } else if (blockChange==-1) { indentBlock -= indentSize; if (indentBlock < 0) indentBlock = 0; SetLineIndentation(lineCurrent, indentBlock); lineCurrent++; } blockChange=0; */ } if (!(IsASCII(ch) && isspace(ch))) visibleChars++; if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); chPrev = ' '; i += 1; continue; } if (state == SCE_C_DEFAULT) { if (iswordstart(ch)) { styler.ColourTo(i-1, state); state = SCE_C_IDENTIFIER; } else if (ch == '@' && chNext == 'o') { if ((styler.SafeGetCharAt(i+2) =='f') && (styler.SafeGetCharAt(i+3) == 'f')) { styler.ColourTo(i-1, state); state = SCE_C_COMMENT; } } else if (ch == '#') { styler.ColourTo(i-1, state); state = SCE_C_COMMENTLINE; } else if (ch == '\"') { styler.ColourTo(i-1, state); state = SCE_C_STRING; } else if (ch == '\'') { styler.ColourTo(i-1, state); state = SCE_C_CHARACTER; } else if (isoperator(ch)) { styler.ColourTo(i-1, state); styler.ColourTo(i, SCE_C_OPERATOR); } } else if (state == SCE_C_IDENTIFIER) { if (!iswordchar(ch)) { int levelChange = classifyWordBullant(styler.GetStartSegment(), i - 1, keywords, styler); state = SCE_C_DEFAULT; chNext = styler.SafeGetCharAt(i + 1); if (ch == '#') { state = SCE_C_COMMENTLINE; } else if (ch == '\"') { state = SCE_C_STRING; } else if (ch == '\'') { state = SCE_C_CHARACTER; } else if (isoperator(ch)) { styler.ColourTo(i, SCE_C_OPERATOR); } if (endFoundThisLine == 0) levelCurrent+=levelChange; if (levelChange == -1) endFoundThisLine=1; } } else if (state == SCE_C_COMMENT) { if (ch == '@' && chNext == 'o') { if (styler.SafeGetCharAt(i+2) == 'n') { styler.ColourTo(i+2, state); state = SCE_C_DEFAULT; i+=2; } } } else if (state == SCE_C_COMMENTLINE) { if (ch == '\r' || ch == '\n') { endFoundThisLine = 0; styler.ColourTo(i-1, state); state = SCE_C_DEFAULT; } } else if (state == SCE_C_STRING) { if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; ch = chNext; chNext = styler.SafeGetCharAt(i + 1); } } else if (ch == '\"') { styler.ColourTo(i, state); state = SCE_C_DEFAULT; } else if (chNext == '\r' || chNext == '\n') { endFoundThisLine = 0; styler.ColourTo(i-1, SCE_C_STRINGEOL); state = SCE_C_STRINGEOL; } } else if (state == SCE_C_CHARACTER) { if ((ch == '\r' || ch == '\n') && (chPrev != '\\')) { endFoundThisLine = 0; styler.ColourTo(i-1, SCE_C_STRINGEOL); state = SCE_C_STRINGEOL; } else if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; ch = chNext; chNext = styler.SafeGetCharAt(i + 1); } } else if (ch == '\'') { styler.ColourTo(i, state); state = SCE_C_DEFAULT; } } chPrev = ch; } styler.ColourTo(lengthDoc - 1, state); // Fill in the real level of the next line, keeping the current flags as they will be filled in later if (fold) { int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; //styler.SetLevel(lineCurrent, levelCurrent | flagsNext); styler.SetLevel(lineCurrent, levelPrev | flagsNext); } } static const char * const bullantWordListDesc[] = { "Keywords", 0 }; LexerModule lmBullant(SCLEX_BULLANT, ColouriseBullantDoc, "bullant", 0, bullantWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexCLW.cpp ================================================ // Scintilla source code edit control /** @file LexClw.cxx ** Lexer for Clarion. ** 2004/12/17 Updated Lexer **/ // Copyright 2003-2004 by Ron Schofield // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; // Is an end of line character inline bool IsEOL(const int ch) { return(ch == '\n'); } // Convert character to uppercase static char CharacterUpper(char chChar) { if (chChar < 'a' || chChar > 'z') { return(chChar); } else { return(static_cast(chChar - 'a' + 'A')); } } // Convert string to uppercase static void StringUpper(char *szString) { while (*szString) { *szString = CharacterUpper(*szString); szString++; } } // Is a label start character inline bool IsALabelStart(const int iChar) { return(isalpha(iChar) || iChar == '_'); } // Is a label character inline bool IsALabelCharacter(const int iChar) { return(isalnum(iChar) || iChar == '_' || iChar == ':'); } // Is the character is a ! and the the next character is not a ! inline bool IsACommentStart(const int iChar) { return(iChar == '!'); } // Is the character a Clarion hex character (ABCDEF) inline bool IsAHexCharacter(const int iChar, bool bCaseSensitive) { // Case insensitive. if (!bCaseSensitive) { if (strchr("ABCDEFabcdef", iChar) != NULL) { return(true); } } // Case sensitive else { if (strchr("ABCDEF", iChar) != NULL) { return(true); } } return(false); } // Is the character a Clarion base character (B=Binary, O=Octal, H=Hex) inline bool IsANumericBaseCharacter(const int iChar, bool bCaseSensitive) { // Case insensitive. if (!bCaseSensitive) { // If character is a numeric base character if (strchr("BOHboh", iChar) != NULL) { return(true); } } // Case sensitive else { // If character is a numeric base character if (strchr("BOH", iChar) != NULL) { return(true); } } return(false); } // Set the correct numeric constant state inline bool SetNumericConstantState(StyleContext &scDoc) { int iPoints = 0; // Point counter char cNumericString[512]; // Numeric string buffer // Buffer the current numberic string scDoc.GetCurrent(cNumericString, sizeof(cNumericString)); // Loop through the string until end of string (NULL termination) for (int iIndex = 0; cNumericString[iIndex] != '\0'; iIndex++) { // Depending on the character switch (cNumericString[iIndex]) { // Is a . (point) case '.' : // Increment point counter iPoints++; break; default : break; } } // If points found (can be more than one for improper formatted number if (iPoints > 0) { return(true); } // Else no points found else { return(false); } } // Get the next word in uppercase from the current position (keyword lookahead) inline bool GetNextWordUpper(Accessor &styler, Sci_PositionU uiStartPos, Sci_Position iLength, char *cWord) { Sci_PositionU iIndex = 0; // Buffer Index // Loop through the remaining string from the current position for (Sci_Position iOffset = uiStartPos; iOffset < iLength; iOffset++) { // Get the character from the buffer using the offset char cCharacter = styler[iOffset]; if (IsEOL(cCharacter)) { break; } // If the character is alphabet character if (isalpha(cCharacter)) { // Add UPPERCASE character to the word buffer cWord[iIndex++] = CharacterUpper(cCharacter); } } // Add null termination cWord[iIndex] = '\0'; // If no word was found if (iIndex == 0) { // Return failure return(false); } // Else word was found else { // Return success return(true); } } // Clarion Language Colouring Procedure static void ColouriseClarionDoc(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *wlKeywords[], Accessor &accStyler, bool bCaseSensitive) { int iParenthesesLevel = 0; // Parenthese Level int iColumn1Label = false; // Label starts in Column 1 WordList &wlClarionKeywords = *wlKeywords[0]; // Clarion Keywords WordList &wlCompilerDirectives = *wlKeywords[1]; // Compiler Directives WordList &wlRuntimeExpressions = *wlKeywords[2]; // Runtime Expressions WordList &wlBuiltInProcsFuncs = *wlKeywords[3]; // Builtin Procedures and Functions WordList &wlStructsDataTypes = *wlKeywords[4]; // Structures and Data Types WordList &wlAttributes = *wlKeywords[5]; // Procedure Attributes WordList &wlStandardEquates = *wlKeywords[6]; // Standard Equates WordList &wlLabelReservedWords = *wlKeywords[7]; // Clarion Reserved Keywords (Labels) WordList &wlProcLabelReservedWords = *wlKeywords[8]; // Clarion Reserved Keywords (Procedure Labels) const char wlProcReservedKeywordList[] = "PROCEDURE FUNCTION"; WordList wlProcReservedKeywords; wlProcReservedKeywords.Set(wlProcReservedKeywordList); const char wlCompilerKeywordList[] = "COMPILE OMIT"; WordList wlCompilerKeywords; wlCompilerKeywords.Set(wlCompilerKeywordList); const char wlLegacyStatementsList[] = "BOF EOF FUNCTION POINTER SHARE"; WordList wlLegacyStatements; wlLegacyStatements.Set(wlLegacyStatementsList); StyleContext scDoc(uiStartPos, iLength, iInitStyle, accStyler); // lex source code for (; scDoc.More(); scDoc.Forward()) { // // Determine if the current state should terminate. // // Label State Handling if (scDoc.state == SCE_CLW_LABEL) { // If the character is not a valid label if (!IsALabelCharacter(scDoc.ch)) { // If the character is a . (dot syntax) if (scDoc.ch == '.') { // Turn off column 1 label flag as label now cannot be reserved work iColumn1Label = false; // Uncolour the . (dot) to default state, move forward one character, // and change back to the label state. scDoc.SetState(SCE_CLW_DEFAULT); scDoc.Forward(); scDoc.SetState(SCE_CLW_LABEL); } // Else check label else { char cLabel[512]; // Label buffer // Buffer the current label string scDoc.GetCurrent(cLabel,sizeof(cLabel)); // If case insensitive, convert string to UPPERCASE to match passed keywords. if (!bCaseSensitive) { StringUpper(cLabel); } // Else if UPPERCASE label string is in the Clarion compiler keyword list if (wlCompilerKeywords.InList(cLabel) && iColumn1Label){ // change the label to error state scDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE); } // Else if UPPERCASE label string is in the Clarion reserved keyword list else if (wlLabelReservedWords.InList(cLabel) && iColumn1Label){ // change the label to error state scDoc.ChangeState(SCE_CLW_ERROR); } // Else if UPPERCASE label string is else if (wlProcLabelReservedWords.InList(cLabel) && iColumn1Label) { char cWord[512]; // Word buffer // Get the next word from the current position if (GetNextWordUpper(accStyler,scDoc.currentPos,uiStartPos+iLength,cWord)) { // If the next word is a procedure reserved word if (wlProcReservedKeywords.InList(cWord)) { // Change the label to error state scDoc.ChangeState(SCE_CLW_ERROR); } } } // Else if label string is in the compiler directive keyword list else if (wlCompilerDirectives.InList(cLabel)) { // change the state to compiler directive state scDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE); } // Terminate the label state and set to default state scDoc.SetState(SCE_CLW_DEFAULT); } } } // Keyword State Handling else if (scDoc.state == SCE_CLW_KEYWORD) { // If character is : (colon) if (scDoc.ch == ':') { char cEquate[512]; // Equate buffer // Move forward to include : (colon) in buffer scDoc.Forward(); // Buffer the equate string scDoc.GetCurrent(cEquate,sizeof(cEquate)); // If case insensitive, convert string to UPPERCASE to match passed keywords. if (!bCaseSensitive) { StringUpper(cEquate); } // If statement string is in the equate list if (wlStandardEquates.InList(cEquate)) { // Change to equate state scDoc.ChangeState(SCE_CLW_STANDARD_EQUATE); } } // If the character is not a valid label character else if (!IsALabelCharacter(scDoc.ch)) { char cStatement[512]; // Statement buffer // Buffer the statement string scDoc.GetCurrent(cStatement,sizeof(cStatement)); // If case insensitive, convert string to UPPERCASE to match passed keywords. if (!bCaseSensitive) { StringUpper(cStatement); } // If statement string is in the Clarion keyword list if (wlClarionKeywords.InList(cStatement)) { // Change the statement string to the Clarion keyword state scDoc.ChangeState(SCE_CLW_KEYWORD); } // Else if statement string is in the compiler directive keyword list else if (wlCompilerDirectives.InList(cStatement)) { // Change the statement string to the compiler directive state scDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE); } // Else if statement string is in the runtime expressions keyword list else if (wlRuntimeExpressions.InList(cStatement)) { // Change the statement string to the runtime expressions state scDoc.ChangeState(SCE_CLW_RUNTIME_EXPRESSIONS); } // Else if statement string is in the builtin procedures and functions keyword list else if (wlBuiltInProcsFuncs.InList(cStatement)) { // Change the statement string to the builtin procedures and functions state scDoc.ChangeState(SCE_CLW_BUILTIN_PROCEDURES_FUNCTION); } // Else if statement string is in the tructures and data types keyword list else if (wlStructsDataTypes.InList(cStatement)) { // Change the statement string to the structures and data types state scDoc.ChangeState(SCE_CLW_STRUCTURE_DATA_TYPE); } // Else if statement string is in the procedure attribute keyword list else if (wlAttributes.InList(cStatement)) { // Change the statement string to the procedure attribute state scDoc.ChangeState(SCE_CLW_ATTRIBUTE); } // Else if statement string is in the standard equate keyword list else if (wlStandardEquates.InList(cStatement)) { // Change the statement string to the standard equate state scDoc.ChangeState(SCE_CLW_STANDARD_EQUATE); } // Else if statement string is in the deprecated or legacy keyword list else if (wlLegacyStatements.InList(cStatement)) { // Change the statement string to the standard equate state scDoc.ChangeState(SCE_CLW_DEPRECATED); } // Else the statement string doesn't match any work list else { // Change the statement string to the default state scDoc.ChangeState(SCE_CLW_DEFAULT); } // Terminate the keyword state and set to default state scDoc.SetState(SCE_CLW_DEFAULT); } } // String State Handling else if (scDoc.state == SCE_CLW_STRING) { // If the character is an ' (single quote) if (scDoc.ch == '\'') { // Set the state to default and move forward colouring // the ' (single quote) as default state // terminating the string state scDoc.SetState(SCE_CLW_DEFAULT); scDoc.Forward(); } // If the next character is an ' (single quote) if (scDoc.chNext == '\'') { // Move forward one character and set to default state // colouring the next ' (single quote) as default state // terminating the string state scDoc.ForwardSetState(SCE_CLW_DEFAULT); scDoc.Forward(); } } // Picture String State Handling else if (scDoc.state == SCE_CLW_PICTURE_STRING) { // If the character is an ( (open parenthese) if (scDoc.ch == '(') { // Increment the parenthese level iParenthesesLevel++; } // Else if the character is a ) (close parenthese) else if (scDoc.ch == ')') { // If the parenthese level is set to zero // parentheses matched if (!iParenthesesLevel) { scDoc.SetState(SCE_CLW_DEFAULT); } // Else parenthese level is greater than zero // still looking for matching parentheses else { // Decrement the parenthese level iParenthesesLevel--; } } } // Standard Equate State Handling else if (scDoc.state == SCE_CLW_STANDARD_EQUATE) { if (!isalnum(scDoc.ch)) { scDoc.SetState(SCE_CLW_DEFAULT); } } // Integer Constant State Handling else if (scDoc.state == SCE_CLW_INTEGER_CONSTANT) { // If the character is not a digit (0-9) // or character is not a hexidecimal character (A-F) // or character is not a . (point) // or character is not a numberic base character (B,O,H) if (!(isdigit(scDoc.ch) || IsAHexCharacter(scDoc.ch, bCaseSensitive) || scDoc.ch == '.' || IsANumericBaseCharacter(scDoc.ch, bCaseSensitive))) { // If the number was a real if (SetNumericConstantState(scDoc)) { // Colour the matched string to the real constant state scDoc.ChangeState(SCE_CLW_REAL_CONSTANT); } // Else the number was an integer else { // Colour the matched string to an integer constant state scDoc.ChangeState(SCE_CLW_INTEGER_CONSTANT); } // Terminate the integer constant state and set to default state scDoc.SetState(SCE_CLW_DEFAULT); } } // // Determine if a new state should be entered. // // Beginning of Line Handling if (scDoc.atLineStart) { // Reset the column 1 label flag iColumn1Label = false; // If column 1 character is a label start character if (IsALabelStart(scDoc.ch)) { // Label character is found in column 1 // so set column 1 label flag and clear last column 1 label iColumn1Label = true; // Set the state to label scDoc.SetState(SCE_CLW_LABEL); } // else if character is a space or tab else if (IsASpace(scDoc.ch)){ // Set to default state scDoc.SetState(SCE_CLW_DEFAULT); } // else if comment start (!) or is an * (asterisk) else if (IsACommentStart(scDoc.ch) || scDoc.ch == '*' ) { // then set the state to comment. scDoc.SetState(SCE_CLW_COMMENT); } // else the character is a ? (question mark) else if (scDoc.ch == '?') { // Change to the compiler directive state, move forward, // colouring the ? (question mark), change back to default state. scDoc.ChangeState(SCE_CLW_COMPILER_DIRECTIVE); scDoc.Forward(); scDoc.SetState(SCE_CLW_DEFAULT); } // else an invalid character in column 1 else { // Set to error state scDoc.SetState(SCE_CLW_ERROR); } } // End of Line Handling else if (scDoc.atLineEnd) { // Reset to the default state at the end of each line. scDoc.SetState(SCE_CLW_DEFAULT); } // Default Handling else { // If in default state if (scDoc.state == SCE_CLW_DEFAULT) { // If is a letter could be a possible statement if (isalpha(scDoc.ch)) { // Set the state to Clarion Keyword and verify later scDoc.SetState(SCE_CLW_KEYWORD); } // else is a number else if (isdigit(scDoc.ch)) { // Set the state to Integer Constant and verify later scDoc.SetState(SCE_CLW_INTEGER_CONSTANT); } // else if the start of a comment or a | (line continuation) else if (IsACommentStart(scDoc.ch) || scDoc.ch == '|') { // then set the state to comment. scDoc.SetState(SCE_CLW_COMMENT); } // else if the character is a ' (single quote) else if (scDoc.ch == '\'') { // If the character is also a ' (single quote) // Embedded Apostrophe if (scDoc.chNext == '\'') { // Move forward colouring it as default state scDoc.ForwardSetState(SCE_CLW_DEFAULT); } else { // move to the next character and then set the state to comment. scDoc.ForwardSetState(SCE_CLW_STRING); } } // else the character is an @ (ampersand) else if (scDoc.ch == '@') { // Case insensitive. if (!bCaseSensitive) { // If character is a valid picture token character if (strchr("DEKNPSTdeknpst", scDoc.chNext) != NULL) { // Set to the picture string state scDoc.SetState(SCE_CLW_PICTURE_STRING); } } // Case sensitive else { // If character is a valid picture token character if (strchr("DEKNPST", scDoc.chNext) != NULL) { // Set the picture string state scDoc.SetState(SCE_CLW_PICTURE_STRING); } } } } } } // lexing complete scDoc.Complete(); } // Clarion Language Case Sensitive Colouring Procedure static void ColouriseClarionDocSensitive(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *wlKeywords[], Accessor &accStyler) { ColouriseClarionDoc(uiStartPos, iLength, iInitStyle, wlKeywords, accStyler, true); } // Clarion Language Case Insensitive Colouring Procedure static void ColouriseClarionDocInsensitive(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *wlKeywords[], Accessor &accStyler) { ColouriseClarionDoc(uiStartPos, iLength, iInitStyle, wlKeywords, accStyler, false); } // Fill Buffer static void FillBuffer(Sci_PositionU uiStart, Sci_PositionU uiEnd, Accessor &accStyler, char *szBuffer, Sci_PositionU uiLength) { Sci_PositionU uiPos = 0; while ((uiPos < uiEnd - uiStart + 1) && (uiPos < uiLength-1)) { szBuffer[uiPos] = static_cast(toupper(accStyler[uiStart + uiPos])); uiPos++; } szBuffer[uiPos] = '\0'; } // Classify Clarion Fold Point static int ClassifyClarionFoldPoint(int iLevel, const char* szString) { if (!(isdigit(szString[0]) || (szString[0] == '.'))) { if (strcmp(szString, "PROCEDURE") == 0) { // iLevel = SC_FOLDLEVELBASE + 1; } else if (strcmp(szString, "MAP") == 0 || strcmp(szString,"ACCEPT") == 0 || strcmp(szString,"BEGIN") == 0 || strcmp(szString,"CASE") == 0 || strcmp(szString,"EXECUTE") == 0 || strcmp(szString,"IF") == 0 || strcmp(szString,"ITEMIZE") == 0 || strcmp(szString,"INTERFACE") == 0 || strcmp(szString,"JOIN") == 0 || strcmp(szString,"LOOP") == 0 || strcmp(szString,"MODULE") == 0 || strcmp(szString,"RECORD") == 0) { iLevel++; } else if (strcmp(szString, "APPLICATION") == 0 || strcmp(szString, "CLASS") == 0 || strcmp(szString, "DETAIL") == 0 || strcmp(szString, "FILE") == 0 || strcmp(szString, "FOOTER") == 0 || strcmp(szString, "FORM") == 0 || strcmp(szString, "GROUP") == 0 || strcmp(szString, "HEADER") == 0 || strcmp(szString, "INTERFACE") == 0 || strcmp(szString, "MENU") == 0 || strcmp(szString, "MENUBAR") == 0 || strcmp(szString, "OLE") == 0 || strcmp(szString, "OPTION") == 0 || strcmp(szString, "QUEUE") == 0 || strcmp(szString, "REPORT") == 0 || strcmp(szString, "SHEET") == 0 || strcmp(szString, "TAB") == 0 || strcmp(szString, "TOOLBAR") == 0 || strcmp(szString, "VIEW") == 0 || strcmp(szString, "WINDOW") == 0) { iLevel++; } else if (strcmp(szString, "END") == 0 || strcmp(szString, "UNTIL") == 0 || strcmp(szString, "WHILE") == 0) { iLevel--; } } return(iLevel); } // Clarion Language Folding Procedure static void FoldClarionDoc(Sci_PositionU uiStartPos, Sci_Position iLength, int iInitStyle, WordList *[], Accessor &accStyler) { Sci_PositionU uiEndPos = uiStartPos + iLength; Sci_Position iLineCurrent = accStyler.GetLine(uiStartPos); int iLevelPrev = accStyler.LevelAt(iLineCurrent) & SC_FOLDLEVELNUMBERMASK; int iLevelCurrent = iLevelPrev; char chNext = accStyler[uiStartPos]; int iStyle = iInitStyle; int iStyleNext = accStyler.StyleAt(uiStartPos); int iVisibleChars = 0; Sci_Position iLastStart = 0; for (Sci_PositionU uiPos = uiStartPos; uiPos < uiEndPos; uiPos++) { char chChar = chNext; chNext = accStyler.SafeGetCharAt(uiPos + 1); int iStylePrev = iStyle; iStyle = iStyleNext; iStyleNext = accStyler.StyleAt(uiPos + 1); bool bEOL = (chChar == '\r' && chNext != '\n') || (chChar == '\n'); if (iStylePrev == SCE_CLW_DEFAULT) { if (iStyle == SCE_CLW_KEYWORD || iStyle == SCE_CLW_STRUCTURE_DATA_TYPE) { // Store last word start point. iLastStart = uiPos; } } if (iStylePrev == SCE_CLW_KEYWORD || iStylePrev == SCE_CLW_STRUCTURE_DATA_TYPE) { if(iswordchar(chChar) && !iswordchar(chNext)) { char chBuffer[100]; FillBuffer(iLastStart, uiPos, accStyler, chBuffer, sizeof(chBuffer)); iLevelCurrent = ClassifyClarionFoldPoint(iLevelCurrent,chBuffer); // if ((iLevelCurrent == SC_FOLDLEVELBASE + 1) && iLineCurrent > 1) { // accStyler.SetLevel(iLineCurrent-1,SC_FOLDLEVELBASE); // iLevelPrev = SC_FOLDLEVELBASE; // } } } if (bEOL) { int iLevel = iLevelPrev; if ((iLevelCurrent > iLevelPrev) && (iVisibleChars > 0)) iLevel |= SC_FOLDLEVELHEADERFLAG; if (iLevel != accStyler.LevelAt(iLineCurrent)) { accStyler.SetLevel(iLineCurrent,iLevel); } iLineCurrent++; iLevelPrev = iLevelCurrent; iVisibleChars = 0; } if (!isspacechar(chChar)) iVisibleChars++; } // Fill in the real level of the next line, keeping the current flags // as they will be filled in later. int iFlagsNext = accStyler.LevelAt(iLineCurrent) & ~SC_FOLDLEVELNUMBERMASK; accStyler.SetLevel(iLineCurrent, iLevelPrev | iFlagsNext); } // Word List Descriptions static const char * const rgWordListDescriptions[] = { "Clarion Keywords", "Compiler Directives", "Built-in Procedures and Functions", "Runtime Expressions", "Structure and Data Types", "Attributes", "Standard Equates", "Reserved Words (Labels)", "Reserved Words (Procedure Labels)", 0, }; // Case Sensitive Clarion Language Lexer LexerModule lmClw(SCLEX_CLW, ColouriseClarionDocSensitive, "clarion", FoldClarionDoc, rgWordListDescriptions); // Case Insensitive Clarion Language Lexer LexerModule lmClwNoCase(SCLEX_CLWNOCASE, ColouriseClarionDocInsensitive, "clarionnocase", FoldClarionDoc, rgWordListDescriptions); ================================================ FILE: src/qscint/scintilla/lexers/LexCOBOL.cpp ================================================ // Scintilla source code edit control /** @file LexCOBOL.cxx ** Lexer for COBOL ** Based on LexPascal.cxx ** Written by Laurent le Tynevez ** Updated by Simon Steele September 2002 ** Updated by Mathias Rauen May 2003 (Delphi adjustments) ** Updated by Rod Falck, Aug 2006 Converted to COBOL **/ #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; #define IN_DIVISION 0x01 #define IN_DECLARATIVES 0x02 #define IN_SECTION 0x04 #define IN_PARAGRAPH 0x08 #define IN_FLAGS 0xF #define NOT_HEADER 0x10 inline bool isCOBOLoperator(char ch) { return isoperator(ch); } inline bool isCOBOLwordchar(char ch) { return IsASCII(ch) && (isalnum(ch) || ch == '-'); } inline bool isCOBOLwordstart(char ch) { return IsASCII(ch) && isalnum(ch); } static int CountBits(int nBits) { int count = 0; for (int i = 0; i < 32; ++i) { count += nBits & 1; nBits >>= 1; } return count; } static void getRange(Sci_PositionU start, Sci_PositionU end, Accessor &styler, char *s, Sci_PositionU len) { Sci_PositionU i = 0; while ((i < end - start + 1) && (i < len-1)) { s[i] = static_cast(tolower(styler[start + i])); i++; } s[i] = '\0'; } static void ColourTo(Accessor &styler, Sci_PositionU end, unsigned int attr) { styler.ColourTo(end, attr); } static int classifyWordCOBOL(Sci_PositionU start, Sci_PositionU end, /*WordList &keywords*/WordList *keywordlists[], Accessor &styler, int nContainment, bool *bAarea) { int ret = 0; WordList& a_keywords = *keywordlists[0]; WordList& b_keywords = *keywordlists[1]; WordList& c_keywords = *keywordlists[2]; char s[100]; s[0] = '\0'; s[1] = '\0'; getRange(start, end, styler, s, sizeof(s)); char chAttr = SCE_C_IDENTIFIER; if (isdigit(s[0]) || (s[0] == '.') || (s[0] == 'v')) { chAttr = SCE_C_NUMBER; char *p = s + 1; while (*p) { if ((!isdigit(*p) && (*p) != 'v') && isCOBOLwordchar(*p)) { chAttr = SCE_C_IDENTIFIER; break; } ++p; } } else { if (a_keywords.InList(s)) { chAttr = SCE_C_WORD; } else if (b_keywords.InList(s)) { chAttr = SCE_C_WORD2; } else if (c_keywords.InList(s)) { chAttr = SCE_C_UUID; } } if (*bAarea) { if (strcmp(s, "division") == 0) { ret = IN_DIVISION; // we've determined the containment, anything else is just ignored for those purposes *bAarea = false; } else if (strcmp(s, "declaratives") == 0) { ret = IN_DIVISION | IN_DECLARATIVES; if (nContainment & IN_DECLARATIVES) ret |= NOT_HEADER | IN_SECTION; // we've determined the containment, anything else is just ignored for those purposes *bAarea = false; } else if (strcmp(s, "section") == 0) { ret = (nContainment &~ IN_PARAGRAPH) | IN_SECTION; // we've determined the containment, anything else is just ignored for those purposes *bAarea = false; } else if (strcmp(s, "end") == 0 && (nContainment & IN_DECLARATIVES)) { ret = IN_DIVISION | IN_DECLARATIVES | IN_SECTION | NOT_HEADER; } else { ret = nContainment | IN_PARAGRAPH; } } ColourTo(styler, end, chAttr); return ret; } static void ColouriseCOBOLDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { styler.StartAt(startPos); int state = initStyle; if (state == SCE_C_CHARACTER) // Does not leak onto next line state = SCE_C_DEFAULT; char chPrev = ' '; char chNext = styler[startPos]; Sci_PositionU lengthDoc = startPos + length; int nContainment; Sci_Position currentLine = styler.GetLine(startPos); if (currentLine > 0) { styler.SetLineState(currentLine, styler.GetLineState(currentLine-1)); nContainment = styler.GetLineState(currentLine); nContainment &= ~NOT_HEADER; } else { styler.SetLineState(currentLine, 0); nContainment = 0; } styler.StartSegment(startPos); bool bNewLine = true; bool bAarea = !isspacechar(chNext); int column = 0; for (Sci_PositionU i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); ++column; if (bNewLine) { column = 0; } if (column <= 1 && !bAarea) { bAarea = !isspacechar(ch); } bool bSetNewLine = false; if ((ch == '\r' && chNext != '\n') || (ch == '\n')) { // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix) // Avoid triggering two times on Dos/Win // End of line if (state == SCE_C_CHARACTER) { ColourTo(styler, i, state); state = SCE_C_DEFAULT; } styler.SetLineState(currentLine, nContainment); currentLine++; bSetNewLine = true; if (nContainment & NOT_HEADER) nContainment &= ~(NOT_HEADER | IN_DECLARATIVES | IN_SECTION); } if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); chPrev = ' '; i += 1; continue; } if (state == SCE_C_DEFAULT) { if (isCOBOLwordstart(ch) || (ch == '$' && IsASCII(chNext) && isalpha(chNext))) { ColourTo(styler, i-1, state); state = SCE_C_IDENTIFIER; } else if (column == 6 && ch == '*') { // Cobol comment line: asterisk in column 7. ColourTo(styler, i-1, state); state = SCE_C_COMMENTLINE; } else if (ch == '*' && chNext == '>') { // Cobol inline comment: asterisk, followed by greater than. ColourTo(styler, i-1, state); state = SCE_C_COMMENTLINE; } else if (column == 0 && ch == '*' && chNext != '*') { ColourTo(styler, i-1, state); state = SCE_C_COMMENTLINE; } else if (column == 0 && ch == '/' && chNext != '*') { ColourTo(styler, i-1, state); state = SCE_C_COMMENTLINE; } else if (column == 0 && ch == '*' && chNext == '*') { ColourTo(styler, i-1, state); state = SCE_C_COMMENTDOC; } else if (column == 0 && ch == '/' && chNext == '*') { ColourTo(styler, i-1, state); state = SCE_C_COMMENTDOC; } else if (ch == '"') { ColourTo(styler, i-1, state); state = SCE_C_STRING; } else if (ch == '\'') { ColourTo(styler, i-1, state); state = SCE_C_CHARACTER; } else if (ch == '?' && column == 0) { ColourTo(styler, i-1, state); state = SCE_C_PREPROCESSOR; } else if (isCOBOLoperator(ch)) { ColourTo(styler, i-1, state); ColourTo(styler, i, SCE_C_OPERATOR); } } else if (state == SCE_C_IDENTIFIER) { if (!isCOBOLwordchar(ch)) { int lStateChange = classifyWordCOBOL(styler.GetStartSegment(), i - 1, keywordlists, styler, nContainment, &bAarea); if(lStateChange != 0) { styler.SetLineState(currentLine, lStateChange); nContainment = lStateChange; } state = SCE_C_DEFAULT; chNext = styler.SafeGetCharAt(i + 1); if (ch == '"') { state = SCE_C_STRING; } else if (ch == '\'') { state = SCE_C_CHARACTER; } else if (isCOBOLoperator(ch)) { ColourTo(styler, i, SCE_C_OPERATOR); } } } else { if (state == SCE_C_PREPROCESSOR) { if ((ch == '\r' || ch == '\n') && !(chPrev == '\\' || chPrev == '\r')) { ColourTo(styler, i-1, state); state = SCE_C_DEFAULT; } } else if (state == SCE_C_COMMENT) { if (ch == '\r' || ch == '\n') { ColourTo(styler, i, state); state = SCE_C_DEFAULT; } } else if (state == SCE_C_COMMENTDOC) { if (ch == '\r' || ch == '\n') { if (((i > styler.GetStartSegment() + 2) || ( (initStyle == SCE_C_COMMENTDOC) && (styler.GetStartSegment() == static_cast(startPos))))) { ColourTo(styler, i, state); state = SCE_C_DEFAULT; } } } else if (state == SCE_C_COMMENTLINE) { if (ch == '\r' || ch == '\n') { ColourTo(styler, i-1, state); state = SCE_C_DEFAULT; } } else if (state == SCE_C_STRING) { if (ch == '"') { ColourTo(styler, i, state); state = SCE_C_DEFAULT; } } else if (state == SCE_C_CHARACTER) { if (ch == '\'') { ColourTo(styler, i, state); state = SCE_C_DEFAULT; } } } chPrev = ch; bNewLine = bSetNewLine; if (bNewLine) { bAarea = false; } } ColourTo(styler, lengthDoc - 1, state); } static void FoldCOBOLDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = lineCurrent > 0 ? styler.LevelAt(lineCurrent - 1) & SC_FOLDLEVELNUMBERMASK : 0xFFF; char chNext = styler[startPos]; bool bNewLine = true; bool bAarea = !isspacechar(chNext); int column = 0; bool bComment = false; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); ++column; if (bNewLine) { column = 0; bComment = (ch == '*' || ch == '/' || ch == '?'); } if (column <= 1 && !bAarea) { bAarea = !isspacechar(ch); } bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (atEOL) { int nContainment = styler.GetLineState(lineCurrent); int lev = CountBits(nContainment & IN_FLAGS) | SC_FOLDLEVELBASE; if (bAarea && !bComment) --lev; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if ((bAarea) && (visibleChars > 0) && !(nContainment & NOT_HEADER) && !bComment) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } if ((lev & SC_FOLDLEVELNUMBERMASK) <= (levelPrev & SC_FOLDLEVELNUMBERMASK)) { // this level is at the same level or less than the previous line // therefore these is nothing for the previous header to collapse, so remove the header styler.SetLevel(lineCurrent - 1, levelPrev & ~SC_FOLDLEVELHEADERFLAG); } levelPrev = lev; visibleChars = 0; bAarea = false; bNewLine = true; lineCurrent++; } else { bNewLine = false; } if (!isspacechar(ch)) visibleChars++; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const COBOLWordListDesc[] = { "A Keywords", "B Keywords", "Extended Keywords", 0 }; LexerModule lmCOBOL(SCLEX_COBOL, ColouriseCOBOLDoc, "COBOL", FoldCOBOLDoc, COBOLWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexCPP.cpp ================================================ // Scintilla source code edit control /** @file LexCPP.cxx ** Lexer for C++, C, Java, and JavaScript. ** Further folding features and configuration properties added by "Udo Lechner" **/ // Copyright 1998-2005 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "StringCopy.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #include "SparseState.h" #include "SubStyles.h" using namespace Scintilla; namespace { // Use an unnamed namespace to protect the functions and classes from name conflicts bool IsSpaceEquiv(int state) noexcept { return (state <= SCE_C_COMMENTDOC) || // including SCE_C_DEFAULT, SCE_C_COMMENT, SCE_C_COMMENTLINE (state == SCE_C_COMMENTLINEDOC) || (state == SCE_C_COMMENTDOCKEYWORD) || (state == SCE_C_COMMENTDOCKEYWORDERROR); } // Preconditions: sc.currentPos points to a character after '+' or '-'. // The test for pos reaching 0 should be redundant, // and is in only for safety measures. // Limitation: this code will give the incorrect answer for code like // a = b+++/ptn/... // Putting a space between the '++' post-inc operator and the '+' binary op // fixes this, and is highly recommended for readability anyway. bool FollowsPostfixOperator(const StyleContext &sc, LexAccessor &styler) { Sci_Position pos = sc.currentPos; while (--pos > 0) { const char ch = styler[pos]; if (ch == '+' || ch == '-') { return styler[pos - 1] == ch; } } return false; } bool followsReturnKeyword(const StyleContext &sc, LexAccessor &styler) { // Don't look at styles, so no need to flush. Sci_Position pos = sc.currentPos; const Sci_Position currentLine = styler.GetLine(pos); const Sci_Position lineStartPos = styler.LineStart(currentLine); while (--pos > lineStartPos) { const char ch = styler.SafeGetCharAt(pos); if (ch != ' ' && ch != '\t') { break; } } const char *retBack = "nruter"; const char *s = retBack; while (*s && pos >= lineStartPos && styler.SafeGetCharAt(pos) == *s) { s++; pos--; } return !*s; } bool IsSpaceOrTab(int ch) noexcept { return ch == ' ' || ch == '\t'; } bool OnlySpaceOrTab(const std::string &s) noexcept { for (const char ch : s) { if (!IsSpaceOrTab(ch)) return false; } return true; } std::vector StringSplit(const std::string &text, int separator) { std::vector vs(text.empty() ? 0 : 1); for (const char ch : text) { if (ch == separator) { vs.emplace_back(); } else { vs.back() += ch; } } return vs; } struct BracketPair { std::vector::iterator itBracket; std::vector::iterator itEndBracket; }; BracketPair FindBracketPair(std::vector &tokens) { BracketPair bp; std::vector::iterator itTok = std::find(tokens.begin(), tokens.end(), "("); bp.itBracket = tokens.end(); bp.itEndBracket = tokens.end(); if (itTok != tokens.end()) { bp.itBracket = itTok; size_t nest = 0; while (itTok != tokens.end()) { if (*itTok == "(") { nest++; } else if (*itTok == ")") { nest--; if (nest == 0) { bp.itEndBracket = itTok; return bp; } } ++itTok; } } bp.itBracket = tokens.end(); return bp; } void highlightTaskMarker(StyleContext &sc, LexAccessor &styler, int activity, const WordList &markerList, bool caseSensitive){ if ((isoperator(sc.chPrev) || IsASpace(sc.chPrev)) && markerList.Length()) { const int lengthMarker = 50; char marker[lengthMarker+1] = ""; const Sci_Position currPos = static_cast(sc.currentPos); int i = 0; while (i < lengthMarker) { const char ch = styler.SafeGetCharAt(currPos + i); if (IsASpace(ch) || isoperator(ch)) { break; } if (caseSensitive) marker[i] = ch; else marker[i] = MakeLowerCase(ch); i++; } marker[i] = '\0'; if (markerList.InList(marker)) { sc.SetState(SCE_C_TASKMARKER|activity); } } } struct EscapeSequence { int digitsLeft; CharacterSet setHexDigits; CharacterSet setOctDigits; CharacterSet setNoneNumeric; CharacterSet *escapeSetValid; EscapeSequence() { digitsLeft = 0; escapeSetValid = 0; setHexDigits = CharacterSet(CharacterSet::setDigits, "ABCDEFabcdef"); setOctDigits = CharacterSet(CharacterSet::setNone, "01234567"); } void resetEscapeState(int nextChar) { digitsLeft = 0; escapeSetValid = &setNoneNumeric; if (nextChar == 'U') { digitsLeft = 9; escapeSetValid = &setHexDigits; } else if (nextChar == 'u') { digitsLeft = 5; escapeSetValid = &setHexDigits; } else if (nextChar == 'x') { digitsLeft = 5; escapeSetValid = &setHexDigits; } else if (setOctDigits.Contains(nextChar)) { digitsLeft = 3; escapeSetValid = &setOctDigits; } } bool atEscapeEnd(int currChar) const { return (digitsLeft <= 0) || !escapeSetValid->Contains(currChar); } }; std::string GetRestOfLine(LexAccessor &styler, Sci_Position start, bool allowSpace) { std::string restOfLine; Sci_Position i =0; char ch = styler.SafeGetCharAt(start, '\n'); const Sci_Position endLine = styler.LineEnd(styler.GetLine(start)); while (((start+i) < endLine) && (ch != '\r')) { const char chNext = styler.SafeGetCharAt(start + i + 1, '\n'); if (ch == '/' && (chNext == '/' || chNext == '*')) break; if (allowSpace || (ch != ' ')) restOfLine += ch; i++; ch = chNext; } return restOfLine; } bool IsStreamCommentStyle(int style) noexcept { return style == SCE_C_COMMENT || style == SCE_C_COMMENTDOC || style == SCE_C_COMMENTDOCKEYWORD || style == SCE_C_COMMENTDOCKEYWORDERROR; } struct PPDefinition { Sci_Position line; std::string key; std::string value; bool isUndef; std::string arguments; PPDefinition(Sci_Position line_, const std::string &key_, const std::string &value_, bool isUndef_ = false, const std::string &arguments_="") : line(line_), key(key_), value(value_), isUndef(isUndef_), arguments(arguments_) { } }; class LinePPState { int state; int ifTaken; int level; bool ValidLevel() const noexcept { return level >= 0 && level < 32; } int maskLevel() const noexcept { if (level >= 0) { return 1 << level; } else { return 1; } } public: LinePPState() : state(0), ifTaken(0), level(-1) { } bool IsInactive() const noexcept { return state != 0; } bool CurrentIfTaken() const noexcept { return (ifTaken & maskLevel()) != 0; } void StartSection(bool on) noexcept { level++; if (ValidLevel()) { if (on) { state &= ~maskLevel(); ifTaken |= maskLevel(); } else { state |= maskLevel(); ifTaken &= ~maskLevel(); } } } void EndSection() noexcept { if (ValidLevel()) { state &= ~maskLevel(); ifTaken &= ~maskLevel(); } level--; } void InvertCurrentLevel() noexcept { if (ValidLevel()) { state ^= maskLevel(); ifTaken |= maskLevel(); } } }; // Hold the preprocessor state for each line seen. // Currently one entry per line but could become sparse with just one entry per preprocessor line. class PPStates { std::vector vlls; public: LinePPState ForLine(Sci_Position line) const { if ((line > 0) && (vlls.size() > static_cast(line))) { return vlls[line]; } else { return LinePPState(); } } void Add(Sci_Position line, LinePPState lls) { vlls.resize(line+1); vlls[line] = lls; } }; // An individual named option for use in an OptionSet // Options used for LexerCPP struct OptionsCPP { bool stylingWithinPreprocessor; bool identifiersAllowDollars; bool trackPreprocessor; bool updatePreprocessor; bool verbatimStringsAllowEscapes; bool triplequotedStrings; bool hashquotedStrings; bool backQuotedStrings; bool escapeSequence; bool fold; bool foldSyntaxBased; bool foldComment; bool foldCommentMultiline; bool foldCommentExplicit; std::string foldExplicitStart; std::string foldExplicitEnd; bool foldExplicitAnywhere; bool foldPreprocessor; bool foldPreprocessorAtElse; bool foldCompact; bool foldAtElse; OptionsCPP() { stylingWithinPreprocessor = false; identifiersAllowDollars = true; trackPreprocessor = true; updatePreprocessor = true; verbatimStringsAllowEscapes = false; triplequotedStrings = false; hashquotedStrings = false; backQuotedStrings = false; escapeSequence = false; fold = false; foldSyntaxBased = true; foldComment = false; foldCommentMultiline = true; foldCommentExplicit = true; foldExplicitStart = ""; foldExplicitEnd = ""; foldExplicitAnywhere = false; foldPreprocessor = false; foldPreprocessorAtElse = false; foldCompact = false; foldAtElse = false; } }; const char *const cppWordLists[] = { "Primary keywords and identifiers", "Secondary keywords and identifiers", "Documentation comment keywords", "Global classes and typedefs", "Preprocessor definitions", "Task marker and error marker keywords", 0, }; struct OptionSetCPP : public OptionSet { OptionSetCPP() { DefineProperty("styling.within.preprocessor", &OptionsCPP::stylingWithinPreprocessor, "For C++ code, determines whether all preprocessor code is styled in the " "preprocessor style (0, the default) or only from the initial # to the end " "of the command word(1)."); DefineProperty("lexer.cpp.allow.dollars", &OptionsCPP::identifiersAllowDollars, "Set to 0 to disallow the '$' character in identifiers with the cpp lexer."); DefineProperty("lexer.cpp.track.preprocessor", &OptionsCPP::trackPreprocessor, "Set to 1 to interpret #if/#else/#endif to grey out code that is not active."); DefineProperty("lexer.cpp.update.preprocessor", &OptionsCPP::updatePreprocessor, "Set to 1 to update preprocessor definitions when #define found."); DefineProperty("lexer.cpp.verbatim.strings.allow.escapes", &OptionsCPP::verbatimStringsAllowEscapes, "Set to 1 to allow verbatim strings to contain escape sequences."); DefineProperty("lexer.cpp.triplequoted.strings", &OptionsCPP::triplequotedStrings, "Set to 1 to enable highlighting of triple-quoted strings."); DefineProperty("lexer.cpp.hashquoted.strings", &OptionsCPP::hashquotedStrings, "Set to 1 to enable highlighting of hash-quoted strings."); DefineProperty("lexer.cpp.backquoted.strings", &OptionsCPP::backQuotedStrings, "Set to 1 to enable highlighting of back-quoted raw strings ."); DefineProperty("lexer.cpp.escape.sequence", &OptionsCPP::escapeSequence, "Set to 1 to enable highlighting of escape sequences in strings"); DefineProperty("fold", &OptionsCPP::fold); DefineProperty("fold.cpp.syntax.based", &OptionsCPP::foldSyntaxBased, "Set this property to 0 to disable syntax based folding."); DefineProperty("fold.comment", &OptionsCPP::foldComment, "This option enables folding multi-line comments and explicit fold points when using the C++ lexer. " "Explicit fold points allows adding extra folding by placing a //{ comment at the start and a //} " "at the end of a section that should fold."); DefineProperty("fold.cpp.comment.multiline", &OptionsCPP::foldCommentMultiline, "Set this property to 0 to disable folding multi-line comments when fold.comment=1."); DefineProperty("fold.cpp.comment.explicit", &OptionsCPP::foldCommentExplicit, "Set this property to 0 to disable folding explicit fold points when fold.comment=1."); DefineProperty("fold.cpp.explicit.start", &OptionsCPP::foldExplicitStart, "The string to use for explicit fold start points, replacing the standard //{."); DefineProperty("fold.cpp.explicit.end", &OptionsCPP::foldExplicitEnd, "The string to use for explicit fold end points, replacing the standard //}."); DefineProperty("fold.cpp.explicit.anywhere", &OptionsCPP::foldExplicitAnywhere, "Set this property to 1 to enable explicit fold points anywhere, not just in line comments."); DefineProperty("fold.cpp.preprocessor.at.else", &OptionsCPP::foldPreprocessorAtElse, "This option enables folding on a preprocessor #else or #endif line of an #if statement."); DefineProperty("fold.preprocessor", &OptionsCPP::foldPreprocessor, "This option enables folding preprocessor directives when using the C++ lexer. " "Includes C#'s explicit #region and #endregion folding directives."); DefineProperty("fold.compact", &OptionsCPP::foldCompact); DefineProperty("fold.at.else", &OptionsCPP::foldAtElse, "This option enables C++ folding on a \"} else {\" line of an if statement."); DefineWordListSets(cppWordLists); } }; const char styleSubable[] = {SCE_C_IDENTIFIER, SCE_C_COMMENTDOCKEYWORD, 0}; LexicalClass lexicalClasses[] = { // Lexer Cpp SCLEX_CPP SCE_C_: 0, "SCE_C_DEFAULT", "default", "White space", 1, "SCE_C_COMMENT", "comment", "Comment: /* */.", 2, "SCE_C_COMMENTLINE", "comment line", "Line Comment: //.", 3, "SCE_C_COMMENTDOC", "comment documentation", "Doc comment: block comments beginning with /** or /*!", 4, "SCE_C_NUMBER", "literal numeric", "Number", 5, "SCE_C_WORD", "keyword", "Keyword", 6, "SCE_C_STRING", "literal string", "Double quoted string", 7, "SCE_C_CHARACTER", "literal string character", "Single quoted string", 8, "SCE_C_UUID", "literal uuid", "UUIDs (only in IDL)", 9, "SCE_C_PREPROCESSOR", "preprocessor", "Preprocessor", 10, "SCE_C_OPERATOR", "operator", "Operators", 11, "SCE_C_IDENTIFIER", "identifier", "Identifiers", 12, "SCE_C_STRINGEOL", "error literal string", "End of line where string is not closed", 13, "SCE_C_VERBATIM", "literal string multiline raw", "Verbatim strings for C#", 14, "SCE_C_REGEX", "literal regex", "Regular expressions for JavaScript", 15, "SCE_C_COMMENTLINEDOC", "comment documentation line", "Doc Comment Line: line comments beginning with /// or //!.", 16, "SCE_C_WORD2", "identifier", "Keywords2", 17, "SCE_C_COMMENTDOCKEYWORD", "comment documentation keyword", "Comment keyword", 18, "SCE_C_COMMENTDOCKEYWORDERROR", "error comment documentation keyword", "Comment keyword error", 19, "SCE_C_GLOBALCLASS", "identifier", "Global class", 20, "SCE_C_STRINGRAW", "literal string multiline raw", "Raw strings for C++0x", 21, "SCE_C_TRIPLEVERBATIM", "literal string multiline raw", "Triple-quoted strings for Vala", 22, "SCE_C_HASHQUOTEDSTRING", "literal string", "Hash-quoted strings for Pike", 23, "SCE_C_PREPROCESSORCOMMENT", "comment preprocessor", "Preprocessor stream comment", 24, "SCE_C_PREPROCESSORCOMMENTDOC", "comment preprocessor documentation", "Preprocessor stream doc comment", 25, "SCE_C_USERLITERAL", "literal", "User defined literals", 26, "SCE_C_TASKMARKER", "comment taskmarker", "Task Marker", 27, "SCE_C_ESCAPESEQUENCE", "literal string escapesequence", "Escape sequence", }; } class LexerCPP : public ILexerWithMetaData { bool caseSensitive; CharacterSet setWord; CharacterSet setNegationOp; CharacterSet setArithmethicOp; CharacterSet setRelOp; CharacterSet setLogicalOp; CharacterSet setWordStart; PPStates vlls; std::vector ppDefineHistory; WordList keywords; WordList keywords2; WordList keywords3; WordList keywords4; WordList ppDefinitions; WordList markerList; struct SymbolValue { std::string value; std::string arguments; SymbolValue(const std::string &value_="", const std::string &arguments_="") : value(value_), arguments(arguments_) { } SymbolValue &operator = (const std::string &value_) { value = value_; arguments.clear(); return *this; } bool IsMacro() const noexcept { return !arguments.empty(); } }; typedef std::map SymbolTable; SymbolTable preprocessorDefinitionsStart; OptionsCPP options; OptionSetCPP osCPP; EscapeSequence escapeSeq; SparseState rawStringTerminators; enum { activeFlag = 0x40 }; enum { ssIdentifier, ssDocKeyword }; SubStyles subStyles; std::string returnBuffer; public: explicit LexerCPP(bool caseSensitive_) : caseSensitive(caseSensitive_), setWord(CharacterSet::setAlphaNum, "._", 0x80, true), setNegationOp(CharacterSet::setNone, "!"), setArithmethicOp(CharacterSet::setNone, "+-/*%"), setRelOp(CharacterSet::setNone, "=!<>"), setLogicalOp(CharacterSet::setNone, "|&"), subStyles(styleSubable, 0x80, 0x40, activeFlag) { } virtual ~LexerCPP() { } void SCI_METHOD Release() override { delete this; } int SCI_METHOD Version() const override { return lvMetaData; } const char * SCI_METHOD PropertyNames() override { return osCPP.PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return osCPP.PropertyType(name); } const char * SCI_METHOD DescribeProperty(const char *name) override { return osCPP.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override; const char * SCI_METHOD DescribeWordListSets() override { return osCPP.DescribeWordListSets(); } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void * SCI_METHOD PrivateCall(int, void *) override { return 0; } int SCI_METHOD LineEndTypesSupported() override { return SC_LINE_END_TYPE_UNICODE; } int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) override { return subStyles.Allocate(styleBase, numberStyles); } int SCI_METHOD SubStylesStart(int styleBase) override { return subStyles.Start(styleBase); } int SCI_METHOD SubStylesLength(int styleBase) override { return subStyles.Length(styleBase); } int SCI_METHOD StyleFromSubStyle(int subStyle) override { const int styleBase = subStyles.BaseStyle(MaskActive(subStyle)); const int active = subStyle & activeFlag; return styleBase | active; } int SCI_METHOD PrimaryStyleFromStyle(int style) override { return MaskActive(style); } void SCI_METHOD FreeSubStyles() override { subStyles.Free(); } void SCI_METHOD SetIdentifiers(int style, const char *identifiers) override { subStyles.SetIdentifiers(style, identifiers); } int SCI_METHOD DistanceToSecondaryStyles() override { return activeFlag; } const char * SCI_METHOD GetSubStyleBases() override { return styleSubable; } int SCI_METHOD NamedStyles() override { return std::max(subStyles.LastAllocated() + 1, static_cast(ELEMENTS(lexicalClasses))) + activeFlag; } const char * SCI_METHOD NameOfStyle(int style) override { if (style >= NamedStyles()) return ""; if (style < static_cast(ELEMENTS(lexicalClasses))) return lexicalClasses[style].name; // TODO: inactive and substyles return ""; } const char * SCI_METHOD TagsOfStyle(int style) override { if (style >= NamedStyles()) return "Excess"; returnBuffer.clear(); const int firstSubStyle = subStyles.FirstAllocated(); if (firstSubStyle >= 0) { const int lastSubStyle = subStyles.LastAllocated(); if (((style >= firstSubStyle) && (style <= (lastSubStyle))) || ((style >= firstSubStyle + activeFlag) && (style <= (lastSubStyle + activeFlag)))) { int styleActive = style; if (style > lastSubStyle) { returnBuffer = "inactive "; styleActive -= activeFlag; } const int styleMain = StyleFromSubStyle(styleActive); returnBuffer += lexicalClasses[styleMain].tags; return returnBuffer.c_str(); } } if (style < static_cast(ELEMENTS(lexicalClasses))) return lexicalClasses[style].tags; if (style >= activeFlag) { returnBuffer = "inactive "; const int styleActive = style - activeFlag; if (styleActive < static_cast(ELEMENTS(lexicalClasses))) returnBuffer += lexicalClasses[styleActive].tags; else returnBuffer = ""; return returnBuffer.c_str(); } return ""; } const char * SCI_METHOD DescriptionOfStyle(int style) override { if (style >= NamedStyles()) return ""; if (style < static_cast(ELEMENTS(lexicalClasses))) return lexicalClasses[style].description; // TODO: inactive and substyles return ""; } static ILexer *LexerFactoryCPP() { return new LexerCPP(true); } static ILexer *LexerFactoryCPPInsensitive() { return new LexerCPP(false); } static int MaskActive(int style) noexcept { return style & ~activeFlag; } void EvaluateTokens(std::vector &tokens, const SymbolTable &preprocessorDefinitions); std::vector Tokenize(const std::string &expr) const; bool EvaluateExpression(const std::string &expr, const SymbolTable &preprocessorDefinitions); }; Sci_Position SCI_METHOD LexerCPP::PropertySet(const char *key, const char *val) { if (osCPP.PropertySet(&options, key, val)) { if (strcmp(key, "lexer.cpp.allow.dollars") == 0) { setWord = CharacterSet(CharacterSet::setAlphaNum, "._", 0x80, true); if (options.identifiersAllowDollars) { setWord.Add('$'); } } return 0; } return -1; } Sci_Position SCI_METHOD LexerCPP::WordListSet(int n, const char *wl) { WordList *wordListN = 0; switch (n) { case 0: wordListN = &keywords; break; case 1: wordListN = &keywords2; break; case 2: wordListN = &keywords3; break; case 3: wordListN = &keywords4; break; case 4: wordListN = &ppDefinitions; break; case 5: wordListN = &markerList; break; } Sci_Position firstModification = -1; if (wordListN) { WordList wlNew; wlNew.Set(wl); if (*wordListN != wlNew) { wordListN->Set(wl); firstModification = 0; if (n == 4) { // Rebuild preprocessorDefinitions preprocessorDefinitionsStart.clear(); for (int nDefinition = 0; nDefinition < ppDefinitions.Length(); nDefinition++) { const char *cpDefinition = ppDefinitions.WordAt(nDefinition); const char *cpEquals = strchr(cpDefinition, '='); if (cpEquals) { std::string name(cpDefinition, cpEquals - cpDefinition); std::string val(cpEquals+1); const size_t bracket = name.find('('); const size_t bracketEnd = name.find(')'); if ((bracket != std::string::npos) && (bracketEnd != std::string::npos)) { // Macro std::string args = name.substr(bracket + 1, bracketEnd - bracket - 1); name = name.substr(0, bracket); preprocessorDefinitionsStart[name] = SymbolValue(val, args); } else { preprocessorDefinitionsStart[name] = val; } } else { std::string name(cpDefinition); std::string val("1"); preprocessorDefinitionsStart[name] = val; } } } } } return firstModification; } void SCI_METHOD LexerCPP::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { LexAccessor styler(pAccess); CharacterSet setOKBeforeRE(CharacterSet::setNone, "([{=,:;!%^&*|?~+-"); CharacterSet setCouldBePostOp(CharacterSet::setNone, "+-"); CharacterSet setDoxygen(CharacterSet::setAlpha, "$@\\&<>#{}[]"); setWordStart = CharacterSet(CharacterSet::setAlpha, "_", 0x80, true); CharacterSet setInvalidRawFirst(CharacterSet::setNone, " )\\\t\v\f\n"); if (options.identifiersAllowDollars) { setWordStart.Add('$'); } int chPrevNonWhite = ' '; int visibleChars = 0; bool lastWordWasUUID = false; int styleBeforeDCKeyword = SCE_C_DEFAULT; int styleBeforeTaskMarker = SCE_C_DEFAULT; bool continuationLine = false; bool isIncludePreprocessor = false; bool isStringInPreprocessor = false; bool inRERange = false; bool seenDocKeyBrace = false; Sci_Position lineCurrent = styler.GetLine(startPos); if ((MaskActive(initStyle) == SCE_C_PREPROCESSOR) || (MaskActive(initStyle) == SCE_C_COMMENTLINE) || (MaskActive(initStyle) == SCE_C_COMMENTLINEDOC)) { // Set continuationLine if last character of previous line is '\' if (lineCurrent > 0) { const Sci_Position endLinePrevious = styler.LineEnd(lineCurrent - 1); if (endLinePrevious > 0) { continuationLine = styler.SafeGetCharAt(endLinePrevious-1) == '\\'; } } } // look back to set chPrevNonWhite properly for better regex colouring if (startPos > 0) { Sci_Position back = startPos; while (--back && IsSpaceEquiv(MaskActive(styler.StyleAt(back)))) ; if (MaskActive(styler.StyleAt(back)) == SCE_C_OPERATOR) { chPrevNonWhite = styler.SafeGetCharAt(back); } } StyleContext sc(startPos, length, initStyle, styler); LinePPState preproc = vlls.ForLine(lineCurrent); bool definitionsChanged = false; // Truncate ppDefineHistory before current line if (!options.updatePreprocessor) ppDefineHistory.clear(); std::vector::iterator itInvalid = std::find_if(ppDefineHistory.begin(), ppDefineHistory.end(), [lineCurrent](const PPDefinition &p) { return p.line >= lineCurrent; }); if (itInvalid != ppDefineHistory.end()) { ppDefineHistory.erase(itInvalid, ppDefineHistory.end()); definitionsChanged = true; } SymbolTable preprocessorDefinitions = preprocessorDefinitionsStart; for (const PPDefinition &ppDef : ppDefineHistory) { if (ppDef.isUndef) preprocessorDefinitions.erase(ppDef.key); else preprocessorDefinitions[ppDef.key] = SymbolValue(ppDef.value, ppDef.arguments); } std::string rawStringTerminator = rawStringTerminators.ValueAt(lineCurrent-1); SparseState rawSTNew(lineCurrent); int activitySet = preproc.IsInactive() ? activeFlag : 0; const WordClassifier &classifierIdentifiers = subStyles.Classifier(SCE_C_IDENTIFIER); const WordClassifier &classifierDocKeyWords = subStyles.Classifier(SCE_C_COMMENTDOCKEYWORD); Sci_Position lineEndNext = styler.LineEnd(lineCurrent); for (; sc.More();) { if (sc.atLineStart) { // Using MaskActive() is not needed in the following statement. // Inside inactive preprocessor declaration, state will be reset anyway at the end of this block. if ((sc.state == SCE_C_STRING) || (sc.state == SCE_C_CHARACTER)) { // Prevent SCE_C_STRINGEOL from leaking back to previous line which // ends with a line continuation by locking in the state up to this position. sc.SetState(sc.state); } if ((MaskActive(sc.state) == SCE_C_PREPROCESSOR) && (!continuationLine)) { sc.SetState(SCE_C_DEFAULT|activitySet); } // Reset states to beginning of colourise so no surprises // if different sets of lines lexed. visibleChars = 0; lastWordWasUUID = false; isIncludePreprocessor = false; inRERange = false; if (preproc.IsInactive()) { activitySet = activeFlag; sc.SetState(sc.state | activitySet); } } if (sc.atLineEnd) { lineCurrent++; lineEndNext = styler.LineEnd(lineCurrent); vlls.Add(lineCurrent, preproc); if (rawStringTerminator != "") { rawSTNew.Set(lineCurrent-1, rawStringTerminator); } } // Handle line continuation generically. if (sc.ch == '\\') { if (static_cast((sc.currentPos+1)) >= lineEndNext) { lineCurrent++; lineEndNext = styler.LineEnd(lineCurrent); vlls.Add(lineCurrent, preproc); if (rawStringTerminator != "") { rawSTNew.Set(lineCurrent-1, rawStringTerminator); } sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { // Even in UTF-8, \r and \n are separate sc.Forward(); } continuationLine = true; sc.Forward(); continue; } } const bool atLineEndBeforeSwitch = sc.atLineEnd; // Determine if the current state should terminate. switch (MaskActive(sc.state)) { case SCE_C_OPERATOR: sc.SetState(SCE_C_DEFAULT|activitySet); break; case SCE_C_NUMBER: // We accept almost anything because of hex. and number suffixes if (sc.ch == '_') { sc.ChangeState(SCE_C_USERLITERAL|activitySet); } else if (!(setWord.Contains(sc.ch) || (sc.ch == '\'') || ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E' || sc.chPrev == 'p' || sc.chPrev == 'P')))) { sc.SetState(SCE_C_DEFAULT|activitySet); } break; case SCE_C_USERLITERAL: if (!(setWord.Contains(sc.ch))) sc.SetState(SCE_C_DEFAULT|activitySet); break; case SCE_C_IDENTIFIER: if (sc.atLineStart || sc.atLineEnd || !setWord.Contains(sc.ch) || (sc.ch == '.')) { char s[1000]; if (caseSensitive) { sc.GetCurrent(s, sizeof(s)); } else { sc.GetCurrentLowered(s, sizeof(s)); } if (keywords.InList(s)) { lastWordWasUUID = strcmp(s, "uuid") == 0; sc.ChangeState(SCE_C_WORD|activitySet); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_C_WORD2|activitySet); } else if (keywords4.InList(s)) { sc.ChangeState(SCE_C_GLOBALCLASS|activitySet); } else { int subStyle = classifierIdentifiers.ValueFor(s); if (subStyle >= 0) { sc.ChangeState(subStyle|activitySet); } } const bool literalString = sc.ch == '\"'; if (literalString || sc.ch == '\'') { size_t lenS = strlen(s); const bool raw = literalString && sc.chPrev == 'R' && !setInvalidRawFirst.Contains(sc.chNext); if (raw) s[lenS--] = '\0'; const bool valid = (lenS == 0) || ((lenS == 1) && ((s[0] == 'L') || (s[0] == 'u') || (s[0] == 'U'))) || ((lenS == 2) && literalString && (s[0] == 'u') && (s[1] == '8')); if (valid) { if (literalString) { if (raw) { // Set the style of the string prefix to SCE_C_STRINGRAW but then change to // SCE_C_DEFAULT as that allows the raw string start code to run. sc.ChangeState(SCE_C_STRINGRAW|activitySet); sc.SetState(SCE_C_DEFAULT|activitySet); } else { sc.ChangeState(SCE_C_STRING|activitySet); } } else { sc.ChangeState(SCE_C_CHARACTER|activitySet); } } else { sc.SetState(SCE_C_DEFAULT | activitySet); } } else { sc.SetState(SCE_C_DEFAULT|activitySet); } } break; case SCE_C_PREPROCESSOR: if (options.stylingWithinPreprocessor) { if (IsASpace(sc.ch)) { sc.SetState(SCE_C_DEFAULT|activitySet); } } else if (isStringInPreprocessor && (sc.Match('>') || sc.Match('\"') || sc.atLineEnd)) { isStringInPreprocessor = false; } else if (!isStringInPreprocessor) { if ((isIncludePreprocessor && sc.Match('<')) || sc.Match('\"')) { isStringInPreprocessor = true; } else if (sc.Match('/', '*')) { if (sc.Match("/**") || sc.Match("/*!")) { sc.SetState(SCE_C_PREPROCESSORCOMMENTDOC|activitySet); } else { sc.SetState(SCE_C_PREPROCESSORCOMMENT|activitySet); } sc.Forward(); // Eat the * } else if (sc.Match('/', '/')) { sc.SetState(SCE_C_DEFAULT|activitySet); } } break; case SCE_C_PREPROCESSORCOMMENT: case SCE_C_PREPROCESSORCOMMENTDOC: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_C_PREPROCESSOR|activitySet); continue; // Without advancing in case of '\'. } break; case SCE_C_COMMENT: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_C_DEFAULT|activitySet); } else { styleBeforeTaskMarker = SCE_C_COMMENT; highlightTaskMarker(sc, styler, activitySet, markerList, caseSensitive); } break; case SCE_C_COMMENTDOC: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_C_DEFAULT|activitySet); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = SCE_C_COMMENTDOC; sc.SetState(SCE_C_COMMENTDOCKEYWORD|activitySet); } } break; case SCE_C_COMMENTLINE: if (sc.atLineStart && !continuationLine) { sc.SetState(SCE_C_DEFAULT|activitySet); } else { styleBeforeTaskMarker = SCE_C_COMMENTLINE; highlightTaskMarker(sc, styler, activitySet, markerList, caseSensitive); } break; case SCE_C_COMMENTLINEDOC: if (sc.atLineStart && !continuationLine) { sc.SetState(SCE_C_DEFAULT|activitySet); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = SCE_C_COMMENTLINEDOC; sc.SetState(SCE_C_COMMENTDOCKEYWORD|activitySet); } } break; case SCE_C_COMMENTDOCKEYWORD: if ((styleBeforeDCKeyword == SCE_C_COMMENTDOC) && sc.Match('*', '/')) { sc.ChangeState(SCE_C_COMMENTDOCKEYWORDERROR); sc.Forward(); sc.ForwardSetState(SCE_C_DEFAULT|activitySet); seenDocKeyBrace = false; } else if (sc.ch == '[' || sc.ch == '{') { seenDocKeyBrace = true; } else if (!setDoxygen.Contains(sc.ch) && !(seenDocKeyBrace && (sc.ch == ',' || sc.ch == '.'))) { char s[100]; if (caseSensitive) { sc.GetCurrent(s, sizeof(s)); } else { sc.GetCurrentLowered(s, sizeof(s)); } if (!(IsASpace(sc.ch) || (sc.ch == 0))) { sc.ChangeState(SCE_C_COMMENTDOCKEYWORDERROR|activitySet); } else if (!keywords3.InList(s + 1)) { int subStyleCDKW = classifierDocKeyWords.ValueFor(s+1); if (subStyleCDKW >= 0) { sc.ChangeState(subStyleCDKW|activitySet); } else { sc.ChangeState(SCE_C_COMMENTDOCKEYWORDERROR|activitySet); } } sc.SetState(styleBeforeDCKeyword|activitySet); seenDocKeyBrace = false; } break; case SCE_C_STRING: if (sc.atLineEnd) { sc.ChangeState(SCE_C_STRINGEOL|activitySet); } else if (isIncludePreprocessor) { if (sc.ch == '>') { sc.ForwardSetState(SCE_C_DEFAULT|activitySet); isIncludePreprocessor = false; } } else if (sc.ch == '\\') { if (options.escapeSequence) { sc.SetState(SCE_C_ESCAPESEQUENCE|activitySet); escapeSeq.resetEscapeState(sc.chNext); } sc.Forward(); // Skip all characters after the backslash } else if (sc.ch == '\"') { if (sc.chNext == '_') { sc.ChangeState(SCE_C_USERLITERAL|activitySet); } else { sc.ForwardSetState(SCE_C_DEFAULT|activitySet); } } break; case SCE_C_ESCAPESEQUENCE: escapeSeq.digitsLeft--; if (!escapeSeq.atEscapeEnd(sc.ch)) { break; } if (sc.ch == '"') { sc.SetState(SCE_C_STRING|activitySet); sc.ForwardSetState(SCE_C_DEFAULT|activitySet); } else if (sc.ch == '\\') { escapeSeq.resetEscapeState(sc.chNext); sc.Forward(); } else { sc.SetState(SCE_C_STRING|activitySet); if (sc.atLineEnd) { sc.ChangeState(SCE_C_STRINGEOL|activitySet); } } break; case SCE_C_HASHQUOTEDSTRING: if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_C_DEFAULT|activitySet); } break; case SCE_C_STRINGRAW: if (sc.Match(rawStringTerminator.c_str())) { for (size_t termPos=rawStringTerminator.size(); termPos; termPos--) sc.Forward(); sc.SetState(SCE_C_DEFAULT|activitySet); rawStringTerminator = ""; } break; case SCE_C_CHARACTER: if (sc.atLineEnd) { sc.ChangeState(SCE_C_STRINGEOL|activitySet); } else if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\'') { if (sc.chNext == '_') { sc.ChangeState(SCE_C_USERLITERAL|activitySet); } else { sc.ForwardSetState(SCE_C_DEFAULT|activitySet); } } break; case SCE_C_REGEX: if (sc.atLineStart) { sc.SetState(SCE_C_DEFAULT|activitySet); } else if (! inRERange && sc.ch == '/') { sc.Forward(); while ((sc.ch < 0x80) && islower(sc.ch)) sc.Forward(); // gobble regex flags sc.SetState(SCE_C_DEFAULT|activitySet); } else if (sc.ch == '\\' && (static_cast(sc.currentPos+1) < lineEndNext)) { // Gobble up the escaped character sc.Forward(); } else if (sc.ch == '[') { inRERange = true; } else if (sc.ch == ']') { inRERange = false; } break; case SCE_C_STRINGEOL: if (sc.atLineStart) { sc.SetState(SCE_C_DEFAULT|activitySet); } break; case SCE_C_VERBATIM: if (options.verbatimStringsAllowEscapes && (sc.ch == '\\')) { sc.Forward(); // Skip all characters after the backslash } else if (sc.ch == '\"') { if (sc.chNext == '\"') { sc.Forward(); } else { sc.ForwardSetState(SCE_C_DEFAULT|activitySet); } } break; case SCE_C_TRIPLEVERBATIM: if (sc.Match(R"(""")")) { while (sc.Match('"')) { sc.Forward(); } sc.SetState(SCE_C_DEFAULT|activitySet); } break; case SCE_C_UUID: if (sc.atLineEnd || sc.ch == ')') { sc.SetState(SCE_C_DEFAULT|activitySet); } break; case SCE_C_TASKMARKER: if (isoperator(sc.ch) || IsASpace(sc.ch)) { sc.SetState(styleBeforeTaskMarker|activitySet); styleBeforeTaskMarker = SCE_C_DEFAULT; } } if (sc.atLineEnd && !atLineEndBeforeSwitch) { // State exit processing consumed characters up to end of line. lineCurrent++; lineEndNext = styler.LineEnd(lineCurrent); vlls.Add(lineCurrent, preproc); } // Determine if a new state should be entered. if (MaskActive(sc.state) == SCE_C_DEFAULT) { if (sc.Match('@', '\"')) { sc.SetState(SCE_C_VERBATIM|activitySet); sc.Forward(); } else if (options.triplequotedStrings && sc.Match(R"(""")")) { sc.SetState(SCE_C_TRIPLEVERBATIM|activitySet); sc.Forward(2); } else if (options.hashquotedStrings && sc.Match('#', '\"')) { sc.SetState(SCE_C_HASHQUOTEDSTRING|activitySet); sc.Forward(); } else if (options.backQuotedStrings && sc.Match('`')) { sc.SetState(SCE_C_STRINGRAW|activitySet); rawStringTerminator = "`"; } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { if (lastWordWasUUID) { sc.SetState(SCE_C_UUID|activitySet); lastWordWasUUID = false; } else { sc.SetState(SCE_C_NUMBER|activitySet); } } else if (!sc.atLineEnd && (setWordStart.Contains(sc.ch) || (sc.ch == '@'))) { if (lastWordWasUUID) { sc.SetState(SCE_C_UUID|activitySet); lastWordWasUUID = false; } else { sc.SetState(SCE_C_IDENTIFIER|activitySet); } } else if (sc.Match('/', '*')) { if (sc.Match("/**") || sc.Match("/*!")) { // Support of Qt/Doxygen doc. style sc.SetState(SCE_C_COMMENTDOC|activitySet); } else { sc.SetState(SCE_C_COMMENT|activitySet); } sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.Match('/', '/')) { if ((sc.Match("///") && !sc.Match("////")) || sc.Match("//!")) // Support of Qt/Doxygen doc. style sc.SetState(SCE_C_COMMENTLINEDOC|activitySet); else sc.SetState(SCE_C_COMMENTLINE|activitySet); } else if (sc.ch == '/' && (setOKBeforeRE.Contains(chPrevNonWhite) || followsReturnKeyword(sc, styler)) && (!setCouldBePostOp.Contains(chPrevNonWhite) || !FollowsPostfixOperator(sc, styler))) { sc.SetState(SCE_C_REGEX|activitySet); // JavaScript's RegEx inRERange = false; } else if (sc.ch == '\"') { if (sc.chPrev == 'R') { styler.Flush(); if (MaskActive(styler.StyleAt(sc.currentPos - 1)) == SCE_C_STRINGRAW) { sc.SetState(SCE_C_STRINGRAW|activitySet); rawStringTerminator = ")"; for (Sci_Position termPos = sc.currentPos + 1;; termPos++) { const char chTerminator = styler.SafeGetCharAt(termPos, '('); if (chTerminator == '(') break; rawStringTerminator += chTerminator; } rawStringTerminator += '\"'; } else { sc.SetState(SCE_C_STRING|activitySet); } } else { sc.SetState(SCE_C_STRING|activitySet); } isIncludePreprocessor = false; // ensure that '>' won't end the string } else if (isIncludePreprocessor && sc.ch == '<') { sc.SetState(SCE_C_STRING|activitySet); } else if (sc.ch == '\'') { sc.SetState(SCE_C_CHARACTER|activitySet); } else if (sc.ch == '#' && visibleChars == 0) { // Preprocessor commands are alone on their line sc.SetState(SCE_C_PREPROCESSOR|activitySet); // Skip whitespace between # and preprocessor word do { sc.Forward(); } while ((sc.ch == ' ' || sc.ch == '\t') && sc.More()); if (sc.atLineEnd) { sc.SetState(SCE_C_DEFAULT|activitySet); } else if (sc.Match("include")) { isIncludePreprocessor = true; } else { if (options.trackPreprocessor) { if (sc.Match("ifdef") || sc.Match("ifndef")) { const bool isIfDef = sc.Match("ifdef"); const int startRest = isIfDef ? 5 : 6; std::string restOfLine = GetRestOfLine(styler, sc.currentPos + startRest + 1, false); bool foundDef = preprocessorDefinitions.find(restOfLine) != preprocessorDefinitions.end(); preproc.StartSection(isIfDef == foundDef); } else if (sc.Match("if")) { std::string restOfLine = GetRestOfLine(styler, sc.currentPos + 2, true); const bool ifGood = EvaluateExpression(restOfLine, preprocessorDefinitions); preproc.StartSection(ifGood); } else if (sc.Match("else")) { if (!preproc.CurrentIfTaken()) { preproc.InvertCurrentLevel(); activitySet = preproc.IsInactive() ? activeFlag : 0; if (!activitySet) sc.ChangeState(SCE_C_PREPROCESSOR|activitySet); } else if (!preproc.IsInactive()) { preproc.InvertCurrentLevel(); activitySet = preproc.IsInactive() ? activeFlag : 0; if (!activitySet) sc.ChangeState(SCE_C_PREPROCESSOR|activitySet); } } else if (sc.Match("elif")) { // Ensure only one chosen out of #if .. #elif .. #elif .. #else .. #endif if (!preproc.CurrentIfTaken()) { // Similar to #if std::string restOfLine = GetRestOfLine(styler, sc.currentPos + 4, true); const bool ifGood = EvaluateExpression(restOfLine, preprocessorDefinitions); if (ifGood) { preproc.InvertCurrentLevel(); activitySet = preproc.IsInactive() ? activeFlag : 0; if (!activitySet) sc.ChangeState(SCE_C_PREPROCESSOR|activitySet); } } else if (!preproc.IsInactive()) { preproc.InvertCurrentLevel(); activitySet = preproc.IsInactive() ? activeFlag : 0; if (!activitySet) sc.ChangeState(SCE_C_PREPROCESSOR|activitySet); } } else if (sc.Match("endif")) { preproc.EndSection(); activitySet = preproc.IsInactive() ? activeFlag : 0; sc.ChangeState(SCE_C_PREPROCESSOR|activitySet); } else if (sc.Match("define")) { if (options.updatePreprocessor && !preproc.IsInactive()) { std::string restOfLine = GetRestOfLine(styler, sc.currentPos + 6, true); size_t startName = 0; while ((startName < restOfLine.length()) && IsSpaceOrTab(restOfLine[startName])) startName++; size_t endName = startName; while ((endName < restOfLine.length()) && setWord.Contains(static_cast(restOfLine[endName]))) endName++; std::string key = restOfLine.substr(startName, endName-startName); if ((endName < restOfLine.length()) && (restOfLine.at(endName) == '(')) { // Macro size_t endArgs = endName; while ((endArgs < restOfLine.length()) && (restOfLine[endArgs] != ')')) endArgs++; std::string args = restOfLine.substr(endName + 1, endArgs - endName - 1); size_t startValue = endArgs+1; while ((startValue < restOfLine.length()) && IsSpaceOrTab(restOfLine[startValue])) startValue++; std::string value; if (startValue < restOfLine.length()) value = restOfLine.substr(startValue); preprocessorDefinitions[key] = SymbolValue(value, args); ppDefineHistory.push_back(PPDefinition(lineCurrent, key, value, false, args)); definitionsChanged = true; } else { // Value size_t startValue = endName; while ((startValue < restOfLine.length()) && IsSpaceOrTab(restOfLine[startValue])) startValue++; std::string value = restOfLine.substr(startValue); if (OnlySpaceOrTab(value)) value = "1"; // No value defaults to 1 preprocessorDefinitions[key] = value; ppDefineHistory.push_back(PPDefinition(lineCurrent, key, value)); definitionsChanged = true; } } } else if (sc.Match("undef")) { if (options.updatePreprocessor && !preproc.IsInactive()) { const std::string restOfLine = GetRestOfLine(styler, sc.currentPos + 5, false); std::vector tokens = Tokenize(restOfLine); if (tokens.size() >= 1) { const std::string key = tokens[0]; preprocessorDefinitions.erase(key); ppDefineHistory.push_back(PPDefinition(lineCurrent, key, "", true)); definitionsChanged = true; } } } } } } else if (isoperator(sc.ch)) { sc.SetState(SCE_C_OPERATOR|activitySet); } } if (!IsASpace(sc.ch) && !IsSpaceEquiv(MaskActive(sc.state))) { chPrevNonWhite = sc.ch; visibleChars++; } continuationLine = false; sc.Forward(); } const bool rawStringsChanged = rawStringTerminators.Merge(rawSTNew, lineCurrent); if (definitionsChanged || rawStringsChanged) styler.ChangeLexerState(startPos, startPos + length); sc.Complete(); } // Store both the current line's fold level and the next lines in the // level store to make it easy to pick up with each increment // and to make it possible to fiddle the current level for "} else {". void SCI_METHOD LexerCPP::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { if (!options.fold) return; LexAccessor styler(pAccess); const Sci_PositionU endPos = startPos + length; int visibleChars = 0; bool inLineComment = false; Sci_Position lineCurrent = styler.GetLine(startPos); int levelCurrent = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; Sci_PositionU lineStartNext = styler.LineStart(lineCurrent+1); int levelMinCurrent = levelCurrent; int levelNext = levelCurrent; char chNext = styler[startPos]; int styleNext = MaskActive(styler.StyleAt(startPos)); int style = MaskActive(initStyle); const bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty(); for (Sci_PositionU i = startPos; i < endPos; i++) { const char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); const int stylePrev = style; style = styleNext; styleNext = MaskActive(styler.StyleAt(i + 1)); const bool atEOL = i == (lineStartNext-1); if ((style == SCE_C_COMMENTLINE) || (style == SCE_C_COMMENTLINEDOC)) inLineComment = true; if (options.foldComment && options.foldCommentMultiline && IsStreamCommentStyle(style) && !inLineComment) { if (!IsStreamCommentStyle(stylePrev)) { levelNext++; } else if (!IsStreamCommentStyle(styleNext) && !atEOL) { // Comments don't end at end of line and the next character may be unstyled. levelNext--; } } if (options.foldComment && options.foldCommentExplicit && ((style == SCE_C_COMMENTLINE) || options.foldExplicitAnywhere)) { if (userDefinedFoldMarkers) { if (styler.Match(i, options.foldExplicitStart.c_str())) { levelNext++; } else if (styler.Match(i, options.foldExplicitEnd.c_str())) { levelNext--; } } else { if ((ch == '/') && (chNext == '/')) { const char chNext2 = styler.SafeGetCharAt(i + 2); if (chNext2 == '{') { levelNext++; } else if (chNext2 == '}') { levelNext--; } } } } if (options.foldPreprocessor && (style == SCE_C_PREPROCESSOR)) { if (ch == '#') { Sci_PositionU j = i + 1; while ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) { j++; } if (styler.Match(j, "region") || styler.Match(j, "if")) { levelNext++; } else if (styler.Match(j, "end")) { levelNext--; } if (options.foldPreprocessorAtElse && (styler.Match(j, "else") || styler.Match(j, "elif"))) { levelMinCurrent--; } } } if (options.foldSyntaxBased && (style == SCE_C_OPERATOR)) { if (ch == '{' || ch == '[' || ch == '(') { // Measure the minimum before a '{' to allow // folding on "} else {" if (options.foldAtElse && levelMinCurrent > levelNext) { levelMinCurrent = levelNext; } levelNext++; } else if (ch == '}' || ch == ']' || ch == ')') { levelNext--; } } if (!IsASpace(ch)) visibleChars++; if (atEOL || (i == endPos-1)) { int levelUse = levelCurrent; if ((options.foldSyntaxBased && options.foldAtElse) || (options.foldPreprocessor && options.foldPreprocessorAtElse) ) { levelUse = levelMinCurrent; } int lev = levelUse | levelNext << 16; if (visibleChars == 0 && options.foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if (levelUse < levelNext) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; lineStartNext = styler.LineStart(lineCurrent+1); levelCurrent = levelNext; levelMinCurrent = levelCurrent; if (atEOL && (i == static_cast(styler.Length()-1))) { // There is an empty line at end of file so give it same level and empty styler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG); } visibleChars = 0; inLineComment = false; } } } void LexerCPP::EvaluateTokens(std::vector &tokens, const SymbolTable &preprocessorDefinitions) { // Remove whitespace tokens tokens.erase(std::remove_if(tokens.begin(), tokens.end(), OnlySpaceOrTab), tokens.end()); // Evaluate defined statements to either 0 or 1 for (size_t i=0; (i+1)) SymbolTable::const_iterator it = preprocessorDefinitions.find(tokens[i+2]); if (it != preprocessorDefinitions.end()) { val = "1"; } tokens.erase(tokens.begin() + i + 1, tokens.begin() + i + 4); } else { // Spurious '(' so erase as more likely to result in false tokens.erase(tokens.begin() + i + 1, tokens.begin() + i + 2); } } else { // defined SymbolTable::const_iterator it = preprocessorDefinitions.find(tokens[i+1]); if (it != preprocessorDefinitions.end()) { val = "1"; } tokens.erase(tokens.begin() + i + 1, tokens.begin() + i + 2); } tokens[i] = val; } else { i++; } } // Evaluate identifiers const size_t maxIterations = 100; size_t iterations = 0; // Limit number of iterations in case there is a recursive macro. for (size_t i = 0; (i(tokens[i][0]))) { SymbolTable::const_iterator it = preprocessorDefinitions.find(tokens[i]); if (it != preprocessorDefinitions.end()) { // Tokenize value std::vector macroTokens = Tokenize(it->second.value); if (it->second.IsMacro()) { if ((i + 1 < tokens.size()) && (tokens.at(i + 1) == "(")) { // Create map of argument name to value std::vector argumentNames = StringSplit(it->second.arguments, ','); std::map arguments; size_t arg = 0; size_t tok = i+2; while ((tok < tokens.size()) && (arg < argumentNames.size()) && (tokens.at(tok) != ")")) { if (tokens.at(tok) != ",") { arguments[argumentNames.at(arg)] = tokens.at(tok); arg++; } tok++; } // Remove invocation tokens.erase(tokens.begin() + i, tokens.begin() + tok + 1); // Substitute values into macro macroTokens.erase(std::remove_if(macroTokens.begin(), macroTokens.end(), OnlySpaceOrTab), macroTokens.end()); for (size_t iMacro = 0; iMacro < macroTokens.size();) { if (setWordStart.Contains(static_cast(macroTokens[iMacro][0]))) { std::map::const_iterator itFind = arguments.find(macroTokens[iMacro]); if (itFind != arguments.end()) { // TODO: Possible that value will be expression so should insert tokenized form macroTokens[iMacro] = itFind->second; } } iMacro++; } // Insert results back into tokens tokens.insert(tokens.begin() + i, macroTokens.begin(), macroTokens.end()); } else { i++; } } else { // Remove invocation tokens.erase(tokens.begin() + i); // Insert results back into tokens tokens.insert(tokens.begin() + i, macroTokens.begin(), macroTokens.end()); } } else { // Identifier not found and value defaults to zero tokens[i] = "0"; } } else { i++; } } // Find bracketed subexpressions and recurse on them BracketPair bracketPair = FindBracketPair(tokens); while (bracketPair.itBracket != tokens.end()) { std::vector inBracket(bracketPair.itBracket + 1, bracketPair.itEndBracket); EvaluateTokens(inBracket, preprocessorDefinitions); // The insertion is done before the removal because there were failures with the opposite approach tokens.insert(bracketPair.itBracket, inBracket.begin(), inBracket.end()); bracketPair = FindBracketPair(tokens); tokens.erase(bracketPair.itBracket, bracketPair.itEndBracket + 1); bracketPair = FindBracketPair(tokens); } // Evaluate logical negations for (size_t j=0; (j+1)::iterator itInsert = tokens.erase(tokens.begin() + j, tokens.begin() + j + 2); tokens.insert(itInsert, isTrue ? "1" : "0"); } else { j++; } } // Evaluate expressions in precedence order enum precedence { precArithmetic, precRelative, precLogical }; for (int prec=precArithmetic; prec <= precLogical; prec++) { // Looking at 3 tokens at a time so end at 2 before end for (size_t k=0; (k+2)") result = valA > valB; else if (tokens[k+1] == ">=") result = valA >= valB; else if (tokens[k+1] == "==") result = valA == valB; else if (tokens[k+1] == "!=") result = valA != valB; else if (tokens[k+1] == "||") result = valA || valB; else if (tokens[k+1] == "&&") result = valA && valB; char sResult[30]; sprintf(sResult, "%d", result); std::vector::iterator itInsert = tokens.erase(tokens.begin() + k, tokens.begin() + k + 3); tokens.insert(itInsert, sResult); } else { k++; } } } } std::vector LexerCPP::Tokenize(const std::string &expr) const { // Break into tokens std::vector tokens; const char *cp = expr.c_str(); while (*cp) { std::string word; if (setWord.Contains(static_cast(*cp))) { // Identifiers and numbers while (setWord.Contains(static_cast(*cp))) { word += *cp; cp++; } } else if (IsSpaceOrTab(*cp)) { while (IsSpaceOrTab(*cp)) { word += *cp; cp++; } } else if (setRelOp.Contains(static_cast(*cp))) { word += *cp; cp++; if (setRelOp.Contains(static_cast(*cp))) { word += *cp; cp++; } } else if (setLogicalOp.Contains(static_cast(*cp))) { word += *cp; cp++; if (setLogicalOp.Contains(static_cast(*cp))) { word += *cp; cp++; } } else { // Should handle strings, characters, and comments here word += *cp; cp++; } tokens.push_back(word); } return tokens; } bool LexerCPP::EvaluateExpression(const std::string &expr, const SymbolTable &preprocessorDefinitions) { std::vector tokens = Tokenize(expr); EvaluateTokens(tokens, preprocessorDefinitions); // "0" or "" -> false else true const bool isFalse = tokens.empty() || ((tokens.size() == 1) && ((tokens[0] == "") || tokens[0] == "0")); return !isFalse; } LexerModule lmCPP(SCLEX_CPP, LexerCPP::LexerFactoryCPP, "cpp", cppWordLists); LexerModule lmCPPNoCase(SCLEX_CPPNOCASE, LexerCPP::LexerFactoryCPPInsensitive, "cppnocase", cppWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexCSS.cpp ================================================ // Scintilla source code edit control // Encoding: UTF-8 /** @file LexCSS.cxx ** Lexer for Cascading Style Sheets ** Written by Jakub Vrána ** Improved by Philippe Lhoste (CSS2) ** Improved by Ross McKay (SCSS mode; see http://sass-lang.com/ ) **/ // Copyright 1998-2002 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. // TODO: handle SCSS nested properties like font: { weight: bold; size: 1em; } // TODO: handle SCSS interpolation: #{} // TODO: add features for Less if somebody feels like contributing; http://lesscss.org/ // TODO: refactor this monster so that the next poor slob can read it! #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordChar(const unsigned int ch) { /* FIXME: * The CSS spec allows "ISO 10646 characters U+00A1 and higher" to be treated as word chars. * Unfortunately, we are only getting string bytes here, and not full unicode characters. We cannot guarantee * that our byte is between U+0080 - U+00A0 (to return false), so we have to allow all characters U+0080 and higher */ return ch >= 0x80 || isalnum(ch) || ch == '-' || ch == '_'; } inline bool IsCssOperator(const int ch) { if (!((ch < 0x80) && isalnum(ch)) && (ch == '{' || ch == '}' || ch == ':' || ch == ',' || ch == ';' || ch == '.' || ch == '#' || ch == '!' || ch == '@' || /* CSS2 */ ch == '*' || ch == '>' || ch == '+' || ch == '=' || ch == '~' || ch == '|' || ch == '[' || ch == ']' || ch == '(' || ch == ')')) { return true; } return false; } // look behind (from start of document to our start position) to determine current nesting level inline int NestingLevelLookBehind(Sci_PositionU startPos, Accessor &styler) { int ch; int nestingLevel = 0; for (Sci_PositionU i = 0; i < startPos; i++) { ch = styler.SafeGetCharAt(i); if (ch == '{') nestingLevel++; else if (ch == '}') nestingLevel--; } return nestingLevel; } static void ColouriseCssDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &css1Props = *keywordlists[0]; WordList &pseudoClasses = *keywordlists[1]; WordList &css2Props = *keywordlists[2]; WordList &css3Props = *keywordlists[3]; WordList &pseudoElements = *keywordlists[4]; WordList &exProps = *keywordlists[5]; WordList &exPseudoClasses = *keywordlists[6]; WordList &exPseudoElements = *keywordlists[7]; StyleContext sc(startPos, length, initStyle, styler); int lastState = -1; // before operator int lastStateC = -1; // before comment int lastStateS = -1; // before single-quoted/double-quoted string int lastStateVar = -1; // before variable (SCSS) int lastStateVal = -1; // before value (SCSS) int op = ' '; // last operator int opPrev = ' '; // last operator bool insideParentheses = false; // true if currently in a CSS url() or similar construct // property lexer.css.scss.language // Set to 1 for Sassy CSS (.scss) bool isScssDocument = styler.GetPropertyInt("lexer.css.scss.language") != 0; // property lexer.css.less.language // Set to 1 for Less CSS (.less) bool isLessDocument = styler.GetPropertyInt("lexer.css.less.language") != 0; // property lexer.css.hss.language // Set to 1 for HSS (.hss) bool isHssDocument = styler.GetPropertyInt("lexer.css.hss.language") != 0; // SCSS/LESS/HSS have the concept of variable bool hasVariables = isScssDocument || isLessDocument || isHssDocument; char varPrefix = 0; if (hasVariables) varPrefix = isLessDocument ? '@' : '$'; // SCSS/LESS/HSS support single-line comments typedef enum _CommentModes { eCommentBlock = 0, eCommentLine = 1} CommentMode; CommentMode comment_mode = eCommentBlock; bool hasSingleLineComments = isScssDocument || isLessDocument || isHssDocument; // must keep track of nesting level in document types that support it (SCSS/LESS/HSS) bool hasNesting = false; int nestingLevel = 0; if (isScssDocument || isLessDocument || isHssDocument) { hasNesting = true; nestingLevel = NestingLevelLookBehind(startPos, styler); } // "the loop" for (; sc.More(); sc.Forward()) { if (sc.state == SCE_CSS_COMMENT && ((comment_mode == eCommentBlock && sc.Match('*', '/')) || (comment_mode == eCommentLine && sc.atLineEnd))) { if (lastStateC == -1) { // backtrack to get last state: // comments are like whitespace, so we must return to the previous state Sci_PositionU i = startPos; for (; i > 0; i--) { if ((lastStateC = styler.StyleAt(i-1)) != SCE_CSS_COMMENT) { if (lastStateC == SCE_CSS_OPERATOR) { op = styler.SafeGetCharAt(i-1); opPrev = styler.SafeGetCharAt(i-2); while (--i) { lastState = styler.StyleAt(i-1); if (lastState != SCE_CSS_OPERATOR && lastState != SCE_CSS_COMMENT) break; } if (i == 0) lastState = SCE_CSS_DEFAULT; } break; } } if (i == 0) lastStateC = SCE_CSS_DEFAULT; } if (comment_mode == eCommentBlock) { sc.Forward(); sc.ForwardSetState(lastStateC); } else /* eCommentLine */ { sc.SetState(lastStateC); } } if (sc.state == SCE_CSS_COMMENT) continue; if (sc.state == SCE_CSS_DOUBLESTRING || sc.state == SCE_CSS_SINGLESTRING) { if (sc.ch != (sc.state == SCE_CSS_DOUBLESTRING ? '\"' : '\'')) continue; Sci_PositionU i = sc.currentPos; while (i && styler[i-1] == '\\') i--; if ((sc.currentPos - i) % 2 == 1) continue; sc.ForwardSetState(lastStateS); } if (sc.state == SCE_CSS_OPERATOR) { if (op == ' ') { Sci_PositionU i = startPos; op = styler.SafeGetCharAt(i-1); opPrev = styler.SafeGetCharAt(i-2); while (--i) { lastState = styler.StyleAt(i-1); if (lastState != SCE_CSS_OPERATOR && lastState != SCE_CSS_COMMENT) break; } } switch (op) { case '@': if (lastState == SCE_CSS_DEFAULT || hasNesting) sc.SetState(SCE_CSS_DIRECTIVE); break; case '>': case '+': if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) sc.SetState(SCE_CSS_DEFAULT); break; case '[': if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) sc.SetState(SCE_CSS_ATTRIBUTE); break; case ']': if (lastState == SCE_CSS_ATTRIBUTE) sc.SetState(SCE_CSS_TAG); break; case '{': nestingLevel++; switch (lastState) { case SCE_CSS_MEDIA: sc.SetState(SCE_CSS_DEFAULT); break; case SCE_CSS_TAG: case SCE_CSS_DIRECTIVE: sc.SetState(SCE_CSS_IDENTIFIER); break; } break; case '}': if (--nestingLevel < 0) nestingLevel = 0; switch (lastState) { case SCE_CSS_DEFAULT: case SCE_CSS_VALUE: case SCE_CSS_IMPORTANT: case SCE_CSS_IDENTIFIER: case SCE_CSS_IDENTIFIER2: case SCE_CSS_IDENTIFIER3: if (hasNesting) sc.SetState(nestingLevel > 0 ? SCE_CSS_IDENTIFIER : SCE_CSS_DEFAULT); else sc.SetState(SCE_CSS_DEFAULT); break; } break; case '(': if (lastState == SCE_CSS_PSEUDOCLASS) sc.SetState(SCE_CSS_TAG); else if (lastState == SCE_CSS_EXTENDED_PSEUDOCLASS) sc.SetState(SCE_CSS_EXTENDED_PSEUDOCLASS); break; case ')': if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS || lastState == SCE_CSS_PSEUDOELEMENT || lastState == SCE_CSS_EXTENDED_PSEUDOELEMENT) sc.SetState(SCE_CSS_TAG); break; case ':': switch (lastState) { case SCE_CSS_TAG: case SCE_CSS_DEFAULT: case SCE_CSS_CLASS: case SCE_CSS_ID: case SCE_CSS_PSEUDOCLASS: case SCE_CSS_EXTENDED_PSEUDOCLASS: case SCE_CSS_UNKNOWN_PSEUDOCLASS: case SCE_CSS_PSEUDOELEMENT: case SCE_CSS_EXTENDED_PSEUDOELEMENT: sc.SetState(SCE_CSS_PSEUDOCLASS); break; case SCE_CSS_IDENTIFIER: case SCE_CSS_IDENTIFIER2: case SCE_CSS_IDENTIFIER3: case SCE_CSS_EXTENDED_IDENTIFIER: case SCE_CSS_UNKNOWN_IDENTIFIER: case SCE_CSS_VARIABLE: sc.SetState(SCE_CSS_VALUE); lastStateVal = lastState; break; } break; case '.': if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) sc.SetState(SCE_CSS_CLASS); break; case '#': if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT || lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_EXTENDED_PSEUDOCLASS || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) sc.SetState(SCE_CSS_ID); break; case ',': case '|': case '~': if (lastState == SCE_CSS_TAG) sc.SetState(SCE_CSS_DEFAULT); break; case ';': switch (lastState) { case SCE_CSS_DIRECTIVE: if (hasNesting) { sc.SetState(nestingLevel > 0 ? SCE_CSS_IDENTIFIER : SCE_CSS_DEFAULT); } else { sc.SetState(SCE_CSS_DEFAULT); } break; case SCE_CSS_VALUE: case SCE_CSS_IMPORTANT: // data URLs can have semicolons; simplistically check for wrapping parentheses and move along if (insideParentheses) { sc.SetState(lastState); } else { if (lastStateVal == SCE_CSS_VARIABLE) { sc.SetState(SCE_CSS_DEFAULT); } else { sc.SetState(SCE_CSS_IDENTIFIER); } } break; case SCE_CSS_VARIABLE: if (lastStateVar == SCE_CSS_VALUE) { // data URLs can have semicolons; simplistically check for wrapping parentheses and move along if (insideParentheses) { sc.SetState(SCE_CSS_VALUE); } else { sc.SetState(SCE_CSS_IDENTIFIER); } } else { sc.SetState(SCE_CSS_DEFAULT); } break; } break; case '!': if (lastState == SCE_CSS_VALUE) sc.SetState(SCE_CSS_IMPORTANT); break; } } if (sc.ch == '*' && sc.state == SCE_CSS_DEFAULT) { sc.SetState(SCE_CSS_TAG); continue; } // check for inside parentheses (whether part of an "operator" or not) if (sc.ch == '(') insideParentheses = true; else if (sc.ch == ')') insideParentheses = false; // SCSS special modes if (hasVariables) { // variable name if (sc.ch == varPrefix) { switch (sc.state) { case SCE_CSS_DEFAULT: if (isLessDocument) // give priority to pseudo elements break; // Falls through. case SCE_CSS_VALUE: lastStateVar = sc.state; sc.SetState(SCE_CSS_VARIABLE); continue; } } if (sc.state == SCE_CSS_VARIABLE) { if (IsAWordChar(sc.ch)) { // still looking at the variable name continue; } if (lastStateVar == SCE_CSS_VALUE) { // not looking at the variable name any more, and it was part of a value sc.SetState(SCE_CSS_VALUE); } } // nested rule parent selector if (sc.ch == '&') { switch (sc.state) { case SCE_CSS_DEFAULT: case SCE_CSS_IDENTIFIER: sc.SetState(SCE_CSS_TAG); continue; } } } // nesting rules that apply to SCSS and Less if (hasNesting) { // check for nested rule selector if (sc.state == SCE_CSS_IDENTIFIER && (IsAWordChar(sc.ch) || sc.ch == ':' || sc.ch == '.' || sc.ch == '#')) { // look ahead to see whether { comes before next ; and } Sci_PositionU endPos = startPos + length; int ch; for (Sci_PositionU i = sc.currentPos; i < endPos; i++) { ch = styler.SafeGetCharAt(i); if (ch == ';' || ch == '}') break; if (ch == '{') { sc.SetState(SCE_CSS_DEFAULT); continue; } } } } if (IsAWordChar(sc.ch)) { if (sc.state == SCE_CSS_DEFAULT) sc.SetState(SCE_CSS_TAG); continue; } if (IsAWordChar(sc.chPrev) && ( sc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_IDENTIFIER2 || sc.state == SCE_CSS_IDENTIFIER3 || sc.state == SCE_CSS_EXTENDED_IDENTIFIER || sc.state == SCE_CSS_UNKNOWN_IDENTIFIER || sc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_PSEUDOELEMENT || sc.state == SCE_CSS_EXTENDED_PSEUDOCLASS || sc.state == SCE_CSS_EXTENDED_PSEUDOELEMENT || sc.state == SCE_CSS_UNKNOWN_PSEUDOCLASS || sc.state == SCE_CSS_IMPORTANT || sc.state == SCE_CSS_DIRECTIVE )) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); char *s2 = s; while (*s2 && !IsAWordChar(*s2)) s2++; switch (sc.state) { case SCE_CSS_IDENTIFIER: case SCE_CSS_IDENTIFIER2: case SCE_CSS_IDENTIFIER3: case SCE_CSS_EXTENDED_IDENTIFIER: case SCE_CSS_UNKNOWN_IDENTIFIER: if (css1Props.InList(s2)) sc.ChangeState(SCE_CSS_IDENTIFIER); else if (css2Props.InList(s2)) sc.ChangeState(SCE_CSS_IDENTIFIER2); else if (css3Props.InList(s2)) sc.ChangeState(SCE_CSS_IDENTIFIER3); else if (exProps.InList(s2)) sc.ChangeState(SCE_CSS_EXTENDED_IDENTIFIER); else sc.ChangeState(SCE_CSS_UNKNOWN_IDENTIFIER); break; case SCE_CSS_PSEUDOCLASS: case SCE_CSS_PSEUDOELEMENT: case SCE_CSS_EXTENDED_PSEUDOCLASS: case SCE_CSS_EXTENDED_PSEUDOELEMENT: case SCE_CSS_UNKNOWN_PSEUDOCLASS: if (op == ':' && opPrev != ':' && pseudoClasses.InList(s2)) sc.ChangeState(SCE_CSS_PSEUDOCLASS); else if (opPrev == ':' && pseudoElements.InList(s2)) sc.ChangeState(SCE_CSS_PSEUDOELEMENT); else if ((op == ':' || (op == '(' && lastState == SCE_CSS_EXTENDED_PSEUDOCLASS)) && opPrev != ':' && exPseudoClasses.InList(s2)) sc.ChangeState(SCE_CSS_EXTENDED_PSEUDOCLASS); else if (opPrev == ':' && exPseudoElements.InList(s2)) sc.ChangeState(SCE_CSS_EXTENDED_PSEUDOELEMENT); else sc.ChangeState(SCE_CSS_UNKNOWN_PSEUDOCLASS); break; case SCE_CSS_IMPORTANT: if (strcmp(s2, "important") != 0) sc.ChangeState(SCE_CSS_VALUE); break; case SCE_CSS_DIRECTIVE: if (op == '@' && strcmp(s2, "media") == 0) sc.ChangeState(SCE_CSS_MEDIA); break; } } if (sc.ch != '.' && sc.ch != ':' && sc.ch != '#' && ( sc.state == SCE_CSS_CLASS || sc.state == SCE_CSS_ID || (sc.ch != '(' && sc.ch != ')' && ( /* This line of the condition makes it possible to extend pseudo-classes with parentheses */ sc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_PSEUDOELEMENT || sc.state == SCE_CSS_EXTENDED_PSEUDOCLASS || sc.state == SCE_CSS_EXTENDED_PSEUDOELEMENT || sc.state == SCE_CSS_UNKNOWN_PSEUDOCLASS )) )) sc.SetState(SCE_CSS_TAG); if (sc.Match('/', '*')) { lastStateC = sc.state; comment_mode = eCommentBlock; sc.SetState(SCE_CSS_COMMENT); sc.Forward(); } else if (hasSingleLineComments && sc.Match('/', '/') && !insideParentheses) { // note that we've had to treat ([...]// as the start of a URL not a comment, e.g. url(http://example.com), url(//example.com) lastStateC = sc.state; comment_mode = eCommentLine; sc.SetState(SCE_CSS_COMMENT); sc.Forward(); } else if ((sc.state == SCE_CSS_VALUE || sc.state == SCE_CSS_ATTRIBUTE) && (sc.ch == '\"' || sc.ch == '\'')) { lastStateS = sc.state; sc.SetState((sc.ch == '\"' ? SCE_CSS_DOUBLESTRING : SCE_CSS_SINGLESTRING)); } else if (IsCssOperator(sc.ch) && (sc.state != SCE_CSS_ATTRIBUTE || sc.ch == ']') && (sc.state != SCE_CSS_VALUE || sc.ch == ';' || sc.ch == '}' || sc.ch == '!') && ((sc.state != SCE_CSS_DIRECTIVE && sc.state != SCE_CSS_MEDIA) || sc.ch == ';' || sc.ch == '{') ) { if (sc.state != SCE_CSS_OPERATOR) lastState = sc.state; sc.SetState(SCE_CSS_OPERATOR); op = sc.ch; opPrev = sc.chPrev; } } sc.Complete(); } static void FoldCSSDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { bool foldComment = styler.GetPropertyInt("fold.comment") != 0; bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; bool inComment = (styler.StyleAt(startPos-1) == SCE_CSS_COMMENT); for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int style = styler.StyleAt(i); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (foldComment) { if (!inComment && (style == SCE_CSS_COMMENT)) levelCurrent++; else if (inComment && (style != SCE_CSS_COMMENT)) levelCurrent--; inComment = (style == SCE_CSS_COMMENT); } if (style == SCE_CSS_OPERATOR) { if (ch == '{') { levelCurrent++; } else if (ch == '}') { levelCurrent--; } } if (atEOL) { int lev = levelPrev; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const cssWordListDesc[] = { "CSS1 Properties", "Pseudo-classes", "CSS2 Properties", "CSS3 Properties", "Pseudo-elements", "Browser-Specific CSS Properties", "Browser-Specific Pseudo-classes", "Browser-Specific Pseudo-elements", 0 }; LexerModule lmCss(SCLEX_CSS, ColouriseCssDoc, "css", FoldCSSDoc, cssWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexCaml.cpp ================================================ // Scintilla source code edit control /** @file LexCaml.cxx ** Lexer for Objective Caml. **/ // Copyright 2005-2009 by Robert Roessler // The License.txt file describes the conditions under which this software may be distributed. /* Release History 20050204 Initial release. 20050205 Quick compiler standards/"cleanliness" adjustment. 20050206 Added cast for IsLeadByte(). 20050209 Changes to "external" build support. 20050306 Fix for 1st-char-in-doc "corner" case. 20050502 Fix for [harmless] one-past-the-end coloring. 20050515 Refined numeric token recognition logic. 20051125 Added 2nd "optional" keywords class. 20051129 Support "magic" (read-only) comments for RCaml. 20051204 Swtich to using StyleContext infrastructure. 20090629 Add full Standard ML '97 support. */ #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "PropSetSimple.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #if defined(__clang__) #pragma clang diagnostic ignored "-Wcomma" #endif // Since the Microsoft __iscsym[f] funcs are not ANSI... inline int iscaml(int c) {return isalnum(c) || c == '_';} inline int iscamlf(int c) {return isalpha(c) || c == '_';} static const int baseT[24] = { 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A - L */ 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,16 /* M - X */ }; using namespace Scintilla; #ifdef BUILD_AS_EXTERNAL_LEXER /* (actually seems to work!) */ #include #include "WindowAccessor.h" #include "ExternalLexer.h" #undef EXT_LEXER_DECL #define EXT_LEXER_DECL __declspec( dllexport ) __stdcall #if PLAT_WIN #include #endif static void ColouriseCamlDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler); static void FoldCamlDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler); static void InternalLexOrFold(int lexOrFold, Sci_PositionU startPos, Sci_Position length, int initStyle, char *words[], WindowID window, char *props); static const char* LexerName = "caml"; #ifdef TRACE void Platform::DebugPrintf(const char *format, ...) { char buffer[2000]; va_list pArguments; va_start(pArguments, format); vsprintf(buffer,format,pArguments); va_end(pArguments); Platform::DebugDisplay(buffer); } #else void Platform::DebugPrintf(const char *, ...) { } #endif bool Platform::IsDBCSLeadByte(int codePage, char ch) { return ::IsDBCSLeadByteEx(codePage, ch) != 0; } long Platform::SendScintilla(WindowID w, unsigned int msg, unsigned long wParam, long lParam) { return ::SendMessage(reinterpret_cast(w), msg, wParam, lParam); } long Platform::SendScintillaPointer(WindowID w, unsigned int msg, unsigned long wParam, void *lParam) { return ::SendMessage(reinterpret_cast(w), msg, wParam, reinterpret_cast(lParam)); } void EXT_LEXER_DECL Fold(unsigned int lexer, Sci_PositionU startPos, Sci_Position length, int initStyle, char *words[], WindowID window, char *props) { // below useless evaluation(s) to supress "not used" warnings lexer; // build expected data structures and do the Fold InternalLexOrFold(1, startPos, length, initStyle, words, window, props); } int EXT_LEXER_DECL GetLexerCount() { return 1; // just us [Objective] Caml lexers here! } void EXT_LEXER_DECL GetLexerName(unsigned int Index, char *name, int buflength) { // below useless evaluation(s) to supress "not used" warnings Index; // return as much of our lexer name as will fit (what's up with Index?) if (buflength > 0) { buflength--; int n = strlen(LexerName); if (n > buflength) n = buflength; memcpy(name, LexerName, n), name[n] = '\0'; } } void EXT_LEXER_DECL Lex(unsigned int lexer, Sci_PositionU startPos, Sci_Position length, int initStyle, char *words[], WindowID window, char *props) { // below useless evaluation(s) to supress "not used" warnings lexer; // build expected data structures and do the Lex InternalLexOrFold(0, startPos, length, initStyle, words, window, props); } static void InternalLexOrFold(int foldOrLex, Sci_PositionU startPos, Sci_Position length, int initStyle, char *words[], WindowID window, char *props) { // create and initialize a WindowAccessor (including contained PropSet) PropSetSimple ps; ps.SetMultiple(props); WindowAccessor wa(window, ps); // create and initialize WordList(s) int nWL = 0; for (; words[nWL]; nWL++) ; // count # of WordList PTRs needed WordList** wl = new WordList* [nWL + 1];// alloc WordList PTRs int i = 0; for (; i < nWL; i++) { wl[i] = new WordList(); // (works or THROWS bad_alloc EXCEPTION) wl[i]->Set(words[i]); } wl[i] = 0; // call our "internal" folder/lexer (... then do Flush!) if (foldOrLex) FoldCamlDoc(startPos, length, initStyle, wl, wa); else ColouriseCamlDoc(startPos, length, initStyle, wl, wa); wa.Flush(); // clean up before leaving for (i = nWL - 1; i >= 0; i--) delete wl[i]; delete [] wl; } static #endif /* BUILD_AS_EXTERNAL_LEXER */ void ColouriseCamlDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { // initialize styler StyleContext sc(startPos, length, initStyle, styler); Sci_PositionU chToken = 0; int chBase = 0, chLit = 0; WordList& keywords = *keywordlists[0]; WordList& keywords2 = *keywordlists[1]; WordList& keywords3 = *keywordlists[2]; const bool isSML = keywords.InList("andalso"); const int useMagic = styler.GetPropertyInt("lexer.caml.magic", 0); // set up [initial] state info (terminating states that shouldn't "bleed") const int state_ = sc.state & 0x0f; if (state_ <= SCE_CAML_CHAR || (isSML && state_ == SCE_CAML_STRING)) sc.state = SCE_CAML_DEFAULT; int nesting = (state_ >= SCE_CAML_COMMENT)? (state_ - SCE_CAML_COMMENT): 0; // foreach char in range... while (sc.More()) { // set up [per-char] state info int state2 = -1; // (ASSUME no state change) Sci_Position chColor = sc.currentPos - 1;// (ASSUME standard coloring range) bool advance = true; // (ASSUME scanner "eats" 1 char) // step state machine switch (sc.state & 0x0f) { case SCE_CAML_DEFAULT: chToken = sc.currentPos; // save [possible] token start (JIC) // it's wide open; what do we have? if (iscamlf(sc.ch)) state2 = SCE_CAML_IDENTIFIER; else if (!isSML && sc.Match('`') && iscamlf(sc.chNext)) state2 = SCE_CAML_TAGNAME; else if (!isSML && sc.Match('#') && isdigit(sc.chNext)) state2 = SCE_CAML_LINENUM; else if (isdigit(sc.ch)) { // it's a number, assume base 10 state2 = SCE_CAML_NUMBER, chBase = 10; if (sc.Match('0')) { // there MAY be a base specified... const char* baseC = "bBoOxX"; if (isSML) { if (sc.chNext == 'w') sc.Forward(); // (consume SML "word" indicator) baseC = "x"; } // ... change to specified base AS REQUIRED if (strchr(baseC, sc.chNext)) chBase = baseT[tolower(sc.chNext) - 'a'], sc.Forward(); } } else if (!isSML && sc.Match('\'')) // (Caml char literal?) state2 = SCE_CAML_CHAR, chLit = 0; else if (isSML && sc.Match('#', '"')) // (SML char literal?) state2 = SCE_CAML_CHAR, sc.Forward(); else if (sc.Match('"')) state2 = SCE_CAML_STRING; else if (sc.Match('(', '*')) state2 = SCE_CAML_COMMENT, sc.Forward(), sc.ch = ' '; // (*)... else if (strchr("!?~" /* Caml "prefix-symbol" */ "=<>@^|&+-*/$%" /* Caml "infix-symbol" */ "()[]{};,:.#", sc.ch) // Caml "bracket" or ;,:.# // SML "extra" ident chars || (isSML && (sc.Match('\\') || sc.Match('`')))) state2 = SCE_CAML_OPERATOR; break; case SCE_CAML_IDENTIFIER: // [try to] interpret as [additional] identifier char if (!(iscaml(sc.ch) || sc.Match('\''))) { const Sci_Position n = sc.currentPos - chToken; if (n < 24) { // length is believable as keyword, [re-]construct token char t[24]; for (Sci_Position i = -n; i < 0; i++) t[n + i] = static_cast(sc.GetRelative(i)); t[n] = '\0'; // special-case "_" token as KEYWORD if ((n == 1 && sc.chPrev == '_') || keywords.InList(t)) sc.ChangeState(SCE_CAML_KEYWORD); else if (keywords2.InList(t)) sc.ChangeState(SCE_CAML_KEYWORD2); else if (keywords3.InList(t)) sc.ChangeState(SCE_CAML_KEYWORD3); } state2 = SCE_CAML_DEFAULT, advance = false; } break; case SCE_CAML_TAGNAME: // [try to] interpret as [additional] tagname char if (!(iscaml(sc.ch) || sc.Match('\''))) state2 = SCE_CAML_DEFAULT, advance = false; break; /*case SCE_CAML_KEYWORD: case SCE_CAML_KEYWORD2: case SCE_CAML_KEYWORD3: // [try to] interpret as [additional] keyword char if (!iscaml(ch)) state2 = SCE_CAML_DEFAULT, advance = false; break;*/ case SCE_CAML_LINENUM: // [try to] interpret as [additional] linenum directive char if (!isdigit(sc.ch)) state2 = SCE_CAML_DEFAULT, advance = false; break; case SCE_CAML_OPERATOR: { // [try to] interpret as [additional] operator char const char* o = 0; if (iscaml(sc.ch) || isspace(sc.ch) // ident or whitespace || (o = strchr(")]};,\'\"#", sc.ch),o) // "termination" chars || (!isSML && sc.Match('`')) // Caml extra term char || (!strchr("!$%&*+-./:<=>?@^|~", sc.ch)// "operator" chars // SML extra ident chars && !(isSML && (sc.Match('\\') || sc.Match('`'))))) { // check for INCLUSIVE termination if (o && strchr(")]};,", sc.ch)) { if ((sc.Match(')') && sc.chPrev == '(') || (sc.Match(']') && sc.chPrev == '[')) // special-case "()" and "[]" tokens as KEYWORDS sc.ChangeState(SCE_CAML_KEYWORD); chColor++; } else advance = false; state2 = SCE_CAML_DEFAULT; } break; } case SCE_CAML_NUMBER: // [try to] interpret as [additional] numeric literal char if ((!isSML && sc.Match('_')) || IsADigit(sc.ch, chBase)) break; // how about an integer suffix? if (!isSML && (sc.Match('l') || sc.Match('L') || sc.Match('n')) && (sc.chPrev == '_' || IsADigit(sc.chPrev, chBase))) break; // or a floating-point literal? if (chBase == 10) { // with a decimal point? if (sc.Match('.') && ((!isSML && sc.chPrev == '_') || IsADigit(sc.chPrev, chBase))) break; // with an exponent? (I) if ((sc.Match('e') || sc.Match('E')) && ((!isSML && (sc.chPrev == '.' || sc.chPrev == '_')) || IsADigit(sc.chPrev, chBase))) break; // with an exponent? (II) if (((!isSML && (sc.Match('+') || sc.Match('-'))) || (isSML && sc.Match('~'))) && (sc.chPrev == 'e' || sc.chPrev == 'E')) break; } // it looks like we have run out of number state2 = SCE_CAML_DEFAULT, advance = false; break; case SCE_CAML_CHAR: if (!isSML) { // [try to] interpret as [additional] char literal char if (sc.Match('\\')) { chLit = 1; // (definitely IS a char literal) if (sc.chPrev == '\\') sc.ch = ' '; // (...\\') // should we be terminating - one way or another? } else if ((sc.Match('\'') && sc.chPrev != '\\') || sc.atLineEnd) { state2 = SCE_CAML_DEFAULT; if (sc.Match('\'')) chColor++; else sc.ChangeState(SCE_CAML_IDENTIFIER); // ... maybe a char literal, maybe not } else if (chLit < 1 && sc.currentPos - chToken >= 2) sc.ChangeState(SCE_CAML_IDENTIFIER), advance = false; break; }/* else // fall through for SML char literal (handle like string) */ // Falls through. case SCE_CAML_STRING: // [try to] interpret as [additional] [SML char/] string literal char if (isSML && sc.Match('\\') && sc.chPrev != '\\' && isspace(sc.chNext)) state2 = SCE_CAML_WHITE; else if (sc.Match('\\') && sc.chPrev == '\\') sc.ch = ' '; // (...\\") // should we be terminating - one way or another? else if ((sc.Match('"') && sc.chPrev != '\\') || (isSML && sc.atLineEnd)) { state2 = SCE_CAML_DEFAULT; if (sc.Match('"')) chColor++; } break; case SCE_CAML_WHITE: // [try to] interpret as [additional] SML embedded whitespace char if (sc.Match('\\')) { // style this puppy NOW... state2 = SCE_CAML_STRING, sc.ch = ' ' /* (...\") */, chColor++, styler.ColourTo(chColor, SCE_CAML_WHITE), styler.Flush(); // ... then backtrack to determine original SML literal type Sci_Position p = chColor - 2; for (; p >= 0 && styler.StyleAt(p) == SCE_CAML_WHITE; p--) ; if (p >= 0) state2 = static_cast(styler.StyleAt(p)); // take care of state change NOW sc.ChangeState(state2), state2 = -1; } break; case SCE_CAML_COMMENT: case SCE_CAML_COMMENT1: case SCE_CAML_COMMENT2: case SCE_CAML_COMMENT3: // we're IN a comment - does this start a NESTED comment? if (sc.Match('(', '*')) state2 = sc.state + 1, chToken = sc.currentPos, sc.Forward(), sc.ch = ' ' /* (*)... */, nesting++; // [try to] interpret as [additional] comment char else if (sc.Match(')') && sc.chPrev == '*') { if (nesting) state2 = (sc.state & 0x0f) - 1, chToken = 0, nesting--; else state2 = SCE_CAML_DEFAULT; chColor++; // enable "magic" (read-only) comment AS REQUIRED } else if (useMagic && sc.currentPos - chToken == 4 && sc.Match('c') && sc.chPrev == 'r' && sc.GetRelative(-2) == '@') sc.state |= 0x10; // (switch to read-only comment style) break; } // handle state change and char coloring AS REQUIRED if (state2 >= 0) styler.ColourTo(chColor, sc.state), sc.ChangeState(state2); // move to next char UNLESS re-scanning current char if (advance) sc.Forward(); } // do any required terminal char coloring (JIC) sc.Complete(); } #ifdef BUILD_AS_EXTERNAL_LEXER static #endif /* BUILD_AS_EXTERNAL_LEXER */ void FoldCamlDoc( Sci_PositionU, Sci_Position, int, WordList *[], Accessor &) { } static const char * const camlWordListDesc[] = { "Keywords", // primary Objective Caml keywords "Keywords2", // "optional" keywords (typically from Pervasives) "Keywords3", // "optional" keywords (typically typenames) 0 }; #ifndef BUILD_AS_EXTERNAL_LEXER LexerModule lmCaml(SCLEX_CAML, ColouriseCamlDoc, "caml", FoldCamlDoc, camlWordListDesc); #endif /* BUILD_AS_EXTERNAL_LEXER */ ================================================ FILE: src/qscint/scintilla/lexers/LexCmake.cpp ================================================ // Scintilla source code edit control /** @file LexCmake.cxx ** Lexer for Cmake **/ // Copyright 2007 by Cristian Adam // based on the NSIS lexer // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static bool isCmakeNumber(char ch) { return(ch >= '0' && ch <= '9'); } static bool isCmakeChar(char ch) { return(ch == '.' ) || (ch == '_' ) || isCmakeNumber(ch) || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'); } static bool isCmakeLetter(char ch) { return(ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'); } static bool CmakeNextLineHasElse(Sci_PositionU start, Sci_PositionU end, Accessor &styler) { Sci_Position nNextLine = -1; for ( Sci_PositionU i = start; i < end; i++ ) { char cNext = styler.SafeGetCharAt( i ); if ( cNext == '\n' ) { nNextLine = i+1; break; } } if ( nNextLine == -1 ) // We never foudn the next line... return false; for ( Sci_PositionU firstChar = nNextLine; firstChar < end; firstChar++ ) { char cNext = styler.SafeGetCharAt( firstChar ); if ( cNext == ' ' ) continue; if ( cNext == '\t' ) continue; if ( styler.Match(firstChar, "ELSE") || styler.Match(firstChar, "else")) return true; break; } return false; } static int calculateFoldCmake(Sci_PositionU start, Sci_PositionU end, int foldlevel, Accessor &styler, bool bElse) { // If the word is too long, it is not what we are looking for if ( end - start > 20 ) return foldlevel; int newFoldlevel = foldlevel; char s[20]; // The key word we are looking for has atmost 13 characters for (unsigned int i = 0; i < end - start + 1 && i < 19; i++) { s[i] = static_cast( styler[ start + i ] ); s[i + 1] = '\0'; } if ( CompareCaseInsensitive(s, "IF") == 0 || CompareCaseInsensitive(s, "WHILE") == 0 || CompareCaseInsensitive(s, "MACRO") == 0 || CompareCaseInsensitive(s, "FOREACH") == 0 || CompareCaseInsensitive(s, "ELSEIF") == 0 ) newFoldlevel++; else if ( CompareCaseInsensitive(s, "ENDIF") == 0 || CompareCaseInsensitive(s, "ENDWHILE") == 0 || CompareCaseInsensitive(s, "ENDMACRO") == 0 || CompareCaseInsensitive(s, "ENDFOREACH") == 0) newFoldlevel--; else if ( bElse && CompareCaseInsensitive(s, "ELSEIF") == 0 ) newFoldlevel++; else if ( bElse && CompareCaseInsensitive(s, "ELSE") == 0 ) newFoldlevel++; return newFoldlevel; } static int classifyWordCmake(Sci_PositionU start, Sci_PositionU end, WordList *keywordLists[], Accessor &styler ) { char word[100] = {0}; char lowercaseWord[100] = {0}; WordList &Commands = *keywordLists[0]; WordList &Parameters = *keywordLists[1]; WordList &UserDefined = *keywordLists[2]; for (Sci_PositionU i = 0; i < end - start + 1 && i < 99; i++) { word[i] = static_cast( styler[ start + i ] ); lowercaseWord[i] = static_cast(tolower(word[i])); } // Check for special words... if ( CompareCaseInsensitive(word, "MACRO") == 0 || CompareCaseInsensitive(word, "ENDMACRO") == 0 ) return SCE_CMAKE_MACRODEF; if ( CompareCaseInsensitive(word, "IF") == 0 || CompareCaseInsensitive(word, "ENDIF") == 0 ) return SCE_CMAKE_IFDEFINEDEF; if ( CompareCaseInsensitive(word, "ELSEIF") == 0 || CompareCaseInsensitive(word, "ELSE") == 0 ) return SCE_CMAKE_IFDEFINEDEF; if ( CompareCaseInsensitive(word, "WHILE") == 0 || CompareCaseInsensitive(word, "ENDWHILE") == 0) return SCE_CMAKE_WHILEDEF; if ( CompareCaseInsensitive(word, "FOREACH") == 0 || CompareCaseInsensitive(word, "ENDFOREACH") == 0) return SCE_CMAKE_FOREACHDEF; if ( Commands.InList(lowercaseWord) ) return SCE_CMAKE_COMMANDS; if ( Parameters.InList(word) ) return SCE_CMAKE_PARAMETERS; if ( UserDefined.InList(word) ) return SCE_CMAKE_USERDEFINED; if ( strlen(word) > 3 ) { if ( word[1] == '{' && word[strlen(word)-1] == '}' ) return SCE_CMAKE_VARIABLE; } // To check for numbers if ( isCmakeNumber( word[0] ) ) { bool bHasSimpleCmakeNumber = true; for (unsigned int j = 1; j < end - start + 1 && j < 99; j++) { if ( !isCmakeNumber( word[j] ) ) { bHasSimpleCmakeNumber = false; break; } } if ( bHasSimpleCmakeNumber ) return SCE_CMAKE_NUMBER; } return SCE_CMAKE_DEFAULT; } static void ColouriseCmakeDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler) { int state = SCE_CMAKE_DEFAULT; if ( startPos > 0 ) state = styler.StyleAt(startPos-1); // Use the style from the previous line, usually default, but could be commentbox styler.StartAt( startPos ); styler.GetLine( startPos ); Sci_PositionU nLengthDoc = startPos + length; styler.StartSegment( startPos ); char cCurrChar; bool bVarInString = false; bool bClassicVarInString = false; Sci_PositionU i; for ( i = startPos; i < nLengthDoc; i++ ) { cCurrChar = styler.SafeGetCharAt( i ); char cNextChar = styler.SafeGetCharAt(i+1); switch (state) { case SCE_CMAKE_DEFAULT: if ( cCurrChar == '#' ) { // we have a comment line styler.ColourTo(i-1, state ); state = SCE_CMAKE_COMMENT; break; } if ( cCurrChar == '"' ) { styler.ColourTo(i-1, state ); state = SCE_CMAKE_STRINGDQ; bVarInString = false; bClassicVarInString = false; break; } if ( cCurrChar == '\'' ) { styler.ColourTo(i-1, state ); state = SCE_CMAKE_STRINGRQ; bVarInString = false; bClassicVarInString = false; break; } if ( cCurrChar == '`' ) { styler.ColourTo(i-1, state ); state = SCE_CMAKE_STRINGLQ; bVarInString = false; bClassicVarInString = false; break; } // CMake Variable if ( cCurrChar == '$' || isCmakeChar(cCurrChar)) { styler.ColourTo(i-1,state); state = SCE_CMAKE_VARIABLE; // If it is a number, we must check and set style here first... if ( isCmakeNumber(cCurrChar) && (cNextChar == '\t' || cNextChar == ' ' || cNextChar == '\r' || cNextChar == '\n' ) ) styler.ColourTo( i, SCE_CMAKE_NUMBER); break; } break; case SCE_CMAKE_COMMENT: if ( cCurrChar == '\n' || cCurrChar == '\r' ) { if ( styler.SafeGetCharAt(i-1) == '\\' ) { styler.ColourTo(i-2,state); styler.ColourTo(i-1,SCE_CMAKE_DEFAULT); } else { styler.ColourTo(i-1,state); state = SCE_CMAKE_DEFAULT; } } break; case SCE_CMAKE_STRINGDQ: case SCE_CMAKE_STRINGLQ: case SCE_CMAKE_STRINGRQ: if ( styler.SafeGetCharAt(i-1) == '\\' && styler.SafeGetCharAt(i-2) == '$' ) break; // Ignore the next character, even if it is a quote of some sort if ( cCurrChar == '"' && state == SCE_CMAKE_STRINGDQ ) { styler.ColourTo(i,state); state = SCE_CMAKE_DEFAULT; break; } if ( cCurrChar == '`' && state == SCE_CMAKE_STRINGLQ ) { styler.ColourTo(i,state); state = SCE_CMAKE_DEFAULT; break; } if ( cCurrChar == '\'' && state == SCE_CMAKE_STRINGRQ ) { styler.ColourTo(i,state); state = SCE_CMAKE_DEFAULT; break; } if ( cNextChar == '\r' || cNextChar == '\n' ) { Sci_Position nCurLine = styler.GetLine(i+1); Sci_Position nBack = i; // We need to check if the previous line has a \ in it... bool bNextLine = false; while ( nBack > 0 ) { if ( styler.GetLine(nBack) != nCurLine ) break; char cTemp = styler.SafeGetCharAt(nBack, 'a'); // Letter 'a' is safe here if ( cTemp == '\\' ) { bNextLine = true; break; } if ( cTemp != '\r' && cTemp != '\n' && cTemp != '\t' && cTemp != ' ' ) break; nBack--; } if ( bNextLine ) { styler.ColourTo(i+1,state); } if ( bNextLine == false ) { styler.ColourTo(i,state); state = SCE_CMAKE_DEFAULT; } } break; case SCE_CMAKE_VARIABLE: // CMake Variable: if ( cCurrChar == '$' ) state = SCE_CMAKE_DEFAULT; else if ( cCurrChar == '\\' && (cNextChar == 'n' || cNextChar == 'r' || cNextChar == 't' ) ) state = SCE_CMAKE_DEFAULT; else if ( (isCmakeChar(cCurrChar) && !isCmakeChar( cNextChar) && cNextChar != '}') || cCurrChar == '}' ) { state = classifyWordCmake( styler.GetStartSegment(), i, keywordLists, styler ); styler.ColourTo( i, state); state = SCE_CMAKE_DEFAULT; } else if ( !isCmakeChar( cCurrChar ) && cCurrChar != '{' && cCurrChar != '}' ) { if ( classifyWordCmake( styler.GetStartSegment(), i-1, keywordLists, styler) == SCE_CMAKE_NUMBER ) styler.ColourTo( i-1, SCE_CMAKE_NUMBER ); state = SCE_CMAKE_DEFAULT; if ( cCurrChar == '"' ) { state = SCE_CMAKE_STRINGDQ; bVarInString = false; bClassicVarInString = false; } else if ( cCurrChar == '`' ) { state = SCE_CMAKE_STRINGLQ; bVarInString = false; bClassicVarInString = false; } else if ( cCurrChar == '\'' ) { state = SCE_CMAKE_STRINGRQ; bVarInString = false; bClassicVarInString = false; } else if ( cCurrChar == '#' ) { state = SCE_CMAKE_COMMENT; } } break; } if ( state == SCE_CMAKE_STRINGDQ || state == SCE_CMAKE_STRINGLQ || state == SCE_CMAKE_STRINGRQ ) { bool bIngoreNextDollarSign = false; if ( bVarInString && cCurrChar == '$' ) { bVarInString = false; bIngoreNextDollarSign = true; } else if ( bVarInString && cCurrChar == '\\' && (cNextChar == 'n' || cNextChar == 'r' || cNextChar == 't' || cNextChar == '"' || cNextChar == '`' || cNextChar == '\'' ) ) { styler.ColourTo( i+1, SCE_CMAKE_STRINGVAR); bVarInString = false; bIngoreNextDollarSign = false; } else if ( bVarInString && !isCmakeChar(cNextChar) ) { int nWordState = classifyWordCmake( styler.GetStartSegment(), i, keywordLists, styler); if ( nWordState == SCE_CMAKE_VARIABLE ) styler.ColourTo( i, SCE_CMAKE_STRINGVAR); bVarInString = false; } // Covers "${TEST}..." else if ( bClassicVarInString && cNextChar == '}' ) { styler.ColourTo( i+1, SCE_CMAKE_STRINGVAR); bClassicVarInString = false; } // Start of var in string if ( !bIngoreNextDollarSign && cCurrChar == '$' && cNextChar == '{' ) { styler.ColourTo( i-1, state); bClassicVarInString = true; bVarInString = false; } else if ( !bIngoreNextDollarSign && cCurrChar == '$' ) { styler.ColourTo( i-1, state); bVarInString = true; bClassicVarInString = false; } } } // Colourise remaining document styler.ColourTo(nLengthDoc-1,state); } static void FoldCmakeDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { // No folding enabled, no reason to continue... if ( styler.GetPropertyInt("fold") == 0 ) return; bool foldAtElse = styler.GetPropertyInt("fold.at.else", 0) == 1; Sci_Position lineCurrent = styler.GetLine(startPos); Sci_PositionU safeStartPos = styler.LineStart( lineCurrent ); bool bArg1 = true; Sci_Position nWordStart = -1; int levelCurrent = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; int levelNext = levelCurrent; for (Sci_PositionU i = safeStartPos; i < startPos + length; i++) { char chCurr = styler.SafeGetCharAt(i); if ( bArg1 ) { if ( nWordStart == -1 && (isCmakeLetter(chCurr)) ) { nWordStart = i; } else if ( isCmakeLetter(chCurr) == false && nWordStart > -1 ) { int newLevel = calculateFoldCmake( nWordStart, i-1, levelNext, styler, foldAtElse); if ( newLevel == levelNext ) { if ( foldAtElse ) { if ( CmakeNextLineHasElse(i, startPos + length, styler) ) levelNext--; } } else levelNext = newLevel; bArg1 = false; } } if ( chCurr == '\n' ) { if ( bArg1 && foldAtElse) { if ( CmakeNextLineHasElse(i, startPos + length, styler) ) levelNext--; } // If we are on a new line... int levelUse = levelCurrent; int lev = levelUse | levelNext << 16; if (levelUse < levelNext ) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) styler.SetLevel(lineCurrent, lev); lineCurrent++; levelCurrent = levelNext; bArg1 = true; // New line, lets look at first argument again nWordStart = -1; } } int levelUse = levelCurrent; int lev = levelUse | levelNext << 16; if (levelUse < levelNext) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) styler.SetLevel(lineCurrent, lev); } static const char * const cmakeWordLists[] = { "Commands", "Parameters", "UserDefined", 0, 0,}; LexerModule lmCmake(SCLEX_CMAKE, ColouriseCmakeDoc, "cmake", FoldCmakeDoc, cmakeWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexCoffeeScript.cpp ================================================ // Scintilla source code edit control /** @file LexCoffeeScript.cxx ** Lexer for CoffeeScript. **/ // Copyright 1998-2011 by Neil Hodgson // Based on the Scintilla C++ Lexer // Written by Eric Promislow in 2011 for the Komodo IDE // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static bool IsSpaceEquiv(int state) { return (state == SCE_COFFEESCRIPT_DEFAULT || state == SCE_COFFEESCRIPT_COMMENTLINE || state == SCE_COFFEESCRIPT_COMMENTBLOCK || state == SCE_COFFEESCRIPT_VERBOSE_REGEX || state == SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT || state == SCE_COFFEESCRIPT_WORD || state == SCE_COFFEESCRIPT_REGEX); } // Store the current lexer state and brace count prior to starting a new // `#{}` interpolation level. // Based on LexRuby.cxx. static void enterInnerExpression(int *p_inner_string_types, int *p_inner_expn_brace_counts, int& inner_string_count, int state, int& brace_counts ) { p_inner_string_types[inner_string_count] = state; p_inner_expn_brace_counts[inner_string_count] = brace_counts; brace_counts = 0; ++inner_string_count; } // Restore the lexer state and brace count for the previous `#{}` interpolation // level upon returning to it. // Note the previous lexer state is the return value and needs to be restored // manually by the StyleContext. // Based on LexRuby.cxx. static int exitInnerExpression(int *p_inner_string_types, int *p_inner_expn_brace_counts, int& inner_string_count, int& brace_counts ) { --inner_string_count; brace_counts = p_inner_expn_brace_counts[inner_string_count]; return p_inner_string_types[inner_string_count]; } // Preconditions: sc.currentPos points to a character after '+' or '-'. // The test for pos reaching 0 should be redundant, // and is in only for safety measures. // Limitation: this code will give the incorrect answer for code like // a = b+++/ptn/... // Putting a space between the '++' post-inc operator and the '+' binary op // fixes this, and is highly recommended for readability anyway. static bool FollowsPostfixOperator(StyleContext &sc, Accessor &styler) { Sci_Position pos = (Sci_Position) sc.currentPos; while (--pos > 0) { char ch = styler[pos]; if (ch == '+' || ch == '-') { return styler[pos - 1] == ch; } } return false; } static bool followsKeyword(StyleContext &sc, Accessor &styler) { Sci_Position pos = (Sci_Position) sc.currentPos; Sci_Position currentLine = styler.GetLine(pos); Sci_Position lineStartPos = styler.LineStart(currentLine); while (--pos > lineStartPos) { char ch = styler.SafeGetCharAt(pos); if (ch != ' ' && ch != '\t') { break; } } styler.Flush(); return styler.StyleAt(pos) == SCE_COFFEESCRIPT_WORD; } static void ColouriseCoffeeScriptDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords4 = *keywordlists[3]; CharacterSet setOKBeforeRE(CharacterSet::setNone, "([{=,:;!%^&*|?~+-"); CharacterSet setCouldBePostOp(CharacterSet::setNone, "+-"); CharacterSet setWordStart(CharacterSet::setAlpha, "_$@", 0x80, true); CharacterSet setWord(CharacterSet::setAlphaNum, "._$", 0x80, true); int chPrevNonWhite = ' '; int visibleChars = 0; // String/Regex interpolation variables, based on LexRuby.cxx. // In most cases a value of 2 should be ample for the code the user is // likely to enter. For example, // "Filling the #{container} with #{liquid}..." // from the CoffeeScript homepage nests to a level of 2 // If the user actually hits a 6th occurrence of '#{' in a double-quoted // string (including regexes), it will stay as a string. The problem with // this is that quotes might flip, a 7th '#{' will look like a comment, // and code-folding might be wrong. #define INNER_STRINGS_MAX_COUNT 5 // These vars track our instances of "...#{,,,'..#{,,,}...',,,}..." int inner_string_types[INNER_STRINGS_MAX_COUNT]; // Track # braces when we push a new #{ thing int inner_expn_brace_counts[INNER_STRINGS_MAX_COUNT]; int inner_string_count = 0; int brace_counts = 0; // Number of #{ ... } things within an expression for (int i = 0; i < INNER_STRINGS_MAX_COUNT; i++) { inner_string_types[i] = 0; inner_expn_brace_counts[i] = 0; } // look back to set chPrevNonWhite properly for better regex colouring Sci_Position endPos = startPos + length; if (startPos > 0 && IsSpaceEquiv(initStyle)) { Sci_PositionU back = startPos; styler.Flush(); while (back > 0 && IsSpaceEquiv(styler.StyleAt(--back))) ; if (styler.StyleAt(back) == SCE_COFFEESCRIPT_OPERATOR) { chPrevNonWhite = styler.SafeGetCharAt(back); } if (startPos != back) { initStyle = styler.StyleAt(back); if (IsSpaceEquiv(initStyle)) { initStyle = SCE_COFFEESCRIPT_DEFAULT; } } startPos = back; } StyleContext sc(startPos, endPos - startPos, initStyle, styler); for (; sc.More();) { if (sc.atLineStart) { // Reset states to beginning of colourise so no surprises // if different sets of lines lexed. visibleChars = 0; } // Determine if the current state should terminate. switch (sc.state) { case SCE_COFFEESCRIPT_OPERATOR: sc.SetState(SCE_COFFEESCRIPT_DEFAULT); break; case SCE_COFFEESCRIPT_NUMBER: // We accept almost anything because of hex. and number suffixes if (!setWord.Contains(sc.ch) || sc.Match('.', '.')) { sc.SetState(SCE_COFFEESCRIPT_DEFAULT); } break; case SCE_COFFEESCRIPT_IDENTIFIER: if (!setWord.Contains(sc.ch) || (sc.ch == '.') || (sc.ch == '$')) { char s[1000]; sc.GetCurrent(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_COFFEESCRIPT_WORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_COFFEESCRIPT_WORD2); } else if (keywords4.InList(s)) { sc.ChangeState(SCE_COFFEESCRIPT_GLOBALCLASS); } else if (sc.LengthCurrent() > 0 && s[0] == '@') { sc.ChangeState(SCE_COFFEESCRIPT_INSTANCEPROPERTY); } sc.SetState(SCE_COFFEESCRIPT_DEFAULT); } break; case SCE_COFFEESCRIPT_WORD: case SCE_COFFEESCRIPT_WORD2: case SCE_COFFEESCRIPT_GLOBALCLASS: case SCE_COFFEESCRIPT_INSTANCEPROPERTY: if (!setWord.Contains(sc.ch)) { sc.SetState(SCE_COFFEESCRIPT_DEFAULT); } break; case SCE_COFFEESCRIPT_COMMENTLINE: if (sc.atLineStart) { sc.SetState(SCE_COFFEESCRIPT_DEFAULT); } break; case SCE_COFFEESCRIPT_STRING: if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT); } else if (sc.ch == '#' && sc.chNext == '{' && inner_string_count < INNER_STRINGS_MAX_COUNT) { // process interpolated code #{ ... } enterInnerExpression(inner_string_types, inner_expn_brace_counts, inner_string_count, sc.state, brace_counts); sc.SetState(SCE_COFFEESCRIPT_OPERATOR); sc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT); } break; case SCE_COFFEESCRIPT_CHARACTER: if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\'') { sc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT); } break; case SCE_COFFEESCRIPT_REGEX: if (sc.atLineStart) { sc.SetState(SCE_COFFEESCRIPT_DEFAULT); } else if (sc.ch == '/') { sc.Forward(); while ((sc.ch < 0x80) && islower(sc.ch)) sc.Forward(); // gobble regex flags sc.SetState(SCE_COFFEESCRIPT_DEFAULT); } else if (sc.ch == '\\') { // Gobble up the quoted character if (sc.chNext == '\\' || sc.chNext == '/') { sc.Forward(); } } break; case SCE_COFFEESCRIPT_STRINGEOL: if (sc.atLineStart) { sc.SetState(SCE_COFFEESCRIPT_DEFAULT); } break; case SCE_COFFEESCRIPT_COMMENTBLOCK: if (sc.Match("###")) { sc.Forward(); sc.Forward(); sc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT); } else if (sc.ch == '\\') { sc.Forward(); } break; case SCE_COFFEESCRIPT_VERBOSE_REGEX: if (sc.Match("///")) { sc.Forward(); sc.Forward(); sc.ForwardSetState(SCE_COFFEESCRIPT_DEFAULT); } else if (sc.Match('#')) { sc.SetState(SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT); } else if (sc.ch == '\\') { sc.Forward(); } break; case SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT: if (sc.atLineStart) { sc.SetState(SCE_COFFEESCRIPT_VERBOSE_REGEX); } break; } // Determine if a new state should be entered. if (sc.state == SCE_COFFEESCRIPT_DEFAULT) { if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_COFFEESCRIPT_NUMBER); } else if (setWordStart.Contains(sc.ch)) { sc.SetState(SCE_COFFEESCRIPT_IDENTIFIER); } else if (sc.Match("///")) { sc.SetState(SCE_COFFEESCRIPT_VERBOSE_REGEX); sc.Forward(); sc.Forward(); } else if (sc.ch == '/' && (setOKBeforeRE.Contains(chPrevNonWhite) || followsKeyword(sc, styler)) && (!setCouldBePostOp.Contains(chPrevNonWhite) || !FollowsPostfixOperator(sc, styler))) { sc.SetState(SCE_COFFEESCRIPT_REGEX); // JavaScript's RegEx } else if (sc.ch == '\"') { sc.SetState(SCE_COFFEESCRIPT_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_COFFEESCRIPT_CHARACTER); } else if (sc.ch == '#') { if (sc.Match("###")) { sc.SetState(SCE_COFFEESCRIPT_COMMENTBLOCK); sc.Forward(); sc.Forward(); } else { sc.SetState(SCE_COFFEESCRIPT_COMMENTLINE); } } else if (isoperator(static_cast(sc.ch))) { sc.SetState(SCE_COFFEESCRIPT_OPERATOR); // Handle '..' and '...' operators correctly. if (sc.ch == '.') { for (int i = 0; i < 2 && sc.chNext == '.'; i++, sc.Forward()) ; } else if (sc.ch == '{') { ++brace_counts; } else if (sc.ch == '}' && --brace_counts <= 0 && inner_string_count > 0) { // Return to previous state before #{ ... } sc.ForwardSetState(exitInnerExpression(inner_string_types, inner_expn_brace_counts, inner_string_count, brace_counts)); continue; // skip sc.Forward() at loop end } } } if (!IsASpace(sc.ch) && !IsSpaceEquiv(sc.state)) { chPrevNonWhite = sc.ch; visibleChars++; } sc.Forward(); } sc.Complete(); } static bool IsCommentLine(Sci_Position line, Accessor &styler) { Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; for (Sci_Position i = pos; i < eol_pos; i++) { char ch = styler[i]; if (ch == '#') return true; else if (ch != ' ' && ch != '\t') return false; } return false; } static void FoldCoffeeScriptDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { // A simplified version of FoldPyDoc const Sci_Position maxPos = startPos + length; const Sci_Position maxLines = styler.GetLine(maxPos - 1); // Requested last line const Sci_Position docLines = styler.GetLine(styler.Length() - 1); // Available last line // property fold.coffeescript.comment const bool foldComment = styler.GetPropertyInt("fold.coffeescript.comment") != 0; const bool foldCompact = styler.GetPropertyInt("fold.compact") != 0; // Backtrack to previous non-blank line so we can determine indent level // for any white space lines // and so we can fix any preceding fold level (which is why we go back // at least one line in all cases) int spaceFlags = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL); while (lineCurrent > 0) { lineCurrent--; indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, NULL); if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG) && !IsCommentLine(lineCurrent, styler)) break; } int indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK; // Set up initial loop state int prevComment = 0; if (lineCurrent >= 1) prevComment = foldComment && IsCommentLine(lineCurrent - 1, styler); // Process all characters to end of requested range // or comment that hangs over the end of the range. Cap processing in all cases // to end of document (in case of comment at end). while ((lineCurrent <= docLines) && ((lineCurrent <= maxLines) || prevComment)) { // Gather info int lev = indentCurrent; Sci_Position lineNext = lineCurrent + 1; int indentNext = indentCurrent; if (lineNext <= docLines) { // Information about next line is only available if not at end of document indentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL); } const int comment = foldComment && IsCommentLine(lineCurrent, styler); const int comment_start = (comment && !prevComment && (lineNext <= docLines) && IsCommentLine(lineNext, styler) && (lev > SC_FOLDLEVELBASE)); const int comment_continue = (comment && prevComment); if (!comment) indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK; if (indentNext & SC_FOLDLEVELWHITEFLAG) indentNext = SC_FOLDLEVELWHITEFLAG | indentCurrentLevel; if (comment_start) { // Place fold point at start of a block of comments lev |= SC_FOLDLEVELHEADERFLAG; } else if (comment_continue) { // Add level to rest of lines in the block lev = lev + 1; } // Skip past any blank lines for next indent level info; we skip also // comments (all comments, not just those starting in column 0) // which effectively folds them into surrounding code rather // than screwing up folding. while ((lineNext < docLines) && ((indentNext & SC_FOLDLEVELWHITEFLAG) || (lineNext <= docLines && IsCommentLine(lineNext, styler)))) { lineNext++; indentNext = styler.IndentAmount(lineNext, &spaceFlags, NULL); } const int levelAfterComments = indentNext & SC_FOLDLEVELNUMBERMASK; const int levelBeforeComments = std::max(indentCurrentLevel,levelAfterComments); // Now set all the indent levels on the lines we skipped // Do this from end to start. Once we encounter one line // which is indented more than the line after the end of // the comment-block, use the level of the block before Sci_Position skipLine = lineNext; int skipLevel = levelAfterComments; while (--skipLine > lineCurrent) { int skipLineIndent = styler.IndentAmount(skipLine, &spaceFlags, NULL); if (foldCompact) { if ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments) skipLevel = levelBeforeComments; int whiteFlag = skipLineIndent & SC_FOLDLEVELWHITEFLAG; styler.SetLevel(skipLine, skipLevel | whiteFlag); } else { if ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > levelAfterComments && !(skipLineIndent & SC_FOLDLEVELWHITEFLAG) && !IsCommentLine(skipLine, styler)) skipLevel = levelBeforeComments; styler.SetLevel(skipLine, skipLevel); } } // Set fold header on non-comment line if (!comment && !(indentCurrent & SC_FOLDLEVELWHITEFLAG)) { if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) lev |= SC_FOLDLEVELHEADERFLAG; } // Keep track of block comment state of previous line prevComment = comment_start || comment_continue; // Set fold level for this line and move to next line styler.SetLevel(lineCurrent, lev); indentCurrent = indentNext; lineCurrent = lineNext; } } static const char *const csWordLists[] = { "Keywords", "Secondary keywords", "Unused", "Global classes", 0, }; LexerModule lmCoffeeScript(SCLEX_COFFEESCRIPT, ColouriseCoffeeScriptDoc, "coffeescript", FoldCoffeeScriptDoc, csWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexConf.cpp ================================================ // Scintilla source code edit control /** @file LexConf.cxx ** Lexer for Apache Configuration Files. ** ** First working version contributed by Ahmad Zawawi on October 28, 2000. ** i created this lexer because i needed something pretty when dealing ** when Apache Configuration files... **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static void ColouriseConfDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler) { int state = SCE_CONF_DEFAULT; char chNext = styler[startPos]; Sci_Position lengthDoc = startPos + length; // create a buffer large enough to take the largest chunk... char *buffer = new char[length+1]; Sci_Position bufferCount = 0; // this assumes that we have 2 keyword list in conf.properties WordList &directives = *keywordLists[0]; WordList ¶ms = *keywordLists[1]; // go through all provided text segment // using the hand-written state machine shown below styler.StartAt(startPos); styler.StartSegment(startPos); for (Sci_Position i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); i++; continue; } switch(state) { case SCE_CONF_DEFAULT: if( ch == '\n' || ch == '\r' || ch == '\t' || ch == ' ') { // whitespace is simply ignored here... styler.ColourTo(i,SCE_CONF_DEFAULT); break; } else if( ch == '#' ) { // signals the start of a comment... state = SCE_CONF_COMMENT; styler.ColourTo(i,SCE_CONF_COMMENT); } else if( ch == '.' /*|| ch == '/'*/) { // signals the start of a file... state = SCE_CONF_EXTENSION; styler.ColourTo(i,SCE_CONF_EXTENSION); } else if( ch == '"') { state = SCE_CONF_STRING; styler.ColourTo(i,SCE_CONF_STRING); } else if( IsASCII(ch) && ispunct(ch) ) { // signals an operator... // no state jump necessary for this // simple case... styler.ColourTo(i,SCE_CONF_OPERATOR); } else if( IsASCII(ch) && isalpha(ch) ) { // signals the start of an identifier bufferCount = 0; buffer[bufferCount++] = static_cast(tolower(ch)); state = SCE_CONF_IDENTIFIER; } else if( IsASCII(ch) && isdigit(ch) ) { // signals the start of a number bufferCount = 0; buffer[bufferCount++] = ch; //styler.ColourTo(i,SCE_CONF_NUMBER); state = SCE_CONF_NUMBER; } else { // style it the default style.. styler.ColourTo(i,SCE_CONF_DEFAULT); } break; case SCE_CONF_COMMENT: // if we find a newline here, // we simply go to default state // else continue to work on it... if( ch == '\n' || ch == '\r' ) { state = SCE_CONF_DEFAULT; } else { styler.ColourTo(i,SCE_CONF_COMMENT); } break; case SCE_CONF_EXTENSION: // if we find a non-alphanumeric char, // we simply go to default state // else we're still dealing with an extension... if( (IsASCII(ch) && isalnum(ch)) || (ch == '_') || (ch == '-') || (ch == '$') || (ch == '/') || (ch == '.') || (ch == '*') ) { styler.ColourTo(i,SCE_CONF_EXTENSION); } else { state = SCE_CONF_DEFAULT; chNext = styler[i--]; } break; case SCE_CONF_STRING: // if we find the end of a string char, we simply go to default state // else we're still dealing with an string... if( (ch == '"' && styler.SafeGetCharAt(i-1)!='\\') || (ch == '\n') || (ch == '\r') ) { state = SCE_CONF_DEFAULT; } styler.ColourTo(i,SCE_CONF_STRING); break; case SCE_CONF_IDENTIFIER: // stay in CONF_IDENTIFIER state until we find a non-alphanumeric if( (IsASCII(ch) && isalnum(ch)) || (ch == '_') || (ch == '-') || (ch == '/') || (ch == '$') || (ch == '.') || (ch == '*')) { buffer[bufferCount++] = static_cast(tolower(ch)); } else { state = SCE_CONF_DEFAULT; buffer[bufferCount] = '\0'; // check if the buffer contains a keyword, and highlight it if it is a keyword... if(directives.InList(buffer)) { styler.ColourTo(i-1,SCE_CONF_DIRECTIVE ); } else if(params.InList(buffer)) { styler.ColourTo(i-1,SCE_CONF_PARAMETER ); } else if(strchr(buffer,'/') || strchr(buffer,'.')) { styler.ColourTo(i-1,SCE_CONF_EXTENSION); } else { styler.ColourTo(i-1,SCE_CONF_DEFAULT); } // push back the faulty character chNext = styler[i--]; } break; case SCE_CONF_NUMBER: // stay in CONF_NUMBER state until we find a non-numeric if( (IsASCII(ch) && isdigit(ch)) || ch == '.') { buffer[bufferCount++] = ch; } else { state = SCE_CONF_DEFAULT; buffer[bufferCount] = '\0'; // Colourize here... if( strchr(buffer,'.') ) { // it is an IP address... styler.ColourTo(i-1,SCE_CONF_IP); } else { // normal number styler.ColourTo(i-1,SCE_CONF_NUMBER); } // push back a character chNext = styler[i--]; } break; } } delete []buffer; } static const char * const confWordListDesc[] = { "Directives", "Parameters", 0 }; LexerModule lmConf(SCLEX_CONF, ColouriseConfDoc, "conf", 0, confWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexCrontab.cpp ================================================ // Scintilla source code edit control /** @file LexCrontab.cxx ** Lexer to use with extended crontab files used by a powerful ** Windows scheduler/event monitor/automation manager nnCron. ** (http://nemtsev.eserv.ru/) **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static void ColouriseNncrontabDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler) { int state = SCE_NNCRONTAB_DEFAULT; char chNext = styler[startPos]; Sci_Position lengthDoc = startPos + length; // create a buffer large enough to take the largest chunk... char *buffer = new char[length+1]; Sci_Position bufferCount = 0; // used when highliting environment variables inside quoted string: bool insideString = false; // this assumes that we have 3 keyword list in conf.properties WordList §ion = *keywordLists[0]; WordList &keyword = *keywordLists[1]; WordList &modifier = *keywordLists[2]; // go through all provided text segment // using the hand-written state machine shown below styler.StartAt(startPos); styler.StartSegment(startPos); for (Sci_Position i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); i++; continue; } switch(state) { case SCE_NNCRONTAB_DEFAULT: if( ch == '\n' || ch == '\r' || ch == '\t' || ch == ' ') { // whitespace is simply ignored here... styler.ColourTo(i,SCE_NNCRONTAB_DEFAULT); break; } else if( ch == '#' && styler.SafeGetCharAt(i+1) == '(') { // signals the start of a task... state = SCE_NNCRONTAB_TASK; styler.ColourTo(i,SCE_NNCRONTAB_TASK); } else if( ch == '\\' && (styler.SafeGetCharAt(i+1) == ' ' || styler.SafeGetCharAt(i+1) == '\t')) { // signals the start of an extended comment... state = SCE_NNCRONTAB_COMMENT; styler.ColourTo(i,SCE_NNCRONTAB_COMMENT); } else if( ch == '#' ) { // signals the start of a plain comment... state = SCE_NNCRONTAB_COMMENT; styler.ColourTo(i,SCE_NNCRONTAB_COMMENT); } else if( ch == ')' && styler.SafeGetCharAt(i+1) == '#') { // signals the end of a task... state = SCE_NNCRONTAB_TASK; styler.ColourTo(i,SCE_NNCRONTAB_TASK); } else if( ch == '"') { state = SCE_NNCRONTAB_STRING; styler.ColourTo(i,SCE_NNCRONTAB_STRING); } else if( ch == '%') { // signals environment variables state = SCE_NNCRONTAB_ENVIRONMENT; styler.ColourTo(i,SCE_NNCRONTAB_ENVIRONMENT); } else if( ch == '<' && styler.SafeGetCharAt(i+1) == '%') { // signals environment variables state = SCE_NNCRONTAB_ENVIRONMENT; styler.ColourTo(i,SCE_NNCRONTAB_ENVIRONMENT); } else if( ch == '*' ) { // signals an asterisk // no state jump necessary for this simple case... styler.ColourTo(i,SCE_NNCRONTAB_ASTERISK); } else if( (IsASCII(ch) && isalpha(ch)) || ch == '<' ) { // signals the start of an identifier bufferCount = 0; buffer[bufferCount++] = ch; state = SCE_NNCRONTAB_IDENTIFIER; } else if( IsASCII(ch) && isdigit(ch) ) { // signals the start of a number bufferCount = 0; buffer[bufferCount++] = ch; state = SCE_NNCRONTAB_NUMBER; } else { // style it the default style.. styler.ColourTo(i,SCE_NNCRONTAB_DEFAULT); } break; case SCE_NNCRONTAB_COMMENT: // if we find a newline here, // we simply go to default state // else continue to work on it... if( ch == '\n' || ch == '\r' ) { state = SCE_NNCRONTAB_DEFAULT; } else { styler.ColourTo(i,SCE_NNCRONTAB_COMMENT); } break; case SCE_NNCRONTAB_TASK: // if we find a newline here, // we simply go to default state // else continue to work on it... if( ch == '\n' || ch == '\r' ) { state = SCE_NNCRONTAB_DEFAULT; } else { styler.ColourTo(i,SCE_NNCRONTAB_TASK); } break; case SCE_NNCRONTAB_STRING: if( ch == '%' ) { state = SCE_NNCRONTAB_ENVIRONMENT; insideString = true; styler.ColourTo(i-1,SCE_NNCRONTAB_STRING); break; } // if we find the end of a string char, we simply go to default state // else we're still dealing with an string... if( (ch == '"' && styler.SafeGetCharAt(i-1)!='\\') || (ch == '\n') || (ch == '\r') ) { state = SCE_NNCRONTAB_DEFAULT; } styler.ColourTo(i,SCE_NNCRONTAB_STRING); break; case SCE_NNCRONTAB_ENVIRONMENT: // if we find the end of a string char, we simply go to default state // else we're still dealing with an string... if( ch == '%' && insideString ) { state = SCE_NNCRONTAB_STRING; insideString = false; break; } if( (ch == '%' && styler.SafeGetCharAt(i-1)!='\\') || (ch == '\n') || (ch == '\r') || (ch == '>') ) { state = SCE_NNCRONTAB_DEFAULT; styler.ColourTo(i,SCE_NNCRONTAB_ENVIRONMENT); break; } styler.ColourTo(i+1,SCE_NNCRONTAB_ENVIRONMENT); break; case SCE_NNCRONTAB_IDENTIFIER: // stay in CONF_IDENTIFIER state until we find a non-alphanumeric if( (IsASCII(ch) && isalnum(ch)) || (ch == '_') || (ch == '-') || (ch == '/') || (ch == '$') || (ch == '.') || (ch == '<') || (ch == '>') || (ch == '@') ) { buffer[bufferCount++] = ch; } else { state = SCE_NNCRONTAB_DEFAULT; buffer[bufferCount] = '\0'; // check if the buffer contains a keyword, // and highlight it if it is a keyword... if(section.InList(buffer)) { styler.ColourTo(i,SCE_NNCRONTAB_SECTION ); } else if(keyword.InList(buffer)) { styler.ColourTo(i-1,SCE_NNCRONTAB_KEYWORD ); } // else if(strchr(buffer,'/') || strchr(buffer,'.')) { // styler.ColourTo(i-1,SCE_NNCRONTAB_EXTENSION); // } else if(modifier.InList(buffer)) { styler.ColourTo(i-1,SCE_NNCRONTAB_MODIFIER ); } else { styler.ColourTo(i-1,SCE_NNCRONTAB_DEFAULT); } // push back the faulty character chNext = styler[i--]; } break; case SCE_NNCRONTAB_NUMBER: // stay in CONF_NUMBER state until we find a non-numeric if( IsASCII(ch) && isdigit(ch) /* || ch == '.' */ ) { buffer[bufferCount++] = ch; } else { state = SCE_NNCRONTAB_DEFAULT; buffer[bufferCount] = '\0'; // Colourize here... (normal number) styler.ColourTo(i-1,SCE_NNCRONTAB_NUMBER); // push back a character chNext = styler[i--]; } break; } } delete []buffer; } static const char * const cronWordListDesc[] = { "Section keywords and Forth words", "nnCrontab keywords", "Modifiers", 0 }; LexerModule lmNncrontab(SCLEX_NNCRONTAB, ColouriseNncrontabDoc, "nncrontab", 0, cronWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexCsound.cpp ================================================ // Scintilla source code edit control /** @file LexCsound.cxx ** Lexer for Csound (Orchestra & Score) ** Written by Georg Ritter - **/ // Copyright 1998-2003 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' || ch == '?'); } static inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.' || ch == '%' || ch == '@' || ch == '$' || ch == '?'); } static inline bool IsCsoundOperator(char ch) { if (IsASCII(ch) && isalnum(ch)) return false; // '.' left out as it is used to make up numbers if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || ch == '(' || ch == ')' || ch == '=' || ch == '^' || ch == '[' || ch == ']' || ch == '<' || ch == '&' || ch == '>' || ch == ',' || ch == '|' || ch == '~' || ch == '%' || ch == ':') return true; return false; } static void ColouriseCsoundDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &opcode = *keywordlists[0]; WordList &headerStmt = *keywordlists[1]; WordList &otherKeyword = *keywordlists[2]; // Do not leak onto next line if (initStyle == SCE_CSOUND_STRINGEOL) initStyle = SCE_CSOUND_DEFAULT; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // Handle line continuation generically. if (sc.ch == '\\') { if (sc.chNext == '\n' || sc.chNext == '\r') { sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } continue; } } // Determine if the current state should terminate. if (sc.state == SCE_CSOUND_OPERATOR) { if (!IsCsoundOperator(static_cast(sc.ch))) { sc.SetState(SCE_CSOUND_DEFAULT); } }else if (sc.state == SCE_CSOUND_NUMBER) { if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_CSOUND_DEFAULT); } } else if (sc.state == SCE_CSOUND_IDENTIFIER) { if (!IsAWordChar(sc.ch) ) { char s[100]; sc.GetCurrent(s, sizeof(s)); if (opcode.InList(s)) { sc.ChangeState(SCE_CSOUND_OPCODE); } else if (headerStmt.InList(s)) { sc.ChangeState(SCE_CSOUND_HEADERSTMT); } else if (otherKeyword.InList(s)) { sc.ChangeState(SCE_CSOUND_USERKEYWORD); } else if (s[0] == 'p') { sc.ChangeState(SCE_CSOUND_PARAM); } else if (s[0] == 'a') { sc.ChangeState(SCE_CSOUND_ARATE_VAR); } else if (s[0] == 'k') { sc.ChangeState(SCE_CSOUND_KRATE_VAR); } else if (s[0] == 'i') { // covers both i-rate variables and i-statements sc.ChangeState(SCE_CSOUND_IRATE_VAR); } else if (s[0] == 'g') { sc.ChangeState(SCE_CSOUND_GLOBAL_VAR); } sc.SetState(SCE_CSOUND_DEFAULT); } } else if (sc.state == SCE_CSOUND_COMMENT ) { if (sc.atLineEnd) { sc.SetState(SCE_CSOUND_DEFAULT); } } else if ((sc.state == SCE_CSOUND_ARATE_VAR) || (sc.state == SCE_CSOUND_KRATE_VAR) || (sc.state == SCE_CSOUND_IRATE_VAR)) { if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_CSOUND_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_CSOUND_DEFAULT) { if (sc.ch == ';'){ sc.SetState(SCE_CSOUND_COMMENT); } else if (isdigit(sc.ch) || (sc.ch == '.' && isdigit(sc.chNext))) { sc.SetState(SCE_CSOUND_NUMBER); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_CSOUND_IDENTIFIER); } else if (IsCsoundOperator(static_cast(sc.ch))) { sc.SetState(SCE_CSOUND_OPERATOR); } else if (sc.ch == 'p') { sc.SetState(SCE_CSOUND_PARAM); } else if (sc.ch == 'a') { sc.SetState(SCE_CSOUND_ARATE_VAR); } else if (sc.ch == 'k') { sc.SetState(SCE_CSOUND_KRATE_VAR); } else if (sc.ch == 'i') { // covers both i-rate variables and i-statements sc.SetState(SCE_CSOUND_IRATE_VAR); } else if (sc.ch == 'g') { sc.SetState(SCE_CSOUND_GLOBAL_VAR); } } } sc.Complete(); } static void FoldCsoundInstruments(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[], Accessor &styler) { Sci_PositionU lengthDoc = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int stylePrev = 0; int styleNext = styler.StyleAt(startPos); for (Sci_PositionU i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if ((stylePrev != SCE_CSOUND_OPCODE) && (style == SCE_CSOUND_OPCODE)) { char s[20]; unsigned int j = 0; while ((j < (sizeof(s) - 1)) && (iswordchar(styler[i + j]))) { s[j] = styler[i + j]; j++; } s[j] = '\0'; if (strcmp(s, "instr") == 0) levelCurrent++; if (strcmp(s, "endin") == 0) levelCurrent--; } if (atEOL) { int lev = levelPrev; if (visibleChars == 0) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; stylePrev = style; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const csoundWordListDesc[] = { "Opcodes", "Header Statements", "User keywords", 0 }; LexerModule lmCsound(SCLEX_CSOUND, ColouriseCsoundDoc, "csound", FoldCsoundInstruments, csoundWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexD.cpp ================================================ /** @file LexD.cxx ** Lexer for D. ** ** Copyright (c) 2006 by Waldemar Augustyn ** Converted to lexer object and added further folding features/properties by "Udo Lechner" **/ // Copyright 1998-2005 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #include "DefaultLexer.h" using namespace Scintilla; /* Nested comments require keeping the value of the nesting level for every position in the document. But since scintilla always styles line by line, we only need to store one value per line. The non-negative number indicates nesting level at the end of the line. */ // Underscore, letter, digit and universal alphas from C99 Appendix D. static bool IsWordStart(int ch) { return (IsASCII(ch) && (isalpha(ch) || ch == '_')) || !IsASCII(ch); } static bool IsWord(int ch) { return (IsASCII(ch) && (isalnum(ch) || ch == '_')) || !IsASCII(ch); } static bool IsDoxygen(int ch) { if (IsASCII(ch) && islower(ch)) return true; if (ch == '$' || ch == '@' || ch == '\\' || ch == '&' || ch == '#' || ch == '<' || ch == '>' || ch == '{' || ch == '}' || ch == '[' || ch == ']') return true; return false; } static bool IsStringSuffix(int ch) { return ch == 'c' || ch == 'w' || ch == 'd'; } static bool IsStreamCommentStyle(int style) { return style == SCE_D_COMMENT || style == SCE_D_COMMENTDOC || style == SCE_D_COMMENTDOCKEYWORD || style == SCE_D_COMMENTDOCKEYWORDERROR; } // An individual named option for use in an OptionSet // Options used for LexerD struct OptionsD { bool fold; bool foldSyntaxBased; bool foldComment; bool foldCommentMultiline; bool foldCommentExplicit; std::string foldExplicitStart; std::string foldExplicitEnd; bool foldExplicitAnywhere; bool foldCompact; int foldAtElseInt; bool foldAtElse; OptionsD() { fold = false; foldSyntaxBased = true; foldComment = false; foldCommentMultiline = true; foldCommentExplicit = true; foldExplicitStart = ""; foldExplicitEnd = ""; foldExplicitAnywhere = false; foldCompact = true; foldAtElseInt = -1; foldAtElse = false; } }; static const char * const dWordLists[] = { "Primary keywords and identifiers", "Secondary keywords and identifiers", "Documentation comment keywords", "Type definitions and aliases", "Keywords 5", "Keywords 6", "Keywords 7", 0, }; struct OptionSetD : public OptionSet { OptionSetD() { DefineProperty("fold", &OptionsD::fold); DefineProperty("fold.d.syntax.based", &OptionsD::foldSyntaxBased, "Set this property to 0 to disable syntax based folding."); DefineProperty("fold.comment", &OptionsD::foldComment); DefineProperty("fold.d.comment.multiline", &OptionsD::foldCommentMultiline, "Set this property to 0 to disable folding multi-line comments when fold.comment=1."); DefineProperty("fold.d.comment.explicit", &OptionsD::foldCommentExplicit, "Set this property to 0 to disable folding explicit fold points when fold.comment=1."); DefineProperty("fold.d.explicit.start", &OptionsD::foldExplicitStart, "The string to use for explicit fold start points, replacing the standard //{."); DefineProperty("fold.d.explicit.end", &OptionsD::foldExplicitEnd, "The string to use for explicit fold end points, replacing the standard //}."); DefineProperty("fold.d.explicit.anywhere", &OptionsD::foldExplicitAnywhere, "Set this property to 1 to enable explicit fold points anywhere, not just in line comments."); DefineProperty("fold.compact", &OptionsD::foldCompact); DefineProperty("lexer.d.fold.at.else", &OptionsD::foldAtElseInt, "This option enables D folding on a \"} else {\" line of an if statement."); DefineProperty("fold.at.else", &OptionsD::foldAtElse); DefineWordListSets(dWordLists); } }; class LexerD : public DefaultLexer { bool caseSensitive; WordList keywords; WordList keywords2; WordList keywords3; WordList keywords4; WordList keywords5; WordList keywords6; WordList keywords7; OptionsD options; OptionSetD osD; public: LexerD(bool caseSensitive_) : caseSensitive(caseSensitive_) { } virtual ~LexerD() { } void SCI_METHOD Release() override { delete this; } int SCI_METHOD Version() const override { return lvOriginal; } const char * SCI_METHOD PropertyNames() override { return osD.PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return osD.PropertyType(name); } const char * SCI_METHOD DescribeProperty(const char *name) override { return osD.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override; const char * SCI_METHOD DescribeWordListSets() override { return osD.DescribeWordListSets(); } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void * SCI_METHOD PrivateCall(int, void *) override { return 0; } static ILexer *LexerFactoryD() { return new LexerD(true); } static ILexer *LexerFactoryDInsensitive() { return new LexerD(false); } }; Sci_Position SCI_METHOD LexerD::PropertySet(const char *key, const char *val) { if (osD.PropertySet(&options, key, val)) { return 0; } return -1; } Sci_Position SCI_METHOD LexerD::WordListSet(int n, const char *wl) { WordList *wordListN = 0; switch (n) { case 0: wordListN = &keywords; break; case 1: wordListN = &keywords2; break; case 2: wordListN = &keywords3; break; case 3: wordListN = &keywords4; break; case 4: wordListN = &keywords5; break; case 5: wordListN = &keywords6; break; case 6: wordListN = &keywords7; break; } Sci_Position firstModification = -1; if (wordListN) { WordList wlNew; wlNew.Set(wl); if (*wordListN != wlNew) { wordListN->Set(wl); firstModification = 0; } } return firstModification; } void SCI_METHOD LexerD::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { LexAccessor styler(pAccess); int styleBeforeDCKeyword = SCE_D_DEFAULT; StyleContext sc(startPos, length, initStyle, styler); Sci_Position curLine = styler.GetLine(startPos); int curNcLevel = curLine > 0? styler.GetLineState(curLine-1): 0; bool numFloat = false; // Float literals have '+' and '-' signs bool numHex = false; for (; sc.More(); sc.Forward()) { if (sc.atLineStart) { curLine = styler.GetLine(sc.currentPos); styler.SetLineState(curLine, curNcLevel); } // Determine if the current state should terminate. switch (sc.state) { case SCE_D_OPERATOR: sc.SetState(SCE_D_DEFAULT); break; case SCE_D_NUMBER: // We accept almost anything because of hex. and number suffixes if (IsASCII(sc.ch) && (isalnum(sc.ch) || sc.ch == '_')) { continue; } else if (sc.ch == '.' && sc.chNext != '.' && !numFloat) { // Don't parse 0..2 as number. numFloat=true; continue; } else if ( ( sc.ch == '-' || sc.ch == '+' ) && ( /*sign and*/ ( !numHex && ( sc.chPrev == 'e' || sc.chPrev == 'E' ) ) || /*decimal or*/ ( sc.chPrev == 'p' || sc.chPrev == 'P' ) ) ) { /*hex*/ // Parse exponent sign in float literals: 2e+10 0x2e+10 continue; } else { sc.SetState(SCE_D_DEFAULT); } break; case SCE_D_IDENTIFIER: if (!IsWord(sc.ch)) { char s[1000]; if (caseSensitive) { sc.GetCurrent(s, sizeof(s)); } else { sc.GetCurrentLowered(s, sizeof(s)); } if (keywords.InList(s)) { sc.ChangeState(SCE_D_WORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_D_WORD2); } else if (keywords4.InList(s)) { sc.ChangeState(SCE_D_TYPEDEF); } else if (keywords5.InList(s)) { sc.ChangeState(SCE_D_WORD5); } else if (keywords6.InList(s)) { sc.ChangeState(SCE_D_WORD6); } else if (keywords7.InList(s)) { sc.ChangeState(SCE_D_WORD7); } sc.SetState(SCE_D_DEFAULT); } break; case SCE_D_COMMENT: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_D_DEFAULT); } break; case SCE_D_COMMENTDOC: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_D_DEFAULT); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = SCE_D_COMMENTDOC; sc.SetState(SCE_D_COMMENTDOCKEYWORD); } } break; case SCE_D_COMMENTLINE: if (sc.atLineStart) { sc.SetState(SCE_D_DEFAULT); } break; case SCE_D_COMMENTLINEDOC: if (sc.atLineStart) { sc.SetState(SCE_D_DEFAULT); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = SCE_D_COMMENTLINEDOC; sc.SetState(SCE_D_COMMENTDOCKEYWORD); } } break; case SCE_D_COMMENTDOCKEYWORD: if ((styleBeforeDCKeyword == SCE_D_COMMENTDOC) && sc.Match('*', '/')) { sc.ChangeState(SCE_D_COMMENTDOCKEYWORDERROR); sc.Forward(); sc.ForwardSetState(SCE_D_DEFAULT); } else if (!IsDoxygen(sc.ch)) { char s[100]; if (caseSensitive) { sc.GetCurrent(s, sizeof(s)); } else { sc.GetCurrentLowered(s, sizeof(s)); } if (!IsASpace(sc.ch) || !keywords3.InList(s + 1)) { sc.ChangeState(SCE_D_COMMENTDOCKEYWORDERROR); } sc.SetState(styleBeforeDCKeyword); } break; case SCE_D_COMMENTNESTED: if (sc.Match('+', '/')) { if (curNcLevel > 0) curNcLevel -= 1; curLine = styler.GetLine(sc.currentPos); styler.SetLineState(curLine, curNcLevel); sc.Forward(); if (curNcLevel == 0) { sc.ForwardSetState(SCE_D_DEFAULT); } } else if (sc.Match('/','+')) { curNcLevel += 1; curLine = styler.GetLine(sc.currentPos); styler.SetLineState(curLine, curNcLevel); sc.Forward(); } break; case SCE_D_STRING: if (sc.ch == '\\') { if (sc.chNext == '"' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '"') { if(IsStringSuffix(sc.chNext)) sc.Forward(); sc.ForwardSetState(SCE_D_DEFAULT); } break; case SCE_D_CHARACTER: if (sc.atLineEnd) { sc.ChangeState(SCE_D_STRINGEOL); } else if (sc.ch == '\\') { if (sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\'') { // Char has no suffixes sc.ForwardSetState(SCE_D_DEFAULT); } break; case SCE_D_STRINGEOL: if (sc.atLineStart) { sc.SetState(SCE_D_DEFAULT); } break; case SCE_D_STRINGB: if (sc.ch == '`') { if(IsStringSuffix(sc.chNext)) sc.Forward(); sc.ForwardSetState(SCE_D_DEFAULT); } break; case SCE_D_STRINGR: if (sc.ch == '"') { if(IsStringSuffix(sc.chNext)) sc.Forward(); sc.ForwardSetState(SCE_D_DEFAULT); } break; } // Determine if a new state should be entered. if (sc.state == SCE_D_DEFAULT) { if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_D_NUMBER); numFloat = sc.ch == '.'; // Remember hex literal numHex = sc.ch == '0' && ( sc.chNext == 'x' || sc.chNext == 'X' ); } else if ( (sc.ch == 'r' || sc.ch == 'x' || sc.ch == 'q') && sc.chNext == '"' ) { // Limited support for hex and delimited strings: parse as r"" sc.SetState(SCE_D_STRINGR); sc.Forward(); } else if (IsWordStart(sc.ch) || sc.ch == '$') { sc.SetState(SCE_D_IDENTIFIER); } else if (sc.Match('/','+')) { curNcLevel += 1; curLine = styler.GetLine(sc.currentPos); styler.SetLineState(curLine, curNcLevel); sc.SetState(SCE_D_COMMENTNESTED); sc.Forward(); } else if (sc.Match('/', '*')) { if (sc.Match("/**") || sc.Match("/*!")) { // Support of Qt/Doxygen doc. style sc.SetState(SCE_D_COMMENTDOC); } else { sc.SetState(SCE_D_COMMENT); } sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.Match('/', '/')) { if ((sc.Match("///") && !sc.Match("////")) || sc.Match("//!")) // Support of Qt/Doxygen doc. style sc.SetState(SCE_D_COMMENTLINEDOC); else sc.SetState(SCE_D_COMMENTLINE); } else if (sc.ch == '"') { sc.SetState(SCE_D_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_D_CHARACTER); } else if (sc.ch == '`') { sc.SetState(SCE_D_STRINGB); } else if (isoperator(static_cast(sc.ch))) { sc.SetState(SCE_D_OPERATOR); if (sc.ch == '.' && sc.chNext == '.') sc.Forward(); // Range operator } } } sc.Complete(); } // Store both the current line's fold level and the next lines in the // level store to make it easy to pick up with each increment // and to make it possible to fiddle the current level for "} else {". void SCI_METHOD LexerD::Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { if (!options.fold) return; LexAccessor styler(pAccess); Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelCurrent = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; int levelMinCurrent = levelCurrent; int levelNext = levelCurrent; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; bool foldAtElse = options.foldAtElseInt >= 0 ? options.foldAtElseInt != 0 : options.foldAtElse; const bool userDefinedFoldMarkers = !options.foldExplicitStart.empty() && !options.foldExplicitEnd.empty(); for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (options.foldComment && options.foldCommentMultiline && IsStreamCommentStyle(style)) { if (!IsStreamCommentStyle(stylePrev)) { levelNext++; } else if (!IsStreamCommentStyle(styleNext) && !atEOL) { // Comments don't end at end of line and the next character may be unstyled. levelNext--; } } if (options.foldComment && options.foldCommentExplicit && ((style == SCE_D_COMMENTLINE) || options.foldExplicitAnywhere)) { if (userDefinedFoldMarkers) { if (styler.Match(i, options.foldExplicitStart.c_str())) { levelNext++; } else if (styler.Match(i, options.foldExplicitEnd.c_str())) { levelNext--; } } else { if ((ch == '/') && (chNext == '/')) { char chNext2 = styler.SafeGetCharAt(i + 2); if (chNext2 == '{') { levelNext++; } else if (chNext2 == '}') { levelNext--; } } } } if (options.foldSyntaxBased && (style == SCE_D_OPERATOR)) { if (ch == '{') { // Measure the minimum before a '{' to allow // folding on "} else {" if (levelMinCurrent > levelNext) { levelMinCurrent = levelNext; } levelNext++; } else if (ch == '}') { levelNext--; } } if (atEOL || (i == endPos-1)) { if (options.foldComment && options.foldCommentMultiline) { // Handle nested comments int nc; nc = styler.GetLineState(lineCurrent); nc -= lineCurrent>0? styler.GetLineState(lineCurrent-1): 0; levelNext += nc; } int levelUse = levelCurrent; if (options.foldSyntaxBased && foldAtElse) { levelUse = levelMinCurrent; } int lev = levelUse | levelNext << 16; if (visibleChars == 0 && options.foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if (levelUse < levelNext) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelCurrent = levelNext; levelMinCurrent = levelCurrent; visibleChars = 0; } if (!IsASpace(ch)) visibleChars++; } } LexerModule lmD(SCLEX_D, LexerD::LexerFactoryD, "d", dWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexDMAP.cpp ================================================ // Scintilla source code edit control /** @file LexDMAP.cxx ** Lexer for MSC Nastran DMAP. ** Written by Mark Robinson, based on the Fortran lexer by Chuan-jian Shen, Last changed Aug. 2013 **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. /***************************************/ #include #include #include #include #include #include /***************************************/ #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" /***************************************/ using namespace Scintilla; /***********************************************/ static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '%'); } /**********************************************/ static inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch)); } /***************************************/ static void ColouriseDMAPDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; /***************************************/ Sci_Position posLineStart = 0, numNonBlank = 0; Sci_Position endPos = startPos + length; /***************************************/ // backtrack to the nearest keyword while ((startPos > 1) && (styler.StyleAt(startPos) != SCE_DMAP_WORD)) { startPos--; } startPos = styler.LineStart(styler.GetLine(startPos)); initStyle = styler.StyleAt(startPos - 1); StyleContext sc(startPos, endPos-startPos, initStyle, styler); /***************************************/ for (; sc.More(); sc.Forward()) { // remember the start position of the line if (sc.atLineStart) { posLineStart = sc.currentPos; numNonBlank = 0; sc.SetState(SCE_DMAP_DEFAULT); } if (!IsASpaceOrTab(sc.ch)) numNonBlank ++; /***********************************************/ // Handle data appearing after column 72; it is ignored Sci_Position toLineStart = sc.currentPos - posLineStart; if (toLineStart >= 72 || sc.ch == '$') { sc.SetState(SCE_DMAP_COMMENT); while (!sc.atLineEnd && sc.More()) sc.Forward(); // Until line end continue; } /***************************************/ // Determine if the current state should terminate. if (sc.state == SCE_DMAP_OPERATOR) { sc.SetState(SCE_DMAP_DEFAULT); } else if (sc.state == SCE_DMAP_NUMBER) { if (!(IsAWordChar(sc.ch) || sc.ch=='\'' || sc.ch=='\"' || sc.ch=='.')) { sc.SetState(SCE_DMAP_DEFAULT); } } else if (sc.state == SCE_DMAP_IDENTIFIER) { if (!IsAWordChar(sc.ch) || (sc.ch == '%')) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_DMAP_WORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_DMAP_WORD2); } else if (keywords3.InList(s)) { sc.ChangeState(SCE_DMAP_WORD3); } sc.SetState(SCE_DMAP_DEFAULT); } } else if (sc.state == SCE_DMAP_COMMENT) { if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_DMAP_DEFAULT); } } else if (sc.state == SCE_DMAP_STRING1) { if (sc.ch == '\'') { if (sc.chNext == '\'') { sc.Forward(); } else { sc.ForwardSetState(SCE_DMAP_DEFAULT); } } else if (sc.atLineEnd) { sc.ChangeState(SCE_DMAP_STRINGEOL); sc.ForwardSetState(SCE_DMAP_DEFAULT); } } else if (sc.state == SCE_DMAP_STRING2) { if (sc.atLineEnd) { sc.ChangeState(SCE_DMAP_STRINGEOL); sc.ForwardSetState(SCE_DMAP_DEFAULT); } else if (sc.ch == '\"') { if (sc.chNext == '\"') { sc.Forward(); } else { sc.ForwardSetState(SCE_DMAP_DEFAULT); } } } /***************************************/ // Determine if a new state should be entered. if (sc.state == SCE_DMAP_DEFAULT) { if (sc.ch == '$') { sc.SetState(SCE_DMAP_COMMENT); } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext)) || (sc.ch == '-' && IsADigit(sc.chNext))) { sc.SetState(SCE_F_NUMBER); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_DMAP_IDENTIFIER); } else if (sc.ch == '\"') { sc.SetState(SCE_DMAP_STRING2); } else if (sc.ch == '\'') { sc.SetState(SCE_DMAP_STRING1); } else if (isoperator(static_cast(sc.ch))) { sc.SetState(SCE_DMAP_OPERATOR); } } } sc.Complete(); } /***************************************/ // To determine the folding level depending on keywords static int classifyFoldPointDMAP(const char* s, const char* prevWord) { int lev = 0; if ((strcmp(prevWord, "else") == 0 && strcmp(s, "if") == 0) || strcmp(s, "enddo") == 0 || strcmp(s, "endif") == 0) { lev = -1; } else if ((strcmp(prevWord, "do") == 0 && strcmp(s, "while") == 0) || strcmp(s, "then") == 0) { lev = 1; } return lev; } // Folding the code static void FoldDMAPDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { // // bool foldComment = styler.GetPropertyInt("fold.comment") != 0; // Do not know how to fold the comment at the moment. // bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; /***************************************/ Sci_Position lastStart = 0; char prevWord[32] = ""; /***************************************/ for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); // if ((stylePrev == SCE_DMAP_DEFAULT || stylePrev == SCE_DMAP_OPERATOR || stylePrev == SCE_DMAP_COMMENT) && (style == SCE_DMAP_WORD)) { // Store last word and label start point. lastStart = i; } /***************************************/ if (style == SCE_DMAP_WORD) { if(iswordchar(ch) && !iswordchar(chNext)) { char s[32]; Sci_PositionU k; for(k=0; (k<31 ) && (k(tolower(styler[lastStart+k])); } s[k] = '\0'; levelCurrent += classifyFoldPointDMAP(s, prevWord); strcpy(prevWord, s); } } if (atEOL) { int lev = levelPrev; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; strcpy(prevWord, ""); } /***************************************/ if (!isspacechar(ch)) visibleChars++; } /***************************************/ // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } /***************************************/ static const char * const DMAPWordLists[] = { "Primary keywords and identifiers", "Intrinsic functions", "Extended and user defined functions", 0, }; /***************************************/ LexerModule lmDMAP(SCLEX_DMAP, ColouriseDMAPDoc, "DMAP", FoldDMAPDoc, DMAPWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexDMIS.cpp ================================================ // Scintilla source code edit control /** @file LexDMIS.cxx ** Lexer for DMIS. **/ // Copyright 1998-2005 by Neil Hodgson // Copyright 2013-2014 by Andreas Tscharner // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "DefaultLexer.h" using namespace Scintilla; static const char *const DMISWordListDesc[] = { "DMIS Major Words", "DMIS Minor Words", "Unsupported DMIS Major Words", "Unsupported DMIS Minor Words", "Keywords for code folding start", "Corresponding keywords for code folding end", 0 }; class LexerDMIS : public DefaultLexer { private: char *m_wordListSets; WordList m_majorWords; WordList m_minorWords; WordList m_unsupportedMajor; WordList m_unsupportedMinor; WordList m_codeFoldingStart; WordList m_codeFoldingEnd; char * SCI_METHOD UpperCase(char *item); void SCI_METHOD InitWordListSets(void); public: LexerDMIS(void); virtual ~LexerDMIS(void); int SCI_METHOD Version() const override { return lvOriginal; } void SCI_METHOD Release() override { delete this; } const char * SCI_METHOD PropertyNames() override { return NULL; } int SCI_METHOD PropertyType(const char *) override { return -1; } const char * SCI_METHOD DescribeProperty(const char *) override { return NULL; } Sci_Position SCI_METHOD PropertySet(const char *, const char *) override { return -1; } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void * SCI_METHOD PrivateCall(int, void *) override { return NULL; } static ILexer *LexerFactoryDMIS() { return new LexerDMIS; } const char * SCI_METHOD DescribeWordListSets() override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override; }; char * SCI_METHOD LexerDMIS::UpperCase(char *item) { char *itemStart; itemStart = item; while (item && *item) { *item = toupper(*item); item++; }; return itemStart; } void SCI_METHOD LexerDMIS::InitWordListSets(void) { size_t totalLen = 0; for (int i=0; DMISWordListDesc[i]; i++) { totalLen += strlen(DMISWordListDesc[i]); totalLen++; }; totalLen++; this->m_wordListSets = new char[totalLen]; memset(this->m_wordListSets, 0, totalLen); for (int i=0; DMISWordListDesc[i]; i++) { strcat(this->m_wordListSets, DMISWordListDesc[i]); strcat(this->m_wordListSets, "\n"); }; } LexerDMIS::LexerDMIS(void) { this->InitWordListSets(); this->m_majorWords.Clear(); this->m_minorWords.Clear(); this->m_unsupportedMajor.Clear(); this->m_unsupportedMinor.Clear(); this->m_codeFoldingStart.Clear(); this->m_codeFoldingEnd.Clear(); } LexerDMIS::~LexerDMIS(void) { delete[] this->m_wordListSets; } Sci_Position SCI_METHOD LexerDMIS::WordListSet(int n, const char *wl) { switch (n) { case 0: this->m_majorWords.Clear(); this->m_majorWords.Set(wl); break; case 1: this->m_minorWords.Clear(); this->m_minorWords.Set(wl); break; case 2: this->m_unsupportedMajor.Clear(); this->m_unsupportedMajor.Set(wl); break; case 3: this->m_unsupportedMinor.Clear(); this->m_unsupportedMinor.Set(wl); break; case 4: this->m_codeFoldingStart.Clear(); this->m_codeFoldingStart.Set(wl); break; case 5: this->m_codeFoldingEnd.Clear(); this->m_codeFoldingEnd.Set(wl); break; default: return -1; break; } return 0; } const char * SCI_METHOD LexerDMIS::DescribeWordListSets() { return this->m_wordListSets; } void SCI_METHOD LexerDMIS::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) { const Sci_PositionU MAX_STR_LEN = 100; LexAccessor styler(pAccess); StyleContext scCTX(startPos, lengthDoc, initStyle, styler); CharacterSet setDMISNumber(CharacterSet::setDigits, ".-+eE"); CharacterSet setDMISWordStart(CharacterSet::setAlpha, "-234", 0x80, true); CharacterSet setDMISWord(CharacterSet::setAlpha); bool isIFLine = false; for (; scCTX.More(); scCTX.Forward()) { if (scCTX.atLineEnd) { isIFLine = false; }; switch (scCTX.state) { case SCE_DMIS_DEFAULT: if (scCTX.Match('$', '$')) { scCTX.SetState(SCE_DMIS_COMMENT); scCTX.Forward(); }; if (scCTX.Match('\'')) { scCTX.SetState(SCE_DMIS_STRING); }; if (IsADigit(scCTX.ch) || ((scCTX.Match('-') || scCTX.Match('+')) && IsADigit(scCTX.chNext))) { scCTX.SetState(SCE_DMIS_NUMBER); break; }; if (setDMISWordStart.Contains(scCTX.ch)) { scCTX.SetState(SCE_DMIS_KEYWORD); }; if (scCTX.Match('(') && (!isIFLine)) { scCTX.SetState(SCE_DMIS_LABEL); }; break; case SCE_DMIS_COMMENT: if (scCTX.atLineEnd) { scCTX.SetState(SCE_DMIS_DEFAULT); }; break; case SCE_DMIS_STRING: if (scCTX.Match('\'')) { scCTX.SetState(SCE_DMIS_DEFAULT); }; break; case SCE_DMIS_NUMBER: if (!setDMISNumber.Contains(scCTX.ch)) { scCTX.SetState(SCE_DMIS_DEFAULT); }; break; case SCE_DMIS_KEYWORD: if (!setDMISWord.Contains(scCTX.ch)) { char tmpStr[MAX_STR_LEN]; memset(tmpStr, 0, MAX_STR_LEN*sizeof(char)); scCTX.GetCurrent(tmpStr, (MAX_STR_LEN-1)); strncpy(tmpStr, this->UpperCase(tmpStr), (MAX_STR_LEN-1)); if (this->m_minorWords.InList(tmpStr)) { scCTX.ChangeState(SCE_DMIS_MINORWORD); }; if (this->m_majorWords.InList(tmpStr)) { isIFLine = (strcmp(tmpStr, "IF") == 0); scCTX.ChangeState(SCE_DMIS_MAJORWORD); }; if (this->m_unsupportedMajor.InList(tmpStr)) { scCTX.ChangeState(SCE_DMIS_UNSUPPORTED_MAJOR); }; if (this->m_unsupportedMinor.InList(tmpStr)) { scCTX.ChangeState(SCE_DMIS_UNSUPPORTED_MINOR); }; if (scCTX.Match('(') && (!isIFLine)) { scCTX.SetState(SCE_DMIS_LABEL); } else { scCTX.SetState(SCE_DMIS_DEFAULT); }; }; break; case SCE_DMIS_LABEL: if (scCTX.Match(')')) { scCTX.SetState(SCE_DMIS_DEFAULT); }; break; }; }; scCTX.Complete(); } void SCI_METHOD LexerDMIS::Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDocument *pAccess) { const int MAX_STR_LEN = 100; LexAccessor styler(pAccess); Sci_PositionU endPos = startPos + lengthDoc; char chNext = styler[startPos]; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; int strPos = 0; bool foldWordPossible = false; CharacterSet setDMISFoldWord(CharacterSet::setAlpha); char *tmpStr; tmpStr = new char[MAX_STR_LEN]; memset(tmpStr, 0, MAX_STR_LEN*sizeof(char)); for (Sci_PositionU i=startPos; i= (MAX_STR_LEN-1)) { strPos = MAX_STR_LEN-1; }; int style = styler.StyleAt(i); bool noFoldPos = ((style == SCE_DMIS_COMMENT) || (style == SCE_DMIS_STRING)); if (foldWordPossible) { if (setDMISFoldWord.Contains(ch)) { tmpStr[strPos++] = ch; } else { tmpStr = this->UpperCase(tmpStr); if (this->m_codeFoldingStart.InList(tmpStr) && (!noFoldPos)) { levelCurrent++; }; if (this->m_codeFoldingEnd.InList(tmpStr) && (!noFoldPos)) { levelCurrent--; }; memset(tmpStr, 0, MAX_STR_LEN*sizeof(char)); strPos = 0; foldWordPossible = false; }; } else { if (setDMISFoldWord.Contains(ch)) { tmpStr[strPos++] = ch; foldWordPossible = true; }; }; if (atEOL || (i == (endPos-1))) { int lev = levelPrev; if (levelCurrent > levelPrev) { lev |= SC_FOLDLEVELHEADERFLAG; }; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); }; lineCurrent++; levelPrev = levelCurrent; }; }; delete[] tmpStr; } LexerModule lmDMIS(SCLEX_DMIS, LexerDMIS::LexerFactoryDMIS, "DMIS", DMISWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexDiff.cpp ================================================ // Scintilla source code edit control /** @file LexDiff.cxx ** Lexer for diff results. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool AtEOL(Accessor &styler, Sci_PositionU i) { return (styler[i] == '\n') || ((styler[i] == '\r') && (styler.SafeGetCharAt(i + 1) != '\n')); } #define DIFF_BUFFER_START_SIZE 16 // Note that ColouriseDiffLine analyzes only the first DIFF_BUFFER_START_SIZE // characters of each line to classify the line. static void ColouriseDiffLine(char *lineBuffer, Sci_Position endLine, Accessor &styler) { // It is needed to remember the current state to recognize starting // comment lines before the first "diff " or "--- ". If a real // difference starts then each line starting with ' ' is a whitespace // otherwise it is considered a comment (Only in..., Binary file...) if (0 == strncmp(lineBuffer, "diff ", 5)) { styler.ColourTo(endLine, SCE_DIFF_COMMAND); } else if (0 == strncmp(lineBuffer, "Index: ", 7)) { // For subversion's diff styler.ColourTo(endLine, SCE_DIFF_COMMAND); } else if (0 == strncmp(lineBuffer, "---", 3) && lineBuffer[3] != '-') { // In a context diff, --- appears in both the header and the position markers if (lineBuffer[3] == ' ' && atoi(lineBuffer + 4) && !strchr(lineBuffer, '/')) styler.ColourTo(endLine, SCE_DIFF_POSITION); else if (lineBuffer[3] == '\r' || lineBuffer[3] == '\n') styler.ColourTo(endLine, SCE_DIFF_POSITION); else if (lineBuffer[3] == ' ') styler.ColourTo(endLine, SCE_DIFF_HEADER); else styler.ColourTo(endLine, SCE_DIFF_DELETED); } else if (0 == strncmp(lineBuffer, "+++ ", 4)) { // I don't know of any diff where "+++ " is a position marker, but for // consistency, do the same as with "--- " and "*** ". if (atoi(lineBuffer+4) && !strchr(lineBuffer, '/')) styler.ColourTo(endLine, SCE_DIFF_POSITION); else styler.ColourTo(endLine, SCE_DIFF_HEADER); } else if (0 == strncmp(lineBuffer, "====", 4)) { // For p4's diff styler.ColourTo(endLine, SCE_DIFF_HEADER); } else if (0 == strncmp(lineBuffer, "***", 3)) { // In a context diff, *** appears in both the header and the position markers. // Also ******** is a chunk header, but here it's treated as part of the // position marker since there is no separate style for a chunk header. if (lineBuffer[3] == ' ' && atoi(lineBuffer+4) && !strchr(lineBuffer, '/')) styler.ColourTo(endLine, SCE_DIFF_POSITION); else if (lineBuffer[3] == '*') styler.ColourTo(endLine, SCE_DIFF_POSITION); else styler.ColourTo(endLine, SCE_DIFF_HEADER); } else if (0 == strncmp(lineBuffer, "? ", 2)) { // For difflib styler.ColourTo(endLine, SCE_DIFF_HEADER); } else if (lineBuffer[0] == '@') { styler.ColourTo(endLine, SCE_DIFF_POSITION); } else if (lineBuffer[0] >= '0' && lineBuffer[0] <= '9') { styler.ColourTo(endLine, SCE_DIFF_POSITION); } else if (0 == strncmp(lineBuffer, "++", 2)) { styler.ColourTo(endLine, SCE_DIFF_PATCH_ADD); } else if (0 == strncmp(lineBuffer, "+-", 2)) { styler.ColourTo(endLine, SCE_DIFF_PATCH_DELETE); } else if (0 == strncmp(lineBuffer, "-+", 2)) { styler.ColourTo(endLine, SCE_DIFF_REMOVED_PATCH_ADD); } else if (0 == strncmp(lineBuffer, "--", 2)) { styler.ColourTo(endLine, SCE_DIFF_REMOVED_PATCH_DELETE); } else if (lineBuffer[0] == '-' || lineBuffer[0] == '<') { styler.ColourTo(endLine, SCE_DIFF_DELETED); } else if (lineBuffer[0] == '+' || lineBuffer[0] == '>') { styler.ColourTo(endLine, SCE_DIFF_ADDED); } else if (lineBuffer[0] == '!') { styler.ColourTo(endLine, SCE_DIFF_CHANGED); } else if (lineBuffer[0] != ' ') { styler.ColourTo(endLine, SCE_DIFF_COMMENT); } else { styler.ColourTo(endLine, SCE_DIFF_DEFAULT); } } static void ColouriseDiffDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { char lineBuffer[DIFF_BUFFER_START_SIZE] = ""; styler.StartAt(startPos); styler.StartSegment(startPos); Sci_PositionU linePos = 0; for (Sci_PositionU i = startPos; i < startPos + length; i++) { if (AtEOL(styler, i)) { if (linePos < DIFF_BUFFER_START_SIZE) { lineBuffer[linePos] = 0; } ColouriseDiffLine(lineBuffer, i, styler); linePos = 0; } else if (linePos < DIFF_BUFFER_START_SIZE - 1) { lineBuffer[linePos++] = styler[i]; } else if (linePos == DIFF_BUFFER_START_SIZE - 1) { lineBuffer[linePos++] = 0; } } if (linePos > 0) { // Last line does not have ending characters if (linePos < DIFF_BUFFER_START_SIZE) { lineBuffer[linePos] = 0; } ColouriseDiffLine(lineBuffer, startPos + length - 1, styler); } } static void FoldDiffDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_Position curLine = styler.GetLine(startPos); Sci_Position curLineStart = styler.LineStart(curLine); int prevLevel = curLine > 0 ? styler.LevelAt(curLine - 1) : SC_FOLDLEVELBASE; int nextLevel; do { const int lineType = styler.StyleAt(curLineStart); if (lineType == SCE_DIFF_COMMAND) nextLevel = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG; else if (lineType == SCE_DIFF_HEADER) nextLevel = (SC_FOLDLEVELBASE + 1) | SC_FOLDLEVELHEADERFLAG; else if (lineType == SCE_DIFF_POSITION && styler[curLineStart] != '-') nextLevel = (SC_FOLDLEVELBASE + 2) | SC_FOLDLEVELHEADERFLAG; else if (prevLevel & SC_FOLDLEVELHEADERFLAG) nextLevel = (prevLevel & SC_FOLDLEVELNUMBERMASK) + 1; else nextLevel = prevLevel; if ((nextLevel & SC_FOLDLEVELHEADERFLAG) && (nextLevel == prevLevel)) styler.SetLevel(curLine-1, prevLevel & ~SC_FOLDLEVELHEADERFLAG); styler.SetLevel(curLine, nextLevel); prevLevel = nextLevel; curLineStart = styler.LineStart(++curLine); } while (static_cast(startPos)+length > curLineStart); } static const char *const emptyWordListDesc[] = { 0 }; LexerModule lmDiff(SCLEX_DIFF, ColouriseDiffDoc, "diff", FoldDiffDoc, emptyWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexECL.cpp ================================================ // Scintilla source code edit control /** @file LexECL.cxx ** Lexer for ECL. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #ifdef _MSC_VER #pragma warning(disable: 4786) #endif #ifdef __BORLANDC__ // Borland C++ displays warnings in vector header without this #pragma option -w-ccc -w-rch #endif #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "PropSetSimple.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #define SET_LOWER "abcdefghijklmnopqrstuvwxyz" #define SET_UPPER "ABCDEFGHIJKLMNOPQRSTUVWXYZ" #define SET_DIGITS "0123456789" using namespace Scintilla; static bool IsSpaceEquiv(int state) { switch (state) { case SCE_ECL_DEFAULT: case SCE_ECL_COMMENT: case SCE_ECL_COMMENTLINE: case SCE_ECL_COMMENTLINEDOC: case SCE_ECL_COMMENTDOCKEYWORD: case SCE_ECL_COMMENTDOCKEYWORDERROR: case SCE_ECL_COMMENTDOC: return true; default: return false; } } static void ColouriseEclDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords0 = *keywordlists[0]; WordList &keywords1 = *keywordlists[1]; WordList &keywords2 = *keywordlists[2]; WordList &keywords3 = *keywordlists[3]; //Value Types WordList &keywords4 = *keywordlists[4]; WordList &keywords5 = *keywordlists[5]; WordList &keywords6 = *keywordlists[6]; //Javadoc Tags WordList cplusplus; cplusplus.Set("beginc endc"); bool stylingWithinPreprocessor = false; CharacterSet setOKBeforeRE(CharacterSet::setNone, "(=,"); CharacterSet setDoxygen(CharacterSet::setLower, "$@\\&<>#{}[]"); CharacterSet setWordStart(CharacterSet::setAlpha, "_", 0x80, true); CharacterSet setWord(CharacterSet::setAlphaNum, "._", 0x80, true); CharacterSet setQualified(CharacterSet::setNone, "uUxX"); int chPrevNonWhite = ' '; int visibleChars = 0; bool lastWordWasUUID = false; int styleBeforeDCKeyword = SCE_ECL_DEFAULT; bool continuationLine = false; if (initStyle == SCE_ECL_PREPROCESSOR) { // Set continuationLine if last character of previous line is '\' Sci_Position lineCurrent = styler.GetLine(startPos); if (lineCurrent > 0) { int chBack = styler.SafeGetCharAt(startPos-1, 0); int chBack2 = styler.SafeGetCharAt(startPos-2, 0); int lineEndChar = '!'; if (chBack2 == '\r' && chBack == '\n') { lineEndChar = styler.SafeGetCharAt(startPos-3, 0); } else if (chBack == '\n' || chBack == '\r') { lineEndChar = chBack2; } continuationLine = lineEndChar == '\\'; } } // look back to set chPrevNonWhite properly for better regex colouring if (startPos > 0) { Sci_Position back = startPos; while (--back && IsSpaceEquiv(styler.StyleAt(back))) ; if (styler.StyleAt(back) == SCE_ECL_OPERATOR) { chPrevNonWhite = styler.SafeGetCharAt(back); } } StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { if (sc.atLineStart) { if (sc.state == SCE_ECL_STRING) { // Prevent SCE_ECL_STRINGEOL from leaking back to previous line which // ends with a line continuation by locking in the state upto this position. sc.SetState(SCE_ECL_STRING); } // Reset states to begining of colourise so no surprises // if different sets of lines lexed. visibleChars = 0; lastWordWasUUID = false; } // Handle line continuation generically. if (sc.ch == '\\') { if (sc.chNext == '\n' || sc.chNext == '\r') { sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } continuationLine = true; continue; } } // Determine if the current state should terminate. switch (sc.state) { case SCE_ECL_ADDED: case SCE_ECL_DELETED: case SCE_ECL_CHANGED: case SCE_ECL_MOVED: if (sc.atLineStart) sc.SetState(SCE_ECL_DEFAULT); break; case SCE_ECL_OPERATOR: sc.SetState(SCE_ECL_DEFAULT); break; case SCE_ECL_NUMBER: // We accept almost anything because of hex. and number suffixes if (!setWord.Contains(sc.ch)) { sc.SetState(SCE_ECL_DEFAULT); } break; case SCE_ECL_IDENTIFIER: if (!setWord.Contains(sc.ch) || (sc.ch == '.')) { char s[1000]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords0.InList(s)) { lastWordWasUUID = strcmp(s, "uuid") == 0; sc.ChangeState(SCE_ECL_WORD0); } else if (keywords1.InList(s)) { sc.ChangeState(SCE_ECL_WORD1); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_ECL_WORD2); } else if (keywords4.InList(s)) { sc.ChangeState(SCE_ECL_WORD4); } else if (keywords5.InList(s)) { sc.ChangeState(SCE_ECL_WORD5); } else //Data types are of from KEYWORD## { int i = static_cast(strlen(s)) - 1; while(i >= 0 && (isdigit(s[i]) || s[i] == '_')) --i; char s2[1000]; strncpy(s2, s, i + 1); s2[i + 1] = 0; if (keywords3.InList(s2)) { sc.ChangeState(SCE_ECL_WORD3); } } sc.SetState(SCE_ECL_DEFAULT); } break; case SCE_ECL_PREPROCESSOR: if (sc.atLineStart && !continuationLine) { sc.SetState(SCE_ECL_DEFAULT); } else if (stylingWithinPreprocessor) { if (IsASpace(sc.ch)) { sc.SetState(SCE_ECL_DEFAULT); } } else { if (sc.Match('/', '*') || sc.Match('/', '/')) { sc.SetState(SCE_ECL_DEFAULT); } } break; case SCE_ECL_COMMENT: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_ECL_DEFAULT); } break; case SCE_ECL_COMMENTDOC: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_ECL_DEFAULT); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = SCE_ECL_COMMENTDOC; sc.SetState(SCE_ECL_COMMENTDOCKEYWORD); } } break; case SCE_ECL_COMMENTLINE: if (sc.atLineStart) { sc.SetState(SCE_ECL_DEFAULT); } break; case SCE_ECL_COMMENTLINEDOC: if (sc.atLineStart) { sc.SetState(SCE_ECL_DEFAULT); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = SCE_ECL_COMMENTLINEDOC; sc.SetState(SCE_ECL_COMMENTDOCKEYWORD); } } break; case SCE_ECL_COMMENTDOCKEYWORD: if ((styleBeforeDCKeyword == SCE_ECL_COMMENTDOC) && sc.Match('*', '/')) { sc.ChangeState(SCE_ECL_COMMENTDOCKEYWORDERROR); sc.Forward(); sc.ForwardSetState(SCE_ECL_DEFAULT); } else if (!setDoxygen.Contains(sc.ch)) { char s[1000]; sc.GetCurrentLowered(s, sizeof(s)); if (!IsASpace(sc.ch) || !keywords6.InList(s+1)) { sc.ChangeState(SCE_ECL_COMMENTDOCKEYWORDERROR); } sc.SetState(styleBeforeDCKeyword); } break; case SCE_ECL_STRING: if (sc.atLineEnd) { sc.ChangeState(SCE_ECL_STRINGEOL); } else if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_ECL_DEFAULT); } break; case SCE_ECL_CHARACTER: if (sc.atLineEnd) { sc.ChangeState(SCE_ECL_STRINGEOL); } else if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\'') { sc.ForwardSetState(SCE_ECL_DEFAULT); } break; case SCE_ECL_REGEX: if (sc.atLineStart) { sc.SetState(SCE_ECL_DEFAULT); } else if (sc.ch == '/') { sc.Forward(); while ((sc.ch < 0x80) && islower(sc.ch)) sc.Forward(); // gobble regex flags sc.SetState(SCE_ECL_DEFAULT); } else if (sc.ch == '\\') { // Gobble up the quoted character if (sc.chNext == '\\' || sc.chNext == '/') { sc.Forward(); } } break; case SCE_ECL_STRINGEOL: if (sc.atLineStart) { sc.SetState(SCE_ECL_DEFAULT); } break; case SCE_ECL_VERBATIM: if (sc.ch == '\"') { if (sc.chNext == '\"') { sc.Forward(); } else { sc.ForwardSetState(SCE_ECL_DEFAULT); } } break; case SCE_ECL_UUID: if (sc.ch == '\r' || sc.ch == '\n' || sc.ch == ')') { sc.SetState(SCE_ECL_DEFAULT); } break; } // Determine if a new state should be entered. Sci_Position lineCurrent = styler.GetLine(sc.currentPos); int lineState = styler.GetLineState(lineCurrent); if (sc.state == SCE_ECL_DEFAULT) { if (lineState) { sc.SetState(lineState); } else if (sc.Match('@', '\"')) { sc.SetState(SCE_ECL_VERBATIM); sc.Forward(); } else if (setQualified.Contains(sc.ch) && sc.chNext == '\'') { sc.SetState(SCE_ECL_CHARACTER); sc.Forward(); } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { if (lastWordWasUUID) { sc.SetState(SCE_ECL_UUID); lastWordWasUUID = false; } else { sc.SetState(SCE_ECL_NUMBER); } } else if (setWordStart.Contains(sc.ch) || (sc.ch == '@')) { if (lastWordWasUUID) { sc.SetState(SCE_ECL_UUID); lastWordWasUUID = false; } else { sc.SetState(SCE_ECL_IDENTIFIER); } } else if (sc.Match('/', '*')) { if (sc.Match("/**") || sc.Match("/*!")) { // Support of Qt/Doxygen doc. style sc.SetState(SCE_ECL_COMMENTDOC); } else { sc.SetState(SCE_ECL_COMMENT); } sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.Match('/', '/')) { if ((sc.Match("///") && !sc.Match("////")) || sc.Match("//!")) // Support of Qt/Doxygen doc. style sc.SetState(SCE_ECL_COMMENTLINEDOC); else sc.SetState(SCE_ECL_COMMENTLINE); } else if (sc.ch == '/' && setOKBeforeRE.Contains(chPrevNonWhite)) { sc.SetState(SCE_ECL_REGEX); // JavaScript's RegEx // } else if (sc.ch == '\"') { // sc.SetState(SCE_ECL_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_ECL_CHARACTER); } else if (sc.ch == '#' && visibleChars == 0) { // Preprocessor commands are alone on their line sc.SetState(SCE_ECL_PREPROCESSOR); // Skip whitespace between # and preprocessor word do { sc.Forward(); } while ((sc.ch == ' ' || sc.ch == '\t') && sc.More()); if (sc.atLineEnd) { sc.SetState(SCE_ECL_DEFAULT); } } else if (isoperator(static_cast(sc.ch))) { sc.SetState(SCE_ECL_OPERATOR); } } if (!IsASpace(sc.ch) && !IsSpaceEquiv(sc.state)) { chPrevNonWhite = sc.ch; visibleChars++; } continuationLine = false; } sc.Complete(); } static bool IsStreamCommentStyle(int style) { return style == SCE_ECL_COMMENT || style == SCE_ECL_COMMENTDOC || style == SCE_ECL_COMMENTDOCKEYWORD || style == SCE_ECL_COMMENTDOCKEYWORDERROR; } static bool MatchNoCase(Accessor & styler, Sci_PositionU & pos, const char *s) { Sci_Position i=0; for (; *s; i++) { char compare_char = tolower(*s); char styler_char = tolower(styler.SafeGetCharAt(pos+i)); if (compare_char != styler_char) return false; s++; } pos+=i-1; return true; } // Store both the current line's fold level and the next lines in the // level store to make it easy to pick up with each increment // and to make it possible to fiddle the current level for "} else {". static void FoldEclDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { bool foldComment = true; bool foldPreprocessor = true; bool foldCompact = true; bool foldAtElse = true; Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelCurrent = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelCurrent = styler.LevelAt(lineCurrent-1) >> 16; int levelMinCurrent = levelCurrent; int levelNext = levelCurrent; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (foldComment && IsStreamCommentStyle(style)) { if (!IsStreamCommentStyle(stylePrev) && (stylePrev != SCE_ECL_COMMENTLINEDOC)) { levelNext++; } else if (!IsStreamCommentStyle(styleNext) && (styleNext != SCE_ECL_COMMENTLINEDOC) && !atEOL) { // Comments don't end at end of line and the next character may be unstyled. levelNext--; } } if (foldComment && (style == SCE_ECL_COMMENTLINE)) { if ((ch == '/') && (chNext == '/')) { char chNext2 = styler.SafeGetCharAt(i + 2); if (chNext2 == '{') { levelNext++; } else if (chNext2 == '}') { levelNext--; } } } if (foldPreprocessor && (style == SCE_ECL_PREPROCESSOR)) { if (ch == '#') { Sci_PositionU j = i + 1; while ((j < endPos) && IsASpaceOrTab(styler.SafeGetCharAt(j))) { j++; } if (MatchNoCase(styler, j, "region") || MatchNoCase(styler, j, "if")) { levelNext++; } else if (MatchNoCase(styler, j, "endregion") || MatchNoCase(styler, j, "end")) { levelNext--; } } } if (style == SCE_ECL_OPERATOR) { if (ch == '{') { // Measure the minimum before a '{' to allow // folding on "} else {" if (levelMinCurrent > levelNext) { levelMinCurrent = levelNext; } levelNext++; } else if (ch == '}') { levelNext--; } } if (style == SCE_ECL_WORD2) { if (MatchNoCase(styler, i, "record") || MatchNoCase(styler, i, "transform") || MatchNoCase(styler, i, "type") || MatchNoCase(styler, i, "function") || MatchNoCase(styler, i, "module") || MatchNoCase(styler, i, "service") || MatchNoCase(styler, i, "interface") || MatchNoCase(styler, i, "ifblock") || MatchNoCase(styler, i, "macro") || MatchNoCase(styler, i, "beginc++")) { levelNext++; } else if (MatchNoCase(styler, i, "endmacro") || MatchNoCase(styler, i, "endc++") || MatchNoCase(styler, i, "end")) { levelNext--; } } if (atEOL || (i == endPos-1)) { int levelUse = levelCurrent; if (foldAtElse) { levelUse = levelMinCurrent; } int lev = levelUse | levelNext << 16; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if (levelUse < levelNext) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelCurrent = levelNext; levelMinCurrent = levelCurrent; if (atEOL && (i == static_cast(styler.Length()-1))) { // There is an empty line at end of file so give it same level and empty styler.SetLevel(lineCurrent, (levelCurrent | levelCurrent << 16) | SC_FOLDLEVELWHITEFLAG); } visibleChars = 0; } if (!IsASpace(ch)) visibleChars++; } } static const char * const EclWordListDesc[] = { "Keywords", 0 }; LexerModule lmECL( SCLEX_ECL, ColouriseEclDoc, "ecl", FoldEclDoc, EclWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexEDIFACT.cpp ================================================ // Scintilla Lexer for EDIFACT // Written by Iain Clarke, IMCSoft & Inobiz AB. // EDIFACT documented here: https://www.unece.org/cefact/edifact/welcome.html // and more readably here: https://en.wikipedia.org/wiki/EDIFACT // This code is subject to the same license terms as the rest of the scintilla project: // The License.txt file describes the conditions under which this software may be distributed. // // Header order must match order in scripts/HeaderOrder.txt #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "LexAccessor.h" #include "LexerModule.h" #include "DefaultLexer.h" using namespace Scintilla; class LexerEDIFACT : public DefaultLexer { public: LexerEDIFACT(); virtual ~LexerEDIFACT() {} // virtual destructor, as we inherit from ILexer static ILexer *Factory() { return new LexerEDIFACT; } int SCI_METHOD Version() const override { return lvOriginal; } void SCI_METHOD Release() override { delete this; } const char * SCI_METHOD PropertyNames() override { return "fold\nlexer.edifact.highlight.un.all"; } int SCI_METHOD PropertyType(const char *) override { return SC_TYPE_BOOLEAN; // Only one property! } const char * SCI_METHOD DescribeProperty(const char *name) override { if (!strcmp(name, "fold")) return "Whether to apply folding to document or not"; if (!strcmp(name, "lexer.edifact.highlight.un.all")) return "Whether to apply UN* highlighting to all UN segments, or just to UNH"; return NULL; } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override { if (!strcmp(key, "fold")) { m_bFold = strcmp(val, "0") ? true : false; return 0; } if (!strcmp(key, "lexer.edifact.highlight.un.all")) // GetProperty { m_bHighlightAllUN = strcmp(val, "0") ? true : false; return 0; } return -1; } const char * SCI_METHOD DescribeWordListSets() override { return NULL; } Sci_Position SCI_METHOD WordListSet(int, const char *) override { return -1; } void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override; void * SCI_METHOD PrivateCall(int, void *) override { return NULL; } protected: Sci_Position InitialiseFromUNA(IDocument *pAccess, Sci_PositionU MaxLength); Sci_Position FindPreviousEnd(IDocument *pAccess, Sci_Position startPos) const; Sci_Position ForwardPastWhitespace(IDocument *pAccess, Sci_Position startPos, Sci_Position MaxLength) const; int DetectSegmentHeader(char SegmentHeader[3]) const; bool m_bFold; // property lexer.edifact.highlight.un.all // Set to 0 to highlight only UNA segments, or 1 to highlight all UNx segments. bool m_bHighlightAllUN; char m_chComponent; char m_chData; char m_chDecimal; char m_chRelease; char m_chSegment; }; LexerModule lmEDIFACT(SCLEX_EDIFACT, LexerEDIFACT::Factory, "edifact"); /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// LexerEDIFACT::LexerEDIFACT() { m_bFold = false; m_bHighlightAllUN = false; m_chComponent = ':'; m_chData = '+'; m_chDecimal = '.'; m_chRelease = '?'; m_chSegment = '\''; } void LexerEDIFACT::Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDocument *pAccess) { Sci_PositionU posFinish = startPos + lengthDoc; InitialiseFromUNA(pAccess, posFinish); // Look backwards for a ' or a document beginning Sci_PositionU posCurrent = FindPreviousEnd(pAccess, startPos); // And jump past the ' if this was not the beginning of the document if (posCurrent != 0) posCurrent++; // Style buffer, so we're not issuing loads of notifications LexAccessor styler (pAccess); pAccess->StartStyling(posCurrent, '\377'); styler.StartSegment(posCurrent); Sci_Position posSegmentStart = -1; while ((posCurrent < posFinish) && (posSegmentStart == -1)) { posCurrent = ForwardPastWhitespace(pAccess, posCurrent, posFinish); // Mark whitespace as default styler.ColourTo(posCurrent - 1, SCE_EDI_DEFAULT); if (posCurrent >= posFinish) break; // Does is start with 3 charaters? ie, UNH char SegmentHeader[4] = { 0 }; pAccess->GetCharRange(SegmentHeader, posCurrent, 3); int SegmentStyle = DetectSegmentHeader(SegmentHeader); if (SegmentStyle == SCE_EDI_BADSEGMENT) break; if (SegmentStyle == SCE_EDI_UNA) { posCurrent += 9; styler.ColourTo(posCurrent - 1, SCE_EDI_UNA); // UNA continue; } posSegmentStart = posCurrent; posCurrent += 3; styler.ColourTo(posCurrent - 1, SegmentStyle); // UNH etc // Colour in the rest of the segment for (char c; posCurrent < posFinish; posCurrent++) { pAccess->GetCharRange(&c, posCurrent, 1); if (c == m_chRelease) // ? escape character, check first, in case of ?' posCurrent++; else if (c == m_chSegment) // ' { // Make sure the whole segment is on one line. styler won't let us go back in time, so we'll settle for marking the ' as bad. Sci_Position lineSegmentStart = pAccess->LineFromPosition(posSegmentStart); Sci_Position lineSegmentEnd = pAccess->LineFromPosition(posCurrent); if (lineSegmentStart == lineSegmentEnd) styler.ColourTo(posCurrent, SCE_EDI_SEGMENTEND); else styler.ColourTo(posCurrent, SCE_EDI_BADSEGMENT); posSegmentStart = -1; posCurrent++; break; } else if (c == m_chComponent) // : styler.ColourTo(posCurrent, SCE_EDI_SEP_COMPOSITE); else if (c == m_chData) // + styler.ColourTo(posCurrent, SCE_EDI_SEP_ELEMENT); else styler.ColourTo(posCurrent, SCE_EDI_DEFAULT); } } styler.Flush(); if (posSegmentStart == -1) return; pAccess->StartStyling(posSegmentStart, -1); pAccess->SetStyleFor(posFinish - posSegmentStart, SCE_EDI_BADSEGMENT); } void LexerEDIFACT::Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDocument *pAccess) { if (!m_bFold) return; // Fold at UNx lines. ie, UNx segments = 0, other segments = 1. // There's no sub folding, so we can be quite simple. Sci_Position endPos = startPos + lengthDoc; char SegmentHeader[4] = { 0 }; int iIndentPrevious = 0; Sci_Position lineLast = pAccess->LineFromPosition(endPos); for (Sci_Position lineCurrent = pAccess->LineFromPosition(startPos); lineCurrent <= lineLast; lineCurrent++) { Sci_Position posLineStart = pAccess->LineStart(lineCurrent); posLineStart = ForwardPastWhitespace(pAccess, posLineStart, endPos); Sci_Position lineDataStart = pAccess->LineFromPosition(posLineStart); // Fill in whitespace lines? for (; lineCurrent < lineDataStart; lineCurrent++) pAccess->SetLevel(lineCurrent, SC_FOLDLEVELBASE | SC_FOLDLEVELWHITEFLAG | iIndentPrevious); pAccess->GetCharRange(SegmentHeader, posLineStart, 3); //if (DetectSegmentHeader(SegmentHeader) == SCE_EDI_BADSEGMENT) // Abort if this is not a proper segment header int level = 0; if (memcmp(SegmentHeader, "UNH", 3) == 0) // UNH starts blocks level = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG; // Check for UNA,B and Z. All others are inside messages else if (!memcmp(SegmentHeader, "UNA", 3) || !memcmp(SegmentHeader, "UNB", 3) || !memcmp(SegmentHeader, "UNZ", 3)) level = SC_FOLDLEVELBASE; else level = SC_FOLDLEVELBASE | 1; pAccess->SetLevel(lineCurrent, level); iIndentPrevious = level & SC_FOLDLEVELNUMBERMASK; } } Sci_Position LexerEDIFACT::InitialiseFromUNA(IDocument *pAccess, Sci_PositionU MaxLength) { MaxLength -= 9; // drop 9 chars, to give us room for UNA:+.? ' Sci_PositionU startPos = 0; startPos += ForwardPastWhitespace(pAccess, 0, MaxLength); if (startPos < MaxLength) { char bufUNA[9]; pAccess->GetCharRange(bufUNA, startPos, 9); // Check it's UNA segment if (!memcmp(bufUNA, "UNA", 3)) { m_chComponent = bufUNA[3]; m_chData = bufUNA[4]; m_chDecimal = bufUNA[5]; m_chRelease = bufUNA[6]; // bufUNA [7] should be space - reserved. m_chSegment = bufUNA[8]; return 0; // success! } } // We failed to find a UNA, so drop to defaults m_chComponent = ':'; m_chData = '+'; m_chDecimal = '.'; m_chRelease = '?'; m_chSegment = '\''; return -1; } Sci_Position LexerEDIFACT::ForwardPastWhitespace(IDocument *pAccess, Sci_Position startPos, Sci_Position MaxLength) const { char c; while (startPos < MaxLength) { pAccess->GetCharRange(&c, startPos, 1); switch (c) { case '\t': case '\r': case '\n': case ' ': break; default: return startPos; } startPos++; } return MaxLength; } int LexerEDIFACT::DetectSegmentHeader(char SegmentHeader[3]) const { if ( SegmentHeader[0] < 'A' || SegmentHeader[0] > 'Z' || SegmentHeader[1] < 'A' || SegmentHeader[1] > 'Z' || SegmentHeader[2] < 'A' || SegmentHeader[2] > 'Z') return SCE_EDI_BADSEGMENT; if (!memcmp(SegmentHeader, "UNA", 3)) return SCE_EDI_UNA; if (m_bHighlightAllUN && !memcmp(SegmentHeader, "UN", 2)) return SCE_EDI_UNH; else if (memcmp(SegmentHeader, "UNH", 3) == 0) return SCE_EDI_UNH; return SCE_EDI_SEGMENTSTART; } // Look backwards for a ' or a document beginning Sci_Position LexerEDIFACT::FindPreviousEnd(IDocument *pAccess, Sci_Position startPos) const { for (char c; startPos > 0; startPos--) { pAccess->GetCharRange(&c, startPos, 1); if (c == m_chSegment) return startPos; } // We didn't find a ', so just go with the beginning return 0; } ================================================ FILE: src/qscint/scintilla/lexers/LexEScript.cpp ================================================ // Scintilla source code edit control /** @file LexESCRIPT.cxx ** Lexer for ESCRIPT **/ // Copyright 2003 by Patrizio Bekerle (patrizio@bekerle.com) #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_'); } static inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_'); } static void ColouriseESCRIPTDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; // Do not leak onto next line /*if (initStyle == SCE_ESCRIPT_STRINGEOL) initStyle = SCE_ESCRIPT_DEFAULT;*/ StyleContext sc(startPos, length, initStyle, styler); bool caseSensitive = styler.GetPropertyInt("escript.case.sensitive", 0) != 0; for (; sc.More(); sc.Forward()) { /*if (sc.atLineStart && (sc.state == SCE_ESCRIPT_STRING)) { // Prevent SCE_ESCRIPT_STRINGEOL from leaking back to previous line sc.SetState(SCE_ESCRIPT_STRING); }*/ // Handle line continuation generically. if (sc.ch == '\\') { if (sc.chNext == '\n' || sc.chNext == '\r') { sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } continue; } } // Determine if the current state should terminate. if (sc.state == SCE_ESCRIPT_OPERATOR || sc.state == SCE_ESCRIPT_BRACE) { sc.SetState(SCE_ESCRIPT_DEFAULT); } else if (sc.state == SCE_ESCRIPT_NUMBER) { if (!IsADigit(sc.ch) || sc.ch != '.') { sc.SetState(SCE_ESCRIPT_DEFAULT); } } else if (sc.state == SCE_ESCRIPT_IDENTIFIER) { if (!IsAWordChar(sc.ch) || (sc.ch == '.')) { char s[100]; if (caseSensitive) { sc.GetCurrent(s, sizeof(s)); } else { sc.GetCurrentLowered(s, sizeof(s)); } // sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_ESCRIPT_WORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_ESCRIPT_WORD2); } else if (keywords3.InList(s)) { sc.ChangeState(SCE_ESCRIPT_WORD3); // sc.state = SCE_ESCRIPT_IDENTIFIER; } sc.SetState(SCE_ESCRIPT_DEFAULT); } } else if (sc.state == SCE_ESCRIPT_COMMENT) { if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_ESCRIPT_DEFAULT); } } else if (sc.state == SCE_ESCRIPT_COMMENTDOC) { if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(SCE_ESCRIPT_DEFAULT); } } else if (sc.state == SCE_ESCRIPT_COMMENTLINE) { if (sc.atLineEnd) { sc.SetState(SCE_ESCRIPT_DEFAULT); } } else if (sc.state == SCE_ESCRIPT_STRING) { if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_ESCRIPT_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_ESCRIPT_DEFAULT) { if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_ESCRIPT_NUMBER); } else if (IsAWordStart(sc.ch) || (sc.ch == '#')) { sc.SetState(SCE_ESCRIPT_IDENTIFIER); } else if (sc.Match('/', '*')) { sc.SetState(SCE_ESCRIPT_COMMENT); sc.Forward(); // Eat the * so it isn't used for the end of the comment } else if (sc.Match('/', '/')) { sc.SetState(SCE_ESCRIPT_COMMENTLINE); } else if (sc.ch == '\"') { sc.SetState(SCE_ESCRIPT_STRING); //} else if (isoperator(static_cast(sc.ch))) { } else if (sc.ch == '+' || sc.ch == '-' || sc.ch == '*' || sc.ch == '/' || sc.ch == '=' || sc.ch == '<' || sc.ch == '>' || sc.ch == '&' || sc.ch == '|' || sc.ch == '!' || sc.ch == '?' || sc.ch == ':') { sc.SetState(SCE_ESCRIPT_OPERATOR); } else if (sc.ch == '{' || sc.ch == '}') { sc.SetState(SCE_ESCRIPT_BRACE); } } } sc.Complete(); } static int classifyFoldPointESCRIPT(const char* s, const char* prevWord) { int lev = 0; if (strcmp(prevWord, "end") == 0) return lev; if ((strcmp(prevWord, "else") == 0 && strcmp(s, "if") == 0) || strcmp(s, "elseif") == 0) return -1; if (strcmp(s, "for") == 0 || strcmp(s, "foreach") == 0 || strcmp(s, "program") == 0 || strcmp(s, "function") == 0 || strcmp(s, "while") == 0 || strcmp(s, "case") == 0 || strcmp(s, "if") == 0 ) { lev = 1; } else if ( strcmp(s, "endfor") == 0 || strcmp(s, "endforeach") == 0 || strcmp(s, "endprogram") == 0 || strcmp(s, "endfunction") == 0 || strcmp(s, "endwhile") == 0 || strcmp(s, "endcase") == 0 || strcmp(s, "endif") == 0 ) { lev = -1; } return lev; } static bool IsStreamCommentStyle(int style) { return style == SCE_ESCRIPT_COMMENT || style == SCE_ESCRIPT_COMMENTDOC || style == SCE_ESCRIPT_COMMENTLINE; } static void FoldESCRIPTDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { //~ bool foldComment = styler.GetPropertyInt("fold.comment") != 0; // Do not know how to fold the comment at the moment. bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; bool foldComment = true; Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; Sci_Position lastStart = 0; char prevWord[32] = ""; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (foldComment && IsStreamCommentStyle(style)) { if (!IsStreamCommentStyle(stylePrev)) { levelCurrent++; } else if (!IsStreamCommentStyle(styleNext) && !atEOL) { // Comments don't end at end of line and the next character may be unstyled. levelCurrent--; } } if (foldComment && (style == SCE_ESCRIPT_COMMENTLINE)) { if ((ch == '/') && (chNext == '/')) { char chNext2 = styler.SafeGetCharAt(i + 2); if (chNext2 == '{') { levelCurrent++; } else if (chNext2 == '}') { levelCurrent--; } } } if (stylePrev == SCE_ESCRIPT_DEFAULT && style == SCE_ESCRIPT_WORD3) { // Store last word start point. lastStart = i; } if (style == SCE_ESCRIPT_WORD3) { if(iswordchar(ch) && !iswordchar(chNext)) { char s[32]; Sci_PositionU j; for(j = 0; ( j < 31 ) && ( j < i-lastStart+1 ); j++) { s[j] = static_cast(tolower(styler[lastStart + j])); } s[j] = '\0'; levelCurrent += classifyFoldPointESCRIPT(s, prevWord); strcpy(prevWord, s); } } if (atEOL) { int lev = levelPrev; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; strcpy(prevWord, ""); } if (!isspacechar(ch)) visibleChars++; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const ESCRIPTWordLists[] = { "Primary keywords and identifiers", "Intrinsic functions", "Extended and user defined functions", 0, }; LexerModule lmESCRIPT(SCLEX_ESCRIPT, ColouriseESCRIPTDoc, "escript", FoldESCRIPTDoc, ESCRIPTWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexEiffel.cpp ================================================ // Scintilla source code edit control /** @file LexEiffel.cxx ** Lexer for Eiffel. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool isEiffelOperator(unsigned int ch) { // '.' left out as it is used to make up numbers return ch == '*' || ch == '/' || ch == '\\' || ch == '-' || ch == '+' || ch == '(' || ch == ')' || ch == '=' || ch == '{' || ch == '}' || ch == '~' || ch == '[' || ch == ']' || ch == ';' || ch == '<' || ch == '>' || ch == ',' || ch == '.' || ch == '^' || ch == '%' || ch == ':' || ch == '!' || ch == '@' || ch == '?'; } static inline bool IsAWordChar(unsigned int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_'); } static inline bool IsAWordStart(unsigned int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_'); } static void ColouriseEiffelDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { if (sc.state == SCE_EIFFEL_STRINGEOL) { if (sc.ch != '\r' && sc.ch != '\n') { sc.SetState(SCE_EIFFEL_DEFAULT); } } else if (sc.state == SCE_EIFFEL_OPERATOR) { sc.SetState(SCE_EIFFEL_DEFAULT); } else if (sc.state == SCE_EIFFEL_WORD) { if (!IsAWordChar(sc.ch)) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (!keywords.InList(s)) { sc.ChangeState(SCE_EIFFEL_IDENTIFIER); } sc.SetState(SCE_EIFFEL_DEFAULT); } } else if (sc.state == SCE_EIFFEL_NUMBER) { if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_EIFFEL_DEFAULT); } } else if (sc.state == SCE_EIFFEL_COMMENTLINE) { if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_EIFFEL_DEFAULT); } } else if (sc.state == SCE_EIFFEL_STRING) { if (sc.ch == '%') { sc.Forward(); } else if (sc.ch == '\"') { sc.Forward(); sc.SetState(SCE_EIFFEL_DEFAULT); } } else if (sc.state == SCE_EIFFEL_CHARACTER) { if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_EIFFEL_STRINGEOL); } else if (sc.ch == '%') { sc.Forward(); } else if (sc.ch == '\'') { sc.Forward(); sc.SetState(SCE_EIFFEL_DEFAULT); } } if (sc.state == SCE_EIFFEL_DEFAULT) { if (sc.ch == '-' && sc.chNext == '-') { sc.SetState(SCE_EIFFEL_COMMENTLINE); } else if (sc.ch == '\"') { sc.SetState(SCE_EIFFEL_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_EIFFEL_CHARACTER); } else if (IsADigit(sc.ch) || (sc.ch == '.')) { sc.SetState(SCE_EIFFEL_NUMBER); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_EIFFEL_WORD); } else if (isEiffelOperator(sc.ch)) { sc.SetState(SCE_EIFFEL_OPERATOR); } } } sc.Complete(); } static bool IsEiffelComment(Accessor &styler, Sci_Position pos, Sci_Position len) { return len>1 && styler[pos]=='-' && styler[pos+1]=='-'; } static void FoldEiffelDocIndent(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_Position lengthDoc = startPos + length; // Backtrack to previous line in case need to fix its fold status Sci_Position lineCurrent = styler.GetLine(startPos); if (startPos > 0) { if (lineCurrent > 0) { lineCurrent--; startPos = styler.LineStart(lineCurrent); } } int spaceFlags = 0; int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags, IsEiffelComment); char chNext = styler[startPos]; for (Sci_Position i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == lengthDoc)) { int lev = indentCurrent; int indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags, IsEiffelComment); if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) { // Only non whitespace lines can be headers if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) { lev |= SC_FOLDLEVELHEADERFLAG; } else if (indentNext & SC_FOLDLEVELWHITEFLAG) { // Line after is blank so check the next - maybe should continue further? int spaceFlags2 = 0; int indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2, IsEiffelComment); if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) { lev |= SC_FOLDLEVELHEADERFLAG; } } } indentCurrent = indentNext; styler.SetLevel(lineCurrent, lev); lineCurrent++; } } } static void FoldEiffelDocKeyWords(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[], Accessor &styler) { Sci_PositionU lengthDoc = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int stylePrev = 0; int styleNext = styler.StyleAt(startPos); // lastDeferred should be determined by looking back to last keyword in case // the "deferred" is on a line before "class" bool lastDeferred = false; for (Sci_PositionU i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if ((stylePrev != SCE_EIFFEL_WORD) && (style == SCE_EIFFEL_WORD)) { char s[20]; Sci_PositionU j = 0; while ((j < (sizeof(s) - 1)) && (iswordchar(styler[i + j]))) { s[j] = styler[i + j]; j++; } s[j] = '\0'; if ( (strcmp(s, "check") == 0) || (strcmp(s, "debug") == 0) || (strcmp(s, "deferred") == 0) || (strcmp(s, "do") == 0) || (strcmp(s, "from") == 0) || (strcmp(s, "if") == 0) || (strcmp(s, "inspect") == 0) || (strcmp(s, "once") == 0) ) levelCurrent++; if (!lastDeferred && (strcmp(s, "class") == 0)) levelCurrent++; if (strcmp(s, "end") == 0) levelCurrent--; lastDeferred = strcmp(s, "deferred") == 0; } if (atEOL) { int lev = levelPrev; if (visibleChars == 0) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; stylePrev = style; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const eiffelWordListDesc[] = { "Keywords", 0 }; LexerModule lmEiffel(SCLEX_EIFFEL, ColouriseEiffelDoc, "eiffel", FoldEiffelDocIndent, eiffelWordListDesc); LexerModule lmEiffelkw(SCLEX_EIFFELKW, ColouriseEiffelDoc, "eiffelkw", FoldEiffelDocKeyWords, eiffelWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexErlang.cpp ================================================ // Scintilla source code edit control // Encoding: UTF-8 // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. /** @file LexErlang.cxx ** Lexer for Erlang. ** Enhanced by Etienne 'Lenain' Girondel (lenaing@gmail.com) ** Originally wrote by Peter-Henry Mander, ** based on Matlab lexer by José Fonseca. **/ #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static int is_radix(int radix, int ch) { int digit; if (36 < radix || 2 > radix) return 0; if (isdigit(ch)) { digit = ch - '0'; } else if (isalnum(ch)) { digit = toupper(ch) - 'A' + 10; } else { return 0; } return (digit < radix); } typedef enum { STATE_NULL, COMMENT, COMMENT_FUNCTION, COMMENT_MODULE, COMMENT_DOC, COMMENT_DOC_MACRO, ATOM_UNQUOTED, ATOM_QUOTED, NODE_NAME_UNQUOTED, NODE_NAME_QUOTED, MACRO_START, MACRO_UNQUOTED, MACRO_QUOTED, RECORD_START, RECORD_UNQUOTED, RECORD_QUOTED, NUMERAL_START, NUMERAL_BASE_VALUE, NUMERAL_FLOAT, NUMERAL_EXPONENT, PREPROCESSOR } atom_parse_state_t; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (ch != ' ') && (isalnum(ch) || ch == '_'); } static void ColouriseErlangDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { StyleContext sc(startPos, length, initStyle, styler); WordList &reservedWords = *keywordlists[0]; WordList &erlangBIFs = *keywordlists[1]; WordList &erlangPreproc = *keywordlists[2]; WordList &erlangModulesAtt = *keywordlists[3]; WordList &erlangDoc = *keywordlists[4]; WordList &erlangDocMacro = *keywordlists[5]; int radix_digits = 0; int exponent_digits = 0; atom_parse_state_t parse_state = STATE_NULL; atom_parse_state_t old_parse_state = STATE_NULL; bool to_late_to_comment = false; char cur[100]; int old_style = SCE_ERLANG_DEFAULT; styler.StartAt(startPos); for (; sc.More(); sc.Forward()) { int style = SCE_ERLANG_DEFAULT; if (STATE_NULL != parse_state) { switch (parse_state) { case STATE_NULL : sc.SetState(SCE_ERLANG_DEFAULT); break; /* COMMENTS ------------------------------------------------------*/ case COMMENT : { if (sc.ch != '%') { to_late_to_comment = true; } else if (!to_late_to_comment && sc.ch == '%') { // Switch to comment level 2 (Function) sc.ChangeState(SCE_ERLANG_COMMENT_FUNCTION); old_style = SCE_ERLANG_COMMENT_FUNCTION; parse_state = COMMENT_FUNCTION; sc.Forward(); } } // V--- Falling through! // Falls through. case COMMENT_FUNCTION : { if (sc.ch != '%') { to_late_to_comment = true; } else if (!to_late_to_comment && sc.ch == '%') { // Switch to comment level 3 (Module) sc.ChangeState(SCE_ERLANG_COMMENT_MODULE); old_style = SCE_ERLANG_COMMENT_MODULE; parse_state = COMMENT_MODULE; sc.Forward(); } } // V--- Falling through! // Falls through. case COMMENT_MODULE : { if (parse_state != COMMENT) { // Search for comment documentation if (sc.chNext == '@') { old_parse_state = parse_state; parse_state = ('{' == sc.ch) ? COMMENT_DOC_MACRO : COMMENT_DOC; sc.ForwardSetState(sc.state); } } // All comments types fall here. if (sc.atLineEnd) { to_late_to_comment = false; sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; case COMMENT_DOC : // V--- Falling through! case COMMENT_DOC_MACRO : { if (!isalnum(sc.ch)) { // Try to match documentation comment sc.GetCurrent(cur, sizeof(cur)); if (parse_state == COMMENT_DOC_MACRO && erlangDocMacro.InList(cur)) { sc.ChangeState(SCE_ERLANG_COMMENT_DOC_MACRO); while (sc.ch != '}' && !sc.atLineEnd) sc.Forward(); } else if (erlangDoc.InList(cur)) { sc.ChangeState(SCE_ERLANG_COMMENT_DOC); } else { sc.ChangeState(old_style); } // Switch back to old state sc.SetState(old_style); parse_state = old_parse_state; } if (sc.atLineEnd) { to_late_to_comment = false; sc.ChangeState(old_style); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* -------------------------------------------------------------- */ /* Atoms ---------------------------------------------------------*/ case ATOM_UNQUOTED : { if ('@' == sc.ch){ parse_state = NODE_NAME_UNQUOTED; } else if (sc.ch == ':') { // Searching for module name if (sc.chNext == ' ') { // error sc.ChangeState(SCE_ERLANG_UNKNOWN); parse_state = STATE_NULL; } else { sc.Forward(); if (isalnum(sc.ch)) { sc.GetCurrent(cur, sizeof(cur)); sc.ChangeState(SCE_ERLANG_MODULES); sc.SetState(SCE_ERLANG_MODULES); } } } else if (!IsAWordChar(sc.ch)) { sc.GetCurrent(cur, sizeof(cur)); if (reservedWords.InList(cur)) { style = SCE_ERLANG_KEYWORD; } else if (erlangBIFs.InList(cur) && strcmp(cur,"erlang:")){ style = SCE_ERLANG_BIFS; } else if (sc.ch == '(' || '/' == sc.ch){ style = SCE_ERLANG_FUNCTION_NAME; } else { style = SCE_ERLANG_ATOM; } sc.ChangeState(style); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; case ATOM_QUOTED : { if ( '@' == sc.ch ){ parse_state = NODE_NAME_QUOTED; } else if ('\'' == sc.ch && '\\' != sc.chPrev) { sc.ChangeState(SCE_ERLANG_ATOM); sc.ForwardSetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* -------------------------------------------------------------- */ /* Node names ----------------------------------------------------*/ case NODE_NAME_UNQUOTED : { if ('@' == sc.ch) { sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } else if (!IsAWordChar(sc.ch)) { sc.ChangeState(SCE_ERLANG_NODE_NAME); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; case NODE_NAME_QUOTED : { if ('@' == sc.ch) { sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } else if ('\'' == sc.ch && '\\' != sc.chPrev) { sc.ChangeState(SCE_ERLANG_NODE_NAME_QUOTED); sc.ForwardSetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* -------------------------------------------------------------- */ /* Records -------------------------------------------------------*/ case RECORD_START : { if ('\'' == sc.ch) { parse_state = RECORD_QUOTED; } else if (isalpha(sc.ch) && islower(sc.ch)) { parse_state = RECORD_UNQUOTED; } else { // error sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; case RECORD_UNQUOTED : { if (!IsAWordChar(sc.ch)) { sc.ChangeState(SCE_ERLANG_RECORD); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; case RECORD_QUOTED : { if ('\'' == sc.ch && '\\' != sc.chPrev) { sc.ChangeState(SCE_ERLANG_RECORD_QUOTED); sc.ForwardSetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* -------------------------------------------------------------- */ /* Macros --------------------------------------------------------*/ case MACRO_START : { if ('\'' == sc.ch) { parse_state = MACRO_QUOTED; } else if (isalpha(sc.ch)) { parse_state = MACRO_UNQUOTED; } else { // error sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; case MACRO_UNQUOTED : { if (!IsAWordChar(sc.ch)) { sc.ChangeState(SCE_ERLANG_MACRO); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; case MACRO_QUOTED : { if ('\'' == sc.ch && '\\' != sc.chPrev) { sc.ChangeState(SCE_ERLANG_MACRO_QUOTED); sc.ForwardSetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* -------------------------------------------------------------- */ /* Numerics ------------------------------------------------------*/ /* Simple integer */ case NUMERAL_START : { if (isdigit(sc.ch)) { radix_digits *= 10; radix_digits += sc.ch - '0'; // Assuming ASCII here! } else if ('#' == sc.ch) { if (2 > radix_digits || 36 < radix_digits) { sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } else { parse_state = NUMERAL_BASE_VALUE; } } else if ('.' == sc.ch && isdigit(sc.chNext)) { radix_digits = 0; parse_state = NUMERAL_FLOAT; } else if ('e' == sc.ch || 'E' == sc.ch) { exponent_digits = 0; parse_state = NUMERAL_EXPONENT; } else { radix_digits = 0; sc.ChangeState(SCE_ERLANG_NUMBER); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* Integer in other base than 10 (x#yyy) */ case NUMERAL_BASE_VALUE : { if (!is_radix(radix_digits,sc.ch)) { radix_digits = 0; if (!isalnum(sc.ch)) sc.ChangeState(SCE_ERLANG_NUMBER); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* Float (x.yyy) */ case NUMERAL_FLOAT : { if ('e' == sc.ch || 'E' == sc.ch) { exponent_digits = 0; parse_state = NUMERAL_EXPONENT; } else if (!isdigit(sc.ch)) { sc.ChangeState(SCE_ERLANG_NUMBER); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; /* Exponent, either integer or float (xEyy, x.yyEzzz) */ case NUMERAL_EXPONENT : { if (('-' == sc.ch || '+' == sc.ch) && (isdigit(sc.chNext))) { sc.Forward(); } else if (!isdigit(sc.ch)) { if (0 < exponent_digits) sc.ChangeState(SCE_ERLANG_NUMBER); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } else { ++exponent_digits; } } break; /* -------------------------------------------------------------- */ /* Preprocessor --------------------------------------------------*/ case PREPROCESSOR : { if (!IsAWordChar(sc.ch)) { sc.GetCurrent(cur, sizeof(cur)); if (erlangPreproc.InList(cur)) { style = SCE_ERLANG_PREPROC; } else if (erlangModulesAtt.InList(cur)) { style = SCE_ERLANG_MODULES_ATT; } sc.ChangeState(style); sc.SetState(SCE_ERLANG_DEFAULT); parse_state = STATE_NULL; } } break; } } /* End of : STATE_NULL != parse_state */ else { switch (sc.state) { case SCE_ERLANG_VARIABLE : { if (!IsAWordChar(sc.ch)) sc.SetState(SCE_ERLANG_DEFAULT); } break; case SCE_ERLANG_STRING : { if (sc.ch == '\"' && sc.chPrev != '\\') sc.ForwardSetState(SCE_ERLANG_DEFAULT); } break; case SCE_ERLANG_COMMENT : { if (sc.atLineEnd) sc.SetState(SCE_ERLANG_DEFAULT); } break; case SCE_ERLANG_CHARACTER : { if (sc.chPrev == '\\') { sc.ForwardSetState(SCE_ERLANG_DEFAULT); } else if (sc.ch != '\\') { sc.ForwardSetState(SCE_ERLANG_DEFAULT); } } break; case SCE_ERLANG_OPERATOR : { if (sc.chPrev == '.') { if (sc.ch == '*' || sc.ch == '/' || sc.ch == '\\' || sc.ch == '^') { sc.ForwardSetState(SCE_ERLANG_DEFAULT); } else if (sc.ch == '\'') { sc.ForwardSetState(SCE_ERLANG_DEFAULT); } else { sc.SetState(SCE_ERLANG_DEFAULT); } } else { sc.SetState(SCE_ERLANG_DEFAULT); } } break; } } if (sc.state == SCE_ERLANG_DEFAULT) { bool no_new_state = false; switch (sc.ch) { case '\"' : sc.SetState(SCE_ERLANG_STRING); break; case '$' : sc.SetState(SCE_ERLANG_CHARACTER); break; case '%' : { parse_state = COMMENT; sc.SetState(SCE_ERLANG_COMMENT); } break; case '#' : { parse_state = RECORD_START; sc.SetState(SCE_ERLANG_UNKNOWN); } break; case '?' : { parse_state = MACRO_START; sc.SetState(SCE_ERLANG_UNKNOWN); } break; case '\'' : { parse_state = ATOM_QUOTED; sc.SetState(SCE_ERLANG_UNKNOWN); } break; case '+' : case '-' : { if (IsADigit(sc.chNext)) { parse_state = NUMERAL_START; radix_digits = 0; sc.SetState(SCE_ERLANG_UNKNOWN); } else if (sc.ch != '+') { parse_state = PREPROCESSOR; sc.SetState(SCE_ERLANG_UNKNOWN); } } break; default : no_new_state = true; } if (no_new_state) { if (isdigit(sc.ch)) { parse_state = NUMERAL_START; radix_digits = sc.ch - '0'; sc.SetState(SCE_ERLANG_UNKNOWN); } else if (isupper(sc.ch) || '_' == sc.ch) { sc.SetState(SCE_ERLANG_VARIABLE); } else if (isalpha(sc.ch)) { parse_state = ATOM_UNQUOTED; sc.SetState(SCE_ERLANG_UNKNOWN); } else if (isoperator(static_cast(sc.ch)) || sc.ch == '\\') { sc.SetState(SCE_ERLANG_OPERATOR); } } } } sc.Complete(); } static int ClassifyErlangFoldPoint( Accessor &styler, int styleNext, Sci_Position keyword_start ) { int lev = 0; if (styler.Match(keyword_start,"case") || ( styler.Match(keyword_start,"fun") && (SCE_ERLANG_FUNCTION_NAME != styleNext) ) || styler.Match(keyword_start,"if") || styler.Match(keyword_start,"query") || styler.Match(keyword_start,"receive") ) { ++lev; } else if (styler.Match(keyword_start,"end")) { --lev; } return lev; } static void FoldErlangDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList** /*keywordlists*/, Accessor &styler ) { Sci_PositionU endPos = startPos + length; Sci_Position currentLine = styler.GetLine(startPos); int lev; int previousLevel = styler.LevelAt(currentLine) & SC_FOLDLEVELNUMBERMASK; int currentLevel = previousLevel; int styleNext = styler.StyleAt(startPos); int style = initStyle; int stylePrev; Sci_Position keyword_start = 0; char ch; char chNext = styler.SafeGetCharAt(startPos); bool atEOL; for (Sci_PositionU i = startPos; i < endPos; i++) { ch = chNext; chNext = styler.SafeGetCharAt(i + 1); // Get styles stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); atEOL = ((ch == '\r') && (chNext != '\n')) || (ch == '\n'); if (stylePrev != SCE_ERLANG_KEYWORD && style == SCE_ERLANG_KEYWORD) { keyword_start = i; } // Fold on keywords if (stylePrev == SCE_ERLANG_KEYWORD && style != SCE_ERLANG_KEYWORD && style != SCE_ERLANG_ATOM ) { currentLevel += ClassifyErlangFoldPoint(styler, styleNext, keyword_start); } // Fold on comments if (style == SCE_ERLANG_COMMENT || style == SCE_ERLANG_COMMENT_MODULE || style == SCE_ERLANG_COMMENT_FUNCTION) { if (ch == '%' && chNext == '{') { currentLevel++; } else if (ch == '%' && chNext == '}') { currentLevel--; } } // Fold on braces if (style == SCE_ERLANG_OPERATOR) { if (ch == '{' || ch == '(' || ch == '[') { currentLevel++; } else if (ch == '}' || ch == ')' || ch == ']') { currentLevel--; } } if (atEOL) { lev = previousLevel; if (currentLevel > previousLevel) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(currentLine)) styler.SetLevel(currentLine, lev); currentLine++; previousLevel = currentLevel; } } // Fill in the real level of the next line, keeping the current flags as they will be filled in later styler.SetLevel(currentLine, previousLevel | (styler.LevelAt(currentLine) & ~SC_FOLDLEVELNUMBERMASK)); } static const char * const erlangWordListDesc[] = { "Erlang Reserved words", "Erlang BIFs", "Erlang Preprocessor", "Erlang Module Attributes", "Erlang Documentation", "Erlang Documentation Macro", 0 }; LexerModule lmErlang( SCLEX_ERLANG, ColouriseErlangDoc, "erlang", FoldErlangDoc, erlangWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexErrorList.cpp ================================================ // Scintilla source code edit control /** @file LexErrorList.cxx ** Lexer for error lists. Used for the output pane in SciTE. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static bool strstart(const char *haystack, const char *needle) { return strncmp(haystack, needle, strlen(needle)) == 0; } static bool Is0To9(char ch) { return (ch >= '0') && (ch <= '9'); } static bool Is1To9(char ch) { return (ch >= '1') && (ch <= '9'); } static bool IsAlphabetic(int ch) { return IsASCII(ch) && isalpha(ch); } static inline bool AtEOL(Accessor &styler, Sci_PositionU i) { return (styler[i] == '\n') || ((styler[i] == '\r') && (styler.SafeGetCharAt(i + 1) != '\n')); } static int RecogniseErrorListLine(const char *lineBuffer, Sci_PositionU lengthLine, Sci_Position &startValue) { if (lineBuffer[0] == '>') { // Command or return status return SCE_ERR_CMD; } else if (lineBuffer[0] == '<') { // Diff removal. return SCE_ERR_DIFF_DELETION; } else if (lineBuffer[0] == '!') { return SCE_ERR_DIFF_CHANGED; } else if (lineBuffer[0] == '+') { if (strstart(lineBuffer, "+++ ")) { return SCE_ERR_DIFF_MESSAGE; } else { return SCE_ERR_DIFF_ADDITION; } } else if (lineBuffer[0] == '-') { if (strstart(lineBuffer, "--- ")) { return SCE_ERR_DIFF_MESSAGE; } else { return SCE_ERR_DIFF_DELETION; } } else if (strstart(lineBuffer, "cf90-")) { // Absoft Pro Fortran 90/95 v8.2 error and/or warning message return SCE_ERR_ABSF; } else if (strstart(lineBuffer, "fortcom:")) { // Intel Fortran Compiler v8.0 error/warning message return SCE_ERR_IFORT; } else if (strstr(lineBuffer, "File \"") && strstr(lineBuffer, ", line ")) { return SCE_ERR_PYTHON; } else if (strstr(lineBuffer, " in ") && strstr(lineBuffer, " on line ")) { return SCE_ERR_PHP; } else if ((strstart(lineBuffer, "Error ") || strstart(lineBuffer, "Warning ")) && strstr(lineBuffer, " at (") && strstr(lineBuffer, ") : ") && (strstr(lineBuffer, " at (") < strstr(lineBuffer, ") : "))) { // Intel Fortran Compiler error/warning message return SCE_ERR_IFC; } else if (strstart(lineBuffer, "Error ")) { // Borland error message return SCE_ERR_BORLAND; } else if (strstart(lineBuffer, "Warning ")) { // Borland warning message return SCE_ERR_BORLAND; } else if (strstr(lineBuffer, "at line ") && (strstr(lineBuffer, "at line ") < (lineBuffer + lengthLine)) && strstr(lineBuffer, "file ") && (strstr(lineBuffer, "file ") < (lineBuffer + lengthLine))) { // Lua 4 error message return SCE_ERR_LUA; } else if (strstr(lineBuffer, " at ") && (strstr(lineBuffer, " at ") < (lineBuffer + lengthLine)) && strstr(lineBuffer, " line ") && (strstr(lineBuffer, " line ") < (lineBuffer + lengthLine)) && (strstr(lineBuffer, " at ") + 4 < (strstr(lineBuffer, " line ")))) { // perl error message: // at line return SCE_ERR_PERL; } else if ((lengthLine >= 6) && (memcmp(lineBuffer, " at ", 6) == 0) && strstr(lineBuffer, ":line ")) { // A .NET traceback return SCE_ERR_NET; } else if (strstart(lineBuffer, "Line ") && strstr(lineBuffer, ", file ")) { // Essential Lahey Fortran error message return SCE_ERR_ELF; } else if (strstart(lineBuffer, "line ") && strstr(lineBuffer, " column ")) { // HTML tidy style: line 42 column 1 return SCE_ERR_TIDY; } else if (strstart(lineBuffer, "\tat ") && strstr(lineBuffer, "(") && strstr(lineBuffer, ".java:")) { // Java stack back trace return SCE_ERR_JAVA_STACK; } else if (strstart(lineBuffer, "In file included from ") || strstart(lineBuffer, " from ")) { // GCC showing include path to following error return SCE_ERR_GCC_INCLUDED_FROM; } else if (strstr(lineBuffer, "warning LNK")) { // Microsoft linker warning: // { : } warning LNK9999 return SCE_ERR_MS; } else { // Look for one of the following formats: // GCC: :: // Microsoft: () : // Common: (): warning|error|note|remark|catastrophic|fatal // Common: () warning|error|note|remark|catastrophic|fatal // Microsoft: (,) // CTags: \t\t // Lua 5 traceback: \t:: // Lua 5.1: : :: const bool initialTab = (lineBuffer[0] == '\t'); bool initialColonPart = false; bool canBeCtags = !initialTab; // For ctags must have an identifier with no spaces then a tab enum { stInitial, stGccStart, stGccDigit, stGccColumn, stGcc, stMsStart, stMsDigit, stMsBracket, stMsVc, stMsDigitComma, stMsDotNet, stCtagsStart, stCtagsFile, stCtagsStartString, stCtagsStringDollar, stCtags, stUnrecognized } state = stInitial; for (Sci_PositionU i = 0; i < lengthLine; i++) { const char ch = lineBuffer[i]; char chNext = ' '; if ((i + 1) < lengthLine) chNext = lineBuffer[i + 1]; if (state == stInitial) { if (ch == ':') { // May be GCC, or might be Lua 5 (Lua traceback same but with tab prefix) if ((chNext != '\\') && (chNext != '/') && (chNext != ' ')) { // This check is not completely accurate as may be on // GTK+ with a file name that includes ':'. state = stGccStart; } else if (chNext == ' ') { // indicates a Lua 5.1 error message initialColonPart = true; } } else if ((ch == '(') && Is1To9(chNext) && (!initialTab)) { // May be Microsoft // Check against '0' often removes phone numbers state = stMsStart; } else if ((ch == '\t') && canBeCtags) { // May be CTags state = stCtagsStart; } else if (ch == ' ') { canBeCtags = false; } } else if (state == stGccStart) { // : state = Is0To9(ch) ? stGccDigit : stUnrecognized; } else if (state == stGccDigit) { // : if (ch == ':') { state = stGccColumn; // :9.*: is GCC startValue = i + 1; } else if (!Is0To9(ch)) { state = stUnrecognized; } } else if (state == stGccColumn) { // :: if (!Is0To9(ch)) { state = stGcc; if (ch == ':') startValue = i + 1; break; } } else if (state == stMsStart) { // ( state = Is0To9(ch) ? stMsDigit : stUnrecognized; } else if (state == stMsDigit) { // ( if (ch == ',') { state = stMsDigitComma; } else if (ch == ')') { state = stMsBracket; } else if ((ch != ' ') && !Is0To9(ch)) { state = stUnrecognized; } } else if (state == stMsBracket) { // () if ((ch == ' ') && (chNext == ':')) { state = stMsVc; } else if ((ch == ':' && chNext == ' ') || (ch == ' ')) { // Possibly Delphi.. don't test against chNext as it's one of the strings below. char word[512]; Sci_PositionU j, chPos; unsigned numstep; chPos = 0; if (ch == ' ') numstep = 1; // ch was ' ', handle as if it's a delphi errorline, only add 1 to i. else numstep = 2; // otherwise add 2. for (j = i + numstep; j < lengthLine && IsAlphabetic(lineBuffer[j]) && chPos < sizeof(word) - 1; j++) word[chPos++] = lineBuffer[j]; word[chPos] = 0; if (!CompareCaseInsensitive(word, "error") || !CompareCaseInsensitive(word, "warning") || !CompareCaseInsensitive(word, "fatal") || !CompareCaseInsensitive(word, "catastrophic") || !CompareCaseInsensitive(word, "note") || !CompareCaseInsensitive(word, "remark")) { state = stMsVc; } else { state = stUnrecognized; } } else { state = stUnrecognized; } } else if (state == stMsDigitComma) { // (, if (ch == ')') { state = stMsDotNet; break; } else if ((ch != ' ') && !Is0To9(ch)) { state = stUnrecognized; } } else if (state == stCtagsStart) { if (ch == '\t') { state = stCtagsFile; } } else if (state == stCtagsFile) { if ((lineBuffer[i - 1] == '\t') && ((ch == '/' && chNext == '^') || Is0To9(ch))) { state = stCtags; break; } else if ((ch == '/') && (chNext == '^')) { state = stCtagsStartString; } } else if ((state == stCtagsStartString) && ((lineBuffer[i] == '$') && (lineBuffer[i + 1] == '/'))) { state = stCtagsStringDollar; break; } } if (state == stGcc) { return initialColonPart ? SCE_ERR_LUA : SCE_ERR_GCC; } else if ((state == stMsVc) || (state == stMsDotNet)) { return SCE_ERR_MS; } else if ((state == stCtagsStringDollar) || (state == stCtags)) { return SCE_ERR_CTAG; } else if (initialColonPart && strstr(lineBuffer, ": warning C")) { // Microsoft warning without line number // : warning C9999 return SCE_ERR_MS; } else { return SCE_ERR_DEFAULT; } } } #define CSI "\033[" namespace { bool SequenceEnd(int ch) { return (ch == 0) || ((ch >= '@') && (ch <= '~')); } int StyleFromSequence(const char *seq) { int bold = 0; int colour = 0; while (!SequenceEnd(*seq)) { if (Is0To9(*seq)) { int base = *seq - '0'; if (Is0To9(seq[1])) { base = base * 10; base += seq[1] - '0'; seq++; } if (base == 0) { colour = 0; bold = 0; } else if (base == 1) { bold = 1; } else if (base >= 30 && base <= 37) { colour = base - 30; } } seq++; } return SCE_ERR_ES_BLACK + bold * 8 + colour; } } static void ColouriseErrorListLine( char *lineBuffer, Sci_PositionU lengthLine, Sci_PositionU endPos, Accessor &styler, bool valueSeparate, bool escapeSequences) { Sci_Position startValue = -1; int style = RecogniseErrorListLine(lineBuffer, lengthLine, startValue); if (escapeSequences && strstr(lineBuffer, CSI)) { const Sci_Position startPos = endPos - lengthLine; const char *linePortion = lineBuffer; Sci_Position startPortion = startPos; int portionStyle = style; while (const char *startSeq = strstr(linePortion, CSI)) { if (startSeq > linePortion) { styler.ColourTo(startPortion + static_cast(startSeq - linePortion), portionStyle); } const char *endSeq = startSeq + 2; while (!SequenceEnd(*endSeq)) endSeq++; const Sci_Position endSeqPosition = startPortion + static_cast(endSeq - linePortion) + 1; switch (*endSeq) { case 0: styler.ColourTo(endPos, SCE_ERR_ESCSEQ_UNKNOWN); return; case 'm': // Colour command styler.ColourTo(endSeqPosition, SCE_ERR_ESCSEQ); portionStyle = StyleFromSequence(startSeq+2); break; case 'K': // Erase to end of line -> ignore styler.ColourTo(endSeqPosition, SCE_ERR_ESCSEQ); break; default: styler.ColourTo(endSeqPosition, SCE_ERR_ESCSEQ_UNKNOWN); portionStyle = style; } startPortion = endSeqPosition; linePortion = endSeq + 1; } styler.ColourTo(endPos, portionStyle); } else { if (valueSeparate && (startValue >= 0)) { styler.ColourTo(endPos - (lengthLine - startValue), style); styler.ColourTo(endPos, SCE_ERR_VALUE); } else { styler.ColourTo(endPos, style); } } } static void ColouriseErrorListDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { char lineBuffer[10000]; styler.StartAt(startPos); styler.StartSegment(startPos); Sci_PositionU linePos = 0; // property lexer.errorlist.value.separate // For lines in the output pane that are matches from Find in Files or GCC-style // diagnostics, style the path and line number separately from the rest of the // line with style 21 used for the rest of the line. // This allows matched text to be more easily distinguished from its location. const bool valueSeparate = styler.GetPropertyInt("lexer.errorlist.value.separate", 0) != 0; // property lexer.errorlist.escape.sequences // Set to 1 to interpret escape sequences. const bool escapeSequences = styler.GetPropertyInt("lexer.errorlist.escape.sequences") != 0; for (Sci_PositionU i = startPos; i < startPos + length; i++) { lineBuffer[linePos++] = styler[i]; if (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1)) { // End of line (or of line buffer) met, colourise it lineBuffer[linePos] = '\0'; ColouriseErrorListLine(lineBuffer, linePos, i, styler, valueSeparate, escapeSequences); linePos = 0; } } if (linePos > 0) { // Last line does not have ending characters lineBuffer[linePos] = '\0'; ColouriseErrorListLine(lineBuffer, linePos, startPos + length - 1, styler, valueSeparate, escapeSequences); } } static const char *const emptyWordListDesc[] = { 0 }; LexerModule lmErrorList(SCLEX_ERRORLIST, ColouriseErrorListDoc, "errorlist", 0, emptyWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexFlagship.cpp ================================================ // Scintilla source code edit control /** @file LexFlagShip.cxx ** Lexer for Harbour and FlagShip. ** (Syntactically compatible to other xBase dialects, like Clipper, dBase, Clip, FoxPro etc.) **/ // Copyright 2005 by Randy Butler // Copyright 2010 by Xavi (Harbour) // Copyright 1998-2003 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; // Extended to accept accented characters static inline bool IsAWordChar(int ch) { return ch >= 0x80 || (isalnum(ch) || ch == '_'); } static void ColouriseFlagShipDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; WordList &keywords4 = *keywordlists[3]; WordList &keywords5 = *keywordlists[4]; // property lexer.flagship.styling.within.preprocessor // For Harbour code, determines whether all preprocessor code is styled in the preprocessor style (0) or only from the // initial # to the end of the command word(1, the default). It also determines how to present text, dump, and disabled code. bool stylingWithinPreprocessor = styler.GetPropertyInt("lexer.flagship.styling.within.preprocessor", 1) != 0; CharacterSet setDoxygen(CharacterSet::setAlpha, "$@\\&<>#{}[]"); int visibleChars = 0; int closeStringChar = 0; int styleBeforeDCKeyword = SCE_FS_DEFAULT; bool bEnableCode = initStyle < SCE_FS_DISABLEDCODE; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // Determine if the current state should terminate. switch (sc.state) { case SCE_FS_OPERATOR: case SCE_FS_OPERATOR_C: case SCE_FS_WORDOPERATOR: sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); break; case SCE_FS_IDENTIFIER: case SCE_FS_IDENTIFIER_C: if (!IsAWordChar(sc.ch)) { char s[64]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(bEnableCode ? SCE_FS_KEYWORD : SCE_FS_KEYWORD_C); } else if (keywords2.InList(s)) { sc.ChangeState(bEnableCode ? SCE_FS_KEYWORD2 : SCE_FS_KEYWORD2_C); } else if (bEnableCode && keywords3.InList(s)) { sc.ChangeState(SCE_FS_KEYWORD3); } else if (bEnableCode && keywords4.InList(s)) { sc.ChangeState(SCE_FS_KEYWORD4); }// Else, it is really an identifier... sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } break; case SCE_FS_NUMBER: if (!IsAWordChar(sc.ch) && !(sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_FS_DEFAULT); } break; case SCE_FS_NUMBER_C: if (!IsAWordChar(sc.ch) && sc.ch != '.') { sc.SetState(SCE_FS_DEFAULT_C); } break; case SCE_FS_CONSTANT: if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_FS_DEFAULT); } break; case SCE_FS_STRING: case SCE_FS_STRING_C: if (sc.ch == closeStringChar) { sc.ForwardSetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } else if (sc.atLineEnd) { sc.ChangeState(bEnableCode ? SCE_FS_STRINGEOL : SCE_FS_STRINGEOL_C); } break; case SCE_FS_STRINGEOL: case SCE_FS_STRINGEOL_C: if (sc.atLineStart) { sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } break; case SCE_FS_COMMENTDOC: case SCE_FS_COMMENTDOC_C: if (sc.Match('*', '/')) { sc.Forward(); sc.ForwardSetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '*') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = bEnableCode ? SCE_FS_COMMENTDOC : SCE_FS_COMMENTDOC_C; sc.SetState(SCE_FS_COMMENTDOCKEYWORD); } } break; case SCE_FS_COMMENT: case SCE_FS_COMMENTLINE: if (sc.atLineStart) { sc.SetState(SCE_FS_DEFAULT); } break; case SCE_FS_COMMENTLINEDOC: case SCE_FS_COMMENTLINEDOC_C: if (sc.atLineStart) { sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } else if (sc.ch == '@' || sc.ch == '\\') { // JavaDoc and Doxygen support // Verify that we have the conditions to mark a comment-doc-keyword if ((IsASpace(sc.chPrev) || sc.chPrev == '/' || sc.chPrev == '!') && (!IsASpace(sc.chNext))) { styleBeforeDCKeyword = bEnableCode ? SCE_FS_COMMENTLINEDOC : SCE_FS_COMMENTLINEDOC_C; sc.SetState(SCE_FS_COMMENTDOCKEYWORD); } } break; case SCE_FS_COMMENTDOCKEYWORD: if ((styleBeforeDCKeyword == SCE_FS_COMMENTDOC || styleBeforeDCKeyword == SCE_FS_COMMENTDOC_C) && sc.Match('*', '/')) { sc.ChangeState(SCE_FS_COMMENTDOCKEYWORDERROR); sc.Forward(); sc.ForwardSetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } else if (!setDoxygen.Contains(sc.ch)) { char s[64]; sc.GetCurrentLowered(s, sizeof(s)); if (!IsASpace(sc.ch) || !keywords5.InList(s + 1)) { sc.ChangeState(SCE_FS_COMMENTDOCKEYWORDERROR); } sc.SetState(styleBeforeDCKeyword); } break; case SCE_FS_PREPROCESSOR: case SCE_FS_PREPROCESSOR_C: if (sc.atLineEnd) { if (!(sc.chPrev == ';' || sc.GetRelative(-2) == ';')) { sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } } else if (stylingWithinPreprocessor) { if (IsASpaceOrTab(sc.ch)) { sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } } else if (sc.Match('/', '*') || sc.Match('/', '/') || sc.Match('&', '&')) { sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } break; case SCE_FS_DISABLEDCODE: if (sc.ch == '#' && visibleChars == 0) { sc.SetState(bEnableCode ? SCE_FS_PREPROCESSOR : SCE_FS_PREPROCESSOR_C); do { // Skip whitespace between # and preprocessor word sc.Forward(); } while (IsASpaceOrTab(sc.ch) && sc.More()); if (sc.MatchIgnoreCase("pragma")) { sc.Forward(6); do { // Skip more whitespace until keyword sc.Forward(); } while (IsASpaceOrTab(sc.ch) && sc.More()); if (sc.MatchIgnoreCase("enddump") || sc.MatchIgnoreCase("__endtext")) { bEnableCode = true; sc.SetState(SCE_FS_DISABLEDCODE); sc.Forward(sc.ch == '_' ? 8 : 6); sc.ForwardSetState(SCE_FS_DEFAULT); } else { sc.ChangeState(SCE_FS_DISABLEDCODE); } } else { sc.ChangeState(SCE_FS_DISABLEDCODE); } } break; case SCE_FS_DATE: if (sc.ch == '}') { sc.ForwardSetState(SCE_FS_DEFAULT); } else if (sc.atLineEnd) { sc.ChangeState(SCE_FS_STRINGEOL); } } // Determine if a new state should be entered. if (sc.state == SCE_FS_DEFAULT || sc.state == SCE_FS_DEFAULT_C) { if (bEnableCode && (sc.MatchIgnoreCase(".and.") || sc.MatchIgnoreCase(".not."))) { sc.SetState(SCE_FS_WORDOPERATOR); sc.Forward(4); } else if (bEnableCode && sc.MatchIgnoreCase(".or.")) { sc.SetState(SCE_FS_WORDOPERATOR); sc.Forward(3); } else if (bEnableCode && (sc.MatchIgnoreCase(".t.") || sc.MatchIgnoreCase(".f.") || (!IsAWordChar(sc.GetRelative(3)) && sc.MatchIgnoreCase("nil")))) { sc.SetState(SCE_FS_CONSTANT); sc.Forward(2); } else if (sc.Match('/', '*')) { sc.SetState(bEnableCode ? SCE_FS_COMMENTDOC : SCE_FS_COMMENTDOC_C); sc.Forward(); } else if (bEnableCode && sc.Match('&', '&')) { sc.SetState(SCE_FS_COMMENTLINE); sc.Forward(); } else if (sc.Match('/', '/')) { sc.SetState(bEnableCode ? SCE_FS_COMMENTLINEDOC : SCE_FS_COMMENTLINEDOC_C); sc.Forward(); } else if (bEnableCode && sc.ch == '*' && visibleChars == 0) { sc.SetState(SCE_FS_COMMENT); } else if (sc.ch == '\"' || sc.ch == '\'') { sc.SetState(bEnableCode ? SCE_FS_STRING : SCE_FS_STRING_C); closeStringChar = sc.ch; } else if (closeStringChar == '>' && sc.ch == '<') { sc.SetState(bEnableCode ? SCE_FS_STRING : SCE_FS_STRING_C); } else if (sc.ch == '#' && visibleChars == 0) { sc.SetState(bEnableCode ? SCE_FS_PREPROCESSOR : SCE_FS_PREPROCESSOR_C); do { // Skip whitespace between # and preprocessor word sc.Forward(); } while (IsASpaceOrTab(sc.ch) && sc.More()); if (sc.atLineEnd) { sc.SetState(bEnableCode ? SCE_FS_DEFAULT : SCE_FS_DEFAULT_C); } else if (sc.MatchIgnoreCase("include")) { if (stylingWithinPreprocessor) { closeStringChar = '>'; } } else if (sc.MatchIgnoreCase("pragma")) { sc.Forward(6); do { // Skip more whitespace until keyword sc.Forward(); } while (IsASpaceOrTab(sc.ch) && sc.More()); if (sc.MatchIgnoreCase("begindump") || sc.MatchIgnoreCase("__cstream")) { bEnableCode = false; if (stylingWithinPreprocessor) { sc.SetState(SCE_FS_DISABLEDCODE); sc.Forward(8); sc.ForwardSetState(SCE_FS_DEFAULT_C); } else { sc.SetState(SCE_FS_DISABLEDCODE); } } else if (sc.MatchIgnoreCase("enddump") || sc.MatchIgnoreCase("__endtext")) { bEnableCode = true; sc.SetState(SCE_FS_DISABLEDCODE); sc.Forward(sc.ch == '_' ? 8 : 6); sc.ForwardSetState(SCE_FS_DEFAULT); } } } else if (bEnableCode && sc.ch == '{') { Sci_Position p = 0; int chSeek; Sci_PositionU endPos(startPos + length); do { // Skip whitespace chSeek = sc.GetRelative(++p); } while (IsASpaceOrTab(chSeek) && (sc.currentPos + p < endPos)); if (chSeek == '^') { sc.SetState(SCE_FS_DATE); } else { sc.SetState(SCE_FS_OPERATOR); } } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(bEnableCode ? SCE_FS_NUMBER : SCE_FS_NUMBER_C); } else if (IsAWordChar(sc.ch)) { sc.SetState(bEnableCode ? SCE_FS_IDENTIFIER : SCE_FS_IDENTIFIER_C); } else if (isoperator(static_cast(sc.ch)) || (bEnableCode && sc.ch == '@')) { sc.SetState(bEnableCode ? SCE_FS_OPERATOR : SCE_FS_OPERATOR_C); } } if (sc.atLineEnd) { visibleChars = 0; closeStringChar = 0; } if (!IsASpace(sc.ch)) { visibleChars++; } } sc.Complete(); } static void FoldFlagShipDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_Position endPos = startPos + length; // Backtrack to previous line in case need to fix its fold status Sci_Position lineCurrent = styler.GetLine(startPos); if (startPos > 0 && lineCurrent > 0) { lineCurrent--; startPos = styler.LineStart(lineCurrent); } int spaceFlags = 0; int indentCurrent = styler.IndentAmount(lineCurrent, &spaceFlags); char chNext = styler[startPos]; for (Sci_Position i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if ((ch == '\r' && chNext != '\n') || (ch == '\n') || (i == endPos-1)) { int lev = indentCurrent; int indentNext = styler.IndentAmount(lineCurrent + 1, &spaceFlags); if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) { if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) { lev |= SC_FOLDLEVELHEADERFLAG; } else if (indentNext & SC_FOLDLEVELWHITEFLAG) { int spaceFlags2 = 0; int indentNext2 = styler.IndentAmount(lineCurrent + 2, &spaceFlags2); if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext2 & SC_FOLDLEVELNUMBERMASK)) { lev |= SC_FOLDLEVELHEADERFLAG; } } } indentCurrent = indentNext; styler.SetLevel(lineCurrent, lev); lineCurrent++; } } } static const char * const FSWordListDesc[] = { "Keywords Commands", "Std Library Functions", "Procedure, return, exit", "Class (oop)", "Doxygen keywords", 0 }; LexerModule lmFlagShip(SCLEX_FLAGSHIP, ColouriseFlagShipDoc, "flagship", FoldFlagShipDoc, FSWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexForth.cpp ================================================ // Scintilla source code edit control /** @file LexForth.cxx ** Lexer for FORTH **/ // Copyright 1998-2003 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordStart(int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.'); } static inline bool IsANumChar(int ch) { return (ch < 0x80) && (isxdigit(ch) || ch == '.' || ch == 'e' || ch == 'E' ); } static inline bool IsASpaceChar(int ch) { return (ch < 0x80) && isspace(ch); } static void ColouriseForthDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordLists[], Accessor &styler) { WordList &control = *keywordLists[0]; WordList &keyword = *keywordLists[1]; WordList &defword = *keywordLists[2]; WordList &preword1 = *keywordLists[3]; WordList &preword2 = *keywordLists[4]; WordList &strings = *keywordLists[5]; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // Determine if the current state should terminate. if (sc.state == SCE_FORTH_COMMENT) { if (sc.atLineEnd) { sc.SetState(SCE_FORTH_DEFAULT); } }else if (sc.state == SCE_FORTH_COMMENT_ML) { if (sc.ch == ')') { sc.ForwardSetState(SCE_FORTH_DEFAULT); } }else if (sc.state == SCE_FORTH_IDENTIFIER || sc.state == SCE_FORTH_NUMBER) { // handle numbers here too, because what we thought was a number might // turn out to be a keyword e.g. 2DUP if (IsASpaceChar(sc.ch) ) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); int newState = sc.state == SCE_FORTH_NUMBER ? SCE_FORTH_NUMBER : SCE_FORTH_DEFAULT; if (control.InList(s)) { sc.ChangeState(SCE_FORTH_CONTROL); } else if (keyword.InList(s)) { sc.ChangeState(SCE_FORTH_KEYWORD); } else if (defword.InList(s)) { sc.ChangeState(SCE_FORTH_DEFWORD); } else if (preword1.InList(s)) { sc.ChangeState(SCE_FORTH_PREWORD1); } else if (preword2.InList(s)) { sc.ChangeState(SCE_FORTH_PREWORD2); } else if (strings.InList(s)) { sc.ChangeState(SCE_FORTH_STRING); newState = SCE_FORTH_STRING; } sc.SetState(newState); } if (sc.state == SCE_FORTH_NUMBER) { if (IsASpaceChar(sc.ch)) { sc.SetState(SCE_FORTH_DEFAULT); } else if (!IsANumChar(sc.ch)) { sc.ChangeState(SCE_FORTH_IDENTIFIER); } } }else if (sc.state == SCE_FORTH_STRING) { if (sc.ch == '\"') { sc.ForwardSetState(SCE_FORTH_DEFAULT); } }else if (sc.state == SCE_FORTH_LOCALE) { if (sc.ch == '}') { sc.ForwardSetState(SCE_FORTH_DEFAULT); } }else if (sc.state == SCE_FORTH_DEFWORD) { if (IsASpaceChar(sc.ch)) { sc.SetState(SCE_FORTH_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_FORTH_DEFAULT) { if (sc.ch == '\\'){ sc.SetState(SCE_FORTH_COMMENT); } else if (sc.ch == '(' && (sc.atLineStart || IsASpaceChar(sc.chPrev)) && (sc.atLineEnd || IsASpaceChar(sc.chNext))) { sc.SetState(SCE_FORTH_COMMENT_ML); } else if ( (sc.ch == '$' && (IsASCII(sc.chNext) && isxdigit(sc.chNext))) ) { // number starting with $ is a hex number sc.SetState(SCE_FORTH_NUMBER); while(sc.More() && IsASCII(sc.chNext) && isxdigit(sc.chNext)) sc.Forward(); } else if ( (sc.ch == '%' && (IsASCII(sc.chNext) && (sc.chNext == '0' || sc.chNext == '1'))) ) { // number starting with % is binary sc.SetState(SCE_FORTH_NUMBER); while(sc.More() && IsASCII(sc.chNext) && (sc.chNext == '0' || sc.chNext == '1')) sc.Forward(); } else if ( IsASCII(sc.ch) && (isxdigit(sc.ch) || ((sc.ch == '.' || sc.ch == '-') && IsASCII(sc.chNext) && isxdigit(sc.chNext)) ) ){ sc.SetState(SCE_FORTH_NUMBER); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_FORTH_IDENTIFIER); } else if (sc.ch == '{') { sc.SetState(SCE_FORTH_LOCALE); } else if (sc.ch == ':' && IsASCII(sc.chNext) && isspace(sc.chNext)) { // highlight word definitions e.g. : GCD ( n n -- n ) ..... ; // ^ ^^^ sc.SetState(SCE_FORTH_DEFWORD); while(sc.More() && IsASCII(sc.chNext) && isspace(sc.chNext)) sc.Forward(); } else if (sc.ch == ';' && (sc.atLineStart || IsASpaceChar(sc.chPrev)) && (sc.atLineEnd || IsASpaceChar(sc.chNext)) ) { // mark the ';' that ends a word sc.SetState(SCE_FORTH_DEFWORD); sc.ForwardSetState(SCE_FORTH_DEFAULT); } } } sc.Complete(); } static void FoldForthDoc(Sci_PositionU, Sci_Position, int, WordList *[], Accessor &) { } static const char * const forthWordLists[] = { "control keywords", "keywords", "definition words", "prewords with one argument", "prewords with two arguments", "string definition keywords", 0, }; LexerModule lmForth(SCLEX_FORTH, ColouriseForthDoc, "forth", FoldForthDoc, forthWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexFortran.cpp ================================================ // Scintilla source code edit control /** @file LexFortran.cxx ** Lexer for Fortran. ** Written by Chuan-jian Shen, Last changed Sep. 2003 **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. /***************************************/ #include #include #include #include #include #include /***************************************/ #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" /***************************************/ using namespace Scintilla; /***********************************************/ static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '%'); } /**********************************************/ static inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch)); } /***************************************/ static inline bool IsABlank(unsigned int ch) { return (ch == ' ') || (ch == 0x09) || (ch == 0x0b) ; } /***************************************/ static inline bool IsALineEnd(char ch) { return ((ch == '\n') || (ch == '\r')) ; } /***************************************/ static Sci_PositionU GetContinuedPos(Sci_PositionU pos, Accessor &styler) { while (!IsALineEnd(styler.SafeGetCharAt(pos++))) continue; if (styler.SafeGetCharAt(pos) == '\n') pos++; while (IsABlank(styler.SafeGetCharAt(pos++))) continue; char chCur = styler.SafeGetCharAt(pos); if (chCur == '&') { while (IsABlank(styler.SafeGetCharAt(++pos))) continue; return pos; } else { return pos; } } /***************************************/ static void ColouriseFortranDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler, bool isFixFormat) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; /***************************************/ Sci_Position posLineStart = 0; int numNonBlank = 0, prevState = 0; Sci_Position endPos = startPos + length; /***************************************/ // backtrack to the nearest keyword while ((startPos > 1) && (styler.StyleAt(startPos) != SCE_F_WORD)) { startPos--; } startPos = styler.LineStart(styler.GetLine(startPos)); initStyle = styler.StyleAt(startPos - 1); StyleContext sc(startPos, endPos-startPos, initStyle, styler); /***************************************/ for (; sc.More(); sc.Forward()) { // remember the start position of the line if (sc.atLineStart) { posLineStart = sc.currentPos; numNonBlank = 0; sc.SetState(SCE_F_DEFAULT); } if (!IsASpaceOrTab(sc.ch)) numNonBlank ++; /***********************************************/ // Handle the fix format generically Sci_Position toLineStart = sc.currentPos - posLineStart; if (isFixFormat && (toLineStart < 6 || toLineStart >= 72)) { if ((toLineStart == 0 && (tolower(sc.ch) == 'c' || sc.ch == '*')) || sc.ch == '!') { if (sc.MatchIgnoreCase("cdec$") || sc.MatchIgnoreCase("*dec$") || sc.MatchIgnoreCase("!dec$") || sc.MatchIgnoreCase("cdir$") || sc.MatchIgnoreCase("*dir$") || sc.MatchIgnoreCase("!dir$") || sc.MatchIgnoreCase("cms$") || sc.MatchIgnoreCase("*ms$") || sc.MatchIgnoreCase("!ms$") || sc.chNext == '$') { sc.SetState(SCE_F_PREPROCESSOR); } else { sc.SetState(SCE_F_COMMENT); } while (!sc.atLineEnd && sc.More()) sc.Forward(); // Until line end } else if (toLineStart >= 72) { sc.SetState(SCE_F_COMMENT); while (!sc.atLineEnd && sc.More()) sc.Forward(); // Until line end } else if (toLineStart < 5) { if (IsADigit(sc.ch)) sc.SetState(SCE_F_LABEL); else sc.SetState(SCE_F_DEFAULT); } else if (toLineStart == 5) { //if (!IsASpace(sc.ch) && sc.ch != '0') { if (sc.ch != '\r' && sc.ch != '\n') { sc.SetState(SCE_F_CONTINUATION); if (!IsASpace(sc.ch) && sc.ch != '0') sc.ForwardSetState(prevState); } else sc.SetState(SCE_F_DEFAULT); } continue; } /***************************************/ // Handle line continuation generically. if (!isFixFormat && sc.ch == '&' && sc.state != SCE_F_COMMENT) { char chTemp = ' '; Sci_Position j = 1; while (IsABlank(chTemp) && j<132) { chTemp = static_cast(sc.GetRelative(j)); j++; } if (chTemp == '!') { sc.SetState(SCE_F_CONTINUATION); if (sc.chNext == '!') sc.ForwardSetState(SCE_F_COMMENT); } else if (chTemp == '\r' || chTemp == '\n') { int currentState = sc.state; sc.SetState(SCE_F_CONTINUATION); sc.ForwardSetState(SCE_F_DEFAULT); while (IsASpace(sc.ch) && sc.More()) { sc.Forward(); if (sc.atLineStart) numNonBlank = 0; if (!IsASpaceOrTab(sc.ch)) numNonBlank ++; } if (sc.ch == '&') { sc.SetState(SCE_F_CONTINUATION); sc.Forward(); } sc.SetState(currentState); } } /***************************************/ // Hanndle preprocessor directives if (sc.ch == '#' && numNonBlank == 1) { sc.SetState(SCE_F_PREPROCESSOR); while (!sc.atLineEnd && sc.More()) sc.Forward(); // Until line end } /***************************************/ // Determine if the current state should terminate. if (sc.state == SCE_F_OPERATOR) { sc.SetState(SCE_F_DEFAULT); } else if (sc.state == SCE_F_NUMBER) { if (!(IsAWordChar(sc.ch) || sc.ch=='\'' || sc.ch=='\"' || sc.ch=='.')) { sc.SetState(SCE_F_DEFAULT); } } else if (sc.state == SCE_F_IDENTIFIER) { if (!IsAWordChar(sc.ch) || (sc.ch == '%')) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_F_WORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_F_WORD2); } else if (keywords3.InList(s)) { sc.ChangeState(SCE_F_WORD3); } sc.SetState(SCE_F_DEFAULT); } } else if (sc.state == SCE_F_COMMENT || sc.state == SCE_F_PREPROCESSOR) { if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_F_DEFAULT); } } else if (sc.state == SCE_F_STRING1) { prevState = sc.state; if (sc.ch == '\'') { if (sc.chNext == '\'') { sc.Forward(); } else { sc.ForwardSetState(SCE_F_DEFAULT); prevState = SCE_F_DEFAULT; } } else if (sc.atLineEnd) { sc.ChangeState(SCE_F_STRINGEOL); sc.ForwardSetState(SCE_F_DEFAULT); } } else if (sc.state == SCE_F_STRING2) { prevState = sc.state; if (sc.atLineEnd) { sc.ChangeState(SCE_F_STRINGEOL); sc.ForwardSetState(SCE_F_DEFAULT); } else if (sc.ch == '\"') { if (sc.chNext == '\"') { sc.Forward(); } else { sc.ForwardSetState(SCE_F_DEFAULT); prevState = SCE_F_DEFAULT; } } } else if (sc.state == SCE_F_OPERATOR2) { if (sc.ch == '.') { sc.ForwardSetState(SCE_F_DEFAULT); } } else if (sc.state == SCE_F_CONTINUATION) { sc.SetState(SCE_F_DEFAULT); } else if (sc.state == SCE_F_LABEL) { if (!IsADigit(sc.ch)) { sc.SetState(SCE_F_DEFAULT); } else { if (isFixFormat && sc.currentPos-posLineStart > 4) sc.SetState(SCE_F_DEFAULT); else if (numNonBlank > 5) sc.SetState(SCE_F_DEFAULT); } } /***************************************/ // Determine if a new state should be entered. if (sc.state == SCE_F_DEFAULT) { if (sc.ch == '!') { if (sc.MatchIgnoreCase("!dec$") || sc.MatchIgnoreCase("!dir$") || sc.MatchIgnoreCase("!ms$") || sc.chNext == '$') { sc.SetState(SCE_F_PREPROCESSOR); } else { sc.SetState(SCE_F_COMMENT); } } else if ((!isFixFormat) && IsADigit(sc.ch) && numNonBlank == 1) { sc.SetState(SCE_F_LABEL); } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_F_NUMBER); } else if ((tolower(sc.ch) == 'b' || tolower(sc.ch) == 'o' || tolower(sc.ch) == 'z') && (sc.chNext == '\"' || sc.chNext == '\'')) { sc.SetState(SCE_F_NUMBER); sc.Forward(); } else if (sc.ch == '.' && isalpha(sc.chNext)) { sc.SetState(SCE_F_OPERATOR2); } else if (IsAWordStart(sc.ch)) { sc.SetState(SCE_F_IDENTIFIER); } else if (sc.ch == '\"') { sc.SetState(SCE_F_STRING2); } else if (sc.ch == '\'') { sc.SetState(SCE_F_STRING1); } else if (isoperator(static_cast(sc.ch))) { sc.SetState(SCE_F_OPERATOR); } } } sc.Complete(); } /***************************************/ static void CheckLevelCommentLine(const unsigned int nComL, Sci_Position nComColB[], Sci_Position nComColF[], Sci_Position &nComCur, bool comLineB[], bool comLineF[], bool &comLineCur, int &levelDeltaNext) { levelDeltaNext = 0; if (!comLineCur) { return; } if (!comLineF[0] || nComColF[0] != nComCur) { unsigned int i=0; for (; i= nLineTotal) { return; } for (int i=nComL-2; i>=0; i--) { nComColB[i+1] = nComColB[i]; comLineB[i+1] = comLineB[i]; } nComColB[0] = nComCur; comLineB[0] = comLineCur; nComCur = nComColF[0]; comLineCur = comLineF[0]; for (unsigned int i=0; i+1 0) { lineCurrent--; startPos = styler.LineStart(lineCurrent); isPrevLine = true; } else { isPrevLine = false; } char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; int levelDeltaNext = 0; const unsigned int nComL = 3; // defines how many comment lines should be before they are folded Sci_Position nComColB[nComL] = {}; Sci_Position nComColF[nComL] = {}; Sci_Position nComCur = 0; bool comLineB[nComL] = {}; bool comLineF[nComL] = {}; bool comLineCur; Sci_Position nLineTotal = styler.GetLine(styler.Length()-1) + 1; if (foldComment) { for (unsigned int i=0; i= nLineTotal) { comLineF[i] = false; break; } GetIfLineComment(styler, isFixFormat, chL, comLineF[i], nComColF[i]); } GetIfLineComment(styler, isFixFormat, lineCurrent, comLineCur, nComCur); CheckBackComLines(styler, isFixFormat, lineCurrent, nComL, nComColB, nComColF, nComCur, comLineB, comLineF, comLineCur); } int levelCurrent = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; /***************************************/ Sci_Position lastStart = 0; char prevWord[32] = ""; /***************************************/ for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); char chNextNonBlank = chNext; bool nextEOL = false; if (IsALineEnd(chNextNonBlank)) { nextEOL = true; } Sci_PositionU j=i+1; while(IsABlank(chNextNonBlank) && j(tolower(styler[lastStart+k])); } s[k] = '\0'; // Handle the forall and where statement and structure. if (strcmp(s, "forall") == 0 || (strcmp(s, "where") == 0 && strcmp(prevWord, "else") != 0)) { if (strcmp(prevWord, "end") != 0) { j = i + 1; char chBrace = '(', chSeek = ')', ch1 = styler.SafeGetCharAt(j); // Find the position of the first ( while (ch1 != chBrace && j 0) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) styler.SetLevel(lineCurrent, lev); lineCurrent++; levelCurrent += levelDeltaNext; levelDeltaNext = 0; visibleChars = 0; strcpy(prevWord, ""); isPrevLine = false; if (foldComment) { StepCommentLine(styler, isFixFormat, lineCurrent, nComL, nComColB, nComColF, nComCur, comLineB, comLineF, comLineCur); } } /***************************************/ if (!isspacechar(ch)) visibleChars++; } /***************************************/ } /***************************************/ static const char * const FortranWordLists[] = { "Primary keywords and identifiers", "Intrinsic functions", "Extended and user defined functions", 0, }; /***************************************/ static void ColouriseFortranDocFreeFormat(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { ColouriseFortranDoc(startPos, length, initStyle, keywordlists, styler, false); } /***************************************/ static void ColouriseFortranDocFixFormat(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { ColouriseFortranDoc(startPos, length, initStyle, keywordlists, styler, true); } /***************************************/ static void FoldFortranDocFreeFormat(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { FoldFortranDoc(startPos, length, initStyle,styler, false); } /***************************************/ static void FoldFortranDocFixFormat(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { FoldFortranDoc(startPos, length, initStyle,styler, true); } /***************************************/ LexerModule lmFortran(SCLEX_FORTRAN, ColouriseFortranDocFreeFormat, "fortran", FoldFortranDocFreeFormat, FortranWordLists); LexerModule lmF77(SCLEX_F77, ColouriseFortranDocFixFormat, "f77", FoldFortranDocFixFormat, FortranWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexGAP.cpp ================================================ // Scintilla source code edit control /** @file LexGAP.cxx ** Lexer for the GAP language. (The GAP System for Computational Discrete Algebra) ** http://www.gap-system.org **/ // Copyright 2007 by Istvan Szollosi ( szteven gmail com ) // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsGAPOperator(char ch) { if (IsASCII(ch) && isalnum(ch)) return false; if (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '^' || ch == ',' || ch == '!' || ch == '.' || ch == '=' || ch == '<' || ch == '>' || ch == '(' || ch == ')' || ch == ';' || ch == '[' || ch == ']' || ch == '{' || ch == '}' || ch == ':' ) return true; return false; } static void GetRange(Sci_PositionU start, Sci_PositionU end, Accessor &styler, char *s, Sci_PositionU len) { Sci_PositionU i = 0; while ((i < end - start + 1) && (i < len-1)) { s[i] = static_cast(styler[start + i]); i++; } s[i] = '\0'; } static void ColouriseGAPDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords1 = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; WordList &keywords4 = *keywordlists[3]; // Do not leak onto next line if (initStyle == SCE_GAP_STRINGEOL) initStyle = SCE_GAP_DEFAULT; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { // Prevent SCE_GAP_STRINGEOL from leaking back to previous line if ( sc.atLineStart ) { if (sc.state == SCE_GAP_STRING) sc.SetState(SCE_GAP_STRING); if (sc.state == SCE_GAP_CHAR) sc.SetState(SCE_GAP_CHAR); } // Handle line continuation generically if (sc.ch == '\\' ) { if (sc.chNext == '\n' || sc.chNext == '\r') { sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } continue; } } // Determine if the current state should terminate switch (sc.state) { case SCE_GAP_OPERATOR : sc.SetState(SCE_GAP_DEFAULT); break; case SCE_GAP_NUMBER : if (!IsADigit(sc.ch)) { if (sc.ch == '\\') { if (!sc.atLineEnd) { if (!IsADigit(sc.chNext)) { sc.Forward(); sc.ChangeState(SCE_GAP_IDENTIFIER); } } } else if (isalpha(sc.ch) || sc.ch == '_') { sc.ChangeState(SCE_GAP_IDENTIFIER); } else sc.SetState(SCE_GAP_DEFAULT); } break; case SCE_GAP_IDENTIFIER : if (!(iswordstart(static_cast(sc.ch)) || sc.ch == '$')) { if (sc.ch == '\\') sc.Forward(); else { char s[1000]; sc.GetCurrent(s, sizeof(s)); if (keywords1.InList(s)) { sc.ChangeState(SCE_GAP_KEYWORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_GAP_KEYWORD2); } else if (keywords3.InList(s)) { sc.ChangeState(SCE_GAP_KEYWORD3); } else if (keywords4.InList(s)) { sc.ChangeState(SCE_GAP_KEYWORD4); } sc.SetState(SCE_GAP_DEFAULT); } } break; case SCE_GAP_COMMENT : if (sc.atLineEnd) { sc.SetState(SCE_GAP_DEFAULT); } break; case SCE_GAP_STRING: if (sc.atLineEnd) { sc.ChangeState(SCE_GAP_STRINGEOL); } else if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_GAP_DEFAULT); } break; case SCE_GAP_CHAR: if (sc.atLineEnd) { sc.ChangeState(SCE_GAP_STRINGEOL); } else if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\'' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\'') { sc.ForwardSetState(SCE_GAP_DEFAULT); } break; case SCE_GAP_STRINGEOL: if (sc.atLineStart) { sc.SetState(SCE_GAP_DEFAULT); } break; } // Determine if a new state should be entered if (sc.state == SCE_GAP_DEFAULT) { if (IsGAPOperator(static_cast(sc.ch))) { sc.SetState(SCE_GAP_OPERATOR); } else if (IsADigit(sc.ch)) { sc.SetState(SCE_GAP_NUMBER); } else if (isalpha(sc.ch) || sc.ch == '_' || sc.ch == '\\' || sc.ch == '$' || sc.ch == '~') { sc.SetState(SCE_GAP_IDENTIFIER); if (sc.ch == '\\') sc.Forward(); } else if (sc.ch == '#') { sc.SetState(SCE_GAP_COMMENT); } else if (sc.ch == '\"') { sc.SetState(SCE_GAP_STRING); } else if (sc.ch == '\'') { sc.SetState(SCE_GAP_CHAR); } } } sc.Complete(); } static int ClassifyFoldPointGAP(const char* s) { int level = 0; if (strcmp(s, "function") == 0 || strcmp(s, "do") == 0 || strcmp(s, "if") == 0 || strcmp(s, "repeat") == 0 ) { level = 1; } else if (strcmp(s, "end") == 0 || strcmp(s, "od") == 0 || strcmp(s, "fi") == 0 || strcmp(s, "until") == 0 ) { level = -1; } return level; } static void FoldGAPDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList** , Accessor &styler) { Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); int style = initStyle; Sci_Position lastStart = 0; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int stylePrev = style; style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (stylePrev != SCE_GAP_KEYWORD && style == SCE_GAP_KEYWORD) { // Store last word start point. lastStart = i; } if (stylePrev == SCE_GAP_KEYWORD) { if(iswordchar(ch) && !iswordchar(chNext)) { char s[100]; GetRange(lastStart, i, styler, s, sizeof(s)); levelCurrent += ClassifyFoldPointGAP(s); } } if (atEOL) { int lev = levelPrev; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; } int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const GAPWordListDesc[] = { "Keywords 1", "Keywords 2", "Keywords 3 (unused)", "Keywords 4 (unused)", 0 }; LexerModule lmGAP( SCLEX_GAP, ColouriseGAPDoc, "gap", FoldGAPDoc, GAPWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexGui4Cli.cpp ================================================ // Scintilla source code edit control // Copyright 1998-2002 by Neil Hodgson /* This is the Lexer for Gui4Cli, included in SciLexer.dll - by d. Keletsekis, 2/10/2003 To add to SciLexer.dll: 1. Add the values below to INCLUDE\Scintilla.iface 2. Run the scripts/HFacer.py script 3. Run the scripts/LexGen.py script val SCE_GC_DEFAULT=0 val SCE_GC_COMMENTLINE=1 val SCE_GC_COMMENTBLOCK=2 val SCE_GC_GLOBAL=3 val SCE_GC_EVENT=4 val SCE_GC_ATTRIBUTE=5 val SCE_GC_CONTROL=6 val SCE_GC_COMMAND=7 val SCE_GC_STRING=8 val SCE_GC_OPERATOR=9 */ #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; #define debug Platform::DebugPrintf static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_' || ch =='\\'); } inline bool isGCOperator(int ch) { if (isalnum(ch)) return false; // '.' left out as it is used to make up numbers if (ch == '*' || ch == '/' || ch == '-' || ch == '+' || ch == '(' || ch == ')' || ch == '=' || ch == '%' || ch == '[' || ch == ']' || ch == '<' || ch == '>' || ch == ',' || ch == ';' || ch == ':') return true; return false; } #define isSpace(x) ((x)==' ' || (x)=='\t') #define isNL(x) ((x)=='\n' || (x)=='\r') #define isSpaceOrNL(x) (isSpace(x) || isNL(x)) #define BUFFSIZE 500 #define isFoldPoint(x) ((styler.LevelAt(x) & SC_FOLDLEVELNUMBERMASK) == 1024) static void colorFirstWord(WordList *keywordlists[], Accessor &styler, StyleContext *sc, char *buff, Sci_Position length, Sci_Position) { Sci_Position c = 0; while (sc->More() && isSpaceOrNL(sc->ch)) { sc->Forward(); } styler.ColourTo(sc->currentPos - 1, sc->state); if (!IsAWordChar(sc->ch)) // comment, marker, etc.. return; while (sc->More() && !isSpaceOrNL(sc->ch) && (c < length-1) && !isGCOperator(sc->ch)) { buff[c] = static_cast(sc->ch); ++c; sc->Forward(); } buff[c] = '\0'; char *p = buff; while (*p) // capitalize.. { if (islower(*p)) *p = static_cast(toupper(*p)); ++p; } WordList &kGlobal = *keywordlists[0]; // keyword lists set by the user WordList &kEvent = *keywordlists[1]; WordList &kAttribute = *keywordlists[2]; WordList &kControl = *keywordlists[3]; WordList &kCommand = *keywordlists[4]; int state = 0; // int level = styler.LevelAt(line) & SC_FOLDLEVELNUMBERMASK; // debug ("line = %d, level = %d", line, level); if (kGlobal.InList(buff)) state = SCE_GC_GLOBAL; else if (kAttribute.InList(buff)) state = SCE_GC_ATTRIBUTE; else if (kControl.InList(buff)) state = SCE_GC_CONTROL; else if (kCommand.InList(buff)) state = SCE_GC_COMMAND; else if (kEvent.InList(buff)) state = SCE_GC_EVENT; if (state) { sc->ChangeState(state); styler.ColourTo(sc->currentPos - 1, sc->state); sc->ChangeState(SCE_GC_DEFAULT); } else { sc->ChangeState(SCE_GC_DEFAULT); styler.ColourTo(sc->currentPos - 1, sc->state); } } // Main colorizing function called by Scintilla static void ColouriseGui4CliDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { styler.StartAt(startPos); Sci_Position currentline = styler.GetLine(startPos); int quotestart = 0, oldstate; styler.StartSegment(startPos); bool noforward; char buff[BUFFSIZE+1]; // buffer for command name StyleContext sc(startPos, length, initStyle, styler); buff[0] = '\0'; // cbuff = 0; if (sc.state != SCE_GC_COMMENTBLOCK) // colorize 1st word.. colorFirstWord(keywordlists, styler, &sc, buff, BUFFSIZE, currentline); while (sc.More()) { noforward = 0; switch (sc.ch) { case '/': if (sc.state == SCE_GC_COMMENTBLOCK || sc.state == SCE_GC_STRING) break; if (sc.chNext == '/') // line comment { sc.SetState (SCE_GC_COMMENTLINE); sc.Forward(); styler.ColourTo(sc.currentPos, sc.state); } else if (sc.chNext == '*') // block comment { sc.SetState(SCE_GC_COMMENTBLOCK); sc.Forward(); styler.ColourTo(sc.currentPos, sc.state); } else styler.ColourTo(sc.currentPos, sc.state); break; case '*': // end of comment block, or operator.. if (sc.state == SCE_GC_STRING) break; if (sc.state == SCE_GC_COMMENTBLOCK && sc.chNext == '/') { sc.Forward(); styler.ColourTo(sc.currentPos, sc.state); sc.ChangeState (SCE_GC_DEFAULT); } else styler.ColourTo(sc.currentPos, sc.state); break; case '\'': case '\"': // strings.. if (sc.state == SCE_GC_COMMENTBLOCK || sc.state == SCE_GC_COMMENTLINE) break; if (sc.state == SCE_GC_STRING) { if (sc.ch == quotestart) // match same quote char.. { styler.ColourTo(sc.currentPos, sc.state); sc.ChangeState(SCE_GC_DEFAULT); quotestart = 0; } } else { styler.ColourTo(sc.currentPos - 1, sc.state); sc.ChangeState(SCE_GC_STRING); quotestart = sc.ch; } break; case ';': // end of commandline character if (sc.state != SCE_GC_COMMENTBLOCK && sc.state != SCE_GC_COMMENTLINE && sc.state != SCE_GC_STRING) { styler.ColourTo(sc.currentPos - 1, sc.state); styler.ColourTo(sc.currentPos, SCE_GC_OPERATOR); sc.ChangeState(SCE_GC_DEFAULT); sc.Forward(); colorFirstWord(keywordlists, styler, &sc, buff, BUFFSIZE, currentline); noforward = 1; // don't move forward - already positioned at next char.. } break; case '+': case '-': case '=': case '!': // operators.. case '<': case '>': case '&': case '|': case '$': if (sc.state != SCE_GC_COMMENTBLOCK && sc.state != SCE_GC_COMMENTLINE && sc.state != SCE_GC_STRING) { styler.ColourTo(sc.currentPos - 1, sc.state); styler.ColourTo(sc.currentPos, SCE_GC_OPERATOR); sc.ChangeState(SCE_GC_DEFAULT); } break; case '\\': // escape - same as operator, but also mark in strings.. if (sc.state != SCE_GC_COMMENTBLOCK && sc.state != SCE_GC_COMMENTLINE) { oldstate = sc.state; styler.ColourTo(sc.currentPos - 1, sc.state); sc.Forward(); // mark also the next char.. styler.ColourTo(sc.currentPos, SCE_GC_OPERATOR); sc.ChangeState(oldstate); } break; case '\n': case '\r': ++currentline; if (sc.state == SCE_GC_COMMENTLINE) { styler.ColourTo(sc.currentPos, sc.state); sc.ChangeState (SCE_GC_DEFAULT); } else if (sc.state != SCE_GC_COMMENTBLOCK) { colorFirstWord(keywordlists, styler, &sc, buff, BUFFSIZE, currentline); noforward = 1; // don't move forward - already positioned at next char.. } break; // case ' ': case '\t': // default : } if (!noforward) sc.Forward(); } sc.Complete(); } // Main folding function called by Scintilla - (based on props (.ini) files function) static void FoldGui4Cli(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); bool headerPoint = false; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler[i+1]; int style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (style == SCE_GC_EVENT || style == SCE_GC_GLOBAL) { headerPoint = true; // fold at events and globals } if (atEOL) { int lev = SC_FOLDLEVELBASE+1; if (headerPoint) lev = SC_FOLDLEVELBASE; if (visibleChars == 0 && foldCompact) lev |= SC_FOLDLEVELWHITEFLAG; if (headerPoint) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) // set level, if not already correct { styler.SetLevel(lineCurrent, lev); } lineCurrent++; // re-initialize our flags visibleChars = 0; headerPoint = false; } if (!(isspacechar(ch))) // || (style == SCE_GC_COMMENTLINE) || (style != SCE_GC_COMMENTBLOCK))) visibleChars++; } int lev = headerPoint ? SC_FOLDLEVELBASE : SC_FOLDLEVELBASE+1; int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, lev | flagsNext); } // I have no idea what these are for.. probably accessible by some message. static const char * const gui4cliWordListDesc[] = { "Globals", "Events", "Attributes", "Control", "Commands", 0 }; // Declare language & pass our function pointers to Scintilla LexerModule lmGui4Cli(SCLEX_GUI4CLI, ColouriseGui4CliDoc, "gui4cli", FoldGui4Cli, gui4cliWordListDesc); #undef debug ================================================ FILE: src/qscint/scintilla/lexers/LexHTML.cpp ================================================ // Scintilla source code edit control /** @file LexHTML.cxx ** Lexer for HTML. **/ // Copyright 1998-2005 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "StringCopy.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #include "DefaultLexer.h" using namespace Scintilla; namespace { #define SCE_HA_JS (SCE_HJA_START - SCE_HJ_START) #define SCE_HA_VBS (SCE_HBA_START - SCE_HB_START) #define SCE_HA_PYTHON (SCE_HPA_START - SCE_HP_START) enum script_type { eScriptNone = 0, eScriptJS, eScriptVBS, eScriptPython, eScriptPHP, eScriptXML, eScriptSGML, eScriptSGMLblock, eScriptComment }; enum script_mode { eHtml = 0, eNonHtmlScript, eNonHtmlPreProc, eNonHtmlScriptPreProc }; inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '.' || ch == '_'); } inline bool IsAWordStart(const int ch) { return (ch < 0x80) && (isalnum(ch) || ch == '_'); } inline bool IsOperator(int ch) { if (IsASCII(ch) && isalnum(ch)) return false; // '.' left out as it is used to make up numbers if (ch == '%' || ch == '^' || ch == '&' || ch == '*' || ch == '(' || ch == ')' || ch == '-' || ch == '+' || ch == '=' || ch == '|' || ch == '{' || ch == '}' || ch == '[' || ch == ']' || ch == ':' || ch == ';' || ch == '<' || ch == '>' || ch == ',' || ch == '/' || ch == '?' || ch == '!' || ch == '.' || ch == '~') return true; return false; } void GetTextSegment(Accessor &styler, Sci_PositionU start, Sci_PositionU end, char *s, size_t len) { Sci_PositionU i = 0; for (; (i < end - start + 1) && (i < len-1); i++) { s[i] = MakeLowerCase(styler[start + i]); } s[i] = '\0'; } std::string GetStringSegment(Accessor &styler, Sci_PositionU start, Sci_PositionU end) { std::string s; Sci_PositionU i = 0; for (; (i < end - start + 1); i++) { s.push_back(MakeLowerCase(styler[start + i])); } return s; } std::string GetNextWord(Accessor &styler, Sci_PositionU start) { std::string ret; Sci_PositionU i = 0; for (; i < 200; i++) { // Put an upper limit to bound time taken for unexpected text. const char ch = styler.SafeGetCharAt(start + i); if ((i == 0) && !IsAWordStart(ch)) break; if ((i > 0) && !IsAWordChar(ch)) break; ret.push_back(ch); } return ret; } script_type segIsScriptingIndicator(Accessor &styler, Sci_PositionU start, Sci_PositionU end, script_type prevValue) { char s[100]; GetTextSegment(styler, start, end, s, sizeof(s)); //Platform::DebugPrintf("Scripting indicator [%s]\n", s); if (strstr(s, "src")) // External script return eScriptNone; if (strstr(s, "vbs")) return eScriptVBS; if (strstr(s, "pyth")) return eScriptPython; if (strstr(s, "javas")) return eScriptJS; if (strstr(s, "jscr")) return eScriptJS; if (strstr(s, "php")) return eScriptPHP; if (strstr(s, "xml")) { const char *xml = strstr(s, "xml"); for (const char *t=s; t= SCE_HP_START) && (state <= SCE_HP_IDENTIFIER)) { return eScriptPython; } else if ((state >= SCE_HB_START) && (state <= SCE_HB_STRINGEOL)) { return eScriptVBS; } else if ((state >= SCE_HJ_START) && (state <= SCE_HJ_REGEX)) { return eScriptJS; } else if ((state >= SCE_HPHP_DEFAULT) && (state <= SCE_HPHP_COMMENTLINE)) { return eScriptPHP; } else if ((state >= SCE_H_SGML_DEFAULT) && (state < SCE_H_SGML_BLOCK_DEFAULT)) { return eScriptSGML; } else if (state == SCE_H_SGML_BLOCK_DEFAULT) { return eScriptSGMLblock; } else { return eScriptNone; } } int statePrintForState(int state, script_mode inScriptType) { int StateToPrint = state; if (state >= SCE_HJ_START) { if ((state >= SCE_HP_START) && (state <= SCE_HP_IDENTIFIER)) { StateToPrint = state + ((inScriptType == eNonHtmlScript) ? 0 : SCE_HA_PYTHON); } else if ((state >= SCE_HB_START) && (state <= SCE_HB_STRINGEOL)) { StateToPrint = state + ((inScriptType == eNonHtmlScript) ? 0 : SCE_HA_VBS); } else if ((state >= SCE_HJ_START) && (state <= SCE_HJ_REGEX)) { StateToPrint = state + ((inScriptType == eNonHtmlScript) ? 0 : SCE_HA_JS); } } return StateToPrint; } int stateForPrintState(int StateToPrint) { int state; if ((StateToPrint >= SCE_HPA_START) && (StateToPrint <= SCE_HPA_IDENTIFIER)) { state = StateToPrint - SCE_HA_PYTHON; } else if ((StateToPrint >= SCE_HBA_START) && (StateToPrint <= SCE_HBA_STRINGEOL)) { state = StateToPrint - SCE_HA_VBS; } else if ((StateToPrint >= SCE_HJA_START) && (StateToPrint <= SCE_HJA_REGEX)) { state = StateToPrint - SCE_HA_JS; } else { state = StateToPrint; } return state; } inline bool IsNumber(Sci_PositionU start, Accessor &styler) { return IsADigit(styler[start]) || (styler[start] == '.') || (styler[start] == '-') || (styler[start] == '#'); } inline bool isStringState(int state) { bool bResult; switch (state) { case SCE_HJ_DOUBLESTRING: case SCE_HJ_SINGLESTRING: case SCE_HJA_DOUBLESTRING: case SCE_HJA_SINGLESTRING: case SCE_HB_STRING: case SCE_HBA_STRING: case SCE_HP_STRING: case SCE_HP_CHARACTER: case SCE_HP_TRIPLE: case SCE_HP_TRIPLEDOUBLE: case SCE_HPA_STRING: case SCE_HPA_CHARACTER: case SCE_HPA_TRIPLE: case SCE_HPA_TRIPLEDOUBLE: case SCE_HPHP_HSTRING: case SCE_HPHP_SIMPLESTRING: case SCE_HPHP_HSTRING_VARIABLE: case SCE_HPHP_COMPLEX_VARIABLE: bResult = true; break; default : bResult = false; break; } return bResult; } inline bool stateAllowsTermination(int state) { bool allowTermination = !isStringState(state); if (allowTermination) { switch (state) { case SCE_HB_COMMENTLINE: case SCE_HPHP_COMMENT: case SCE_HP_COMMENTLINE: case SCE_HPA_COMMENTLINE: allowTermination = false; } } return allowTermination; } // not really well done, since it's only comments that should lex the %> and <% inline bool isCommentASPState(int state) { bool bResult; switch (state) { case SCE_HJ_COMMENT: case SCE_HJ_COMMENTLINE: case SCE_HJ_COMMENTDOC: case SCE_HB_COMMENTLINE: case SCE_HP_COMMENTLINE: case SCE_HPHP_COMMENT: case SCE_HPHP_COMMENTLINE: bResult = true; break; default : bResult = false; break; } return bResult; } constexpr bool IsLowerCase(int ch) noexcept { return (ch >= 'a') && (ch <= 'z'); } constexpr bool IsUpperCase(int ch) noexcept { return (ch >= 'A') && (ch <= 'Z'); } constexpr bool IsUpperOrLowerCase(int ch) noexcept { return IsUpperCase(ch) || IsLowerCase(ch); } void classifyAttribHTML(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler) { const bool wordIsNumber = IsNumber(start, styler); char chAttr = SCE_H_ATTRIBUTEUNKNOWN; if (wordIsNumber) { chAttr = SCE_H_NUMBER; } else { std::string s = GetStringSegment(styler, start, end); if (keywords.InList(s.c_str())) chAttr = SCE_H_ATTRIBUTE; } if ((chAttr == SCE_H_ATTRIBUTEUNKNOWN) && !keywords) // No keywords -> all are known chAttr = SCE_H_ATTRIBUTE; styler.ColourTo(end, chAttr); } // https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-core-concepts bool isHTMLCustomElement(const std::string &tag) { // check valid HTML custom element name: starts with an ASCII lower alpha and contains hyphen. // IsUpperOrLowerCase() is used for `html.tags.case.sensitive=1`. if (tag.length() < 2 || !IsUpperOrLowerCase(tag[0])) { return false; } if (tag.find('-') == std::string::npos) { return false; } return true; } int classifyTagHTML(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler, bool &tagDontFold, bool caseSensitive, bool isXml, bool allowScripts, const std::set &nonFoldingTags) { std::string tag; // Copy after the '<' and stop before ' ' for (Sci_PositionU cPos = start; cPos <= end; cPos++) { const char ch = styler[cPos]; if (IsASpace(ch)) { break; } if ((ch != '<') && (ch != '/')) { tag.push_back(caseSensitive ? ch : MakeLowerCase(ch)); } } // if the current language is XML, I can fold any tag // if the current language is HTML, I don't want to fold certain tags (input, meta, etc.) //...to find it in the list of no-container-tags tagDontFold = (!isXml) && (nonFoldingTags.count(tag) > 0); // No keywords -> all are known char chAttr = SCE_H_TAGUNKNOWN; if (!tag.empty() && (tag[0] == '!')) { chAttr = SCE_H_SGML_DEFAULT; } else if (!keywords || keywords.InList(tag.c_str())) { chAttr = SCE_H_TAG; } else if (!isXml && isHTMLCustomElement(tag)) { chAttr = SCE_H_TAG; } if (chAttr != SCE_H_TAGUNKNOWN) { styler.ColourTo(end, chAttr); } if (chAttr == SCE_H_TAG) { if (allowScripts && (tag == "script")) { // check to see if this is a self-closing tag by sniffing ahead bool isSelfClose = false; for (Sci_PositionU cPos = end; cPos <= end + 200; cPos++) { const char ch = styler.SafeGetCharAt(cPos, '\0'); if (ch == '\0' || ch == '>') break; else if (ch == '/' && styler.SafeGetCharAt(cPos + 1, '\0') == '>') { isSelfClose = true; break; } } // do not enter a script state if the tag self-closed if (!isSelfClose) chAttr = SCE_H_SCRIPT; } else if (!isXml && (tag == "comment")) { chAttr = SCE_H_COMMENT; } } return chAttr; } void classifyWordHTJS(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler, script_mode inScriptType) { char s[30 + 1]; Sci_PositionU i = 0; for (; i < end - start + 1 && i < 30; i++) { s[i] = styler[start + i]; } s[i] = '\0'; char chAttr = SCE_HJ_WORD; const bool wordIsNumber = IsADigit(s[0]) || ((s[0] == '.') && IsADigit(s[1])); if (wordIsNumber) { chAttr = SCE_HJ_NUMBER; } else if (keywords.InList(s)) { chAttr = SCE_HJ_KEYWORD; } styler.ColourTo(end, statePrintForState(chAttr, inScriptType)); } int classifyWordHTVB(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler, script_mode inScriptType) { char chAttr = SCE_HB_IDENTIFIER; const bool wordIsNumber = IsADigit(styler[start]) || (styler[start] == '.'); if (wordIsNumber) { chAttr = SCE_HB_NUMBER; } else { std::string s = GetStringSegment(styler, start, end); if (keywords.InList(s.c_str())) { chAttr = SCE_HB_WORD; if (s == "rem") chAttr = SCE_HB_COMMENTLINE; } } styler.ColourTo(end, statePrintForState(chAttr, inScriptType)); if (chAttr == SCE_HB_COMMENTLINE) return SCE_HB_COMMENTLINE; else return SCE_HB_DEFAULT; } void classifyWordHTPy(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler, std::string &prevWord, script_mode inScriptType, bool isMako) { const bool wordIsNumber = IsADigit(styler[start]); std::string s; for (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) { s.push_back(styler[start + i]); } char chAttr = SCE_HP_IDENTIFIER; if (prevWord == "class") chAttr = SCE_HP_CLASSNAME; else if (prevWord == "def") chAttr = SCE_HP_DEFNAME; else if (wordIsNumber) chAttr = SCE_HP_NUMBER; else if (keywords.InList(s.c_str())) chAttr = SCE_HP_WORD; else if (isMako && (s == "block")) chAttr = SCE_HP_WORD; styler.ColourTo(end, statePrintForState(chAttr, inScriptType)); prevWord = s; } // Update the word colour to default or keyword // Called when in a PHP word void classifyWordHTPHP(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler) { char chAttr = SCE_HPHP_DEFAULT; const bool wordIsNumber = IsADigit(styler[start]) || (styler[start] == '.' && start+1 <= end && IsADigit(styler[start+1])); if (wordIsNumber) { chAttr = SCE_HPHP_NUMBER; } else { std::string s = GetStringSegment(styler, start, end); if (keywords.InList(s.c_str())) chAttr = SCE_HPHP_WORD; } styler.ColourTo(end, chAttr); } bool isWordHSGML(Sci_PositionU start, Sci_PositionU end, const WordList &keywords, Accessor &styler) { std::string s; for (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) { s.push_back(styler[start + i]); } return keywords.InList(s.c_str()); } bool isWordCdata(Sci_PositionU start, Sci_PositionU end, Accessor &styler) { std::string s; for (Sci_PositionU i = 0; i < end - start + 1 && i < 30; i++) { s.push_back(styler[start + i]); } return s == "[CDATA["; } // Return the first state to reach when entering a scripting language int StateForScript(script_type scriptLanguage) { int Result; switch (scriptLanguage) { case eScriptVBS: Result = SCE_HB_START; break; case eScriptPython: Result = SCE_HP_START; break; case eScriptPHP: Result = SCE_HPHP_DEFAULT; break; case eScriptXML: Result = SCE_H_TAGUNKNOWN; break; case eScriptSGML: Result = SCE_H_SGML_DEFAULT; break; case eScriptComment: Result = SCE_H_COMMENT; break; default : Result = SCE_HJ_START; break; } return Result; } inline bool issgmlwordchar(int ch) { return !IsASCII(ch) || (isalnum(ch) || ch == '.' || ch == '_' || ch == ':' || ch == '!' || ch == '#' || ch == '['); } inline bool IsPhpWordStart(int ch) { return (IsASCII(ch) && (isalpha(ch) || (ch == '_'))) || (ch >= 0x7f); } inline bool IsPhpWordChar(int ch) { return IsADigit(ch) || IsPhpWordStart(ch); } bool InTagState(int state) { return state == SCE_H_TAG || state == SCE_H_TAGUNKNOWN || state == SCE_H_SCRIPT || state == SCE_H_ATTRIBUTE || state == SCE_H_ATTRIBUTEUNKNOWN || state == SCE_H_NUMBER || state == SCE_H_OTHER || state == SCE_H_DOUBLESTRING || state == SCE_H_SINGLESTRING; } bool IsCommentState(const int state) { return state == SCE_H_COMMENT || state == SCE_H_SGML_COMMENT; } bool IsScriptCommentState(const int state) { return state == SCE_HJ_COMMENT || state == SCE_HJ_COMMENTLINE || state == SCE_HJA_COMMENT || state == SCE_HJA_COMMENTLINE || state == SCE_HB_COMMENTLINE || state == SCE_HBA_COMMENTLINE; } bool isLineEnd(int ch) { return ch == '\r' || ch == '\n'; } bool isMakoBlockEnd(const int ch, const int chNext, const std::string &blockType) { if (blockType.empty()) { return ((ch == '%') && (chNext == '>')); } else if ((blockType == "inherit") || (blockType == "namespace") || (blockType == "include") || (blockType == "page")) { return ((ch == '/') && (chNext == '>')); } else if (blockType == "%") { if (ch == '/' && isLineEnd(chNext)) return true; else return isLineEnd(ch); } else if (blockType == "{") { return ch == '}'; } else { return (ch == '>'); } } bool isDjangoBlockEnd(const int ch, const int chNext, const std::string &blockType) { if (blockType.empty()) { return false; } else if (blockType == "%") { return ((ch == '%') && (chNext == '}')); } else if (blockType == "{") { return ((ch == '}') && (chNext == '}')); } else { return false; } } bool isPHPStringState(int state) { return (state == SCE_HPHP_HSTRING) || (state == SCE_HPHP_SIMPLESTRING) || (state == SCE_HPHP_HSTRING_VARIABLE) || (state == SCE_HPHP_COMPLEX_VARIABLE); } Sci_Position FindPhpStringDelimiter(std::string &phpStringDelimiter, Sci_Position i, const Sci_Position lengthDoc, Accessor &styler, bool &isSimpleString) { Sci_Position j; const Sci_Position beginning = i - 1; bool isValidSimpleString = false; while (i < lengthDoc && (styler[i] == ' ' || styler[i] == '\t')) i++; char ch = styler.SafeGetCharAt(i); const char chNext = styler.SafeGetCharAt(i + 1); phpStringDelimiter.clear(); if (!IsPhpWordStart(ch)) { if (ch == '\'' && IsPhpWordStart(chNext)) { i++; ch = chNext; isSimpleString = true; } else { return beginning; } } phpStringDelimiter.push_back(ch); i++; for (j = i; j < lengthDoc && !isLineEnd(styler[j]); j++) { if (!IsPhpWordChar(styler[j])) { if (isSimpleString && (styler[j] == '\'') && isLineEnd(styler.SafeGetCharAt(j + 1))) { isValidSimpleString = true; j++; break; } else { phpStringDelimiter.clear(); return beginning; } } phpStringDelimiter.push_back(styler[j]); } if (isSimpleString && !isValidSimpleString) { phpStringDelimiter.clear(); return beginning; } return j - 1; } // Options used for LexerHTML struct OptionsHTML { int aspDefaultLanguage = eScriptJS; bool caseSensitive = false; bool allowScripts = true; bool isMako = false; bool isDjango = false; bool fold = false; bool foldHTML = false; bool foldHTMLPreprocessor = true; bool foldCompact = true; bool foldComment = false; bool foldHeredoc = false; bool foldXmlAtTagOpen = false; OptionsHTML() noexcept { } }; const char * const htmlWordListDesc[] = { "HTML elements and attributes", "JavaScript keywords", "VBScript keywords", "Python keywords", "PHP keywords", "SGML and DTD keywords", 0, }; const char * const phpscriptWordListDesc[] = { "", //Unused "", //Unused "", //Unused "", //Unused "PHP keywords", "", //Unused 0, }; struct OptionSetHTML : public OptionSet { OptionSetHTML(bool isPHPScript_) { DefineProperty("asp.default.language", &OptionsHTML::aspDefaultLanguage, "Script in ASP code is initially assumed to be in JavaScript. " "To change this to VBScript set asp.default.language to 2. Python is 3."); DefineProperty("html.tags.case.sensitive", &OptionsHTML::caseSensitive, "For XML and HTML, setting this property to 1 will make tags match in a case " "sensitive way which is the expected behaviour for XML and XHTML."); DefineProperty("lexer.xml.allow.scripts", &OptionsHTML::allowScripts, "Set to 0 to disable scripts in XML."); DefineProperty("lexer.html.mako", &OptionsHTML::isMako, "Set to 1 to enable the mako template language."); DefineProperty("lexer.html.django", &OptionsHTML::isDjango, "Set to 1 to enable the django template language."); DefineProperty("fold", &OptionsHTML::fold); DefineProperty("fold.html", &OptionsHTML::foldHTML, "Folding is turned on or off for HTML and XML files with this option. " "The fold option must also be on for folding to occur."); DefineProperty("fold.html.preprocessor", &OptionsHTML::foldHTMLPreprocessor, "Folding is turned on or off for scripts embedded in HTML files with this option. " "The default is on."); DefineProperty("fold.compact", &OptionsHTML::foldCompact); DefineProperty("fold.hypertext.comment", &OptionsHTML::foldComment, "Allow folding for comments in scripts embedded in HTML. " "The default is off."); DefineProperty("fold.hypertext.heredoc", &OptionsHTML::foldHeredoc, "Allow folding for heredocs in scripts embedded in HTML. " "The default is off."); DefineProperty("fold.xml.at.tag.open", &OptionsHTML::foldXmlAtTagOpen, "Enable folding for XML at the start of open tag. " "The default is off."); DefineWordListSets(isPHPScript_ ? phpscriptWordListDesc : htmlWordListDesc); } }; LexicalClass lexicalClassesHTML[] = { // Lexer HTML SCLEX_HTML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_: 0, "SCE_H_DEFAULT", "default", "Text", 1, "SCE_H_TAG", "tag", "Tags", 2, "SCE_H_ERRORTAGUNKNOWN", "error tag", "Unknown Tags", 3, "SCE_H_ATTRIBUTE", "attribute", "Attributes", 4, "SCE_H_ATTRIBUTEUNKNOWN", "error attribute", "Unknown Attributes", 5, "SCE_H_NUMBER", "literal numeric", "Numbers", 6, "SCE_H_DOUBLESTRING", "literal string", "Double quoted strings", 7, "SCE_H_SINGLESTRING", "literal string", "Single quoted strings", 8, "SCE_H_OTHER", "tag operator", "Other inside tag, including space and '='", 9, "SCE_H_COMMENT", "comment", "Comment", 10, "SCE_H_ENTITY", "literal", "Entities", 11, "SCE_H_TAGEND", "tag", "XML style tag ends '/>'", 12, "SCE_H_XMLSTART", "identifier", "XML identifier start ''", 14, "SCE_H_SCRIPT", "error", "Internal state which should never be visible", 15, "SCE_H_ASP", "preprocessor", "ASP <% ... %>", 16, "SCE_H_ASPAT", "preprocessor", "ASP <% ... %>", 17, "SCE_H_CDATA", "literal", "CDATA", 18, "SCE_H_QUESTION", "preprocessor", "PHP", 19, "SCE_H_VALUE", "literal string", "Unquoted values", 20, "SCE_H_XCCOMMENT", "comment", "JSP Comment <%-- ... --%>", 21, "SCE_H_SGML_DEFAULT", "default", "SGML tags ", 22, "SCE_H_SGML_COMMAND", "preprocessor", "SGML command", 23, "SCE_H_SGML_1ST_PARAM", "preprocessor", "SGML 1st param", 24, "SCE_H_SGML_DOUBLESTRING", "literal string", "SGML double string", 25, "SCE_H_SGML_SIMPLESTRING", "literal string", "SGML single string", 26, "SCE_H_SGML_ERROR", "error", "SGML error", 27, "SCE_H_SGML_SPECIAL", "literal", "SGML special (#XXXX type)", 28, "SCE_H_SGML_ENTITY", "literal", "SGML entity", 29, "SCE_H_SGML_COMMENT", "comment", "SGML comment", 30, "SCE_H_SGML_1ST_PARAM_COMMENT", "error comment", "SGML first parameter - lexer internal. It is an error if any text is in this style.", 31, "SCE_H_SGML_BLOCK_DEFAULT", "default", "SGML block", 32, "", "predefined", "", 33, "", "predefined", "", 34, "", "predefined", "", 35, "", "predefined", "", 36, "", "predefined", "", 37, "", "predefined", "", 38, "", "predefined", "", 39, "", "predefined", "", 40, "SCE_HJ_START", "client javascript default", "JS Start - allows eol filled background to not start on same line as SCRIPT tag", 41, "SCE_HJ_DEFAULT", "client javascript default", "JS Default", 42, "SCE_HJ_COMMENT", "client javascript comment", "JS Comment", 43, "SCE_HJ_COMMENTLINE", "client javascript comment line", "JS Line Comment", 44, "SCE_HJ_COMMENTDOC", "client javascript comment documentation", "JS Doc comment", 45, "SCE_HJ_NUMBER", "client javascript literal numeric", "JS Number", 46, "SCE_HJ_WORD", "client javascript identifier", "JS Word", 47, "SCE_HJ_KEYWORD", "client javascript keyword", "JS Keyword", 48, "SCE_HJ_DOUBLESTRING", "client javascript literal string", "JS Double quoted string", 49, "SCE_HJ_SINGLESTRING", "client javascript literal string", "JS Single quoted string", 50, "SCE_HJ_SYMBOLS", "client javascript operator", "JS Symbols", 51, "SCE_HJ_STRINGEOL", "client javascript error literal string", "JavaScript EOL", 52, "SCE_HJ_REGEX", "client javascript literal regex", "JavaScript RegEx", 53, "", "unused", "", 54, "", "unused", "", 55, "SCE_HJA_START", "server javascript default", "JS Start - allows eol filled background to not start on same line as SCRIPT tag", 56, "SCE_HJA_DEFAULT", "server javascript default", "JS Default", 57, "SCE_HJA_COMMENT", "server javascript comment", "JS Comment", 58, "SCE_HJA_COMMENTLINE", "server javascript comment line", "JS Line Comment", 59, "SCE_HJA_COMMENTDOC", "server javascript comment documentation", "JS Doc comment", 60, "SCE_HJA_NUMBER", "server javascript literal numeric", "JS Number", 61, "SCE_HJA_WORD", "server javascript identifier", "JS Word", 62, "SCE_HJA_KEYWORD", "server javascript keyword", "JS Keyword", 63, "SCE_HJA_DOUBLESTRING", "server javascript literal string", "JS Double quoted string", 64, "SCE_HJA_SINGLESTRING", "server javascript literal string", "JS Single quoted string", 65, "SCE_HJA_SYMBOLS", "server javascript operator", "JS Symbols", 66, "SCE_HJA_STRINGEOL", "server javascript error literal string", "JavaScript EOL", 67, "SCE_HJA_REGEX", "server javascript literal regex", "JavaScript RegEx", 68, "", "unused", "", 69, "", "unused", "", 70, "SCE_HB_START", "client basic default", "Start", 71, "SCE_HB_DEFAULT", "client basic default", "Default", 72, "SCE_HB_COMMENTLINE", "client basic comment line", "Comment", 73, "SCE_HB_NUMBER", "client basic literal numeric", "Number", 74, "SCE_HB_WORD", "client basic keyword", "KeyWord", 75, "SCE_HB_STRING", "client basic literal string", "String", 76, "SCE_HB_IDENTIFIER", "client basic identifier", "Identifier", 77, "SCE_HB_STRINGEOL", "client basic literal string", "Unterminated string", 78, "", "unused", "", 79, "", "unused", "", 80, "SCE_HBA_START", "server basic default", "Start", 81, "SCE_HBA_DEFAULT", "server basic default", "Default", 82, "SCE_HBA_COMMENTLINE", "server basic comment line", "Comment", 83, "SCE_HBA_NUMBER", "server basic literal numeric", "Number", 84, "SCE_HBA_WORD", "server basic keyword", "KeyWord", 85, "SCE_HBA_STRING", "server basic literal string", "String", 86, "SCE_HBA_IDENTIFIER", "server basic identifier", "Identifier", 87, "SCE_HBA_STRINGEOL", "server basic literal string", "Unterminated string", 88, "", "unused", "", 89, "", "unused", "", 90, "SCE_HP_START", "client python default", "Embedded Python", 91, "SCE_HP_DEFAULT", "client python default", "Embedded Python", 92, "SCE_HP_COMMENTLINE", "client python comment line", "Comment", 93, "SCE_HP_NUMBER", "client python literal numeric", "Number", 94, "SCE_HP_STRING", "client python literal string", "String", 95, "SCE_HP_CHARACTER", "client python literal string character", "Single quoted string", 96, "SCE_HP_WORD", "client python keyword", "Keyword", 97, "SCE_HP_TRIPLE", "client python literal string", "Triple quotes", 98, "SCE_HP_TRIPLEDOUBLE", "client python literal string", "Triple double quotes", 99, "SCE_HP_CLASSNAME", "client python identifier", "Class name definition", 100, "SCE_HP_DEFNAME", "client python identifier", "Function or method name definition", 101, "SCE_HP_OPERATOR", "client python operator", "Operators", 102, "SCE_HP_IDENTIFIER", "client python identifier", "Identifiers", 103, "", "unused", "", 104, "SCE_HPHP_COMPLEX_VARIABLE", "server php identifier", "PHP complex variable", 105, "SCE_HPA_START", "server python default", "ASP Python", 106, "SCE_HPA_DEFAULT", "server python default", "ASP Python", 107, "SCE_HPA_COMMENTLINE", "server python comment line", "Comment", 108, "SCE_HPA_NUMBER", "server python literal numeric", "Number", 109, "SCE_HPA_STRING", "server python literal string", "String", 110, "SCE_HPA_CHARACTER", "server python literal string character", "Single quoted string", 111, "SCE_HPA_WORD", "server python keyword", "Keyword", 112, "SCE_HPA_TRIPLE", "server python literal string", "Triple quotes", 113, "SCE_HPA_TRIPLEDOUBLE", "server python literal string", "Triple double quotes", 114, "SCE_HPA_CLASSNAME", "server python identifier", "Class name definition", 115, "SCE_HPA_DEFNAME", "server python identifier", "Function or method name definition", 116, "SCE_HPA_OPERATOR", "server python operator", "Operators", 117, "SCE_HPA_IDENTIFIER", "server python identifier", "Identifiers", 118, "SCE_HPHP_DEFAULT", "server php default", "Default", 119, "SCE_HPHP_HSTRING", "server php literal string", "Double quoted String", 120, "SCE_HPHP_SIMPLESTRING", "server php literal string", "Single quoted string", 121, "SCE_HPHP_WORD", "server php keyword", "Keyword", 122, "SCE_HPHP_NUMBER", "server php literal numeric", "Number", 123, "SCE_HPHP_VARIABLE", "server php identifier", "Variable", 124, "SCE_HPHP_COMMENT", "server php comment", "Comment", 125, "SCE_HPHP_COMMENTLINE", "server php comment line", "One line comment", 126, "SCE_HPHP_HSTRING_VARIABLE", "server php literal string identifier", "PHP variable in double quoted string", 127, "SCE_HPHP_OPERATOR", "server php operator", "PHP operator", }; LexicalClass lexicalClassesXML[] = { // Lexer.Secondary XML SCLEX_XML SCE_H_: 0, "SCE_H_DEFAULT", "default", "Default", 1, "SCE_H_TAG", "tag", "Tags", 2, "SCE_H_TAGUNKNOWN", "error tag", "Unknown Tags", 3, "SCE_H_ATTRIBUTE", "attribute", "Attributes", 4, "SCE_H_ERRORATTRIBUTEUNKNOWN", "error attribute", "Unknown Attributes", 5, "SCE_H_NUMBER", "literal numeric", "Numbers", 6, "SCE_H_DOUBLESTRING", "literal string", "Double quoted strings", 7, "SCE_H_SINGLESTRING", "literal string", "Single quoted strings", 8, "SCE_H_OTHER", "tag operator", "Other inside tag, including space and '='", 9, "SCE_H_COMMENT", "comment", "Comment", 10, "SCE_H_ENTITY", "literal", "Entities", 11, "SCE_H_TAGEND", "tag", "XML style tag ends '/>'", 12, "SCE_H_XMLSTART", "identifier", "XML identifier start ''", 14, "", "unused", "", 15, "", "unused", "", 16, "", "unused", "", 17, "SCE_H_CDATA", "literal", "CDATA", 18, "SCE_H_QUESTION", "preprocessor", "Question", 19, "SCE_H_VALUE", "literal string", "Unquoted Value", 20, "", "unused", "", 21, "SCE_H_SGML_DEFAULT", "default", "SGML tags ", 22, "SCE_H_SGML_COMMAND", "preprocessor", "SGML command", 23, "SCE_H_SGML_1ST_PARAM", "preprocessor", "SGML 1st param", 24, "SCE_H_SGML_DOUBLESTRING", "literal string", "SGML double string", 25, "SCE_H_SGML_SIMPLESTRING", "literal string", "SGML single string", 26, "SCE_H_SGML_ERROR", "error", "SGML error", 27, "SCE_H_SGML_SPECIAL", "literal", "SGML special (#XXXX type)", 28, "SCE_H_SGML_ENTITY", "literal", "SGML entity", 29, "SCE_H_SGML_COMMENT", "comment", "SGML comment", 30, "", "unused", "", 31, "SCE_H_SGML_BLOCK_DEFAULT", "default", "SGML block", }; const char *tagsThatDoNotFold[] = { "area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source", "track", "wbr" }; } class LexerHTML : public DefaultLexer { bool isXml; bool isPHPScript; WordList keywords; WordList keywords2; WordList keywords3; WordList keywords4; WordList keywords5; WordList keywords6; // SGML (DTD) keywords OptionsHTML options; OptionSetHTML osHTML; std::set nonFoldingTags; public: explicit LexerHTML(bool isXml_, bool isPHPScript_) : DefaultLexer(isXml_ ? lexicalClassesHTML : lexicalClassesXML, isXml_ ? ELEMENTS(lexicalClassesHTML) : ELEMENTS(lexicalClassesXML)), isXml(isXml_), isPHPScript(isPHPScript_), osHTML(isPHPScript_), nonFoldingTags(std::begin(tagsThatDoNotFold), std::end(tagsThatDoNotFold)) { } ~LexerHTML() override { } void SCI_METHOD Release() override { delete this; } const char *SCI_METHOD PropertyNames() override { return osHTML.PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return osHTML.PropertyType(name); } const char *SCI_METHOD DescribeProperty(const char *name) override { return osHTML.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override; const char *SCI_METHOD DescribeWordListSets() override { return osHTML.DescribeWordListSets(); } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; // No Fold as all folding performs in Lex. static ILexer *LexerFactoryHTML() { return new LexerHTML(false, false); } static ILexer *LexerFactoryXML() { return new LexerHTML(true, false); } static ILexer *LexerFactoryPHPScript() { return new LexerHTML(false, true); } }; Sci_Position SCI_METHOD LexerHTML::PropertySet(const char *key, const char *val) { if (osHTML.PropertySet(&options, key, val)) { return 0; } return -1; } Sci_Position SCI_METHOD LexerHTML::WordListSet(int n, const char *wl) { WordList *wordListN = 0; switch (n) { case 0: wordListN = &keywords; break; case 1: wordListN = &keywords2; break; case 2: wordListN = &keywords3; break; case 3: wordListN = &keywords4; break; case 4: wordListN = &keywords5; break; case 5: wordListN = &keywords6; break; } Sci_Position firstModification = -1; if (wordListN) { WordList wlNew; wlNew.Set(wl); if (*wordListN != wlNew) { wordListN->Set(wl); firstModification = 0; } } return firstModification; } void SCI_METHOD LexerHTML::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { Accessor styler(pAccess, nullptr); if (isPHPScript && (startPos == 0)) { initStyle = SCE_HPHP_DEFAULT; } styler.StartAt(startPos); std::string prevWord; std::string phpStringDelimiter; int StateToPrint = initStyle; int state = stateForPrintState(StateToPrint); std::string makoBlockType; int makoComment = 0; std::string djangoBlockType; // If inside a tag, it may be a script tag, so reread from the start of line starting tag to ensure any language tags are seen if (InTagState(state)) { while ((startPos > 0) && (InTagState(styler.StyleAt(startPos - 1)))) { const Sci_Position backLineStart = styler.LineStart(styler.GetLine(startPos-1)); length += startPos - backLineStart; startPos = backLineStart; } state = SCE_H_DEFAULT; } // String can be heredoc, must find a delimiter first. Reread from beginning of line containing the string, to get the correct lineState if (isPHPStringState(state)) { while (startPos > 0 && (isPHPStringState(state) || !isLineEnd(styler[startPos - 1]))) { startPos--; length++; state = styler.StyleAt(startPos); } if (startPos == 0) state = SCE_H_DEFAULT; } styler.StartAt(startPos); /* Nothing handles getting out of these, so we need not start in any of them. * As we're at line start and they can't span lines, we'll re-detect them anyway */ switch (state) { case SCE_H_QUESTION: case SCE_H_XMLSTART: case SCE_H_XMLEND: case SCE_H_ASP: state = SCE_H_DEFAULT; break; } Sci_Position lineCurrent = styler.GetLine(startPos); int lineState; if (lineCurrent > 0) { lineState = styler.GetLineState(lineCurrent-1); } else { // Default client and ASP scripting language is JavaScript lineState = eScriptJS << 8; lineState |= options.aspDefaultLanguage << 4; } script_mode inScriptType = static_cast((lineState >> 0) & 0x03); // 2 bits of scripting mode bool tagOpened = (lineState >> 2) & 0x01; // 1 bit to know if we are in an opened tag bool tagClosing = (lineState >> 3) & 0x01; // 1 bit to know if we are in a closing tag bool tagDontFold = false; //some HTML tags should not be folded script_type aspScript = static_cast((lineState >> 4) & 0x0F); // 4 bits of script name script_type clientScript = static_cast((lineState >> 8) & 0x0F); // 4 bits of script name int beforePreProc = (lineState >> 12) & 0xFF; // 8 bits of state script_type scriptLanguage = ScriptOfState(state); // If eNonHtmlScript coincides with SCE_H_COMMENT, assume eScriptComment if (inScriptType == eNonHtmlScript && state == SCE_H_COMMENT) { scriptLanguage = eScriptComment; } script_type beforeLanguage = ScriptOfState(beforePreProc); const bool foldHTML = options.foldHTML; const bool fold = foldHTML && options.fold; const bool foldHTMLPreprocessor = foldHTML && options.foldHTMLPreprocessor; const bool foldCompact = options.foldCompact; const bool foldComment = fold && options.foldComment; const bool foldHeredoc = fold && options.foldHeredoc; const bool foldXmlAtTagOpen = isXml && fold && options.foldXmlAtTagOpen; const bool caseSensitive = options.caseSensitive; const bool allowScripts = options.allowScripts; const bool isMako = options.isMako; const bool isDjango = options.isDjango; const CharacterSet setHTMLWord(CharacterSet::setAlphaNum, ".-_:!#", 0x80, true); const CharacterSet setTagContinue(CharacterSet::setAlphaNum, ".-_:!#[", 0x80, true); const CharacterSet setAttributeContinue(CharacterSet::setAlphaNum, ".-_:!#/", 0x80, true); // TODO: also handle + and - (except if they're part of ++ or --) and return keywords const CharacterSet setOKBeforeJSRE(CharacterSet::setNone, "([{=,:;!%^&*|?~"); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; int visibleChars = 0; int lineStartVisibleChars = 0; int chPrev = ' '; int ch = ' '; int chPrevNonWhite = ' '; // look back to set chPrevNonWhite properly for better regex colouring if (scriptLanguage == eScriptJS && startPos > 0) { Sci_Position back = startPos; int style = 0; while (--back) { style = styler.StyleAt(back); if (style < SCE_HJ_DEFAULT || style > SCE_HJ_COMMENTDOC) // includes SCE_HJ_COMMENT & SCE_HJ_COMMENTLINE break; } if (style == SCE_HJ_SYMBOLS) { chPrevNonWhite = static_cast(styler.SafeGetCharAt(back)); } } styler.StartSegment(startPos); const Sci_Position lengthDoc = startPos + length; for (Sci_Position i = startPos; i < lengthDoc; i++) { const int chPrev2 = chPrev; chPrev = ch; if (!IsASpace(ch) && state != SCE_HJ_COMMENT && state != SCE_HJ_COMMENTLINE && state != SCE_HJ_COMMENTDOC) chPrevNonWhite = ch; ch = static_cast(styler[i]); int chNext = static_cast(styler.SafeGetCharAt(i + 1)); const int chNext2 = static_cast(styler.SafeGetCharAt(i + 2)); // Handle DBCS codepages if (styler.IsLeadByte(static_cast(ch))) { chPrev = ' '; i += 1; continue; } if ((!IsASpace(ch) || !foldCompact) && fold) visibleChars++; if (!IsASpace(ch)) lineStartVisibleChars++; // decide what is the current state to print (depending of the script tag) StateToPrint = statePrintForState(state, inScriptType); // handle script folding if (fold) { switch (scriptLanguage) { case eScriptJS: case eScriptPHP: //not currently supported case eScriptVBS: if ((state != SCE_HPHP_COMMENT) && (state != SCE_HPHP_COMMENTLINE) && (state != SCE_HJ_COMMENT) && (state != SCE_HJ_COMMENTLINE) && (state != SCE_HJ_COMMENTDOC) && (!isStringState(state))) { //Platform::DebugPrintf("state=%d, StateToPrint=%d, initStyle=%d\n", state, StateToPrint, initStyle); //if ((state == SCE_HPHP_OPERATOR) || (state == SCE_HPHP_DEFAULT) || (state == SCE_HJ_SYMBOLS) || (state == SCE_HJ_START) || (state == SCE_HJ_DEFAULT)) { if (ch == '#') { Sci_Position j = i + 1; while ((j < lengthDoc) && IsASpaceOrTab(styler.SafeGetCharAt(j))) { j++; } if (styler.Match(j, "region") || styler.Match(j, "if")) { levelCurrent++; } else if (styler.Match(j, "end")) { levelCurrent--; } } else if ((ch == '{') || (ch == '}') || (foldComment && (ch == '/') && (chNext == '*'))) { levelCurrent += (((ch == '{') || (ch == '/')) ? 1 : -1); } } else if (((state == SCE_HPHP_COMMENT) || (state == SCE_HJ_COMMENT)) && foldComment && (ch == '*') && (chNext == '/')) { levelCurrent--; } break; case eScriptPython: if (state != SCE_HP_COMMENTLINE && !isMako) { if ((ch == ':') && ((chNext == '\n') || (chNext == '\r' && chNext2 == '\n'))) { levelCurrent++; } else if ((ch == '\n') && !((chNext == '\r') && (chNext2 == '\n')) && (chNext != '\n')) { // check if the number of tabs is lower than the level int Findlevel = (levelCurrent & ~SC_FOLDLEVELBASE) * 8; for (Sci_Position j = 0; Findlevel > 0; j++) { const char chTmp = styler.SafeGetCharAt(i + j + 1); if (chTmp == '\t') { Findlevel -= 8; } else if (chTmp == ' ') { Findlevel--; } else { break; } } if (Findlevel > 0) { levelCurrent -= Findlevel / 8; if (Findlevel % 8) levelCurrent--; } } } break; default: break; } } if ((ch == '\r' && chNext != '\n') || (ch == '\n')) { // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) or on LF alone (Unix) // Avoid triggering two times on Dos/Win // New line -> record any line state onto /next/ line if (fold) { int lev = levelPrev; if (visibleChars == 0) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; styler.SetLevel(lineCurrent, lev); visibleChars = 0; levelPrev = levelCurrent; } styler.SetLineState(lineCurrent, ((inScriptType & 0x03) << 0) | ((tagOpened ? 1 : 0) << 2) | ((tagClosing ? 1 : 0) << 3) | ((aspScript & 0x0F) << 4) | ((clientScript & 0x0F) << 8) | ((beforePreProc & 0xFF) << 12)); lineCurrent++; lineStartVisibleChars = 0; } // handle start of Mako comment line if (isMako && ch == '#' && chNext == '#') { makoComment = 1; state = SCE_HP_COMMENTLINE; } // handle end of Mako comment line else if (isMako && makoComment && (ch == '\r' || ch == '\n')) { makoComment = 0; styler.ColourTo(i - 1, StateToPrint); if (scriptLanguage == eScriptPython) { state = SCE_HP_DEFAULT; } else { state = SCE_H_DEFAULT; } } // Allow falling through to mako handling code if newline is going to end a block if (((ch == '\r' && chNext != '\n') || (ch == '\n')) && (!isMako || (makoBlockType != "%"))) { } // Ignore everything in mako comment until the line ends else if (isMako && makoComment) { } // generic end of script processing else if ((inScriptType == eNonHtmlScript) && (ch == '<') && (chNext == '/')) { // Check if it's the end of the script tag (or any other HTML tag) switch (state) { // in these cases, you can embed HTML tags (to confirm !!!!!!!!!!!!!!!!!!!!!!) case SCE_H_DOUBLESTRING: case SCE_H_SINGLESTRING: case SCE_HJ_COMMENT: case SCE_HJ_COMMENTDOC: //case SCE_HJ_COMMENTLINE: // removed as this is a common thing done to hide // the end of script marker from some JS interpreters. case SCE_HB_COMMENTLINE: case SCE_HBA_COMMENTLINE: case SCE_HJ_DOUBLESTRING: case SCE_HJ_SINGLESTRING: case SCE_HJ_REGEX: case SCE_HB_STRING: case SCE_HBA_STRING: case SCE_HP_STRING: case SCE_HP_TRIPLE: case SCE_HP_TRIPLEDOUBLE: case SCE_HPHP_HSTRING: case SCE_HPHP_SIMPLESTRING: case SCE_HPHP_COMMENT: case SCE_HPHP_COMMENTLINE: break; default : // check if the closing tag is a script tag if (const char *tag = state == SCE_HJ_COMMENTLINE || isXml ? "script" : state == SCE_H_COMMENT ? "comment" : 0) { Sci_Position j = i + 2; int chr; do { chr = static_cast(*tag++); } while (chr != 0 && chr == MakeLowerCase(styler.SafeGetCharAt(j++))); if (chr != 0) break; } // closing tag of the script (it's a closing HTML tag anyway) styler.ColourTo(i - 1, StateToPrint); state = SCE_H_TAGUNKNOWN; inScriptType = eHtml; scriptLanguage = eScriptNone; clientScript = eScriptJS; i += 2; visibleChars += 2; tagClosing = true; if (foldXmlAtTagOpen) { levelCurrent--; } continue; } } ///////////////////////////////////// // handle the start of PHP pre-processor = Non-HTML else if ((state != SCE_H_ASPAT) && !isStringState(state) && (state != SCE_HPHP_COMMENT) && (state != SCE_HPHP_COMMENTLINE) && (ch == '<') && (chNext == '?') && !IsScriptCommentState(state)) { beforeLanguage = scriptLanguage; scriptLanguage = segIsScriptingIndicator(styler, i + 2, i + 6, isXml ? eScriptXML : eScriptPHP); if ((scriptLanguage != eScriptPHP) && (isStringState(state) || (state==SCE_H_COMMENT))) continue; styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; i++; visibleChars++; i += PrintScriptingIndicatorOffset(styler, styler.GetStartSegment() + 2, i + 6); if (scriptLanguage == eScriptXML) styler.ColourTo(i, SCE_H_XMLSTART); else styler.ColourTo(i, SCE_H_QUESTION); state = StateForScript(scriptLanguage); if (inScriptType == eNonHtmlScript) inScriptType = eNonHtmlScriptPreProc; else inScriptType = eNonHtmlPreProc; // Fold whole script, but not if the XML first tag (all XML-like tags in this case) if (foldHTMLPreprocessor && (scriptLanguage != eScriptXML)) { levelCurrent++; } // should be better ch = static_cast(styler.SafeGetCharAt(i)); continue; } // handle the start Mako template Python code else if (isMako && scriptLanguage == eScriptNone && ((ch == '<' && chNext == '%') || (lineStartVisibleChars == 1 && ch == '%') || (lineStartVisibleChars == 1 && ch == '/' && chNext == '%') || (ch == '$' && chNext == '{') || (ch == '<' && chNext == '/' && chNext2 == '%'))) { if (ch == '%' || ch == '/') makoBlockType = "%"; else if (ch == '$') makoBlockType = "{"; else if (chNext == '/') makoBlockType = GetNextWord(styler, i+3); else makoBlockType = GetNextWord(styler, i+2); styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; if (inScriptType == eNonHtmlScript) inScriptType = eNonHtmlScriptPreProc; else inScriptType = eNonHtmlPreProc; if (chNext == '/') { i += 2; visibleChars += 2; } else if (ch != '%') { i++; visibleChars++; } state = SCE_HP_START; scriptLanguage = eScriptPython; styler.ColourTo(i, SCE_H_ASP); if (ch != '%' && ch != '$' && ch != '/') { i += makoBlockType.length(); visibleChars += static_cast(makoBlockType.length()); if (keywords4.InList(makoBlockType.c_str())) styler.ColourTo(i, SCE_HP_WORD); else styler.ColourTo(i, SCE_H_TAGUNKNOWN); } ch = static_cast(styler.SafeGetCharAt(i)); continue; } // handle the start/end of Django comment else if (isDjango && state != SCE_H_COMMENT && (ch == '{' && chNext == '#')) { styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; beforeLanguage = scriptLanguage; if (inScriptType == eNonHtmlScript) inScriptType = eNonHtmlScriptPreProc; else inScriptType = eNonHtmlPreProc; i += 1; visibleChars += 1; scriptLanguage = eScriptComment; state = SCE_H_COMMENT; styler.ColourTo(i, SCE_H_ASP); ch = static_cast(styler.SafeGetCharAt(i)); continue; } else if (isDjango && state == SCE_H_COMMENT && (ch == '#' && chNext == '}')) { styler.ColourTo(i - 1, StateToPrint); i += 1; visibleChars += 1; styler.ColourTo(i, SCE_H_ASP); state = beforePreProc; if (inScriptType == eNonHtmlScriptPreProc) inScriptType = eNonHtmlScript; else inScriptType = eHtml; scriptLanguage = beforeLanguage; continue; } // handle the start Django template code else if (isDjango && scriptLanguage != eScriptPython && scriptLanguage != eScriptComment && (ch == '{' && (chNext == '%' || chNext == '{'))) { if (chNext == '%') djangoBlockType = "%"; else djangoBlockType = "{"; styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; if (inScriptType == eNonHtmlScript) inScriptType = eNonHtmlScriptPreProc; else inScriptType = eNonHtmlPreProc; i += 1; visibleChars += 1; state = SCE_HP_START; beforeLanguage = scriptLanguage; scriptLanguage = eScriptPython; styler.ColourTo(i, SCE_H_ASP); ch = static_cast(styler.SafeGetCharAt(i)); continue; } // handle the start of ASP pre-processor = Non-HTML else if (!isMako && !isDjango && !isCommentASPState(state) && (ch == '<') && (chNext == '%') && !isPHPStringState(state)) { styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; if (inScriptType == eNonHtmlScript) inScriptType = eNonHtmlScriptPreProc; else inScriptType = eNonHtmlPreProc; if (chNext2 == '@') { i += 2; // place as if it was the second next char treated visibleChars += 2; state = SCE_H_ASPAT; } else if ((chNext2 == '-') && (styler.SafeGetCharAt(i + 3) == '-')) { styler.ColourTo(i + 3, SCE_H_ASP); state = SCE_H_XCCOMMENT; scriptLanguage = eScriptVBS; continue; } else { if (chNext2 == '=') { i += 2; // place as if it was the second next char treated visibleChars += 2; } else { i++; // place as if it was the next char treated visibleChars++; } state = StateForScript(aspScript); } scriptLanguage = eScriptVBS; styler.ColourTo(i, SCE_H_ASP); // fold whole script if (foldHTMLPreprocessor) levelCurrent++; // should be better ch = static_cast(styler.SafeGetCharAt(i)); continue; } ///////////////////////////////////// // handle the start of SGML language (DTD) else if (((scriptLanguage == eScriptNone) || (scriptLanguage == eScriptXML)) && (chPrev == '<') && (ch == '!') && (StateToPrint != SCE_H_CDATA) && (!IsCommentState(StateToPrint)) && (!IsScriptCommentState(StateToPrint))) { beforePreProc = state; styler.ColourTo(i - 2, StateToPrint); if ((chNext == '-') && (chNext2 == '-')) { state = SCE_H_COMMENT; // wait for a pending command styler.ColourTo(i + 2, SCE_H_COMMENT); i += 2; // follow styling after the -- } else if (isWordCdata(i + 1, i + 7, styler)) { state = SCE_H_CDATA; } else { styler.ColourTo(i, SCE_H_SGML_DEFAULT); // ') { i++; visibleChars++; } else if ((makoBlockType == "%") && ch == '/') { i++; visibleChars++; } if ((makoBlockType != "%") || ch == '/') { styler.ColourTo(i, SCE_H_ASP); } state = beforePreProc; if (inScriptType == eNonHtmlScriptPreProc) inScriptType = eNonHtmlScript; else inScriptType = eHtml; scriptLanguage = eScriptNone; continue; } // handle the end of Django template code else if (isDjango && ((inScriptType == eNonHtmlPreProc) || (inScriptType == eNonHtmlScriptPreProc)) && (scriptLanguage != eScriptNone) && stateAllowsTermination(state) && isDjangoBlockEnd(ch, chNext, djangoBlockType)) { if (state == SCE_H_ASPAT) { aspScript = segIsScriptingIndicator(styler, styler.GetStartSegment(), i - 1, aspScript); } if (state == SCE_HP_WORD) { classifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType, isMako); } else { styler.ColourTo(i - 1, StateToPrint); } i += 1; visibleChars += 1; styler.ColourTo(i, SCE_H_ASP); state = beforePreProc; if (inScriptType == eNonHtmlScriptPreProc) inScriptType = eNonHtmlScript; else inScriptType = eHtml; scriptLanguage = beforeLanguage; continue; } // handle the end of a pre-processor = Non-HTML else if ((!isMako && !isDjango && ((inScriptType == eNonHtmlPreProc) || (inScriptType == eNonHtmlScriptPreProc)) && (((scriptLanguage != eScriptNone) && stateAllowsTermination(state))) && (((ch == '%') || (ch == '?')) && (chNext == '>'))) || ((scriptLanguage == eScriptSGML) && (ch == '>') && (state != SCE_H_SGML_COMMENT))) { if (state == SCE_H_ASPAT) { aspScript = segIsScriptingIndicator(styler, styler.GetStartSegment(), i - 1, aspScript); } // Bounce out of any ASP mode switch (state) { case SCE_HJ_WORD: classifyWordHTJS(styler.GetStartSegment(), i - 1, keywords2, styler, inScriptType); break; case SCE_HB_WORD: classifyWordHTVB(styler.GetStartSegment(), i - 1, keywords3, styler, inScriptType); break; case SCE_HP_WORD: classifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType, isMako); break; case SCE_HPHP_WORD: classifyWordHTPHP(styler.GetStartSegment(), i - 1, keywords5, styler); break; case SCE_H_XCCOMMENT: styler.ColourTo(i - 1, state); break; default : styler.ColourTo(i - 1, StateToPrint); break; } if (scriptLanguage != eScriptSGML) { i++; visibleChars++; } if (ch == '%') styler.ColourTo(i, SCE_H_ASP); else if (scriptLanguage == eScriptXML) styler.ColourTo(i, SCE_H_XMLEND); else if (scriptLanguage == eScriptSGML) styler.ColourTo(i, SCE_H_SGML_DEFAULT); else styler.ColourTo(i, SCE_H_QUESTION); state = beforePreProc; if (inScriptType == eNonHtmlScriptPreProc) inScriptType = eNonHtmlScript; else inScriptType = eHtml; // Unfold all scripting languages, except for XML tag if (foldHTMLPreprocessor && (scriptLanguage != eScriptXML)) { levelCurrent--; } scriptLanguage = beforeLanguage; continue; } ///////////////////////////////////// switch (state) { case SCE_H_DEFAULT: if (ch == '<') { // in HTML, fold on tag open and unfold on tag close tagOpened = true; tagClosing = (chNext == '/'); if (foldXmlAtTagOpen && !(chNext == '/' || chNext == '?' || chNext == '!' || chNext == '-' || chNext == '%')) { levelCurrent++; } if (foldXmlAtTagOpen && chNext == '/') { levelCurrent--; } styler.ColourTo(i - 1, StateToPrint); if (chNext != '!') state = SCE_H_TAGUNKNOWN; } else if (ch == '&') { styler.ColourTo(i - 1, SCE_H_DEFAULT); state = SCE_H_ENTITY; } break; case SCE_H_SGML_DEFAULT: case SCE_H_SGML_BLOCK_DEFAULT: // if (scriptLanguage == eScriptSGMLblock) // StateToPrint = SCE_H_SGML_BLOCK_DEFAULT; if (ch == '\"') { styler.ColourTo(i - 1, StateToPrint); state = SCE_H_SGML_DOUBLESTRING; } else if (ch == '\'') { styler.ColourTo(i - 1, StateToPrint); state = SCE_H_SGML_SIMPLESTRING; } else if ((ch == '-') && (chPrev == '-')) { if (static_cast(styler.GetStartSegment()) <= (i - 2)) { styler.ColourTo(i - 2, StateToPrint); } state = SCE_H_SGML_COMMENT; } else if (IsASCII(ch) && isalpha(ch) && (chPrev == '%')) { styler.ColourTo(i - 2, StateToPrint); state = SCE_H_SGML_ENTITY; } else if (ch == '#') { styler.ColourTo(i - 1, StateToPrint); state = SCE_H_SGML_SPECIAL; } else if (ch == '[') { styler.ColourTo(i - 1, StateToPrint); scriptLanguage = eScriptSGMLblock; state = SCE_H_SGML_BLOCK_DEFAULT; } else if (ch == ']') { if (scriptLanguage == eScriptSGMLblock) { styler.ColourTo(i, StateToPrint); scriptLanguage = eScriptSGML; } else { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i, SCE_H_SGML_ERROR); } state = SCE_H_SGML_DEFAULT; } else if (scriptLanguage == eScriptSGMLblock) { if ((ch == '!') && (chPrev == '<')) { styler.ColourTo(i - 2, StateToPrint); styler.ColourTo(i, SCE_H_SGML_DEFAULT); state = SCE_H_SGML_COMMAND; } else if (ch == '>') { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i, SCE_H_SGML_DEFAULT); } } break; case SCE_H_SGML_COMMAND: if ((ch == '-') && (chPrev == '-')) { styler.ColourTo(i - 2, StateToPrint); state = SCE_H_SGML_COMMENT; } else if (!issgmlwordchar(ch)) { if (isWordHSGML(styler.GetStartSegment(), i - 1, keywords6, styler)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_H_SGML_1ST_PARAM; } else { state = SCE_H_SGML_ERROR; } } break; case SCE_H_SGML_1ST_PARAM: // wait for the beginning of the word if ((ch == '-') && (chPrev == '-')) { if (scriptLanguage == eScriptSGMLblock) { styler.ColourTo(i - 2, SCE_H_SGML_BLOCK_DEFAULT); } else { styler.ColourTo(i - 2, SCE_H_SGML_DEFAULT); } state = SCE_H_SGML_1ST_PARAM_COMMENT; } else if (issgmlwordchar(ch)) { if (scriptLanguage == eScriptSGMLblock) { styler.ColourTo(i - 1, SCE_H_SGML_BLOCK_DEFAULT); } else { styler.ColourTo(i - 1, SCE_H_SGML_DEFAULT); } // find the length of the word int size = 1; while (setHTMLWord.Contains(static_cast(styler.SafeGetCharAt(i + size)))) size++; styler.ColourTo(i + size - 1, StateToPrint); i += size - 1; visibleChars += size - 1; ch = static_cast(styler.SafeGetCharAt(i)); if (scriptLanguage == eScriptSGMLblock) { state = SCE_H_SGML_BLOCK_DEFAULT; } else { state = SCE_H_SGML_DEFAULT; } continue; } break; case SCE_H_SGML_ERROR: if ((ch == '-') && (chPrev == '-')) { styler.ColourTo(i - 2, StateToPrint); state = SCE_H_SGML_COMMENT; } break; case SCE_H_SGML_DOUBLESTRING: if (ch == '\"') { styler.ColourTo(i, StateToPrint); state = SCE_H_SGML_DEFAULT; } break; case SCE_H_SGML_SIMPLESTRING: if (ch == '\'') { styler.ColourTo(i, StateToPrint); state = SCE_H_SGML_DEFAULT; } break; case SCE_H_SGML_COMMENT: if ((ch == '-') && (chPrev == '-')) { styler.ColourTo(i, StateToPrint); state = SCE_H_SGML_DEFAULT; } break; case SCE_H_CDATA: if ((chPrev2 == ']') && (chPrev == ']') && (ch == '>')) { styler.ColourTo(i, StateToPrint); state = SCE_H_DEFAULT; levelCurrent--; } break; case SCE_H_COMMENT: if ((scriptLanguage != eScriptComment) && (chPrev2 == '-') && (chPrev == '-') && (ch == '>')) { styler.ColourTo(i, StateToPrint); state = SCE_H_DEFAULT; levelCurrent--; } break; case SCE_H_SGML_1ST_PARAM_COMMENT: if ((ch == '-') && (chPrev == '-')) { styler.ColourTo(i, SCE_H_SGML_COMMENT); state = SCE_H_SGML_1ST_PARAM; } break; case SCE_H_SGML_SPECIAL: if (!(IsASCII(ch) && isupper(ch))) { styler.ColourTo(i - 1, StateToPrint); if (isalnum(ch)) { state = SCE_H_SGML_ERROR; } else { state = SCE_H_SGML_DEFAULT; } } break; case SCE_H_SGML_ENTITY: if (ch == ';') { styler.ColourTo(i, StateToPrint); state = SCE_H_SGML_DEFAULT; } else if (!(IsASCII(ch) && isalnum(ch)) && ch != '-' && ch != '.') { styler.ColourTo(i, SCE_H_SGML_ERROR); state = SCE_H_SGML_DEFAULT; } break; case SCE_H_ENTITY: if (ch == ';') { styler.ColourTo(i, StateToPrint); state = SCE_H_DEFAULT; } if (ch != '#' && !(IsASCII(ch) && isalnum(ch)) // Should check that '#' follows '&', but it is unlikely anyway... && ch != '.' && ch != '-' && ch != '_' && ch != ':') { // valid in XML if (!IsASCII(ch)) // Possibly start of a multibyte character so don't allow this byte to be in entity style styler.ColourTo(i-1, SCE_H_TAGUNKNOWN); else styler.ColourTo(i, SCE_H_TAGUNKNOWN); state = SCE_H_DEFAULT; } break; case SCE_H_TAGUNKNOWN: if (!setTagContinue.Contains(ch) && !((ch == '/') && (chPrev == '<'))) { int eClass = classifyTagHTML(styler.GetStartSegment(), i - 1, keywords, styler, tagDontFold, caseSensitive, isXml, allowScripts, nonFoldingTags); if (eClass == SCE_H_SCRIPT || eClass == SCE_H_COMMENT) { if (!tagClosing) { inScriptType = eNonHtmlScript; scriptLanguage = eClass == SCE_H_SCRIPT ? clientScript : eScriptComment; } else { scriptLanguage = eScriptNone; } eClass = SCE_H_TAG; } if (ch == '>') { styler.ColourTo(i, eClass); if (inScriptType == eNonHtmlScript) { state = StateForScript(scriptLanguage); } else { state = SCE_H_DEFAULT; } tagOpened = false; if (!(foldXmlAtTagOpen || tagDontFold)) { if (tagClosing) { levelCurrent--; } else { levelCurrent++; } } tagClosing = false; } else if (ch == '/' && chNext == '>') { if (eClass == SCE_H_TAGUNKNOWN) { styler.ColourTo(i + 1, SCE_H_TAGUNKNOWN); } else { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i + 1, SCE_H_TAGEND); } i++; ch = chNext; state = SCE_H_DEFAULT; tagOpened = false; if (foldXmlAtTagOpen) { levelCurrent--; } } else { if (eClass != SCE_H_TAGUNKNOWN) { if (eClass == SCE_H_SGML_DEFAULT) { state = SCE_H_SGML_DEFAULT; } else { state = SCE_H_OTHER; } } } } break; case SCE_H_ATTRIBUTE: if (!setAttributeContinue.Contains(ch)) { if (inScriptType == eNonHtmlScript) { const int scriptLanguagePrev = scriptLanguage; clientScript = segIsScriptingIndicator(styler, styler.GetStartSegment(), i - 1, scriptLanguage); scriptLanguage = clientScript; if ((scriptLanguagePrev != scriptLanguage) && (scriptLanguage == eScriptNone)) inScriptType = eHtml; } classifyAttribHTML(styler.GetStartSegment(), i - 1, keywords, styler); if (ch == '>') { styler.ColourTo(i, SCE_H_TAG); if (inScriptType == eNonHtmlScript) { state = StateForScript(scriptLanguage); } else { state = SCE_H_DEFAULT; } tagOpened = false; if (!(foldXmlAtTagOpen || tagDontFold)) { if (tagClosing) { levelCurrent--; } else { levelCurrent++; } } tagClosing = false; } else if (ch == '=') { styler.ColourTo(i, SCE_H_OTHER); state = SCE_H_VALUE; } else { state = SCE_H_OTHER; } } break; case SCE_H_OTHER: if (ch == '>') { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i, SCE_H_TAG); if (inScriptType == eNonHtmlScript) { state = StateForScript(scriptLanguage); } else { state = SCE_H_DEFAULT; } tagOpened = false; if (!(foldXmlAtTagOpen || tagDontFold)) { if (tagClosing) { levelCurrent--; } else { levelCurrent++; } } tagClosing = false; } else if (ch == '\"') { styler.ColourTo(i - 1, StateToPrint); state = SCE_H_DOUBLESTRING; } else if (ch == '\'') { styler.ColourTo(i - 1, StateToPrint); state = SCE_H_SINGLESTRING; } else if (ch == '=') { styler.ColourTo(i, StateToPrint); state = SCE_H_VALUE; } else if (ch == '/' && chNext == '>') { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i + 1, SCE_H_TAGEND); i++; ch = chNext; state = SCE_H_DEFAULT; tagOpened = false; if (foldXmlAtTagOpen) { levelCurrent--; } } else if (ch == '?' && chNext == '>') { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i + 1, SCE_H_XMLEND); i++; ch = chNext; state = SCE_H_DEFAULT; } else if (setHTMLWord.Contains(ch)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_H_ATTRIBUTE; } break; case SCE_H_DOUBLESTRING: if (ch == '\"') { if (inScriptType == eNonHtmlScript) { scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment(), i, scriptLanguage); } styler.ColourTo(i, SCE_H_DOUBLESTRING); state = SCE_H_OTHER; } break; case SCE_H_SINGLESTRING: if (ch == '\'') { if (inScriptType == eNonHtmlScript) { scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment(), i, scriptLanguage); } styler.ColourTo(i, SCE_H_SINGLESTRING); state = SCE_H_OTHER; } break; case SCE_H_VALUE: if (!setHTMLWord.Contains(ch)) { if (ch == '\"' && chPrev == '=') { // Should really test for being first character state = SCE_H_DOUBLESTRING; } else if (ch == '\'' && chPrev == '=') { state = SCE_H_SINGLESTRING; } else { if (IsNumber(styler.GetStartSegment(), styler)) { styler.ColourTo(i - 1, SCE_H_NUMBER); } else { styler.ColourTo(i - 1, StateToPrint); } if (ch == '>') { styler.ColourTo(i, SCE_H_TAG); if (inScriptType == eNonHtmlScript) { state = StateForScript(scriptLanguage); } else { state = SCE_H_DEFAULT; } tagOpened = false; if (!tagDontFold) { if (tagClosing) { levelCurrent--; } else { levelCurrent++; } } tagClosing = false; } else { state = SCE_H_OTHER; } } } break; case SCE_HJ_DEFAULT: case SCE_HJ_START: case SCE_HJ_SYMBOLS: if (IsAWordStart(ch)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_WORD; } else if (ch == '/' && chNext == '*') { styler.ColourTo(i - 1, StateToPrint); if (chNext2 == '*') state = SCE_HJ_COMMENTDOC; else state = SCE_HJ_COMMENT; if (chNext2 == '/') { // Eat the * so it isn't used for the end of the comment i++; } } else if (ch == '/' && chNext == '/') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_COMMENTLINE; } else if (ch == '/' && setOKBeforeJSRE.Contains(chPrevNonWhite)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_REGEX; } else if (ch == '\"') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_DOUBLESTRING; } else if (ch == '\'') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_SINGLESTRING; } else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') && styler.SafeGetCharAt(i + 3) == '-') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_COMMENTLINE; } else if ((ch == '-') && (chNext == '-') && (chNext2 == '>')) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_COMMENTLINE; i += 2; } else if (IsOperator(ch)) { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType)); state = SCE_HJ_DEFAULT; } else if ((ch == ' ') || (ch == '\t')) { if (state == SCE_HJ_START) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_DEFAULT; } } break; case SCE_HJ_WORD: if (!IsAWordChar(ch)) { classifyWordHTJS(styler.GetStartSegment(), i - 1, keywords2, styler, inScriptType); //styler.ColourTo(i - 1, eHTJSKeyword); state = SCE_HJ_DEFAULT; if (ch == '/' && chNext == '*') { if (chNext2 == '*') state = SCE_HJ_COMMENTDOC; else state = SCE_HJ_COMMENT; } else if (ch == '/' && chNext == '/') { state = SCE_HJ_COMMENTLINE; } else if (ch == '\"') { state = SCE_HJ_DOUBLESTRING; } else if (ch == '\'') { state = SCE_HJ_SINGLESTRING; } else if ((ch == '-') && (chNext == '-') && (chNext2 == '>')) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_COMMENTLINE; i += 2; } else if (IsOperator(ch)) { styler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType)); state = SCE_HJ_DEFAULT; } } break; case SCE_HJ_COMMENT: case SCE_HJ_COMMENTDOC: if (ch == '/' && chPrev == '*') { styler.ColourTo(i, StateToPrint); state = SCE_HJ_DEFAULT; ch = ' '; } break; case SCE_HJ_COMMENTLINE: if (ch == '\r' || ch == '\n') { styler.ColourTo(i - 1, statePrintForState(SCE_HJ_COMMENTLINE, inScriptType)); state = SCE_HJ_DEFAULT; ch = ' '; } break; case SCE_HJ_DOUBLESTRING: if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; } } else if (ch == '\"') { styler.ColourTo(i, statePrintForState(SCE_HJ_DOUBLESTRING, inScriptType)); state = SCE_HJ_DEFAULT; } else if ((inScriptType == eNonHtmlScript) && (ch == '-') && (chNext == '-') && (chNext2 == '>')) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_COMMENTLINE; i += 2; } else if (isLineEnd(ch)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_STRINGEOL; } break; case SCE_HJ_SINGLESTRING: if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; } } else if (ch == '\'') { styler.ColourTo(i, statePrintForState(SCE_HJ_SINGLESTRING, inScriptType)); state = SCE_HJ_DEFAULT; } else if ((inScriptType == eNonHtmlScript) && (ch == '-') && (chNext == '-') && (chNext2 == '>')) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_COMMENTLINE; i += 2; } else if (isLineEnd(ch)) { styler.ColourTo(i - 1, StateToPrint); if (chPrev != '\\' && (chPrev2 != '\\' || chPrev != '\r' || ch != '\n')) { state = SCE_HJ_STRINGEOL; } } break; case SCE_HJ_STRINGEOL: if (!isLineEnd(ch)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HJ_DEFAULT; } else if (!isLineEnd(chNext)) { styler.ColourTo(i, StateToPrint); state = SCE_HJ_DEFAULT; } break; case SCE_HJ_REGEX: if (ch == '\r' || ch == '\n' || ch == '/') { if (ch == '/') { while (IsASCII(chNext) && islower(chNext)) { // gobble regex flags i++; ch = chNext; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } } styler.ColourTo(i, StateToPrint); state = SCE_HJ_DEFAULT; } else if (ch == '\\') { // Gobble up the quoted character if (chNext == '\\' || chNext == '/') { i++; ch = chNext; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } } break; case SCE_HB_DEFAULT: case SCE_HB_START: if (IsAWordStart(ch)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_WORD; } else if (ch == '\'') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_COMMENTLINE; } else if (ch == '\"') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_STRING; } else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') && styler.SafeGetCharAt(i + 3) == '-') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_COMMENTLINE; } else if (IsOperator(ch)) { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i, statePrintForState(SCE_HB_DEFAULT, inScriptType)); state = SCE_HB_DEFAULT; } else if ((ch == ' ') || (ch == '\t')) { if (state == SCE_HB_START) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_DEFAULT; } } break; case SCE_HB_WORD: if (!IsAWordChar(ch)) { state = classifyWordHTVB(styler.GetStartSegment(), i - 1, keywords3, styler, inScriptType); if (state == SCE_HB_DEFAULT) { if (ch == '\"') { state = SCE_HB_STRING; } else if (ch == '\'') { state = SCE_HB_COMMENTLINE; } else if (IsOperator(ch)) { styler.ColourTo(i, statePrintForState(SCE_HB_DEFAULT, inScriptType)); state = SCE_HB_DEFAULT; } } } break; case SCE_HB_STRING: if (ch == '\"') { styler.ColourTo(i, StateToPrint); state = SCE_HB_DEFAULT; } else if (ch == '\r' || ch == '\n') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_STRINGEOL; } break; case SCE_HB_COMMENTLINE: if (ch == '\r' || ch == '\n') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_DEFAULT; } break; case SCE_HB_STRINGEOL: if (!isLineEnd(ch)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HB_DEFAULT; } else if (!isLineEnd(chNext)) { styler.ColourTo(i, StateToPrint); state = SCE_HB_DEFAULT; } break; case SCE_HP_DEFAULT: case SCE_HP_START: if (IsAWordStart(ch)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HP_WORD; } else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') && styler.SafeGetCharAt(i + 3) == '-') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HP_COMMENTLINE; } else if (ch == '#') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HP_COMMENTLINE; } else if (ch == '\"') { styler.ColourTo(i - 1, StateToPrint); if (chNext == '\"' && chNext2 == '\"') { i += 2; state = SCE_HP_TRIPLEDOUBLE; ch = ' '; chPrev = ' '; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } else { // state = statePrintForState(SCE_HP_STRING,inScriptType); state = SCE_HP_STRING; } } else if (ch == '\'') { styler.ColourTo(i - 1, StateToPrint); if (chNext == '\'' && chNext2 == '\'') { i += 2; state = SCE_HP_TRIPLE; ch = ' '; chPrev = ' '; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } else { state = SCE_HP_CHARACTER; } } else if (IsOperator(ch)) { styler.ColourTo(i - 1, StateToPrint); styler.ColourTo(i, statePrintForState(SCE_HP_OPERATOR, inScriptType)); } else if ((ch == ' ') || (ch == '\t')) { if (state == SCE_HP_START) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HP_DEFAULT; } } break; case SCE_HP_WORD: if (!IsAWordChar(ch)) { classifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType, isMako); state = SCE_HP_DEFAULT; if (ch == '#') { state = SCE_HP_COMMENTLINE; } else if (ch == '\"') { if (chNext == '\"' && chNext2 == '\"') { i += 2; state = SCE_HP_TRIPLEDOUBLE; ch = ' '; chPrev = ' '; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } else { state = SCE_HP_STRING; } } else if (ch == '\'') { if (chNext == '\'' && chNext2 == '\'') { i += 2; state = SCE_HP_TRIPLE; ch = ' '; chPrev = ' '; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } else { state = SCE_HP_CHARACTER; } } else if (IsOperator(ch)) { styler.ColourTo(i, statePrintForState(SCE_HP_OPERATOR, inScriptType)); } } break; case SCE_HP_COMMENTLINE: if (ch == '\r' || ch == '\n') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HP_DEFAULT; } break; case SCE_HP_STRING: if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; ch = chNext; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } } else if (ch == '\"') { styler.ColourTo(i, StateToPrint); state = SCE_HP_DEFAULT; } break; case SCE_HP_CHARACTER: if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; ch = chNext; chNext = static_cast(styler.SafeGetCharAt(i + 1)); } } else if (ch == '\'') { styler.ColourTo(i, StateToPrint); state = SCE_HP_DEFAULT; } break; case SCE_HP_TRIPLE: if (ch == '\'' && chPrev == '\'' && chPrev2 == '\'') { styler.ColourTo(i, StateToPrint); state = SCE_HP_DEFAULT; } break; case SCE_HP_TRIPLEDOUBLE: if (ch == '\"' && chPrev == '\"' && chPrev2 == '\"') { styler.ColourTo(i, StateToPrint); state = SCE_HP_DEFAULT; } break; ///////////// start - PHP state handling case SCE_HPHP_WORD: if (!IsAWordChar(ch)) { classifyWordHTPHP(styler.GetStartSegment(), i - 1, keywords5, styler); if (ch == '/' && chNext == '*') { i++; state = SCE_HPHP_COMMENT; } else if (ch == '/' && chNext == '/') { i++; state = SCE_HPHP_COMMENTLINE; } else if (ch == '#') { state = SCE_HPHP_COMMENTLINE; } else if (ch == '\"') { state = SCE_HPHP_HSTRING; phpStringDelimiter = "\""; } else if (styler.Match(i, "<<<")) { bool isSimpleString = false; i = FindPhpStringDelimiter(phpStringDelimiter, i + 3, lengthDoc, styler, isSimpleString); if (!phpStringDelimiter.empty()) { state = (isSimpleString ? SCE_HPHP_SIMPLESTRING : SCE_HPHP_HSTRING); if (foldHeredoc) levelCurrent++; } } else if (ch == '\'') { state = SCE_HPHP_SIMPLESTRING; phpStringDelimiter = "\'"; } else if (ch == '$' && IsPhpWordStart(chNext)) { state = SCE_HPHP_VARIABLE; } else if (IsOperator(ch)) { state = SCE_HPHP_OPERATOR; } else { state = SCE_HPHP_DEFAULT; } } break; case SCE_HPHP_NUMBER: // recognize bases 8,10 or 16 integers OR floating-point numbers if (!IsADigit(ch) && strchr(".xXabcdefABCDEF", ch) == NULL && ((ch != '-' && ch != '+') || (chPrev != 'e' && chPrev != 'E'))) { styler.ColourTo(i - 1, SCE_HPHP_NUMBER); if (IsOperator(ch)) state = SCE_HPHP_OPERATOR; else state = SCE_HPHP_DEFAULT; } break; case SCE_HPHP_VARIABLE: if (!IsPhpWordChar(chNext)) { styler.ColourTo(i, SCE_HPHP_VARIABLE); state = SCE_HPHP_DEFAULT; } break; case SCE_HPHP_COMMENT: if (ch == '/' && chPrev == '*') { styler.ColourTo(i, StateToPrint); state = SCE_HPHP_DEFAULT; } break; case SCE_HPHP_COMMENTLINE: if (ch == '\r' || ch == '\n') { styler.ColourTo(i - 1, StateToPrint); state = SCE_HPHP_DEFAULT; } break; case SCE_HPHP_HSTRING: if (ch == '\\' && ((phpStringDelimiter == "\"") || chNext == '$' || chNext == '{')) { // skip the next char i++; } else if (((ch == '{' && chNext == '$') || (ch == '$' && chNext == '{')) && IsPhpWordStart(chNext2)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HPHP_COMPLEX_VARIABLE; } else if (ch == '$' && IsPhpWordStart(chNext)) { styler.ColourTo(i - 1, StateToPrint); state = SCE_HPHP_HSTRING_VARIABLE; } else if (styler.Match(i, phpStringDelimiter.c_str())) { if (phpStringDelimiter == "\"") { styler.ColourTo(i, StateToPrint); state = SCE_HPHP_DEFAULT; } else if (isLineEnd(chPrev)) { const int psdLength = static_cast(phpStringDelimiter.length()); const char chAfterPsd = styler.SafeGetCharAt(i + psdLength); const char chAfterPsd2 = styler.SafeGetCharAt(i + psdLength + 1); if (isLineEnd(chAfterPsd) || (chAfterPsd == ';' && isLineEnd(chAfterPsd2))) { i += (((i + psdLength) < lengthDoc) ? psdLength : lengthDoc) - 1; styler.ColourTo(i, StateToPrint); state = SCE_HPHP_DEFAULT; if (foldHeredoc) levelCurrent--; } } } break; case SCE_HPHP_SIMPLESTRING: if (phpStringDelimiter == "\'") { if (ch == '\\') { // skip the next char i++; } else if (ch == '\'') { styler.ColourTo(i, StateToPrint); state = SCE_HPHP_DEFAULT; } } else if (isLineEnd(chPrev) && styler.Match(i, phpStringDelimiter.c_str())) { const int psdLength = static_cast(phpStringDelimiter.length()); const char chAfterPsd = styler.SafeGetCharAt(i + psdLength); const char chAfterPsd2 = styler.SafeGetCharAt(i + psdLength + 1); if (isLineEnd(chAfterPsd) || (chAfterPsd == ';' && isLineEnd(chAfterPsd2))) { i += (((i + psdLength) < lengthDoc) ? psdLength : lengthDoc) - 1; styler.ColourTo(i, StateToPrint); state = SCE_HPHP_DEFAULT; if (foldHeredoc) levelCurrent--; } } break; case SCE_HPHP_HSTRING_VARIABLE: if (!IsPhpWordChar(chNext)) { styler.ColourTo(i, StateToPrint); state = SCE_HPHP_HSTRING; } break; case SCE_HPHP_COMPLEX_VARIABLE: if (ch == '}') { styler.ColourTo(i, StateToPrint); state = SCE_HPHP_HSTRING; } break; case SCE_HPHP_OPERATOR: case SCE_HPHP_DEFAULT: styler.ColourTo(i - 1, StateToPrint); if (IsADigit(ch) || (ch == '.' && IsADigit(chNext))) { state = SCE_HPHP_NUMBER; } else if (IsAWordStart(ch)) { state = SCE_HPHP_WORD; } else if (ch == '/' && chNext == '*') { i++; state = SCE_HPHP_COMMENT; } else if (ch == '/' && chNext == '/') { i++; state = SCE_HPHP_COMMENTLINE; } else if (ch == '#') { state = SCE_HPHP_COMMENTLINE; } else if (ch == '\"') { state = SCE_HPHP_HSTRING; phpStringDelimiter = "\""; } else if (styler.Match(i, "<<<")) { bool isSimpleString = false; i = FindPhpStringDelimiter(phpStringDelimiter, i + 3, lengthDoc, styler, isSimpleString); if (!phpStringDelimiter.empty()) { state = (isSimpleString ? SCE_HPHP_SIMPLESTRING : SCE_HPHP_HSTRING); if (foldHeredoc) levelCurrent++; } } else if (ch == '\'') { state = SCE_HPHP_SIMPLESTRING; phpStringDelimiter = "\'"; } else if (ch == '$' && IsPhpWordStart(chNext)) { state = SCE_HPHP_VARIABLE; } else if (IsOperator(ch)) { state = SCE_HPHP_OPERATOR; } else if ((state == SCE_HPHP_OPERATOR) && (IsASpace(ch))) { state = SCE_HPHP_DEFAULT; } break; ///////////// end - PHP state handling } // Some of the above terminated their lexeme but since the same character starts // the same class again, only reenter if non empty segment. const bool nonEmptySegment = i >= static_cast(styler.GetStartSegment()); if (state == SCE_HB_DEFAULT) { // One of the above succeeded if ((ch == '\"') && (nonEmptySegment)) { state = SCE_HB_STRING; } else if (ch == '\'') { state = SCE_HB_COMMENTLINE; } else if (IsAWordStart(ch)) { state = SCE_HB_WORD; } else if (IsOperator(ch)) { styler.ColourTo(i, SCE_HB_DEFAULT); } } else if (state == SCE_HBA_DEFAULT) { // One of the above succeeded if ((ch == '\"') && (nonEmptySegment)) { state = SCE_HBA_STRING; } else if (ch == '\'') { state = SCE_HBA_COMMENTLINE; } else if (IsAWordStart(ch)) { state = SCE_HBA_WORD; } else if (IsOperator(ch)) { styler.ColourTo(i, SCE_HBA_DEFAULT); } } else if (state == SCE_HJ_DEFAULT) { // One of the above succeeded if (ch == '/' && chNext == '*') { if (styler.SafeGetCharAt(i + 2) == '*') state = SCE_HJ_COMMENTDOC; else state = SCE_HJ_COMMENT; } else if (ch == '/' && chNext == '/') { state = SCE_HJ_COMMENTLINE; } else if ((ch == '\"') && (nonEmptySegment)) { state = SCE_HJ_DOUBLESTRING; } else if ((ch == '\'') && (nonEmptySegment)) { state = SCE_HJ_SINGLESTRING; } else if (IsAWordStart(ch)) { state = SCE_HJ_WORD; } else if (IsOperator(ch)) { styler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType)); } } } switch (state) { case SCE_HJ_WORD: classifyWordHTJS(styler.GetStartSegment(), lengthDoc - 1, keywords2, styler, inScriptType); break; case SCE_HB_WORD: classifyWordHTVB(styler.GetStartSegment(), lengthDoc - 1, keywords3, styler, inScriptType); break; case SCE_HP_WORD: classifyWordHTPy(styler.GetStartSegment(), lengthDoc - 1, keywords4, styler, prevWord, inScriptType, isMako); break; case SCE_HPHP_WORD: classifyWordHTPHP(styler.GetStartSegment(), lengthDoc - 1, keywords5, styler); break; default: StateToPrint = statePrintForState(state, inScriptType); if (static_cast(styler.GetStartSegment()) < lengthDoc) styler.ColourTo(lengthDoc - 1, StateToPrint); break; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later if (fold) { const int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } styler.Flush(); } LexerModule lmHTML(SCLEX_HTML, LexerHTML::LexerFactoryHTML, "hypertext", htmlWordListDesc); LexerModule lmXML(SCLEX_XML, LexerHTML::LexerFactoryXML, "xml", htmlWordListDesc); LexerModule lmPHPSCRIPT(SCLEX_PHPSCRIPT, LexerHTML::LexerFactoryPHPScript, "phpscript", phpscriptWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexHaskell.cpp ================================================ /****************************************************************** * LexHaskell.cxx * * A haskell lexer for the scintilla code control. * Some stuff "lended" from LexPython.cxx and LexCPP.cxx. * External lexer stuff inspired from the caml external lexer. * Folder copied from Python's. * * Written by Tobias Engvall - tumm at dtek dot chalmers dot se * * Several bug fixes by Krasimir Angelov - kr.angelov at gmail.com * * Improved by kudah * * TODO: * * A proper lexical folder to fold group declarations, comments, pragmas, * #ifdefs, explicit layout, lists, tuples, quasi-quotes, splces, etc, etc, * etc. * *****************************************************************/ #include #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "PropSetSimple.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "CharacterCategory.h" #include "LexerModule.h" #include "OptionSet.h" #include "DefaultLexer.h" using namespace Scintilla; // See https://github.com/ghc/ghc/blob/master/compiler/parser/Lexer.x#L1682 // Note, letter modifiers are prohibited. static int u_iswupper (int ch) { CharacterCategory c = CategoriseCharacter(ch); return c == ccLu || c == ccLt; } static int u_iswalpha (int ch) { CharacterCategory c = CategoriseCharacter(ch); return c == ccLl || c == ccLu || c == ccLt || c == ccLo; } static int u_iswalnum (int ch) { CharacterCategory c = CategoriseCharacter(ch); return c == ccLl || c == ccLu || c == ccLt || c == ccLo || c == ccNd || c == ccNo; } static int u_IsHaskellSymbol(int ch) { CharacterCategory c = CategoriseCharacter(ch); return c == ccPc || c == ccPd || c == ccPo || c == ccSm || c == ccSc || c == ccSk || c == ccSo; } static inline bool IsHaskellLetter(const int ch) { if (IsASCII(ch)) { return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'); } else { return u_iswalpha(ch) != 0; } } static inline bool IsHaskellAlphaNumeric(const int ch) { if (IsASCII(ch)) { return IsAlphaNumeric(ch); } else { return u_iswalnum(ch) != 0; } } static inline bool IsHaskellUpperCase(const int ch) { if (IsASCII(ch)) { return ch >= 'A' && ch <= 'Z'; } else { return u_iswupper(ch) != 0; } } static inline bool IsAnHaskellOperatorChar(const int ch) { if (IsASCII(ch)) { return ( ch == '!' || ch == '#' || ch == '$' || ch == '%' || ch == '&' || ch == '*' || ch == '+' || ch == '-' || ch == '.' || ch == '/' || ch == ':' || ch == '<' || ch == '=' || ch == '>' || ch == '?' || ch == '@' || ch == '^' || ch == '|' || ch == '~' || ch == '\\'); } else { return u_IsHaskellSymbol(ch) != 0; } } static inline bool IsAHaskellWordStart(const int ch) { return IsHaskellLetter(ch) || ch == '_'; } static inline bool IsAHaskellWordChar(const int ch) { return ( IsHaskellAlphaNumeric(ch) || ch == '_' || ch == '\''); } static inline bool IsCommentBlockStyle(int style) { return (style >= SCE_HA_COMMENTBLOCK && style <= SCE_HA_COMMENTBLOCK3); } static inline bool IsCommentStyle(int style) { return (style >= SCE_HA_COMMENTLINE && style <= SCE_HA_COMMENTBLOCK3) || ( style == SCE_HA_LITERATE_COMMENT || style == SCE_HA_LITERATE_CODEDELIM); } // styles which do not belong to Haskell, but to external tools static inline bool IsExternalStyle(int style) { return ( style == SCE_HA_PREPROCESSOR || style == SCE_HA_LITERATE_COMMENT || style == SCE_HA_LITERATE_CODEDELIM); } static inline int CommentBlockStyleFromNestLevel(const unsigned int nestLevel) { return SCE_HA_COMMENTBLOCK + (nestLevel % 3); } // Mangled version of lexlib/Accessor.cxx IndentAmount. // Modified to treat comment blocks as whitespace // plus special case for commentline/preprocessor. static int HaskellIndentAmount(Accessor &styler, const Sci_Position line) { // Determines the indentation level of the current line // Comment blocks are treated as whitespace Sci_Position pos = styler.LineStart(line); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; char ch = styler[pos]; int style = styler.StyleAt(pos); int indent = 0; bool inPrevPrefix = line > 0; Sci_Position posPrev = inPrevPrefix ? styler.LineStart(line-1) : 0; while (( ch == ' ' || ch == '\t' || IsCommentBlockStyle(style) || style == SCE_HA_LITERATE_CODEDELIM) && (pos < eol_pos)) { if (inPrevPrefix) { char chPrev = styler[posPrev++]; if (chPrev != ' ' && chPrev != '\t') { inPrevPrefix = false; } } if (ch == '\t') { indent = (indent / 8 + 1) * 8; } else { // Space or comment block indent++; } pos++; ch = styler[pos]; style = styler.StyleAt(pos); } indent += SC_FOLDLEVELBASE; // if completely empty line or the start of a comment or preprocessor... if ( styler.LineStart(line) == styler.Length() || ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r' || IsCommentStyle(style) || style == SCE_HA_PREPROCESSOR) return indent | SC_FOLDLEVELWHITEFLAG; else return indent; } struct OptionsHaskell { bool magicHash; bool allowQuotes; bool implicitParams; bool highlightSafe; bool cpp; bool stylingWithinPreprocessor; bool fold; bool foldComment; bool foldCompact; bool foldImports; OptionsHaskell() { magicHash = true; // Widespread use, enabled by default. allowQuotes = true; // Widespread use, enabled by default. implicitParams = false; // Fell out of favor, seldom used, disabled. highlightSafe = true; // Moderately used, doesn't hurt to enable. cpp = true; // Widespread use, enabled by default; stylingWithinPreprocessor = false; fold = false; foldComment = false; foldCompact = false; foldImports = false; } }; static const char * const haskellWordListDesc[] = { "Keywords", "FFI", "Reserved operators", 0 }; struct OptionSetHaskell : public OptionSet { OptionSetHaskell() { DefineProperty("lexer.haskell.allow.hash", &OptionsHaskell::magicHash, "Set to 0 to disallow the '#' character at the end of identifiers and " "literals with the haskell lexer " "(GHC -XMagicHash extension)"); DefineProperty("lexer.haskell.allow.quotes", &OptionsHaskell::allowQuotes, "Set to 0 to disable highlighting of Template Haskell name quotations " "and promoted constructors " "(GHC -XTemplateHaskell and -XDataKinds extensions)"); DefineProperty("lexer.haskell.allow.questionmark", &OptionsHaskell::implicitParams, "Set to 1 to allow the '?' character at the start of identifiers " "with the haskell lexer " "(GHC & Hugs -XImplicitParams extension)"); DefineProperty("lexer.haskell.import.safe", &OptionsHaskell::highlightSafe, "Set to 0 to disallow \"safe\" keyword in imports " "(GHC -XSafe, -XTrustworthy, -XUnsafe extensions)"); DefineProperty("lexer.haskell.cpp", &OptionsHaskell::cpp, "Set to 0 to disable C-preprocessor highlighting " "(-XCPP extension)"); DefineProperty("styling.within.preprocessor", &OptionsHaskell::stylingWithinPreprocessor, "For Haskell code, determines whether all preprocessor code is styled in the " "preprocessor style (0, the default) or only from the initial # to the end " "of the command word(1)." ); DefineProperty("fold", &OptionsHaskell::fold); DefineProperty("fold.comment", &OptionsHaskell::foldComment); DefineProperty("fold.compact", &OptionsHaskell::foldCompact); DefineProperty("fold.haskell.imports", &OptionsHaskell::foldImports, "Set to 1 to enable folding of import declarations"); DefineWordListSets(haskellWordListDesc); } }; class LexerHaskell : public DefaultLexer { bool literate; Sci_Position firstImportLine; int firstImportIndent; WordList keywords; WordList ffi; WordList reserved_operators; OptionsHaskell options; OptionSetHaskell osHaskell; enum HashCount { oneHash ,twoHashes ,unlimitedHashes }; enum KeywordMode { HA_MODE_DEFAULT = 0 ,HA_MODE_IMPORT1 = 1 // after "import", before "qualified" or "safe" or package name or module name. ,HA_MODE_IMPORT2 = 2 // after module name, before "as" or "hiding". ,HA_MODE_IMPORT3 = 3 // after "as", before "hiding" ,HA_MODE_MODULE = 4 // after "module", before module name. ,HA_MODE_FFI = 5 // after "foreign", before FFI keywords ,HA_MODE_TYPE = 6 // after "type" or "data", before "family" }; enum LiterateMode { LITERATE_BIRD = 0 // if '>' is the first character on the line, // color '>' as a codedelim and the rest of // the line as code. // else if "\begin{code}" is the only word on the // line except whitespace, switch to LITERATE_BLOCK // otherwise color the line as a literate comment. ,LITERATE_BLOCK = 1 // if the string "\end{code}" is encountered at column // 0 ignoring all later characters, color the line // as a codedelim and switch to LITERATE_BIRD // otherwise color the line as code. }; struct HaskellLineInfo { unsigned int nestLevel; // 22 bits ought to be enough for anybody unsigned int nonexternalStyle; // 5 bits, widen if number of styles goes // beyond 31. bool pragma; LiterateMode lmode; KeywordMode mode; HaskellLineInfo(int state) : nestLevel (state >> 10) , nonexternalStyle ((state >> 5) & 0x1F) , pragma ((state >> 4) & 0x1) , lmode (static_cast((state >> 3) & 0x1)) , mode (static_cast(state & 0x7)) {} int ToLineState() { return (nestLevel << 10) | (nonexternalStyle << 5) | (pragma << 4) | (lmode << 3) | mode; } }; inline void skipMagicHash(StyleContext &sc, const HashCount hashes) const { if (options.magicHash && sc.ch == '#') { sc.Forward(); if (hashes == twoHashes && sc.ch == '#') { sc.Forward(); } else if (hashes == unlimitedHashes) { while (sc.ch == '#') { sc.Forward(); } } } } bool LineContainsImport(const Sci_Position line, Accessor &styler) const { if (options.foldImports) { Sci_Position currentPos = styler.LineStart(line); int style = styler.StyleAt(currentPos); Sci_Position eol_pos = styler.LineStart(line + 1) - 1; while (currentPos < eol_pos) { int ch = styler[currentPos]; style = styler.StyleAt(currentPos); if (ch == ' ' || ch == '\t' || IsCommentBlockStyle(style) || style == SCE_HA_LITERATE_CODEDELIM) { currentPos++; } else { break; } } return (style == SCE_HA_KEYWORD && styler.Match(currentPos, "import")); } else { return false; } } inline int IndentAmountWithOffset(Accessor &styler, const Sci_Position line) const { const int indent = HaskellIndentAmount(styler, line); const int indentLevel = indent & SC_FOLDLEVELNUMBERMASK; return indentLevel <= ((firstImportIndent - 1) + SC_FOLDLEVELBASE) ? indent : (indentLevel + firstImportIndent) | (indent & ~SC_FOLDLEVELNUMBERMASK); } inline int IndentLevelRemoveIndentOffset(const int indentLevel) const { return indentLevel <= ((firstImportIndent - 1) + SC_FOLDLEVELBASE) ? indentLevel : indentLevel - firstImportIndent; } public: LexerHaskell(bool literate_) : literate(literate_) , firstImportLine(-1) , firstImportIndent(0) {} virtual ~LexerHaskell() {} void SCI_METHOD Release() override { delete this; } int SCI_METHOD Version() const override { return lvOriginal; } const char * SCI_METHOD PropertyNames() override { return osHaskell.PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return osHaskell.PropertyType(name); } const char * SCI_METHOD DescribeProperty(const char *name) override { return osHaskell.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override; const char * SCI_METHOD DescribeWordListSets() override { return osHaskell.DescribeWordListSets(); } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override; void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void * SCI_METHOD PrivateCall(int, void *) override { return 0; } static ILexer *LexerFactoryHaskell() { return new LexerHaskell(false); } static ILexer *LexerFactoryLiterateHaskell() { return new LexerHaskell(true); } }; Sci_Position SCI_METHOD LexerHaskell::PropertySet(const char *key, const char *val) { if (osHaskell.PropertySet(&options, key, val)) { return 0; } return -1; } Sci_Position SCI_METHOD LexerHaskell::WordListSet(int n, const char *wl) { WordList *wordListN = 0; switch (n) { case 0: wordListN = &keywords; break; case 1: wordListN = &ffi; break; case 2: wordListN = &reserved_operators; break; } Sci_Position firstModification = -1; if (wordListN) { WordList wlNew; wlNew.Set(wl); if (*wordListN != wlNew) { wordListN->Set(wl); firstModification = 0; } } return firstModification; } void SCI_METHOD LexerHaskell::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle ,IDocument *pAccess) { LexAccessor styler(pAccess); Sci_Position lineCurrent = styler.GetLine(startPos); HaskellLineInfo hs = HaskellLineInfo(lineCurrent ? styler.GetLineState(lineCurrent-1) : 0); // Do not leak onto next line if (initStyle == SCE_HA_STRINGEOL) initStyle = SCE_HA_DEFAULT; else if (initStyle == SCE_HA_LITERATE_CODEDELIM) initStyle = hs.nonexternalStyle; StyleContext sc(startPos, length, initStyle, styler); int base = 10; bool dot = false; bool inDashes = false; bool alreadyInTheMiddleOfOperator = false; assert(!(IsCommentBlockStyle(initStyle) && hs.nestLevel == 0)); while (sc.More()) { // Check for state end if (!IsExternalStyle(sc.state)) { hs.nonexternalStyle = sc.state; } // For lexer to work, states should unconditionally forward at least one // character. // If they don't, they should still check if they are at line end and // forward if so. // If a state forwards more than one character, it should check every time // that it is not a line end and cease forwarding otherwise. if (sc.atLineEnd) { // Remember the line state for future incremental lexing styler.SetLineState(lineCurrent, hs.ToLineState()); lineCurrent++; } // Handle line continuation generically. if (sc.ch == '\\' && (sc.chNext == '\n' || sc.chNext == '\r') && ( sc.state == SCE_HA_STRING || sc.state == SCE_HA_PREPROCESSOR)) { // Remember the line state for future incremental lexing styler.SetLineState(lineCurrent, hs.ToLineState()); lineCurrent++; sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } sc.Forward(); continue; } if (sc.atLineStart) { if (sc.state == SCE_HA_STRING || sc.state == SCE_HA_CHARACTER) { // Prevent SCE_HA_STRINGEOL from leaking back to previous line sc.SetState(sc.state); } if (literate && hs.lmode == LITERATE_BIRD) { if (!IsExternalStyle(sc.state)) { sc.SetState(SCE_HA_LITERATE_COMMENT); } } } // External // Literate if ( literate && hs.lmode == LITERATE_BIRD && sc.atLineStart && sc.ch == '>') { sc.SetState(SCE_HA_LITERATE_CODEDELIM); sc.ForwardSetState(hs.nonexternalStyle); } else if (literate && hs.lmode == LITERATE_BIRD && sc.atLineStart && ( sc.ch == ' ' || sc.ch == '\t' || sc.Match("\\begin{code}"))) { sc.SetState(sc.state); while ((sc.ch == ' ' || sc.ch == '\t') && sc.More()) sc.Forward(); if (sc.Match("\\begin{code}")) { sc.Forward(static_cast(strlen("\\begin{code}"))); bool correct = true; while (!sc.atLineEnd && sc.More()) { if (sc.ch != ' ' && sc.ch != '\t') { correct = false; } sc.Forward(); } if (correct) { sc.ChangeState(SCE_HA_LITERATE_CODEDELIM); // color the line end hs.lmode = LITERATE_BLOCK; } } } else if (literate && hs.lmode == LITERATE_BLOCK && sc.atLineStart && sc.Match("\\end{code}")) { sc.SetState(SCE_HA_LITERATE_CODEDELIM); sc.Forward(static_cast(strlen("\\end{code}"))); while (!sc.atLineEnd && sc.More()) { sc.Forward(); } sc.SetState(SCE_HA_LITERATE_COMMENT); hs.lmode = LITERATE_BIRD; } // Preprocessor else if (sc.atLineStart && sc.ch == '#' && options.cpp && (!options.stylingWithinPreprocessor || sc.state == SCE_HA_DEFAULT)) { sc.SetState(SCE_HA_PREPROCESSOR); sc.Forward(); } // Literate else if (sc.state == SCE_HA_LITERATE_COMMENT) { sc.Forward(); } else if (sc.state == SCE_HA_LITERATE_CODEDELIM) { sc.ForwardSetState(hs.nonexternalStyle); } // Preprocessor else if (sc.state == SCE_HA_PREPROCESSOR) { if (sc.atLineEnd) { sc.SetState(options.stylingWithinPreprocessor ? SCE_HA_DEFAULT : hs.nonexternalStyle); sc.Forward(); // prevent double counting a line } else if (options.stylingWithinPreprocessor && !IsHaskellLetter(sc.ch)) { sc.SetState(SCE_HA_DEFAULT); } else { sc.Forward(); } } // Haskell // Operator else if (sc.state == SCE_HA_OPERATOR) { int style = SCE_HA_OPERATOR; if ( sc.ch == ':' && !alreadyInTheMiddleOfOperator // except "::" && !( sc.chNext == ':' && !IsAnHaskellOperatorChar(sc.GetRelative(2)))) { style = SCE_HA_CAPITAL; } alreadyInTheMiddleOfOperator = false; while (IsAnHaskellOperatorChar(sc.ch)) sc.Forward(); char s[100]; sc.GetCurrent(s, sizeof(s)); if (reserved_operators.InList(s)) style = SCE_HA_RESERVED_OPERATOR; sc.ChangeState(style); sc.SetState(SCE_HA_DEFAULT); } // String else if (sc.state == SCE_HA_STRING) { if (sc.atLineEnd) { sc.ChangeState(SCE_HA_STRINGEOL); sc.ForwardSetState(SCE_HA_DEFAULT); } else if (sc.ch == '\"') { sc.Forward(); skipMagicHash(sc, oneHash); sc.SetState(SCE_HA_DEFAULT); } else if (sc.ch == '\\') { sc.Forward(2); } else { sc.Forward(); } } // Char else if (sc.state == SCE_HA_CHARACTER) { if (sc.atLineEnd) { sc.ChangeState(SCE_HA_STRINGEOL); sc.ForwardSetState(SCE_HA_DEFAULT); } else if (sc.ch == '\'') { sc.Forward(); skipMagicHash(sc, oneHash); sc.SetState(SCE_HA_DEFAULT); } else if (sc.ch == '\\') { sc.Forward(2); } else { sc.Forward(); } } // Number else if (sc.state == SCE_HA_NUMBER) { if (sc.atLineEnd) { sc.SetState(SCE_HA_DEFAULT); sc.Forward(); // prevent double counting a line } else if (IsADigit(sc.ch, base)) { sc.Forward(); } else if (sc.ch=='.' && dot && IsADigit(sc.chNext, base)) { sc.Forward(2); dot = false; } else if ((base == 10) && (sc.ch == 'e' || sc.ch == 'E') && (IsADigit(sc.chNext) || sc.chNext == '+' || sc.chNext == '-')) { sc.Forward(); if (sc.ch == '+' || sc.ch == '-') sc.Forward(); } else { skipMagicHash(sc, twoHashes); sc.SetState(SCE_HA_DEFAULT); } } // Keyword or Identifier else if (sc.state == SCE_HA_IDENTIFIER) { int style = IsHaskellUpperCase(sc.ch) ? SCE_HA_CAPITAL : SCE_HA_IDENTIFIER; assert(IsAHaskellWordStart(sc.ch)); sc.Forward(); while (sc.More()) { if (IsAHaskellWordChar(sc.ch)) { sc.Forward(); } else if (sc.ch == '.' && style == SCE_HA_CAPITAL) { if (IsHaskellUpperCase(sc.chNext)) { sc.Forward(); style = SCE_HA_CAPITAL; } else if (IsAHaskellWordStart(sc.chNext)) { sc.Forward(); style = SCE_HA_IDENTIFIER; } else if (IsAnHaskellOperatorChar(sc.chNext)) { sc.Forward(); style = sc.ch == ':' ? SCE_HA_CAPITAL : SCE_HA_OPERATOR; while (IsAnHaskellOperatorChar(sc.ch)) sc.Forward(); break; } else { break; } } else { break; } } skipMagicHash(sc, unlimitedHashes); char s[100]; sc.GetCurrent(s, sizeof(s)); KeywordMode new_mode = HA_MODE_DEFAULT; if (keywords.InList(s)) { style = SCE_HA_KEYWORD; } else if (style == SCE_HA_CAPITAL) { if (hs.mode == HA_MODE_IMPORT1 || hs.mode == HA_MODE_IMPORT3) { style = SCE_HA_MODULE; new_mode = HA_MODE_IMPORT2; } else if (hs.mode == HA_MODE_MODULE) { style = SCE_HA_MODULE; } } else if (hs.mode == HA_MODE_IMPORT1 && strcmp(s,"qualified") == 0) { style = SCE_HA_KEYWORD; new_mode = HA_MODE_IMPORT1; } else if (options.highlightSafe && hs.mode == HA_MODE_IMPORT1 && strcmp(s,"safe") == 0) { style = SCE_HA_KEYWORD; new_mode = HA_MODE_IMPORT1; } else if (hs.mode == HA_MODE_IMPORT2) { if (strcmp(s,"as") == 0) { style = SCE_HA_KEYWORD; new_mode = HA_MODE_IMPORT3; } else if (strcmp(s,"hiding") == 0) { style = SCE_HA_KEYWORD; } } else if (hs.mode == HA_MODE_TYPE) { if (strcmp(s,"family") == 0) style = SCE_HA_KEYWORD; } if (hs.mode == HA_MODE_FFI) { if (ffi.InList(s)) { style = SCE_HA_KEYWORD; new_mode = HA_MODE_FFI; } } sc.ChangeState(style); sc.SetState(SCE_HA_DEFAULT); if (strcmp(s,"import") == 0 && hs.mode != HA_MODE_FFI) new_mode = HA_MODE_IMPORT1; else if (strcmp(s,"module") == 0) new_mode = HA_MODE_MODULE; else if (strcmp(s,"foreign") == 0) new_mode = HA_MODE_FFI; else if (strcmp(s,"type") == 0 || strcmp(s,"data") == 0) new_mode = HA_MODE_TYPE; hs.mode = new_mode; } // Comments // Oneliner else if (sc.state == SCE_HA_COMMENTLINE) { if (sc.atLineEnd) { sc.SetState(hs.pragma ? SCE_HA_PRAGMA : SCE_HA_DEFAULT); sc.Forward(); // prevent double counting a line } else if (inDashes && sc.ch != '-' && !hs.pragma) { inDashes = false; if (IsAnHaskellOperatorChar(sc.ch)) { alreadyInTheMiddleOfOperator = true; sc.ChangeState(SCE_HA_OPERATOR); } } else { sc.Forward(); } } // Nested else if (IsCommentBlockStyle(sc.state)) { if (sc.Match('{','-')) { sc.SetState(CommentBlockStyleFromNestLevel(hs.nestLevel)); sc.Forward(2); hs.nestLevel++; } else if (sc.Match('-','}')) { sc.Forward(2); assert(hs.nestLevel > 0); if (hs.nestLevel > 0) hs.nestLevel--; sc.SetState( hs.nestLevel == 0 ? (hs.pragma ? SCE_HA_PRAGMA : SCE_HA_DEFAULT) : CommentBlockStyleFromNestLevel(hs.nestLevel - 1)); } else { sc.Forward(); } } // Pragma else if (sc.state == SCE_HA_PRAGMA) { if (sc.Match("#-}")) { hs.pragma = false; sc.Forward(3); sc.SetState(SCE_HA_DEFAULT); } else if (sc.Match('-','-')) { sc.SetState(SCE_HA_COMMENTLINE); sc.Forward(2); inDashes = false; } else if (sc.Match('{','-')) { sc.SetState(CommentBlockStyleFromNestLevel(hs.nestLevel)); sc.Forward(2); hs.nestLevel = 1; } else { sc.Forward(); } } // New state? else if (sc.state == SCE_HA_DEFAULT) { // Digit if (IsADigit(sc.ch)) { hs.mode = HA_MODE_DEFAULT; sc.SetState(SCE_HA_NUMBER); if (sc.ch == '0' && (sc.chNext == 'X' || sc.chNext == 'x')) { // Match anything starting with "0x" or "0X", too sc.Forward(2); base = 16; dot = false; } else if (sc.ch == '0' && (sc.chNext == 'O' || sc.chNext == 'o')) { // Match anything starting with "0o" or "0O", too sc.Forward(2); base = 8; dot = false; } else { sc.Forward(); base = 10; dot = true; } } // Pragma else if (sc.Match("{-#")) { hs.pragma = true; sc.SetState(SCE_HA_PRAGMA); sc.Forward(3); } // Comment line else if (sc.Match('-','-')) { sc.SetState(SCE_HA_COMMENTLINE); sc.Forward(2); inDashes = true; } // Comment block else if (sc.Match('{','-')) { sc.SetState(CommentBlockStyleFromNestLevel(hs.nestLevel)); sc.Forward(2); hs.nestLevel = 1; } // String else if (sc.ch == '\"') { sc.SetState(SCE_HA_STRING); sc.Forward(); } // Character or quoted name or promoted term else if (sc.ch == '\'') { hs.mode = HA_MODE_DEFAULT; sc.SetState(SCE_HA_CHARACTER); sc.Forward(); if (options.allowQuotes) { // Quoted type ''T if (sc.ch=='\'' && IsAHaskellWordStart(sc.chNext)) { sc.Forward(); sc.ChangeState(SCE_HA_IDENTIFIER); } else if (sc.chNext != '\'') { // Quoted name 'n or promoted constructor 'N if (IsAHaskellWordStart(sc.ch)) { sc.ChangeState(SCE_HA_IDENTIFIER); // Promoted constructor operator ':~> } else if (sc.ch == ':') { alreadyInTheMiddleOfOperator = false; sc.ChangeState(SCE_HA_OPERATOR); // Promoted list or tuple '[T] } else if (sc.ch == '[' || sc.ch== '(') { sc.ChangeState(SCE_HA_OPERATOR); sc.ForwardSetState(SCE_HA_DEFAULT); } } } } // Operator starting with '?' or an implicit parameter else if (sc.ch == '?') { hs.mode = HA_MODE_DEFAULT; alreadyInTheMiddleOfOperator = false; sc.SetState(SCE_HA_OPERATOR); if ( options.implicitParams && IsAHaskellWordStart(sc.chNext) && !IsHaskellUpperCase(sc.chNext)) { sc.Forward(); sc.ChangeState(SCE_HA_IDENTIFIER); } } // Operator else if (IsAnHaskellOperatorChar(sc.ch)) { hs.mode = HA_MODE_DEFAULT; sc.SetState(SCE_HA_OPERATOR); } // Braces and punctuation else if (sc.ch == ',' || sc.ch == ';' || sc.ch == '(' || sc.ch == ')' || sc.ch == '[' || sc.ch == ']' || sc.ch == '{' || sc.ch == '}') { sc.SetState(SCE_HA_OPERATOR); sc.ForwardSetState(SCE_HA_DEFAULT); } // Keyword or Identifier else if (IsAHaskellWordStart(sc.ch)) { sc.SetState(SCE_HA_IDENTIFIER); // Something we don't care about } else { sc.Forward(); } } // This branch should never be reached. else { assert(false); sc.Forward(); } } sc.Complete(); } void SCI_METHOD LexerHaskell::Fold(Sci_PositionU startPos, Sci_Position length, int // initStyle ,IDocument *pAccess) { if (!options.fold) return; Accessor styler(pAccess, NULL); Sci_Position lineCurrent = styler.GetLine(startPos); if (lineCurrent <= firstImportLine) { firstImportLine = -1; // readjust first import position firstImportIndent = 0; } const Sci_Position maxPos = startPos + length; const Sci_Position maxLines = maxPos == styler.Length() ? styler.GetLine(maxPos) : styler.GetLine(maxPos - 1); // Requested last line const Sci_Position docLines = styler.GetLine(styler.Length()); // Available last line // Backtrack to previous non-blank line so we can determine indent level // for any white space lines // and so we can fix any preceding fold level (which is why we go back // at least one line in all cases) bool importHere = LineContainsImport(lineCurrent, styler); int indentCurrent = IndentAmountWithOffset(styler, lineCurrent); while (lineCurrent > 0) { lineCurrent--; importHere = LineContainsImport(lineCurrent, styler); indentCurrent = IndentAmountWithOffset(styler, lineCurrent); if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) break; } int indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK; if (importHere) { indentCurrentLevel = IndentLevelRemoveIndentOffset(indentCurrentLevel); if (firstImportLine == -1) { firstImportLine = lineCurrent; firstImportIndent = (1 + indentCurrentLevel) - SC_FOLDLEVELBASE; } if (firstImportLine != lineCurrent) { indentCurrentLevel++; } } indentCurrent = indentCurrentLevel | (indentCurrent & ~SC_FOLDLEVELNUMBERMASK); // Process all characters to end of requested range //that hangs over the end of the range. Cap processing in all cases // to end of document. while (lineCurrent <= docLines && lineCurrent <= maxLines) { // Gather info Sci_Position lineNext = lineCurrent + 1; importHere = false; int indentNext = indentCurrent; if (lineNext <= docLines) { // Information about next line is only available if not at end of document importHere = LineContainsImport(lineNext, styler); indentNext = IndentAmountWithOffset(styler, lineNext); } if (indentNext & SC_FOLDLEVELWHITEFLAG) indentNext = SC_FOLDLEVELWHITEFLAG | indentCurrentLevel; // Skip past any blank lines for next indent level info; we skip also // comments (all comments, not just those starting in column 0) // which effectively folds them into surrounding code rather // than screwing up folding. while (lineNext < docLines && (indentNext & SC_FOLDLEVELWHITEFLAG)) { lineNext++; importHere = LineContainsImport(lineNext, styler); indentNext = IndentAmountWithOffset(styler, lineNext); } int indentNextLevel = indentNext & SC_FOLDLEVELNUMBERMASK; if (importHere) { indentNextLevel = IndentLevelRemoveIndentOffset(indentNextLevel); if (firstImportLine == -1) { firstImportLine = lineNext; firstImportIndent = (1 + indentNextLevel) - SC_FOLDLEVELBASE; } if (firstImportLine != lineNext) { indentNextLevel++; } } indentNext = indentNextLevel | (indentNext & ~SC_FOLDLEVELNUMBERMASK); const int levelBeforeComments = Maximum(indentCurrentLevel,indentNextLevel); // Now set all the indent levels on the lines we skipped // Do this from end to start. Once we encounter one line // which is indented more than the line after the end of // the comment-block, use the level of the block before Sci_Position skipLine = lineNext; int skipLevel = indentNextLevel; while (--skipLine > lineCurrent) { int skipLineIndent = IndentAmountWithOffset(styler, skipLine); if (options.foldCompact) { if ((skipLineIndent & SC_FOLDLEVELNUMBERMASK) > indentNextLevel) { skipLevel = levelBeforeComments; } int whiteFlag = skipLineIndent & SC_FOLDLEVELWHITEFLAG; styler.SetLevel(skipLine, skipLevel | whiteFlag); } else { if ( (skipLineIndent & SC_FOLDLEVELNUMBERMASK) > indentNextLevel && !(skipLineIndent & SC_FOLDLEVELWHITEFLAG)) { skipLevel = levelBeforeComments; } styler.SetLevel(skipLine, skipLevel); } } int lev = indentCurrent; if (!(indentCurrent & SC_FOLDLEVELWHITEFLAG)) { if ((indentCurrent & SC_FOLDLEVELNUMBERMASK) < (indentNext & SC_FOLDLEVELNUMBERMASK)) lev |= SC_FOLDLEVELHEADERFLAG; } // Set fold level for this line and move to next line styler.SetLevel(lineCurrent, options.foldCompact ? lev : lev & ~SC_FOLDLEVELWHITEFLAG); indentCurrent = indentNext; indentCurrentLevel = indentNextLevel; lineCurrent = lineNext; } // NOTE: Cannot set level of last line here because indentCurrent doesn't have // header flag set; the loop above is crafted to take care of this case! //styler.SetLevel(lineCurrent, indentCurrent); } LexerModule lmHaskell(SCLEX_HASKELL, LexerHaskell::LexerFactoryHaskell, "haskell", haskellWordListDesc); LexerModule lmLiterateHaskell(SCLEX_LITERATEHASKELL, LexerHaskell::LexerFactoryLiterateHaskell, "literatehaskell", haskellWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexHex.cpp ================================================ // Scintilla source code edit control /** @file LexHex.cxx ** Lexers for Motorola S-Record, Intel HEX and Tektronix extended HEX. ** ** Written by Markus Heidelberg **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. /* * Motorola S-Record * =============================== * * Each record (line) is built as follows: * * field digits states * * +----------+ * | start | 1 ('S') SCE_HEX_RECSTART * +----------+ * | type | 1 SCE_HEX_RECTYPE, (SCE_HEX_RECTYPE_UNKNOWN) * +----------+ * | count | 2 SCE_HEX_BYTECOUNT, SCE_HEX_BYTECOUNT_WRONG * +----------+ * | address | 4/6/8 SCE_HEX_NOADDRESS, SCE_HEX_DATAADDRESS, SCE_HEX_RECCOUNT, SCE_HEX_STARTADDRESS, (SCE_HEX_ADDRESSFIELD_UNKNOWN) * +----------+ * | data | 0..504/502/500 SCE_HEX_DATA_ODD, SCE_HEX_DATA_EVEN, SCE_HEX_DATA_EMPTY, (SCE_HEX_DATA_UNKNOWN) * +----------+ * | checksum | 2 SCE_HEX_CHECKSUM, SCE_HEX_CHECKSUM_WRONG * +----------+ * * * Intel HEX * =============================== * * Each record (line) is built as follows: * * field digits states * * +----------+ * | start | 1 (':') SCE_HEX_RECSTART * +----------+ * | count | 2 SCE_HEX_BYTECOUNT, SCE_HEX_BYTECOUNT_WRONG * +----------+ * | address | 4 SCE_HEX_NOADDRESS, SCE_HEX_DATAADDRESS, (SCE_HEX_ADDRESSFIELD_UNKNOWN) * +----------+ * | type | 2 SCE_HEX_RECTYPE, (SCE_HEX_RECTYPE_UNKNOWN) * +----------+ * | data | 0..510 SCE_HEX_DATA_ODD, SCE_HEX_DATA_EVEN, SCE_HEX_DATA_EMPTY, SCE_HEX_EXTENDEDADDRESS, SCE_HEX_STARTADDRESS, (SCE_HEX_DATA_UNKNOWN) * +----------+ * | checksum | 2 SCE_HEX_CHECKSUM, SCE_HEX_CHECKSUM_WRONG * +----------+ * * * Folding: * * Data records (type 0x00), which follow an extended address record (type * 0x02 or 0x04), can be folded. The extended address record is the fold * point at fold level 0, the corresponding data records are set to level 1. * * Any record, which is not a data record, sets the fold level back to 0. * Any line, which is not a record (blank lines and lines starting with a * character other than ':'), leaves the fold level unchanged. * * * Tektronix extended HEX * =============================== * * Each record (line) is built as follows: * * field digits states * * +----------+ * | start | 1 ('%') SCE_HEX_RECSTART * +----------+ * | length | 2 SCE_HEX_BYTECOUNT, SCE_HEX_BYTECOUNT_WRONG * +----------+ * | type | 1 SCE_HEX_RECTYPE, (SCE_HEX_RECTYPE_UNKNOWN) * +----------+ * | checksum | 2 SCE_HEX_CHECKSUM, SCE_HEX_CHECKSUM_WRONG * +----------+ * | address | 9 SCE_HEX_DATAADDRESS, SCE_HEX_STARTADDRESS, (SCE_HEX_ADDRESSFIELD_UNKNOWN) * +----------+ * | data | 0..241 SCE_HEX_DATA_ODD, SCE_HEX_DATA_EVEN * +----------+ * * * General notes for all lexers * =============================== * * - Depending on where the helper functions are invoked, some of them have to * read beyond the current position. In case of malformed data (record too * short), it has to be ensured that this either does not have bad influence * or will be captured deliberately. * * - States in parentheses in the upper format descriptions indicate that they * should not appear in a valid hex file. * * - State SCE_HEX_GARBAGE means garbage data after the intended end of the * record, the line is too long then. This state is used in all lexers. */ #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; // prototypes for general helper functions static inline bool IsNewline(const int ch); static int GetHexaNibble(char hd); static int GetHexaChar(char hd1, char hd2); static int GetHexaChar(Sci_PositionU pos, Accessor &styler); static bool ForwardWithinLine(StyleContext &sc, Sci_Position nb = 1); static bool PosInSameRecord(Sci_PositionU pos1, Sci_PositionU pos2, Accessor &styler); static Sci_Position CountByteCount(Sci_PositionU startPos, Sci_Position uncountedDigits, Accessor &styler); static int CalcChecksum(Sci_PositionU startPos, Sci_Position cnt, bool twosCompl, Accessor &styler); // prototypes for file format specific helper functions static Sci_PositionU GetSrecRecStartPosition(Sci_PositionU pos, Accessor &styler); static int GetSrecByteCount(Sci_PositionU recStartPos, Accessor &styler); static Sci_Position CountSrecByteCount(Sci_PositionU recStartPos, Accessor &styler); static int GetSrecAddressFieldSize(Sci_PositionU recStartPos, Accessor &styler); static int GetSrecAddressFieldType(Sci_PositionU recStartPos, Accessor &styler); static int GetSrecDataFieldType(Sci_PositionU recStartPos, Accessor &styler); static Sci_Position GetSrecRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler); static int GetSrecChecksum(Sci_PositionU recStartPos, Accessor &styler); static int CalcSrecChecksum(Sci_PositionU recStartPos, Accessor &styler); static Sci_PositionU GetIHexRecStartPosition(Sci_PositionU pos, Accessor &styler); static int GetIHexByteCount(Sci_PositionU recStartPos, Accessor &styler); static Sci_Position CountIHexByteCount(Sci_PositionU recStartPos, Accessor &styler); static int GetIHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler); static int GetIHexDataFieldType(Sci_PositionU recStartPos, Accessor &styler); static int GetIHexRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler); static int GetIHexChecksum(Sci_PositionU recStartPos, Accessor &styler); static int CalcIHexChecksum(Sci_PositionU recStartPos, Accessor &styler); static int GetTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler); static Sci_Position CountTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler); static int GetTEHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler); static int GetTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler); static int CalcTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler); static inline bool IsNewline(const int ch) { return (ch == '\n' || ch == '\r'); } static int GetHexaNibble(char hd) { int hexValue = 0; if (hd >= '0' && hd <= '9') { hexValue += hd - '0'; } else if (hd >= 'A' && hd <= 'F') { hexValue += hd - 'A' + 10; } else if (hd >= 'a' && hd <= 'f') { hexValue += hd - 'a' + 10; } else { return -1; } return hexValue; } static int GetHexaChar(char hd1, char hd2) { int hexValue = 0; if (hd1 >= '0' && hd1 <= '9') { hexValue += 16 * (hd1 - '0'); } else if (hd1 >= 'A' && hd1 <= 'F') { hexValue += 16 * (hd1 - 'A' + 10); } else if (hd1 >= 'a' && hd1 <= 'f') { hexValue += 16 * (hd1 - 'a' + 10); } else { return -1; } if (hd2 >= '0' && hd2 <= '9') { hexValue += hd2 - '0'; } else if (hd2 >= 'A' && hd2 <= 'F') { hexValue += hd2 - 'A' + 10; } else if (hd2 >= 'a' && hd2 <= 'f') { hexValue += hd2 - 'a' + 10; } else { return -1; } return hexValue; } static int GetHexaChar(Sci_PositionU pos, Accessor &styler) { char highNibble, lowNibble; highNibble = styler.SafeGetCharAt(pos); lowNibble = styler.SafeGetCharAt(pos + 1); return GetHexaChar(highNibble, lowNibble); } // Forward characters, but abort (and return false) if hitting the line // end. Return true if forwarding within the line was possible. // Avoids influence on highlighting of the subsequent line if the current line // is malformed (too short). static bool ForwardWithinLine(StyleContext &sc, Sci_Position nb) { for (Sci_Position i = 0; i < nb; i++) { if (sc.atLineEnd) { // line is too short sc.SetState(SCE_HEX_DEFAULT); sc.Forward(); return false; } else { sc.Forward(); } } return true; } // Checks whether the given positions are in the same record. static bool PosInSameRecord(Sci_PositionU pos1, Sci_PositionU pos2, Accessor &styler) { return styler.GetLine(pos1) == styler.GetLine(pos2); } // Count the number of digit pairs from till end of record, ignoring // digits. // If the record is too short, a negative count may be returned. static Sci_Position CountByteCount(Sci_PositionU startPos, Sci_Position uncountedDigits, Accessor &styler) { Sci_Position cnt; Sci_PositionU pos; pos = startPos; while (!IsNewline(styler.SafeGetCharAt(pos, '\n'))) { pos++; } // number of digits in this line minus number of digits of uncounted fields cnt = static_cast(pos - startPos) - uncountedDigits; // Prepare round up if odd (digit pair incomplete), this way the byte // count is considered to be valid if the checksum is incomplete. if (cnt >= 0) { cnt++; } // digit pairs cnt /= 2; return cnt; } // Calculate the checksum of the record. // is the position of the first character of the starting digit // pair, is the number of digit pairs. static int CalcChecksum(Sci_PositionU startPos, Sci_Position cnt, bool twosCompl, Accessor &styler) { int cs = 0; for (Sci_PositionU pos = startPos; pos < startPos + cnt; pos += 2) { int val = GetHexaChar(pos, styler); if (val < 0) { return val; } // overflow does not matter cs += val; } if (twosCompl) { // low byte of two's complement return -cs & 0xFF; } else { // low byte of one's complement return ~cs & 0xFF; } } // Get the position of the record "start" field (first character in line) in // the record around position . static Sci_PositionU GetSrecRecStartPosition(Sci_PositionU pos, Accessor &styler) { while (styler.SafeGetCharAt(pos) != 'S') { pos--; } return pos; } // Get the value of the "byte count" field, it counts the number of bytes in // the subsequent fields ("address", "data" and "checksum" fields). static int GetSrecByteCount(Sci_PositionU recStartPos, Accessor &styler) { int val; val = GetHexaChar(recStartPos + 2, styler); if (val < 0) { val = 0; } return val; } // Count the number of digit pairs for the "address", "data" and "checksum" // fields in this record. Has to be equal to the "byte count" field value. // If the record is too short, a negative count may be returned. static Sci_Position CountSrecByteCount(Sci_PositionU recStartPos, Accessor &styler) { return CountByteCount(recStartPos, 4, styler); } // Get the size of the "address" field. static int GetSrecAddressFieldSize(Sci_PositionU recStartPos, Accessor &styler) { switch (styler.SafeGetCharAt(recStartPos + 1)) { case '0': case '1': case '5': case '9': return 2; // 16 bit case '2': case '6': case '8': return 3; // 24 bit case '3': case '7': return 4; // 32 bit default: return 0; } } // Get the type of the "address" field content. static int GetSrecAddressFieldType(Sci_PositionU recStartPos, Accessor &styler) { switch (styler.SafeGetCharAt(recStartPos + 1)) { case '0': return SCE_HEX_NOADDRESS; case '1': case '2': case '3': return SCE_HEX_DATAADDRESS; case '5': case '6': return SCE_HEX_RECCOUNT; case '7': case '8': case '9': return SCE_HEX_STARTADDRESS; default: // handle possible format extension in the future return SCE_HEX_ADDRESSFIELD_UNKNOWN; } } // Get the type of the "data" field content. static int GetSrecDataFieldType(Sci_PositionU recStartPos, Accessor &styler) { switch (styler.SafeGetCharAt(recStartPos + 1)) { case '0': case '1': case '2': case '3': return SCE_HEX_DATA_ODD; case '5': case '6': case '7': case '8': case '9': return SCE_HEX_DATA_EMPTY; default: // handle possible format extension in the future return SCE_HEX_DATA_UNKNOWN; } } // Get the required size of the "data" field. Useless for block header and // ordinary data records (type S0, S1, S2, S3), return the value calculated // from the "byte count" and "address field" size in this case. static Sci_Position GetSrecRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler) { switch (styler.SafeGetCharAt(recStartPos + 1)) { case '5': case '6': case '7': case '8': case '9': return 0; default: return GetSrecByteCount(recStartPos, styler) - GetSrecAddressFieldSize(recStartPos, styler) - 1; // -1 for checksum field } } // Get the value of the "checksum" field. static int GetSrecChecksum(Sci_PositionU recStartPos, Accessor &styler) { int byteCount; byteCount = GetSrecByteCount(recStartPos, styler); return GetHexaChar(recStartPos + 2 + byteCount * 2, styler); } // Calculate the checksum of the record. static int CalcSrecChecksum(Sci_PositionU recStartPos, Accessor &styler) { Sci_Position byteCount; byteCount = GetSrecByteCount(recStartPos, styler); // sum over "byte count", "address" and "data" fields (6..510 digits) return CalcChecksum(recStartPos + 2, byteCount * 2, false, styler); } // Get the position of the record "start" field (first character in line) in // the record around position . static Sci_PositionU GetIHexRecStartPosition(Sci_PositionU pos, Accessor &styler) { while (styler.SafeGetCharAt(pos) != ':') { pos--; } return pos; } // Get the value of the "byte count" field, it counts the number of bytes in // the "data" field. static int GetIHexByteCount(Sci_PositionU recStartPos, Accessor &styler) { int val; val = GetHexaChar(recStartPos + 1, styler); if (val < 0) { val = 0; } return val; } // Count the number of digit pairs for the "data" field in this record. Has to // be equal to the "byte count" field value. // If the record is too short, a negative count may be returned. static Sci_Position CountIHexByteCount(Sci_PositionU recStartPos, Accessor &styler) { return CountByteCount(recStartPos, 11, styler); } // Get the type of the "address" field content. static int GetIHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler) { if (!PosInSameRecord(recStartPos, recStartPos + 7, styler)) { // malformed (record too short) // type cannot be determined return SCE_HEX_ADDRESSFIELD_UNKNOWN; } switch (GetHexaChar(recStartPos + 7, styler)) { case 0x00: return SCE_HEX_DATAADDRESS; case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: return SCE_HEX_NOADDRESS; default: // handle possible format extension in the future return SCE_HEX_ADDRESSFIELD_UNKNOWN; } } // Get the type of the "data" field content. static int GetIHexDataFieldType(Sci_PositionU recStartPos, Accessor &styler) { switch (GetHexaChar(recStartPos + 7, styler)) { case 0x00: return SCE_HEX_DATA_ODD; case 0x01: return SCE_HEX_DATA_EMPTY; case 0x02: case 0x04: return SCE_HEX_EXTENDEDADDRESS; case 0x03: case 0x05: return SCE_HEX_STARTADDRESS; default: // handle possible format extension in the future return SCE_HEX_DATA_UNKNOWN; } } // Get the required size of the "data" field. Useless for an ordinary data // record (type 00), return the "byte count" in this case. static int GetIHexRequiredDataFieldSize(Sci_PositionU recStartPos, Accessor &styler) { switch (GetHexaChar(recStartPos + 7, styler)) { case 0x01: return 0; case 0x02: case 0x04: return 2; case 0x03: case 0x05: return 4; default: return GetIHexByteCount(recStartPos, styler); } } // Get the value of the "checksum" field. static int GetIHexChecksum(Sci_PositionU recStartPos, Accessor &styler) { int byteCount; byteCount = GetIHexByteCount(recStartPos, styler); return GetHexaChar(recStartPos + 9 + byteCount * 2, styler); } // Calculate the checksum of the record. static int CalcIHexChecksum(Sci_PositionU recStartPos, Accessor &styler) { int byteCount; byteCount = GetIHexByteCount(recStartPos, styler); // sum over "byte count", "address", "type" and "data" fields (8..518 digits) return CalcChecksum(recStartPos + 1, 8 + byteCount * 2, true, styler); } // Get the value of the "record length" field, it counts the number of digits in // the record excluding the percent. static int GetTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler) { int val = GetHexaChar(recStartPos + 1, styler); if (val < 0) val = 0; return val; } // Count the number of digits in this record. Has to // be equal to the "record length" field value. static Sci_Position CountTEHexDigitCount(Sci_PositionU recStartPos, Accessor &styler) { Sci_PositionU pos; pos = recStartPos+1; while (!IsNewline(styler.SafeGetCharAt(pos, '\n'))) { pos++; } return static_cast(pos - (recStartPos+1)); } // Get the type of the "address" field content. static int GetTEHexAddressFieldType(Sci_PositionU recStartPos, Accessor &styler) { switch (styler.SafeGetCharAt(recStartPos + 3)) { case '6': return SCE_HEX_DATAADDRESS; case '8': return SCE_HEX_STARTADDRESS; default: // handle possible format extension in the future return SCE_HEX_ADDRESSFIELD_UNKNOWN; } } // Get the value of the "checksum" field. static int GetTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler) { return GetHexaChar(recStartPos+4, styler); } // Calculate the checksum of the record (excluding the checksum field). static int CalcTEHexChecksum(Sci_PositionU recStartPos, Accessor &styler) { Sci_PositionU pos = recStartPos +1; Sci_PositionU length = GetTEHexDigitCount(recStartPos, styler); int cs = GetHexaNibble(styler.SafeGetCharAt(pos++));//length cs += GetHexaNibble(styler.SafeGetCharAt(pos++));//length cs += GetHexaNibble(styler.SafeGetCharAt(pos++));//type pos += 2;// jump over CS field for (; pos <= recStartPos + length; ++pos) { int val = GetHexaNibble(styler.SafeGetCharAt(pos)); if (val < 0) { return val; } // overflow does not matter cs += val; } // low byte return cs & 0xFF; } static void ColouriseSrecDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { StyleContext sc(startPos, length, initStyle, styler); while (sc.More()) { Sci_PositionU recStartPos; Sci_Position reqByteCount; Sci_Position dataFieldSize; int byteCount, addrFieldSize, addrFieldType, dataFieldType; int cs1, cs2; switch (sc.state) { case SCE_HEX_DEFAULT: if (sc.atLineStart && sc.Match('S')) { sc.SetState(SCE_HEX_RECSTART); } ForwardWithinLine(sc); break; case SCE_HEX_RECSTART: recStartPos = sc.currentPos - 1; addrFieldType = GetSrecAddressFieldType(recStartPos, styler); if (addrFieldType == SCE_HEX_ADDRESSFIELD_UNKNOWN) { sc.SetState(SCE_HEX_RECTYPE_UNKNOWN); } else { sc.SetState(SCE_HEX_RECTYPE); } ForwardWithinLine(sc); break; case SCE_HEX_RECTYPE: case SCE_HEX_RECTYPE_UNKNOWN: recStartPos = sc.currentPos - 2; byteCount = GetSrecByteCount(recStartPos, styler); reqByteCount = GetSrecAddressFieldSize(recStartPos, styler) + GetSrecRequiredDataFieldSize(recStartPos, styler) + 1; // +1 for checksum field if (byteCount == CountSrecByteCount(recStartPos, styler) && byteCount == reqByteCount) { sc.SetState(SCE_HEX_BYTECOUNT); } else { sc.SetState(SCE_HEX_BYTECOUNT_WRONG); } ForwardWithinLine(sc, 2); break; case SCE_HEX_BYTECOUNT: case SCE_HEX_BYTECOUNT_WRONG: recStartPos = sc.currentPos - 4; addrFieldSize = GetSrecAddressFieldSize(recStartPos, styler); addrFieldType = GetSrecAddressFieldType(recStartPos, styler); sc.SetState(addrFieldType); ForwardWithinLine(sc, addrFieldSize * 2); break; case SCE_HEX_NOADDRESS: case SCE_HEX_DATAADDRESS: case SCE_HEX_RECCOUNT: case SCE_HEX_STARTADDRESS: case SCE_HEX_ADDRESSFIELD_UNKNOWN: recStartPos = GetSrecRecStartPosition(sc.currentPos, styler); dataFieldType = GetSrecDataFieldType(recStartPos, styler); // Using the required size here if possible has the effect that the // checksum is highlighted at a fixed position after this field for // specific record types, independent on the "byte count" value. dataFieldSize = GetSrecRequiredDataFieldSize(recStartPos, styler); sc.SetState(dataFieldType); if (dataFieldType == SCE_HEX_DATA_ODD) { for (int i = 0; i < dataFieldSize * 2; i++) { if ((i & 0x3) == 0) { sc.SetState(SCE_HEX_DATA_ODD); } else if ((i & 0x3) == 2) { sc.SetState(SCE_HEX_DATA_EVEN); } if (!ForwardWithinLine(sc)) { break; } } } else { ForwardWithinLine(sc, dataFieldSize * 2); } break; case SCE_HEX_DATA_ODD: case SCE_HEX_DATA_EVEN: case SCE_HEX_DATA_EMPTY: case SCE_HEX_DATA_UNKNOWN: recStartPos = GetSrecRecStartPosition(sc.currentPos, styler); cs1 = CalcSrecChecksum(recStartPos, styler); cs2 = GetSrecChecksum(recStartPos, styler); if (cs1 != cs2 || cs1 < 0 || cs2 < 0) { sc.SetState(SCE_HEX_CHECKSUM_WRONG); } else { sc.SetState(SCE_HEX_CHECKSUM); } ForwardWithinLine(sc, 2); break; case SCE_HEX_CHECKSUM: case SCE_HEX_CHECKSUM_WRONG: case SCE_HEX_GARBAGE: // record finished or line too long sc.SetState(SCE_HEX_GARBAGE); ForwardWithinLine(sc); break; default: // prevent endless loop in faulty state sc.SetState(SCE_HEX_DEFAULT); break; } } sc.Complete(); } static void ColouriseIHexDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { StyleContext sc(startPos, length, initStyle, styler); while (sc.More()) { Sci_PositionU recStartPos; int byteCount, addrFieldType, dataFieldSize, dataFieldType; int cs1, cs2; switch (sc.state) { case SCE_HEX_DEFAULT: if (sc.atLineStart && sc.Match(':')) { sc.SetState(SCE_HEX_RECSTART); } ForwardWithinLine(sc); break; case SCE_HEX_RECSTART: recStartPos = sc.currentPos - 1; byteCount = GetIHexByteCount(recStartPos, styler); dataFieldSize = GetIHexRequiredDataFieldSize(recStartPos, styler); if (byteCount == CountIHexByteCount(recStartPos, styler) && byteCount == dataFieldSize) { sc.SetState(SCE_HEX_BYTECOUNT); } else { sc.SetState(SCE_HEX_BYTECOUNT_WRONG); } ForwardWithinLine(sc, 2); break; case SCE_HEX_BYTECOUNT: case SCE_HEX_BYTECOUNT_WRONG: recStartPos = sc.currentPos - 3; addrFieldType = GetIHexAddressFieldType(recStartPos, styler); sc.SetState(addrFieldType); ForwardWithinLine(sc, 4); break; case SCE_HEX_NOADDRESS: case SCE_HEX_DATAADDRESS: case SCE_HEX_ADDRESSFIELD_UNKNOWN: recStartPos = sc.currentPos - 7; addrFieldType = GetIHexAddressFieldType(recStartPos, styler); if (addrFieldType == SCE_HEX_ADDRESSFIELD_UNKNOWN) { sc.SetState(SCE_HEX_RECTYPE_UNKNOWN); } else { sc.SetState(SCE_HEX_RECTYPE); } ForwardWithinLine(sc, 2); break; case SCE_HEX_RECTYPE: case SCE_HEX_RECTYPE_UNKNOWN: recStartPos = sc.currentPos - 9; dataFieldType = GetIHexDataFieldType(recStartPos, styler); // Using the required size here if possible has the effect that the // checksum is highlighted at a fixed position after this field for // specific record types, independent on the "byte count" value. dataFieldSize = GetIHexRequiredDataFieldSize(recStartPos, styler); sc.SetState(dataFieldType); if (dataFieldType == SCE_HEX_DATA_ODD) { for (int i = 0; i < dataFieldSize * 2; i++) { if ((i & 0x3) == 0) { sc.SetState(SCE_HEX_DATA_ODD); } else if ((i & 0x3) == 2) { sc.SetState(SCE_HEX_DATA_EVEN); } if (!ForwardWithinLine(sc)) { break; } } } else { ForwardWithinLine(sc, dataFieldSize * 2); } break; case SCE_HEX_DATA_ODD: case SCE_HEX_DATA_EVEN: case SCE_HEX_DATA_EMPTY: case SCE_HEX_EXTENDEDADDRESS: case SCE_HEX_STARTADDRESS: case SCE_HEX_DATA_UNKNOWN: recStartPos = GetIHexRecStartPosition(sc.currentPos, styler); cs1 = CalcIHexChecksum(recStartPos, styler); cs2 = GetIHexChecksum(recStartPos, styler); if (cs1 != cs2 || cs1 < 0 || cs2 < 0) { sc.SetState(SCE_HEX_CHECKSUM_WRONG); } else { sc.SetState(SCE_HEX_CHECKSUM); } ForwardWithinLine(sc, 2); break; case SCE_HEX_CHECKSUM: case SCE_HEX_CHECKSUM_WRONG: case SCE_HEX_GARBAGE: // record finished or line too long sc.SetState(SCE_HEX_GARBAGE); ForwardWithinLine(sc); break; default: // prevent endless loop in faulty state sc.SetState(SCE_HEX_DEFAULT); break; } } sc.Complete(); } static void FoldIHexDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_PositionU endPos = startPos + length; Sci_Position lineCurrent = styler.GetLine(startPos); int levelCurrent = SC_FOLDLEVELBASE; if (lineCurrent > 0) levelCurrent = styler.LevelAt(lineCurrent - 1); Sci_PositionU lineStartNext = styler.LineStart(lineCurrent + 1); int levelNext = SC_FOLDLEVELBASE; // default if no specific line found for (Sci_PositionU i = startPos; i < endPos; i++) { bool atEOL = i == (lineStartNext - 1); int style = styler.StyleAt(i); // search for specific lines if (style == SCE_HEX_EXTENDEDADDRESS) { // extended addres record levelNext = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG; } else if (style == SCE_HEX_DATAADDRESS || (style == SCE_HEX_DEFAULT && i == (Sci_PositionU)styler.LineStart(lineCurrent))) { // data record or no record start code at all if (levelCurrent & SC_FOLDLEVELHEADERFLAG) { levelNext = SC_FOLDLEVELBASE + 1; } else { // continue level 0 or 1, no fold point levelNext = levelCurrent; } } if (atEOL || (i == endPos - 1)) { styler.SetLevel(lineCurrent, levelNext); lineCurrent++; lineStartNext = styler.LineStart(lineCurrent + 1); levelCurrent = levelNext; levelNext = SC_FOLDLEVELBASE; } } } static void ColouriseTEHexDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *[], Accessor &styler) { StyleContext sc(startPos, length, initStyle, styler); while (sc.More()) { Sci_PositionU recStartPos; int digitCount, addrFieldType; int cs1, cs2; switch (sc.state) { case SCE_HEX_DEFAULT: if (sc.atLineStart && sc.Match('%')) { sc.SetState(SCE_HEX_RECSTART); } ForwardWithinLine(sc); break; case SCE_HEX_RECSTART: recStartPos = sc.currentPos - 1; if (GetTEHexDigitCount(recStartPos, styler) == CountTEHexDigitCount(recStartPos, styler)) { sc.SetState(SCE_HEX_BYTECOUNT); } else { sc.SetState(SCE_HEX_BYTECOUNT_WRONG); } ForwardWithinLine(sc, 2); break; case SCE_HEX_BYTECOUNT: case SCE_HEX_BYTECOUNT_WRONG: recStartPos = sc.currentPos - 3; addrFieldType = GetTEHexAddressFieldType(recStartPos, styler); if (addrFieldType == SCE_HEX_ADDRESSFIELD_UNKNOWN) { sc.SetState(SCE_HEX_RECTYPE_UNKNOWN); } else { sc.SetState(SCE_HEX_RECTYPE); } ForwardWithinLine(sc); break; case SCE_HEX_RECTYPE: case SCE_HEX_RECTYPE_UNKNOWN: recStartPos = sc.currentPos - 4; cs1 = CalcTEHexChecksum(recStartPos, styler); cs2 = GetTEHexChecksum(recStartPos, styler); if (cs1 != cs2 || cs1 < 0 || cs2 < 0) { sc.SetState(SCE_HEX_CHECKSUM_WRONG); } else { sc.SetState(SCE_HEX_CHECKSUM); } ForwardWithinLine(sc, 2); break; case SCE_HEX_CHECKSUM: case SCE_HEX_CHECKSUM_WRONG: recStartPos = sc.currentPos - 6; addrFieldType = GetTEHexAddressFieldType(recStartPos, styler); sc.SetState(addrFieldType); ForwardWithinLine(sc, 9); break; case SCE_HEX_DATAADDRESS: case SCE_HEX_STARTADDRESS: case SCE_HEX_ADDRESSFIELD_UNKNOWN: recStartPos = sc.currentPos - 15; digitCount = GetTEHexDigitCount(recStartPos, styler) - 14; sc.SetState(SCE_HEX_DATA_ODD); for (int i = 0; i < digitCount; i++) { if ((i & 0x3) == 0) { sc.SetState(SCE_HEX_DATA_ODD); } else if ((i & 0x3) == 2) { sc.SetState(SCE_HEX_DATA_EVEN); } if (!ForwardWithinLine(sc)) { break; } } break; case SCE_HEX_DATA_ODD: case SCE_HEX_DATA_EVEN: case SCE_HEX_GARBAGE: // record finished or line too long sc.SetState(SCE_HEX_GARBAGE); ForwardWithinLine(sc); break; default: // prevent endless loop in faulty state sc.SetState(SCE_HEX_DEFAULT); break; } } sc.Complete(); } LexerModule lmSrec(SCLEX_SREC, ColouriseSrecDoc, "srec", 0, NULL); LexerModule lmIHex(SCLEX_IHEX, ColouriseIHexDoc, "ihex", FoldIHexDoc, NULL); LexerModule lmTEHex(SCLEX_TEHEX, ColouriseTEHexDoc, "tehex", 0, NULL); ================================================ FILE: src/qscint/scintilla/lexers/LexIndent.cpp ================================================ // Scintilla source code edit control /** @file LexIndent.cxx ** Lexer for no language. Used for indentation-based folding of files. **/ // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static void ColouriseIndentDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { // Indent language means all style bytes are 0 so just mark the end - no need to fill in. if (length > 0) { styler.StartAt(startPos + length - 1); styler.StartSegment(startPos + length - 1); styler.ColourTo(startPos + length - 1, 0); } } static void FoldIndentDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[], Accessor &styler) { int visibleCharsCurrent, visibleCharsNext; int levelCurrent, levelNext; Sci_PositionU i, lineEnd; Sci_PositionU lengthDoc = startPos + length; Sci_Position lineCurrent = styler.GetLine(startPos); i = styler.LineStart(lineCurrent ); lineEnd = styler.LineStart(lineCurrent+1)-1; if(lineEnd>=lengthDoc) lineEnd = lengthDoc-1; while(styler[lineEnd]=='\n' || styler[lineEnd]=='\r') lineEnd--; for(visibleCharsCurrent=0, levelCurrent=SC_FOLDLEVELBASE; !visibleCharsCurrent && i<=lineEnd; i++){ if(isspacechar(styler[i])) levelCurrent++; else visibleCharsCurrent=1; } for(; i=lengthDoc) lineEnd = lengthDoc-1; while(styler[lineEnd]=='\n' || styler[lineEnd]=='\r') lineEnd--; for(visibleCharsNext=0, levelNext=SC_FOLDLEVELBASE; !visibleCharsNext && i<=lineEnd; i++){ if(isspacechar(styler[i])) levelNext++; else visibleCharsNext=1; } int lev = levelCurrent; if(!visibleCharsCurrent) lev |= SC_FOLDLEVELWHITEFLAG; else if(levelNext > levelCurrent) lev |= SC_FOLDLEVELHEADERFLAG; styler.SetLevel(lineCurrent, lev); levelCurrent = levelNext; visibleCharsCurrent = visibleCharsNext; } } LexerModule lmIndent(SCLEX_INDENT, ColouriseIndentDoc, "indent", FoldIndentDoc); ================================================ FILE: src/qscint/scintilla/lexers/LexInno.cpp ================================================ // Scintilla source code edit control /** @file LexInno.cxx ** Lexer for Inno Setup scripts. **/ // Written by Friedrich Vedder , using code from LexOthers.cxx. // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static void ColouriseInnoDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *keywordLists[], Accessor &styler) { int state = SCE_INNO_DEFAULT; char chPrev; char ch = 0; char chNext = styler[startPos]; Sci_Position lengthDoc = startPos + length; char *buffer = new char[length+1]; Sci_Position bufferCount = 0; bool isBOL, isEOL, isWS, isBOLWS = 0; bool isCStyleComment = false; WordList §ionKeywords = *keywordLists[0]; WordList &standardKeywords = *keywordLists[1]; WordList ¶meterKeywords = *keywordLists[2]; WordList &preprocessorKeywords = *keywordLists[3]; WordList &pascalKeywords = *keywordLists[4]; WordList &userKeywords = *keywordLists[5]; Sci_Position curLine = styler.GetLine(startPos); int curLineState = curLine > 0 ? styler.GetLineState(curLine - 1) : 0; bool isCode = (curLineState == 1); // Go through all provided text segment // using the hand-written state machine shown below styler.StartAt(startPos); styler.StartSegment(startPos); for (Sci_Position i = startPos; i < lengthDoc; i++) { chPrev = ch; ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); i++; continue; } isBOL = (chPrev == 0) || (chPrev == '\n') || (chPrev == '\r' && ch != '\n'); isBOLWS = (isBOL) ? 1 : (isBOLWS && (chPrev == ' ' || chPrev == '\t')); isEOL = (ch == '\n' || ch == '\r'); isWS = (ch == ' ' || ch == '\t'); if ((ch == '\r' && chNext != '\n') || (ch == '\n')) { // Remember the line state for future incremental lexing curLine = styler.GetLine(i); styler.SetLineState(curLine, (isCode ? 1 : 0)); } switch(state) { case SCE_INNO_DEFAULT: if (!isCode && ch == ';' && isBOLWS) { // Start of a comment state = SCE_INNO_COMMENT; } else if (ch == '[' && isBOLWS) { // Start of a section name bufferCount = 0; state = SCE_INNO_SECTION; } else if (ch == '#' && isBOLWS) { // Start of a preprocessor directive state = SCE_INNO_PREPROC; } else if (!isCode && ch == '{' && chNext != '{' && chPrev != '{') { // Start of an inline expansion state = SCE_INNO_INLINE_EXPANSION; } else if (isCode && (ch == '{' || (ch == '(' && chNext == '*'))) { // Start of a Pascal comment state = SCE_INNO_COMMENT_PASCAL; isCStyleComment = false; } else if (isCode && ch == '/' && chNext == '/') { // Apparently, C-style comments are legal, too state = SCE_INNO_COMMENT_PASCAL; isCStyleComment = true; } else if (ch == '"') { // Start of a double-quote string state = SCE_INNO_STRING_DOUBLE; } else if (ch == '\'') { // Start of a single-quote string state = SCE_INNO_STRING_SINGLE; } else if (IsASCII(ch) && (isalpha(ch) || (ch == '_'))) { // Start of an identifier bufferCount = 0; buffer[bufferCount++] = static_cast(tolower(ch)); state = SCE_INNO_IDENTIFIER; } else { // Style it the default style styler.ColourTo(i,SCE_INNO_DEFAULT); } break; case SCE_INNO_COMMENT: if (isEOL) { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_COMMENT); } break; case SCE_INNO_IDENTIFIER: if (IsASCII(ch) && (isalnum(ch) || (ch == '_'))) { buffer[bufferCount++] = static_cast(tolower(ch)); } else { state = SCE_INNO_DEFAULT; buffer[bufferCount] = '\0'; // Check if the buffer contains a keyword if (!isCode && standardKeywords.InList(buffer)) { styler.ColourTo(i-1,SCE_INNO_KEYWORD); } else if (!isCode && parameterKeywords.InList(buffer)) { styler.ColourTo(i-1,SCE_INNO_PARAMETER); } else if (isCode && pascalKeywords.InList(buffer)) { styler.ColourTo(i-1,SCE_INNO_KEYWORD_PASCAL); } else if (!isCode && userKeywords.InList(buffer)) { styler.ColourTo(i-1,SCE_INNO_KEYWORD_USER); } else { styler.ColourTo(i-1,SCE_INNO_DEFAULT); } // Push back the faulty character chNext = styler[i--]; ch = chPrev; } break; case SCE_INNO_SECTION: if (ch == ']') { state = SCE_INNO_DEFAULT; buffer[bufferCount] = '\0'; // Check if the buffer contains a section name if (sectionKeywords.InList(buffer)) { styler.ColourTo(i,SCE_INNO_SECTION); isCode = !CompareCaseInsensitive(buffer, "code"); } else { styler.ColourTo(i,SCE_INNO_DEFAULT); } } else if (IsASCII(ch) && (isalnum(ch) || (ch == '_'))) { buffer[bufferCount++] = static_cast(tolower(ch)); } else { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_DEFAULT); } break; case SCE_INNO_PREPROC: if (isWS || isEOL) { if (IsASCII(chPrev) && isalpha(chPrev)) { state = SCE_INNO_DEFAULT; buffer[bufferCount] = '\0'; // Check if the buffer contains a preprocessor directive if (preprocessorKeywords.InList(buffer)) { styler.ColourTo(i-1,SCE_INNO_PREPROC); } else { styler.ColourTo(i-1,SCE_INNO_DEFAULT); } // Push back the faulty character chNext = styler[i--]; ch = chPrev; } } else if (IsASCII(ch) && isalpha(ch)) { if (chPrev == '#' || chPrev == ' ' || chPrev == '\t') bufferCount = 0; buffer[bufferCount++] = static_cast(tolower(ch)); } break; case SCE_INNO_STRING_DOUBLE: if (ch == '"' || isEOL) { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_STRING_DOUBLE); } break; case SCE_INNO_STRING_SINGLE: if (ch == '\'' || isEOL) { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_STRING_SINGLE); } break; case SCE_INNO_INLINE_EXPANSION: if (ch == '}') { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_INLINE_EXPANSION); } else if (isEOL) { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_DEFAULT); } break; case SCE_INNO_COMMENT_PASCAL: if (isCStyleComment) { if (isEOL) { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_COMMENT_PASCAL); } } else { if (ch == '}' || (ch == ')' && chPrev == '*')) { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_COMMENT_PASCAL); } else if (isEOL) { state = SCE_INNO_DEFAULT; styler.ColourTo(i,SCE_INNO_DEFAULT); } } break; } } delete []buffer; } static const char * const innoWordListDesc[] = { "Sections", "Keywords", "Parameters", "Preprocessor directives", "Pascal keywords", "User defined keywords", 0 }; static void FoldInnoDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_PositionU endPos = startPos + length; char chNext = styler[startPos]; Sci_Position lineCurrent = styler.GetLine(startPos); bool sectionFlag = false; int levelPrev = lineCurrent > 0 ? styler.LevelAt(lineCurrent - 1) : SC_FOLDLEVELBASE; int level; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler[i+1]; bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); int style = styler.StyleAt(i); if (style == SCE_INNO_SECTION) sectionFlag = true; if (atEOL || i == endPos - 1) { if (sectionFlag) { level = SC_FOLDLEVELBASE | SC_FOLDLEVELHEADERFLAG; if (level == levelPrev) styler.SetLevel(lineCurrent - 1, levelPrev & ~SC_FOLDLEVELHEADERFLAG); } else { level = levelPrev & SC_FOLDLEVELNUMBERMASK; if (levelPrev & SC_FOLDLEVELHEADERFLAG) level++; } styler.SetLevel(lineCurrent, level); levelPrev = level; lineCurrent++; sectionFlag = false; } } } LexerModule lmInno(SCLEX_INNOSETUP, ColouriseInnoDoc, "inno", FoldInnoDoc, innoWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexJSON.cpp ================================================ // Scintilla source code edit control /** * @file LexJSON.cxx * @date February 19, 2016 * @brief Lexer for JSON and JSON-LD formats * @author nkmathew * * The License.txt file describes the conditions under which this software may * be distributed. * */ #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" #include "DefaultLexer.h" using namespace Scintilla; static const char *const JSONWordListDesc[] = { "JSON Keywords", "JSON-LD Keywords", 0 }; /** * Used to detect compact IRI/URLs in JSON-LD without first looking ahead for the * colon separating the prefix and suffix * * https://www.w3.org/TR/json-ld/#dfn-compact-iri */ struct CompactIRI { int colonCount; bool foundInvalidChar; CharacterSet setCompactIRI; CompactIRI() { colonCount = 0; foundInvalidChar = false; setCompactIRI = CharacterSet(CharacterSet::setAlpha, "$_-"); } void resetState() { colonCount = 0; foundInvalidChar = false; } void checkChar(int ch) { if (ch == ':') { colonCount++; } else { foundInvalidChar |= !setCompactIRI.Contains(ch); } } bool shouldHighlight() const { return !foundInvalidChar && colonCount == 1; } }; /** * Keeps track of escaped characters in strings as per: * * https://tools.ietf.org/html/rfc7159#section-7 */ struct EscapeSequence { int digitsLeft; CharacterSet setHexDigits; CharacterSet setEscapeChars; EscapeSequence() { digitsLeft = 0; setHexDigits = CharacterSet(CharacterSet::setDigits, "ABCDEFabcdef"); setEscapeChars = CharacterSet(CharacterSet::setNone, "\\\"tnbfru/"); } // Returns true if the following character is a valid escaped character bool newSequence(int nextChar) { digitsLeft = 0; if (nextChar == 'u') { digitsLeft = 5; } else if (!setEscapeChars.Contains(nextChar)) { return false; } return true; } bool atEscapeEnd() const { return digitsLeft <= 0; } bool isInvalidChar(int currChar) const { return !setHexDigits.Contains(currChar); } }; struct OptionsJSON { bool foldCompact; bool fold; bool allowComments; bool escapeSequence; OptionsJSON() { foldCompact = false; fold = false; allowComments = false; escapeSequence = false; } }; struct OptionSetJSON : public OptionSet { OptionSetJSON() { DefineProperty("lexer.json.escape.sequence", &OptionsJSON::escapeSequence, "Set to 1 to enable highlighting of escape sequences in strings"); DefineProperty("lexer.json.allow.comments", &OptionsJSON::allowComments, "Set to 1 to enable highlighting of line/block comments in JSON"); DefineProperty("fold.compact", &OptionsJSON::foldCompact); DefineProperty("fold", &OptionsJSON::fold); DefineWordListSets(JSONWordListDesc); } }; class LexerJSON : public DefaultLexer { OptionsJSON options; OptionSetJSON optSetJSON; EscapeSequence escapeSeq; WordList keywordsJSON; WordList keywordsJSONLD; CharacterSet setOperators; CharacterSet setURL; CharacterSet setKeywordJSONLD; CharacterSet setKeywordJSON; CompactIRI compactIRI; static bool IsNextNonWhitespace(LexAccessor &styler, Sci_Position start, char ch) { Sci_Position i = 0; while (i < 50) { i++; char curr = styler.SafeGetCharAt(start+i, '\0'); char next = styler.SafeGetCharAt(start+i+1, '\0'); bool atEOL = (curr == '\r' && next != '\n') || (curr == '\n'); if (curr == ch) { return true; } else if (!isspacechar(curr) || atEOL) { return false; } } return false; } /** * Looks for the colon following the end quote * * Assumes property names of lengths no longer than a 100 characters. * The colon is also expected to be less than 50 spaces after the end * quote for the string to be considered a property name */ static bool AtPropertyName(LexAccessor &styler, Sci_Position start) { Sci_Position i = 0; bool escaped = false; while (i < 100) { i++; char curr = styler.SafeGetCharAt(start+i, '\0'); if (escaped) { escaped = false; continue; } escaped = curr == '\\'; if (curr == '"') { return IsNextNonWhitespace(styler, start+i, ':'); } else if (!curr) { return false; } } return false; } static bool IsNextWordInList(WordList &keywordList, CharacterSet wordSet, StyleContext &context, LexAccessor &styler) { char word[51]; Sci_Position currPos = (Sci_Position) context.currentPos; int i = 0; while (i < 50) { char ch = styler.SafeGetCharAt(currPos + i); if (!wordSet.Contains(ch)) { break; } word[i] = ch; i++; } word[i] = '\0'; return keywordList.InList(word); } public: LexerJSON() : setOperators(CharacterSet::setNone, "[{}]:,"), setURL(CharacterSet::setAlphaNum, "-._~:/?#[]@!$&'()*+,),="), setKeywordJSONLD(CharacterSet::setAlpha, ":@"), setKeywordJSON(CharacterSet::setAlpha, "$_") { } virtual ~LexerJSON() {} int SCI_METHOD Version() const override { return lvOriginal; } void SCI_METHOD Release() override { delete this; } const char *SCI_METHOD PropertyNames() override { return optSetJSON.PropertyNames(); } int SCI_METHOD PropertyType(const char *name) override { return optSetJSON.PropertyType(name); } const char *SCI_METHOD DescribeProperty(const char *name) override { return optSetJSON.DescribeProperty(name); } Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override { if (optSetJSON.PropertySet(&options, key, val)) { return 0; } return -1; } Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override { WordList *wordListN = 0; switch (n) { case 0: wordListN = &keywordsJSON; break; case 1: wordListN = &keywordsJSONLD; break; } Sci_Position firstModification = -1; if (wordListN) { WordList wlNew; wlNew.Set(wl); if (*wordListN != wlNew) { wordListN->Set(wl); firstModification = 0; } } return firstModification; } void *SCI_METHOD PrivateCall(int, void *) override { return 0; } static ILexer *LexerFactoryJSON() { return new LexerJSON; } const char *SCI_METHOD DescribeWordListSets() override { return optSetJSON.DescribeWordListSets(); } void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; }; void SCI_METHOD LexerJSON::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { LexAccessor styler(pAccess); StyleContext context(startPos, length, initStyle, styler); int stringStyleBefore = SCE_JSON_STRING; while (context.More()) { switch (context.state) { case SCE_JSON_BLOCKCOMMENT: if (context.Match("*/")) { context.Forward(); context.ForwardSetState(SCE_JSON_DEFAULT); } break; case SCE_JSON_LINECOMMENT: if (context.atLineEnd) { context.SetState(SCE_JSON_DEFAULT); } break; case SCE_JSON_STRINGEOL: if (context.atLineStart) { context.SetState(SCE_JSON_DEFAULT); } break; case SCE_JSON_ESCAPESEQUENCE: escapeSeq.digitsLeft--; if (!escapeSeq.atEscapeEnd()) { if (escapeSeq.isInvalidChar(context.ch)) { context.SetState(SCE_JSON_ERROR); } break; } if (context.ch == '"') { context.SetState(stringStyleBefore); context.ForwardSetState(SCE_C_DEFAULT); } else if (context.ch == '\\') { if (!escapeSeq.newSequence(context.chNext)) { context.SetState(SCE_JSON_ERROR); } context.Forward(); } else { context.SetState(stringStyleBefore); if (context.atLineEnd) { context.ChangeState(SCE_JSON_STRINGEOL); } } break; case SCE_JSON_PROPERTYNAME: case SCE_JSON_STRING: if (context.ch == '"') { if (compactIRI.shouldHighlight()) { context.ChangeState(SCE_JSON_COMPACTIRI); context.ForwardSetState(SCE_JSON_DEFAULT); compactIRI.resetState(); } else { context.ForwardSetState(SCE_JSON_DEFAULT); } } else if (context.atLineEnd) { context.ChangeState(SCE_JSON_STRINGEOL); } else if (context.ch == '\\') { stringStyleBefore = context.state; if (options.escapeSequence) { context.SetState(SCE_JSON_ESCAPESEQUENCE); if (!escapeSeq.newSequence(context.chNext)) { context.SetState(SCE_JSON_ERROR); } } context.Forward(); } else if (context.Match("https://") || context.Match("http://") || context.Match("ssh://") || context.Match("git://") || context.Match("svn://") || context.Match("ftp://") || context.Match("mailto:")) { // Handle most common URI schemes only stringStyleBefore = context.state; context.SetState(SCE_JSON_URI); } else if (context.ch == '@') { // https://www.w3.org/TR/json-ld/#dfn-keyword if (IsNextWordInList(keywordsJSONLD, setKeywordJSONLD, context, styler)) { stringStyleBefore = context.state; context.SetState(SCE_JSON_LDKEYWORD); } } else { compactIRI.checkChar(context.ch); } break; case SCE_JSON_LDKEYWORD: case SCE_JSON_URI: if ((!setKeywordJSONLD.Contains(context.ch) && (context.state == SCE_JSON_LDKEYWORD)) || (!setURL.Contains(context.ch))) { context.SetState(stringStyleBefore); } if (context.ch == '"') { context.ForwardSetState(SCE_JSON_DEFAULT); } else if (context.atLineEnd) { context.ChangeState(SCE_JSON_STRINGEOL); } break; case SCE_JSON_OPERATOR: case SCE_JSON_NUMBER: context.SetState(SCE_JSON_DEFAULT); break; case SCE_JSON_ERROR: if (context.atLineEnd) { context.SetState(SCE_JSON_DEFAULT); } break; case SCE_JSON_KEYWORD: if (!setKeywordJSON.Contains(context.ch)) { context.SetState(SCE_JSON_DEFAULT); } break; } if (context.state == SCE_JSON_DEFAULT) { if (context.ch == '"') { compactIRI.resetState(); context.SetState(SCE_JSON_STRING); Sci_Position currPos = static_cast(context.currentPos); if (AtPropertyName(styler, currPos)) { context.SetState(SCE_JSON_PROPERTYNAME); } } else if (setOperators.Contains(context.ch)) { context.SetState(SCE_JSON_OPERATOR); } else if (options.allowComments && context.Match("/*")) { context.SetState(SCE_JSON_BLOCKCOMMENT); context.Forward(); } else if (options.allowComments && context.Match("//")) { context.SetState(SCE_JSON_LINECOMMENT); } else if (setKeywordJSON.Contains(context.ch)) { if (IsNextWordInList(keywordsJSON, setKeywordJSON, context, styler)) { context.SetState(SCE_JSON_KEYWORD); } } bool numberStart = IsADigit(context.ch) && (context.chPrev == '+'|| context.chPrev == '-' || context.atLineStart || IsASpace(context.chPrev) || setOperators.Contains(context.chPrev)); bool exponentPart = tolower(context.ch) == 'e' && IsADigit(context.chPrev) && (IsADigit(context.chNext) || context.chNext == '+' || context.chNext == '-'); bool signPart = (context.ch == '-' || context.ch == '+') && ((tolower(context.chPrev) == 'e' && IsADigit(context.chNext)) || ((IsASpace(context.chPrev) || setOperators.Contains(context.chPrev)) && IsADigit(context.chNext))); bool adjacentDigit = IsADigit(context.ch) && IsADigit(context.chPrev); bool afterExponent = IsADigit(context.ch) && tolower(context.chPrev) == 'e'; bool dotPart = context.ch == '.' && IsADigit(context.chPrev) && IsADigit(context.chNext); bool afterDot = IsADigit(context.ch) && context.chPrev == '.'; if (numberStart || exponentPart || signPart || adjacentDigit || dotPart || afterExponent || afterDot) { context.SetState(SCE_JSON_NUMBER); } else if (context.state == SCE_JSON_DEFAULT && !IsASpace(context.ch)) { context.SetState(SCE_JSON_ERROR); } } context.Forward(); } context.Complete(); } void SCI_METHOD LexerJSON::Fold(Sci_PositionU startPos, Sci_Position length, int, IDocument *pAccess) { if (!options.fold) { return; } LexAccessor styler(pAccess); Sci_PositionU currLine = styler.GetLine(startPos); Sci_PositionU endPos = startPos + length; int currLevel = SC_FOLDLEVELBASE; if (currLine > 0) currLevel = styler.LevelAt(currLine - 1) >> 16; int nextLevel = currLevel; int visibleChars = 0; for (Sci_PositionU i = startPos; i < endPos; i++) { char curr = styler.SafeGetCharAt(i); char next = styler.SafeGetCharAt(i+1); bool atEOL = (curr == '\r' && next != '\n') || (curr == '\n'); if (styler.StyleAt(i) == SCE_JSON_OPERATOR) { if (curr == '{' || curr == '[') { nextLevel++; } else if (curr == '}' || curr == ']') { nextLevel--; } } if (atEOL || i == (endPos-1)) { int level = currLevel | nextLevel << 16; if (!visibleChars && options.foldCompact) { level |= SC_FOLDLEVELWHITEFLAG; } else if (nextLevel > currLevel) { level |= SC_FOLDLEVELHEADERFLAG; } if (level != styler.LevelAt(currLine)) { styler.SetLevel(currLine, level); } currLine++; currLevel = nextLevel; visibleChars = 0; } if (!isspacechar(curr)) { visibleChars++; } } } LexerModule lmJSON(SCLEX_JSON, LexerJSON::LexerFactoryJSON, "json", JSONWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexKVIrc.cpp ================================================ // Scintilla source code edit control /** @file LexKVIrc.cxx ** Lexer for KVIrc script. **/ // Copyright 2013 by OmegaPhil , based in // part from LexPython Copyright 1998-2002 by Neil Hodgson // and LexCmake Copyright 2007 by Cristian Adam // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; /* KVIrc Script syntactic rules: http://www.kvirc.net/doc/doc_syntactic_rules.html */ /* Utility functions */ static inline bool IsAWordChar(int ch) { /* Keyword list includes modules, i.e. words including '.', and * alias namespaces include ':' */ return (ch < 0x80) && (isalnum(ch) || ch == '_' || ch == '.' || ch == ':'); } static inline bool IsAWordStart(int ch) { /* Functions (start with '$') are treated separately to keywords */ return (ch < 0x80) && (isalnum(ch) || ch == '_' ); } /* Interface function called by Scintilla to request some text to be syntax highlighted */ static void ColouriseKVIrcDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { /* Fetching style context */ StyleContext sc(startPos, length, initStyle, styler); /* Accessing keywords and function-marking keywords */ WordList &keywords = *keywordlists[0]; WordList &functionKeywords = *keywordlists[1]; /* Looping for all characters - only automatically moving forward * when asked for (transitions leaving strings and keywords do this * already) */ bool next = true; for( ; sc.More(); next ? sc.Forward() : (void)0 ) { /* Resetting next */ next = true; /* Dealing with different states */ switch (sc.state) { case SCE_KVIRC_DEFAULT: /* Detecting single-line comments * Unfortunately KVIrc script allows raw '#' to be used, and appending # to an array returns * its length... * Going for a compromise where single line comments not * starting on a newline are allowed in all cases except * when they are preceeded with an opening bracket or comma * (this will probably be the most common style a valid * string-less channel name will be used with), with the * array length case included */ if ( (sc.ch == '#' && sc.atLineStart) || (sc.ch == '#' && ( sc.chPrev != '(' && sc.chPrev != ',' && sc.chPrev != ']') ) ) { sc.SetState(SCE_KVIRC_COMMENT); break; } /* Detecting multi-line comments */ if (sc.Match('/', '*')) { sc.SetState(SCE_KVIRC_COMMENTBLOCK); break; } /* Detecting strings */ if (sc.ch == '"') { sc.SetState(SCE_KVIRC_STRING); break; } /* Detecting functions */ if (sc.ch == '$') { sc.SetState(SCE_KVIRC_FUNCTION); break; } /* Detecting variables */ if (sc.ch == '%') { sc.SetState(SCE_KVIRC_VARIABLE); break; } /* Detecting numbers - isdigit is unsafe as it does not * validate, use CharacterSet.h functions */ if (IsADigit(sc.ch)) { sc.SetState(SCE_KVIRC_NUMBER); break; } /* Detecting words */ if (IsAWordStart(sc.ch) && IsAWordChar(sc.chNext)) { sc.SetState(SCE_KVIRC_WORD); sc.Forward(); break; } /* Detecting operators */ if (isoperator(sc.ch)) { sc.SetState(SCE_KVIRC_OPERATOR); break; } break; case SCE_KVIRC_COMMENT: /* Breaking out of single line comment when a newline * is introduced */ if (sc.ch == '\r' || sc.ch == '\n') { sc.SetState(SCE_KVIRC_DEFAULT); break; } break; case SCE_KVIRC_COMMENTBLOCK: /* Detecting end of multi-line comment */ if (sc.Match('*', '/')) { // Moving the current position forward two characters // so that '*/' is included in the comment sc.Forward(2); sc.SetState(SCE_KVIRC_DEFAULT); /* Comment has been exited and the current position * moved forward, yet the new current character * has yet to be defined - loop without moving * forward again */ next = false; break; } break; case SCE_KVIRC_STRING: /* Detecting end of string - closing speechmarks */ if (sc.ch == '"') { /* Allowing escaped speechmarks to pass */ if (sc.chPrev == '\\') break; /* Moving the current position forward to capture the * terminating speechmarks, and ending string */ sc.ForwardSetState(SCE_KVIRC_DEFAULT); /* String has been exited and the current position * moved forward, yet the new current character * has yet to be defined - loop without moving * forward again */ next = false; break; } /* Functions and variables are now highlighted in strings * Detecting functions */ if (sc.ch == '$') { /* Allowing escaped functions to pass */ if (sc.chPrev == '\\') break; sc.SetState(SCE_KVIRC_STRING_FUNCTION); break; } /* Detecting variables */ if (sc.ch == '%') { /* Allowing escaped variables to pass */ if (sc.chPrev == '\\') break; sc.SetState(SCE_KVIRC_STRING_VARIABLE); break; } /* Breaking out of a string when a newline is introduced */ if (sc.ch == '\r' || sc.ch == '\n') { /* Allowing escaped newlines */ if (sc.chPrev == '\\') break; sc.SetState(SCE_KVIRC_DEFAULT); break; } break; case SCE_KVIRC_FUNCTION: case SCE_KVIRC_VARIABLE: /* Detecting the end of a function/variable (word) */ if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_KVIRC_DEFAULT); /* Word has been exited yet the current character * has yet to be defined - loop without moving * forward again */ next = false; break; } break; case SCE_KVIRC_STRING_FUNCTION: case SCE_KVIRC_STRING_VARIABLE: /* A function or variable in a string * Detecting the end of a function/variable (word) */ if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_KVIRC_STRING); /* Word has been exited yet the current character * has yet to be defined - loop without moving * forward again */ next = false; break; } break; case SCE_KVIRC_NUMBER: /* Detecting the end of a number */ if (!IsADigit(sc.ch)) { sc.SetState(SCE_KVIRC_DEFAULT); /* Number has been exited yet the current character * has yet to be defined - loop without moving * forward */ next = false; break; } break; case SCE_KVIRC_OPERATOR: /* Because '%' is an operator but is also the marker for * a variable, I need to always treat operators as single * character strings and therefore redo their detection * after every character */ sc.SetState(SCE_KVIRC_DEFAULT); /* Operator has been exited yet the current character * has yet to be defined - loop without moving * forward */ next = false; break; case SCE_KVIRC_WORD: /* Detecting the end of a word */ if (!IsAWordChar(sc.ch)) { /* Checking if the word was actually a keyword - * fetching the current word, NULL-terminated like * the keyword list */ char s[100]; Sci_Position wordLen = sc.currentPos - styler.GetStartSegment(); if (wordLen > 99) wordLen = 99; /* Include '\0' in buffer */ Sci_Position i; for( i = 0; i < wordLen; ++i ) { s[i] = styler.SafeGetCharAt( styler.GetStartSegment() + i ); } s[wordLen] = '\0'; /* Actually detecting keywords and fixing the state */ if (keywords.InList(s)) { /* The SetState call actually commits the * previous keyword state */ sc.ChangeState(SCE_KVIRC_KEYWORD); } else if (functionKeywords.InList(s)) { // Detecting function keywords and fixing the state sc.ChangeState(SCE_KVIRC_FUNCTION_KEYWORD); } /* Transitioning to default and committing the previous * word state */ sc.SetState(SCE_KVIRC_DEFAULT); /* Word has been exited yet the current character * has yet to be defined - loop without moving * forward again */ next = false; break; } break; } } /* Indicating processing is complete */ sc.Complete(); } static void FoldKVIrcDoc(Sci_PositionU startPos, Sci_Position length, int /*initStyle - unused*/, WordList *[], Accessor &styler) { /* Based on CMake's folder */ /* Exiting if folding isnt enabled */ if ( styler.GetPropertyInt("fold") == 0 ) return; /* Obtaining current line number*/ Sci_Position currentLine = styler.GetLine(startPos); /* Obtaining starting character - indentation is done on a line basis, * not character */ Sci_PositionU safeStartPos = styler.LineStart( currentLine ); /* Initialising current level - this is defined as indentation level * in the low 12 bits, with flag bits in the upper four bits. * It looks like two indentation states are maintained in the returned * 32bit value - 'nextLevel' in the most-significant bits, 'currentLevel' * in the least-significant bits. Since the next level is the most * up to date, this must refer to the current state of indentation. * So the code bitshifts the old current level out of existence to * get at the actual current state of indentation * Based on the LexerCPP.cxx line 958 comment */ int currentLevel = SC_FOLDLEVELBASE; if (currentLine > 0) currentLevel = styler.LevelAt(currentLine - 1) >> 16; int nextLevel = currentLevel; // Looping for characters in range for (Sci_PositionU i = safeStartPos; i < startPos + length; ++i) { /* Folding occurs after syntax highlighting, meaning Scintilla * already knows where the comments are * Fetching the current state */ int state = styler.StyleAt(i) & 31; switch( styler.SafeGetCharAt(i) ) { case '{': /* Indenting only when the braces are not contained in * a comment */ if (state != SCE_KVIRC_COMMENT && state != SCE_KVIRC_COMMENTBLOCK) ++nextLevel; break; case '}': /* Outdenting only when the braces are not contained in * a comment */ if (state != SCE_KVIRC_COMMENT && state != SCE_KVIRC_COMMENTBLOCK) --nextLevel; break; case '\n': case '\r': /* Preparing indentation information to return - combining * current and next level data */ int lev = currentLevel | nextLevel << 16; /* If the next level increases the indent level, mark the * current line as a fold point - current level data is * in the least significant bits */ if (nextLevel > currentLevel ) lev |= SC_FOLDLEVELHEADERFLAG; /* Updating indentation level if needed */ if (lev != styler.LevelAt(currentLine)) styler.SetLevel(currentLine, lev); /* Updating variables */ ++currentLine; currentLevel = nextLevel; /* Dealing with problematic Windows newlines - * incrementing to avoid the extra newline breaking the * fold point */ if (styler.SafeGetCharAt(i) == '\r' && styler.SafeGetCharAt(i + 1) == '\n') ++i; break; } } /* At this point the data has ended, so presumably the end of the line? * Preparing indentation information to return - combining current * and next level data */ int lev = currentLevel | nextLevel << 16; /* If the next level increases the indent level, mark the current * line as a fold point - current level data is in the least * significant bits */ if (nextLevel > currentLevel ) lev |= SC_FOLDLEVELHEADERFLAG; /* Updating indentation level if needed */ if (lev != styler.LevelAt(currentLine)) styler.SetLevel(currentLine, lev); } /* Registering wordlists */ static const char *const kvircWordListDesc[] = { "primary", "function_keywords", 0 }; /* Registering functions and wordlists */ LexerModule lmKVIrc(SCLEX_KVIRC, ColouriseKVIrcDoc, "kvirc", FoldKVIrcDoc, kvircWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexKix.cpp ================================================ // Scintilla source code edit control /** @file LexKix.cxx ** Lexer for KIX-Scripts. **/ // Copyright 2004 by Manfred Becker // The License.txt file describes the conditions under which this software may be distributed. // Edited by Lee Wilmott (24-Jun-2014) added support for block comments #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; // Extended to accept accented characters static inline bool IsAWordChar(int ch) { return ch >= 0x80 || isalnum(ch) || ch == '_'; } static inline bool IsOperator(const int ch) { return (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '&' || ch == '|' || ch == '<' || ch == '>' || ch == '='); } static void ColouriseKixDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; // WordList &keywords4 = *keywordlists[3]; styler.StartAt(startPos); StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { if (sc.state == SCE_KIX_COMMENT) { if (sc.atLineEnd) { sc.SetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_COMMENTSTREAM) { if (sc.ch == '/' && sc.chPrev == '*') { sc.ForwardSetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_STRING1) { // This is a doubles quotes string if (sc.ch == '\"') { sc.ForwardSetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_STRING2) { // This is a single quote string if (sc.ch == '\'') { sc.ForwardSetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_NUMBER) { if (!IsADigit(sc.ch)) { sc.SetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_VAR) { if (!IsAWordChar(sc.ch)) { sc.SetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_MACRO) { if (!IsAWordChar(sc.ch) && !IsADigit(sc.ch)) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (!keywords3.InList(&s[1])) { sc.ChangeState(SCE_KIX_DEFAULT); } sc.SetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_OPERATOR) { if (!IsOperator(sc.ch)) { sc.SetState(SCE_KIX_DEFAULT); } } else if (sc.state == SCE_KIX_IDENTIFIER) { if (!IsAWordChar(sc.ch)) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); if (keywords.InList(s)) { sc.ChangeState(SCE_KIX_KEYWORD); } else if (keywords2.InList(s)) { sc.ChangeState(SCE_KIX_FUNCTIONS); } sc.SetState(SCE_KIX_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_KIX_DEFAULT) { if (sc.ch == ';') { sc.SetState(SCE_KIX_COMMENT); } else if (sc.ch == '/' && sc.chNext == '*') { sc.SetState(SCE_KIX_COMMENTSTREAM); } else if (sc.ch == '\"') { sc.SetState(SCE_KIX_STRING1); } else if (sc.ch == '\'') { sc.SetState(SCE_KIX_STRING2); } else if (sc.ch == '$') { sc.SetState(SCE_KIX_VAR); } else if (sc.ch == '@') { sc.SetState(SCE_KIX_MACRO); } else if (IsADigit(sc.ch) || ((sc.ch == '.' || sc.ch == '&') && IsADigit(sc.chNext))) { sc.SetState(SCE_KIX_NUMBER); } else if (IsOperator(sc.ch)) { sc.SetState(SCE_KIX_OPERATOR); } else if (IsAWordChar(sc.ch)) { sc.SetState(SCE_KIX_IDENTIFIER); } } } sc.Complete(); } LexerModule lmKix(SCLEX_KIX, ColouriseKixDoc, "kix"); ================================================ FILE: src/qscint/scintilla/lexers/LexLPeg.cpp ================================================ /** * Copyright 2006-2018 Mitchell mitchell.att.foicica.com. See License.txt. * * Lua-powered dynamic language lexer for Scintilla. * * For documentation on writing lexers, see *../doc/LPegLexer.html*. */ #if LPEG_LEXER #include #include #include #include #include #if CURSES #include #endif #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "PropSetSimple.h" #include "LexAccessor.h" #include "LexerModule.h" extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" LUALIB_API int luaopen_lpeg(lua_State *L); } #if _WIN32 #define strcasecmp _stricmp #endif #define streq(s1, s2) (strcasecmp((s1), (s2)) == 0) using namespace Scintilla; #define l_setmetatable(l, k, mtf) \ if (luaL_newmetatable(l, k)) { \ lua_pushcfunction(l, mtf), lua_setfield(l, -2, "__index"); \ lua_pushcfunction(l, mtf), lua_setfield(l, -2, "__newindex"); \ } \ lua_setmetatable(l, -2); #define l_pushlexerp(l, mtf) do { \ lua_newtable(l); \ lua_pushvalue(l, 2), lua_setfield(l, -2, "property"); \ l_setmetatable(l, "sci_lexerp", mtf); \ } while(0) #define l_getlexerobj(l) \ lua_getfield(l, LUA_REGISTRYINDEX, "sci_lexers"); \ lua_pushlightuserdata(l, reinterpret_cast(this)); \ lua_gettable(l, -2), lua_replace(l, -2); #define l_getlexerfield(l, k) \ l_getlexerobj(l); \ lua_getfield(l, -1, k), lua_replace(l, -2); #if LUA_VERSION_NUM < 502 #define l_openlib(f, s) \ (lua_pushcfunction(L, f), lua_pushstring(L, s), lua_call(L, 1, 0)) #define LUA_BASELIBNAME "" #define lua_rawlen lua_objlen #define LUA_OK 0 #define lua_compare(l, a, b, _) lua_equal(l, a, b) #define LUA_OPEQ 0 #else #define l_openlib(f, s) (luaL_requiref(L, s, f, 1), lua_pop(L, 1)) #define LUA_BASELIBNAME "_G" #endif #define l_setfunction(l, f, k) (lua_pushcfunction(l, f), lua_setfield(l, -2, k)) #define l_setconstant(l, c, k) (lua_pushinteger(l, c), lua_setfield(l, -2, k)) #if CURSES #define A_COLORCHAR (A_COLOR | A_CHARTEXT) #endif /** The LPeg Scintilla lexer. */ class LexerLPeg : public ILexer { /** * The lexer's Lua state. * It is cleared each time the lexer language changes unless `own_lua` is * `true`. */ lua_State *L; /** * The flag indicating whether or not an existing Lua state was supplied as * the lexer's Lua state. */ bool own_lua; /** * The set of properties for the lexer. * The `lexer.name`, `lexer.lpeg.home`, and `lexer.lpeg.color.theme` * properties must be defined before running the lexer. */ PropSetSimple props; /** The function to send Scintilla messages with. */ SciFnDirect SS; /** The Scintilla object the lexer belongs to. */ sptr_t sci; /** * The flag indicating whether or not the lexer needs to be re-initialized. * Re-initialization is required after the lexer language changes. */ bool reinit; /** * The flag indicating whether or not the lexer language has embedded lexers. */ bool multilang; /** * The list of style numbers considered to be whitespace styles. * This is used in multi-language lexers when backtracking to whitespace to * determine which lexer grammar to use. */ bool ws[STYLE_MAX + 1]; /** * Logs the given error message or a Lua error message, prints it, and clears * the stack. * Error messages are logged to the "lexer.lpeg.error" property. * @param str The error message to log and print. If `NULL`, logs and prints * the Lua error message at the top of the stack. */ static void l_error(lua_State *L, const char *str=NULL) { lua_getfield(L, LUA_REGISTRYINDEX, "sci_props"); PropSetSimple *props = static_cast(lua_touserdata(L, -1)); lua_pop(L, 1); // props const char *key = "lexer.lpeg.error"; const char *value = str ? str : lua_tostring(L, -1); props->Set(key, value, strlen(key), strlen(value)); fprintf(stderr, "Lua Error: %s.\n", str ? str : lua_tostring(L, -1)); lua_settop(L, 0); } /** The lexer's `line_from_position` Lua function. */ static int l_line_from_position(lua_State *L) { lua_getfield(L, LUA_REGISTRYINDEX, "sci_buffer"); IDocument *buffer = static_cast(lua_touserdata(L, -1)); lua_pushinteger(L, buffer->LineFromPosition(luaL_checkinteger(L, 1) - 1)); return 1; } /** The lexer's `__index` Lua metatable. */ static int llexer_property(lua_State *L) { int newindex = (lua_gettop(L) == 3); luaL_getmetatable(L, "sci_lexer"); lua_getmetatable(L, 1); // metatable can be either sci_lexer or sci_lexerp int is_lexer = lua_compare(L, -1, -2, LUA_OPEQ); lua_pop(L, 2); // metatable, metatable lua_getfield(L, LUA_REGISTRYINDEX, "sci_buffer"); IDocument *buffer = static_cast(lua_touserdata(L, -1)); lua_getfield(L, LUA_REGISTRYINDEX, "sci_props"); PropSetSimple *props = static_cast(lua_touserdata(L, -1)); lua_pop(L, 2); // sci_props and sci_buffer if (is_lexer) lua_pushvalue(L, 2); // key is given else lua_getfield(L, 1, "property"); // indexible property const char *key = lua_tostring(L, -1); if (strcmp(key, "fold_level") == 0) { luaL_argcheck(L, !newindex, 3, "read-only property"); if (is_lexer) l_pushlexerp(L, llexer_property); else lua_pushinteger(L, buffer->GetLevel(luaL_checkinteger(L, 2))); } else if (strcmp(key, "indent_amount") == 0) { luaL_argcheck(L, !newindex, 3, "read-only property"); if (is_lexer) l_pushlexerp(L, llexer_property); else lua_pushinteger(L, buffer->GetLineIndentation(luaL_checkinteger(L, 2))); } else if (strcmp(key, "property") == 0) { luaL_argcheck(L, !is_lexer || !newindex, 3, "read-only property"); if (is_lexer) l_pushlexerp(L, llexer_property); else if (!newindex) lua_pushstring(L, props->Get(luaL_checkstring(L, 2))); else props->Set(luaL_checkstring(L, 2), luaL_checkstring(L, 3), lua_rawlen(L, 2), lua_rawlen(L, 3)); } else if (strcmp(key, "property_int") == 0) { luaL_argcheck(L, !newindex, 3, "read-only property"); if (is_lexer) l_pushlexerp(L, llexer_property); else { lua_pushstring(L, props->Get(luaL_checkstring(L, 2))); lua_pushinteger(L, lua_tointeger(L, -1)); } } else if (strcmp(key, "style_at") == 0) { luaL_argcheck(L, !newindex, 3, "read-only property"); if (is_lexer) l_pushlexerp(L, llexer_property); else { int style = buffer->StyleAt(luaL_checkinteger(L, 2) - 1); lua_getfield(L, LUA_REGISTRYINDEX, "sci_lexer_obj"); lua_getfield(L, -1, "_TOKENSTYLES"), lua_replace(L, -2); lua_pushnil(L); while (lua_next(L, -2)) { if (luaL_checkinteger(L, -1) == style) break; lua_pop(L, 1); // value } lua_pop(L, 1); // style_num } } else if (strcmp(key, "line_state") == 0) { luaL_argcheck(L, !is_lexer || !newindex, 3, "read-only property"); if (is_lexer) l_pushlexerp(L, llexer_property); else if (!newindex) lua_pushinteger(L, buffer->GetLineState(luaL_checkinteger(L, 2))); else buffer->SetLineState(luaL_checkinteger(L, 2), luaL_checkinteger(L, 3)); } else return !newindex ? (lua_rawget(L, 1), 1) : (lua_rawset(L, 1), 0); return 1; } /** * Expands value of the string property key at index *index* and pushes the * result onto the stack. * @param L The Lua State. * @param index The index the string property key. */ void lL_getexpanded(lua_State *L, int index) { lua_getfield(L, LUA_REGISTRYINDEX, "_LOADED"), lua_getfield(L, -1, "lexer"); lua_getfield(L, -1, "property_expanded"); lua_pushvalue(L, (index > 0) ? index : index - 3), lua_gettable(L, -2); lua_replace(L, -4), lua_pop(L, 2); // property_expanded and lexer module } /** * Parses the given style string to set the properties for the given style * number. * @param num The style number to set properties for. * @param style The style string containing properties to set. */ void SetStyle(int num, const char *style) { char *style_copy = static_cast(malloc(strlen(style) + 1)); char *option = strcpy(style_copy, style), *next = NULL, *p = NULL; while (option) { if ((next = strchr(option, ','))) *next++ = '\0'; if ((p = strchr(option, ':'))) *p++ = '\0'; if (streq(option, "font") && p) SS(sci, SCI_STYLESETFONT, num, reinterpret_cast(p)); else if (streq(option, "size") && p) SS(sci, SCI_STYLESETSIZE, num, static_cast(atoi(p))); else if (streq(option, "bold") || streq(option, "notbold") || streq(option, "weight")) { #if !CURSES int weight = SC_WEIGHT_NORMAL; if (*option == 'b') weight = SC_WEIGHT_BOLD; else if (*option == 'w' && p) weight = atoi(p); SS(sci, SCI_STYLESETWEIGHT, num, weight); #else // Scintilla curses requires font attributes to be stored in the "font // weight" style attribute. // First, clear any existing SC_WEIGHT_NORMAL, SC_WEIGHT_SEMIBOLD, or // SC_WEIGHT_BOLD values stored in the lower 16 bits. Then set the // appropriate curses attr. sptr_t weight = SS(sci, SCI_STYLEGETWEIGHT, num, 0) & ~A_COLORCHAR; int bold = *option == 'b' || (*option == 'w' && p && atoi(p) > SC_WEIGHT_NORMAL); SS(sci, SCI_STYLESETWEIGHT, num, bold ? weight | A_BOLD : weight & ~A_BOLD); #endif } else if (streq(option, "italics") || streq(option, "notitalics")) SS(sci, SCI_STYLESETITALIC, num, *option == 'i'); else if (streq(option, "underlined") || streq(option, "notunderlined")) { #if !CURSES SS(sci, SCI_STYLESETUNDERLINE, num, *option == 'u'); #else // Scintilla curses requires font attributes to be stored in the "font // weight" style attribute. // First, clear any existing SC_WEIGHT_NORMAL, SC_WEIGHT_SEMIBOLD, or // SC_WEIGHT_BOLD values stored in the lower 16 bits. Then set the // appropriate curses attr. sptr_t weight = SS(sci, SCI_STYLEGETWEIGHT, num, 0) & ~A_COLORCHAR; SS(sci, SCI_STYLESETWEIGHT, num, (*option == 'u') ? weight | A_UNDERLINE : weight & ~A_UNDERLINE); #endif } else if ((streq(option, "fore") || streq(option, "back")) && p) { int msg = (*option == 'f') ? SCI_STYLESETFORE : SCI_STYLESETBACK; int color = static_cast(strtol(p, NULL, 0)); if (*p == '#') { // #RRGGBB format; Scintilla format is 0xBBGGRR color = static_cast(strtol(p + 1, NULL, 16)); color = ((color & 0xFF0000) >> 16) | (color & 0xFF00) | ((color & 0xFF) << 16); // convert to 0xBBGGRR } SS(sci, msg, num, color); } else if (streq(option, "eolfilled") || streq(option, "noteolfilled")) SS(sci, SCI_STYLESETEOLFILLED, num, *option == 'e'); else if (streq(option, "characterset") && p) SS(sci, SCI_STYLESETCHARACTERSET, num, static_cast(atoi(p))); else if (streq(option, "case") && p) { if (*p == 'u') SS(sci, SCI_STYLESETCASE, num, SC_CASE_UPPER); else if (*p == 'l') SS(sci, SCI_STYLESETCASE, num, SC_CASE_LOWER); } else if (streq(option, "visible") || streq(option, "notvisible")) SS(sci, SCI_STYLESETVISIBLE, num, *option == 'v'); else if (streq(option, "changeable") || streq(option, "notchangeable")) SS(sci, SCI_STYLESETCHANGEABLE, num, *option == 'c'); else if (streq(option, "hotspot") || streq(option, "nothotspot")) SS(sci, SCI_STYLESETHOTSPOT, num, *option == 'h'); option = next; } free(style_copy); } /** * Iterates through the lexer's `_TOKENSTYLES`, setting the style properties * for all defined styles. */ bool SetStyles() { // If the lexer defines additional styles, set their properties first (if // the user has not already defined them). l_getlexerfield(L, "_EXTRASTYLES"); lua_pushnil(L); while (lua_next(L, -2)) { if (lua_isstring(L, -2) && lua_isstring(L, -1)) { lua_pushstring(L, "style."), lua_pushvalue(L, -3), lua_concat(L, 2); if (!*props.Get(lua_tostring(L, -1))) props.Set(lua_tostring(L, -1), lua_tostring(L, -2), lua_rawlen(L, -1), lua_rawlen(L, -2)); lua_pop(L, 1); // style name } lua_pop(L, 1); // value } lua_pop(L, 1); // _EXTRASTYLES l_getlexerfield(L, "_TOKENSTYLES"); if (!SS || !sci) { lua_pop(L, 1); // _TOKENSTYLES // Skip, but do not report an error since `reinit` would remain `false` // and subsequent calls to `Lex()` and `Fold()` would repeatedly call this // function and error. return true; } lua_pushstring(L, "style.default"), lL_getexpanded(L, -1); SetStyle(STYLE_DEFAULT, lua_tostring(L, -1)); lua_pop(L, 2); // style and "style.default" SS(sci, SCI_STYLECLEARALL, 0, 0); // set default styles lua_pushnil(L); while (lua_next(L, -2)) { if (lua_isstring(L, -2) && lua_isnumber(L, -1) && lua_tointeger(L, -1) != STYLE_DEFAULT) { lua_pushstring(L, "style."), lua_pushvalue(L, -3), lua_concat(L, 2); lL_getexpanded(L, -1), lua_replace(L, -2); SetStyle(lua_tointeger(L, -2), lua_tostring(L, -1)); lua_pop(L, 1); // style } lua_pop(L, 1); // value } lua_pop(L, 1); // _TOKENSTYLES return true; } /** * Returns the style name for the given style number. * @param style The style number to get the style name for. * @return style name or NULL */ const char *GetStyleName(int style) { if (!L) return NULL; const char *name = NULL; l_getlexerfield(L, "_TOKENSTYLES"); lua_pushnil(L); while (lua_next(L, -2)) if (lua_tointeger(L, -1) == style) { name = lua_tostring(L, -2); lua_pop(L, 2); // value and key break; } else lua_pop(L, 1); // value lua_pop(L, 1); // _TOKENSTYLES return name; } /** * Initializes the lexer once the `lexer.lpeg.home` and `lexer.name` * properties are set. */ bool Init() { char home[FILENAME_MAX], lexer[50], theme[FILENAME_MAX]; props.GetExpanded("lexer.lpeg.home", home); props.GetExpanded("lexer.name", lexer); props.GetExpanded("lexer.lpeg.color.theme", theme); if (!*home || !*lexer || !L) return false; lua_pushlightuserdata(L, reinterpret_cast(&props)); lua_setfield(L, LUA_REGISTRYINDEX, "sci_props"); // If necessary, load the lexer module and theme. lua_getfield(L, LUA_REGISTRYINDEX, "_LOADED"), lua_getfield(L, -1, "lexer"); if (lua_isnil(L, -1)) { lua_pop(L, 2); // nil and _LOADED // Modify `package.path` to find lexers. lua_getglobal(L, "package"), lua_getfield(L, -1, "path"); int orig_path = luaL_ref(L, LUA_REGISTRYINDEX); // restore later lua_pushstring(L, home), lua_pushstring(L, "/?.lua"), lua_concat(L, 2); lua_setfield(L, -2, "path"), lua_pop(L, 1); // package // Load the lexer module. lua_getglobal(L, "require"); lua_pushstring(L, "lexer"); if (lua_pcall(L, 1, 1, 0) != LUA_OK) return (l_error(L), false); l_setfunction(L, l_line_from_position, "line_from_position"); l_setconstant(L, SC_FOLDLEVELBASE, "FOLD_BASE"); l_setconstant(L, SC_FOLDLEVELWHITEFLAG, "FOLD_BLANK"); l_setconstant(L, SC_FOLDLEVELHEADERFLAG, "FOLD_HEADER"); l_setmetatable(L, "sci_lexer", llexer_property); if (*theme) { // Load the theme. if (!(strstr(theme, "/") || strstr(theme, "\\"))) { // theme name lua_pushstring(L, home); lua_pushstring(L, "/themes/"); lua_pushstring(L, theme); lua_pushstring(L, ".lua"); lua_concat(L, 4); } else lua_pushstring(L, theme); // path to theme if (luaL_loadfile(L, lua_tostring(L, -1)) != LUA_OK || lua_pcall(L, 0, 0, 0) != LUA_OK) return (l_error(L), false); lua_pop(L, 1); // theme } // Restore `package.path`. lua_getglobal(L, "package"); lua_getfield(L, -1, "path"), lua_setfield(L, -3, "path"); // lexer.path = lua_rawgeti(L, LUA_REGISTRYINDEX, orig_path), lua_setfield(L, -2, "path"); luaL_unref(L, LUA_REGISTRYINDEX, orig_path), lua_pop(L, 1); // package } else lua_remove(L, -2); // _LOADED // Load the language lexer. lua_getfield(L, -1, "load"); if (lua_isfunction(L, -1)) { lua_pushstring(L, lexer), lua_pushnil(L), lua_pushboolean(L, 1); if (lua_pcall(L, 3, 1, 0) != LUA_OK) return (l_error(L), false); } else return (l_error(L, "'lexer.load' function not found"), false); lua_getfield(L, LUA_REGISTRYINDEX, "sci_lexers"); lua_pushlightuserdata(L, reinterpret_cast(this)); lua_pushvalue(L, -3), lua_settable(L, -3), lua_pop(L, 1); // sci_lexers lua_pushvalue(L, -1), lua_setfield(L, LUA_REGISTRYINDEX, "sci_lexer_obj"); lua_remove(L, -2); // lexer module if (!SetStyles()) return false; // If the lexer is a parent, it will have children in its _CHILDREN table. lua_getfield(L, -1, "_CHILDREN"); if (lua_istable(L, -1)) { multilang = true; // Determine which styles are language whitespace styles // ([lang]_whitespace). This is necessary for determining which language // to start lexing with. char style_name[50]; for (int i = 0; i <= STYLE_MAX; i++) { PrivateCall(i, reinterpret_cast(style_name)); ws[i] = strstr(style_name, "whitespace") ? true : false; } } lua_pop(L, 2); // _CHILDREN and lexer object reinit = false; props.Set("lexer.lpeg.error", "", strlen("lexer.lpeg.error"), 0); return true; } /** * When *lparam* is `0`, returns the size of the buffer needed to store the * given string *str* in; otherwise copies *str* into the buffer *lparam* and * returns the number of bytes copied. * @param lparam `0` to get the number of bytes needed to store *str* or a * pointer to a buffer large enough to copy *str* into. * @param str The string to copy. * @return number of bytes needed to hold *str* */ void *StringResult(long lparam, const char *str) { if (lparam) strcpy(reinterpret_cast(lparam), str); return reinterpret_cast(strlen(str)); } public: /** Constructor. */ LexerLPeg() : own_lua(true), reinit(true), multilang(false) { // Initialize the Lua state, load libraries, and set platform variables. if ((L = luaL_newstate())) { l_openlib(luaopen_base, LUA_BASELIBNAME); l_openlib(luaopen_table, LUA_TABLIBNAME); l_openlib(luaopen_string, LUA_STRLIBNAME); #if LUA_VERSION_NUM < 502 l_openlib(luaopen_io, LUA_IOLIBNAME); // for `package.searchpath()` #endif l_openlib(luaopen_package, LUA_LOADLIBNAME); l_openlib(luaopen_lpeg, "lpeg"); #if _WIN32 lua_pushboolean(L, 1), lua_setglobal(L, "WIN32"); #endif #if __APPLE__ lua_pushboolean(L, 1), lua_setglobal(L, "OSX"); #endif #if GTK lua_pushboolean(L, 1), lua_setglobal(L, "GTK"); #endif #if CURSES lua_pushboolean(L, 1), lua_setglobal(L, "CURSES"); #endif lua_newtable(L), lua_setfield(L, LUA_REGISTRYINDEX, "sci_lexers"); } else fprintf(stderr, "Lua failed to initialize.\n"); SS = NULL, sci = 0; } /** Destructor. */ virtual ~LexerLPeg() {} /** Destroys the lexer object. */ virtual void SCI_METHOD Release() { if (own_lua && L) lua_close(L); else if (!own_lua) { lua_getfield(L, LUA_REGISTRYINDEX, "sci_lexers"); lua_pushlightuserdata(L, reinterpret_cast(this)); lua_pushnil(L), lua_settable(L, -3), lua_pop(L, 1); // sci_lexers } L = NULL; delete this; } /** * Lexes the Scintilla document. * @param startPos The position in the document to start lexing at. * @param lengthDoc The number of bytes in the document to lex. * @param initStyle The initial style at position *startPos* in the document. * @param buffer The document interface. */ virtual void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *buffer) { LexAccessor styler(buffer); if ((reinit && !Init()) || !L) { // Style everything in the default style. styler.StartAt(startPos); styler.StartSegment(startPos); styler.ColourTo(startPos + lengthDoc - 1, STYLE_DEFAULT); styler.Flush(); return; } lua_pushlightuserdata(L, reinterpret_cast(&props)); lua_setfield(L, LUA_REGISTRYINDEX, "sci_props"); lua_pushlightuserdata(L, reinterpret_cast(buffer)); lua_setfield(L, LUA_REGISTRYINDEX, "sci_buffer"); // Ensure the lexer has a grammar. // This could be done in the lexer module's `lex()`, but for large files, // passing string arguments from C to Lua is expensive. l_getlexerfield(L, "_GRAMMAR"); int has_grammar = !lua_isnil(L, -1); lua_pop(L, 1); // _GRAMMAR if (!has_grammar) { // Style everything in the default style. styler.StartAt(startPos); styler.StartSegment(startPos); styler.ColourTo(startPos + lengthDoc - 1, STYLE_DEFAULT); styler.Flush(); return; } // Start from the beginning of the current style so LPeg matches it. // For multilang lexers, start at whitespace since embedded languages have // [lang]_whitespace styles. This is so LPeg can start matching child // languages instead of parent ones if necessary. if (startPos > 0) { Sci_PositionU i = startPos; while (i > 0 && styler.StyleAt(i - 1) == initStyle) i--; if (multilang) while (i > 0 && !ws[static_cast(styler.StyleAt(i))]) i--; lengthDoc += startPos - i, startPos = i; } Sci_PositionU startSeg = startPos, endSeg = startPos + lengthDoc; int style = 0; l_getlexerfield(L, "lex") if (lua_isfunction(L, -1)) { l_getlexerobj(L); lua_pushlstring(L, buffer->BufferPointer() + startPos, lengthDoc); lua_pushinteger(L, styler.StyleAt(startPos)); if (lua_pcall(L, 3, 1, 0) != LUA_OK) l_error(L); // Style the text from the token table returned. if (lua_istable(L, -1)) { int len = lua_rawlen(L, -1); if (len > 0) { styler.StartAt(startPos); styler.StartSegment(startPos); l_getlexerfield(L, "_TOKENSTYLES"); // Loop through token-position pairs. for (int i = 1; i < len; i += 2) { style = STYLE_DEFAULT; lua_rawgeti(L, -2, i), lua_rawget(L, -2); // _TOKENSTYLES[token] if (!lua_isnil(L, -1)) style = lua_tointeger(L, -1); lua_pop(L, 1); // _TOKENSTYLES[token] lua_rawgeti(L, -2, i + 1); // pos unsigned int position = lua_tointeger(L, -1) - 1; lua_pop(L, 1); // pos if (style >= 0 && style <= STYLE_MAX) styler.ColourTo(startSeg + position - 1, style); else l_error(L, "Bad style number"); if (position > endSeg) break; } lua_pop(L, 2); // _TOKENSTYLES and token table returned styler.ColourTo(endSeg - 1, style); styler.Flush(); } } else l_error(L, "Table of tokens expected from 'lexer.lex'"); } else l_error(L, "'lexer.lex' function not found"); } /** * Folds the Scintilla document. * @param startPos The position in the document to start folding at. * @param lengthDoc The number of bytes in the document to fold. * @param initStyle The initial style at position *startPos* in the document. * @param buffer The document interface. */ virtual void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int, IDocument *buffer) { if ((reinit && !Init()) || !L) return; lua_pushlightuserdata(L, reinterpret_cast(&props)); lua_setfield(L, LUA_REGISTRYINDEX, "sci_props"); lua_pushlightuserdata(L, reinterpret_cast(buffer)); lua_setfield(L, LUA_REGISTRYINDEX, "sci_buffer"); LexAccessor styler(buffer); l_getlexerfield(L, "fold"); if (lua_isfunction(L, -1)) { l_getlexerobj(L); Sci_Position currentLine = styler.GetLine(startPos); lua_pushlstring(L, buffer->BufferPointer() + startPos, lengthDoc); lua_pushinteger(L, startPos); lua_pushinteger(L, currentLine); lua_pushinteger(L, styler.LevelAt(currentLine) & SC_FOLDLEVELNUMBERMASK); if (lua_pcall(L, 5, 1, 0) != LUA_OK) l_error(L); // Fold the text from the fold table returned. if (lua_istable(L, -1)) { lua_pushnil(L); while (lua_next(L, -2)) { // line = level styler.SetLevel(lua_tointeger(L, -2), lua_tointeger(L, -1)); lua_pop(L, 1); // level } lua_pop(L, 1); // fold table returned } else l_error(L, "Table of folds expected from 'lexer.fold'"); } else l_error(L, "'lexer.fold' function not found"); } /** This lexer implements the original lexer interface. */ virtual int SCI_METHOD Version() const { return lvOriginal; } /** Returning property names is not implemented. */ virtual const char * SCI_METHOD PropertyNames() { return ""; } /** Returning property types is not implemented. */ virtual int SCI_METHOD PropertyType(const char *) { return 0; } /** Returning property descriptions is not implemented. */ virtual const char * SCI_METHOD DescribeProperty(const char *) { return ""; } /** * Sets the *key* lexer property to *value*. * If *key* starts with "style.", also set the style for the token. * @param key The string keyword. * @param val The string value. */ virtual Sci_Position SCI_METHOD PropertySet(const char *key, const char *value) { props.Set(key, value, strlen(key), strlen(value)); if (reinit) Init(); else if (L && SS && sci && strncmp(key, "style.", 6) == 0) { lua_pushlightuserdata(L, reinterpret_cast(&props)); lua_setfield(L, LUA_REGISTRYINDEX, "sci_props"); l_getlexerfield(L, "_TOKENSTYLES"); lua_pushstring(L, key + 6), lua_rawget(L, -2); lua_pushstring(L, key), lL_getexpanded(L, -1), lua_replace(L, -2); if (lua_isnumber(L, -2)) { int style_num = lua_tointeger(L, -2); SetStyle(style_num, lua_tostring(L, -1)); if (style_num == STYLE_DEFAULT) // Assume a theme change, with the default style being set first. // Subsequent style settings will be based on the default. SS(sci, SCI_STYLECLEARALL, 0, 0); } lua_pop(L, 3); // style, style number, _TOKENSTYLES } return -1; // no need to re-lex } /** Returning keyword list descriptions is not implemented. */ virtual const char * SCI_METHOD DescribeWordListSets() { return ""; } /** Setting keyword lists is not applicable. */ virtual Sci_Position SCI_METHOD WordListSet(int, const char *) { return -1; } /** * Allows for direct communication between the application and the lexer. * The application uses this to set `SS`, `sci`, `L`, and lexer properties, * and to retrieve style names. * @param code The communication code. * @param arg The argument. * @return void *data */ virtual void * SCI_METHOD PrivateCall(int code, void *arg) { sptr_t lParam = reinterpret_cast(arg); const char *val = NULL; switch(code) { case SCI_GETDIRECTFUNCTION: SS = reinterpret_cast(lParam); return NULL; case SCI_SETDOCPOINTER: sci = lParam; return NULL; case SCI_CHANGELEXERSTATE: if (own_lua) lua_close(L); L = reinterpret_cast(lParam); lua_getfield(L, LUA_REGISTRYINDEX, "sci_lexers"); if (lua_isnil(L, -1)) lua_newtable(L), lua_setfield(L, LUA_REGISTRYINDEX, "sci_lexers"); lua_pop(L, 1); // sci_lexers or nil own_lua = false; return NULL; case SCI_SETLEXERLANGUAGE: char lexer_name[50]; props.GetExpanded("lexer.name", lexer_name); if (strcmp(lexer_name, reinterpret_cast(arg)) != 0) { reinit = true; props.Set("lexer.lpeg.error", "", strlen("lexer.lpeg.error"), 0); PropertySet("lexer.name", reinterpret_cast(arg)); } else if (L) own_lua ? SetStyles() : Init(); return NULL; case SCI_GETLEXERLANGUAGE: if (L) { l_getlexerfield(L, "_NAME"); if (SS && sci && multilang) { int pos = SS(sci, SCI_GETCURRENTPOS, 0, 0); while (pos >= 0 && !ws[SS(sci, SCI_GETSTYLEAT, pos, 0)]) pos--; const char *name = NULL, *p = NULL; if (pos >= 0) { name = GetStyleName(SS(sci, SCI_GETSTYLEAT, pos, 0)); if (name) p = strstr(name, "_whitespace"); } if (!name) name = lua_tostring(L, -1); // "lexer:lexer" fallback if (!p) p = name + strlen(name); // "lexer:lexer" fallback lua_pushstring(L, "/"); lua_pushlstring(L, name, p - name); lua_concat(L, 3); } val = lua_tostring(L, -1); lua_pop(L, 1); // lexer_name or lexer language string } return StringResult(lParam, val ? val : "null"); case SCI_GETSTATUS: return StringResult(lParam, props.Get("lexer.lpeg.error")); default: // style-related if (code >= 0 && code <= STYLE_MAX) { // retrieve style names val = GetStyleName(code); return StringResult(lParam, val ? val : "Not Available"); } else return NULL; } } /** Constructs a new instance of the lexer. */ static ILexer *LexerFactoryLPeg() { return new LexerLPeg(); } }; LexerModule lmLPeg(SCLEX_LPEG, LexerLPeg::LexerFactoryLPeg, "lpeg"); #else #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "LexerModule.h" using namespace Scintilla; static void LPegLex(Sci_PositionU, Sci_Position, int, WordList*[], Accessor&) { return; } LexerModule lmLPeg(SCLEX_LPEG, LPegLex, "lpeg"); #endif // LPEG_LEXER ================================================ FILE: src/qscint/scintilla/lexers/LexLaTeX.cpp ================================================ // Scintilla source code edit control /** @file LexLaTeX.cxx ** Lexer for LaTeX2e. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. // Modified by G. HU in 2013. Added folding, syntax highting inside math environments, and changed some minor behaviors. #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "PropSetSimple.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" #include "LexerBase.h" using namespace Scintilla; using namespace std; struct latexFoldSave { latexFoldSave() : structLev(0) { for (int i = 0; i < 8; ++i) openBegins[i] = 0; } latexFoldSave(const latexFoldSave &save) : structLev(save.structLev) { for (int i = 0; i < 8; ++i) openBegins[i] = save.openBegins[i]; } int openBegins[8]; Sci_Position structLev; }; class LexerLaTeX : public LexerBase { private: vector modes; void setMode(Sci_Position line, int mode) { if (line >= static_cast(modes.size())) modes.resize(line + 1, 0); modes[line] = mode; } int getMode(Sci_Position line) { if (line >= 0 && line < static_cast(modes.size())) return modes[line]; return 0; } void truncModes(Sci_Position numLines) { if (static_cast(modes.size()) > numLines * 2 + 256) modes.resize(numLines + 128); } vector saves; void setSave(Sci_Position line, const latexFoldSave &save) { if (line >= static_cast(saves.size())) saves.resize(line + 1); saves[line] = save; } void getSave(Sci_Position line, latexFoldSave &save) { if (line >= 0 && line < static_cast(saves.size())) save = saves[line]; else { save.structLev = 0; for (int i = 0; i < 8; ++i) save.openBegins[i] = 0; } } void truncSaves(Sci_Position numLines) { if (static_cast(saves.size()) > numLines * 2 + 256) saves.resize(numLines + 128); } public: static ILexer *LexerFactoryLaTeX() { return new LexerLaTeX(); } void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override; }; static bool latexIsSpecial(int ch) { return (ch == '#') || (ch == '$') || (ch == '%') || (ch == '&') || (ch == '_') || (ch == '{') || (ch == '}') || (ch == ' '); } static bool latexIsBlank(int ch) { return (ch == ' ') || (ch == '\t'); } static bool latexIsBlankAndNL(int ch) { return (ch == ' ') || (ch == '\t') || (ch == '\r') || (ch == '\n'); } static bool latexIsLetter(int ch) { return IsASCII(ch) && isalpha(ch); } static bool latexIsTagValid(Sci_Position &i, Sci_Position l, Accessor &styler) { while (i < l) { if (styler.SafeGetCharAt(i) == '{') { while (i < l) { i++; if (styler.SafeGetCharAt(i) == '}') { return true; } else if (!latexIsLetter(styler.SafeGetCharAt(i)) && styler.SafeGetCharAt(i)!='*') { return false; } } } else if (!latexIsBlank(styler.SafeGetCharAt(i))) { return false; } i++; } return false; } static bool latexNextNotBlankIs(Sci_Position i, Accessor &styler, char needle) { char ch; while (i < styler.Length()) { ch = styler.SafeGetCharAt(i); if (!latexIsBlankAndNL(ch) && ch != '*') { if (ch == needle) return true; else return false; } i++; } return false; } static bool latexLastWordIs(Sci_Position start, Accessor &styler, const char *needle) { Sci_PositionU i = 0; Sci_PositionU l = static_cast(strlen(needle)); Sci_Position ini = start-l+1; char s[32]; while (i < l && i < 31) { s[i] = styler.SafeGetCharAt(ini + i); i++; } s[i] = '\0'; return (strcmp(s, needle) == 0); } static bool latexLastWordIsMathEnv(Sci_Position pos, Accessor &styler) { Sci_Position i, j; char s[32]; const char *mathEnvs[] = { "align", "alignat", "flalign", "gather", "multiline", "displaymath", "eqnarray", "equation" }; if (styler.SafeGetCharAt(pos) != '}') return false; for (i = pos - 1; i >= 0; --i) { if (styler.SafeGetCharAt(i) == '{') break; if (pos - i >= 20) return false; } if (i < 0 || i == pos - 1) return false; ++i; for (j = 0; i + j < pos; ++j) s[j] = styler.SafeGetCharAt(i + j); s[j] = '\0'; if (j == 0) return false; if (s[j - 1] == '*') s[--j] = '\0'; for (i = 0; i < static_cast(sizeof(mathEnvs) / sizeof(const char *)); ++i) if (strcmp(s, mathEnvs[i]) == 0) return true; return false; } static inline void latexStateReset(int &mode, int &state) { switch (mode) { case 1: state = SCE_L_MATH; break; case 2: state = SCE_L_MATH2; break; default: state = SCE_L_DEFAULT; break; } } // There are cases not handled correctly, like $abcd\textrm{what is $x+y$}z+w$. // But I think it's already good enough. void SCI_METHOD LexerLaTeX::Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) { // startPos is assumed to be the first character of a line Accessor styler(pAccess, &props); styler.StartAt(startPos); int mode = getMode(styler.GetLine(startPos) - 1); int state = initStyle; if (state == SCE_L_ERROR || state == SCE_L_SHORTCMD || state == SCE_L_SPECIAL) // should not happen latexStateReset(mode, state); char chNext = styler.SafeGetCharAt(startPos); char chVerbatimDelim = '\0'; styler.StartSegment(startPos); Sci_Position lengthDoc = startPos + length; for (Sci_Position i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); if (styler.IsLeadByte(ch)) { i++; chNext = styler.SafeGetCharAt(i + 1); continue; } if (ch == '\r' || ch == '\n') setMode(styler.GetLine(i), mode); switch (state) { case SCE_L_DEFAULT : switch (ch) { case '\\' : styler.ColourTo(i - 1, state); if (latexIsLetter(chNext)) { state = SCE_L_COMMAND; } else if (latexIsSpecial(chNext)) { styler.ColourTo(i + 1, SCE_L_SPECIAL); i++; chNext = styler.SafeGetCharAt(i + 1); } else if (chNext == '\r' || chNext == '\n') { styler.ColourTo(i, SCE_L_ERROR); } else if (IsASCII(chNext)) { styler.ColourTo(i + 1, SCE_L_SHORTCMD); if (chNext == '(') { mode = 1; state = SCE_L_MATH; } else if (chNext == '[') { mode = 2; state = SCE_L_MATH2; } i++; chNext = styler.SafeGetCharAt(i + 1); } break; case '$' : styler.ColourTo(i - 1, state); if (chNext == '$') { styler.ColourTo(i + 1, SCE_L_SHORTCMD); mode = 2; state = SCE_L_MATH2; i++; chNext = styler.SafeGetCharAt(i + 1); } else { styler.ColourTo(i, SCE_L_SHORTCMD); mode = 1; state = SCE_L_MATH; } break; case '%' : styler.ColourTo(i - 1, state); state = SCE_L_COMMENT; break; } break; // These 3 will never be reached. case SCE_L_ERROR: case SCE_L_SPECIAL: case SCE_L_SHORTCMD: break; case SCE_L_COMMAND : if (!latexIsLetter(chNext)) { styler.ColourTo(i, state); if (latexNextNotBlankIs(i + 1, styler, '[' )) { state = SCE_L_CMDOPT; } else if (latexLastWordIs(i, styler, "\\begin")) { state = SCE_L_TAG; } else if (latexLastWordIs(i, styler, "\\end")) { state = SCE_L_TAG2; } else if (latexLastWordIs(i, styler, "\\verb") && chNext != '*' && chNext != ' ') { chVerbatimDelim = chNext; state = SCE_L_VERBATIM; } else { latexStateReset(mode, state); } } break; case SCE_L_CMDOPT : if (ch == ']') { styler.ColourTo(i, state); latexStateReset(mode, state); } break; case SCE_L_TAG : if (latexIsTagValid(i, lengthDoc, styler)) { styler.ColourTo(i, state); latexStateReset(mode, state); if (latexLastWordIs(i, styler, "{verbatim}")) { state = SCE_L_VERBATIM; } else if (latexLastWordIs(i, styler, "{comment}")) { state = SCE_L_COMMENT2; } else if (latexLastWordIs(i, styler, "{math}") && mode == 0) { mode = 1; state = SCE_L_MATH; } else if (latexLastWordIsMathEnv(i, styler) && mode == 0) { mode = 2; state = SCE_L_MATH2; } } else { styler.ColourTo(i, SCE_L_ERROR); latexStateReset(mode, state); ch = styler.SafeGetCharAt(i); if (ch == '\r' || ch == '\n') setMode(styler.GetLine(i), mode); } chNext = styler.SafeGetCharAt(i+1); break; case SCE_L_TAG2 : if (latexIsTagValid(i, lengthDoc, styler)) { styler.ColourTo(i, state); latexStateReset(mode, state); } else { styler.ColourTo(i, SCE_L_ERROR); latexStateReset(mode, state); ch = styler.SafeGetCharAt(i); if (ch == '\r' || ch == '\n') setMode(styler.GetLine(i), mode); } chNext = styler.SafeGetCharAt(i+1); break; case SCE_L_MATH : switch (ch) { case '\\' : styler.ColourTo(i - 1, state); if (latexIsLetter(chNext)) { Sci_Position match = i + 3; if (latexLastWordIs(match, styler, "\\end")) { match++; if (latexIsTagValid(match, lengthDoc, styler)) { if (latexLastWordIs(match, styler, "{math}")) mode = 0; } } state = SCE_L_COMMAND; } else if (latexIsSpecial(chNext)) { styler.ColourTo(i + 1, SCE_L_SPECIAL); i++; chNext = styler.SafeGetCharAt(i + 1); } else if (chNext == '\r' || chNext == '\n') { styler.ColourTo(i, SCE_L_ERROR); } else if (IsASCII(chNext)) { if (chNext == ')') { mode = 0; state = SCE_L_DEFAULT; } styler.ColourTo(i + 1, SCE_L_SHORTCMD); i++; chNext = styler.SafeGetCharAt(i + 1); } break; case '$' : styler.ColourTo(i - 1, state); styler.ColourTo(i, SCE_L_SHORTCMD); mode = 0; state = SCE_L_DEFAULT; break; case '%' : styler.ColourTo(i - 1, state); state = SCE_L_COMMENT; break; } break; case SCE_L_MATH2 : switch (ch) { case '\\' : styler.ColourTo(i - 1, state); if (latexIsLetter(chNext)) { Sci_Position match = i + 3; if (latexLastWordIs(match, styler, "\\end")) { match++; if (latexIsTagValid(match, lengthDoc, styler)) { if (latexLastWordIsMathEnv(match, styler)) mode = 0; } } state = SCE_L_COMMAND; } else if (latexIsSpecial(chNext)) { styler.ColourTo(i + 1, SCE_L_SPECIAL); i++; chNext = styler.SafeGetCharAt(i + 1); } else if (chNext == '\r' || chNext == '\n') { styler.ColourTo(i, SCE_L_ERROR); } else if (IsASCII(chNext)) { if (chNext == ']') { mode = 0; state = SCE_L_DEFAULT; } styler.ColourTo(i + 1, SCE_L_SHORTCMD); i++; chNext = styler.SafeGetCharAt(i + 1); } break; case '$' : styler.ColourTo(i - 1, state); if (chNext == '$') { styler.ColourTo(i + 1, SCE_L_SHORTCMD); i++; chNext = styler.SafeGetCharAt(i + 1); mode = 0; state = SCE_L_DEFAULT; } else { // This may not be an error, e.g. \begin{equation}\text{$a$}\end{equation} styler.ColourTo(i, SCE_L_SHORTCMD); } break; case '%' : styler.ColourTo(i - 1, state); state = SCE_L_COMMENT; break; } break; case SCE_L_COMMENT : if (ch == '\r' || ch == '\n') { styler.ColourTo(i - 1, state); latexStateReset(mode, state); } break; case SCE_L_COMMENT2 : if (ch == '\\') { Sci_Position match = i + 3; if (latexLastWordIs(match, styler, "\\end")) { match++; if (latexIsTagValid(match, lengthDoc, styler)) { if (latexLastWordIs(match, styler, "{comment}")) { styler.ColourTo(i - 1, state); state = SCE_L_COMMAND; } } } } break; case SCE_L_VERBATIM : if (ch == '\\') { Sci_Position match = i + 3; if (latexLastWordIs(match, styler, "\\end")) { match++; if (latexIsTagValid(match, lengthDoc, styler)) { if (latexLastWordIs(match, styler, "{verbatim}")) { styler.ColourTo(i - 1, state); state = SCE_L_COMMAND; } } } } else if (chNext == chVerbatimDelim) { styler.ColourTo(i + 1, state); latexStateReset(mode, state); chVerbatimDelim = '\0'; i++; chNext = styler.SafeGetCharAt(i + 1); } else if (chVerbatimDelim != '\0' && (ch == '\n' || ch == '\r')) { styler.ColourTo(i, SCE_L_ERROR); latexStateReset(mode, state); chVerbatimDelim = '\0'; } break; } } if (lengthDoc == styler.Length()) truncModes(styler.GetLine(lengthDoc - 1)); styler.ColourTo(lengthDoc - 1, state); styler.Flush(); } static int latexFoldSaveToInt(const latexFoldSave &save) { int sum = 0; for (int i = 0; i <= save.structLev; ++i) sum += save.openBegins[i]; return ((sum + save.structLev + SC_FOLDLEVELBASE) & SC_FOLDLEVELNUMBERMASK); } // Change folding state while processing a line // Return the level before the first relevant command void SCI_METHOD LexerLaTeX::Fold(Sci_PositionU startPos, Sci_Position length, int, IDocument *pAccess) { const char *structWords[7] = {"part", "chapter", "section", "subsection", "subsubsection", "paragraph", "subparagraph"}; Accessor styler(pAccess, &props); Sci_PositionU endPos = startPos + length; Sci_Position curLine = styler.GetLine(startPos); latexFoldSave save; getSave(curLine - 1, save); do { char ch, buf[16]; Sci_Position i, j; int lev = -1; bool needFold = false; for (i = static_cast(startPos); i < static_cast(endPos); ++i) { ch = styler.SafeGetCharAt(i); if (ch == '\r' || ch == '\n') break; if (ch != '\\' || styler.StyleAt(i) != SCE_L_COMMAND) continue; for (j = 0; j < 15 && i + 1 < static_cast(endPos); ++j, ++i) { buf[j] = styler.SafeGetCharAt(i + 1); if (!latexIsLetter(buf[j])) break; } buf[j] = '\0'; if (strcmp(buf, "begin") == 0) { if (lev < 0) lev = latexFoldSaveToInt(save); ++save.openBegins[save.structLev]; needFold = true; } else if (strcmp(buf, "end") == 0) { while (save.structLev > 0 && save.openBegins[save.structLev] == 0) --save.structLev; if (lev < 0) lev = latexFoldSaveToInt(save); if (save.openBegins[save.structLev] > 0) --save.openBegins[save.structLev]; } else { for (j = 0; j < 7; ++j) if (strcmp(buf, structWords[j]) == 0) break; if (j >= 7) continue; save.structLev = j; // level before the command for (j = save.structLev + 1; j < 8; ++j) { save.openBegins[save.structLev] += save.openBegins[j]; save.openBegins[j] = 0; } if (lev < 0) lev = latexFoldSaveToInt(save); ++save.structLev; // level after the command needFold = true; } } if (lev < 0) lev = latexFoldSaveToInt(save); if (needFold) lev |= SC_FOLDLEVELHEADERFLAG; styler.SetLevel(curLine, lev); setSave(curLine, save); ++curLine; startPos = styler.LineStart(curLine); if (static_cast(startPos) == styler.Length()) { lev = latexFoldSaveToInt(save); styler.SetLevel(curLine, lev); setSave(curLine, save); truncSaves(curLine); } } while (startPos < endPos); styler.Flush(); } static const char *const emptyWordListDesc[] = { 0 }; LexerModule lmLatex(SCLEX_LATEX, LexerLaTeX::LexerFactoryLaTeX, "latex", emptyWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexLisp.cpp ================================================ // Scintilla source code edit control /** @file LexLisp.cxx ** Lexer for Lisp. ** Written by Alexey Yutkin. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; #define SCE_LISP_CHARACTER 29 #define SCE_LISP_MACRO 30 #define SCE_LISP_MACRO_DISPATCH 31 static inline bool isLispoperator(char ch) { if (IsASCII(ch) && isalnum(ch)) return false; if (ch == '\'' || ch == '`' || ch == '(' || ch == ')' || ch == '[' || ch == ']' || ch == '{' || ch == '}') return true; return false; } static inline bool isLispwordstart(char ch) { return IsASCII(ch) && ch != ';' && !isspacechar(ch) && !isLispoperator(ch) && ch != '\n' && ch != '\r' && ch != '\"'; } static void classifyWordLisp(Sci_PositionU start, Sci_PositionU end, WordList &keywords, WordList &keywords_kw, Accessor &styler) { assert(end >= start); char s[100]; Sci_PositionU i; bool digit_flag = true; for (i = 0; (i < end - start + 1) && (i < 99); i++) { s[i] = styler[start + i]; s[i + 1] = '\0'; if (!isdigit(s[i]) && (s[i] != '.')) digit_flag = false; } char chAttr = SCE_LISP_IDENTIFIER; if(digit_flag) chAttr = SCE_LISP_NUMBER; else { if (keywords.InList(s)) { chAttr = SCE_LISP_KEYWORD; } else if (keywords_kw.InList(s)) { chAttr = SCE_LISP_KEYWORD_KW; } else if ((s[0] == '*' && s[i-1] == '*') || (s[0] == '+' && s[i-1] == '+')) { chAttr = SCE_LISP_SPECIAL; } } styler.ColourTo(end, chAttr); return; } static void ColouriseLispDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords_kw = *keywordlists[1]; styler.StartAt(startPos); int state = initStyle, radix = -1; char chNext = styler[startPos]; Sci_PositionU lengthDoc = startPos + length; styler.StartSegment(startPos); for (Sci_PositionU i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (styler.IsLeadByte(ch)) { chNext = styler.SafeGetCharAt(i + 2); i += 1; continue; } if (state == SCE_LISP_DEFAULT) { if (ch == '#') { styler.ColourTo(i - 1, state); radix = -1; state = SCE_LISP_MACRO_DISPATCH; } else if (ch == ':' && isLispwordstart(chNext)) { styler.ColourTo(i - 1, state); state = SCE_LISP_SYMBOL; } else if (isLispwordstart(ch)) { styler.ColourTo(i - 1, state); state = SCE_LISP_IDENTIFIER; } else if (ch == ';') { styler.ColourTo(i - 1, state); state = SCE_LISP_COMMENT; } else if (isLispoperator(ch) || ch=='\'') { styler.ColourTo(i - 1, state); styler.ColourTo(i, SCE_LISP_OPERATOR); if (ch=='\'' && isLispwordstart(chNext)) { state = SCE_LISP_SYMBOL; } } else if (ch == '\"') { styler.ColourTo(i - 1, state); state = SCE_LISP_STRING; } } else if (state == SCE_LISP_IDENTIFIER || state == SCE_LISP_SYMBOL) { if (!isLispwordstart(ch)) { if (state == SCE_LISP_IDENTIFIER) { classifyWordLisp(styler.GetStartSegment(), i - 1, keywords, keywords_kw, styler); } else { styler.ColourTo(i - 1, state); } state = SCE_LISP_DEFAULT; } /*else*/ if (isLispoperator(ch) || ch=='\'') { styler.ColourTo(i - 1, state); styler.ColourTo(i, SCE_LISP_OPERATOR); if (ch=='\'' && isLispwordstart(chNext)) { state = SCE_LISP_SYMBOL; } } } else if (state == SCE_LISP_MACRO_DISPATCH) { if (!(IsASCII(ch) && isdigit(ch))) { if (ch != 'r' && ch != 'R' && (i - styler.GetStartSegment()) > 1) { state = SCE_LISP_DEFAULT; } else { switch (ch) { case '|': state = SCE_LISP_MULTI_COMMENT; break; case 'o': case 'O': radix = 8; state = SCE_LISP_MACRO; break; case 'x': case 'X': radix = 16; state = SCE_LISP_MACRO; break; case 'b': case 'B': radix = 2; state = SCE_LISP_MACRO; break; case '\\': state = SCE_LISP_CHARACTER; break; case ':': case '-': case '+': state = SCE_LISP_MACRO; break; case '\'': if (isLispwordstart(chNext)) { state = SCE_LISP_SPECIAL; } else { styler.ColourTo(i - 1, SCE_LISP_DEFAULT); styler.ColourTo(i, SCE_LISP_OPERATOR); state = SCE_LISP_DEFAULT; } break; default: if (isLispoperator(ch)) { styler.ColourTo(i - 1, SCE_LISP_DEFAULT); styler.ColourTo(i, SCE_LISP_OPERATOR); } state = SCE_LISP_DEFAULT; break; } } } } else if (state == SCE_LISP_MACRO) { if (isLispwordstart(ch) && (radix == -1 || IsADigit(ch, radix))) { state = SCE_LISP_SPECIAL; } else { state = SCE_LISP_DEFAULT; } } else if (state == SCE_LISP_CHARACTER) { if (isLispoperator(ch)) { styler.ColourTo(i, SCE_LISP_SPECIAL); state = SCE_LISP_DEFAULT; } else if (isLispwordstart(ch)) { styler.ColourTo(i, SCE_LISP_SPECIAL); state = SCE_LISP_SPECIAL; } else { state = SCE_LISP_DEFAULT; } } else if (state == SCE_LISP_SPECIAL) { if (!isLispwordstart(ch) || (radix != -1 && !IsADigit(ch, radix))) { styler.ColourTo(i - 1, state); state = SCE_LISP_DEFAULT; } if (isLispoperator(ch) || ch=='\'') { styler.ColourTo(i - 1, state); styler.ColourTo(i, SCE_LISP_OPERATOR); if (ch=='\'' && isLispwordstart(chNext)) { state = SCE_LISP_SYMBOL; } } } else { if (state == SCE_LISP_COMMENT) { if (atEOL) { styler.ColourTo(i - 1, state); state = SCE_LISP_DEFAULT; } } else if (state == SCE_LISP_MULTI_COMMENT) { if (ch == '|' && chNext == '#') { i++; chNext = styler.SafeGetCharAt(i + 1); styler.ColourTo(i, state); state = SCE_LISP_DEFAULT; } } else if (state == SCE_LISP_STRING) { if (ch == '\\') { if (chNext == '\"' || chNext == '\'' || chNext == '\\') { i++; chNext = styler.SafeGetCharAt(i + 1); } } else if (ch == '\"') { styler.ColourTo(i, state); state = SCE_LISP_DEFAULT; } } } } styler.ColourTo(lengthDoc - 1, state); } static void FoldLispDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[], Accessor &styler) { Sci_PositionU lengthDoc = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; int styleNext = styler.StyleAt(startPos); for (Sci_PositionU i = startPos; i < lengthDoc; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (style == SCE_LISP_OPERATOR) { if (ch == '(' || ch == '[' || ch == '{') { levelCurrent++; } else if (ch == ')' || ch == ']' || ch == '}') { levelCurrent--; } } if (atEOL) { int lev = levelPrev; if (visibleChars == 0) lev |= SC_FOLDLEVELWHITEFLAG; if ((levelCurrent > levelPrev) && (visibleChars > 0)) lev |= SC_FOLDLEVELHEADERFLAG; if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const lispWordListDesc[] = { "Functions and special operators", "Keywords", 0 }; LexerModule lmLISP(SCLEX_LISP, ColouriseLispDoc, "lisp", FoldLispDoc, lispWordListDesc); ================================================ FILE: src/qscint/scintilla/lexers/LexLout.cpp ================================================ // Scintilla source code edit control /** @file LexLout.cxx ** Lexer for the Basser Lout (>= version 3) typesetting language **/ // Copyright 2003 by Kein-Hong Man // The License.txt file describes the conditions under which this software may be distributed. #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; static inline bool IsAWordChar(const int ch) { return (ch < 0x80) && (isalpha(ch) || ch == '@' || ch == '_'); } static inline bool IsAnOther(const int ch) { return (ch < 0x80) && (ch == '{' || ch == '}' || ch == '!' || ch == '$' || ch == '%' || ch == '&' || ch == '\'' || ch == '(' || ch == ')' || ch == '*' || ch == '+' || ch == ',' || ch == '-' || ch == '.' || ch == '/' || ch == ':' || ch == ';' || ch == '<' || ch == '=' || ch == '>' || ch == '?' || ch == '[' || ch == ']' || ch == '^' || ch == '`' || ch == '|' || ch == '~'); } static void ColouriseLoutDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &keywords = *keywordlists[0]; WordList &keywords2 = *keywordlists[1]; WordList &keywords3 = *keywordlists[2]; int visibleChars = 0; int firstWordInLine = 0; int leadingAtSign = 0; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { if (sc.atLineStart && (sc.state == SCE_LOUT_STRING)) { // Prevent SCE_LOUT_STRINGEOL from leaking back to previous line sc.SetState(SCE_LOUT_STRING); } // Determine if the current state should terminate. if (sc.state == SCE_LOUT_COMMENT) { if (sc.atLineEnd) { sc.SetState(SCE_LOUT_DEFAULT); visibleChars = 0; } } else if (sc.state == SCE_LOUT_NUMBER) { if (!IsADigit(sc.ch) && sc.ch != '.') { sc.SetState(SCE_LOUT_DEFAULT); } } else if (sc.state == SCE_LOUT_STRING) { if (sc.ch == '\\') { if (sc.chNext == '\"' || sc.chNext == '\\') { sc.Forward(); } } else if (sc.ch == '\"') { sc.ForwardSetState(SCE_LOUT_DEFAULT); } else if (sc.atLineEnd) { sc.ChangeState(SCE_LOUT_STRINGEOL); sc.ForwardSetState(SCE_LOUT_DEFAULT); visibleChars = 0; } } else if (sc.state == SCE_LOUT_IDENTIFIER) { if (!IsAWordChar(sc.ch)) { char s[100]; sc.GetCurrent(s, sizeof(s)); if (leadingAtSign) { if (keywords.InList(s)) { sc.ChangeState(SCE_LOUT_WORD); } else { sc.ChangeState(SCE_LOUT_WORD4); } } else if (firstWordInLine && keywords3.InList(s)) { sc.ChangeState(SCE_LOUT_WORD3); } sc.SetState(SCE_LOUT_DEFAULT); } } else if (sc.state == SCE_LOUT_OPERATOR) { if (!IsAnOther(sc.ch)) { char s[100]; sc.GetCurrent(s, sizeof(s)); if (keywords2.InList(s)) { sc.ChangeState(SCE_LOUT_WORD2); } sc.SetState(SCE_LOUT_DEFAULT); } } // Determine if a new state should be entered. if (sc.state == SCE_LOUT_DEFAULT) { if (sc.ch == '#') { sc.SetState(SCE_LOUT_COMMENT); } else if (sc.ch == '\"') { sc.SetState(SCE_LOUT_STRING); } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { sc.SetState(SCE_LOUT_NUMBER); } else if (IsAWordChar(sc.ch)) { firstWordInLine = (visibleChars == 0); leadingAtSign = (sc.ch == '@'); sc.SetState(SCE_LOUT_IDENTIFIER); } else if (IsAnOther(sc.ch)) { sc.SetState(SCE_LOUT_OPERATOR); } } if (sc.atLineEnd) { // Reset states to begining of colourise so no surprises // if different sets of lines lexed. visibleChars = 0; } if (!IsASpace(sc.ch)) { visibleChars++; } } sc.Complete(); } static void FoldLoutDoc(Sci_PositionU startPos, Sci_Position length, int, WordList *[], Accessor &styler) { Sci_PositionU endPos = startPos + length; int visibleChars = 0; Sci_Position lineCurrent = styler.GetLine(startPos); int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK; int levelCurrent = levelPrev; char chNext = styler[startPos]; bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; int styleNext = styler.StyleAt(startPos); char s[10] = ""; for (Sci_PositionU i = startPos; i < endPos; i++) { char ch = chNext; chNext = styler.SafeGetCharAt(i + 1); int style = styleNext; styleNext = styler.StyleAt(i + 1); bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); if (style == SCE_LOUT_WORD) { if (ch == '@') { for (Sci_PositionU j = 0; j < 8; j++) { if (!IsAWordChar(styler[i + j])) { break; } s[j] = styler[i + j]; s[j + 1] = '\0'; } if (strcmp(s, "@Begin") == 0) { levelCurrent++; } else if (strcmp(s, "@End") == 0) { levelCurrent--; } } } else if (style == SCE_LOUT_OPERATOR) { if (ch == '{') { levelCurrent++; } else if (ch == '}') { levelCurrent--; } } if (atEOL) { int lev = levelPrev; if (visibleChars == 0 && foldCompact) { lev |= SC_FOLDLEVELWHITEFLAG; } if ((levelCurrent > levelPrev) && (visibleChars > 0)) { lev |= SC_FOLDLEVELHEADERFLAG; } if (lev != styler.LevelAt(lineCurrent)) { styler.SetLevel(lineCurrent, lev); } lineCurrent++; levelPrev = levelCurrent; visibleChars = 0; } if (!isspacechar(ch)) visibleChars++; } // Fill in the real level of the next line, keeping the current flags as they will be filled in later int flagsNext = styler.LevelAt(lineCurrent) & ~SC_FOLDLEVELNUMBERMASK; styler.SetLevel(lineCurrent, levelPrev | flagsNext); } static const char * const loutWordLists[] = { "Predefined identifiers", "Predefined delimiters", "Predefined keywords", 0, }; LexerModule lmLout(SCLEX_LOUT, ColouriseLoutDoc, "lout", FoldLoutDoc, loutWordLists); ================================================ FILE: src/qscint/scintilla/lexers/LexLua.cpp ================================================ // Scintilla source code edit control /** @file LexLua.cxx ** Lexer for Lua language. ** ** Written by Paul Winwood. ** Folder by Alexey Yutkin. ** Modified by Marcos E. Wurzius & Philippe Lhoste **/ #include #include #include #include #include #include #include #include "ILexer.h" #include "Scintilla.h" #include "SciLexer.h" #include "StringCopy.h" #include "WordList.h" #include "LexAccessor.h" #include "Accessor.h" #include "StyleContext.h" #include "CharacterSet.h" #include "LexerModule.h" using namespace Scintilla; // Test for [=[ ... ]=] delimiters, returns 0 if it's only a [ or ], // return 1 for [[ or ]], returns >=2 for [=[ or ]=] and so on. // The maximum number of '=' characters allowed is 254. static int LongDelimCheck(StyleContext &sc) { int sep = 1; while (sc.GetRelative(sep) == '=' && sep < 0xFF) sep++; if (sc.GetRelative(sep) == sc.ch) return sep; return 0; } static void ColouriseLuaDoc( Sci_PositionU startPos, Sci_Position length, int initStyle, WordList *keywordlists[], Accessor &styler) { const WordList &keywords = *keywordlists[0]; const WordList &keywords2 = *keywordlists[1]; const WordList &keywords3 = *keywordlists[2]; const WordList &keywords4 = *keywordlists[3]; const WordList &keywords5 = *keywordlists[4]; const WordList &keywords6 = *keywordlists[5]; const WordList &keywords7 = *keywordlists[6]; const WordList &keywords8 = *keywordlists[7]; // Accepts accented characters CharacterSet setWordStart(CharacterSet::setAlpha, "_", 0x80, true); CharacterSet setWord(CharacterSet::setAlphaNum, "_", 0x80, true); // Not exactly following number definition (several dots are seen as OK, etc.) // but probably enough in most cases. [pP] is for hex floats. CharacterSet setNumber(CharacterSet::setDigits, ".-+abcdefpABCDEFP"); CharacterSet setExponent(CharacterSet::setNone, "eEpP"); CharacterSet setLuaOperator(CharacterSet::setNone, "*/-+()={}~[];<>,.^%:#&|"); CharacterSet setEscapeSkip(CharacterSet::setNone, "\"'\\"); Sci_Position currentLine = styler.GetLine(startPos); // Initialize long string [[ ... ]] or block comment --[[ ... ]] nesting level, // if we are inside such a string. Block comment was introduced in Lua 5.0, // blocks with separators [=[ ... ]=] in Lua 5.1. // Continuation of a string (\z whitespace escaping) is controlled by stringWs. int nestLevel = 0; int sepCount = 0; int stringWs = 0; if (initStyle == SCE_LUA_LITERALSTRING || initStyle == SCE_LUA_COMMENT || initStyle == SCE_LUA_STRING || initStyle == SCE_LUA_CHARACTER) { const int lineState = styler.GetLineState(currentLine - 1); nestLevel = lineState >> 9; sepCount = lineState & 0xFF; stringWs = lineState & 0x100; } // results of identifier/keyword matching Sci_Position idenPos = 0; Sci_Position idenWordPos = 0; int idenStyle = SCE_LUA_IDENTIFIER; bool foundGoto = false; // Do not leak onto next line if (initStyle == SCE_LUA_STRINGEOL || initStyle == SCE_LUA_COMMENTLINE || initStyle == SCE_LUA_PREPROCESSOR) { initStyle = SCE_LUA_DEFAULT; } StyleContext sc(startPos, length, initStyle, styler); if (startPos == 0 && sc.ch == '#' && sc.chNext == '!') { // shbang line: "#!" is a comment only if located at the start of the script sc.SetState(SCE_LUA_COMMENTLINE); } for (; sc.More(); sc.Forward()) { if (sc.atLineEnd) { // Update the line state, so it can be seen by next line currentLine = styler.GetLine(sc.currentPos); switch (sc.state) { case SCE_LUA_LITERALSTRING: case SCE_LUA_COMMENT: case SCE_LUA_STRING: case SCE_LUA_CHARACTER: // Inside a literal string, block comment or string, we set the line state styler.SetLineState(currentLine, (nestLevel << 9) | stringWs | sepCount); break; default: // Reset the line state styler.SetLineState(currentLine, 0); break; } } if (sc.atLineStart && (sc.state == SCE_LUA_STRING)) { // Prevent SCE_LUA_STRINGEOL from leaking back to previous line sc.SetState(SCE_LUA_STRING); } // Handle string line continuation if ((sc.state == SCE_LUA_STRING || sc.state == SCE_LUA_CHARACTER) && sc.ch == '\\') { if (sc.chNext == '\n' || sc.chNext == '\r') { sc.Forward(); if (sc.ch == '\r' && sc.chNext == '\n') { sc.Forward(); } continue; } } // Determine if the current state should terminate. if (sc.state == SCE_LUA_OPERATOR) { if (sc.ch == ':' && sc.chPrev == ':') { // ::